summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/HighFive/HighFive-2.7.1.ebuild69
-rw-r--r--sci-libs/HighFive/Manifest1
-rw-r--r--sci-libs/HighFive/metadata.xml15
-rw-r--r--sci-libs/amd/Manifest1
-rw-r--r--sci-libs/amd/amd-2.4.6-r1.ebuild2
-rw-r--r--sci-libs/amd/amd-3.0.3.ebuild67
-rw-r--r--sci-libs/amd/metadata.xml3
-rw-r--r--sci-libs/arborx/Manifest2
-rw-r--r--sci-libs/arborx/arborx-1.4.1-r1.ebuild (renamed from sci-libs/arborx/arborx-1.2.ebuild)9
-rw-r--r--sci-libs/armadillo/Manifest5
-rw-r--r--sci-libs/armadillo/armadillo-10.2.0-r1.ebuild150
-rw-r--r--sci-libs/armadillo/armadillo-10.8.2.ebuild150
-rw-r--r--sci-libs/armadillo/armadillo-11.4.0.ebuild156
-rw-r--r--sci-libs/armadillo/armadillo-12.4.0-r1.ebuild (renamed from sci-libs/armadillo/armadillo-12.0.1.ebuild)30
-rw-r--r--sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch12
-rw-r--r--sci-libs/arpack/Manifest1
-rw-r--r--sci-libs/arpack/arpack-3.8.0-r1.ebuild (renamed from sci-libs/arpack/arpack-3.8.0.ebuild)3
-rw-r--r--sci-libs/arpack/arpack-3.9.0-r1.ebuild (renamed from sci-libs/arpack/arpack-3.9.0.ebuild)1
-rw-r--r--sci-libs/arpack/arpack-3.9.1.ebuild65
-rw-r--r--sci-libs/arpack/arpack-9999.ebuild17
-rw-r--r--sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch42
-rw-r--r--sci-libs/bliss/Manifest1
-rw-r--r--sci-libs/bliss/bliss-0.73-r2.ebuild49
-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/btf/Manifest1
-rw-r--r--sci-libs/btf/btf-2.0.3.ebuild28
-rw-r--r--sci-libs/btf/metadata.xml3
-rw-r--r--sci-libs/caffe2/caffe2-2.0.0-r5.ebuild (renamed from sci-libs/caffe2/caffe2-2.0.0-r4.ebuild)4
-rw-r--r--sci-libs/caffe2/caffe2-2.0.1-r4.ebuild (renamed from sci-libs/caffe2/caffe2-2.0.1-r1.ebuild)24
-rw-r--r--sci-libs/camd/Manifest1
-rw-r--r--sci-libs/camd/camd-2.4.6-r1.ebuild2
-rw-r--r--sci-libs/camd/camd-3.0.3.ebuild59
-rw-r--r--sci-libs/camd/metadata.xml3
-rw-r--r--sci-libs/cantera/Manifest1
-rw-r--r--sci-libs/cantera/cantera-2.6.0-r2.ebuild3
-rw-r--r--sci-libs/cantera/cantera-3.0.0.ebuild141
-rw-r--r--sci-libs/cantera/files/cantera-3.0.0_env.patch37
-rw-r--r--sci-libs/cantera/metadata.xml4
-rw-r--r--sci-libs/cartopy/cartopy-0.21.1-r1.ebuild88
-rw-r--r--sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch126
-rw-r--r--sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch46
-rw-r--r--sci-libs/ccolamd/Manifest1
-rw-r--r--sci-libs/ccolamd/ccolamd-2.9.6.ebuild2
-rw-r--r--sci-libs/ccolamd/ccolamd-3.0.3.ebuild39
-rw-r--r--sci-libs/ccolamd/metadata.xml3
-rw-r--r--sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild (renamed from sci-libs/ceres-solver/ceres-solver-2.1.0.ebuild)2
-rw-r--r--sci-libs/cholmod/Manifest1
-rw-r--r--sci-libs/cholmod/cholmod-3.0.14.ebuild2
-rw-r--r--sci-libs/cholmod/cholmod-4.0.3.ebuild92
-rw-r--r--sci-libs/cholmod/metadata.xml12
-rw-r--r--sci-libs/clblas/clblas-2.12-r2.ebuild (renamed from sci-libs/clblas/clblas-2.12-r1.ebuild)2
-rw-r--r--sci-libs/clblast/clblast-1.5.2-r1.ebuild4
-rw-r--r--sci-libs/coinor-utils/Manifest1
-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/colamd/Manifest1
-rw-r--r--sci-libs/colamd/colamd-2.9.6.ebuild2
-rw-r--r--sci-libs/colamd/colamd-3.0.3.ebuild39
-rw-r--r--sci-libs/colamd/metadata.xml3
-rw-r--r--sci-libs/cxsparse/Manifest1
-rw-r--r--sci-libs/cxsparse/cxsparse-4.0.3.ebuild98
-rw-r--r--sci-libs/cxsparse/metadata.xml3
-rw-r--r--sci-libs/datasets/Manifest3
-rw-r--r--sci-libs/datasets/datasets-2.12.0.ebuild53
-rw-r--r--sci-libs/datasets/datasets-2.13.1.ebuild59
-rw-r--r--sci-libs/datasets/datasets-2.14.4.ebuild59
-rw-r--r--sci-libs/datasets/files/datasets-2.12.0-tests.patch242
-rw-r--r--sci-libs/datasets/files/datasets-2.14.4-tests.patch242
-rw-r--r--sci-libs/dealii/Manifest4
-rw-r--r--sci-libs/dealii/dealii-9.4.0-r1.ebuild4
-rw-r--r--sci-libs/dealii/dealii-9.4.1-r1.ebuild4
-rw-r--r--sci-libs/dealii/dealii-9.5.1.ebuild176
-rw-r--r--sci-libs/dealii/dealii-9999.ebuild17
-rw-r--r--sci-libs/fplll/Manifest1
-rw-r--r--sci-libs/fplll/fplll-5.4.5.ebuild29
-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/gdal/Manifest8
-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.7.0.ebuild4
-rw-r--r--sci-libs/gdal/gdal-3.7.1.ebuild286
-rw-r--r--sci-libs/gdal/gdal-3.7.2.ebuild286
-rw-r--r--sci-libs/gdal/gdal-3.7.3.ebuild286
-rw-r--r--sci-libs/gdal/gdal-3.8.0.ebuild287
-rw-r--r--sci-libs/geos/Manifest2
-rw-r--r--sci-libs/geos/geos-3.11.2.ebuild2
-rw-r--r--sci-libs/geos/geos-3.12.0.ebuild46
-rw-r--r--sci-libs/geos/geos-3.12.1.ebuild46
-rw-r--r--sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch12
-rw-r--r--sci-libs/getdata/getdata-0.11.0-r1.ebuild63
-rw-r--r--sci-libs/ginkgo/Manifest1
-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.6.0.ebuild62
-rw-r--r--sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch23
-rw-r--r--sci-libs/givaro/givaro-4.1.1-r3.ebuild1
-rw-r--r--sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild2
-rw-r--r--sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch19
-rw-r--r--sci-libs/gloo/gloo-2023.01.17-r2.ebuild (renamed from sci-libs/gloo/gloo-2023.01.17-r1.ebuild)1
-rw-r--r--sci-libs/hdf5/Manifest1
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch34
-rw-r--r--sci-libs/hdf5/hdf5-1.14.1.ebuild2
-rw-r--r--sci-libs/hdf5/hdf5-1.14.2.ebuild115
-rw-r--r--sci-libs/hipBLAS/Manifest2
-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.xml3
-rw-r--r--sci-libs/hipCUB/Manifest1
-rw-r--r--sci-libs/hipCUB/hipCUB-5.7.1.ebuild71
-rw-r--r--sci-libs/hipFFT/Manifest1
-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.ebuild (renamed from sci-libs/hipFFT/hipFFT-5.1.3.ebuild)16
-rw-r--r--sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild44
-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/hipSPARSE/Manifest1
-rw-r--r--sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild98
-rw-r--r--sci-libs/huggingface_hub/Manifest2
-rw-r--r--sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild31
-rw-r--r--sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild31
-rw-r--r--sci-libs/iml/iml-1.0.5.ebuild3
-rw-r--r--sci-libs/indilib/Manifest3
-rw-r--r--sci-libs/indilib/indilib-2.0.3.ebuild (renamed from sci-libs/indilib/indilib-1.9.8.ebuild)15
-rw-r--r--sci-libs/indilib/indilib-2.0.4.ebuild76
-rw-r--r--sci-libs/klu/Manifest1
-rw-r--r--sci-libs/klu/klu-2.0.3.ebuild65
-rw-r--r--sci-libs/klu/metadata.xml3
-rw-r--r--sci-libs/lapack/Manifest1
-rw-r--r--sci-libs/lapack/lapack-3.10.1.ebuild2
-rw-r--r--sci-libs/lapack/lapack-3.11.ebuild7
-rw-r--r--sci-libs/lapack/lapack-3.12.0.ebuild107
-rw-r--r--sci-libs/ldl/Manifest1
-rw-r--r--sci-libs/ldl/ldl-3.0.3.ebuild62
-rw-r--r--sci-libs/ldl/metadata.xml3
-rw-r--r--sci-libs/lemon/lemon-1.3.1-r2.ebuild (renamed from sci-libs/lemon/lemon-1.3.1-r1.ebuild)4
-rw-r--r--sci-libs/libcifpp/Manifest10
-rw-r--r--sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch21
-rw-r--r--sci-libs/libcifpp/libcifpp-5.1.1.ebuild (renamed from sci-libs/libcifpp/libcifpp-5.1.0.1.ebuild)0
-rw-r--r--sci-libs/libcifpp/libcifpp-5.1.2.ebuild (renamed from sci-libs/libcifpp/libcifpp-5.0.8.ebuild)14
-rw-r--r--sci-libs/libcifpp/libcifpp-5.2.2.ebuild38
-rw-r--r--sci-libs/libh2o/libh2o-0.2.1-r1.ebuild6
-rw-r--r--sci-libs/libh2o/metadata.xml4
-rw-r--r--sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild6
-rw-r--r--sci-libs/libh2oxx/metadata.xml4
-rw-r--r--sci-libs/libigl/libigl-2.4.0.ebuild2
-rw-r--r--sci-libs/libqalculate/Manifest3
-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/metadata.xml2
-rw-r--r--sci-libs/libsc/Manifest3
-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.3-fix_build_system.patch41
-rw-r--r--sci-libs/libsc/files/libsc-2.8.3-set_version.patch44
-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/files/libsc-9999-set_version.patch44
-rw-r--r--sci-libs/libsc/libsc-2.3.6.ebuild100
-rw-r--r--sci-libs/libsc/libsc-2.8.5-r3.ebuild (renamed from sci-libs/libsc/libsc-2.8.3.ebuild)15
-rw-r--r--sci-libs/libsc/libsc-9999.ebuild65
-rw-r--r--sci-libs/libsc/metadata.xml3
-rw-r--r--sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch11
-rw-r--r--sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild156
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild2
-rw-r--r--sci-libs/linbox/linbox-1.6.3-r2.ebuild (renamed from sci-libs/linbox/linbox-1.6.3-r1.ebuild)27
-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.5-r3.ebuild62
-rw-r--r--sci-libs/m4ri/m4ri-20200125.ebuild2
-rw-r--r--sci-libs/m4ri/metadata.xml2
-rw-r--r--sci-libs/m4rie/m4rie-20200115-r1.ebuild4
-rw-r--r--sci-libs/m4rie/metadata.xml2
-rw-r--r--sci-libs/mathgl/Manifest1
-rw-r--r--sci-libs/mathgl/files/mathgl-libharu2.4.patch25
-rw-r--r--sci-libs/mathgl/mathgl-8.0.1.ebuild145
-rw-r--r--sci-libs/metis/metis-5.2.1-r2.ebuild2
-rw-r--r--sci-libs/mpfi/mpfi-1.5.4.ebuild4
-rw-r--r--sci-libs/netcdf/Manifest1
-rw-r--r--sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch24
-rw-r--r--sci-libs/netcdf/metadata.xml1
-rw-r--r--sci-libs/netcdf/netcdf-4.8.1-r1.ebuild76
-rw-r--r--sci-libs/netcdf/netcdf-4.8.1-r2.ebuild83
-rw-r--r--sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch11
-rw-r--r--sci-libs/onnx/onnx-1.13.1-r1.ebuild (renamed from sci-libs/onnx/onnx-1.13.1.ebuild)2
-rw-r--r--sci-libs/onnx/onnx-1.14.0-r2.ebuild60
-rw-r--r--sci-libs/onnx/onnx-1.14.0.ebuild30
-rw-r--r--sci-libs/openblas/Manifest5
-rw-r--r--sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch178
-rw-r--r--sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch99
-rw-r--r--sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch67
-rw-r--r--sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch40
-rw-r--r--sci-libs/openblas/openblas-0.3.18.ebuild199
-rw-r--r--sci-libs/openblas/openblas-0.3.19.ebuild199
-rw-r--r--sci-libs/openblas/openblas-0.3.23.ebuild (renamed from sci-libs/openblas/openblas-0.3.21.ebuild)17
-rw-r--r--sci-libs/openblas/openblas-0.3.25-r1.ebuild (renamed from sci-libs/openblas/openblas-0.3.20.ebuild)136
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-musl.patch97
-rw-r--r--sci-libs/opencascade/opencascade-7.6.3-r2.ebuild (renamed from sci-libs/opencascade/opencascade-7.6.3-r1.ebuild)3
-rw-r--r--sci-libs/opencascade/opencascade-7.7.0-r2.ebuild (renamed from sci-libs/opencascade/opencascade-7.7.0-r1.ebuild)2
-rw-r--r--sci-libs/openlibm/openlibm-0.8.0.ebuild10
-rw-r--r--sci-libs/p4est/Manifest4
-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-set_version.patch77
-rw-r--r--sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch (renamed from sci-libs/p4est/files/p4est-2.8-fix_build_system.patch)18
-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/files/p4est-9999-set_version.patch44
-rw-r--r--sci-libs/p4est/metadata.xml1
-rw-r--r--sci-libs/p4est/p4est-2.3.6.ebuild122
-rw-r--r--sci-libs/p4est/p4est-2.8.5-r3.ebuild (renamed from sci-libs/p4est/p4est-2.8-r1.ebuild)20
-rw-r--r--sci-libs/p4est/p4est-9999.ebuild67
-rw-r--r--sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild2
-rw-r--r--sci-libs/plplot/Manifest1
-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/primegen-0.97-r3.ebuild58
-rw-r--r--sci-libs/proj/Manifest5
-rw-r--r--sci-libs/proj/proj-9.1.1-r1.ebuild68
-rw-r--r--sci-libs/proj/proj-9.2.1.ebuild2
-rw-r--r--sci-libs/proj/proj-9.3.0.ebuild (renamed from sci-libs/proj/proj-9.2.0.ebuild)2
-rw-r--r--sci-libs/pyshp/pyshp-2.3.1-r1.ebuild30
-rw-r--r--sci-libs/pytorch/pytorch-2.0.1-r1.ebuild (renamed from sci-libs/pytorch/pytorch-2.0.1.ebuild)4
-rw-r--r--sci-libs/rocBLAS/Manifest1
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch132
-rw-r--r--sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild (renamed from sci-libs/rocBLAS/rocBLAS-5.1.3-r3.ebuild)2
-rw-r--r--sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild107
-rw-r--r--sci-libs/rocFFT/Manifest1
-rw-r--r--sci-libs/rocFFT/metadata.xml4
-rw-r--r--sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild (renamed from sci-libs/rocFFT/rocFFT-5.1.3.ebuild)9
-rw-r--r--sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild148
-rw-r--r--sci-libs/rocPRIM/Manifest1
-rw-r--r--sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch29
-rw-r--r--sci-libs/rocPRIM/metadata.xml4
-rw-r--r--sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild79
-rw-r--r--sci-libs/rocRAND/Manifest2
-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.xml4
-rw-r--r--sci-libs/rocRAND/rocRAND-5.1.3.ebuild8
-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/Manifest2
-rw-r--r--sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch34
-rw-r--r--sci-libs/rocSOLVER/metadata.xml3
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild (renamed from sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild)6
-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/Manifest1
-rw-r--r--sci-libs/rocSPARSE/metadata.xml4
-rw-r--r--sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild139
-rw-r--r--sci-libs/rocThrust/Manifest1
-rw-r--r--sci-libs/rocThrust/metadata.xml4
-rw-r--r--sci-libs/rocThrust/rocThrust-5.7.1.ebuild76
-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/rtree/rtree-1.0.0.ebuild4
-rw-r--r--sci-libs/safetensors/Manifest41
-rw-r--r--sci-libs/safetensors/metadata.xml12
-rw-r--r--sci-libs/safetensors/safetensors-0.3.1-r2.ebuild107
-rw-r--r--sci-libs/scikit-image/Manifest1
-rw-r--r--sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild2
-rw-r--r--sci-libs/scikit-image/scikit-image-0.22.0.ebuild61
-rw-r--r--sci-libs/scikit-learn/Manifest1
-rw-r--r--sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild11
-rw-r--r--sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild61
-rw-r--r--sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch22
-rw-r--r--sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch104
-rw-r--r--sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild39
-rw-r--r--sci-libs/spqr/Manifest1
-rw-r--r--sci-libs/spqr/metadata.xml3
-rw-r--r--sci-libs/spqr/spqr-2.0.9-r3.ebuild (renamed from sci-libs/spqr/spqr-2.0.9-r2.ebuild)2
-rw-r--r--sci-libs/spqr/spqr-3.0.3.ebuild121
-rw-r--r--sci-libs/spr/spr-3.3.2.ebuild4
-rw-r--r--sci-libs/stellarsolver/Manifest2
-rw-r--r--sci-libs/stellarsolver/stellarsolver-2.5.ebuild (renamed from sci-libs/stellarsolver/stellarsolver-2.4.ebuild)0
-rw-r--r--sci-libs/suitesparseconfig/Manifest1
-rw-r--r--sci-libs/suitesparseconfig/metadata.xml3
-rw-r--r--sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild2
-rw-r--r--sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild42
-rw-r--r--sci-libs/symengine/Manifest1
-rw-r--r--sci-libs/symengine/symengine-0.10.1.ebuild2
-rw-r--r--sci-libs/symengine/symengine-0.11.1.ebuild103
-rw-r--r--sci-libs/tensorflow-estimator/Manifest1
-rw-r--r--sci-libs/tensorflow-estimator/tensorflow-estimator-2.10.ebuild75
-rw-r--r--sci-libs/tensorflow/Manifest16
-rw-r--r--sci-libs/tensorflow/tensorflow-2.10.0.ebuild419
-rw-r--r--sci-libs/tokenizers/Manifest160
-rw-r--r--sci-libs/tokenizers/tokenizers-0.14.1.ebuild333
-rw-r--r--sci-libs/transformers/Manifest2
-rw-r--r--sci-libs/transformers/transformers-4.30.2-r1.ebuild36
-rw-r--r--sci-libs/transformers/transformers-4.31.0.ebuild36
-rw-r--r--sci-libs/trilinos/Manifest2
-rw-r--r--sci-libs/trilinos/files/trilinos-14.0.0-missing_includes_gcc_13.patch24
-rw-r--r--sci-libs/trilinos/trilinos-14.0.0.ebuild1
-rw-r--r--sci-libs/trilinos/trilinos-14.2.0.ebuild257
-rw-r--r--sci-libs/trilinos/trilinos-14.4.0.ebuild256
-rw-r--r--sci-libs/umfpack/Manifest1
-rw-r--r--sci-libs/umfpack/metadata.xml3
-rw-r--r--sci-libs/umfpack/umfpack-5.7.9.ebuild2
-rw-r--r--sci-libs/umfpack/umfpack-6.1.0.ebuild62
-rw-r--r--sci-libs/volk/Manifest2
-rw-r--r--sci-libs/volk/volk-3.0.0-r1.ebuild (renamed from sci-libs/volk/volk-2.5.1.ebuild)21
-rw-r--r--sci-libs/volk/volk-9999.ebuild58
-rw-r--r--sci-libs/vtk/Manifest6
-rw-r--r--sci-libs/vtk/files/vtk-9.2.6-Java21.patch17
-rw-r--r--sci-libs/vtk/metadata.xml6
-rw-r--r--sci-libs/vtk/vtk-9.2.5.ebuild2
-rw-r--r--sci-libs/vtk/vtk-9.2.6-r1.ebuild747
-rw-r--r--sci-libs/xylib/xylib-1.6-r1.ebuild43
327 files changed, 11084 insertions, 3774 deletions
diff --git a/sci-libs/HighFive/HighFive-2.7.1.ebuild b/sci-libs/HighFive/HighFive-2.7.1.ebuild
new file mode 100644
index 000000000000..a177d45fa8d7
--- /dev/null
+++ b/sci-libs/HighFive/HighFive-2.7.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+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?]
+ doc? ( app-doc/doxygen[dot] )
+
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-cpp/catch-3.4.0:0
+ dev-libs/boost
+ dev-cpp/eigen
+ media-libs/opencv
+ )
+"
+
+DOCS=( {README,CHANGELOG}.md )
+
+src_prepare() {
+ default
+ sed -i -e "s/-Werror //" "${S}"/CMake/config/CompilerFlagsHelpers.cmake || die
+ cmake_src_prepare
+}
+
+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..dec4fca0f6cb
--- /dev/null
+++ b/sci-libs/HighFive/Manifest
@@ -0,0 +1 @@
+DIST HighFive-2.7.1.tar.gz 518596 BLAKE2B e2c499ff629bf1ef5ec62baffa71624f90099179a31a085ede4a027c1747ecad7da0f4964c755e77c0825ac3ef4006ead972a3e7b59103ebaa6bd1a552f57f42 SHA512 4fbbd3898791a67e44329a5d0e20e16454b9393510236563b12fe4346cd4f2785d43d915ea05239ac1568d00651e41d85d93590f01454ffc1b82e7bba28e780a
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/amd/Manifest b/sci-libs/amd/Manifest
index d2a28a0930ce..fe9a4be11e6d 100644
--- a/sci-libs/amd/Manifest
+++ b/sci-libs/amd/Manifest
@@ -1 +1,2 @@
+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.4.6-r1.ebuild b/sci-libs/amd/amd-2.4.6-r1.ebuild
index 6400675eaacc..01cba33f2c7c 100644
--- a/sci-libs/amd/amd-2.4.6-r1.ebuild
+++ b/sci-libs/amd/amd-2.4.6-r1.ebuild
@@ -12,7 +12,7 @@ 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"
+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
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/metadata.xml b/sci-libs/amd/metadata.xml
index 056fcec28700..1ecd509a217e 100644
--- a/sci-libs/amd/metadata.xml
+++ b/sci-libs/amd/metadata.xml
@@ -10,4 +10,7 @@
factorization (or for LU factorization with diagonal pivoting). There
are versions in both C and Fortran.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/arborx/Manifest b/sci-libs/arborx/Manifest
index fdd46ae98bd0..4cf219e6a8a7 100644
--- a/sci-libs/arborx/Manifest
+++ b/sci-libs/arborx/Manifest
@@ -1 +1 @@
-DIST arborx-1.2.tar.gz 380705 BLAKE2B eb0006e69edb6cfd1d402dfe5a58db76954c34f847ce8acd1c0f2bd2044a29a434fc01df67829fce4ec911f5c882c1625aa7a50bc39a5d33dfb2c26d6a4cbb4f SHA512 d48650b11fc26770c43f4821999647acb0c7675367e416ad025ab21eb50da66c732f03bc6decf840d25dac26ff7f1f5dca77b7514dffc619cef8d401e83a8795
+DIST arborx-1.4.1.tar.gz 408999 BLAKE2B 83e172f89ac8ff82d4add40fd036457d9c563b44c11b15d86aa884dc03742f3e22a13cc4b6f068ef377fcd8e63d239f704dd1821772079d2f9f8c169b1f31fae SHA512 3799deed5eae1e6092c19a62894207ac0ccd81ba84c8d42734fa3d0e5a3fc9d6a8f7b1442d2203b06f4e251970569f67506d419fb6695039c11e78dfd740e565
diff --git a/sci-libs/arborx/arborx-1.2.ebuild b/sci-libs/arborx/arborx-1.4.1-r1.ebuild
index 68330b8a5df7..84b2bc0e85a4 100644
--- a/sci-libs/arborx/arborx-1.2.ebuild
+++ b/sci-libs/arborx/arborx-1.4.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,6 +24,13 @@ 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)"
diff --git a/sci-libs/armadillo/Manifest b/sci-libs/armadillo/Manifest
index 911379cff885..c7308e237c4e 100644
--- a/sci-libs/armadillo/Manifest
+++ b/sci-libs/armadillo/Manifest
@@ -1,4 +1 @@
-DIST armadillo-10.2.0.tar.xz 6042348 BLAKE2B e85f24ca7137c3a8c8fc53db15b382f2e4d468673c99e036ef9b4a4436be47d24a37664dfa88ff9effa08a4c868bd212d03c204dda09cd26038a0f8ccbf61375 SHA512 c5d6f4bac0acba63fbd7681653d521249fd303ffbbc5b18df71500eb111514c1d09db600a580091d6a23c83748c109c30938bbcd80a3a0b2c25e2fdea932f2cd
-DIST armadillo-10.8.2.tar.xz 6262832 BLAKE2B f8a5a66464614661bcccffb8138434d117ad07dcea5f89ddde45df293df5dd4f10def2085b85d37386337fd8bd0152914a957e0b1b7919a47ec8b1a79e92b90b SHA512 720fadad491dfeeb894544b0305cd64a0e0402e66fc788949ecd54c0b1a3b9c3ede9f75b081f832931d59d2bd59529cebb9d5b57b8582df869765cac01c2979b
-DIST armadillo-11.4.0.tar.xz 6804388 BLAKE2B cb44d248cf817f66cc0b6aa968535e266282775b20035f46f3158687100c0f49c6cf4fad8d1f2ec1741f9bceb06c5a841f20f3b7e59146f2fe57c86d00741434 SHA512 21d58b383229f55bf6a3b217c04901982b484b6d806dd3c4a72ebe5a9614f63f9429ca31ea7cfc26672b70e01a0b9263a9d4edf69a0080706ade87852f94970c
-DIST armadillo-12.0.1.tar.xz 6802568 BLAKE2B c6025fe3bcabfa6d08efd864c4b9b129c84e8941b7cb237b76ed83f74062c06cdbb98bdf09796f3340fbdbb37a36f82826a53e778dbc589af9e868a2348bd7f3 SHA512 b1b9fbce6bdacc3340ab190605aba77e821629e0a51e0c6277840eaf803d037a778b9243c02c5b55d67976c203808a5fc34894f3928b707685f6d8695ef0bc0d
+DIST armadillo-12.4.0.tar.xz 6803968 BLAKE2B ca45b2284b5a31c745b2ad924235af24f855039cc81c3300c83e5e932ee4cda233731b53623303c1c739feae9b007f8f6309c09debe79923e3876e8145015152 SHA512 a9f8cd19384eed787787b9e189901a1800e6e1dd06917f4f13e8a215c83f317de3e5b0ae8625783f88d9a7b0ab25f5c7784ccf0493c08a9ee3ea7fdfbbe36195
diff --git a/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild b/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild
deleted file mode 100644
index 916e16e01584..000000000000
--- a/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_IN_SOURCE_BUILD=1
-
-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/10"
-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_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_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_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-10.8.2.ebuild b/sci-libs/armadillo/armadillo-10.8.2.ebuild
deleted file mode 100644
index 5f6bd3b57605..000000000000
--- a/sci-libs/armadillo/armadillo-10.8.2.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_IN_SOURCE_BUILD=1
-
-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/10"
-KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~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_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_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_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-11.4.0.ebuild b/sci-libs/armadillo/armadillo-11.4.0.ebuild
deleted file mode 100644
index efbac097f195..000000000000
--- a/sci-libs/armadillo/armadillo-11.4.0.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_IN_SOURCE_BUILD=1
-
-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/11"
-KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="arpack blas doc examples hdf5 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 )
- 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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-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 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_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.0.1.ebuild b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild
index a1399cb8445a..8139c09c283a 100644
--- a/sci-libs/armadillo/armadillo-12.0.1.ebuild
+++ b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild
@@ -1,9 +1,7 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-CMAKE_IN_SOURCE_BUILD=1
+EAPI=8
inherit cmake toolchain-funcs multilib
@@ -13,35 +11,28 @@ 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 hdf5 lapack mkl superlu test"
+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 )
- hdf5? ( sci-libs/hdf5:= )
lapack? ( virtual/pkgconfig )
- mkl? ( sci-libs/mkl )
-"
-PDEPEND="${RDEPEND}
- hdf5? ( sci-libs/hdf5:= )
- mkl? ( sci-libs/mkl )
"
PATCHES=(
- "${FILESDIR}/${P}-extratests.patch"
+ "${FILESDIR}/${PN}-12.0.1-extratests.patch"
)
src_prepare() {
@@ -93,17 +84,6 @@ src_configure() {
-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
diff --git a/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch b/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch
deleted file mode 100644
index 7efb67b5b139..000000000000
--- a/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN armadillo-11.4.0.orig/tests2/Makefile armadillo-11.4.0/tests2/Makefile
---- armadillo-11.4.0.orig/tests2/Makefile 2022-10-03 19:26:59.699937940 +0200
-+++ armadillo-11.4.0/tests2/Makefile 2022-10-03 19:27:24.954277418 +0200
-@@ -3,7 +3,7 @@
- #LIB_FLAGS = -lblas -llapack
- #LIB_FLAGS = -lopenblas -llapack
-
--CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0
-+#CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0
- #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -fopenmp
- #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -DARMA_DONT_USE_WRAPPER
- #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -fsanitize=address -fsanitize=leak -fsanitize=undefined -fsanitize=bounds -fsanitize=bounds-strict -g
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
index ce9b7f1fd764..2ea6ef6afd6d 100644
--- a/sci-libs/arpack/Manifest
+++ b/sci-libs/arpack/Manifest
@@ -1,4 +1,5 @@
DIST arpack-3.8.0.tar.gz 1014494 BLAKE2B 6daf8a237fdfce527935d777292df150b2f78892d9975f8696a37024fcb78174b29afd300e7abca2684c1907eeda658eb4478f09f580835896c0e10d106cdbbd SHA512 8969c74c4c0459ea2d29ea49d5260f668fd33f73886df0da78a42a94aea93c9f5fb70f5df035266db68807ab09a92c13487a7a4e6ca64922145aade8a148a2de
DIST arpack-3.9.0.tar.gz 1015328 BLAKE2B fc9960025140a9d6a570ee0359c16055c826482fe1ee58c2dc7727cd0ead04fbb940da0e08a6f11e05205d239b1059c93af0e08bf2b6e0cfee61d73f1d0d9816 SHA512 fbcaa2179dd1aa5a39fc3e7d80f377ec90ddf16ef93184a88e6ecfc464ed97e5659f2cf578294ac3e0b0c0da6408c86acf5bbdce533e1e9d2a3121848340d282
+DIST arpack-3.9.1.tar.gz 1020208 BLAKE2B dd1b5b16cc5304bb16ab68055939c8f3c11f761eff69bcfc22b3cb9605b477929f54513649a7becb152e91275bfccdc868d3ccf464fb876732c7ec23a83fe71e SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2
DIST tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4
DIST ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328
diff --git a/sci-libs/arpack/arpack-3.8.0.ebuild b/sci-libs/arpack/arpack-3.8.0-r1.ebuild
index 3d82dac765c1..33421451eea4 100644
--- a/sci-libs/arpack/arpack-3.8.0.ebuild
+++ b/sci-libs/arpack/arpack-3.8.0-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="doc examples mpi"
RDEPEND="
@@ -35,6 +35,7 @@ src_prepare() {
src_configure() {
econf \
--disable-static \
+ --enable-icb \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
$(use_enable mpi)
diff --git a/sci-libs/arpack/arpack-3.9.0.ebuild b/sci-libs/arpack/arpack-3.9.0-r1.ebuild
index cfd783760a46..543b592a542d 100644
--- a/sci-libs/arpack/arpack-3.9.0.ebuild
+++ b/sci-libs/arpack/arpack-3.9.0-r1.ebuild
@@ -35,6 +35,7 @@ src_prepare() {
src_configure() {
econf \
--disable-static \
+ --enable-icb \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
$(use_enable mpi)
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..6fafe6af781b
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.9.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools 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 ~ia64 ~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() {
+ 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 4130db5de749..8164bd0bd747 100644
--- a/sci-libs/arpack/arpack-9999.ebuild
+++ b/sci-libs/arpack/arpack-9999.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools 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 ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
@@ -35,6 +37,7 @@ src_prepare() {
src_configure() {
econf \
--disable-static \
+ --enable-icb \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
$(use_enable mpi)
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/bliss/Manifest b/sci-libs/bliss/Manifest
index 69758a8152ae..6a7b83ca6e7d 100644
--- a/sci-libs/bliss/Manifest
+++ b/sci-libs/bliss/Manifest
@@ -1,2 +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-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/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/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-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 f15848939958..9f70db2d6ffd 100644
--- a/sci-libs/btf/metadata.xml
+++ b/sci-libs/btf/metadata.xml
@@ -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/caffe2/caffe2-2.0.0-r4.ebuild b/sci-libs/caffe2/caffe2-2.0.0-r5.ebuild
index f6a3684a96a0..eaf3e07d46ac 100644
--- a/sci-libs/caffe2/caffe2-2.0.0-r4.ebuild
+++ b/sci-libs/caffe2/caffe2-2.0.0-r5.ebuild
@@ -121,7 +121,7 @@ src_configure() {
-DUSE_CUDNN=$(usex cuda)
-DUSE_FAST_NVCC=$(usex cuda)
-DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
- -DBUILD_NVFUSER=OFF
+ -DBUILD_NVFUSER=$(usex cuda)
-DUSE_DISTRIBUTED=$(usex distributed)
-DUSE_MPI=$(usex mpi)
-DUSE_FAKELOWP=OFF
@@ -181,6 +181,8 @@ src_configure() {
src_install() {
cmake_src_install
+ use cuda && dolib.so "${BUILD_DIR}"/lib/libnvfuser_codegen.so
+
insinto "/var/lib/${PN}"
doins "${BUILD_DIR}"/CMakeCache.txt
diff --git a/sci-libs/caffe2/caffe2-2.0.1-r1.ebuild b/sci-libs/caffe2/caffe2-2.0.1-r4.ebuild
index 65814fb3e0e6..67ab76e8ed76 100644
--- a/sci-libs/caffe2/caffe2-2.0.1-r1.ebuild
+++ b/sci-libs/caffe2/caffe2-2.0.1-r4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit python-single-r1 cmake cuda flag-o-matic
+inherit python-single-r1 cmake cuda flag-o-matic prefix
MYPN=pytorch
MYP=${MYPN}-${PV}
@@ -49,7 +49,7 @@ RDEPEND="
fbgemm? ( dev-libs/FBGEMM )
ffmpeg? ( media-video/ffmpeg:= )
gloo? ( sci-libs/gloo[cuda?] )
- mpi? ( sys-cluster/openmpi )
+ mpi? ( virtual/mpi )
nnpack? ( sci-libs/NNPACK )
numpy? ( $(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
@@ -97,6 +97,20 @@ 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
}
src_configure() {
@@ -106,7 +120,7 @@ src_configure() {
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 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"
@@ -122,7 +136,7 @@ src_configure() {
-DUSE_CUDNN=$(usex cuda)
-DUSE_FAST_NVCC=$(usex cuda)
-DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
- -DBUILD_NVFUSER=OFF
+ -DBUILD_NVFUSER=$(usex cuda)
-DUSE_DISTRIBUTED=$(usex distributed)
-DUSE_MPI=$(usex mpi)
-DUSE_FAKELOWP=OFF
@@ -182,6 +196,8 @@ src_configure() {
src_install() {
cmake_src_install
+ use cuda && dolib.so "${BUILD_DIR}"/lib/libnvfuser_codegen.so
+
insinto "/var/lib/${PN}"
doins "${BUILD_DIR}"/CMakeCache.txt
diff --git a/sci-libs/camd/Manifest b/sci-libs/camd/Manifest
index 0b05cf134539..16b8f196b932 100644
--- a/sci-libs/camd/Manifest
+++ b/sci-libs/camd/Manifest
@@ -1 +1,2 @@
+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.4.6-r1.ebuild b/sci-libs/camd/camd-2.4.6-r1.ebuild
index ec2f29270a50..435f8599933f 100644
--- a/sci-libs/camd/camd-2.4.6-r1.ebuild
+++ b/sci-libs/camd/camd-2.4.6-r1.ebuild
@@ -11,7 +11,7 @@ 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"
+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
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/metadata.xml b/sci-libs/camd/metadata.xml
index 1db724fb993a..728817ca7a84 100644
--- a/sci-libs/camd/metadata.xml
+++ b/sci-libs/camd/metadata.xml
@@ -10,4 +10,7 @@
for ordering a sparse matrix prior to Cholesky factorization (or for
LU factorization with diagonal pivoting).
</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 6b5da97bd886..782522d16b9c 100644
--- a/sci-libs/cantera/Manifest
+++ b/sci-libs/cantera/Manifest
@@ -1 +1,2 @@
DIST cantera-2.6.0.tar.gz 2586243 BLAKE2B 3562dc3641c70cdbd5e07062ecee56c0658b098c20bb477c3e741731db01e38fccf624e6769377420b01dd4bac72a0608cf226cce40ac12f13e71081090e06bc SHA512 74e12c89af38236bcc064034f74edcc690895151a9e453e728d130b83f5f527e675750c68a3fe36eea3c6aec6969685aa8828ae740a2e27b5df72a8ccc4d2856
+DIST cantera-3.0.0.tar.gz 2451103 BLAKE2B 094d7a4f0b8fd0f1a45d9f8c13e1390cf7fc62110e424e1287030e97382c1cdc016a5119adc4d5c7bbc222420a3b447db93fee8350643cb3a0907a838fbc1ddf SHA512 dffd696628210ae5c7b08e394e9a97262cfa6aa07ac2e6faa48591ecfee5bb11e7c2b6928563007fd581a1fd9cae999f7c1414ab5d5a312a823e155573df7aca
diff --git a/sci-libs/cantera/cantera-2.6.0-r2.ebuild b/sci-libs/cantera/cantera-2.6.0-r2.ebuild
index 5a8cb20337f7..b7276b05cc38 100644
--- a/sci-libs/cantera/cantera-2.6.0-r2.ebuild
+++ b/sci-libs/cantera/cantera-2.6.0-r2.ebuild
@@ -43,6 +43,7 @@ RDEPEND="
lapack? ( >=sci-libs/sundials-6.5.0:0=[lapack?] )
"
+# <cython-3 for bug #913141
DEPEND="
${RDEPEND}
dev-cpp/eigen:3
@@ -50,7 +51,7 @@ DEPEND="
dev-libs/libfmt
python? (
$(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
dev-python/pip[${PYTHON_USEDEP}]
')
)
diff --git a/sci-libs/cantera/cantera-3.0.0.ebuild b/sci-libs/cantera/cantera-3.0.0.ebuild
new file mode 100644
index 000000000000..27478930c415
--- /dev/null
+++ b/sci-libs/cantera/cantera-3.0.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+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}
+ lapack? ( virtual/lapack )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ ')
+ )
+ dev-cpp/yaml-cpp
+ hdf5? ( sci-libs/HighFive )
+ !lapack? ( sci-libs/sundials:0= )
+ lapack? ( >=sci-libs/sundials-6.5.0:0=[lapack?] )
+"
+
+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"
+)
+
+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_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/metadata.xml b/sci-libs/cantera/metadata.xml
index 919e8bf0ad40..fbc827be0db4 100644
--- a/sci-libs/cantera/metadata.xml
+++ b/sci-libs/cantera/metadata.xml
@@ -14,7 +14,9 @@
for problems involving chemical kinetics, thermodynamics, and/or transport processes.
</longdescription>
<use>
- <flag name="cti">Install CTI tools (ck2cti, ck2yaml, ctml_writer) for conversion of Chemkin files to Cantera format</flag>
+ <flag name="cti">Install conversion tools (ck2cti, ck2yaml, ctml_writer) from Chemkin 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/cantera</remote-id>
diff --git a/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild b/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild
new file mode 100644
index 000000000000..e7186c4571c4
--- /dev/null
+++ b/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 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..11} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 multibuild 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="LGPL-3"
+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}]
+ sci-libs/geos
+ $(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}-fix-test.patch
+ # backports to fix tests with >=PROJ9.2
+ "${FILESDIR}"/${PN}-0.21.1-fix-test_proj92.patch
+ "${FILESDIR}"/${PN}-0.21.1-fix-test_proj92_1.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
+
+ 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.21.1-fix-test_proj92.patch b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch
new file mode 100644
index 000000000000..e9f1d03eeeb2
--- /dev/null
+++ b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch
@@ -0,0 +1,126 @@
+diff --git a/lib/cartopy/tests/crs/test_equidistant_conic.py b/lib/cartopy/tests/crs/test_equidistant_conic.py
+index 045c87e5d..9f50b4f04 100644
+--- a/lib/cartopy/tests/crs/test_equidistant_conic.py
++++ b/lib/cartopy/tests/crs/test_equidistant_conic.py
+@@ -10,6 +10,7 @@
+
+ import numpy as np
+ from numpy.testing import assert_almost_equal, assert_array_almost_equal
++import pyproj
+ import pytest
+
+ import cartopy.crs as ccrs
+@@ -23,11 +24,16 @@ def test_default(self):
+ 'y_0=0.0', 'lat_1=20.0', 'lat_2=50.0'}
+ check_proj_params('eqdc', eqdc, other_args)
+
++ expected_x = (-22784919.35600352, 22784919.35600352)
++ expected_y = (-10001965.729313632, 17558791.85156368)
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-22784919.3559981, 22784919.3559981)
++ expected_y = (-10001965.72931272, 17558791.85157471)
+ assert_almost_equal(np.array(eqdc.x_limits),
+- (-22784919.35600352, 22784919.35600352),
++ expected_x,
+ decimal=7)
+ assert_almost_equal(np.array(eqdc.y_limits),
+- (-10001965.729313632, 17558791.85156368),
++ expected_y,
+ decimal=7)
+
+ def test_eccentric_globe(self):
+@@ -37,12 +43,16 @@ def test_eccentric_globe(self):
+ other_args = {'a=1000', 'b=500', 'lon_0=0.0', 'lat_0=0.0', 'x_0=0.0',
+ 'y_0=0.0', 'lat_1=20.0', 'lat_2=50.0'}
+ check_proj_params('eqdc', eqdc, other_args)
+-
++ expected_x = (-3016.869847713461, 3016.869847713461)
++ expected_y = (-1216.6029342241113, 2511.0574375797723)
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-2960.1009481, 2960.1009481)
++ expected_y = (-1211.05573766, 2606.04249537)
+ assert_almost_equal(np.array(eqdc.x_limits),
+- (-3016.869847713461, 3016.869847713461),
++ expected_x,
+ decimal=7)
+ assert_almost_equal(np.array(eqdc.y_limits),
+- (-1216.6029342241113, 2511.0574375797723),
++ expected_y,
+ decimal=7)
+
+ def test_eastings(self):
+@@ -127,12 +137,16 @@ def test_ellipsoid_transform(self):
+ 'lat_0=23.0', 'x_0=0.0', 'y_0=0.0', 'lat_1=29.5',
+ 'lat_2=45.5'}
+ check_proj_params('eqdc', eqdc, other_args)
+-
++ expected_x = (-22421870.719894886, 22421870.719894886)
++ expected_y = (-12546277.778958388, 17260638.403203618)
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-22421870.71988974, 22421870.71988976)
++ expected_y = (-12546277.77895742, 17260638.403216)
+ assert_almost_equal(np.array(eqdc.x_limits),
+- (-22421870.719894886, 22421870.719894886),
++ expected_x,
+ decimal=7)
+ assert_almost_equal(np.array(eqdc.y_limits),
+- (-12546277.778958388, 17260638.403203618),
++ expected_y,
+ decimal=7)
+
+ result = eqdc.transform_point(-75.0, 35.0, geodetic)
+diff --git a/lib/cartopy/tests/crs/test_sinusoidal.py b/lib/cartopy/tests/crs/test_sinusoidal.py
+index 2f2a1821a..9347260a1 100644
+--- a/lib/cartopy/tests/crs/test_sinusoidal.py
++++ b/lib/cartopy/tests/crs/test_sinusoidal.py
+@@ -6,6 +6,7 @@
+
+ import numpy as np
+ from numpy.testing import assert_almost_equal
++import pyproj
+ import pytest
+
+ import cartopy.crs as ccrs
+@@ -32,10 +33,15 @@ def test_eccentric_globe(self):
+ other_args = {'a=1000', 'b=500', 'lon_0=0.0', 'x_0=0.0', 'y_0=0.0'}
+ check_proj_params('sinu', crs, other_args)
+
++ expected_x = [-3141.59, 3141.59]
++ expected_y = [-1216.60, 1216.60]
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = [-3141.60, 3141.60]
++ expected_y = [-1211.05, 1211.05]
+ assert_almost_equal(np.array(crs.x_limits),
+- [-3141.59, 3141.59], decimal=2)
++ expected_x, decimal=2)
+ assert_almost_equal(np.array(crs.y_limits),
+- [-1216.60, 1216.60], decimal=2)
++ expected_y, decimal=2)
+
+ def test_offset(self):
+ crs = ccrs.Sinusoidal()
+diff --git a/lib/cartopy/tests/test_crs.py b/lib/cartopy/tests/test_crs.py
+index c1a5d11da..b6c38ced3 100644
+--- a/lib/cartopy/tests/test_crs.py
++++ b/lib/cartopy/tests/test_crs.py
+@@ -90,9 +90,17 @@ def test_osgb(self, approx):
+ def test_epsg(self):
+ uk = ccrs.epsg(27700)
+ assert uk.epsg_code == 27700
+- assert_almost_equal(uk.x_limits, (-104009.357, 688806.007), decimal=3)
+- assert_almost_equal(uk.y_limits, (-8908.37, 1256558.45), decimal=2)
+- assert_almost_equal(uk.threshold, 7928.15, decimal=2)
++ expected_x = (-104009.357, 688806.007)
++ expected_y = (-8908.37, 1256558.45)
++ expected_threshold = 7928.15
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-104728.764, 688806.007)
++ expected_y = (-8908.36, 1256616.32)
++ expected_threshold = 7935.34
++ assert_almost_equal(uk.x_limits,
++ expected_x, decimal=3)
++ assert_almost_equal(uk.y_limits, expected_y, decimal=2)
++ assert_almost_equal(uk.threshold, expected_threshold, decimal=2)
+ self._check_osgb(uk)
+
+ def test_epsg_compound_crs(self):
diff --git a/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch
new file mode 100644
index 000000000000..7ce52bb23364
--- /dev/null
+++ b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch
@@ -0,0 +1,46 @@
+diff --git a/lib/cartopy/tests/crs/test_lambert_conformal.py b/lib/cartopy/tests/crs/test_lambert_conformal.py
+index 6032d2e5c..c64022ff9 100644
+--- a/lib/cartopy/tests/crs/test_lambert_conformal.py
++++ b/lib/cartopy/tests/crs/test_lambert_conformal.py
+@@ -5,6 +5,7 @@
+ # licensing details.
+
+ from numpy.testing import assert_array_almost_equal
++import pyproj
+ import pytest
+
+ import cartopy.crs as ccrs
+@@ -68,18 +69,29 @@ def test_too_many_parallel(self):
+
+ def test_single_spole(self):
+ s_pole_crs = ccrs.LambertConformal(standard_parallels=[-1.])
++ expected_x = (-19939660, 19939660)
++ expected_y = (-735590302, -8183795)
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-19840440, 19840440)
++ expected_y = (-370239953, -8191953)
++ print(s_pole_crs.x_limits)
+ assert_array_almost_equal(s_pole_crs.x_limits,
+- (-19939660, 19939660),
++ expected_x,
+ decimal=0)
+ assert_array_almost_equal(s_pole_crs.y_limits,
+- (-735590302, -8183795),
++ expected_y,
+ decimal=0)
+
+ def test_single_npole(self):
+ n_pole_crs = ccrs.LambertConformal(standard_parallels=[1.])
++ expected_x = (-20130569, 20130569)
++ expected_y = (-8170229, 726200683)
++ if pyproj.__proj_version__ >= '9.2.0':
++ expected_x = (-20222156, 20222156)
++ expected_y = (-8164817, 360848719)
+ assert_array_almost_equal(n_pole_crs.x_limits,
+- (-20130569, 20130569),
++ expected_x,
+ decimal=0)
+ assert_array_almost_equal(n_pole_crs.y_limits,
+- (-8170229, 726200683),
++ expected_y,
+ decimal=0)
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 4788aeab19aa..6e52b1703b4f 100644
--- a/sci-libs/ccolamd/ccolamd-2.9.6.ebuild
+++ b/sci-libs/ccolamd/ccolamd-2.9.6.ebuild
@@ -9,7 +9,7 @@ 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"
+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"
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 412ff61d06aa..ba6e076c8fbd 100644
--- a/sci-libs/ccolamd/metadata.xml
+++ b/sci-libs/ccolamd/metadata.xml
@@ -10,4 +10,7 @@
algorithm, (like COLAMD), but it can also be given a set of ordering
constraints.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/ceres-solver/ceres-solver-2.1.0.ebuild b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild
index 28312cad9867..0266f174e0e4 100644
--- a/sci-libs/ceres-solver/ceres-solver-2.1.0.ebuild
+++ b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild
@@ -24,7 +24,7 @@ RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
>=dev-cpp/eigen-3.3.4:3
lapack? ( virtual/pkgconfig )
- doc? ( dev-libs/mathjax )
+ doc? ( <dev-libs/mathjax-3 )
"
RDEPEND="
dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
diff --git a/sci-libs/cholmod/Manifest b/sci-libs/cholmod/Manifest
index 1630f80a5d08..cf3192387aab 100644
--- a/sci-libs/cholmod/Manifest
+++ b/sci-libs/cholmod/Manifest
@@ -1,2 +1,3 @@
+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-3.0.14.ebuild b/sci-libs/cholmod/cholmod-3.0.14.ebuild
index 565ef4d616e2..458f30a8b9c7 100644
--- a/sci-libs/cholmod/cholmod-3.0.14.ebuild
+++ b/sci-libs/cholmod/cholmod-3.0.14.ebuild
@@ -11,7 +11,7 @@ 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"
+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
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/metadata.xml b/sci-libs/cholmod/metadata.xml
index 9ba80d3ef6cc..4b106db7f098 100644
--- a/sci-libs/cholmod/metadata.xml
+++ b/sci-libs/cholmod/metadata.xml
@@ -7,6 +7,9 @@
</maintainer>
<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)
@@ -17,7 +20,14 @@
</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/clblas/clblas-2.12-r1.ebuild b/sci-libs/clblas/clblas-2.12-r2.ebuild
index 1208534eb25c..654c43bcf00f 100644
--- a/sci-libs/clblas/clblas-2.12-r1.ebuild
+++ b/sci-libs/clblas/clblas-2.12-r2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DOCS_BUILDER="doxygen"
-DOCS_DEPEND="dev-libs/mathjax"
+DOCS_DEPEND="<dev-libs/mathjax-3"
DOCS_CONFIG_NAME="clBLAS.doxy"
DOCS_DIR="doc"
diff --git a/sci-libs/clblast/clblast-1.5.2-r1.ebuild b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
index 604dd3d840e1..ae12ba33513e 100644
--- a/sci-libs/clblast/clblast-1.5.2-r1.ebuild
+++ b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ S="${WORKDIR}/${MYPN}-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
# Cuda is still beta, default to opencl
IUSE="client cuda examples +opencl test"
REQUIRED_USE="
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.9.ebuild b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild
new file mode 100644
index 000000000000..894f4b5605b5
--- /dev/null
+++ b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2023 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-doc/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/colamd/Manifest b/sci-libs/colamd/Manifest
index d892a2a7e321..a699b1aea285 100644
--- a/sci-libs/colamd/Manifest
+++ b/sci-libs/colamd/Manifest
@@ -1 +1,2 @@
+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.9.6.ebuild b/sci-libs/colamd/colamd-2.9.6.ebuild
index 79ded9be97ef..347cfbd3e12c 100644
--- a/sci-libs/colamd/colamd-2.9.6.ebuild
+++ b/sci-libs/colamd/colamd-2.9.6.ebuild
@@ -9,7 +9,7 @@ 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"
+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"
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 249c30df3a5c..568cb46d3cfe 100644
--- a/sci-libs/colamd/metadata.xml
+++ b/sci-libs/colamd/metadata.xml
@@ -15,4 +15,7 @@
matrix M such that M\'*M has the same pattern as A, and then uses
COLAMD to compute a column ordering of M.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</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-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 2aa4c4bf0fff..7a0611fccc34 100644
--- a/sci-libs/cxsparse/metadata.xml
+++ b/sci-libs/cxsparse/metadata.xml
@@ -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
index 37284ce3b3e7..ac1dc508ab82 100644
--- a/sci-libs/datasets/Manifest
+++ b/sci-libs/datasets/Manifest
@@ -1 +1,4 @@
DIST datasets-2.11.0.gh.tar.gz 2141289 BLAKE2B 0fb471dd6ee5de3831eb6586c4a15e67381262470b72d5ab02ee87dfc7977cb4d40e04da6507049d1e47cb8948cad11988bb7627293b48231e1cd413d2cfb885 SHA512 9ec2274d7978e3dde1b2f8ce78dd65bdf66742bbfee7b8672af46216aeaae3ef5c4604a8a5ea0bdee808f1c362cca9a122c16d2e9a161678148e581e4cd5c863
+DIST datasets-2.12.0.gh.tar.gz 2149274 BLAKE2B 8f188901dfe293ac2b673f37e0d135e01a8f131adf9030ef1815ce2faa7ba0b36faf64a002cae1ced2d3ed5b7f50f43ba5cda90ab9254fd5f66bbfaed6085f3f SHA512 7389a1c6ee8ff4cda39a2c3f52218aa6f4b1cd6b45f48f83bfa2191359a8999d54153120d968b3cf7e5e932f88822783578e3d859dcb20f38fb0d915d88220c9
+DIST datasets-2.13.1.gh.tar.gz 2166516 BLAKE2B 2269434b94145837e491ec6784218f6972df94a558b9067020076fb44dd937a103e3c57dd3761bb0a4cb3c3b6248299ec2a6c3f03c5bd016daaa8957591bf7b6 SHA512 3d2d1aad86b6a472cd6d0e6c661d4730cc0ed1a0fff55c739fc6a0ba68a8f53ae8789029553abd713d0b30648dd020f1880b2d8110c72b5c89a320c2b24f7752
+DIST datasets-2.14.4.gh.tar.gz 2142214 BLAKE2B d4c98a9f29ca748c3c20f32b9a89f053cf6327f56353341ba0073d3b5561ed9aea372d2fa74cadfa8b0f2ba0f6c2e9b3181cca9724719cfe3969f36bbb893f11 SHA512 c3a0701dd83474f4a0d839fe4ef56cfccc9f1d45b6506d44d0f9100bc9dbc90014d16c8e0090dc13f3b2d963bd96af45281bde6e3d7af230467ec7dd26204aa3
diff --git a/sci-libs/datasets/datasets-2.12.0.ebuild b/sci-libs/datasets/datasets-2.12.0.ebuild
new file mode 100644
index 000000000000..66b609fd2b57
--- /dev/null
+++ b/sci-libs/datasets/datasets-2.12.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 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} )
+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}]
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/multiprocess[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ sci-libs/huggingface_hub[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}]
+ sci-libs/jiwer[${PYTHON_USEDEP}]
+ sci-libs/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+
+distutils_enable_tests pytest
diff --git a/sci-libs/datasets/datasets-2.13.1.ebuild b/sci-libs/datasets/datasets-2.13.1.ebuild
new file mode 100644
index 000000000000..60a16a43e361
--- /dev/null
+++ b/sci-libs/datasets/datasets-2.13.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 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} )
+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}]
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/multiprocess[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ sci-libs/huggingface_hub[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}]
+ sci-libs/jiwer[${PYTHON_USEDEP}]
+ sci-libs/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.12.0-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
+}
diff --git a/sci-libs/datasets/datasets-2.14.4.ebuild b/sci-libs/datasets/datasets-2.14.4.ebuild
new file mode 100644
index 000000000000..08ed796e9c2d
--- /dev/null
+++ b/sci-libs/datasets/datasets-2.14.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 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} )
+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}]
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/multiprocess[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ sci-libs/huggingface_hub[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}]
+ sci-libs/jiwer[${PYTHON_USEDEP}]
+ sci-libs/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=( "${FILESDIR}"/${P}-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
+}
diff --git a/sci-libs/datasets/files/datasets-2.12.0-tests.patch b/sci-libs/datasets/files/datasets-2.12.0-tests.patch
new file mode 100644
index 000000000000..6be3156bb70d
--- /dev/null
+++ b/sci-libs/datasets/files/datasets-2.12.0-tests.patch
@@ -0,0 +1,242 @@
+--- 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_hf_gcp.py 2023-05-04 19:33:31.150825303 +0200
++++ b/tests/test_hf_gcp.py 2023-05-04 19:40:08.401759538 +0200
+@@ -75,6 +75,7 @@
+ self.assertTrue(os.path.exists(datset_info_path))
+
+
++@pytest.mark.skip(reason="require apache_beam")
+ @pytest.mark.integration
+ def test_as_dataset_from_hf_gcs(tmp_path_factory):
+ tmp_dir = tmp_path_factory.mktemp("test_hf_gcp") / "test_wikipedia_simple"
+--- 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
+@@ -55,8 +55,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_locally
+@@ -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_arrow_dataset.py 2023-05-06 15:36:11.080459079 +0200
++++ b/tests/test_arrow_dataset.py 2023-05-06 15:38:07.452828528 +0200
+@@ -3983,6 +3983,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_streaming_download_manager.py 2023-05-15 23:06:59.146379973 +0200
++++ b/tests/test_streaming_download_manager.py 2023-05-15 23:11:32.441363757 +0200
+@@ -217,6 +217,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",
+ [
+@@ -299,6 +300,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",
+ [
+@@ -328,6 +330,7 @@
+ xlistdir(root_url, use_auth_token=hf_token)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, isdir",
+ [
+@@ -355,6 +358,7 @@
+ xisdir(root_url, use_auth_token=hf_token)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, isfile",
+ [
+@@ -378,6 +382,7 @@
+ assert xisfile(root_url + "qwertyuiop", use_auth_token=hf_token) is False
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, size",
+ [
+@@ -402,6 +407,7 @@
+ xgetsize(root_url + "qwertyuiop", use_auth_token=hf_token)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, expected_paths",
+ [
+@@ -444,6 +450,7 @@
+ assert len(xglob("zip://qwertyuiop/*::" + root_url, use_auth_token=hf_token)) == 0
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, expected_outputs",
+ [
+@@ -533,6 +540,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",
+ [
+@@ -548,6 +556,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",
+ [
+@@ -586,6 +595,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",
+ [
diff --git a/sci-libs/datasets/files/datasets-2.14.4-tests.patch b/sci-libs/datasets/files/datasets-2.14.4-tests.patch
new file mode 100644
index 000000000000..5dd322309b20
--- /dev/null
+++ b/sci-libs/datasets/files/datasets-2.14.4-tests.patch
@@ -0,0 +1,242 @@
+--- 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_hf_gcp.py 2023-05-04 19:33:31.150825303 +0200
++++ b/tests/test_hf_gcp.py 2023-05-04 19:40:08.401759538 +0200
+@@ -75,6 +75,7 @@
+ self.assertTrue(os.path.exists(datset_info_path))
+
+
++@pytest.mark.skip(reason="require apache_beam")
+ @pytest.mark.integration
+ def test_as_dataset_from_hf_gcs(tmp_path_factory):
+ tmp_dir = tmp_path_factory.mktemp("test_hf_gcp") / "test_wikipedia_simple"
+--- 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_arrow_dataset.py 2023-05-06 15:36:11.080459079 +0200
++++ b/tests/test_arrow_dataset.py 2023-05-06 15:38:07.452828528 +0200
+@@ -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_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",
+ [
diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest
index 6062fdd497e2..d5a5844c5276 100644
--- a/sci-libs/dealii/Manifest
+++ b/sci-libs/dealii/Manifest
@@ -6,3 +6,7 @@ DIST dealii-9.4.1-offline_documentation.tar.gz 392007419 BLAKE2B 81404b02ba7dc97
DIST dealii-9.4.1-offline_documentation.tar.gz.asc 246 BLAKE2B 9ace22c9b174e642cd3fba94c165d816c62814f892f5f6f272efa0301613dc55251152825e726fc6cf7e89bbfb7fa3552ec58ad426a7d58a74ecb89b9072f742 SHA512 50b43dd34a0687395f516f4910581df71054fa8be3c98006566ea649d0af866d38c9793da548ba6bdb7a9fec452dfb6d928d336aace943522d7c3f854209b81b
DIST dealii-9.4.1.tar.gz 30298204 BLAKE2B 499f542c7a7f071d04048127199c7bebf5668b6e8d13fc2701dd18e28165442e58112ee9e4926e16a592bffdd5d7b7c240eea55808e5f9c021961f7e44b7da79 SHA512 39089aff462d3ff4244ce75f74a4cd908f8f72a81dcc3fb02ca91b3cad2442ceb78677e72cd928b36a04d352c4baa146a25fa5e14c886ca9e2bad0be0069f7b8
DIST dealii-9.4.1.tar.gz.asc 246 BLAKE2B dbb1dc7b3e8a97f29287f154d11cd3db2566fdc4c7667fa57e686e2feba33f2115546408365f0e8f490ba593cb582b12489de373da3e33e8702b6e16804c7ebf SHA512 eb987d34f19b59d523d79f3c2c99f5f3125b1d0c71af0eb32b77ad5959d6197b79f1971a8a79dbc52bab698335dcb6091aac88c51d845a1e07d3681c089754c7
+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.1.tar.gz 31522808 BLAKE2B 99db2beafb949364869fc7f06f78bf921b0d99c69de57da40115b0eb939e1c9a40dcbf40a186a988189ea92a6e1295da4969fd33a7e4738b27813ff1842cb99a SHA512 7ba4e4751417a7916cb059379b3b70afcaa5f62786e92ac7332b6f55cbcfcb25df15de2a6071cc33444c911f104e576f8792ea4ac4e6702186e5740c7c909d72
+DIST dealii-9.5.1.tar.gz.asc 246 BLAKE2B 4d6aac271d1f460c66a54eff2012ded302093ef68777ff91f40d9472694541fa5e168e34e13dfada4444d3a8353dbca44756884c3f944f6f29169fc649d0395c SHA512 1065d0ab07b2ebc52fc52faf896e6d757f89f523c7a16c650307fe115dde361e6e0ecb96c9e5ecfbe5ebe58728fdd76bf83cbb3cb82cdb76b182526fee42ecb3
diff --git a/sci-libs/dealii/dealii-9.4.0-r1.ebuild b/sci-libs/dealii/dealii-9.4.0-r1.ebuild
index 23dd968667ef..d4c12d38bb5b 100644
--- a/sci-libs/dealii/dealii-9.4.0-r1.ebuild
+++ b/sci-libs/dealii/dealii-9.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -84,7 +84,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
)
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dealii.asc"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc"
src_configure() {
# deal.II needs a custom build type:
diff --git a/sci-libs/dealii/dealii-9.4.1-r1.ebuild b/sci-libs/dealii/dealii-9.4.1-r1.ebuild
index 23dd968667ef..d4c12d38bb5b 100644
--- a/sci-libs/dealii/dealii-9.4.1-r1.ebuild
+++ b/sci-libs/dealii/dealii-9.4.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -84,7 +84,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
)
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dealii.asc"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc"
src_configure() {
# deal.II needs a custom build type:
diff --git a/sci-libs/dealii/dealii-9.5.1.ebuild b/sci-libs/dealii/dealii-9.5.1.ebuild
new file mode 100644
index 000000000000..f25e51e29fdd
--- /dev/null
+++ b/sci-libs/dealii/dealii-9.5.1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2023 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-doc/doxygen[dot] dev-lang/perl )"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-dealii )"
+
+PATCHES=(
+)
+
+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 3d175695c483..c6d3a65a9086 100644
--- a/sci-libs/dealii/dealii-9999.ebuild
+++ b/sci-libs/dealii/dealii-9999.ebuild
@@ -31,7 +31,7 @@ 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
+ +sparse sundials symengine trilinos
"
# TODO: add slepc use flag once slepc is packaged for gentoo-science
@@ -70,7 +70,12 @@ RDEPEND="dev-libs/boost:=
sparse? ( sci-libs/umfpack )
sundials? ( sci-libs/sundials:= )
symengine? ( >=sci-libs/symengine-0.4:= )
- trilinos? ( sci-libs/trilinos )"
+ trilinos? ( sci-libs/trilinos )
+ || (
+ dev-cpp/kokkos
+ sci-libs/trilinos
+ )
+ "
DEPEND="${RDEPEND}
virtual/pkgconfig
@@ -109,7 +114,6 @@ src_configure() {
-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)"
@@ -122,8 +126,6 @@ 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_TBB=ON
-DDEAL_II_WITH_TASKFLOW=OFF
-DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
@@ -147,11 +149,6 @@ src_configure() {
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
}
diff --git a/sci-libs/fplll/Manifest b/sci-libs/fplll/Manifest
index 6cb16cd50382..7e0d81296e8f 100644
--- a/sci-libs/fplll/Manifest
+++ b/sci-libs/fplll/Manifest
@@ -1 +1,2 @@
DIST fplll-5.4.4.tar.gz 2630101 BLAKE2B b990c9346acd2c506b4697f27ff21d8453bb97473b2e988beb2ab9da34b3edd8a64d7558bca5f66a888fb4397c1e5340cf50f543ec580f0ec6980bc8c73a9390 SHA512 32a6515a3ab2677739a60a4ef0938e4284b5d3119a396104a7af22a6291ef669b42a4fb6e59f5c6daf97ff2402e7d035ea84fd1c76bfe7c0e17402bd03ae7166
+DIST fplll-5.4.5.tar.gz 2630275 BLAKE2B 43d1601f401c3a4eba60939028b26f99d32f92b9d53b763768427d05b2d709645532c4fbb14556c8d8d92cc14efe86468469ed69a77bdb03af75ec08499cc17e SHA512 3e1281f1b993ebe4a767b7fc526f49a27d58f24b1b4c6074310cc971f6f569388d6ba27102087a2eb11671d2d5b87bd60306e2597567f4ae8dd2a9efd13beb77
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..d8ad2144d60b
--- /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/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 cb0d9e5d4d9a..000000000000
--- a/sci-libs/galib/galib-2.4.7-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# 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/gdal/Manifest b/sci-libs/gdal/Manifest
index c54d79b8f678..1312fc2cb753 100644
--- a/sci-libs/gdal/Manifest
+++ b/sci-libs/gdal/Manifest
@@ -1,4 +1,12 @@
DIST gdal-3.6.4.tar.xz 8648032 BLAKE2B d6abdbcc87029bf230dae5586f06cbd329e5e43be37d8f5e9a72c67c93a6769458cc9c693b498e3f697b1ee1b68c9f9dbf7545ff9819fceb8fdde81b8d4ac882 SHA512 a8f69158d44ea456c44cfcb8937892697a28d2e4a43333c28db8fb9e81c51436a6edcb7a392b8c7ef63cd7453be6350a938bc4ba910720d9d5d9a1f32c57c558
DIST gdal-3.7.0.tar.xz 8604724 BLAKE2B 400cc17fc636c637f7c40e93aed8e2db7bfbbe73741da4135cfeec8dbcda24ce0c8035214edf038afc29a916012da86a78d789729540f870231dfa6aa27e424a SHA512 4a3262d75ffbb58ec0821cd266843e28ca64c34383fb2bfaf30c984bf01c6d012381892a31a2ebc7c27a58b058fb44389cd45b05b619579b6178feb192f37bc6
+DIST gdal-3.7.1.tar.xz 8614512 BLAKE2B c137ca19809170948b5b7bf852193d922d167fed554eef0cf43f326098b7b7faa40427fddbe14b051af31bbc53a91555ce562f88d04f37f81e0753265383c42a SHA512 c72483a28af8f5512757a9f319c70a12e5d5cd5e30cb2ace160e7cbad6099544526a7136875582b6e76ce10968ef1bd67a78e4df65d64bc4e8feeb7684146ca6
+DIST gdal-3.7.2.tar.xz 8619608 BLAKE2B 29a96e34f4ffe661fc2af786b9a229be779ed5e91e4c580834f6624f4173ede8adf22c27b2830c446736c0ff37501441ab2afea9f780dad4588636b03deb1f71 SHA512 6f2bd93520bd45e64b7613c8bcb0e0848d7ce10bcf716ff6ba5ef9ec9cad5798d65c79461fe0b83e99103ac12893893fea44b9b4c23f1e2f05b914f3e7f982f1
+DIST gdal-3.7.3.tar.xz 8625812 BLAKE2B 743ce2d8027fb228630a2951af2de8ac7fb5fa0b32124d58fb545ac61fdf5240f17ae85cfdcab51ea5e1b4e2311b55af4c7bbdfe82c6ed5ea180a5c8b254ccfd SHA512 84b2cb2cb7b9b78dbdd151a9029102e224db4a0901069f41c1672cb02ca049efb4cc84ef7f65acb8e53dcfe1e02f52822efdaff2875654408fc133c68ec01238
+DIST gdal-3.8.0.tar.xz 8853728 BLAKE2B 646aa91283e7228a054221d120bddb456c8b898f9155edd289f2b2e0bf8706fa3045a98d26e4cf5ba5dba6d8c1c7f0a7f4aaaded9457481a65910c2d313c8f9d SHA512 42b3a381190922e546ae83355f56532b92d519b1eac357a9c116ee19b67b67362f282e248e2d82c14ae04cae04dce175bb652f481879442ffa5b58f764a088dd
DIST gdalautotest-3.6.4.tar.gz 12614090 BLAKE2B d2c33b56790c1cb030a102ff48bec33c3d187c5be6e13d56da8d6cb8e9393734c2144274cbe08cf82b2a023ffb75df9fd01bcfd9f3d73076c95c4b213823f64e SHA512 2a7704e57f8bc0687c759d047b5a8fb290b2959eb058e02b08edf12e9cca17d6a9121213ef48e8b616c94c8cbe321531612700c6db52cb47fbcc5893c1c1c1c1
DIST gdalautotest-3.7.0.tar.gz 13785892 BLAKE2B cac18436ad2acb558e27e8ba3f1f2c22aa6c7ba258abe25118acf65fb2cb8a3d5f132ccb8315912a54d07f035b5ff331cf6a66bdf51a54c8275c5203e844eb82 SHA512 81e80c799a8a910a861182480e8306c8583cdffe7cb62f47fbaddf031e1c4d1d3fb341edf0daddbb8c934e5f2d547b380feb2f5a9f22cd50db14e43c2b02737b
+DIST gdalautotest-3.7.1.tar.gz 13830135 BLAKE2B 277574c603fe92758246577df3717363a45c7321378ea15766f4198100f3277e12028ee3b480bc1a7d803519664974c6a745f2968de50278c6e8e6d389a95b46 SHA512 d69de5daa9e1f49089b5465f93b09a2717065d119127150e65dbbfb23dc664c34b7e21e59edb17ce827b62d43d72f1d672ac70dca592ade90fe07359644e2c66
+DIST gdalautotest-3.7.2.tar.gz 13835621 BLAKE2B 38cf190bf5f81836da0b56c89cf3a4fa5461215d82df48a598420bc1bdde81cdcb2e56f9b987ec60c35646470297ade41b6ca5fd3dc7df131cdfeb3de33a7b87 SHA512 9c3ace4811805b6393fe4f06d95e155427da8bb18aa8ceec0f28966c92bdf6edd57c565889c4d8deb58f46a3cb88e39fc31aa33fe27804f228e91781bd9e91b3
+DIST gdalautotest-3.7.3.tar.gz 13833069 BLAKE2B a4d7784b39480816ce530abf9f726312fa4553d6afefabb014a1deb8cba9367fc0aede03d181991e155ab3dee52ba17b9d92c8d04fb312b994a99044dda7fb89 SHA512 e19d5afa9e7280a6ac837b01c23cddc7ff3ca6578ab347b915ec84bdde091f1b54095a2eed0042538eb4eae38613816d79531aa541f6cc6f1cbeee41b2fa11fd
+DIST gdalautotest-3.8.0.tar.gz 15615239 BLAKE2B fa524bb796a6f5b28bea79b51c4ce34e231b1d10a108a4590e30a48dc946df45880828a5a1ee0db07ed191e0f7dd5631fb294f3a73d1ce24244b6132f5cc3de1 SHA512 e72705571a337412d379cdf36debbe01aca61e789527c5e1f1c47904ba817c390a04032913fde75f899b96ec4f0b3a849ec3ead2539c31b59ca5006cd5e4e431
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.7.0.ebuild b/sci-libs/gdal/gdal-3.7.0.ebuild
index 7c62bbd95436..ad7b0c96ad80 100644
--- a/sci-libs/gdal/gdal-3.7.0.ebuild
+++ b/sci-libs/gdal/gdal-3.7.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.ta
LICENSE="BSD Info-ZIP MIT"
SLOT="0/33" # subslot is libgdal.so.<SONAME>
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+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 )"
@@ -60,7 +60,7 @@ DEPEND="
heif? ( media-libs/libheif:= )
hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] )
java? (
- >=virtual/jdk-1.8:*
+ >=virtual/jdk-1.8:*[-headless-awt]
)
jpeg? ( media-libs/libjpeg-turbo:= )
jpeg2k? ( media-libs/openjpeg:2= )
diff --git a/sci-libs/gdal/gdal-3.7.1.ebuild b/sci-libs/gdal/gdal-3.7.1.ebuild
new file mode 100644
index 000000000000..b652d383e470
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.7.1.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2023 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/33" # 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-doc/doxygen )
+ java? (
+ dev-java/ant-core
+ 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.6.4-abseil-cpp-20230125.2-c++17.patch
+ "${FILESDIR}"/${PN}-3.7.0-zlib-OF.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/share/java/libgdalalljni.so"
+ rm "${D}/usr/share/java/libgdalalljni.so" || 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.7.2.ebuild b/sci-libs/gdal/gdal-3.7.2.ebuild
new file mode 100644
index 000000000000..b652d383e470
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.7.2.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2023 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/33" # 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-doc/doxygen )
+ java? (
+ dev-java/ant-core
+ 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.6.4-abseil-cpp-20230125.2-c++17.patch
+ "${FILESDIR}"/${PN}-3.7.0-zlib-OF.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/share/java/libgdalalljni.so"
+ rm "${D}/usr/share/java/libgdalalljni.so" || 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.7.3.ebuild b/sci-libs/gdal/gdal-3.7.3.ebuild
new file mode 100644
index 000000000000..32e2e64c5f8e
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.7.3.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2023 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/33" # 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-doc/doxygen )
+ java? (
+ dev-java/ant-core
+ 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.6.4-abseil-cpp-20230125.2-c++17.patch
+ "${FILESDIR}"/${PN}-3.7.0-zlib-OF.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/share/java/libgdalalljni.so"
+ rm "${D}/usr/share/java/libgdalalljni.so" || 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.0.ebuild b/sci-libs/gdal/gdal-3.8.0.ebuild
new file mode 100644
index 000000000000..97cfa8eb4057
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.8.0.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2023 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-doc/doxygen )
+ java? (
+ dev-java/ant-core
+ 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.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/geos/Manifest b/sci-libs/geos/Manifest
index 42022eecc40f..9fca3d6d3ed3 100644
--- a/sci-libs/geos/Manifest
+++ b/sci-libs/geos/Manifest
@@ -1,3 +1,5 @@
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/geos-3.11.2.ebuild b/sci-libs/geos/geos-3.11.2.ebuild
index 88b55f52a870..5001322d2107 100644
--- a/sci-libs/geos/geos-3.11.2.ebuild
+++ b/sci-libs/geos/geos-3.11.2.ebuild
@@ -11,7 +11,7 @@ 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"
+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 )"
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..a95d93f605b6
--- /dev/null
+++ b/sci-libs/geos/geos-3.12.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 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-doc/doxygen )"
+
+src_configure() {
+ 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..a95d93f605b6
--- /dev/null
+++ b/sci-libs/geos/geos-3.12.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 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-doc/doxygen )"
+
+src_configure() {
+ 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/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/getdata-0.11.0-r1.ebuild b/sci-libs/getdata/getdata-0.11.0-r1.ebuild
new file mode 100644
index 000000000000..698d2697d850
--- /dev/null
+++ b/sci-libs/getdata/getdata-0.11.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 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="
+ 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
+)
+
+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/ginkgo/Manifest b/sci-libs/ginkgo/Manifest
index 4a45be486a9b..85fa14f2e7ef 100644
--- a/sci-libs/ginkgo/Manifest
+++ b/sci-libs/ginkgo/Manifest
@@ -1 +1,2 @@
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.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.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/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/givaro-4.1.1-r3.ebuild b/sci-libs/givaro/givaro-4.1.1-r3.ebuild
index 86922d8736ca..e072eb6ffbe7 100644
--- a/sci-libs/givaro/givaro-4.1.1-r3.ebuild
+++ b/sci-libs/givaro/givaro-4.1.1-r3.ebuild
@@ -30,6 +30,7 @@ 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"
)
diff --git a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
index 46bfa3f6a57e..f310b03c4511 100644
--- a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
+++ b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/GKlib-${COMMIT}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
PATCHES=(
"${FILESDIR}/${P}-multilib.patch"
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.01.17-r1.ebuild b/sci-libs/gloo/gloo-2023.01.17-r2.ebuild
index a2c76198f848..8518665b3cd4 100644
--- a/sci-libs/gloo/gloo-2023.01.17-r1.ebuild
+++ b/sci-libs/gloo/gloo-2023.01.17-r2.ebuild
@@ -37,6 +37,7 @@ S="${WORKDIR}"/${PN}-${CommitId}
PATCHES=(
"${FILESDIR}"/${PN}-2022.05.18-gentoo.patch
"${FILESDIR}"/${P}-cuda.patch
+ "${FILESDIR}"/${P}-ssl3.patch
)
src_prepare() {
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index a387e4f253e8..f146f8d34066 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -1,3 +1,4 @@
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
diff --git a/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch b/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch
deleted file mode 100644
index 4530f1fa6d2e..000000000000
--- a/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://bugs.gentoo.org/904515
-https://github.com/HDFGroup/hdf5/issues/2422
-https://github.com/HDFGroup/hdf5/issues/2621
-https://github.com/HDFGroup/hdf5/pull/2667
-https://github.com/HDFGroup/hdf5/commit/b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0
-
-From b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0 Mon Sep 17 00:00:00 2001
-From: jhendersonHDF <jhenderson@hdfgroup.org>
-Date: Tue, 11 Apr 2023 14:31:25 -0500
-Subject: [PATCH] Fix improper include of build directory (#2422, #2621)
- (#2667)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -3012,8 +3012,7 @@ SUBFILING_VFD=no
- HAVE_MERCURY="no"
-
- ## Always include subfiling directory so public header files are available
--CPPFLAGS="$CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling"
--AM_CPPFLAGS="$AM_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling"
-+H5_CPPFLAGS="$H5_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling"
-
- AC_MSG_CHECKING([if the subfiling I/O virtual file driver (VFD) is enabled])
-
-@@ -3061,8 +3060,7 @@ if test "X$SUBFILING_VFD" = "Xyes"; then
- mercury_dir="$ac_abs_confdir/src/H5FDsubfiling/mercury"
- mercury_inc="$mercury_dir/src/util"
-
-- CPPFLAGS="$CPPFLAGS -I$mercury_inc"
-- AM_CPPFLAGS="$AM_CPPFLAGS -I$mercury_inc"
-+ H5_CPPFLAGS="$H5_CPPFLAGS -I$mercury_inc"
-
- HAVE_STDATOMIC_H="yes"
- AC_CHECK_HEADERS([stdatomic.h],,[HAVE_STDATOMIC_H="no"])
diff --git a/sci-libs/hdf5/hdf5-1.14.1.ebuild b/sci-libs/hdf5/hdf5-1.14.1.ebuild
index dc0f170ecccb..07005227c9e1 100644
--- a/sci-libs/hdf5/hdf5-1.14.1.ebuild
+++ b/sci-libs/hdf5/hdf5-1.14.1.ebuild
@@ -19,7 +19,7 @@ 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"
+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="
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..3edb5153287a
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.2.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/hipBLAS/Manifest b/sci-libs/hipBLAS/Manifest
index 99698f6b1488..21eceaa7bab4 100644
--- a/sci-libs/hipBLAS/Manifest
+++ b/sci-libs/hipBLAS/Manifest
@@ -1 +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.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
index e74d41fd607c..65b9259ded18 100644
--- a/sci-libs/hipBLAS/metadata.xml
+++ b/sci-libs/hipBLAS/metadata.xml
@@ -12,4 +12,7 @@
<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
index bca0363ed4ca..7d95be621dad 100644
--- a/sci-libs/hipCUB/Manifest
+++ b/sci-libs/hipCUB/Manifest
@@ -1 +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/hipCUB-5.7.1.ebuild b/sci-libs/hipCUB/hipCUB-5.7.1.ebuild
new file mode 100644
index 000000000000..0674d33b6ed5
--- /dev/null
+++ b/sci-libs/hipCUB/hipCUB-5.7.1.ebuild
@@ -0,0 +1,71 @@
+# 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="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 "/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)
+ -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/hipFFT/Manifest b/sci-libs/hipFFT/Manifest
index 7ef5713343b5..df28313d1787 100644
--- a/sci-libs/hipFFT/Manifest
+++ b/sci-libs/hipFFT/Manifest
@@ -1 +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-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.ebuild b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild
index 216d15841546..79eb8052324f 100644
--- a/sci-libs/hipFFT/hipFFT-5.1.3.ebuild
+++ b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ SLOT="0/$(ver_cut 1-2)"
RESTRICT="test"
-RDEPEND="dev-util/hip:${SLOT}
+RDEPEND="dev-util/hip
sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]"
DEPEND="${RDEPEND}"
BDEPEND=""
@@ -26,25 +26,19 @@ 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_prepare() {
- sed -e "/CMAKE_INSTALL_LIBDIR/d" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
src_configure() {
local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DCMAKE_INSTALL_INCLUDEDIR="include/hipfft"
- -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake"
- -DHIP_ROOT_DIR="${EPREFIX}/usr"
+ -DROCM_SYMLINK_LIBS=OFF
-DBUILD_CLIENTS_TESTS=OFF
-DBUILD_CLIENTS_RIDER=OFF
)
- cmake_src_configure
+ 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..ab9604482ed9
--- /dev/null
+++ b/sci-libs/hipFFT/hipFFT-5.7.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
+
+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.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=(
+ -DCMAKE_MODULE_PATH="${EPREFIX}"/usr/$(get_libdir)/cmake/hip
+ -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/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/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest
index 6f6118e92831..1876cfe32d71 100644
--- a/sci-libs/hipSPARSE/Manifest
+++ b/sci-libs/hipSPARSE/Manifest
@@ -1,4 +1,5 @@
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
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..e43590b2338c
--- /dev/null
+++ b/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 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-util/rocm-cmake
+ >=dev-util/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/huggingface_hub/Manifest b/sci-libs/huggingface_hub/Manifest
index 1caa5dc407e5..f19f1cb56a32 100644
--- a/sci-libs/huggingface_hub/Manifest
+++ b/sci-libs/huggingface_hub/Manifest
@@ -1,2 +1,4 @@
DIST huggingface_hub-0.13.4.gh.tar.gz 325227 BLAKE2B 56ad70072ddd7f9878de4db45fffeb200032d71ba36fa2dc0e81d50a079a5ffa9ad80b3a71773a5fe466ac4522db7061fc7974149092d212278b8159d30e212b SHA512 6c07c1dc1a0c327ca463b7f366c265dfc7e55ed69592df5ad10f6d77956ac1dfe3e1f827a2df200f943da2f34a96ba4de1c395944b542e3d7142d925f60ad274
DIST huggingface_hub-0.14.1.gh.tar.gz 359222 BLAKE2B 379cc49230f2e8f5f57d0dac5cfab60f9d0a7d04bab36af8ba0a77846fdf6eea412f9d473bd2f554a912a862747156fe29d36913691b6df8c3cf769389d86b3f SHA512 8d1e9c3e77a8ddb4a6b1827751fad95baad7504a1ad2cdf443f1cf64cff10e1cea9148f2076e0fd462c7f1ce860230e919059e61807260368727a6bd5e9efeb3
+DIST huggingface_hub-0.15.1.gh.tar.gz 1222091 BLAKE2B f9b452f7ffe54d6edfe87e288cd52ee2ec35450ffe052d59442859918b4e1baf93d2d807dc54799ea3346bf00f52ad75bbb9dab69f36771ba8bf8702d54bbe7e SHA512 70d3a47383aa6a0c3cc1b13f1bf3e69326c3432eca8e68ea08f991aa2c5a212f1e4fe262840129bb64dc9ccb3f958371ea7a38ff5246f14585783bafa3d81585
+DIST huggingface_hub-0.16.4.gh.tar.gz 1481723 BLAKE2B 28e704be8087e1d20358eff07d70a93bd4e246b8bb40ad58dfb240029b0945ada672414cabb5be6a8ed145ed437a0c86a6f4bd0a7b562c9b8ca85ee97a99307b SHA512 1412b5210b0b88c2ccac35ddd1ac970abfdd5449600163968a54a7b2f5575ecd1e357d1a98d961387a8edff38a205c9f38e9dca7c23a24e36b0fe47d1a9daa1c
diff --git a/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild
new file mode 100644
index 000000000000..7c519b339f79
--- /dev/null
+++ b/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 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="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.16.4.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild
new file mode 100644
index 000000000000..7c519b339f79
--- /dev/null
+++ b/sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 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="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/iml/iml-1.0.5.ebuild b/sci-libs/iml/iml-1.0.5.ebuild
index e87b1e50a002..41bcf98488dd 100644
--- a/sci-libs/iml/iml-1.0.5.ebuild
+++ b/sci-libs/iml/iml-1.0.5.ebuild
@@ -9,7 +9,8 @@ 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"
IUSE="static-libs"
diff --git a/sci-libs/indilib/Manifest b/sci-libs/indilib/Manifest
index 41262b171751..7d5bc805fc4e 100644
--- a/sci-libs/indilib/Manifest
+++ b/sci-libs/indilib/Manifest
@@ -1 +1,2 @@
-DIST indilib-1.9.8.tar.gz 2633085 BLAKE2B 045d38fc565546528fddfa83cfd78650d30e41769923d7ec8f462a617fdd298228913a075a9f0b511867aa9174143da010bbb4c015d8b5a1d51f2b80090e50d5 SHA512 b9551547de277fe311e4779e65915351850a25fb049ddcfad634ef385014b521416f2366cf50cda80cdfa4a754c18face21cfd59f7f45c4018ca733ddf981ab2
+DIST indilib-2.0.3.tar.gz 2713456 BLAKE2B b74f3319c744227b533616ec369cb6f379253928c1d73ef8336d122152fcb866403efe8c7aa6f65c99ba10149b0b2b43c4a86a87f82353ce045602b261b75618 SHA512 323e694f90d71cf26da8b05d60d136f2422dc12e31ec88012250faf795e67bb95da2fd729cacc5bfa7cb74cc8fe1e12a0512cb57e694c87f362a4828228db0b7
+DIST indilib-2.0.4.tar.gz 2778082 BLAKE2B 21573abeb054f6693d29e5e67908be8be06246c138dba7dd8815c80d338fe8dbc202b103454f8e9a0b97e0fa05d5464547f32a2aa6bc0fa6189ddabd1f67428c SHA512 cb8c05ed2d814350e8357dfb3fd42ce5f2db88a0d150b0feb63fcb85cadd70369bfce1600a60837e242e5815ad076923428c456f4b331ffe1a22a2c02e11ced4
diff --git a/sci-libs/indilib/indilib-1.9.8.ebuild b/sci-libs/indilib/indilib-2.0.3.ebuild
index d7ef0939608e..9f35ab2702f0 100644
--- a/sci-libs/indilib/indilib-1.9.8.ebuild
+++ b/sci-libs/indilib/indilib-2.0.3.ebuild
@@ -43,6 +43,9 @@ DEPEND="${RDEPEND}
src_configure() {
local mycmakeargs=(
-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)
@@ -55,18 +58,6 @@ src_configure() {
}
src_test() {
- local myctestargs=()
-
- if use ppc || use ppc64 || use sparc ; then
- # Broken on big endian for quite some time.
- # Reported upstream: file needs to be replaced w/ a normal library
- # for b64.
- # bug #763126
- myctestargs+=(
- -E "(test_base64)"
- )
- fi
-
# Unit tests
BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
diff --git a/sci-libs/indilib/indilib-2.0.4.ebuild b/sci-libs/indilib/indilib-2.0.4.ebuild
new file mode 100644
index 000000000000..d607b1a7eb57
--- /dev/null
+++ b/sci-libs/indilib/indilib-2.0.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+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-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() {
+ local mycmakeargs=(
+ -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/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/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 33b1892a51f1..16b070542e68 100644
--- a/sci-libs/klu/metadata.xml
+++ b/sci-libs/klu/metadata.xml
@@ -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/Manifest b/sci-libs/lapack/Manifest
index d2af6557b1ba..b3a926d208b1 100644
--- a/sci-libs/lapack/Manifest
+++ b/sci-libs/lapack/Manifest
@@ -1,2 +1,3 @@
DIST lapack-3.10.1.tar.gz 7632257 BLAKE2B f2653239029ed9c136173fc2e54773a785ad3e469d581ca2b7f6a72697e6bb9d22879edaf8327ada510df259c08fe984202d14cb3860c0d2a711eb55a1cc11dd SHA512 0500bbbb48483208c0a35b74972ff0059c389da6032824a2079637266a99fa980882eedf7f1fc490219ee4ff27812ac8c6afe118e25f40a9c2387e7b997762fb
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/lapack-3.10.1.ebuild b/sci-libs/lapack/lapack-3.10.1.ebuild
index 218c49029127..16b9d22e73df 100644
--- a/sci-libs/lapack/lapack-3.10.1.ebuild
+++ b/sci-libs/lapack/lapack-3.10.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake fortran-2
DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations"
HOMEPAGE="https://www.netlib.org/lapack/"
diff --git a/sci-libs/lapack/lapack-3.11.ebuild b/sci-libs/lapack/lapack-3.11.ebuild
index 07e3eb649f42..7e2764d7f209 100644
--- a/sci-libs/lapack/lapack-3.11.ebuild
+++ b/sci-libs/lapack/lapack-3.11.ebuild
@@ -4,8 +4,8 @@
EAPI=8
# Some additional tests are run if Python is found
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake python-any-r1
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake fortran-2 python-any-r1
DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations"
HOMEPAGE="https://www.netlib.org/lapack/"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+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 )"
@@ -34,6 +34,7 @@ BDEPEND="
"
pkg_setup() {
+ fortran-2_pkg_setup
use test && python-any-r1_pkg_setup
}
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..28f108f8c14c
--- /dev/null
+++ b/sci-libs/lapack/lapack-3.12.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2023 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 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() {
+ 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/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-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 e6396c0864b0..c450822b982c 100644
--- a/sci-libs/ldl/metadata.xml
+++ b/sci-libs/ldl/metadata.xml
@@ -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-r1.ebuild b/sci-libs/lemon/lemon-1.3.1-r2.ebuild
index 902d5e27521e..e0891825d062 100644
--- a/sci-libs/lemon/lemon-1.3.1-r1.ebuild
+++ b/sci-libs/lemon/lemon-1.3.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,7 +28,7 @@ DEPEND="${RDEPEND}"
BDEPEND="doc? (
app-doc/doxygen
app-text/ghostscript-gpl
- dev-libs/mathjax
+ <dev-libs/mathjax-3
)"
PATCHES=(
diff --git a/sci-libs/libcifpp/Manifest b/sci-libs/libcifpp/Manifest
index 94e30350ad3d..4fcf5d210edf 100644
--- a/sci-libs/libcifpp/Manifest
+++ b/sci-libs/libcifpp/Manifest
@@ -1,4 +1,6 @@
-DIST libcifpp-5.0.8-components.cif.gz 89984770 BLAKE2B d42147d4da56589ac30de9fc3cdacd43e036f548eebf80a19d878c4bf0be535578eec6b78625e1ba60db53090ce5e4b9a3e59b06705f208b660fb2e37e79d1c2 SHA512 5f9705714816656aa910b571d77966926d66b2724136119857138975f8be5bb2e889e0c9b28ef1340a72857afb5831dba529b96e8dfc796f739e24b0dcab0424
-DIST libcifpp-5.0.8.tar.gz 1873629 BLAKE2B 07257a898b1253995880fea9b416b3a7681122b544f8397d353fda4069c33f4a6c2d5cf2210983acf68dc56cb27a20d780461c7c2485a445855e7b45cccd326d SHA512 4ea67fa4a93218fe96289de95591faa9411508e41e308f4ff470033fb0deb4029a86eafb7ba9295807fe3b350e8cc9f2267f7735ee8b1dbb431ee0275db2b8cc
-DIST libcifpp-5.1.0.1-components.cif.xz 58001076 BLAKE2B 4d838e47c74540af54256f6124bd79c9c372c6768eeeabc620b54e1b2c49b2c2adc0b937f195f9544b9f2362fb60c209fb74f88c451ba6d50fe5da5f15ba768b SHA512 e7933a78a61e40c4b2e2aedfda0f36c79939fadc71c78cfde59fcec4de5c2b6c9cf1dbccc383a2f0bbf48744c776cdbb5e7c862e47a6fd2ec229c811caa9b5bc
-DIST libcifpp-5.1.0.1.tar.gz 2242975 BLAKE2B 7cada39ed6096ee12e662422d1676dadbf0ae71958c206ef4105daeeaaa9b14cbf17143c3baf4e2914e8289801667829af1361d643846827044d7c8e1eb15fa2 SHA512 9ca3d7db5889d1baf713475fbfeaf355f45ecb139c838da6348d4bb054c2241204499d3f46e4d45075f2d60f6c48e29866ccf2994c26098b303573d7ba39204d
+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/files/libcifpp-5.0.8-missing-include.patch b/sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch
deleted file mode 100644
index 26735e003f4d..000000000000
--- a/sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 0f03fc31e058da4b66f16a67e7674fba1b85ca80 Mon Sep 17 00:00:00 2001
-From: "Maarten L. Hekkelman" <maarten@hekkelman.com>
-Date: Wed, 19 Apr 2023 09:22:32 +0200
-Subject: [PATCH] added required include
-
----
- include/cif++/text.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/cif++/text.hpp b/include/cif++/text.hpp
-index 9da9ab9..00f33c1 100644
---- a/include/cif++/text.hpp
-+++ b/include/cif++/text.hpp
-@@ -30,6 +30,7 @@
-
- #include <charconv>
- #include <cmath>
-+#include <cstdint>
- #include <limits>
- #include <set>
- #include <sstream>
diff --git a/sci-libs/libcifpp/libcifpp-5.1.0.1.ebuild b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild
index 8d30793f975e..8d30793f975e 100644
--- a/sci-libs/libcifpp/libcifpp-5.1.0.1.ebuild
+++ b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild
diff --git a/sci-libs/libcifpp/libcifpp-5.0.8.ebuild b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild
index b468bb36559f..47d08fc49c68 100644
--- a/sci-libs/libcifpp/libcifpp-5.0.8.ebuild
+++ b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild
@@ -7,10 +7,10 @@ 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
+# 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.gz
+ https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz
"
LICENSE="BSD-2"
@@ -19,14 +19,12 @@ KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
-DEPEND="dev-libs/boost:="
+DEPEND="
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+"
RDEPEND="${DEPEND}"
-PATCHES=(
- # https://github.com/PDB-REDO/libcifpp/issues/40
- "${FILESDIR}/${P}-missing-include.patch"
-)
-
src_configure() {
cp "${WORKDIR}"/${P}-components.cif data/components.cif || die
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/libh2o/libh2o-0.2.1-r1.ebuild b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
index 9ef03933234f..ab2faf8e14d9 100644
--- a/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
+++ b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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"
diff --git a/sci-libs/libh2o/metadata.xml b/sci-libs/libh2o/metadata.xml
index 22d7b18c840a..abd4fda5e9a6 100644
--- a/sci-libs/libh2o/metadata.xml
+++ b/sci-libs/libh2o/metadata.xml
@@ -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 7691373a4d3a..6c2e7a0a6672 100644
--- a/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild
+++ b/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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"
diff --git a/sci-libs/libh2oxx/metadata.xml b/sci-libs/libh2oxx/metadata.xml
index 3eccf240bc49..4ee008f4b14f 100644
--- a/sci-libs/libh2oxx/metadata.xml
+++ b/sci-libs/libh2oxx/metadata.xml
@@ -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/libigl/libigl-2.4.0.ebuild b/sci-libs/libigl/libigl-2.4.0.ebuild
index 7b92517b049e..aeec8b4e51ff 100644
--- a/sci-libs/libigl/libigl-2.4.0.ebuild
+++ b/sci-libs/libigl/libigl-2.4.0.ebuild
@@ -11,7 +11,7 @@ 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 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="static-libs"
DEPEND="dev-cpp/eigen:3"
diff --git a/sci-libs/libqalculate/Manifest b/sci-libs/libqalculate/Manifest
index 4b55bd1dff5d..8649461a0356 100644
--- a/sci-libs/libqalculate/Manifest
+++ b/sci-libs/libqalculate/Manifest
@@ -1,2 +1,5 @@
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
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..0fbb2201b294
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.8.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 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/metadata.xml b/sci-libs/libqalculate/metadata.xml
index 39ddc8a41c49..1fc5756c8fef 100644
--- a/sci-libs/libqalculate/metadata.xml
+++ b/sci-libs/libqalculate/metadata.xml
@@ -11,7 +11,7 @@
</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 d14ff4ef580d..fdfb64071d01 100644
--- a/sci-libs/libsc/Manifest
+++ b/sci-libs/libsc/Manifest
@@ -1 +1,2 @@
-DIST libsc-2.8.3.tar.gz 360755 BLAKE2B 2d7e3a16b97de551678ebb33f362e1ef7ebb0bcbf8d00b1a5317bfbf6732cf7bb9be2d215c79395809f3c616c23da5236c4f0f436a7b8bb07171141aaf08bbb3 SHA512 9def8850898f2d7d7a6ffaffd0872bc18af28026407356a1fe10f2b4f6d4a32ae6febe59c91cfa8817969624f995d48f64e0d5424b475e3a4c501338f4de70de
+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.3-fix_build_system.patch b/sci-libs/libsc/files/libsc-2.8.3-fix_build_system.patch
deleted file mode 100644
index b5bdc734ab55..000000000000
--- a/sci-libs/libsc/files/libsc-2.8.3-fix_build_system.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://github.com/cburstedde/libsc/pull/54
-https://github.com/cburstedde/libsc/pull/55
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2ce08e2..a588beb 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)
-+
- include(CTest)
-
- include(cmake/options.cmake)
-@@ -28,8 +30,7 @@ if(MPI_FOUND)
- endif()
-
- # --- libb64
--add_library(libb64 OBJECT libb64/cencode.c libb64/cdecode.c
-- libb64/b64dec.c libb64/b64enc.c)
-+add_library(libb64 OBJECT libb64/cencode.c libb64/cdecode.c)
- target_include_directories(libb64 PRIVATE libb64)
-
- # --- sc
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a588beb..aff0eca 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -64,8 +64,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_SOURCE_DIR}/src/sc_builti
-
- install(TARGETS sc
- EXPORT ${PROJECT_NAME}Targets
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${library_reldir}
-+ LIBRARY DESTINATION ${library_reldir})
-
- add_subdirectory(src)
-
diff --git a/sci-libs/libsc/files/libsc-2.8.3-set_version.patch b/sci-libs/libsc/files/libsc-2.8.3-set_version.patch
deleted file mode 100644
index dcd63994cc67..000000000000
--- a/sci-libs/libsc/files/libsc-2.8.3-set_version.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/cmake/git.cmake b/cmake/git.cmake
-index dd6009e..7c5c8f3 100644
---- a/cmake/git.cmake
-+++ b/cmake/git.cmake
-@@ -1,36 +1,3 @@
- # --- extract version from Git
-
--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(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999)
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(PROJECT_VERSION ${_major}.${_minor})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(PROJECT_VERSION ${_major})
-- endif()
--endif()
-+set(PROJECT_VERSION 2.8.3)
-
-
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/files/libsc-9999-set_version.patch b/sci-libs/libsc/files/libsc-9999-set_version.patch
deleted file mode 100644
index 0820b001d8cd..000000000000
--- a/sci-libs/libsc/files/libsc-9999-set_version.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/cmake/git.cmake b/cmake/git.cmake
-index dd6009e..7c5c8f3 100644
---- a/cmake/git.cmake
-+++ b/cmake/git.cmake
-@@ -1,36 +1,3 @@
- # --- extract version from Git
-
--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(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999)
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(PROJECT_VERSION ${_major}.${_minor})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(PROJECT_VERSION ${_major})
-- endif()
--endif()
-+set(PROJECT_VERSION 9999.0.0)
-
-
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.3.ebuild b/sci-libs/libsc/libsc-2.8.5-r3.ebuild
index 9ed5ecf5c58f..037755f94524 100644
--- a/sci-libs/libsc/libsc-2.8.3.ebuild
+++ b/sci-libs/libsc/libsc-2.8.5-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake toolchain-funcs
@@ -23,7 +23,7 @@ IUSE="debug examples mpi openmp threads"
RDEPEND="
sys-apps/util-linux
- sys-libs/zlib
+ sys-libs/zlib-ng
virtual/blas
virtual/lapack
mpi? ( virtual/mpi[romio] )"
@@ -33,6 +33,9 @@ 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() {
@@ -44,6 +47,10 @@ pkg_setup() {
}
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)"
@@ -60,6 +67,6 @@ src_install() {
"${ED}"/usr/include/getopt_int.h \
"${ED}"/usr/include/sc_builtin || die "rm failed"
- mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${P}/ || die "mv 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 8d6bdbb8314c..000000000000
--- a/sci-libs/libsc/libsc-9999.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.8.3-fix_build_system.patch
- "${FILESDIR}"/${P}-set_version.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- 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/${P}/ || die "mv failed"
- rm -r "${ED}"/usr/share/docs || die "rm failed"
-}
diff --git a/sci-libs/libsc/metadata.xml b/sci-libs/libsc/metadata.xml
index ff1113592d21..9267d0132a0b 100644
--- a/sci-libs/libsc/metadata.xml
+++ b/sci-libs/libsc/metadata.xml
@@ -13,6 +13,9 @@
The SC Library provides support for parallel scientific applications.
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>
+ </use>
<upstream>
<remote-id type="github">cburstedde/libsc</remote-id>
</upstream>
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.5.2-r4.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild
new file mode 100644
index 000000000000..8da4999fe538
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild
@@ -0,0 +1,156 @@
+# 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-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-doc/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/libspatialindex/libspatialindex-1.9.3-r2.ebuild b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild
index 7911fe92a05f..11ffc49a6b58 100644
--- a/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild
+++ b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/libspatialindex/${PN}/releases/download/${PV}/${MY_P
LICENSE="MIT"
SLOT="0/6"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sci-libs/linbox/linbox-1.6.3-r1.ebuild b/sci-libs/linbox/linbox-1.6.3-r2.ebuild
index cabe5a6d2cf9..17313f506441 100644
--- a/sci-libs/linbox/linbox-1.6.3-r1.ebuild
+++ b/sci-libs/linbox/linbox-1.6.3-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 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
@@ -29,7 +29,12 @@ DEPEND="dev-libs/gmp[cxx(+)]
sci-libs/iml
dev-libs/mpfr:=
sci-mathematics/flint"
-RDEPEND="${DEPEND}"
+
+# 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" )
@@ -41,6 +46,22 @@ 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,
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.5-r3.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild
new file mode 100644
index 000000000000..0736e0159f4d
--- /dev/null
+++ b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 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/m4ri/m4ri-20200125.ebuild b/sci-libs/m4ri/m4ri-20200125.ebuild
index 3b265a53a4ce..adf6e85765c9 100644
--- a/sci-libs/m4ri/m4ri-20200125.ebuild
+++ b/sci-libs/m4ri/m4ri-20200125.ebuild
@@ -6,7 +6,7 @@ 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+"
diff --git a/sci-libs/m4ri/metadata.xml b/sci-libs/m4ri/metadata.xml
index 189a75d32cd2..b31730792145 100644
--- a/sci-libs/m4ri/metadata.xml
+++ b/sci-libs/m4ri/metadata.xml
@@ -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/m4rie-20200115-r1.ebuild b/sci-libs/m4rie/m4rie-20200115-r1.ebuild
index f89f9de0c3d0..60d518b539d8 100644
--- a/sci-libs/m4rie/m4rie-20200115-r1.ebuild
+++ b/sci-libs/m4rie/m4rie-20200115-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
inherit autotools
DESCRIPTION="Fast dense matrix arithmetic over GF(2^e) for 2 <= e <= 16"
-HOMEPAGE="https://bitbucket.org/malb/m4rie/"
+HOMEPAGE="https://github.com/malb/m4rie"
SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz"
LICENSE="GPL-2+"
diff --git a/sci-libs/m4rie/metadata.xml b/sci-libs/m4rie/metadata.xml
index 0c2d7316d127..37eece3977cd 100644
--- a/sci-libs/m4rie/metadata.xml
+++ b/sci-libs/m4rie/metadata.xml
@@ -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/mathgl/Manifest b/sci-libs/mathgl/Manifest
index ed743f578265..9a1cf0f5c874 100644
--- a/sci-libs/mathgl/Manifest
+++ b/sci-libs/mathgl/Manifest
@@ -1,2 +1,3 @@
DIST STIX_font.tgz 2450541 BLAKE2B f725eb0264d9c3cb7c32a935e8857c4a21cb905a1dc6c9cc8a16408afdc7dd9b6fcd312a8c2f77aff5484605a39a9ee36e86ad0234adb5d6bcc5c8839101194c SHA512 c9124ec552074c98f15d6d3572a063598ca6bc598e3e78dcb5a5d57ae3928b5327a1374635f428ea1cefc9e51ee1d1aa9bd6ba9a306429fc6965140251d368b5
DIST mathgl-2.4.4.tar.gz 23917716 BLAKE2B 11d36195c65b11f0eedbc1c946f600fd33bdc6ab8d3ff95c65634300527b2e06ffbb6615e4425896b87435fdb45bfad806f00e79edd26af4ab67bf223695d5cf SHA512 6955cb3630b4c17ab7eeb7542569a7fba653f592640f30700988abe340ecb17f09f1cbcd3903232797e9debc9f74ba2ea1f76f51935749bc8dec5e05951bb573
+DIST mathgl-8.0.1.tar.gz 23979834 BLAKE2B 275301c945ea15a38d1c75fd509c126425080b811403d5a8c8e864c8a975b914b5f0909bdc2c0de2feb84638ef0655694cd4d0c2aec8fb537c937147d81608c9 SHA512 1ff3023f1bbd7bfd84202777a0166a8d4255a020a07f3650b9858929345bc8a2ceea4db155d2c93ba32b762d2304474276290a9edac99fda70fb4b5bc12982c2
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-8.0.1.ebuild b/sci-libs/mathgl/mathgl-8.0.1.ebuild
new file mode 100644
index 000000000000..bc9909e31c95
--- /dev/null
+++ b/sci-libs/mathgl/mathgl-8.0.1.ebuild
@@ -0,0 +1,145 @@
+# 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 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/metis/metis-5.2.1-r2.ebuild b/sci-libs/metis/metis-5.2.1-r2.ebuild
index 27c288c50a65..9c8ab6aafe58 100644
--- a/sci-libs/metis/metis-5.2.1-r2.ebuild
+++ b/sci-libs/metis/metis-5.2.1-r2.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/METIS-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
IUSE="double-precision examples int64 openmp"
PATCHES=(
diff --git a/sci-libs/mpfi/mpfi-1.5.4.ebuild b/sci-libs/mpfi/mpfi-1.5.4.ebuild
index 80f3bc6e283a..76afa306787b 100644
--- a/sci-libs/mpfi/mpfi-1.5.4.ebuild
+++ b/sci-libs/mpfi/mpfi-1.5.4.ebuild
@@ -9,7 +9,9 @@ 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"
-LICENSE="GPL-2"
+# 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"
diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest
index c6c25e69d50e..bae5000b682d 100644
--- a/sci-libs/netcdf/Manifest
+++ b/sci-libs/netcdf/Manifest
@@ -1,2 +1 @@
-DIST netcdf-4.8.1.tar.gz 18957280 BLAKE2B 05fc6cd10cb5cbb11dc077b9a884fbc63c4cb840b241e782702da58ad9831fba065a6f1e97c2be092437735d39658482285850a00618d0582d6e4728d64c4402 SHA512 c97207867abf10d414abf34624268710f5b812c26c38f97e73afe00558b3f07917331fbc7fdb9e70b09813acf15a9a09bae2c432a3266ce10a791b9472f87a42
DIST netcdf-c-4.9.2.tar.gz 7142536 BLAKE2B b24135070d2f1f0b53fe738f8839039547eceba16d36905bb8cd7be983ce0c1127b7b01ae37dbde50087aa82fd56f00fab9bfa75c7d94fd4478031bb8a6da247 SHA512 7a96bcf673d5a9e1537d660aaf085a1dfaefc7dfb0fc96358462d92e7bbfe541184583681797e6a54d11b8588504b7d8a9b0b9bd850eecd02ed73aa2eb5ffa0d
diff --git a/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch b/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch
deleted file mode 100644
index afeff7e3fbd0..000000000000
--- a/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Later version for 4.8.1 grabbed from Debian:
-https://sources.debian.org/patches/netcdf/1:4.8.1-1/byteswap.patch/
-
-Earlier version used:
-https://github.com/DennisHeimbigner/netcdf-c/commit/6f86660da86f279cad1f2804cf3242767de27630.patch
-https://github.com/Unidata/netcdf-c/issues/1687
-https://bugs.gentoo.org/772863
-
-Description: Add forward declarations for byteswap8 & byteswap4.
-Author: Dennis Heimbigner
-Bug: https://github.com/Unidata/netcdf-c/issues/1687
-
---- a/libdispatch/dfilter.c
-+++ b/libdispatch/dfilter.c
-@@ -20,6 +20,9 @@
- #include "hdf5internal.h"
- #endif
-
-+static void byteswap8(unsigned char*);
-+static void byteswap4(unsigned char*);
-+
- /*
- Unified filter related code
- */
diff --git a/sci-libs/netcdf/metadata.xml b/sci-libs/netcdf/metadata.xml
index acecc3ab2966..710afdc8ff08 100644
--- a/sci-libs/netcdf/metadata.xml
+++ b/sci-libs/netcdf/metadata.xml
@@ -16,7 +16,6 @@
<use>
<flag name="dap">Support for remote data access with the built-in OPeNDAP client</flag>
<flag name="hdf">Add support for the Hierarchical Data Format v.4 <pkg>sci-libs/hdf</pkg></flag>
- <flag name="tools">Build the utilities nccopy, ncgen and ncdump</flag>
</use>
<upstream>
<remote-id type="github">Unidata/netcdf-c</remote-id>
diff --git a/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild b/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild
deleted file mode 100644
index 003e1303571f..000000000000
--- a/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-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"
-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 tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/libxml2
- dap? ( net-misc/curl:0= )
- hdf? (
- sci-libs/hdf:0=
- sci-libs/hdf5:0=
- virtual/jpeg
- )
- hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )"
-
-REQUIRED_USE="
- test? ( tools )
- szip? ( hdf5 )
- mpi? ( hdf5 )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.8.1-big-endian-build.patch"
- "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch"
-)
-
-src_prepare() {
- # skip test that requires network
- sed -i -e '/run_get_hdf4_files/d' hdf4_test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- use mpi && export CC=mpicc
-
- # Temporary workaround for test breakage
- # https://github.com/Unidata/netcdf-c/issues/1983
- # bug #827042
- append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- -DENABLE_DAP_REMOTE_TESTS=OFF
- # Enable for >4.8.1 (not yet in a release)
- #-DENABLE_LIBXML2=ON
- -DBUILD_UTILITIES=$(usex tools)
- -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() {
- # fails parallel tests: bug #621486
- cmake_src_test -j1
-}
diff --git a/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild b/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild
deleted file mode 100644
index d4e17743df68..000000000000
--- a/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic
-
-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"
-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 tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/libxml2
- dap? ( net-misc/curl:0= )
- hdf? (
- media-libs/libjpeg-turbo:=
- sci-libs/hdf:0=
- sci-libs/hdf5:0=
- )
- hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )"
-
-REQUIRED_USE="
- test? ( tools )
- szip? ( hdf5 )
- mpi? ( hdf5 )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.8.1-big-endian-build.patch"
- "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch"
-)
-
-src_prepare() {
- # skip test that requires network
- sed -i -e '/run_get_hdf4_files/d' hdf4_test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- use mpi && export CC=mpicc
-
- # Temporary workaround for test breakage
- # https://github.com/Unidata/netcdf-c/issues/1983
- # bug #827042
- append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- -DENABLE_DAP_REMOTE_TESTS=OFF
- # Enable for >4.8.1 (not yet in a release)
- #-DENABLE_LIBXML2=ON
- -DBUILD_UTILITIES=$(usex tools)
- -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() {
- # fails parallel tests: bug #621486
- 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/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/onnx-1.13.1.ebuild b/sci-libs/onnx/onnx-1.13.1-r1.ebuild
index cee6ddd5c494..1de081f5931b 100644
--- a/sci-libs/onnx/onnx-1.13.1.ebuild
+++ b/sci-libs/onnx/onnx-1.13.1-r1.ebuild
@@ -22,6 +22,8 @@ BDEPEND="
${PYTHON_DEPS}
"
+PATCHES=( "${FILESDIR}"/${PN}-1.14.0-cxx_14.patch )
+
src_configure() {
local mycmakeargs=(
-DONNX_USE_PROTOBUF_SHARED_LIBS=ON
diff --git a/sci-libs/onnx/onnx-1.14.0-r2.ebuild b/sci-libs/onnx/onnx-1.14.0-r2.ebuild
new file mode 100644
index 000000000000..f3f43c3fddd3
--- /dev/null
+++ b/sci-libs/onnx/onnx-1.14.0-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-2023 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..11} )
+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-libs/protobuf:=
+"
+DEPEND="${RDEPEND}"
+
+BDEPEND="python? (
+ ${DISTUTILS_DEPS}
+)"
+
+PATCHES=( "${FILESDIR}"/${P}-cxx_14.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.14.0.ebuild b/sci-libs/onnx/onnx-1.14.0.ebuild
deleted file mode 100644
index 866f8a5e90fd..000000000000
--- a/sci-libs/onnx/onnx-1.14.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-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 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"
-
-DEPEND=""
-RDEPEND="${DEPEND}
- dev-libs/protobuf:="
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-src_configure() {
- local mycmakeargs=(
- -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
- )
- cmake_src_configure
-}
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
index 95fc46d6f9d5..7517619835d4 100644
--- a/sci-libs/openblas/Manifest
+++ b/sci-libs/openblas/Manifest
@@ -1,4 +1,3 @@
-DIST openblas-0.3.18.tar.gz 12619822 BLAKE2B 38a5e7b861eb0063a4494c1cfb6f7f5723741437ecdd5cb1fb42645eb73bceb472b3a8c11eec3d0ba4f676981ac89de4ff1ee0d7ea42d1e234746f34ce8fb6b8 SHA512 df9a14026a61bdc5285636bfd7a52dce244d24fcf4a0c870ef4e58b8b50e412849828ca5aeac2a2435f635e78e60559762e8bae22ea7bc5dff2e865a96d81152
-DIST openblas-0.3.19.tar.gz 12706050 BLAKE2B c29aa27faaf18e3330087f8d2ebed733f53878266d6865239dfbb1624a113f3cabc988bbfcc18a0aa5d971697bc68bb267795ef24e2d8e0e8d50f802cb817b57 SHA512 1fcbcfefb7744894b0b0c83c6071b342086ca311dc67f5c2745812d61dcc9d31ef7dd5e1215dfb2731ae7197d497dbdf8f8b26a432eb07d41a7db0983eb86a33
-DIST openblas-0.3.20.tar.gz 12742441 BLAKE2B 9ae808e2a7da39e28dbe26c7feb5da3c70275f3b48bd68455c22e3b16fc1f2d10b9d84c9593acff2c837fc1514f21f2bbc0e87708075c5fe13514d0d47cf0b5a SHA512 0742d40b74b11b781021280fd627fa5798e6856b49f2ba1111a5927aac1a7823bcb8162187555f4cf3a4dd7eadf5b1f2a4685c0b5e189847b2869166d1bc7391
+DIST OpenBLAS-0.3.25.tar.gz 24073168 BLAKE2B c2a173b50f6931e7782c7d429487abd4b1a4ed05aec4f08febbc5cc73b9ed5cb36c9e308bf7cb89ce116b1c25556615d2384087cf7d1b489a4784901951558bc SHA512 69bcf8082575b01ce1734fc9d33454314964a7e81ff29a7c1a764af3083ac0dc24289fd72bbe22c9583398bda7b658d6e4ab1d5036e43412745f0be3c2185b3c
DIST openblas-0.3.21.tar.gz 23729571 BLAKE2B 678bfb13ead69045e7d4d840bbcaed884d9ebedded5425cfa1f55e3d85bda31a3eb43dbbf9f07099d0d198f97ae68ef3b3b2b78aa1bd5b4999dd729dc08f7e28 SHA512 4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5
+DIST openblas-0.3.23.tar.gz 23950794 BLAKE2B 8394e09c682bba10450248cbbe090bb81c26661eac7d238942055ae0eecce752c8a3481af905de9efe20fe635f2c4a0e06af83bb64c998ab410e4cdc56751a47 SHA512 ea64c693e57eb63cc2a88e4d6ab2d8cf9ab84ae6a15048fb12090a3570dd41053e62e99c1ff9d3e02dd67ca93233591ab41b8c017d06585d0a69222e1ad3023f
diff --git a/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch b/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch
deleted file mode 100644
index 2745d26cb3a5..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-https://github.com/xianyi/OpenBLAS/pull/3626, rebased on top of v0.3.20.
-
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 15:26:33 +0800
-Subject: [PATCH 1/3] Move LoongArch make rules to Makefile.loongarch64
-
---- a/Makefile.loongarch64
-+++ b/Makefile.loongarch64
-@@ -1,3 +1,4 @@
--ifdef BINARY64
--else
-+ifeq ($(CORE), LOONGSON3R5)
-+CCOMMON_OPT += -march=loongarch64 -mabi=lp64
-+FCOMMON_OPT += -march=loongarch64 -mabi=lp64
- endif
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -886,13 +886,6 @@ ifeq ($(OSNAME), AIX)
- BINARY_DEFINED = 1
- endif
-
--ifeq ($(ARCH), loongarch64)
--ifeq ($(CORE), LOONGSON3R5)
--CCOMMON_OPT += -march=loongarch64 -mabi=lp64
--FCOMMON_OPT += -march=loongarch64 -mabi=lp64
--endif
--endif
--
- endif
-
- ifndef BINARY_DEFINED
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 15:53:22 +0800
-Subject: [PATCH 2/3] Probe for old-world LASX flavor on LoongArch and use
- generic DGEMM kernel otherwise
-
-See: https://bugs.gentoo.org/844013
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -1683,6 +1683,7 @@ export TARGET_CORE
- export NO_AVX512
- export NO_AVX2
- export BUILD_BFLOAT16
-+export NO_LASX
-
- export SBGEMM_UNROLL_M
- export SBGEMM_UNROLL_N
---- a/c_check
-+++ b/c_check
-@@ -270,6 +270,37 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) {
- }
- }
-
-+$no_lasx = 0;
-+if (($architecture eq "loongarch64")) {
-+ eval "use File::Temp qw(tempfile)";
-+ if ($@){
-+ warn "could not load PERL module File::Temp, so could not check compiler compatibility with the LoongArch LASX extension";
-+ # Assume no LASX, because currently LASX is only present in vendor
-+ # toolchains, undocumented nor upstreamed.
-+ $no_lasx = 1;
-+ } else {
-+ # Old-world assembly flavor: LASX registers named "$xrNN", different
-+ # from the ISA manual which suggests "$xNN". This is the flavor we
-+ # currently support.
-+ #
-+ # As the LASX ISA manual is not out yet, we cannot predict what the
-+ # new-world flavor would look like, so do not probe flavor for now.
-+ # The compiler flags are also unsuitable for new-world gcc.
-+ ($fh,$tmpf) = tempfile( SUFFIX => '.c' , UNLINK => 1 );
-+ $code = '"xvld $xr0, $a0, 0\n"';
-+ print $fh "int main(void){ __asm__ volatile($code); }\n";
-+ $args = " -march=loongarch64 -mabi=lp64 -mlasx -c -o $tmpf.o $tmpf";
-+ my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null");
-+ system(@cmd) == 0;
-+ if ($? != 0) {
-+ $no_lasx = 1;
-+ } else {
-+ $no_lasx = 0;
-+ }
-+ unlink("$tmpf.o");
-+ }
-+}
-+
- $c11_atomics = 0;
- if ($data =~ /HAVE_C11/) {
- eval "use File::Temp qw(tempfile)";
-@@ -393,6 +424,7 @@ print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1;
- print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1;
- print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1;
- print MAKEFILE "NO_AVX2=1\n" if $no_avx2 eq 1;
-+print MAKEFILE "NO_LASX=1\n" if $no_lasx eq 1;
- print MAKEFILE "OLDGCC=1\n" if $oldgcc eq 1;
-
- $os =~ tr/[a-z]/[A-Z]/;
---- a/kernel/loongarch64/KERNEL.LOONGSON3R5
-+++ b/kernel/loongarch64/KERNEL.LOONGSON3R5
-@@ -1,3 +1,7 @@
-+ifeq ($(NO_LASX), 1)
-+# No LASX support in compiler, unable to consume the optimized version
-+# leave out DGEMMKERNEL to pull in the generic version
-+else
- DGEMMKERNEL = dgemm_kernel_16x4.S
- DGEMMINCOPY = dgemm_ncopy_16.S
- DGEMMITCOPY = dgemm_tcopy_16.S
-@@ -7,6 +11,7 @@ DGEMMINCOPYOBJ = dgemm_incopy.o
- DGEMMITCOPYOBJ = dgemm_itcopy.o
- DGEMMONCOPYOBJ = dgemm_oncopy.o
- DGEMMOTCOPYOBJ = dgemm_otcopy.o
-+endif
-
- DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
- DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 16:23:46 +0800
-Subject: [PATCH 3/3] Fix ABI CFLAGS setting on new-world LoongArch
-
-See: https://bugs.gentoo.org/844013
---- a/Makefile.loongarch64
-+++ b/Makefile.loongarch64
-@@ -1,4 +1,13 @@
- ifeq ($(CORE), LOONGSON3R5)
--CCOMMON_OPT += -march=loongarch64 -mabi=lp64
--FCOMMON_OPT += -march=loongarch64 -mabi=lp64
-+CCOMMON_OPT += -march=loongarch64
-+FCOMMON_OPT += -march=loongarch64
-+
-+ifeq ($(LOONGARCH_CC_FLAVOR), NEW)
-+CCOMMON_OPT += -mabi=lp64d
-+FCOMMON_OPT += -mabi=lp64d
-+endif
-+ifeq ($(LOONGARCH_CC_FLAVOR), OLD)
-+CCOMMON_OPT += -mabi=lp64
-+FCOMMON_OPT += -mabi=lp64
-+endif
- endif
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -1683,6 +1683,7 @@ export TARGET_CORE
- export NO_AVX512
- export NO_AVX2
- export BUILD_BFLOAT16
-+export LOONGARCH_CC_FLAVOR
- export NO_LASX
-
- export SBGEMM_UNROLL_M
---- a/c_check
-+++ b/c_check
-@@ -270,6 +270,21 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) {
- }
- }
-
-+$loongarch_cc_flavor = "";
-+if (($architecture eq "loongarch64")) {
-+ # Currently there are only 2 flavors: new-world and old-world.
-+ # They differ in ABI names accepted, so check it to avoid creating temp
-+ # files.
-+ $args = " -mabi=lp64d -E -o - /dev/null";
-+ my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null");
-+ system(@cmd) == 0;
-+ if ($? != 0) {
-+ $loongarch_cc_flavor = "OLD";
-+ } else {
-+ $loongarch_cc_flavor = "NEW";
-+ }
-+}
-+
- $no_lasx = 0;
- if (($architecture eq "loongarch64")) {
- eval "use File::Temp qw(tempfile)";
-@@ -424,6 +439,7 @@ print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1;
- print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1;
- print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1;
- print MAKEFILE "NO_AVX2=1\n" if $no_avx2 eq 1;
-+print MAKEFILE "LOONGARCH_CC_FLAVOR=$loongarch_cc_flavor\n" if $architecture eq "loongarch64";
- print MAKEFILE "NO_LASX=1\n" if $no_lasx eq 1;
- print MAKEFILE "OLDGCC=1\n" if $oldgcc eq 1;
-
diff --git a/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch b/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch
deleted file mode 100644
index a386a0b38467..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Bug: https://bugs.gentoo.org/837806
-From https://github.com/xianyi/OpenBLAS/pull/3613
-
-From: Han Gao <gaohan@uniontech.com>
-Date: Wed, 27 Apr 2022 01:34:55 +0800
-Subject: [PATCH 1/2] Fix other arch build in detect.
-
-When CORE is empty, use -march=loongson3a. Fix it.
-
-Signed-off-by: Han Gao <gaohan@uniontech.com>
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -847,7 +847,7 @@ CCOMMON_OPT += -mabi=32
- BINARY_DEFINED = 1
- endif
-
--ifeq ($(CORE), $(filter $(CORE),LOONGSON3R3 LOONGSON3R4))
-+ifneq (, $(filter $(CORE),LOONGSON3R3 LOONGSON3R4))
- CCOMMON_OPT += -march=loongson3a
- FCOMMON_OPT += -march=loongson3a
- endif
-
-From: Han Gao <gaohan@uniontech.com>
-Date: Wed, 27 Apr 2022 02:29:43 +0800
-Subject: [PATCH 2/2] Fix riscv64 arch detect
-
-Signed-off-by: Han Gao <gaohan@uniontech.com>
---- a/cpuid_riscv64.c
-+++ b/cpuid_riscv64.c
-@@ -1,5 +1,5 @@
- /*****************************************************************************
--Copyright (c) 2011-2014, The OpenBLAS Project
-+Copyright (c) 2011-2022, The OpenBLAS Project
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
-@@ -13,9 +13,9 @@ modification, are permitted provided that the following conditions are
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-- 3. Neither the name of the OpenBLAS project nor the names of
-- its contributors may be used to endorse or promote products
-- derived from this software without specific prior written
-+ 3. Neither the name of the OpenBLAS project nor the names of
-+ its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-@@ -70,16 +70,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- /* or implied, of The University of Texas at Austin. */
- /*********************************************************************/
-
--#define CPU_UNKNOWN 0
--#define CPU_C910V 1
-+#define CPU_GENERIC 0
-+#define CPU_C910V 1
-
- static char *cpuname[] = {
-- "UNKOWN",
-+ "RISCV64_GENERIC",
- "C910V"
- };
-
- int detect(void){
-- return CPU_UNKNOWN;
-+ return CPU_GENERIC;
- }
-
- char *get_corename(void){
-@@ -98,7 +98,7 @@ void get_subdirname(void){
- }
-
- void get_cpuconfig(void){
-- printf("#define UNKNOWN\n");
-+ printf("#define %s\n", cpuname[detect()]);
- printf("#define L1_DATA_SIZE 65536\n");
- printf("#define L1_DATA_LINESIZE 32\n");
- printf("#define L2_SIZE 512488\n");
---- a/getarch.c
-+++ b/getarch.c
-@@ -1731,7 +1731,7 @@ int main(int argc, char *argv[]){
- #ifdef FORCE
- printf("CORE=%s\n", CORENAME);
- #else
--#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__)
-+#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv)
- printf("CORE=%s\n", get_corename());
- #endif
- #endif
-@@ -1879,7 +1879,7 @@ printf("ELF_VERSION=2\n");
- #ifdef FORCE
- printf("#define CHAR_CORENAME \"%s\"\n", CORENAME);
- #else
--#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__)
-+#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv)
- printf("#define CHAR_CORENAME \"%s\"\n", get_corename());
- #endif
- #endif
diff --git a/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch b/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch
new file mode 100644
index 000000000000..ce0487a6b2c0
--- /dev/null
+++ b/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch
@@ -0,0 +1,67 @@
+From 281e834566a06f1c756d262dc31e809faaf8933f Mon Sep 17 00:00:00 2001
+From: Guillaume Horel <guillaume.horel@gmail.com>
+Date: Thu, 30 Mar 2023 15:15:25 -0400
+Subject: [PATCH 1/2] do not pass -j flag to the MAKE variable
+
+---
+ getarch.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/getarch.c b/getarch.c
+index 937a8db68c..87384c0840 100644
+--- a/getarch.c
++++ b/getarch.c
+@@ -1930,15 +1930,15 @@ printf("ELF_VERSION=2\n");
+
+ #ifdef MAKE_NB_JOBS
+ #if MAKE_NB_JOBS > 0
+- printf("MAKE += -j %d\n", MAKE_NB_JOBS);
++ printf("MAKEFLAGS += -j %d\n", MAKE_NB_JOBS);
+ #else
+ // Let make use parent -j argument or -j1 if there
+ // is no make parent
+ #endif
+ #elif NO_PARALLEL_MAKE==1
+- printf("MAKE += -j 1\n");
++ printf("MAKEFLAGS += -j 1\n");
+ #else
+- printf("MAKE += -j %d\n", get_num_cores());
++ printf("MAKEFLAGS += -j %d\n", get_num_cores());
+ #endif
+
+ break;
+
+From 397108fba299c87ce17957452d57469af914f516 Mon Sep 17 00:00:00 2001
+From: Guillaume Horel <guillaume.horel@gmail.com>
+Date: Fri, 31 Mar 2023 09:22:40 -0400
+Subject: [PATCH 2/2] serialize shared prerequisites
+
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 144b3400db..3c4b8948af 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,9 +40,9 @@ LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast -O -Og -Os,$(LAPACK_FFLAGS))
+ SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test
+
+ .PHONY : all libs netlib $(RELA) test ctest shared install
+-.NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test
++.NOTPARALLEL : shared
+
+-all :: libs netlib $(RELA) tests shared
++all :: tests
+ @echo
+ @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))"
+ @echo
+@@ -150,7 +150,7 @@ ifeq ($(OSNAME), CYGWIN_NT)
+ endif
+ endif
+
+-tests : libs netlib $(RELA) shared
++tests : shared
+ ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
+ touch $(LIBNAME)
+ ifndef NO_FBLAS
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/openblas-0.3.18.ebuild b/sci-libs/openblas/openblas-0.3.18.ebuild
deleted file mode 100644
index 31488ab8cb0d..000000000000
--- a/sci-libs/openblas/openblas-0.3.18.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2022 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.io/OpenBLAS/"
-SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/OpenBLAS-${PV}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~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.12-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() {
- fortran-2_pkg_setup
-
- # List of most configurable options - Makefile.rule
-
- # https://github.com/xianyi/OpenBLAS/pull/2663
- tc-export CC FC LD AR AS RANLIB
-
- # HOSTCC is used for scripting
- export HOSTCC="$(tc-getBUILD_CC)"
-
- # threading options
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- 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
-
- # 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"
-
- # 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
- use dynamic && \
- export DYNAMIC_ARCH=1 \
- NO_AFFINITY=1 \
- TARGET=GENERIC
-
- export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \
- NUM_THREADS=${OPENBLAS_NTHREAD:-64}
-
- # 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
-
- BUILD_RELAPACK=1
- if ! use relapack; then
- BUILD_RELAPACK=0
- fi
-
- export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK
-}
-
-src_prepare() {
- default
-
- # Disable tests by default
- sed -e "/^all ::/s/tests //" -i 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_compile() {
- default
- cd interface || die
- emake 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 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 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
- doins interface/liblapacke.so.3
- dosym 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.19.ebuild b/sci-libs/openblas/openblas-0.3.19.ebuild
deleted file mode 100644
index 31488ab8cb0d..000000000000
--- a/sci-libs/openblas/openblas-0.3.19.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2022 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.io/OpenBLAS/"
-SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/OpenBLAS-${PV}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~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.12-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() {
- fortran-2_pkg_setup
-
- # List of most configurable options - Makefile.rule
-
- # https://github.com/xianyi/OpenBLAS/pull/2663
- tc-export CC FC LD AR AS RANLIB
-
- # HOSTCC is used for scripting
- export HOSTCC="$(tc-getBUILD_CC)"
-
- # threading options
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- 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
-
- # 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"
-
- # 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
- use dynamic && \
- export DYNAMIC_ARCH=1 \
- NO_AFFINITY=1 \
- TARGET=GENERIC
-
- export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \
- NUM_THREADS=${OPENBLAS_NTHREAD:-64}
-
- # 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
-
- BUILD_RELAPACK=1
- if ! use relapack; then
- BUILD_RELAPACK=0
- fi
-
- export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK
-}
-
-src_prepare() {
- default
-
- # Disable tests by default
- sed -e "/^all ::/s/tests //" -i 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_compile() {
- default
- cd interface || die
- emake 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 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 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
- doins interface/liblapacke.so.3
- dosym 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.21.ebuild b/sci-libs/openblas/openblas-0.3.23.ebuild
index 8684438c1a7a..7664d34d5737 100644
--- a/sci-libs/openblas/openblas-0.3.21.ebuild
+++ b/sci-libs/openblas/openblas-0.3.23.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit fortran-2 toolchain-funcs
+inherit flag-o-matic fortran-2 toolchain-funcs
DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
HOMEPAGE="https://github.com/xianyi/OpenBLAS"
@@ -26,8 +26,9 @@ RDEPEND="
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch"
+ "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch"
"${FILESDIR}/${PN}-0.3.21-fix-loong.patch"
+ "${FILESDIR}/${PN}-0.3.23-parallel-make.patch"
)
pkg_pretend() {
@@ -53,6 +54,9 @@ pkg_setup() {
# List of most configurable options - Makefile.rule
+ # not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
+ filter-lto
+
# https://github.com/xianyi/OpenBLAS/pull/2663
tc-export CC FC LD AR AS RANLIB
@@ -118,9 +122,8 @@ src_prepare() {
}
src_compile() {
- default
- cd interface || die
- emake shared-blas-lapack
+ emake shared
+ use eselect-ldso && emake -C interface shared-blas-lapack
if use index-64bit; then
emake -C"${S}-index-64bit" \
diff --git a/sci-libs/openblas/openblas-0.3.20.ebuild b/sci-libs/openblas/openblas-0.3.25-r1.ebuild
index 029ace6cd509..c32ecf3ad4d7 100644
--- a/sci-libs/openblas/openblas-0.3.20.ebuild
+++ b/sci-libs/openblas/openblas-0.3.25-r1.ebuild
@@ -1,14 +1,15 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/OpenBLAS-${PV}
+SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
LICENSE="BSD"
SLOT="0"
@@ -26,9 +27,7 @@ RDEPEND="
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch"
- "${FILESDIR}/${PN}-0.3.20-fix-riscv.patch"
- "${FILESDIR}/${PN}-0.3.20-fix-loong.patch"
+ "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch"
)
pkg_pretend() {
@@ -50,87 +49,84 @@ pkg_pretend() {
}
pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
fortran-2_pkg_setup
+}
- # List of most configurable options - Makefile.rule
+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
- # https://github.com/xianyi/OpenBLAS/pull/2663
tc-export CC FC LD AR AS RANLIB
# HOSTCC is used for scripting
export HOSTCC="$(tc-getBUILD_CC)"
- # threading options
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- USE_THREAD=0
+ # Threading options
+ export USE_THREAD=0
+ export USE_OPENMP=0
if use openmp; then
- USE_THREAD=1; USE_OPENMP=1;
+ USE_THREAD=1
+ USE_OPENMP=1
elif use pthread; then
- USE_THREAD=1; USE_OPENMP=0;
+ USE_THREAD=1
+ USE_OPENMP=0
fi
- export USE_THREAD USE_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"
-
- # disable submake with -j and default optimization flags
- # in Makefile.system
+ # 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
- use dynamic && \
- export DYNAMIC_ARCH=1 \
- NO_AFFINITY=1 \
- TARGET=GENERIC
-
- export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \
- NUM_THREADS=${OPENBLAS_NTHREAD:-64}
-
- # setting OPENBLAS_TARGET to override auto detection
- # in case the toolchain is not enough to detect
+ 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
-
- BUILD_RELAPACK=1
- if ! use relapack; then
- BUILD_RELAPACK=0
- fi
-
- export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK
-}
-
-src_prepare() {
- default
-
- # Disable tests by default
- sed -e "/^all ::/s/tests //" -i 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
+ export BUILD_RELAPACK=$(usex relapack 1 0)
+ export PREFIX="${EPREFIX}/usr"
}
src_compile() {
- default
- cd interface || die
- emake shared-blas-lapack
+ 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
+ emake -C "${S}-index-64bit" \
+ INTERFACE64=1 \
+ LIBPREFIX=libopenblas64 shared
fi
}
@@ -140,8 +136,8 @@ src_test() {
src_install() {
emake install DESTDIR="${D}" \
- OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
- OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
dodoc GotoBLAS_*.txt *.md Changelog.txt
@@ -152,15 +148,15 @@ src_install() {
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
+ dosym -r /usr/$(get_libdir)/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
+ 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 liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so
+ dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/openblas/liblapack.so
doins interface/liblapacke.so.3
- dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so
+ dosym -r /usr/$(get_libdir)/liblapacke.so.3 /usr/$(get_libdir)/lapack/openblas/liblapacke.so
fi
}
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/opencascade-7.6.3-r1.ebuild b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild
index 82352ba3e3a2..0ea3c5736c42 100644
--- a/sci-libs/opencascade/opencascade-7.6.3-r1.ebuild
+++ b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -69,6 +69,7 @@ PATCHES=(
"${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() {
diff --git a/sci-libs/opencascade/opencascade-7.7.0-r1.ebuild b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild
index c22348558869..87f8035f70d2 100644
--- a/sci-libs/opencascade/opencascade-7.7.0-r1.ebuild
+++ b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild
@@ -49,6 +49,7 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
+ x11-base/xorg-proto
json? ( dev-libs/rapidjson )
vtk? ( dev-libs/utfcpp )
"
@@ -64,6 +65,7 @@ PATCHES=(
"${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() {
diff --git a/sci-libs/openlibm/openlibm-0.8.0.ebuild b/sci-libs/openlibm/openlibm-0.8.0.ebuild
index ba45cbd625fb..3d2362897851 100644
--- a/sci-libs/openlibm/openlibm-0.8.0.ebuild
+++ b/sci-libs/openlibm/openlibm-0.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,6 +9,7 @@ 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"
@@ -16,9 +17,10 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
src_prepare() {
default
- sed -e "/^OLM_LIBS :=/s/^/#/" \
- -e "/install: /s/install-static//" \
- -i Makefile || die
+ 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() {
diff --git a/sci-libs/p4est/Manifest b/sci-libs/p4est/Manifest
index 2a5552e304f3..ec900fcf2092 100644
--- a/sci-libs/p4est/Manifest
+++ b/sci-libs/p4est/Manifest
@@ -1 +1,3 @@
-DIST p4est-2.8.tar.gz 2655761 BLAKE2B 0637045bca3525d5d737010865c06d1273c6ecf848ab5ca55d1f19156550b7d7676c4f8d7c7a71b1fc70381dc7912cdca1e5405bb0af948180f75da1a3b1f343 SHA512 599faad177ce21f917e4ddfd969d6ef8c1f08b1e701cbdb9d4a1aa6dfd927176468afe757d018b9b7ded6a9ce165cd6fe78e0688b22cf6b9975cbd85d6f45d3c
+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-set_version.patch b/sci-libs/p4est/files/p4est-2.8-set_version.patch
deleted file mode 100644
index b24f265f496b..000000000000
--- a/sci-libs/p4est/files/p4est-2.8-set_version.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/cmake/git.cmake b/cmake/git.cmake
-index dd6009e..7c5c8f3 100644
---- a/cmake/git.cmake
-+++ b/cmake/git.cmake
-@@ -1,36 +1,3 @@
- # --- extract version from Git
-
--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(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999)
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(PROJECT_VERSION ${_major}.${_minor})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(PROJECT_VERSION ${_major})
-- endif()
--endif()
-+set(PROJECT_VERSION 2.8.3)
-
-diff --git a/cmake/p4est_config.h.in b/cmake/p4est_config.h.in
-index 72645dd..7560dcc 100644
---- a/cmake/p4est_config.h.in
-+++ b/cmake/p4est_config.h.in
-@@ -135,7 +135,7 @@
- #define P4EST_PACKAGE_NAME "p4est"
-
- /* Define to the full name and version of this package. */
--#define P4EST_PACKAGE_STRING "p4est 2.0.94-00da"
-+#define P4EST_PACKAGE_STRING "p4est 2.8.0"
-
- /* Define to the one symbol short name of this package. */
- #define P4EST_PACKAGE_TARNAME "p4est"
-@@ -144,16 +144,16 @@
- #define P4EST_PACKAGE_URL ""
-
- /* Define to the version of this package. */
--#define P4EST_PACKAGE_VERSION "2.0.94-00da"
-+#define P4EST_PACKAGE_VERSION "2.8.0"
-
- /* Version number of package */
--#define P4EST_VERSION "2.0.94-00da"
-+#define P4EST_VERSION "2.8.0"
-
- /* Package major version */
- #define P4EST_VERSION_MAJOR 2
-
- /* Package minor version */
--#define P4EST_VERSION_MINOR 0
-+#define P4EST_VERSION_MINOR 8
-
- /* Package point version */
--#define P4EST_VERSION_POINT 94-00da
-+#define P4EST_VERSION_POINT 0
diff --git a/sci-libs/p4est/files/p4est-2.8-fix_build_system.patch b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch
index e1f86165d5f9..0063acf9c5c1 100644
--- a/sci-libs/p4est/files/p4est-2.8-fix_build_system.patch
+++ b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch
@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3226f2e..8bc5074 100644
+index 78c02bf..d1b2094 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/
@@ -11,14 +11,14 @@ index 3226f2e..8bc5074 100644
include(CTest)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
-@@ -76,8 +78,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_BINARY_DIR}/include/
+@@ -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})
-
- #--- p8est
+ 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/files/p4est-9999-set_version.patch b/sci-libs/p4est/files/p4est-9999-set_version.patch
deleted file mode 100644
index 0820b001d8cd..000000000000
--- a/sci-libs/p4est/files/p4est-9999-set_version.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/cmake/git.cmake b/cmake/git.cmake
-index dd6009e..7c5c8f3 100644
---- a/cmake/git.cmake
-+++ b/cmake/git.cmake
-@@ -1,36 +1,3 @@
- # --- extract version from Git
-
--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(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999)
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(_patch "${CMAKE_MATCH_3}")
-- set(PROJECT_VERSION ${_major}.${_minor}.${_patch})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(_minor "${CMAKE_MATCH_2}")
-- set(PROJECT_VERSION ${_major}.${_minor})
-- elseif(git_version MATCHES
-- "^(0|[1-9][0-9]*)")
-- set(_major "${CMAKE_MATCH_1}")
-- set(PROJECT_VERSION ${_major})
-- endif()
--endif()
-+set(PROJECT_VERSION 9999.0.0)
-
-
diff --git a/sci-libs/p4est/metadata.xml b/sci-libs/p4est/metadata.xml
index f29f22e517cb..c58dd131de04 100644
--- a/sci-libs/p4est/metadata.xml
+++ b/sci-libs/p4est/metadata.xml
@@ -17,6 +17,7 @@ processor cores.
</longdescription>
<use>
<flag name="vtk-binary">Enable binary vtk output. If disabled vtk files will be written in ASCII text format.</flag>
+ <flag name="romio">Build with support for the ROMIO MPI-IO component</flag>
</use>
<upstream>
<remote-id type="github">cburstedde/libsc</remote-id>
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-r1.ebuild b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
index 10b3de8b3e22..253f6ee31911 100644
--- a/sci-libs/p4est/p4est-2.8-r1.ebuild
+++ b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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="2.8.3"
+LIBSC_VERSION="${PV}"
if [[ ${PV} = *9999* ]]; then
inherit git-r3
@@ -38,10 +38,9 @@ BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${P}-fix_build_system.patch
"${FILESDIR}"/${P}-set_version.patch
+ "${FILESDIR}"/${P}-fix_cmake_path.patch
)
-S="${WORKDIR}/${PN}-2.8"
-
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
@@ -51,6 +50,10 @@ pkg_setup() {
}
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)"
@@ -63,8 +66,9 @@ src_configure() {
src_install() {
cmake_src_install
- rm "${ED}"/usr/lib/cmake/Modules/FindSC.cmake || die "rm failed"
- mkdir -p "${ED}"/usr/share/doc/${P}
- mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${P}/ || die "mv failed"
+ [ ! "$(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 41605b7be0f7..000000000000
--- a/sci-libs/p4est/p4est-9999.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
-HOMEPAGE="http://www.p4est.org/"
-
-LIBSC_VERSION="2.8.3"
-
-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}"/${PN}-2.8-fix_build_system.patch
- "${FILESDIR}"/${P}-set_version.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- local mycmakeargs=(
- -Dmpi="$(usex mpi)"
- -Dopenmp="$(usex openmp)"
- -Dlibrary_reldir="$(get_libdir)"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- rm "${ED}"/usr/lib/cmake/Modules/FindSC.cmake || die "rm failed"
- mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${P}/ || die "mv failed"
- rm -r "${ED}"/usr/share/docs || die "rm failed"
-}
diff --git a/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild
index e1d14fde942f..48a2e554f84a 100644
--- a/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild
+++ b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/ParMETIS-${COMMIT}"
LICENSE="all-rights-reserved"
SLOT="0"
-KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86 ~amd64-linux"
IUSE="examples openmp pcre"
RESTRICT="mirror bindist"
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/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/primegen-0.97-r3.ebuild b/sci-libs/primegen/primegen-0.97-r3.ebuild
new file mode 100644
index 000000000000..5ee9dfed93fb
--- /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/proj/Manifest b/sci-libs/proj/Manifest
index 12b085cd9ca8..0fb70532f15f 100644
--- a/sci-libs/proj/Manifest
+++ b/sci-libs/proj/Manifest
@@ -1,5 +1,4 @@
-DIST proj-9.1.1.tar.gz 5311995 BLAKE2B d51652f649ac97f419740e30facd86b04ee0872197d235aecc9d8fd50c18340bc7969a4a78c33f28753fc8b5556e7e8bdc47e0b6a9d9971e214575481cf25c0b SHA512 b9d19a999e063e465579eb86da3fd2aa32fd894f0d15ba178733bcbad92246b3b3ea1811a276cd556874e171a5ba7cfd678ce563c0b8626c6db9349a64c04726
-DIST proj-9.2.0.tar.gz 5521397 BLAKE2B e3793c619b662a22c1e63d38885dae012256d798f7acde4e29f2021502c45b32eff1e0025c2418b8eea38c30ed15b6baba375ca52b07f3d416aae53e5bfaef1e SHA512 b9c5c72ba2ff1ab4b3c34ab43da411613d27e5206d38c734909fd7a8ab84a113f25a85633c1da1d35af5de22534e3d82f5a66edae52547d3016b51c3bf53f771
DIST proj-9.2.1.tar.gz 5536575 BLAKE2B e08dc370cfac2c6358e1b28e44f3893c75e07fd64a4235041edf836885d31af33605673486edb122cec8aa13a2c564156c429a68e5045de52d8ea970d2e440f1 SHA512 5640e9bd4ea24a0e0b1521c90b8f709b64b9ee357190aaf08af0cff5df68ae93bdfb27211bde5c50340b067fc218b4f2aa8fb998ed2852ebeb2c2ad0ac4629ef
-DIST proj-data-1.12.tar.gz 611423889 BLAKE2B 5376f041aae1a23668a0cae79f4deadff29aad80a1187f837cd5c62c21dc49738fc598c52825f5d8575cd135b55c188d9456b5da72adc6a507fa778f0cad6596 SHA512 788d7c3ad70dd7aab21824ff189dd0cddc28b7e64999f6a9953d7af95f9fabab7143b0f1c3bed19d5deb8f3e3a7be62723fc5fda778fcaefab0ab6d449db5def
+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/proj-9.1.1-r1.ebuild b/sci-libs/proj/proj-9.1.1-r1.ebuild
deleted file mode 100644
index fa1a13f83779..000000000000
--- a/sci-libs/proj/proj-9.1.1-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 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.12.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 )"
-
-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)
- )
-
- use test && mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON )
-
- 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.2.1.ebuild b/sci-libs/proj/proj-9.2.1.ebuild
index 816fcfaec6bf..ac5e5df3f04d 100644
--- a/sci-libs/proj/proj-9.2.1.ebuild
+++ b/sci-libs/proj/proj-9.2.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
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"
+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 )"
diff --git a/sci-libs/proj/proj-9.2.0.ebuild b/sci-libs/proj/proj-9.3.0.ebuild
index 816fcfaec6bf..d161662887a4 100644
--- a/sci-libs/proj/proj-9.2.0.ebuild
+++ b/sci-libs/proj/proj-9.3.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
inherit cmake
# Check https://proj.org/download.html for latest data tarball
-PROJ_DATA="proj-data-1.13.tar.gz"
+PROJ_DATA="proj-data-1.15.tar.gz"
DESCRIPTION="PROJ coordinate transformation software"
HOMEPAGE="https://proj.org/"
SRC_URI="
diff --git a/sci-libs/pyshp/pyshp-2.3.1-r1.ebuild b/sci-libs/pyshp/pyshp-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..813c53e427ef
--- /dev/null
+++ b/sci-libs/pyshp/pyshp-2.3.1-r1.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_{9..11} )
+
+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 )"
+
+RDEPEND=""
+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/pytorch/pytorch-2.0.1.ebuild b/sci-libs/pytorch/pytorch-2.0.1-r1.ebuild
index b778dcb357c3..11f7d447a1e1 100644
--- a/sci-libs/pytorch/pytorch-2.0.1.ebuild
+++ b/sci-libs/pytorch/pytorch-2.0.1-r1.ebuild
@@ -7,7 +7,7 @@ DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_EXT=1
-inherit distutils-r1
+inherit distutils-r1 prefix
DESCRIPTION="Tensors and Dynamic neural networks in Python"
HOMEPAGE="https://pytorch.org/"
@@ -49,6 +49,8 @@ src_prepare() {
tools/setup_helpers/env.py \
|| die
distutils-r1_src_prepare
+
+ hprefixify tools/setup_helpers/env.py
}
src_compile() {
diff --git a/sci-libs/rocBLAS/Manifest b/sci-libs/rocBLAS/Manifest
index e067ceef0a6c..f17d3a47c686 100644
--- a/sci-libs/rocBLAS/Manifest
+++ b/sci-libs/rocBLAS/Manifest
@@ -2,3 +2,4 @@ DIST rocBLAS-5.0.2-Tensile-asm_full-navi22.tar.gz 1110323 BLAKE2B 80fab97c6f89fc
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-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/rocBLAS-5.1.3-r3.ebuild b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild
index 7027067623c7..94c7e5177af0 100644
--- a/sci-libs/rocBLAS/rocBLAS-5.1.3-r3.ebuild
+++ b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild
@@ -23,7 +23,7 @@ REQUIRED_USE="${ROCM_REQUIRED_USE}"
RESTRICT="!test? ( test )"
BDEPEND="
- dev-util/rocm-cmake:${SLOT}
+ dev-util/rocm-cmake
dev-util/Tensile:${SLOT}
"
diff --git a/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild b/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..e1f9a4b8e8f0
--- /dev/null
+++ b/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2023 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"
+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-util/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
+ 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
+}
diff --git a/sci-libs/rocFFT/Manifest b/sci-libs/rocFFT/Manifest
index f93c38954772..b850aef411dd 100644
--- a/sci-libs/rocFFT/Manifest
+++ b/sci-libs/rocFFT/Manifest
@@ -1 +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/metadata.xml b/sci-libs/rocFFT/metadata.xml
index 825327b204eb..5774b6a548d7 100644
--- a/sci-libs/rocFFT/metadata.xml
+++ b/sci-libs/rocFFT/metadata.xml
@@ -5,10 +5,6 @@
<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>
diff --git a/sci-libs/rocFFT/rocFFT-5.1.3.ebuild b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild
index af9d3e7fad22..8d4bed88c3a0 100644
--- a/sci-libs/rocFFT/rocFFT-5.1.3.ebuild
+++ b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
ROCM_VERSION=${PV}
inherit cmake check-reqs edo multiprocessing python-r1 rocm
@@ -36,7 +36,7 @@ BDEPEND="
test? ( dev-cpp/gtest dev-libs/boost
>=sci-libs/fftw-3 sys-libs/libomp )
>=dev-util/cmake-3.22
- dev-util/rocm-cmake:${SLOT}
+ dev-util/rocm-cmake
"
CHECKREQS_DISK_BUILD="7G"
@@ -80,7 +80,7 @@ pkg_setup() {
src_prepare() {
sed -e "s/PREFIX rocfft//" \
-e "/rocm_install_symlink_subdir/d" \
- -e "/<INSTALL_INTERFACE/s,include,include/rocFFT," \
+ -e "/<INSTALL_INTERFACE/s,include,include/rocfft," \
-i library/src/CMakeLists.txt || die
sed -e "/rocm_install_symlink_subdir/d" \
@@ -107,7 +107,8 @@ src_configure() {
-DCMAKE_SKIP_RPATH=On
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-Wno-dev
- -DCMAKE_INSTALL_INCLUDEDIR="include/rocFFT/"
+ -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}
diff --git a/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild b/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..ae6759ee212d
--- /dev/null
+++ b/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..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
+ sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}]
+ )
+ >=dev-util/cmake-3.22
+ dev-util/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=()
+
+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
+ 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
index 37d940a49b1c..f23f73c59466 100644
--- a/sci-libs/rocPRIM/Manifest
+++ b/sci-libs/rocPRIM/Manifest
@@ -1 +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
index 3ec1b04cf301..6d29bd1f8901 100644
--- a/sci-libs/rocPRIM/metadata.xml
+++ b/sci-libs/rocPRIM/metadata.xml
@@ -5,10 +5,6 @@
<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>
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..3353023628db
--- /dev/null
+++ b/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild
@@ -0,0 +1,79 @@
+# 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="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-util/rocm-cmake
+ >=dev-util/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
index 0016770f25d1..9c1124f37a03 100644
--- a/sci-libs/rocRAND/Manifest
+++ b/sci-libs/rocRAND/Manifest
@@ -1,2 +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
index dfea5b6e3584..4add606d2dbe 100644
--- a/sci-libs/rocRAND/metadata.xml
+++ b/sci-libs/rocRAND/metadata.xml
@@ -5,10 +5,6 @@
<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>
diff --git a/sci-libs/rocRAND/rocRAND-5.1.3.ebuild b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild
index 26ca0c5042b1..f5f90b407482 100644
--- a/sci-libs/rocRAND/rocRAND-5.1.3.ebuild
+++ b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,6 +20,9 @@ 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-util/rocm-cmake
@@ -35,8 +38,6 @@ src_prepare() {
# 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 "s:(hip|roc)rand/include:include/\1rand:" \
- -e '/\$\{INSTALL_SYMLINK_COMMAND\}/d' \
-e "/INSTALL_RPATH/d" -i library/CMakeLists.txt || die
# remove GIT dependency
@@ -54,6 +55,7 @@ src_configure() {
-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)
)
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..29a49e44991e
--- /dev/null
+++ b/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild
@@ -0,0 +1,63 @@
+# 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="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-util/rocm-cmake
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-util/rocm-cmake
+ >=dev-util/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..2a55cae507fe
--- /dev/null
+++ b/sci-libs/rocRAND/rocRAND-5.7.1.ebuild
@@ -0,0 +1,68 @@
+# 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="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-util/rocm-cmake
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-util/rocm-cmake
+ >=dev-util/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
index 24a5bc028509..99692f483643 100644
--- a/sci-libs/rocSOLVER/Manifest
+++ b/sci-libs/rocSOLVER/Manifest
@@ -1 +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-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
index 344dd1337031..da8fc11173b1 100644
--- a/sci-libs/rocSOLVER/metadata.xml
+++ b/sci-libs/rocSOLVER/metadata.xml
@@ -12,6 +12,9 @@
<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>
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
index e2db9aba2a19..11cedfb8deff 100644
--- a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,8 +19,8 @@ IUSE="test benchmark"
REQUIRED_USE="${ROCM_REQUIRED_USE}"
RDEPEND="dev-util/hip
- sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
- =dev-libs/libfmt-8*
+ sci-libs/rocBLAS[${ROCM_USEDEP}]
+ dev-libs/libfmt
benchmark? ( virtual/blas )"
DEPEND="${RDEPEND}"
BDEPEND="test? ( dev-cpp/gtest
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..8088b8523a68
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 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-util/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..a5e339aa71ab
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 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-util/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
index d9c178411520..793510341e5c 100644
--- a/sci-libs/rocSPARSE/Manifest
+++ b/sci-libs/rocSPARSE/Manifest
@@ -1,4 +1,5 @@
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
diff --git a/sci-libs/rocSPARSE/metadata.xml b/sci-libs/rocSPARSE/metadata.xml
index 41fbe64032ab..f4e399df67a8 100644
--- a/sci-libs/rocSPARSE/metadata.xml
+++ b/sci-libs/rocSPARSE/metadata.xml
@@ -5,10 +5,6 @@
<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>
diff --git a/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..72ab49658a90
--- /dev/null
+++ b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..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
+ sci-libs/rocPRIM:${SLOT}"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ dev-cpp/gtest
+ >=dev-util/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
index 586b8f1b9260..5c109bf5006a 100644
--- a/sci-libs/rocThrust/Manifest
+++ b/sci-libs/rocThrust/Manifest
@@ -1 +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/metadata.xml b/sci-libs/rocThrust/metadata.xml
index 20ece3c2955e..61a33c63bbf4 100644
--- a/sci-libs/rocThrust/metadata.xml
+++ b/sci-libs/rocThrust/metadata.xml
@@ -4,10 +4,6 @@
<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>
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..68d0b7198b14
--- /dev/null
+++ b/sci-libs/rocThrust/rocThrust-5.7.1.ebuild
@@ -0,0 +1,76 @@
+# 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="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-util/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=(
+ -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/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 e490bcb8aa87..000000000000
--- a/sci-libs/rosetta-db/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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>
- <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 bc043d1e1ae7..000000000000
--- a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit 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/rtree/rtree-1.0.0.ebuild b/sci-libs/rtree/rtree-1.0.0.ebuild
index 2892a9c457f2..ffa872d759b3 100644
--- a/sci-libs/rtree/rtree-1.0.0.ebuild
+++ b/sci-libs/rtree/rtree-1.0.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
@@ -15,7 +15,7 @@ HOMEPAGE="https://rtree.readthedocs.io"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
sci-libs/libspatialindex
diff --git a/sci-libs/safetensors/Manifest b/sci-libs/safetensors/Manifest
new file mode 100644
index 000000000000..e53939334466
--- /dev/null
+++ b/sci-libs/safetensors/Manifest
@@ -0,0 +1,41 @@
+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.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31
+DIST libc-0.2.141.crate 671145 BLAKE2B c0e37825ac3fba376e942a0e2c2aeefcab384b24c50a453d1948376cecb3f953d59735e37aef8a9ca7ae707fc6b4818823fae7330f213bf084e5460a82dd3ed5 SHA512 29d81f440d62fa1c9f7983c38138994e61f4897761a50a4f14abce1ced85a8994c6f0cc0ce86f77113b74495e36ddbebae6627f0b94c44621620a395a6723cdd
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+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.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
+DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
+DIST pyo3-0.18.2.crate 418755 BLAKE2B a45c27639d9c4c5a4e017b7e8d7580aba285ee11295f344809e30ac23b70e4541f2cb765dfeee20fdf4d441e1449f5cad4bd6308a52822eea3595305081d4b77 SHA512 b97ebc10939418d7fe3d6219921875cc7253f3aa7cd9d06b1486f8757c6d102377eb851b3a669c670423af2c80e389b736f0ce04a6cecb716c952413d06fe434
+DIST pyo3-build-config-0.18.2.crate 29138 BLAKE2B ad37bacda5f0e5c8eaf382b3371de251b83c721dc2378a0bd3700462bb65273bcd4277589084f6af0a2959f17b370fe5e6a5699c8689107220333c57387bf0ae SHA512 01f544938d83a8283f5101f69673f8a39d2052186e7c712709be25c5ae17a11e7d68c2fd9b4bc7661fff9343ebf3ccc196c1259321061f048c59696692601ae1
+DIST pyo3-ffi-0.18.2.crate 62903 BLAKE2B 31e52b73705c1e5f44e419f314b1674a722a604fb52be5d5e5ff2ae9881ec9f204c1f51760570ed4c210ea530bd9295a27beaf9b5631ef02370d42d3e4c0be18 SHA512 495dcf45154ce89b8cd3a3fe193938e199465cf510df1713f7ad82e0a138ac2f8f1b73ec80f8af72f79a4ed26a9f4e4e93d52357ad4f41a213ec0c7b602734b9
+DIST pyo3-macros-0.18.2.crate 7173 BLAKE2B dfa5792be03b3b1164471ef9ff4ee672fe8e57d0fc169ca04da1542d86262e7e526be079e303b8a4899bfa4b0680d38604f80263c71b33ead5bf0a60871f473c SHA512 a2c367b4b1556b16304ef0da4ed8961cc760d259da9fbdabf791ac910de4f1e9f193227f10ea4215a52c701bd0ee92311dc91d272b9364017e2f6ebde5698f72
+DIST pyo3-macros-backend-0.18.2.crate 48722 BLAKE2B 662822ae71702cb7d173c1ac7ead49cecde0dc4545bc3f5f30fd9ef7fab5537c13509bc8f18b2a8d05d7fa7f6fc8d0378a44d67b85edadfdf6ca153fc698a7d4 SHA512 433d9287bf3cdf84291c8d04ca5b24ecab2186379db554d6b2cf271e8716a890dcdc0717b2a00267e85dc637520559ef8e883bde2e2b16dd8cd580c1468c2dc3
+DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13
+DIST safetensors-0.3.1.gh.tar.gz 71846 BLAKE2B d32fcd6afa34550c4b7cec2d09d84f967c2fb1a589ef7e38d1e443c74b008d31476d458a3862064c0ad90f54c70f6bedd170e6903f290164beda24662deb4c58 SHA512 483f90f8a1377dbdcd0ac9488014474da2ff197a981cf41602758b002d87ce75fa68b221b94374501f108820ee59eeb70a53811b012150bcf224e880c6749b98
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.160.crate 77010 BLAKE2B 45d2585bd7e5dcd368b72c29046bd595c577826da4aea6d019adaf07d23adc096db7aba952037dfdac9dbf08a1e92ababd44cc784ace557fe2cfe83beca446cf SHA512 b03eb453ac01a483843829952462de4e8f6d0fa4a244d38a6f476a911e2e991a508121265befd108134ae7cce8a7a40c4d217f80f3e025f9a612a0bf80862306
+DIST serde_derive-1.0.160.crate 55081 BLAKE2B 851cbd173bd758d46c9f545f05a17f65f7b0a2cd353cc75a985072e3772ca6d8395b63208d845dfba231d7cb5fcee97ec0df0bd0df010096577d618fad8bffb0 SHA512 14b2a2ad7131efa7ec95d5a6e7633a9d1e991b046c0b00cce9c3681edd73cb53ff477aa52a430d8465aa8b362696244ea80f12ffbf0e6f98e35605fe4c60f407
+DIST serde_json-1.0.95.crate 144618 BLAKE2B beb05d7c37fcbacf4cc7dc04380e818a144a81e20e09ac9aecf6488bc18b142713bd1e9c7bc2ff4d10dd2385ccd280207cd992380bde4616db54f0852141eb0f SHA512 ff9f3f9e9a0e07956923bbac02288915c31f5ee24fc618808bfd4aa4b36ec40ec8d0e4426d926bdbcd019c9a4a6608dff5a651bf92dc5663eaf69c7c060223ba
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.14.crate 240699 BLAKE2B 7807bf1dcf5c19dab814fad916a5b8167324627406b7113bff7501c12b3e460e803a0e6b06f08047979d2d6af103ac60aacb4e98c9258d12e0e693e44001500a SHA512 a1cb1a427f7fe5bc5f1d130be93aff673e933e9ce971324d010ad883bc1a91c81d3467641762498bb7cc4c1ee3d1aa2301bdb68e8b0e81b014f99d91b824039a
+DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
+DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
+DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
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.1-r2.ebuild b/sci-libs/safetensors/safetensors-0.3.1-r2.ebuild
new file mode 100644
index 000000000000..20984e779dac
--- /dev/null
+++ b/sci-libs/safetensors/safetensors-0.3.1-r2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2023 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.6
+ libc-0.2.141
+ lock_api-0.4.9
+ memmap2-0.5.10
+ memoffset-0.8.0
+ once_cell-1.17.1
+ parking_lot-0.12.1
+ parking_lot_core-0.9.7
+ proc-macro2-1.0.56
+ pyo3-0.18.2
+ pyo3-build-config-0.18.2
+ pyo3-ffi-0.18.2
+ pyo3-macros-0.18.2
+ pyo3-macros-backend-0.18.2
+ quote-1.0.26
+ redox_syscall-0.2.16
+ ryu-1.0.13
+ scopeguard-1.1.0
+ serde-1.0.160
+ serde_derive-1.0.160
+ serde_json-1.0.95
+ smallvec-1.10.0
+ syn-1.0.109
+ syn-2.0.14
+ target-lexicon-0.12.6
+ unicode-ident-1.0.8
+ unindent-0.1.11
+ windows-sys-0.45.0
+ windows-targets-0.42.2
+ windows_aarch64_gnullvm-0.42.2
+ windows_aarch64_msvc-0.42.2
+ windows_i686_gnu-0.42.2
+ windows_i686_msvc-0.42.2
+ windows_x86_64_gnu-0.42.2
+ windows_x86_64_gnullvm-0.42.2
+ windows_x86_64_msvc-0.42.2
+"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+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 )
+
+RDEPEND="
+"
+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/scikit-image/Manifest b/sci-libs/scikit-image/Manifest
index 66003042df98..8b42da1c8888 100644
--- a/sci-libs/scikit-image/Manifest
+++ b/sci-libs/scikit-image/Manifest
@@ -1 +1,2 @@
DIST scikit-image-0.19.3.tar.gz 22232287 BLAKE2B 855584be0e69ac6e0dc7a17a68a1bca6843b471073e63d098b4933bc301eab5246d4cd2b444960de7fcd37012b66f7ba8cd6030ac485a7ab3aa1d36501aef0c7 SHA512 cda1699200e19155da13e313eb129771b7bb895913e552b959a3374267fe4f73c33d5e6e2fa2d49326903c901925797e46b9f05342a78c5332df1c266d37471a
+DIST scikit_image-0.22.0.tar.gz 22685018 BLAKE2B 7d0a65f75f5a58211e21501d6cc6a638f1d36e9a2198a3ad9ff2f230890496c41d5e6cdaed02bbaa62f26aa57fd24fc993656cbdfc2c9c9750147d0f325e56f1 SHA512 4b8c097cd5465f57b1c0879363fe3bdc0941decf2d1f8a881f13f2b7f3207c425f3a0cdcb4be0eed7b33d3ac2f3f8b1835d1cfa69cd3fa2ff5e0be11385fef48
diff --git a/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild b/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild
index ce0e6d1aafb2..625518acb25e 100644
--- a/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild
+++ b/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RESTRICT="test"
RDEPEND="
diff --git a/sci-libs/scikit-image/scikit-image-0.22.0.ebuild b/sci-libs/scikit-image/scikit-image-0.22.0.ebuild
new file mode 100644
index 000000000000..d68a0d7c6de0
--- /dev/null
+++ b/sci-libs/scikit-image/scikit-image-0.22.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=meson-python
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="
+ https://scikit-image.org/
+ https://github.com/scikit-image/scikit-image/
+ https://pypi.org/project/scikit-image/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/imageio-2.27[${PYTHON_USEDEP}]
+ >=dev-python/lazy_loader-0.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.8[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.0.1[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.8[sparse(+),${PYTHON_USEDEP}]
+ >=dev-python/tifffile-2022.8.12[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+DOCS=( CONTRIBUTORS.txt RELEASE.txt )
+
+distutils_enable_tests pytest
+# There is a programmable error in your configuration file:
+#distutils_enable_sphinx doc/source dev-python/numpydoc dev-python/myst-parser
+
+python_test() {
+ # This needs to be run in the install dir
+ cd "${WORKDIR}/${PN//-/_}-${PV}-${EPYTHON//./_}/install/usr/lib/${EPYTHON}/site-packages/skimage" || die
+ distutils-r1_python_test
+}
+
+pkg_postinst() {
+ optfeature "FITS io capability" dev-python/astropy
+ optfeature "GTK" dev-python/pygtk
+ optfeature "Parallel computation" dev-python/dask
+ optfeature "io plugin providing most standard formats" dev-python/imread
+ optfeature "plotting" dev-python/matplotlib
+ optfeature "wavelet transformations" dev-python/pywavelets
+ optfeature "io plugin providing a wide variety of formats, including specialized formats using in medical imaging." dev-python/simpleitk
+}
diff --git a/sci-libs/scikit-learn/Manifest b/sci-libs/scikit-learn/Manifest
index 9751f4cfb522..c61f3cb4a30b 100644
--- a/sci-libs/scikit-learn/Manifest
+++ b/sci-libs/scikit-learn/Manifest
@@ -1 +1,2 @@
DIST scikit-learn-1.1.2.gh.tar.gz 7104556 BLAKE2B e67e1deddf5a1134b57a146e8271a406cb257ffc92c9719e90f5b9d98e711b68bc67e3367660ecaad61aaec1794bb8999b4dd00b7d56e21eca8fcb2ee72cc9aa SHA512 58789c1e607d7de3339fa3b8928553ca96cef93e8da8fd13612aa78e5ebde8e6a55e3bf7845f9a45b78ed77da6a219d08d2c26318b602f937e0e3debd239293e
+DIST scikit-learn-1.3.2.gh.tar.gz 7650823 BLAKE2B 170699917f46d6d3f4b9ebc314bc1ec45687dad0a4aec5d2cee6e288b5dbe508bad6dd80406501f289a33593c6482067393e9dc28155f85a4872a34523bf4199 SHA512 a3799e9b39b755a50ba225f836904a378f7d83a08274c614d0485e4d4d4a7b0c7adba2dbb6612f2ccb4e5167f872214a2853eff69d767dc70f52369bda7a230b
diff --git a/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild b/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild
index e498e32de5a9..8ec24c955368 100644
--- a/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild
+++ b/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz -> ${
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
IUSE="examples"
# Fatal Python error: Segmentation fault
@@ -28,18 +28,21 @@ DEPEND="
RDEPEND="
${DEPEND}
dev-python/wheel[${PYTHON_USEDEP}]
- dev-python/cython[${PYTHON_USEDEP}]
dev-python/joblib[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
dev-python/threadpoolctl[${PYTHON_USEDEP}]
"
+# <cython-3: https://bugs.gentoo.org/911369
+BDEPEND="
+ <dev-python/cython-3[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
# For some reason this wants to use urllib to fetch things from the internet
# distutils_enable_sphinx doc \
# dev-python/matplotlib \
-# dev-python/memory_profiler \
+# dev-python/memory-profiler \
# dev-python/numpydoc \
# dev-python/pandas \
# dev-python/pillow \
diff --git a/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild b/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..d810dd650090
--- /dev/null
+++ b/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning library for Python"
+HOMEPAGE="https://scikit-learn.org/stable/"
+SRC_URI="https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ virtual/blas:=
+ virtual/cblas:=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+# For some reason this wants to use urllib to fetch things from the internet
+# distutils_enable_sphinx doc \
+# dev-python/matplotlib \
+# dev-python/memory-profiler \
+# dev-python/numpydoc \
+# dev-python/pandas \
+# dev-python/pillow \
+# dev-python/seaborn \
+# dev-python/sphinx-gallery \
+# dev-python/sphinx-prompt \
+# sci-libs/scikit-image
+
+python_test() {
+ # This needs to be run in the install dir
+ cd "${WORKDIR}/${P}-${EPYTHON//./_}/install/usr/lib/${EPYTHON}/site-packages/sklearn" || die
+ distutils-r1_python_test
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete || die
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch
new file mode 100644
index 000000000000..65fc26f3eed1
--- /dev/null
+++ b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch
@@ -0,0 +1,22 @@
+diff --git a/skopt/space/transformers.py b/skopt/space/transformers.py
+index 68892952..87cc3b68 100644
+--- a/skopt/space/transformers.py
++++ b/skopt/space/transformers.py
+@@ -259,7 +259,7 @@ def transform(self, X):
+ if (self.high - self.low) == 0.:
+ return X * 0.
+ if self.is_int:
+- return (np.round(X).astype(np.int) - self.low) /\
++ return (np.round(X).astype(np.int64) - self.low) /\
+ (self.high - self.low)
+ else:
+ return (X - self.low) / (self.high - self.low)
+@@ -272,7 +272,7 @@ def inverse_transform(self, X):
+ raise ValueError("All values should be greater than 0.0")
+ X_orig = X * (self.high - self.low) + self.low
+ if self.is_int:
+- return np.round(X_orig).astype(np.int)
++ return np.round(X_orig).astype(np.int64)
+ return X_orig
+
+
diff --git a/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch
new file mode 100644
index 000000000000..8cf8cff9479f
--- /dev/null
+++ b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch
@@ -0,0 +1,104 @@
+diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py
+index 096770c1d..ebde568f5 100644
+--- a/skopt/learning/forest.py
++++ b/skopt/learning/forest.py
+@@ -27,7 +27,7 @@ def _return_std(X, trees, predictions, min_variance):
+ -------
+ std : array-like, shape=(n_samples,)
+ Standard deviation of `y` at `X`. If criterion
+- is set to "mse", then `std[i] ~= std(y | X[i])`.
++ is set to "squared_error", then `std[i] ~= std(y | X[i])`.
+
+ """
+ # This derives std(y | x) as described in 4.3.2 of arXiv:1211.0906
+@@ -61,9 +61,9 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
+ n_estimators : integer, optional (default=10)
+ The number of trees in the forest.
+
+- criterion : string, optional (default="mse")
++ criterion : string, optional (default="squared_error")
+ The function to measure the quality of a split. Supported criteria
+- are "mse" for the mean squared error, which is equal to variance
++ are "squared_error" for the mean squared error, which is equal to variance
+ reduction as feature selection criterion, and "mae" for the mean
+ absolute error.
+
+@@ -194,7 +194,7 @@ class RandomForestRegressor(_sk_RandomForestRegressor):
+ .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
+
+ """
+- def __init__(self, n_estimators=10, criterion='mse', max_depth=None,
++ def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
+ min_samples_split=2, min_samples_leaf=1,
+ min_weight_fraction_leaf=0.0, max_features='auto',
+ max_leaf_nodes=None, min_impurity_decrease=0.,
+@@ -228,20 +228,20 @@ def predict(self, X, return_std=False):
+ Returns
+ -------
+ predictions : array-like of shape = (n_samples,)
+- Predicted values for X. If criterion is set to "mse",
++ Predicted values for X. If criterion is set to "squared_error",
+ then `predictions[i] ~= mean(y | X[i])`.
+
+ std : array-like of shape=(n_samples,)
+ Standard deviation of `y` at `X`. If criterion
+- is set to "mse", then `std[i] ~= std(y | X[i])`.
++ is set to "squared_error", then `std[i] ~= std(y | X[i])`.
+
+ """
+ mean = super(RandomForestRegressor, self).predict(X)
+
+ if return_std:
+- if self.criterion != "mse":
++ if self.criterion != "squared_error":
+ raise ValueError(
+- "Expected impurity to be 'mse', got %s instead"
++ "Expected impurity to be 'squared_error', got %s instead"
+ % self.criterion)
+ std = _return_std(X, self.estimators_, mean, self.min_variance)
+ return mean, std
+@@ -257,9 +257,9 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
+ n_estimators : integer, optional (default=10)
+ The number of trees in the forest.
+
+- criterion : string, optional (default="mse")
++ criterion : string, optional (default="squared_error")
+ The function to measure the quality of a split. Supported criteria
+- are "mse" for the mean squared error, which is equal to variance
++ are "squared_error" for the mean squared error, which is equal to variance
+ reduction as feature selection criterion, and "mae" for the mean
+ absolute error.
+
+@@ -390,7 +390,7 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor):
+ .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
+
+ """
+- def __init__(self, n_estimators=10, criterion='mse', max_depth=None,
++ def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None,
+ min_samples_split=2, min_samples_leaf=1,
+ min_weight_fraction_leaf=0.0, max_features='auto',
+ max_leaf_nodes=None, min_impurity_decrease=0.,
+@@ -425,19 +425,19 @@ def predict(self, X, return_std=False):
+ Returns
+ -------
+ predictions : array-like of shape=(n_samples,)
+- Predicted values for X. If criterion is set to "mse",
++ Predicted values for X. If criterion is set to "squared_error",
+ then `predictions[i] ~= mean(y | X[i])`.
+
+ std : array-like of shape=(n_samples,)
+ Standard deviation of `y` at `X`. If criterion
+- is set to "mse", then `std[i] ~= std(y | X[i])`.
++ is set to "squared_error", then `std[i] ~= std(y | X[i])`.
+ """
+ mean = super(ExtraTreesRegressor, self).predict(X)
+
+ if return_std:
+- if self.criterion != "mse":
++ if self.criterion != "squared_error":
+ raise ValueError(
+- "Expected impurity to be 'mse', got %s instead"
++ "Expected impurity to be 'squared_error', got %s instead"
+ % self.criterion)
+ std = _return_std(X, self.estimators_, mean, self.min_variance)
+ return mean, std
diff --git a/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild b/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..694cd3ffafeb
--- /dev/null
+++ b/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sequential model-based optimization library"
+HOMEPAGE="https://scikit-optimize.github.io/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/joblib-0.11[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-0.19.1[${PYTHON_USEDEP}]
+ >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # https://github.com/scikit-optimize/scikit-optimize/pull/1187
+ "${FILESDIR}/${P}-numpy-1.24.patch"
+ # https://github.com/scikit-optimize/scikit-optimize/pull/1184/files
+ "${FILESDIR}/${P}-scikit-learn-1.2.0.patch"
+)
+
+distutils_enable_tests pytest
+# No such file or directory: image/logo.png
+#distutils_enable_sphinx doc \
+# dev-python/numpydoc \
+# dev-python/sphinx-issues \
+# dev-python/sphinx-gallery
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 d4b1f066575e..ca887f817722 100644
--- a/sci-libs/spqr/metadata.xml
+++ b/sci-libs/spqr/metadata.xml
@@ -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-r2.ebuild b/sci-libs/spqr/spqr-2.0.9-r3.ebuild
index 725a9490aa41..b63bdbe966ea 100644
--- a/sci-libs/spqr/spqr-2.0.9-r2.ebuild
+++ b/sci-libs/spqr/spqr-2.0.9-r3.ebuild
@@ -20,7 +20,7 @@ BDEPEND="virtual/pkgconfig
# spqr links to metis directly, too.
DEPEND="
virtual/lapack
- >=sci-libs/cholmod-2[lapack,partition?]
+ =sci-libs/cholmod-3*[lapack,partition?]
partition? ( >=sci-libs/metis-5.1.0 )
tbb? ( <dev-cpp/tbb-2021:= )"
RDEPEND="${DEPEND}"
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/spr-3.3.2.ebuild b/sci-libs/spr/spr-3.3.2.ebuild
index 5c35b6b55302..3b639a0e109b 100644
--- a/sci-libs/spr/spr-3.3.2.ebuild
+++ b/sci-libs/spr/spr-3.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -6,7 +6,7 @@ EAPI=6
inherit autotools
DESCRIPTION="Statistical analysis and machine learning library"
-HOMEPAGE="http://statpatrec.sourceforge.net/"
+HOMEPAGE="https://statpatrec.sourceforge.net/"
SRC_URI="mirror://sourceforge/statpatrec/${P^^}.tar.gz"
LICENSE="GPL-2"
diff --git a/sci-libs/stellarsolver/Manifest b/sci-libs/stellarsolver/Manifest
index 851d88078164..5b8e51985b49 100644
--- a/sci-libs/stellarsolver/Manifest
+++ b/sci-libs/stellarsolver/Manifest
@@ -1 +1 @@
-DIST stellarsolver-2.4.tar.gz 23402982 BLAKE2B 6eb9dafdf2a209afba10c09f7e7c0f6832a4399cd67c6ed3e4eb87ba98f2163ee8cbb342490314246c77d13581d1c0547817b6ab3c292685f3c496fa305f320d SHA512 f397ddafd3bb4774ac89e95673f67c4fef40ea0be842555608d95978ee26949b21b16cc984e00e936eda2ceca316f604b784b44844cf37ad1e44a5ef8d7e75f8
+DIST stellarsolver-2.5.tar.gz 23402988 BLAKE2B ec1ab428413104a329128e3e90883884eedf2c031fb4f3f5a8ab7579243a7b7a496579f3127ad0324176cf825d02a417e1538272b931a87090f1373adf0d1239 SHA512 003522ac0b4130e0ca16ccb617743e3716aa2a182ad63abfb901ea0b47c28a745e8ca1e5b7874d17636ff948b1ebc055277557f89a159e425af7d2a64f513fe8
diff --git a/sci-libs/stellarsolver/stellarsolver-2.4.ebuild b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild
index 1473c730ee95..1473c730ee95 100644
--- a/sci-libs/stellarsolver/stellarsolver-2.4.ebuild
+++ b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild
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 58f40fb53a98..c79fd37845bc 100644
--- a/sci-libs/suitesparseconfig/metadata.xml
+++ b/sci-libs/suitesparseconfig/metadata.xml
@@ -9,4 +9,7 @@
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>
+ <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 c149d7225fb8..0de6728aeb82 100644
--- a/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild
+++ b/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
# SuiteSparse_config directory".
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+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