aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/arpack/Manifest3
-rw-r--r--sci-libs/arpack/arpack-3.8.0_p20220604.ebuild102
-rw-r--r--sci-libs/arpack/metadata.xml26
-rw-r--r--sci-libs/arrayfire/arrayfire-3.7.2.ebuild2
-rw-r--r--sci-libs/arrayfire/arrayfire-3.7.3.ebuild2
-rw-r--r--sci-libs/arrayfire/arrayfire-3.8.0.ebuild2
-rw-r--r--sci-libs/asl/asl-0.1.7.ebuild2
-rw-r--r--sci-libs/asl/asl-9999.ebuild2
-rw-r--r--sci-libs/bids-validator/bids-validator-1.4.4.ebuild4
-rw-r--r--sci-libs/blis-amd/Manifest1
-rw-r--r--sci-libs/blis-amd/blis-amd-2.2.ebuild128
-rw-r--r--sci-libs/blis-amd/blis-amd-9999.ebuild128
-rw-r--r--sci-libs/blis-amd/files/blis-amd-2.2-blas_rpath.patch46
-rw-r--r--sci-libs/blis-amd/metadata.xml21
-rw-r--r--sci-libs/daal4py/Manifest1
-rw-r--r--sci-libs/daal4py/daal4py-2023.0.2.ebuild64
-rw-r--r--sci-libs/daal4py/files/daal4py-2023.0.2-dont-use-entire-include.patch104
-rw-r--r--sci-libs/daal4py/metadata.xml11
-rw-r--r--sci-libs/etsf_io/etsf_io-1.0.4-r2.ebuild2
-rw-r--r--sci-libs/etsf_io/metadata.xml4
-rw-r--r--sci-libs/fast5/Manifest1
-rw-r--r--sci-libs/fast5/fast5-0.6.5.ebuild36
-rw-r--r--sci-libs/fast5/metadata.xml15
-rw-r--r--sci-libs/flexiblas/Manifest1
-rw-r--r--sci-libs/flexiblas/flexiblas-3.0.4.ebuild45
-rw-r--r--sci-libs/flexiblas/flexiblas-9999.ebuild45
-rw-r--r--sci-libs/flexiblas/metadata.xml27
-rw-r--r--sci-libs/gdcm/gdcm-3.0.14.ebuild4
-rw-r--r--sci-libs/gvar/Manifest1
-rw-r--r--sci-libs/gvar/gvar-13.0.2.ebuild22
-rw-r--r--sci-libs/gvar/metadata.xml19
-rw-r--r--sci-libs/handyg/files/handyg-0.1.5-ld.patch22
-rw-r--r--sci-libs/itk/Manifest5
-rw-r--r--sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch550
-rw-r--r--sci-libs/itk/files/itk-5.3.0-uint8.patch10
-rw-r--r--sci-libs/itk/itk-5.2.1-r2.ebuild4
-rw-r--r--sci-libs/itk/itk-5.3.0-r1.ebuild269
-rw-r--r--sci-libs/itk/metadata.xml1
-rw-r--r--sci-libs/labbookdb/labbookdb-0.1.ebuild4
-rw-r--r--sci-libs/lib2bit/files/lib2bit-0.2.1_respect_DESTDIR.patch11
-rw-r--r--sci-libs/mpfun90/Manifest1
-rw-r--r--sci-libs/mpfun90/metadata.xml18
-rw-r--r--sci-libs/mpfun90/mpfun90-2023.02.26.ebuild29
-rw-r--r--sci-libs/nexus/nexus-4.4.3_p20200126.ebuild2
-rw-r--r--sci-libs/nibabel/Manifest4
-rw-r--r--sci-libs/nibabel/nibabel-5.0.0.ebuild (renamed from sci-libs/nibabel/nibabel-3.2.1.ebuild)14
-rw-r--r--sci-libs/nibabel/nibabel-5.1.0.ebuild (renamed from sci-libs/nibabel/nibabel-3.0.2.ebuild)33
-rw-r--r--sci-libs/nipy/Manifest3
-rw-r--r--sci-libs/nipy/nipy-0.4.2.ebuild55
-rw-r--r--sci-libs/nipy/nipy-0.5.0.ebuild52
-rw-r--r--sci-libs/nipy/nipy-0.6.0.ebuild37
-rw-r--r--sci-libs/nipype/Manifest3
-rw-r--r--sci-libs/nipype/files/nipype-1.8.4-dependency_compatibility.patch575
-rw-r--r--sci-libs/nipype/files/nipype-1.8.4-no_etelemetry.patch50
-rw-r--r--sci-libs/nipype/nipype-1.8.4-r1.ebuild94
-rw-r--r--sci-libs/nipype/nipype-1.8.4-r2.ebuild (renamed from sci-libs/nipype/nipype-1.5.0.ebuild)28
-rw-r--r--sci-libs/nipype/nipype-1.8.6.ebuild97
-rw-r--r--sci-libs/oneDAL/Manifest4
-rw-r--r--sci-libs/oneDAL/files/oneDAL-2021.7.1_p20221207-fix-compile.patch164
-rw-r--r--sci-libs/oneDAL/files/oneDAL-2023.2.1-fix-compile.patch162
-rw-r--r--sci-libs/oneDAL/metadata.xml11
-rw-r--r--sci-libs/oneDAL/oneDAL-2023.0.1.ebuild85
-rw-r--r--sci-libs/oneDAL/oneDAL-2023.2.1.ebuild85
-rw-r--r--sci-libs/oneMKL/Manifest2
-rw-r--r--sci-libs/oneMKL/files/oneMKL-0.2_p20221201-find-lapacke.patch22
-rw-r--r--sci-libs/oneMKL/metadata.xml11
-rw-r--r--sci-libs/oneMKL/oneMKL-0.2_p20221201.ebuild59
-rw-r--r--sci-libs/oneMKL/oneMKL-0.2_p20230221.ebuild59
-rw-r--r--sci-libs/pybids/pybids-0.10.2.ebuild4
-rw-r--r--sci-libs/pybids/pybids-0.12.4.ebuild4
-rw-r--r--sci-libs/pybids/pybids-0.6.5.ebuild4
-rw-r--r--sci-libs/pydicom/Manifest3
-rw-r--r--sci-libs/pydicom/pydicom-1.1.0.ebuild27
-rw-r--r--sci-libs/pydicom/pydicom-2.2.2.ebuild15
-rw-r--r--sci-libs/pydicom/pydicom-2.3.1.ebuild (renamed from sci-libs/pydicom/pydicom-1.4.2.ebuild)16
-rw-r--r--sci-libs/rdkit/rdkit-2021.09.4.ebuild2
-rw-r--r--sci-libs/scikit-learn-intelx/Manifest1
-rw-r--r--sci-libs/scikit-learn-intelx/metadata.xml11
-rw-r--r--sci-libs/scikit-learn-intelx/scikit-learn-intelx-2023.0.2.ebuild49
-rw-r--r--sci-libs/scikits_video/Manifest1
-rw-r--r--sci-libs/scikits_video/metadata.xml19
-rw-r--r--sci-libs/scikits_video/scikits_video-1.1.11_p20200115.ebuild32
-rw-r--r--sci-libs/simpleitk/simpleitk-1.2.4.ebuild2
-rw-r--r--sci-libs/spams-python/Manifest1
-rw-r--r--sci-libs/spams-python/metadata.xml24
-rw-r--r--sci-libs/spams-python/spams-python-2.6.2.ebuild60
-rw-r--r--sci-libs/spyking-circus/spyking-circus-1.1.0.ebuild6
-rw-r--r--sci-libs/torchvision/Manifest3
-rw-r--r--sci-libs/torchvision/files/torchvision-0.17.1-ffmpeg-6.patch36
-rw-r--r--sci-libs/torchvision/torchvision-0.14.1.ebuild (renamed from sci-libs/torchvision/torchvision-0.11.2.ebuild)23
-rw-r--r--sci-libs/torchvision/torchvision-0.17.1.ebuild45
-rw-r--r--sci-libs/vegas/Manifest1
-rw-r--r--sci-libs/vegas/metadata.xml19
-rw-r--r--sci-libs/vegas/vegas-6.0.1.ebuild24
-rw-r--r--sci-libs/wannier90/files/wannier90-1.1-0001.patch16
-rw-r--r--sci-libs/wannier90/files/wannier90-1.1-0002.patch105
-rw-r--r--sci-libs/wannier90/files/wannier90-2.0.1.1-runtest.patch12
-rw-r--r--sci-libs/xblas/Manifest1
-rw-r--r--sci-libs/xblas/metadata.xml17
-rw-r--r--sci-libs/xblas/xblas-1.0.248-r1.ebuild110
-rw-r--r--sci-libs/xraylib/Manifest1
-rw-r--r--sci-libs/xraylib/metadata.xml42
-rw-r--r--sci-libs/xraylib/xraylib-4.0.0.ebuild96
103 files changed, 2905 insertions, 1433 deletions
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
deleted file mode 100644
index 730cdcfdd..000000000
--- a/sci-libs/arpack/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST arpack-3.8.0_p20220604.gh.tar.gz 1012341 BLAKE2B 30f71c334f3ce8b24bce309cdfa5869fa4781baa1935dbd7772936f1f135e4d6a3b576f9fece8ba9ff48f053bac1d1328c4f5f5545cacaa568e1ea5695013e2f SHA512 f31c7bd45a82a8a64e1d041ca18eac9c50dac0ebecf845ad5e57c70d1c12ab36ab0630db224897bfe6181c0fff9152f1dea7b3a6a2eb53bfda2f2a590ca8a37b
-DIST arpack-tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4
-DIST arpack-ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328
diff --git a/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild b/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild
deleted file mode 100644
index b7a989641..000000000
--- a/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-COMMIT="5eafea4328f1631eab28b1a20e757d1f0e21f8a6"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake flag-o-matic fortran-2 python-single-r1
-
-DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
-HOMEPAGE="
- https://www.caam.rice.edu/software/ARPACK/
- https://github.com/opencollab/arpack-ng
-"
-SRC_URI="
- https://github.com/opencollab/${PN}-ng/archive/${COMMIT}.tar.gz -> ${PF}.gh.tar.gz
- doc? (
- http://www.caam.rice.edu/software/ARPACK/SRC/ug.ps.gz -> ${PN}-ug.ps.gz
- http://www.caam.rice.edu/software/ARPACK/DOCS/tutorial.ps.gz -> ${PN}-tutorial.ps.gz
- )
-"
-S="${WORKDIR}/${PN}-ng-${COMMIT}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples icb icbexmm int64 mpi python"
-
-RDEPEND="
- virtual/blas
- virtual/lapack
-
- icbexmm? ( dev-cpp/eigen )
- mpi? ( virtual/mpi[fortran] )
- icb? ( virtual/mpi[cxx] )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep 'dev-libs/boost:=[numpy,python,${PYTHON_USEDEP}]')
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-REQUIRED_USE="
- icb? ( mpi )
- python? (
- ${PYTHON_REQUIRED_USE}
- icbexmm
- )
-"
-
-src_configure() {
- append-fflags '-fallow-argument-mismatch'
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DEXAMPLES=$(usex examples)
- -DICB=$(usex icb)
- -DICBEXMM=$(usex icbexmm)
- -DINTERFACE64=$(usex int64)
- -DMPI=$(usex mpi)
- -DPYTHON3=$(usex python)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- dodoc DOCUMENTS/*.doc
- newdoc DOCUMENTS/README README.doc
- use doc && dodoc "${WORKDIR}"/*.ps
- if use examples; then
- for i in BAND COMPLEX NONSYM SIMPLE SVD SYM ; do
- exeinto "/usr/libexec/${PN}/examples/${i}"
- doexe "${BUILD_DIR}/EXAMPLES/${i}"/*
- done
-
- if use mpi; then
- exeinto "/usr/libexec/${PN}/examples/MPI"
- doexe "${BUILD_DIR}"/PARPACK/EXAMPLES/MPI/*
- fi
-
- if use python; then
- docinto examples/pyarpack
- dodoc "${BUILD_DIR}"/*.py
- fi
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
- if use icbexmm; then
- exeinto "/usr/libexec/${PN}/examples/MATRIX_MARKET"
- doexe "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET/arpackmm"
- rm "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET/arpackmm" || die
- docinto examples
- dodoc -r "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET"
- fi
- if use python; then
- python_domodule "${ED}/usr/$(get_libdir)/pyarpack"
- rm -r "${ED}/usr/$(get_libdir)/pyarpack" || die
- fi
-}
diff --git a/sci-libs/arpack/metadata.xml b/sci-libs/arpack/metadata.xml
deleted file mode 100644
index 9cd539912..000000000
--- a/sci-libs/arpack/metadata.xml
+++ /dev/null
@@ -1,26 +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@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- The ARnoldi PACKage is a library of routines capable of solving large scale symmetric,
- nonsymmetric, and generalized eigenproblems. The software is designed to compute a few
- eigenvalues with user specified features such as those of largest real
- part or largest magnitude. Storage requirements are on the order of
- n*k locations. No auxiliary storage is required. A set of Schur basis
- vectors for the desired k-dimensional eigen-space is computed which is
- numerically orthogonal to working precision. Numerically accurate
- eigenvectors are available on request.
- </longdescription>
- <upstream>
- <remote-id type="github">opencollab/arpack-ng</remote-id>
- </upstream>
- <use>
- <flag name="icb">Enable support for *[ae]upd_c with ISO_C_BINDING</flag>
- <flag name="icbexmm">Enable support for matrix market example based on ICB</flag>
- <flag name="int64">Use the 64-bit integer interface (ILP64)</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/arrayfire/arrayfire-3.7.2.ebuild b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild
index eb8917457..5d2f3c7a4 100644
--- a/sci-libs/arrayfire/arrayfire-3.7.2.ebuild
+++ b/sci-libs/arrayfire/arrayfire-3.7.2.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
diff --git a/sci-libs/arrayfire/arrayfire-3.7.3.ebuild b/sci-libs/arrayfire/arrayfire-3.7.3.ebuild
index eb8917457..5d2f3c7a4 100644
--- a/sci-libs/arrayfire/arrayfire-3.7.3.ebuild
+++ b/sci-libs/arrayfire/arrayfire-3.7.3.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
diff --git a/sci-libs/arrayfire/arrayfire-3.8.0.ebuild b/sci-libs/arrayfire/arrayfire-3.8.0.ebuild
index eb8917457..5d2f3c7a4 100644
--- a/sci-libs/arrayfire/arrayfire-3.8.0.ebuild
+++ b/sci-libs/arrayfire/arrayfire-3.8.0.ebuild
@@ -44,7 +44,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
diff --git a/sci-libs/asl/asl-0.1.7.ebuild b/sci-libs/asl/asl-0.1.7.ebuild
index 50eaeea5d..cbfbde5c6 100644
--- a/sci-libs/asl/asl-0.1.7.ebuild
+++ b/sci-libs/asl/asl-0.1.7.ebuild
@@ -26,7 +26,7 @@ RDEPEND="
DEPEND="${RDEPEND}
matlab? ( >=sci-libs/matio-1.5.2 )
"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/sci-libs/asl/asl-9999.ebuild b/sci-libs/asl/asl-9999.ebuild
index 82b464f7f..905c8813a 100644
--- a/sci-libs/asl/asl-9999.ebuild
+++ b/sci-libs/asl/asl-9999.ebuild
@@ -24,7 +24,7 @@ RDEPEND="
DEPEND="${RDEPEND}
matlab? ( >=sci-libs/matio-1.5.2 )
"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
src_prepare() {
cmake_src_prepare
diff --git a/sci-libs/bids-validator/bids-validator-1.4.4.ebuild b/sci-libs/bids-validator/bids-validator-1.4.4.ebuild
index c47095d79..a4f7f0340 100644
--- a/sci-libs/bids-validator/bids-validator-1.4.4.ebuild
+++ b/sci-libs/bids-validator/bids-validator-1.4.4.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=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
diff --git a/sci-libs/blis-amd/Manifest b/sci-libs/blis-amd/Manifest
deleted file mode 100644
index 86192778f..000000000
--- a/sci-libs/blis-amd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST blis-amd-2.2.tar.gz 9066754 BLAKE2B 9425a927b8dd37cc5a0843a0c5d7958906bcdbdd83b015d2428e2372e0cdc6206ed8ab9c4c0c6e6eccee091498b524061ffed8adcd9b0c857cc9c64446b3a19f SHA512 a7d58bda40c833b5388e0f7b316352cfcb186db535534682b647e2ca7b130518959b3c78043261e9f1f85f99a168bd20b919c6c2c184ee4f4d269da88d41a5d6
diff --git a/sci-libs/blis-amd/blis-amd-2.2.ebuild b/sci-libs/blis-amd/blis-amd-2.2.ebuild
deleted file mode 100644
index eb6c16385..000000000
--- a/sci-libs/blis-amd/blis-amd-2.2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit fortran-2 python-any-r1
-
-DESCRIPTION="AMD optimized BLAS-like Library Instantiation Software Framework"
-HOMEPAGE="https://developer.amd.com/amd-aocl/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/amd/blis"
-else
- SRC_URI="https://github.com/amd/blis/archive/${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}"/blis-"${PV}"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="64bit-index doc eselect-ldso openmp pthread static-libs"
-REQUIRED_USE="?? ( openmp pthread ) ?? ( eselect-ldso 64bit-index )"
-
-RDEPEND+="
- >=app-eselect/eselect-blas-0.2
- !sci-libs/blis
-"
-DEPEND+="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-blas_rpath.patch
-)
-
-pkg_pretend() {
- elog "It is very important that you set the BLIS_CONFNAME"
- elog "variable when compiling blis as it tunes the"
- elog "compilation to the specific CPU architecture."
- elog "To look at valid BLIS_CONFNAMEs, look at directories in"
- elog "\t https://github.com/amd/blis/tree/master/config"
- elog "At the very least, it should be set to the ARCH of"
- elog "the machine this will be run on, which gives a"
- elog "performance increase of ~4-5x."
-}
-
-src_configure() {
- local myconf=(
- --prefix="${BROOT}"/usr
- --libdir="${BROOT}"/usr/$(get_libdir)
- --enable-cblas
- --enable-blas
- --enable-arg-max-hack
- --enable-verbose-make
- --without-memkind
- --enable-shared
- $(use_enable static-libs static)
- )
-
- use 64bit-index && \
- myconf+=(
- --int-size=64
- --blas-int-size=64
- )
-
- # threading backend - openmp/pthreads/no
- if use openmp; then
- myconf+=( --enable-threading=openmp )
- elif use pthread; then
- myconf+=( --enable-threading=pthreads )
- else
- myconf+=( --enable-threading=no )
- fi
-
- # not an autotools configure script
- ./configure "${myconf[@]}" \
- "${EXTRA_ECONF[@]}" \
- ${BLIS_CONFNAME:-generic} || die
-}
-
-src_compile() {
- SET_RPATH=no \
- DEB_LIBBLAS=libblas.so.3 \
- DEB_LIBCBLAS=libcblas.so.3 \
- default
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
- use doc && dodoc README.md docs/*.md
-
- use eselect-ldso || return
-
- insinto /usr/$(get_libdir)/blas/blis-amd
- doins lib/${BLIS_CONFNAME:-generic}/lib{c,}blas.so.3
- dosym libblas.so.3 usr/$(get_libdir)/blas/blis-amd/libblas.so
- dosym libcblas.so.3 usr/$(get_libdir)/blas/blis-amd/libcblas.so
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local libdir=$(get_libdir) me="blis-amd"
-
- # check blas
- elog "adding ${me}"
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- elog "added ${me}"
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso && eselect blas validate
-}
diff --git a/sci-libs/blis-amd/blis-amd-9999.ebuild b/sci-libs/blis-amd/blis-amd-9999.ebuild
deleted file mode 100644
index 672277b36..000000000
--- a/sci-libs/blis-amd/blis-amd-9999.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit fortran-2 python-any-r1
-
-DESCRIPTION="AMD optimized BLAS-like Library Instantiation Software Framework"
-HOMEPAGE="https://developer.amd.com/amd-aocl/"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/amd/blis"
-else
- SRC_URI="https://github.com/amd/blis/archive/${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}"/blis-"${PV}"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="64bit-index doc eselect-ldso openmp pthread static-libs"
-REQUIRED_USE="?? ( openmp pthread ) ?? ( eselect-ldso 64bit-index )"
-
-RDEPEND+="
- >=app-eselect/eselect-blas-0.2
- !sci-libs/blis
-"
-DEPEND+="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.2-blas_rpath.patch
-)
-
-pkg_pretend() {
- elog "It is very important that you set the BLIS_CONFNAME"
- elog "variable when compiling blis as it tunes the"
- elog "compilation to the specific CPU architecture."
- elog "To look at valid BLIS_CONFNAMEs, look at directories in"
- elog "\t https://github.com/amd/blis/tree/master/config"
- elog "At the very least, it should be set to the ARCH of"
- elog "the machine this will be run on, which gives a"
- elog "performance increase of ~4-5x."
-}
-
-src_configure() {
- local myconf=(
- --prefix="${BROOT}"/usr
- --libdir="${BROOT}"/usr/$(get_libdir)
- --enable-cblas
- --enable-blas
- --enable-arg-max-hack
- --enable-verbose-make
- --without-memkind
- --enable-shared
- $(use_enable static-libs static)
- )
-
- use 64bit-index && \
- myconf+=(
- --int-size=64
- --blas-int-size=64
- )
-
- # threading backend - openmp/pthreads/no
- if use openmp; then
- myconf+=( --enable-threading=openmp )
- elif use pthread; then
- myconf+=( --enable-threading=pthreads )
- else
- myconf+=( --enable-threading=no )
- fi
-
- # not an autotools configure script
- ./configure "${myconf[@]}" \
- "${EXTRA_ECONF[@]}" \
- ${BLIS_CONFNAME:-generic} || die
-}
-
-src_compile() {
- SET_RPATH=no \
- DEB_LIBBLAS=libblas.so.3 \
- DEB_LIBCBLAS=libcblas.so.3 \
- default
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
- use doc && dodoc README.md docs/*.md
-
- use eselect-ldso || return
-
- insinto /usr/$(get_libdir)/blas/blis-amd
- doins lib/${BLIS_CONFNAME:-generic}/lib{c,}blas.so.3
- dosym libblas.so.3 usr/$(get_libdir)/blas/blis-amd/libblas.so
- dosym libcblas.so.3 usr/$(get_libdir)/blas/blis-amd/libcblas.so
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local libdir=$(get_libdir) me="blis-amd"
-
- # check blas
- elog "adding ${me}"
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- elog "added ${me}"
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso && eselect blas validate
-}
diff --git a/sci-libs/blis-amd/files/blis-amd-2.2-blas_rpath.patch b/sci-libs/blis-amd/files/blis-amd-2.2-blas_rpath.patch
deleted file mode 100644
index 90ab11d52..000000000
--- a/sci-libs/blis-amd/files/blis-amd-2.2-blas_rpath.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/Makefile b/Makefile
-index ea7a550..1b3a1d2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -689,6 +689,9 @@ else
- endif
- endif
-
-+ $(LINKER) $(SOFLAGS) -o $(BASE_LIB_PATH)/$(DEB_LIBBLAS) $? $(LDFLAGS) -Wl,--soname,$(DEB_LIBBLAS)
-+ $(LINKER) $(SOFLAGS) -o $(BASE_LIB_PATH)/$(DEB_LIBCBLAS) $? $(LDFLAGS) -Wl,--soname,$(DEB_LIBCBLAS)
-+
- # Local symlink for shared library.
- # NOTE: We use a '.loc' suffix to avoid filename collisions in case this
- # rule is executed concurrently with the install-lib-symlinks rule, which
-diff --git a/common.mk b/common.mk
-index e73a5d1..2aa8a23 100644
---- a/common.mk
-+++ b/common.mk
-@@ -565,11 +565,14 @@ ifeq ($(MK_ENABLE_SHARED),yes)
- ifeq ($(MK_ENABLE_STATIC),no)
- LIBBLIS_L := $(LIBBLIS_SO)
- LIBBLIS_LINK := $(LIBBLIS_SO_PATH)
-+SET_RPATH ?= yes
- ifeq ($(IS_WIN),no)
-+ifeq ($(SET_RPATH),yes)
- # For Linux and OS X: set rpath property of shared object.
- LDFLAGS += -Wl,-rpath,$(BASE_LIB_PATH)
- endif
- endif
-+endif
- # On windows, use the shared library even if static is created.
- ifeq ($(IS_WIN),yes)
- LIBBLIS_L := $(LIBBLIS_SO)
-diff --git a/configure b/configure
-index 35d4f1d..93c2cd6 100755
---- a/configure
-+++ b/configure
-@@ -3055,7 +3055,7 @@ main()
- enable_aocl_zen='yes'
- enable_aocl_zen_01=1
- else
-- enable_aocl_zen = 'no';
-+ enable_aocl_zen='no';
- enable_aocl_zen_01=0;
- fi
-
diff --git a/sci-libs/blis-amd/metadata.xml b/sci-libs/blis-amd/metadata.xml
deleted file mode 100644
index 1a481192a..000000000
--- a/sci-libs/blis-amd/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gentoo@aisha.cc</email>
- <name>Aisha Tammy</name>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">amd/libflame</remote-id>
- </upstream>
- <use>
- <flag name="64bit-index">Enable 64bit array indexing, incompatible with runtime switching</flag>
- <flag name="eselect-ldso">Enable runtime library switching by eselect and ld.so</flag>
- <flag name="openmp">Use openmp threadding model</flag>
- <flag name="pthread">Use pthread threadding model</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/daal4py/Manifest b/sci-libs/daal4py/Manifest
new file mode 100644
index 000000000..0d9bbdab2
--- /dev/null
+++ b/sci-libs/daal4py/Manifest
@@ -0,0 +1 @@
+DIST daal4py-2023.0.2.tar.gz 13864043 BLAKE2B dfc082a8b008553e0d20cf7a24417fecd510dd8e6b3286a57a633b1e3b79cecc87fc1189df6f4a3440d7ccb74077c54a9f6eaf58bfbb19181cb4b437b3e06ae6 SHA512 dd8c983365d4f32d2640caab17319970c86bfed5ad6852d15dce35ba66a3584c51b94fa5ef0d8073b917332ea18a8c9af95ef8da125edb47190f27e9b8cab424
diff --git a/sci-libs/daal4py/daal4py-2023.0.2.ebuild b/sci-libs/daal4py/daal4py-2023.0.2.ebuild
new file mode 100644
index 000000000..f23e1c738
--- /dev/null
+++ b/sci-libs/daal4py/daal4py-2023.0.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Python API to the oneAPI Data Analytics Library"
+HOMEPAGE="https://github.com/intel/scikit-learn-intelex"
+SRC_URI="https://github.com/intel/scikit-learn-intelex/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/scikit-learn-intelex-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-build/cmake
+ sys-devel/DPC++
+ test? (
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn-intelx[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+"
+
+DEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/dpctl[${PYTHON_USEDEP}]
+ sci-libs/oneDAL
+ virtual/mpi
+"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2023.0.2-dont-use-entire-include.patch"
+)
+
+python_prepare_all() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export DPCPPROOT="${ESYSROOT}/usr/lib/llvm/intel"
+ export CPLUS_INCLUDE_PATH="${ESYSROOT}/usr/lib/llvm/intel/include:${ESYSROOT}/usr/lib/llvm/intel/include/sycl:${ESYSROOT}/usr/lib/llvm/intel/include/sycl/CL/sycl"
+ export MPIROOT="${ESYSROOT}/usr"
+ export DALROOT="${ESYSROOT}/usr"
+ # Parallel build is broken
+ export MAKEOPTS="-j1"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ export PYTHONPATH="${BUILD_DIR}/install/usr/lib/${EPYTHON}/site-packages"
+ # We don't use epytest because it overwrites our PYTHONPATH
+ pytest -vv || die
+}
diff --git a/sci-libs/daal4py/files/daal4py-2023.0.2-dont-use-entire-include.patch b/sci-libs/daal4py/files/daal4py-2023.0.2-dont-use-entire-include.patch
new file mode 100644
index 000000000..d26414105
--- /dev/null
+++ b/sci-libs/daal4py/files/daal4py-2023.0.2-dont-use-entire-include.patch
@@ -0,0 +1,104 @@
+diff --git a/generator/gen_daal4py.py b/generator/gen_daal4py.py
+index 203c870..7fdac1e 100755
+--- a/generator/gen_daal4py.py
++++ b/generator/gen_daal4py.py
+@@ -34,7 +34,7 @@ from .wrappers import (required, ignore, defaults, has_dist, ifaces,
+ enum_maps, enum_params, wrap_algo, result_to_compute)
+ from .wrapper_gen import wrapper_gen
+ from .format import mk_var
+-from shutil import copytree, rmtree
++from shutil import copytree, copyfile, rmtree
+ from subprocess import call
+
+ try:
+@@ -1045,7 +1045,13 @@ def gen_daal4py(daalroot, outdir, version, warn_all=False,
+ head_path = jp("build", "include")
+ algo_path = jp(head_path, "algorithms")
+ rmtree(head_path, ignore_errors=True)
+- copytree(orig_path, head_path)
++ copytree(jp(orig_path, 'services'), jp(head_path, 'services'))
++ copytree(jp(orig_path, 'oneapi', 'dal'), jp(head_path, 'oneapi', 'dal'))
++ copytree(jp(orig_path, 'data_management'), jp(head_path, 'data_management'))
++ copytree(jp(orig_path, 'algorithms'), jp(head_path, 'algorithms'))
++ copyfile(jp(orig_path, 'daal.h'), jp(head_path, 'daal.h'))
++ copyfile(jp(orig_path, 'daal_sycl.h'), jp(head_path, 'daal_sycl.h'))
++ copyfile(jp(orig_path, 'oneapi', 'dal.hpp'), jp(head_path, 'oneapi', 'dal.hpp'))
+ for (dirpath, dirnames, filenames) in os.walk(algo_path):
+ for filename in filenames:
+ call([shutil.which("clang-format"), "-i", jp(dirpath, filename)])
+diff --git a/scripts/build_backend.py b/scripts/build_backend.py
+index dd314e4..ec1ec2c 100755
+--- a/scripts/build_backend.py
++++ b/scripts/build_backend.py
+@@ -118,20 +118,12 @@ def custom_build_cmake_clib(iface, cxx=None, onedal_major_binary_version=1):
+ python_library_dir = win_python_path_lib if IS_WIN else get_config_var('LIBDIR')
+ numpy_include = np.get_include()
+
+- if iface == 'dpc':
+- if IS_WIN:
+- cxx = 'icx'
+- else:
+- cxx = 'icpx'
+- elif cxx is None:
+- raise RuntimeError('CXX compiler shall be specified')
+-
+ cmake_args = [
+ "cmake",
+ cmake_generator,
+ "-S" + builder_directory,
+ "-B" + abs_build_temp_path,
+- "-DCMAKE_CXX_COMPILER=" + cxx,
++ "-DCMAKE_CXX_COMPILER=" + os.environ.get('CXX'),
+ "-DCMAKE_INSTALL_PREFIX=" + install_directory,
+ "-DCMAKE_PREFIX_PATH=" + install_directory,
+ "-DIFACE=" + iface,
+@@ -140,7 +132,7 @@ def custom_build_cmake_clib(iface, cxx=None, onedal_major_binary_version=1):
+ "-DNUMPY_INCLUDE_DIRS=" + numpy_include,
+ "-DPYTHON_LIBRARY_DIR=" + python_library_dir,
+ "-DoneDAL_INCLUDE_DIRS=" + jp(os.environ['DALROOT'], 'include'),
+- "-DoneDAL_LIBRARY_DIR=" + jp(os.environ['DALROOT'], 'lib', 'intel64'),
++ "-DoneDAL_LIBRARY_DIR=" + jp(os.environ['DALROOT'], 'lib', 'lib64'),
+ "-Dpybind11_DIR=" + pybind11.get_cmake_dir(),
+ ]
+
+diff --git a/setup.py b/setup.py
+index 8f56b48..36260ea 100644
+--- a/setup.py
++++ b/setup.py
+@@ -48,13 +48,13 @@ if dal_root is None:
+
+ if 'linux' in sys.platform:
+ IS_LIN = True
+- lib_dir = jp(dal_root, 'lib', 'intel64')
++ lib_dir = jp(dal_root, 'lib', 'lib64')
+ elif sys.platform == 'darwin':
+ IS_MAC = True
+ lib_dir = jp(dal_root, 'lib')
+ elif sys.platform in ['win32', 'cygwin']:
+ IS_WIN = True
+- lib_dir = jp(dal_root, 'lib', 'intel64')
++ lib_dir = jp(dal_root, 'lib', 'lib64')
+ else:
+ assert False, sys.platform + ' not supported'
+
+@@ -178,7 +178,8 @@ def get_build_options():
+ 'icc', 'icpc', 'icl', 'dpcpp', 'icx', 'icpx']
+ eca = ['-DPY_ARRAY_UNIQUE_SYMBOL=daal4py_array_API',
+ '-DD4P_VERSION="' + d4p_version + '"', '-DNPY_ALLOW_THREADS=1']
+- ela = []
++ ela = os.environ.get('LDFLAGS').split(" ")
++ eca += os.environ.get('CFLAGS').split(" ")
+
+ if using_intel and IS_WIN:
+ include_dir_plat.append(
+@@ -311,8 +312,8 @@ def build_oneapi_backend():
+ ela = ['-fsycl'] + ['-fsycl-device-code-split=per_kernel'] + ela
+
+ return build_backend.build_cpp(
+- cc=cc,
+- cxx=cxx,
++ cc=os.environ.get('CC'),
++ cxx=os.environ.get('CXX'),
+ sources=['src/oneapi/oneapi_backend.cpp'],
+ targetname='oneapi_backend',
+ targetprefix='' if IS_WIN else 'lib',
diff --git a/sci-libs/daal4py/metadata.xml b/sci-libs/daal4py/metadata.xml
new file mode 100644
index 000000000..247707c87
--- /dev/null
+++ b/sci-libs/daal4py/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">intel/scikit-learn-intelex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/etsf_io/etsf_io-1.0.4-r2.ebuild b/sci-libs/etsf_io/etsf_io-1.0.4-r2.ebuild
index 5216809ec..3961e4951 100644
--- a/sci-libs/etsf_io/etsf_io-1.0.4-r2.ebuild
+++ b/sci-libs/etsf_io/etsf_io-1.0.4-r2.ebuild
@@ -7,7 +7,7 @@ inherit fortran-2
DESCRIPTION="A library of F90 routines to read/write the ETSF file format"
HOMEPAGE="https://github.com/ElectronicStructureLibrary/libetsf_io"
-SRC_URI="https://launchpad.net/etsf-io/1.0/${PV}/+download/${P}.tar.gz"
+SRC_URI="https://launchpad.net/etsf-io/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
diff --git a/sci-libs/etsf_io/metadata.xml b/sci-libs/etsf_io/metadata.xml
index 5c8a3611e..d8e7a0e60 100644
--- a/sci-libs/etsf_io/metadata.xml
+++ b/sci-libs/etsf_io/metadata.xml
@@ -7,4 +7,8 @@
<use>
<flag name="pic">Compile Position Independent Code</flag>
</use>
+ <upstream>
+ <remote-id type="github">ElectronicStructureLibrary/libetsf_io</remote-id>
+ <remote-id type="launchpad">etsf-io</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/fast5/Manifest b/sci-libs/fast5/Manifest
deleted file mode 100644
index 7ec4bcd49..000000000
--- a/sci-libs/fast5/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fast5-0.6.5.tar.gz 93639 BLAKE2B 921bf57fa24faf24cfb56a5ee059e12afd8cbccbbb0039205dd27f739abc50f83452dd76726779d700fae93e23bf133aaf5cc42deb80c4ffeae36b89fc68cf9b SHA512 a587e112df36e3d0e151c8c7e01aeffe31294402c2743040c9567ff213f7ae93d6ea7d827a618c7a57fece038b8a53844dbf41fd226416b3fe8c1211bd9311c9
diff --git a/sci-libs/fast5/fast5-0.6.5.ebuild b/sci-libs/fast5/fast5-0.6.5.ebuild
deleted file mode 100644
index cf06e1d8d..000000000
--- a/sci-libs/fast5/fast5-0.6.5.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-DOCS_BUILDER="doxygen"
-DOCS_DIR="${WORKDIR}/${P}"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="C++ header-only library for reading Oxford Nanopore Fast5 files"
-HOMEPAGE="https://github.com/mateidavid/fast5"
-SRC_URI="https://github.com/mateidavid/fast5/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="sci-libs/hdf5
- dev-python/cython[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${P}/python"
-
-python_compile() {
- HDF5_DIR="${EPREFIX}"/usr HDF5_LIB_DIR="${EPREFIX}"/usr/$(get_libdir) distutils-r1_python_compile
-}
-
-python_compile_all(){
- docs_compile
-}
-
-python_install() {
- HDF5_DIR="${EPREFIX}"/usr HDF5_LIB_DIR="${EPREFIX}"/usr/$(get_libdir) distutils-r1_python_install
-}
diff --git a/sci-libs/fast5/metadata.xml b/sci-libs/fast5/metadata.xml
deleted file mode 100644
index 6f7127e91..000000000
--- a/sci-libs/fast5/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>mmokrejs@fold.natur.cuni.cz</email>
- <name>Martin Mokrejs</name>
- </maintainer>
- <maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">mateidavid/fast5</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/flexiblas/Manifest b/sci-libs/flexiblas/Manifest
deleted file mode 100644
index 90c0bcb3d..000000000
--- a/sci-libs/flexiblas/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flexiblas-3.0.4.tar.gz 33597962 BLAKE2B d87190d7fbac70f93a5c4fa23cecd6ce75ef1886eb4f0758b4a9da8e9c3d271304e09c94ae53ad80206886ddc7084ff29e3c27b17d50cbcfa8225bcbe944bd48 SHA512 2f677244d4face8ca5ec8b304da55937e311040cc2bb9278fe28695c74f56e4b29810507a9cda0b30f289058f1f5a2bf0035258c39f69df516ee76c606b9f2a2
diff --git a/sci-libs/flexiblas/flexiblas-3.0.4.ebuild b/sci-libs/flexiblas/flexiblas-3.0.4.ebuild
deleted file mode 100644
index 7a7e253d0..000000000
--- a/sci-libs/flexiblas/flexiblas-3.0.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake python-any-r1
-
-DESCRIPTION="BLAS/LAPACK wrapper library for runtime switching of backends"
-HOMEPAGE="https://www.mpi-magdeburg.mpg.de/projects/flexiblas"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/mpimd-csc/flexiblas"
-else
- SRC_URI="https://github.com/mpimd-csc/flexiblas/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-3 MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? ( ${PYTHON_DEPS} )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DTESTS=$(usex test)
- -DEXAMPLES=OFF
- -DCBLAS=ON
- -DLAPACK=ON
- -DBLAS_AUTO_DETECT=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- dosym libflexiblas.so "/usr/$(get_libdir)/libblas.so"
- dosym libflexiblas.so "/usr/$(get_libdir)/libcblas.so"
- dosym libflexiblas.so "/usr/$(get_libdir)/liblapack.so"
-}
diff --git a/sci-libs/flexiblas/flexiblas-9999.ebuild b/sci-libs/flexiblas/flexiblas-9999.ebuild
deleted file mode 100644
index 7a7e253d0..000000000
--- a/sci-libs/flexiblas/flexiblas-9999.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake python-any-r1
-
-DESCRIPTION="BLAS/LAPACK wrapper library for runtime switching of backends"
-HOMEPAGE="https://www.mpi-magdeburg.mpg.de/projects/flexiblas"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/mpimd-csc/flexiblas"
-else
- SRC_URI="https://github.com/mpimd-csc/flexiblas/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-3 MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? ( ${PYTHON_DEPS} )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DTESTS=$(usex test)
- -DEXAMPLES=OFF
- -DCBLAS=ON
- -DLAPACK=ON
- -DBLAS_AUTO_DETECT=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- dosym libflexiblas.so "/usr/$(get_libdir)/libblas.so"
- dosym libflexiblas.so "/usr/$(get_libdir)/libcblas.so"
- dosym libflexiblas.so "/usr/$(get_libdir)/liblapack.so"
-}
diff --git a/sci-libs/flexiblas/metadata.xml b/sci-libs/flexiblas/metadata.xml
deleted file mode 100644
index c37e14ea4..000000000
--- a/sci-libs/flexiblas/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gentoo@aisha.cc</email>
- <name>Aisha Tammy</name>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription>
- FlexiBLAS is a wrapper library that enables the
- exchange of the BLAS, CBLAS and LAPACK implementations
- used in an executable without recompiling or re-linking it.
- FlexiBLAS provides a GNU Fortran compatible interface
- to all functions and subroutines provided by the Netlib
- reference implementations. As backends FlexiBLAS can employ
- all BLAS and LAPACK implementations which consist of a
- single shared library directly. Other variants like the
- Intel MKL or ATLAS that use multiple files are integrated
- by FlexiBLAS by wrapping all files into a single surrogate library.
- </longdescription>
- <upstream>
- <remote-id type="github">mpimd-csc/flexiblas</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/gdcm/gdcm-3.0.14.ebuild b/sci-libs/gdcm/gdcm-3.0.14.ebuild
index 5249e81b7..c1000fea9 100644
--- a/sci-libs/gdcm/gdcm-3.0.14.ebuild
+++ b/sci-libs/gdcm/gdcm-3.0.14.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_10 )
inherit cmake python-single-r1
@@ -40,7 +40,7 @@ RDEPEND="${DEPEND}"
BDEPEND="
dev-libs/libxslt
app-text/docbook-xsl-ns-stylesheets
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
python? (
${PYTHON_DEPS}
>=dev-lang/swig-3.0.7
diff --git a/sci-libs/gvar/Manifest b/sci-libs/gvar/Manifest
new file mode 100644
index 000000000..16bdf1de2
--- /dev/null
+++ b/sci-libs/gvar/Manifest
@@ -0,0 +1 @@
+DIST gvar-13.0.2.tar.gz 1001282 BLAKE2B 5c4032406e3d514351bac6f21b5353c8db4e2081efd26b758cce126cce4a3df350ac8086e89895c73ffc27367773a43354138e8598490cbe8f7bacdde216f0bd SHA512 541cb5cc44909cf44e9f808a08a959aa5e3e91c49356fb8865879a9dbb5fe6f3c4b46d88bc4f9346d9b83163c938dfd697e73b7b9a00815ed6dc383630795cb4
diff --git a/sci-libs/gvar/gvar-13.0.2.ebuild b/sci-libs/gvar/gvar-13.0.2.ebuild
new file mode 100644
index 000000000..b9d9121e4
--- /dev/null
+++ b/sci-libs/gvar/gvar-13.0.2.ebuild
@@ -0,0 +1,22 @@
+EAPI=8
+
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Gaussian random variables."
+HOMEPAGE="https://github.com/gplepage/gvar"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/cython-0.17[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
diff --git a/sci-libs/gvar/metadata.xml b/sci-libs/gvar/metadata.xml
new file mode 100644
index 000000000..31346f0dd
--- /dev/null
+++ b/sci-libs/gvar/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexander@neuwirth-informatik.de</email>
+ <name>Alexander Puck Neuwirth</name>
+ </maintainer>
+ <longdescription lang="en">
+ This package facilitates the creation and manipulation of arbitrarily complicated (correlated) multi-dimensional Gaussian random variables. The random variables are represented by a new data type (gvar.GVar) that can be used in arithmetic expressions and pure Python functions. Such expressions/functions create new Gaussian random variables while automatically tracking statistical correlations between the new and old variables. This data type is useful for simple error propagation, but also is heavily used by the Bayesian least-squares fitting module lsqfit.py to define priors and specify fit results, while accounting for correlations between all variables.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">gvar</remote-id>
+ <remote-id type="github">gplepage/gvar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/handyg/files/handyg-0.1.5-ld.patch b/sci-libs/handyg/files/handyg-0.1.5-ld.patch
deleted file mode 100644
index f3f06cd91..000000000
--- a/sci-libs/handyg/files/handyg-0.1.5-ld.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/configure 2022-09-19 01:59:40.382091704 +0200
-+++ b/configure 2022-09-19 02:00:00.734380534 +0200
-@@ -358,7 +358,7 @@
- FLDFLAGS+=" $1" ;;
- -Bstatic | -Bdynamic | *.ld)
- echo "Found linker flag $1" 1>&2
-- FLDFLAGS+=" -Wl,$1" ;;
-+ FLDFLAGS+=" $1" ;;
- /*)
- echo "Found linker flag $1" 1>&2
- FLDFLAGS+=" -L$1" ;;
---- a/configure 2022-09-19 02:02:18.064324729 +0200
-+++ b/configure 2022-09-19 02:02:22.935393539 +0200
-@@ -364,7 +364,7 @@
- FLDFLAGS+=" -L$1" ;;
- -rpath*)
- echo "Found linker flag $1" 1>&2
-- FLDFLAGS+=" -Wl,$1,$2"
-+ FLDFLAGS+=" $1,$2"
- shift ;;
- -dynamic-linker)
- shift ;;
diff --git a/sci-libs/itk/Manifest b/sci-libs/itk/Manifest
index b346829c9..87328da27 100644
--- a/sci-libs/itk/Manifest
+++ b/sci-libs/itk/Manifest
@@ -1,7 +1,12 @@
DIST ITKAdaptiveDenoising-5.2.1.tar.gz 757851 BLAKE2B 3d94e1db6d2524adf7491e6e24308618b7b69e54184cbfe29a7084b55b8a337228a308233e0f0ab2cef04df9c8f42010a758e0071efdfd4905c28ca6399bfdfd SHA512 7e9c5a6681cd9777b33f11d1a1a5f6d8b1b6f7d2ec2d4d829398c78045b53b247bddea99e4a5450ba8d6666a31b5216ef6e07a2c874c5723af072e0d3c8cf9f4
+DIST ITKAdaptiveDenoising-5.3.0.tar.gz 757851 BLAKE2B 3d94e1db6d2524adf7491e6e24308618b7b69e54184cbfe29a7084b55b8a337228a308233e0f0ab2cef04df9c8f42010a758e0071efdfd4905c28ca6399bfdfd SHA512 7e9c5a6681cd9777b33f11d1a1a5f6d8b1b6f7d2ec2d4d829398c78045b53b247bddea99e4a5450ba8d6666a31b5216ef6e07a2c874c5723af072e0d3c8cf9f4
+DIST ITKGenericLabelInterpolator-1.2.0.tar.gz 137697 BLAKE2B f7bb877654e852f56f8eb1086f988ec3b71106b6528d5cf03734a3c3eb4ce5ac875b52081e0a1339ac237e1616b0516b8cc8efb4429ec0e5ef64ac5461a40836 SHA512 bc1fcd3c13cb182420bb4a5d2c9c789553f8b7b581fd7d0b7d687331e22c90d30efdd338bfbc22dfb8c97d3ab7209f761425c4d12755655d86d81ffb231d881c
DIST ITKGenericLabelInterpolator-5.2.1.tar.gz 140427 BLAKE2B b19703872926516d9d07acd4078d343e02f00a162d2cb8b6787d6210223be375a059e767cf9c32dd234e77ff51d1af5e08d9a9844c34e23a531938c7d3ded4a9 SHA512 69e53b281cd3f7c136ad9e7ded2c362e0d9e22dc2bd595f42abcefe2cf9ec4fa0f44192efc3d328290be4adaee1ebd74be3035b18147081cc8b8479a333cdea6
DIST InsightData-5.2.1.tar.gz 293448802 BLAKE2B fd2bb012c0d96243d3543993a87e73c43be0626b0478959e36633f22c7e8d48a46d0f4d18fa3a8d952d4a705ca20594d92c07044000b8e1bc65390ce981af3e7 SHA512 93eae6bdf62ce29ea6dfb1dddedffe4046400a86074dd4d47e3ddcd7ff9ab10031363275cb7f9741add7c02343f1f3e6a41b0ec6533531f4a3a42607c51aa704
+DIST InsightData-5.3.0.tar.gz 366826437 BLAKE2B ae3cbb3f7a51d6b86717a073c0eb55c528baeff240f44413c25ce11319a7e0ef9ff073d1cb94d2d15d104687fe5b8e95d0d4286832dbb02993da8fe706fecb28 SHA512 3caf7d1d64543312d668ef1a6b8c879161a37deee5c980fbfeb14e299a296a2825ae48463bff915f50c98ec0ccdbef3e1aff7c4f52604a93c6028951f90a4757
DIST InsightToolkit-5.2.1.tar.gz 20702482 BLAKE2B 06dc73a80b4999baff3fc75e225c8720d00927fd268bd0398bb0eea44679777b777836f307f02a2df3641a300e17c9c2ee9f77d2a87539bf8a6ed49ce341bf23 SHA512 6786e39cdf3d0c3a31abd1e23481e30f6dc9dac189ffe372dde3db688f2f57686a8beb321778327e1ff683ed844d41f1dee937b0ba542b2365e2195dfca398c7
+DIST InsightToolkit-5.3.0.tar.gz 21577835 BLAKE2B 7538b673cbe17ab23d6b70e2cb2486e6711df6a79d6806c641a10a8b624c4723ca5f562b97be814551c79c42dea772ac64ed7bc8fdf2d28f5a95cb6462e50638 SHA512 29359839c0fb13acd430410e6adadbecb4d9d8cb4871a0aba0ac67b539c235354a591655dd654f43daa5f035a33721671d665eee8a4a129a9d0d3419e2356e97
DIST itk-5.2.1-testingdata.tar.gz 2411475710 BLAKE2B edb8ba9bea8bf890749aa46ab3fb29f7d3e25e0f8bb7da7d7cca8c6524f75778b823232536602ade763c025b8e0fe134a555e6fcf652b8d42cc08f08cbd0c29b SHA512 89b160dc5f7781e148aad065f539b80b9accb9ec384e424398287e62b42a88cff610afcf41622a6d3e4e12c1938e7403b3dae65fa13bfb40c29a6b2f90a02398
+DIST itk-5.3.0-testingdata.tar.gz 2569680868 BLAKE2B a358bdb3a9f6de883e9fe41129af88d7a476acc4839fd17075d484a441db40d7f1f2f247d07701817464de5c997b18066628921652630a5f110e238d3f2419ec SHA512 5fa0834c25d128c915b5bdaefb13574952e680fe52a5c99ced614737e52f57abce59510be764766ce43769ae5731c35c7d646cdf3e21f495aee14fbb7d1835b4
DIST itk-test-a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a 214819 BLAKE2B cd65212e72cb80eff54ee3f22d05b55036470684c582334fe94826a2d4ed49c840c50a214996f64f2bcd710e5973c2d46201ef31732fe847a43504379df62e25 SHA512 a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a
DIST itk-test-bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f 215417 BLAKE2B 318a6c55ba259a5af1e3e19cf859267caa0a612b05abfd9a83d9943902fd7edc25ec002707ed4ec85f7aebd4c5a82411942b5cfe2dc713c905a5bb5d1aa5ef23 SHA512 bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f
diff --git a/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch b/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch
new file mode 100644
index 000000000..27f139553
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch
@@ -0,0 +1,550 @@
+--- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
++++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
+@@ -1,16 +1,32 @@
+ project(ITKOpenJPEG)
+ set(ITKOpenJPEG_THIRD_PARTY 1)
+
+-set(ITKOpenJPEG_INCLUDE_DIRS
+- ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
+- ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
+- )
+-set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++option(ITK_USE_SYSTEM_OPENJPEG "Use system-installed openjpeg" ${ITK_USE_SYSTEM_LIBRARIES})
++mark_as_advanced(ITK_USE_SYSTEM_OPENJPEG)
++
++if(ITK_USE_SYSTEM_OPENJPEG)
++ find_package(OpenJPEG REQUIRED)
++ set(ITKOpenJPEG_INCLUDE_DIRS
++ ${ITKOpenJPEG_BINARY_DIR}/src
++ )
++ set(ITKOpenJPEG_SYSTEM_INCLUDE_DIRS
++ ${OPENJPEG_INCLUDE_DIRS}
++ )
++ set(ITKOpenJPEG_LIBRARIES "${OPENJPEG_LIBRARIES}")
++ set(ITKOpenJPEG_NO_SRC 1)
++else()
++ set(ITKOpenJPEG_INCLUDE_DIRS
++ ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
++ ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
++ )
++ set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++endif()
++
++configure_file(src/itk_openjpeg.h.in src/itk_openjpeg.h)
+ set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE)
+-
+ itk_module_impl()
+
+-install(FILES ${ITKOpenJPEG_SOURCE_DIR}/src/itk_openjpeg.h
++install(FILES ${ITKOpenJPEG_BINARY_DIR}/src/itk_openjpeg.h
+ DESTINATION ${ITKOpenJPEG_INSTALL_INCLUDE_DIR}
+ COMPONENT Development
+ )
+diff --git a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+rename from Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
+rename to Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+--- a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
++++ b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+@@ -25,6 +25,12 @@
+ #ifndef itk_openjpeg_h
+ #define itk_openjpeg_h
+
+-#include <itkopenjpeg/openjpeg.h>
++/* Use the openjpeg library configured for ITK. */
++#cmakedefine ITK_USE_SYSTEM_OPENJPEG
++#ifdef ITK_USE_SYSTEM_OPENJPEG
++# include <openjpeg.h>
++#else
++# include <itkopenjpeg/openjpeg.h>
++#endif
+
+ #endif
+--- a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
++++ b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
+@@ -27,8 +27,6 @@
+ extern "C"
+ {
+ #include "openjpeg.h"
+-#include "j2k.h"
+-#include "jp2.h"
+ }
+
+
+@@ -139,11 +137,11 @@
+ {
+ itkDebugMacro(<< "ReadImageInformation()");
+
+- FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+- /* decompression parameters */
++ /* set decoding parameters to default values */
++ opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+
+- if (!l_file)
++ opj_stream_t * cio = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
++ if (!cio)
+ {
+ itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+ << "Reason: "
+@@ -151,10 +149,5 @@
+ }
+
+- /* set decoding parameters to default values */
+- opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+-
+- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, true);
+-
+ this->m_Internal->m_Dinfo = nullptr; /* handle to a decompressor */
+
+ opj_image_t * l_image = nullptr;
+@@ -188,9 +181,8 @@
+
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+ if (!this->m_Internal->m_Dinfo)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+@@ -202,10 +194,9 @@
+ {
+ /* JPEG 2000 compressed image data */
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+ if (!this->m_Internal->m_Dinfo)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+@@ -217,10 +208,9 @@
+ {
+ /* JPEG 2000, JPIP */
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+ if (!this->m_Internal->m_Dinfo)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+@@ -230,7 +220,6 @@
+ }
+ default:
+ opj_stream_destroy(cio);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+ << "Reason: "
+@@ -248,26 +237,8 @@
+ }
+
+- // Image parameters - first tile
+- OPJ_INT32 l_tile_x0;
+- OPJ_INT32 l_tile_y0;
+-
+- // Image parameters - tile width, height and number of tiles
+- OPJ_UINT32 l_tile_width;
+- OPJ_UINT32 l_tile_height;
+- OPJ_UINT32 l_nb_tiles_x;
+- OPJ_UINT32 l_nb_tiles_y;
+-
+ itkDebugMacro(<< "Trying to read header now...");
+
+- bResult = opj_read_header(this->m_Internal->m_Dinfo,
+- &l_image,
+- &l_tile_x0,
+- &l_tile_y0,
+- &l_tile_width,
+- &l_tile_height,
+- &l_nb_tiles_x,
+- &l_nb_tiles_y,
+- cio);
++ bResult = opj_read_header(cio, this->m_Internal->m_Dinfo, &l_image);
+
+ if (!bResult)
+ {
+@@ -284,13 +255,21 @@
+ }
+
+- this->m_Internal->m_TileStartX = l_tile_x0;
+- this->m_Internal->m_TileStartY = l_tile_y0;
++ opj_codestream_info_v2_t* cp = opj_get_cstr_info(this->m_Internal->m_Dinfo);
++ if (!cp)
++ {
++ opj_stream_destroy(cio);
++ opj_image_destroy(l_image);
++ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
++ << "Reason: Error while reading image header");
++ }
++ this->m_Internal->m_TileStartX = cp->tx0;
++ this->m_Internal->m_TileStartY = cp->ty0;
+
+- this->m_Internal->m_TileWidth = l_tile_width;
+- this->m_Internal->m_TileHeight = l_tile_height;
++ this->m_Internal->m_TileWidth = cp->tdx;
++ this->m_Internal->m_TileHeight = cp->tdy;
+
+- this->m_Internal->m_NumberOfTilesInX = l_nb_tiles_x;
+- this->m_Internal->m_NumberOfTilesInY = l_nb_tiles_y;
++ this->m_Internal->m_NumberOfTilesInX = cp->tw;
++ this->m_Internal->m_NumberOfTilesInY = cp->th;
+
+
+ itkDebugMacro(<< "Number of Components = " << l_image->numcomps);
+@@ -307,6 +286,7 @@
+ else
+ {
+ opj_stream_destroy(cio);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+ << "Reason: "
+ << "Unknown precision in file: "
+@@ -320,6 +300,6 @@
+ break;
+ case 3:
+- if (l_image->color_space != CLRSPC_SRGB)
++ if (l_image->color_space != OPJ_CLRSPC_SRGB)
+ {
+ itkWarningMacro(<< "file does not specify color space, assuming sRGB");
+ }
+@@ -349,7 +329,6 @@
+
+ /* close the byte stream */
+ opj_stream_destroy(cio);
+- fclose(l_file);
+
+ if (this->m_Internal->m_Dinfo)
+ {
+@@ -368,16 +347,7 @@
+ {
+ itkDebugMacro(<< "JPEG2000ImageIO::Read() Begin");
+
+- FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+- if (!l_file)
+- {
+- itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+- << "Reason: "
+- << itksys::SystemTools::GetLastSystemError());
+- }
+-
+- opj_stream_t * l_stream = opj_stream_create_default_file_stream(l_file, true);
++ opj_stream_t * l_stream = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
+ if (!l_stream)
+ {
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+@@ -397,9 +367,10 @@
+ {
+ /* JPEG-2000 codestream */
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+ if (!this->m_Internal->m_Dinfo)
+ {
++ opj_stream_destroy(l_stream);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr");
+@@ -410,9 +381,10 @@
+ {
+ /* JPEG 2000 compressed image data */
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+ if (!this->m_Internal->m_Dinfo)
+ {
++ opj_stream_destroy(l_stream);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr");
+@@ -423,9 +395,10 @@
+ {
+ /* JPEG 2000, JPIP */
+ /* get a decoder handle */
+- this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++ this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+ if (!this->m_Internal->m_Dinfo)
+ {
++ opj_stream_destroy(l_stream);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr");
+@@ -433,7 +406,7 @@
+ break;
+ }
+ default:
+- fclose(l_file);
++ opj_stream_destroy(l_stream);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+ << this->GetFileName() << std::endl
+ << "Reason: "
+@@ -445,32 +418,17 @@
+ if (!opj_setup_decoder(this->m_Internal->m_Dinfo, &(this->m_Internal->m_DecompressionParameters)))
+ {
++ opj_stream_destroy(l_stream);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+ << "Reason: opj_setup_decoder returns false");
+ }
+
+- OPJ_INT32 l_tile_x0, l_tile_y0;
+-
+- OPJ_UINT32 l_tile_width;
+- OPJ_UINT32 l_tile_height;
+- OPJ_UINT32 l_nb_tiles_x;
+- OPJ_UINT32 l_nb_tiles_y;
+-
+- bool bResult = opj_read_header(this->m_Internal->m_Dinfo,
+- &l_image,
+- &l_tile_x0,
+- &l_tile_y0,
+- &l_tile_width,
+- &l_tile_height,
+- &l_nb_tiles_x,
+- &l_nb_tiles_y,
+- l_stream);
++ bool bResult = opj_read_header(l_stream, this->m_Internal->m_Dinfo, &l_image);
+
+ if (!bResult)
+ {
+ opj_destroy_codec(this->m_Internal->m_Dinfo);
+ this->m_Internal->m_Dinfo = nullptr;
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+ << "Reason: opj_read_header returns false");
+ }
+@@ -499,7 +457,7 @@
+ itkDebugMacro(<< "p_end_x = " << p_end_x);
+ itkDebugMacro(<< "p_end_y = " << p_end_y);
+
+- bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, p_start_x, p_start_y, p_end_x, p_end_y);
++ bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, l_image, p_start_x, p_start_y, p_end_x, p_end_y);
+
+ itkDebugMacro(<< "opj_set_decode_area() after");
+
+@@ -509,6 +467,5 @@
+ this->m_Internal->m_Dinfo = nullptr;
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+ << "Reason: opj_set_decode_area returns false");
+ }
+@@ -525,13 +482,14 @@
+
+ OPJ_UINT32 l_max_data_size = 1000;
+
+- bool l_go_on = true;
++ OPJ_BOOL l_go_on = true;
+
+ auto * l_data = (OPJ_BYTE *)malloc(1000);
+
+ while (l_go_on)
+ {
+ bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo,
++ l_stream,
+ &l_tile_index,
+ &l_data_size,
+ &l_current_tile_x0,
+@@ -540,13 +498,11 @@
+ &l_current_tile_y1,
+ &l_nb_comps,
+- &l_go_on,
+- l_stream);
++ &l_go_on);
+
+ if (!tileHeaderRead)
+ {
+ free(l_data);
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ opj_destroy_codec(this->m_Internal->m_Dinfo);
+ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -571,7 +527,6 @@
+ if (!l_data)
+ {
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ opj_destroy_codec(this->m_Internal->m_Dinfo);
+ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -590,7 +545,6 @@
+ {
+ free(l_data);
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ opj_destroy_codec(this->m_Internal->m_Dinfo);
+ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -654,7 +608,6 @@
+ {
+ free(l_data);
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ opj_destroy_codec(this->m_Internal->m_Dinfo);
+ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -667,13 +620,11 @@
+ this->m_Internal->m_Dinfo = nullptr;
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+ itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+ << "Reason: error whle reading image");
+ }
+
+ /* close the byte stream */
+ opj_stream_destroy(l_stream);
+- fclose(l_file);
+
+ if (this->m_Internal->m_Dinfo)
+ {
+@@ -840,13 +791,13 @@
+
+ parameters.numresolution = numberOfResolutions;
+
+- OPJ_COLOR_SPACE color_space = CLRSPC_GRAY;
++ OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_GRAY;
+ opj_image_cmptparm_t cmptparms[3];
+
+ if (this->GetNumberOfComponents() == 3)
+ {
+
+- color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? CLRSPC_SRGB : CLRSPC_UNSPECIFIED;
++ color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_UNSPECIFIED;
+
+ /* initialize image components */
+ memset(&cmptparms[0], 0, 3 * sizeof(opj_image_cmptparm_t));
+@@ -864,7 +815,7 @@
+
+ if (this->GetNumberOfComponents() == 1)
+ {
+- color_space = CLRSPC_GRAY;
++ color_space = OPJ_CLRSPC_GRAY;
+
+ /* initialize image components */
+ memset(&cmptparms[0], 0, sizeof(opj_image_cmptparm_t));
+@@ -941,8 +892,9 @@
+ if (extension == ".j2k")
+ {
+- cinfo = opj_create_compress(CODEC_J2K);
++ cinfo = opj_create_compress(OPJ_CODEC_J2K);
+ if (!cinfo)
+ {
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_compress(CODEC_J2K) returns nullptr");
+@@ -950,9 +902,10 @@
+ }
+ else if (extension == ".jp2")
+ {
+- cinfo = opj_create_compress(CODEC_JP2);
++ cinfo = opj_create_compress(OPJ_CODEC_JP2);
+ if (!cinfo)
+ {
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_compress(CODEC_JP2) returns nullptr");
+@@ -960,9 +913,10 @@
+ }
+ else if (extension == ".jpt")
+ {
+- cinfo = opj_create_compress(CODEC_JPT);
++ cinfo = opj_create_compress(OPJ_CODEC_JPT);
+ if (!cinfo)
+ {
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+ << this->GetFileName() << std::endl
+ << "Reason: opj_create_compress(CODEC_JPT) returns nullptr");
+@@ -970,6 +924,7 @@
+ }
+ else
+ {
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+ << "Reason: unknown encode format: " << extension);
+ }
+@@ -985,23 +940,19 @@
+
+ if (!opj_setup_encoder(cinfo, &parameters, l_image))
+ {
++ opj_destroy_codec(cinfo);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+ << "Reason: opj_setup_encoder returns false");
+ }
+
+- FILE * l_file = fopen(parameters.outfile, "wb");
+- if (!l_file)
+- {
+- itkExceptionMacro("JPEG2000ImageIO failed to open file for writing: " << this->GetFileName() << std::endl
+- << "Reason: "
+- << itksys::SystemTools::GetLastSystemError());
+- }
+-
+ /* open a byte stream for writing */
+ /* allocate memory for all tiles */
+- opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, false);
++ opj_stream_t * cio = opj_stream_create_default_file_stream(parameters.outfile, false);
+ if (!cio)
+ {
++ opj_destroy_codec(cinfo);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+ << this->GetFileName() << std::endl
+ << "Reason: "
+@@ -1017,7 +968,8 @@
+ if (!bSuccess)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
++ opj_destroy_codec(cinfo);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+ << "Reason: opj_start_compress returns false");
+ }
+@@ -1026,7 +978,8 @@
+ if (!bSuccess)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
++ opj_destroy_codec(cinfo);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+ << "Reason: opj_encode returns false");
+ }
+@@ -1035,14 +988,14 @@
+ if (!bSuccess)
+ {
+ opj_stream_destroy(cio);
+- fclose(l_file);
++ opj_destroy_codec(cinfo);
++ opj_image_destroy(l_image);
+ itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+ << "Reason: opj_end_compress returns false");
+ }
+
+ /* close and free the byte stream */
+ opj_stream_destroy(cio);
+- fclose(l_file);
+
+ /* free remaining compression structures */
+ opj_destroy_codec(cinfo);
+--- a/Modules/Nonunit/Review/src/CMakeLists.txt
++++ b/Modules/Nonunit/Review/src/CMakeLists.txt
+@@ -5,7 +5,7 @@
+
+ add_library(ITKReview ${ITKReview_SRC})
+ itk_module_link_dependencies()
+-target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} itkopenjpeg)
++target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} ${ITKOpenJPEG_LIBRARIES})
+ itk_module_target(ITKReview)
+
+
diff --git a/sci-libs/itk/files/itk-5.3.0-uint8.patch b/sci-libs/itk/files/itk-5.3.0-uint8.patch
new file mode 100644
index 000000000..724314574
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.3.0-uint8.patch
@@ -0,0 +1,10 @@
+--- a/Modules/Filtering/MathematicalMorphology/include/itkMathematicalMorphologyEnums.h
++++ b/Modules/Filtering/MathematicalMorphology/include/itkMathematicalMorphologyEnums.h
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include "ITKMathematicalMorphologyExport.h"
++#include <cstdint>
+
+
+ namespace itk
diff --git a/sci-libs/itk/itk-5.2.1-r2.ebuild b/sci-libs/itk/itk-5.2.1-r2.ebuild
index 98e39935e..0b1f25860 100644
--- a/sci-libs/itk/itk-5.2.1-r2.ebuild
+++ b/sci-libs/itk/itk-5.2.1-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
VIRTUALX_REQUIRED="manual"
inherit cmake python-single-r1 virtualx
@@ -71,7 +71,7 @@ DEPEND="${RDEPEND}
>=dev-lang/swig-2.0:0
dev-libs/castxml
)
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
BDEPEND="
test? (
diff --git a/sci-libs/itk/itk-5.3.0-r1.ebuild b/sci-libs/itk/itk-5.3.0-r1.ebuild
new file mode 100644
index 000000000..b2c3af801
--- /dev/null
+++ b/sci-libs/itk/itk-5.3.0-r1.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+VIRTUALX_REQUIRED="manual"
+
+inherit cmake python-single-r1 virtualx
+
+MY_PN="InsightToolkit"
+MY_P="${MY_PN}-${PV}"
+GLI_V="1.2.0"
+IAD_HASH="24825c8d246e941334f47968553f0ae388851f0c"
+TEST_HASH="bb6d3b9a932333901465c75417fe8859124f5fed"
+declare -a GLI_TEST_HASHES=(
+ "a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
+ "bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
+)
+
+GLI_TEST_SRC=""
+for i in "${GLI_TEST_HASHES[@]}"; do
+ GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i}/download -> ${PN}-test-${i} "
+done
+
+DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
+HOMEPAGE="https://itk.org"
+SRC_URI="
+ https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
+ https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/refs/tags/v${GLI_V}.tar.gz -> ITKGenericLabelInterpolator-${GLI_V}.tar.gz
+ https://github.com/ntustison/ITKAdaptiveDenoising/archive/${IAD_HASH}.tar.gz -> ITKAdaptiveDenoising-${PV}.tar.gz
+ test? (
+ https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
+ https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz -> ${P}-testingdata.tar.gz
+ ${GLI_TEST_SRC}
+ )
+ "
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples fftw itkv4-compat python review test vtkglue"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-libs/double-conversion:0=
+ dev-libs/expat:0=
+ dev-libs/icu:0=
+ media-libs/libjpeg-turbo:0=
+ media-libs/libpng:0=
+ media-libs/openjpeg:2
+ media-libs/tiff:0=[jpeg]
+ sci-libs/dcmtk:0=
+ sci-libs/gdcm:0=
+ sci-libs/hdf5:0=[cxx]
+ sys-libs/zlib-ng
+ fftw? ( sci-libs/fftw:3.0=[threads] )
+ vtkglue? (
+ sci-libs/vtk:0=[rendering]
+ python? (
+ sci-libs/vtk:0=[python,${PYTHON_SINGLE_USEDEP}]
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+# Might also need:
+# dev-libs/kwsys::guru
+# kwiml
+# minc
+# metaio
+# niftilib
+# sci-lib/vxl::science
+DEPEND="${RDEPEND}
+ sys-apps/coreutils
+ python? (
+ >=dev-lang/swig-2.0:0
+ dev-libs/castxml
+ )
+ doc? ( app-text/doxygen )
+"
+BDEPEND="
+ test? (
+ vtkglue? ( ${VIRTUALX_DEPEND} )
+ python? (
+ $(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]')
+ )
+ )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+# uint patch applied by upstream for next release.
+PATCHES=(
+ "${FILESDIR}/${PN}-5.2.1-system-tiff-has-64.patch"
+ "${FILESDIR}/${PN}-5.3.0-system-openjpeg.patch"
+ "${FILESDIR}/${PN}-5.3.0-uint8.patch"
+)
+
+pkg_pretend() {
+ if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
+ elog "To tune ITK to make the best use of working memory you can set"
+ elog " ITK_COMPUTER_MEMORY_SIZE=XX"
+ elog "in make.conf, default is 1 (unit is GB)"
+ fi
+ if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
+ elog "For Python language bindings, you can define the dimensions"
+ elog "you want to create bindings for by setting"
+ elog " ITK_WRAP_DIMS=X;Y;Z..."
+ elog "in make.conf, default is 2;3 for 2D and 3D data"
+ fi
+}
+
+src_prepare() {
+ # drop bundled libs
+ local -a DROPS=(
+ DoubleConversion/src/double-conversion
+ Eigen3/src/itkeigen
+ Expat/src/expat
+ GDCM/src/gdcm
+ JPEG/src/itkjpeg
+ HDF5/src/itkhdf5
+ OpenJPEG/src/openjpeg
+ PNG/src/itkpng
+ TIFF/src/itktiff
+ ZLIB/src/itkzlib-ng
+ )
+ local x
+ for x in "${DROPS[@]}"; do
+ ebegin "Dropping bundled ${x%%/*}"
+ rm -r "Modules/ThirdParty/${x}" || die
+ eend $?
+ done
+ {
+ find Modules/ThirdParty -mindepth 2 -maxdepth 2 -type d -name src -printf '%P\n'
+ printf '%s\n' "${DROPS[@]}" | sed 's,/[^/]*$,,'
+ } | sort | uniq -u | xargs -n 1 ewarn "Using bundled" || die
+
+ # Remote modules
+ ln -sr "../ITKGenericLabelInterpolator-${GLI_V}" Modules/External/ITKGenericLabelInterpolator || die
+ ln -sr "../ITKAdaptiveDenoising-${IAD_HASH}" Modules/External/ITKAdaptiveDenoising || die
+
+ cmake_src_prepare
+
+ if use test; then
+ cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
+ mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
+ for i in "${GLI_TEST_HASHES[@]}"; do
+ cp "${DISTDIR}/${PN}-test-${i}" ".ExternalData/SHA512/${i}" || die
+ cp "${DISTDIR}/${PN}-test-${i}" "${BUILD_DIR}/.ExternalData/SHA512/${i}" || die
+ done
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
+ -DITK_INSTALL_DOC_DIR="share/doc/${P}"
+ -DBUILD_EXAMPLES="$(usex examples ON OFF)"
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_TESTING="$(usex test ON OFF)"
+ -Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
+ -DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
+ -DGDCM_USE_SYSTEM_OPENJPEG=ON
+ -DITK_FORBID_DOWNLOADS:BOOL=ON
+ -DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
+ -DITK_USE_REVIEW="$(usex review ON OFF)"
+ -DITK_USE_SYSTEM_ICU=ON
+ -DITK_USE_SYSTEM_DCMTK=ON
+ -DITK_USE_SYSTEM_DOUBLECONVERSION=ON
+ -DITK_USE_SYSTEM_CASTXML=ON
+ -DITK_USE_SYSTEM_EIGEN=ON
+ -DITK_USE_SYSTEM_EXPAT=ON
+ -DITK_USE_SYSTEM_GDCM=ON
+ -DITK_USE_SYSTEM_HDF5=ON
+ -DITK_USE_SYSTEM_JPEG=ON
+ -DITK_USE_SYSTEM_OPENJPEG=ON
+ -DITK_USE_SYSTEM_PNG=ON
+ -DITK_USE_SYSTEM_SWIG=ON
+ -DITK_USE_SYSTEM_TIFF=ON
+ -DITK_USE_SYSTEM_ZLIB=ON
+ -DITK_USE_KWSTYLE=OFF
+ -DITK_BUILD_DEFAULT_MODULES=ON
+ -DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
+ -DModule_AdaptiveDenoising:BOOL=ON
+ -DModule_GenericLabelInterpolator:BOOL=ON
+ -DModule_ITKReview:BOOL=ON
+ -DWRAP_ITK_JAVA=OFF
+ -DWRAP_ITK_TCL=OFF
+ -DITKV4_COMPATIBILITY:BOOL=$(usex itkv4-compat)
+ )
+ if use fftw; then
+ mycmakeargs+=(
+ -DITK_USE_FFTWD:BOOL=ON
+ -DITK_USE_FFTWF:BOOL=ON
+ -DITK_USE_SYSTEM_FFTW:BOOL=ON
+ -DITK_WRAP_double=ON
+ -DITK_WRAP_vector_double=ON
+ -DITK_WRAP_covariant_vector_double=ON
+ -DITK_WRAP_complex_double=ON
+ )
+ else
+ mycmakeargs+=(
+ -DITK_USE_FFTWD:BOOL=OFF
+ -DITK_USE_FFTWF:BOOL=OFF
+ -DITK_USE_SYSTEM_FFTW:BOOL=OFF
+ -DITK_WRAP_double=OFF
+ -DITK_WRAP_vector_double=OFF
+ -DITK_WRAP_covariant_vector_double=OFF
+ -DITK_WRAP_complex_double=OFF
+ )
+ fi
+ if use vtkglue; then
+ mycmakeargs+=(
+ -DModule_ITKVtkGlue=ON
+ )
+ fi
+ if use python; then
+ mycmakeargs+=(
+ -DITK_WRAP_PYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
+ )
+ else
+ mycmakeargs+=(
+ -DITK_WRAP_PYTHON=OFF
+ )
+ fi
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ docinto examples
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r "${S}"/Examples/*
+ fi
+
+ echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN} || die
+ local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
+ if use python; then
+ echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN} || die
+ ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
+ fi
+ echo "LDPATH=${ldpath}" >> "${T}"/40${PN} || die
+ doenvd "${T}"/40${PN}
+
+ if use doc; then
+ cd "${WORKDIR}"/html || die
+ rm *.md5 || die "Failed to remove superfluous hashes"
+ einfo "Installing API docs. This may take some time."
+ docinto api-docs
+ dodoc -r *
+ fi
+
+ use python && python_optimize
+}
+
+src_test() {
+ if use vtkglue; then
+ virtx cmake_src_test
+ else
+ cmake_src_test
+ fi
+}
diff --git a/sci-libs/itk/metadata.xml b/sci-libs/itk/metadata.xml
index c41202e23..5da2678ec 100644
--- a/sci-libs/itk/metadata.xml
+++ b/sci-libs/itk/metadata.xml
@@ -19,6 +19,7 @@
<flag name="vtkglue">PLEASE FIX MY DESCRIPTION</flag>
</use>
<upstream>
+ <remote-id type="github">InsightSoftwareConsortium/ITK</remote-id>
<remote-id type="sourceforge">itk</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/labbookdb/labbookdb-0.1.ebuild b/sci-libs/labbookdb/labbookdb-0.1.ebuild
index 8f148746d..57c90a390 100644
--- a/sci-libs/labbookdb/labbookdb-0.1.ebuild
+++ b/sci-libs/labbookdb/labbookdb-0.1.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=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
diff --git a/sci-libs/lib2bit/files/lib2bit-0.2.1_respect_DESTDIR.patch b/sci-libs/lib2bit/files/lib2bit-0.2.1_respect_DESTDIR.patch
deleted file mode 100644
index 0f64b325f..000000000
--- a/sci-libs/lib2bit/files/lib2bit-0.2.1_respect_DESTDIR.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib2bit-0.2.1/Makefile.ori 2017-03-31 22:09:48.387098439 +0200
-+++ lib2bit-0.2.1/Makefile 2017-03-31 22:10:29.889020564 +0200
-@@ -8,7 +8,7 @@
- LDLIBS =
- INCLUDES =
-
--prefix = /usr/local
-+prefix = $(DESTDIR)/usr/local
- includedir = $(prefix)/include
- libdir = $(exec_prefix)/lib
-
diff --git a/sci-libs/mpfun90/Manifest b/sci-libs/mpfun90/Manifest
new file mode 100644
index 000000000..56d64f14c
--- /dev/null
+++ b/sci-libs/mpfun90/Manifest
@@ -0,0 +1 @@
+DIST 2023-02-26.tar.gz 66883 BLAKE2B 3b93099977b614e0d9a16df76f7f3c1eda9b76905664db3f0dc0ad0bd00b503105649aeb4c960d7293e7d536e3a902dbe8cb62f89be3bce655e9bae963097f35 SHA512 7280ecba6cb95f15cea91ea95f5cf21b69f76a490a3c92bef40cf8a1dfadd651cb93480bddddd684d0f18144db65cdb1590964df11d37a9f35eaeeb94f369d63
diff --git a/sci-libs/mpfun90/metadata.xml b/sci-libs/mpfun90/metadata.xml
new file mode 100644
index 000000000..e3eb0d9c1
--- /dev/null
+++ b/sci-libs/mpfun90/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexander@neuwirth-informatik.de</email>
+ <name>Alexander Puck Neuwirth</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-physics@gentoo.org</email>
+ <name>Gentoo Physics Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ This package permits one to perform floating-point computations (real and complex) to arbitrarily high numeric precision
+ </longdescription>
+ <upstream>
+ <remote-id type="github">APN-Pucky/mpfun90</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/mpfun90/mpfun90-2023.02.26.ebuild b/sci-libs/mpfun90/mpfun90-2023.02.26.ebuild
new file mode 100644
index 000000000..4f885fa2c
--- /dev/null
+++ b/sci-libs/mpfun90/mpfun90-2023.02.26.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs fortran-2
+
+DESCRIPTION="High-Precision Software"
+HOMEPAGE="
+ https://www.davidhbailey.com/dhbsoftware/
+ https://github.com/APN-Pucky/mpfun90
+"
+MY_PV=$(ver_rs 1- '-')
+SRC_URI="https://github.com/APN-Pucky/mpfun90/archive/refs/tags/${MY_PV}.tar.gz"
+S="${WORKDIR}/mpfun90-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_compile() {
+ emake -j1 dynamic
+}
+
+src_install() {
+ doheader *.mod
+ dolib.so libmpfun90.so
+ dolib.a libmpfun90.a
+}
diff --git a/sci-libs/nexus/nexus-4.4.3_p20200126.ebuild b/sci-libs/nexus/nexus-4.4.3_p20200126.ebuild
index b19a65fbe..58d8264cf 100644
--- a/sci-libs/nexus/nexus-4.4.3_p20200126.ebuild
+++ b/sci-libs/nexus/nexus-4.4.3_p20200126.ebuild
@@ -29,7 +29,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
"
pkg_setup() {
diff --git a/sci-libs/nibabel/Manifest b/sci-libs/nibabel/Manifest
index ea228479f..d50b1b3b7 100644
--- a/sci-libs/nibabel/Manifest
+++ b/sci-libs/nibabel/Manifest
@@ -1,2 +1,2 @@
-DIST nibabel-3.0.2.tar.gz 4336181 BLAKE2B b95ea57f28265eab627caea71f65c8ad1b0f868d40d80efb68f2dbb1e81f7d4f10b2da21d33f803abcd9441f3afe2c861f96828f8701f3981e4b7a4b2f97308e SHA512 51a10a72ade0382e43a006a0b9453b0c00f962a1c0d32c7a9da6ce3b9c95db05cd3bd672389d514107768b688a8315cba2e34d52bc845db3ca3e7912a1a0a8ac
-DIST nibabel-3.2.1.tar.gz 4442534 BLAKE2B 5a76275c0c3746bbe094789350f4f6d9dc17e332915c9f567660138c44ba50672415272d21d7b0834c77f4f9660950bda8c684f7664d58f0e5784b782384cb2f SHA512 5c5d95313f4b22462ba67c23d52dd34ed5d690c72a3137b21ac0bdbc4d20aa4f0c1d87d23c675f8c2f6e4335dc51fb9ab788ac8c63be56eec8ab8657ed95a6d7
+DIST nibabel-5.0.0.tar.gz 4480342 BLAKE2B ef5c8fcd27fda60ae85fb657b360453a3b6ae58ea2b8e4eb55bfeb4bdecf6aa94cf1594d0b90a3187f6f3bad32fa9c721bba0827ec0966f799e5b59720778956 SHA512 5f27c03518c47856ecb33b878e9969ea33c7ebb717e6f4f9d89d9fdf415459e47675353051cdb824efea4e6a819759e0bf61cf49caa7212411c63423a77ed0d4
+DIST nibabel-5.1.0.tar.gz 4522882 BLAKE2B 62ffd86e14f66ab57bcfa127e9d0da0b46a04224739b61493080848305295f25136b51bc6fae69c0ec653b4185a28a1b5c323573588abc02f6ebb7372808b8fe SHA512 a07b4c2742ac3af8c0a87a0fa0562ed55c1377fb2067a7813fa2482cab4fc407f013b13b541dd863fa9620c644058296040487aeaba0b26818ff783b2dc2474e
diff --git a/sci-libs/nibabel/nibabel-3.2.1.ebuild b/sci-libs/nibabel/nibabel-5.0.0.ebuild
index c3b45a93b..0fec805b1 100644
--- a/sci-libs/nibabel/nibabel-3.2.1.ebuild
+++ b/sci-libs/nibabel/nibabel-5.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1
@@ -21,7 +21,6 @@ RDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
dicom? (
dev-python/pillow[${PYTHON_USEDEP}]
sci-libs/pydicom
@@ -29,13 +28,8 @@ RDEPEND="
"
BDEPEND="test? (
- dev-python/pytest-doctestplus[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
)"
-EPYTEST_DESELECT=(
- # Re-evaluate after 3.2.1
- nibabel/gifti/tests/test_parse_gifti_fast.py::test_parse_dataarrays
-)
-
distutils_enable_sphinx doc/source dev-python/texext dev-python/numpydoc dev-python/matplotlib
distutils_enable_tests pytest
diff --git a/sci-libs/nibabel/nibabel-3.0.2.ebuild b/sci-libs/nibabel/nibabel-5.1.0.ebuild
index f0759b51a..0fec805b1 100644
--- a/sci-libs/nibabel/nibabel-3.0.2.ebuild
+++ b/sci-libs/nibabel/nibabel-5.1.0.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1
@@ -14,29 +15,21 @@ SRC_URI="https://github.com/nipy/nibabel/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="dicom doc test"
-RESTRICT="!test? ( test )"
+IUSE="dicom"
RDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
dicom? (
- sci-libs/pydicom
dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/nose[${PYTHON_USEDEP}]
- )
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ sci-libs/pydicom
+ )
"
-python_test() {
- cd "${BUILD_DIR}" || die
- echo "backend: Agg" > matplotlibrc
- MPLCONFIGDIR=. nosetests || die
-}
+BDEPEND="test? (
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+)"
+
+distutils_enable_sphinx doc/source dev-python/texext dev-python/numpydoc dev-python/matplotlib
+distutils_enable_tests pytest
diff --git a/sci-libs/nipy/Manifest b/sci-libs/nipy/Manifest
index bbe6e4b5d..9444a9dd3 100644
--- a/sci-libs/nipy/Manifest
+++ b/sci-libs/nipy/Manifest
@@ -1,2 +1 @@
-DIST nipy-0.4.2.tar.gz 2403690 BLAKE2B bd75e6b76095b825494ec9f78dd126d089c9c0b660d808f5510fab3449ae6c3e71ed59866203d6c2e3f5cfe5bc342b9edc96c6c2b8dab97e532d99705c80410c SHA512 a1a590f35833a4238be87a01fa4e0609a1c18243d626cb8e54a5904fa8702247292b030671bb628ee075cf9346ee4040a9222e60e36dde0d4153d3bef33bcf89
-DIST nipy-0.5.0.tar.gz 2404225 BLAKE2B d57a2a29cb8d9538731631e2f73520082905c4944b7d99682e0453a6f05173ffb6f27fc2f29fe172d94790e3d904471ebd2d5a3de55cdf39608b605d7d9a5344 SHA512 ec91f8b7b555e2baeadc9d6d2f83d5ad77080e0505579bcc72cae051869e9f8c1ffdfa679afc7380173a6454f45ec457a3657fd9b9396a28a5e273701ecaf0a5
+DIST nipy-0.6.0.gh.tar.gz 1650342 BLAKE2B 5f375e23fb2d895cfb4320b8ec92cefcf902f3768b6b8dc2ba26b4db30168eb4a29d38be1241e2ae5ae9d87013beb64427c8aca1ac2adaa92d083c700dc0453a SHA512 a59485ccd677c443b9d1e2358c3b3d523ddfa9f390c180661e9afaf3b69943e1b1670c44410954e1bba11c88b9ca20e9e586392804b5c99e9f58b5b68df4641f
diff --git a/sci-libs/nipy/nipy-0.4.2.ebuild b/sci-libs/nipy/nipy-0.4.2.ebuild
deleted file mode 100644
index 3b483638f..000000000
--- a/sci-libs/nipy/nipy-0.4.2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Neuroimaging tools for Python"
-HOMEPAGE="https://nipy.org/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-RESTRICT="test"
-# reported upstream: https://github.com/nipy/nipy/issues/493
-
-RDEPEND="
- dev-python/prov[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- >=sci-libs/nibabel-1.2[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- "
-
-DEPEND="
- ${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- "
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- # bug #397605
- [[ ${CHOST} == *-darwin* ]] \
- && append-ldflags -bundle "-undefined dynamic_lookup" \
- || append-ldflags -shared
-
- # nipy uses the horrible numpy.distutils automagic
-}
-
-python_test() {
- distutils-r1_install_for_testing
- cp nipy/testing/*.nii.gz "${BUILD_DIR}/lib/nipy/testing/"
- cp nipy/modalities/fmri/tests/*.{mat,npz,txt} "${BUILD_DIR}/lib/nipy/modalities/fmri/tests/"
- cp nipy/algorithms/statistics/models/tests/test_data.bin "${BUILD_DIR}/lib/nipy/algorithms/statistics/models/tests"
- cp nipy/labs/spatial_models/tests/some_blobs.nii "${BUILD_DIR}/lib/nipy/labs/spatial_models/tests/some_blobs.nii"
- mkdir "${BUILD_DIR}/lib/nipy/algorithms/diagnostics/tests/data/"
- cp nipy/algorithms/diagnostics/tests/data/tsdiff_results.mat "${BUILD_DIR}/lib/nipy/algorithms/diagnostics/tests/data/"
- cd "${BUILD_DIR}" || die
- echo "backend : agg" > matplotlibrc
- nosetests || die
-}
diff --git a/sci-libs/nipy/nipy-0.5.0.ebuild b/sci-libs/nipy/nipy-0.5.0.ebuild
deleted file mode 100644
index 81a462c96..000000000
--- a/sci-libs/nipy/nipy-0.5.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Neuroimaging tools for Python"
-HOMEPAGE="https://nipy.org/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-RESTRICT="test"
-# reported upstream: https://github.com/nipy/nipy/issues/493
-
-RDEPEND="
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- >=sci-libs/nibabel-1.2[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- "
-DEPEND=""
-
-distutils_enable_tests nose
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- # bug #397605
- [[ ${CHOST} == *-darwin* ]] \
- && append-ldflags -bundle "-undefined dynamic_lookup" \
- || append-ldflags -shared
-
- # nipy uses the horrible numpy.distutils automagic
-}
-
-#python_test() {
-# distutils-r1_install_for_testing
-# cp nipy/testing/*.nii.gz "${BUILD_DIR}/lib/nipy/testing/"
-# cp nipy/modalities/fmri/tests/*.{mat,npz,txt} "${BUILD_DIR}/lib/nipy/modalities/fmri/tests/"
-# cp nipy/algorithms/statistics/models/tests/test_data.bin "${BUILD_DIR}/lib/nipy/algorithms/statistics/models/tests"
-# cp nipy/labs/spatial_models/tests/some_blobs.nii "${BUILD_DIR}/lib/nipy/labs/spatial_models/tests/some_blobs.nii"
-# mkdir "${BUILD_DIR}/lib/nipy/algorithms/diagnostics/tests/data/"
-# cp nipy/algorithms/diagnostics/tests/data/tsdiff_results.mat "${BUILD_DIR}/lib/nipy/algorithms/diagnostics/tests/data/"
-# cd "${BUILD_DIR}" || die
-# echo "backend : agg" > matplotlibrc
-# nosetests || die
-#}
diff --git a/sci-libs/nipy/nipy-0.6.0.ebuild b/sci-libs/nipy/nipy-0.6.0.ebuild
new file mode 100644
index 000000000..8f8ea83e8
--- /dev/null
+++ b/sci-libs/nipy/nipy-0.6.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+
+inherit distutils-r1
+
+DESCRIPTION="Neuroimaging tools for Python"
+HOMEPAGE="https://nipy.org/"
+SRC_URI="https://github.com/nipy/nipy/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+# Test data unavailable:
+# https://github.com/nipy/nipy/issues/561#event-11866547632
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ sci-libs/nibabel[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ "
+DEPEND=""
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf nipy || die
+ epytest
+}
diff --git a/sci-libs/nipype/Manifest b/sci-libs/nipype/Manifest
index a3c77d4ff..6c9059e1c 100644
--- a/sci-libs/nipype/Manifest
+++ b/sci-libs/nipype/Manifest
@@ -1 +1,2 @@
-DIST nipype-1.5.0.tar.gz 2735317 BLAKE2B d618714b15defde52325bac32a80449846b448d1c141a21f9d950976c8c89624d714dbab10b4cd99fe20d4eb99ceb4095ebc6ddc567f57b3803e2c16ffda155a SHA512 eb11096a090855278c3e76ffe9643ab4de046a017511ba51f59448fd8cf9d67a4f6c552acbbbdd38065cfb456c24fd21299cf698fa05c5be507524622f28ac85
+DIST nipype-1.8.4.tar.gz 2914433 BLAKE2B c25b82c22641f6df2b57c8a07fd318034bb4fe4eaa1037baebc1ffc03d3e1add347d9f0c94139144fc17043a5c97926c88b40755f19794cc71366d76ba339698 SHA512 8949226accd7c158b6a3ec92389a11760a9b306098ccb8ef50844efbddb4e6a9108bb6a32ec7b0402c4ea56881a3548b052fe7f5e757d2771aea5b2eebc9377b
+DIST nipype-1.8.6.tar.gz 2921102 BLAKE2B 79a2131b8265f1b0a3a8d2fa6ff56cbbc2d393c79099178cf036d82357a971a72f024b132d7b4d7d4af85165f562192b6cc5cfc9e797105bdc009734e8a89033 SHA512 23140beb02f4c3807d9d0291bde41ce8c1b06e48dc94001b007f193caaa89428387d1528fa20ae328d2c4a781024c9acf07f7be9ce507ecb2f1daf338c092eec
diff --git a/sci-libs/nipype/files/nipype-1.8.4-dependency_compatibility.patch b/sci-libs/nipype/files/nipype-1.8.4-dependency_compatibility.patch
new file mode 100644
index 000000000..9811139e7
--- /dev/null
+++ b/sci-libs/nipype/files/nipype-1.8.4-dependency_compatibility.patch
@@ -0,0 +1,575 @@
+From a31870d0f9dc0e774f1cf9d18351586f78ecb252 Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 08:11:54 -0500
+Subject: [PATCH 1/9] FIX: Set dtypes for integer test images
+
+NiBabel 4 began warning that int64 images would error, and NiBabel 5
+began erroring if not passed an explicit dtype or header.
+
+We don't need int64 images, just set some sensible dtypes.
+---
+ nipype/algorithms/tests/test_ErrorMap.py | 2 +-
+ nipype/algorithms/tests/test_TSNR.py | 3 ++-
+ nipype/algorithms/tests/test_metrics.py | 2 +-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/nipype/algorithms/tests/test_ErrorMap.py b/nipype/algorithms/tests/test_ErrorMap.py
+index 98f05d8e17..adac507bad 100644
+--- a/nipype/algorithms/tests/test_ErrorMap.py
++++ b/nipype/algorithms/tests/test_ErrorMap.py
+@@ -17,7 +17,7 @@ def test_errormap(tmpdir):
+ volume1 = np.array([[[2.0, 8.0], [1.0, 2.0]], [[1.0, 9.0], [0.0, 3.0]]])
+ # Alan Turing's birthday
+ volume2 = np.array([[[0.0, 7.0], [2.0, 3.0]], [[1.0, 9.0], [1.0, 2.0]]])
+- mask = np.array([[[1, 0], [0, 1]], [[1, 0], [0, 1]]])
++ mask = np.array([[[1, 0], [0, 1]], [[1, 0], [0, 1]]], dtype=np.uint8)
+
+ img1 = nb.Nifti1Image(volume1, np.eye(4))
+ img2 = nb.Nifti1Image(volume2, np.eye(4))
+diff --git a/nipype/algorithms/tests/test_TSNR.py b/nipype/algorithms/tests/test_TSNR.py
+index 26c1019b63..320bec8ab2 100644
+--- a/nipype/algorithms/tests/test_TSNR.py
++++ b/nipype/algorithms/tests/test_TSNR.py
+@@ -131,5 +131,6 @@ def assert_unchanged(self, expected_ranges):
+ [
+ [[[2, 4, 3, 9, 1], [3, 6, 4, 7, 4]], [[8, 3, 4, 6, 2], [4, 0, 4, 4, 2]]],
+ [[[9, 7, 5, 5, 7], [7, 8, 4, 8, 4]], [[0, 4, 7, 1, 7], [6, 8, 8, 8, 7]]],
+- ]
++ ],
++ dtype=np.int16,
+ )
+diff --git a/nipype/algorithms/tests/test_metrics.py b/nipype/algorithms/tests/test_metrics.py
+index ad7502992e..3652fc2ce5 100644
+--- a/nipype/algorithms/tests/test_metrics.py
++++ b/nipype/algorithms/tests/test_metrics.py
+@@ -45,7 +45,7 @@ def test_fuzzy_overlap(tmpdir):
+
+ # Just considering the mask, the central pixel
+ # that raised the index now is left aside.
+- data = np.zeros((3, 3, 3), dtype=int)
++ data = np.zeros((3, 3, 3), dtype=np.uint8)
+ data[0, 0, 0] = 1
+ data[2, 2, 2] = 1
+ nb.Nifti1Image(data, np.eye(4)).to_filename("mask.nii.gz")
+
+From 443492e82f3b197ad739cb244912ced652853a8d Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 08:43:07 -0500
+Subject: [PATCH 2/9] FIX: Coerce depidx to lil_matrix
+
+---
+ nipype/pipeline/plugins/base.py | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/nipype/pipeline/plugins/base.py b/nipype/pipeline/plugins/base.py
+index a927b24686..3d600dda55 100644
+--- a/nipype/pipeline/plugins/base.py
++++ b/nipype/pipeline/plugins/base.py
+@@ -21,6 +21,18 @@
+ logger = logging.getLogger("nipype.workflow")
+
+
++def _graph_to_lil_matrix(graph, nodelist):
++ """Provide a sparse linked list matrix across various NetworkX versions"""
++ import scipy.sparse as ssp
++
++ try:
++ from networkx import to_scipy_sparse_array
++ except ImportError: # NetworkX < 2.7
++ from networkx import to_scipy_sparse_matrix as to_scipy_sparse_array
++
++ return ssp.lil_matrix(to_scipy_sparse_array(graph, nodelist=nodelist, format="lil"))
++
++
+ class PluginBase(object):
+ """Base class for plugins."""
+
+@@ -431,12 +443,8 @@ def _task_finished_cb(self, jobid, cached=False):
+
+ def _generate_dependency_list(self, graph):
+ """Generates a dependency list for a list of graphs."""
+- import networkx as nx
+-
+ self.procs, _ = topological_sort(graph)
+- self.depidx = nx.to_scipy_sparse_matrix(
+- graph, nodelist=self.procs, format="lil"
+- )
++ self.depidx = _graph_to_lil_matrix(graph, nodelist=self.procs)
+ self.refidx = self.depidx.astype(int)
+ self.proc_done = np.zeros(len(self.procs), dtype=bool)
+ self.proc_pending = np.zeros(len(self.procs), dtype=bool)
+
+From 34ef6c2ff89f327fcf2951b792ef38b6d56f8c4e Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 11:57:54 -0500
+Subject: [PATCH 3/9] FIX: Accept "str" in dipy type (includes "string")
+
+---
+ nipype/interfaces/dipy/base.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nipype/interfaces/dipy/base.py b/nipype/interfaces/dipy/base.py
+index d8a1c0fbf5..161ed33227 100644
+--- a/nipype/interfaces/dipy/base.py
++++ b/nipype/interfaces/dipy/base.py
+@@ -110,7 +110,7 @@ def convert_to_traits_type(dipy_type, is_file=False):
+ """Convert DIPY type to Traits type."""
+ dipy_type = dipy_type.lower()
+ is_mandatory = bool("optional" not in dipy_type)
+- if "variable" in dipy_type and "string" in dipy_type:
++ if "variable" in dipy_type and "str" in dipy_type:
+ return traits.ListStr, is_mandatory
+ elif "variable" in dipy_type and "int" in dipy_type:
+ return traits.ListInt, is_mandatory
+@@ -120,9 +120,9 @@ def convert_to_traits_type(dipy_type, is_file=False):
+ return traits.ListBool, is_mandatory
+ elif "variable" in dipy_type and "complex" in dipy_type:
+ return traits.ListComplex, is_mandatory
+- elif "string" in dipy_type and not is_file:
++ elif "str" in dipy_type and not is_file:
+ return traits.Str, is_mandatory
+- elif "string" in dipy_type and is_file:
++ elif "str" in dipy_type and is_file:
+ return File, is_mandatory
+ elif "int" in dipy_type:
+ return traits.Int, is_mandatory
+
+From 83c8cf86d6bbb0dc04aa58dbe5119fd864342d9c Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 11:55:34 -0500
+Subject: [PATCH 4/9] MNT: Update requirements from info.py
+
+---
+ requirements.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/requirements.txt b/requirements.txt
+index afec34ebfd..331e2c5def 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -2,8 +2,7 @@
+ click>=6.6.0
+ networkx>=2.0
+ nibabel>=2.1.0
+-numpy>=1.13 ; python_version < "3.7"
+-numpy>=1.15.3 ; python_version >= "3.7"
++numpy>=1.17
+ packaging
+ prov>=1.5.2
+ pydot>=1.2.3
+@@ -11,6 +10,7 @@ python-dateutil>=2.2
+ rdflib>=5.0.0
+ scipy>=0.14
+ simplejson>=3.8.0
+-traits>=4.6,!=5.0
++traits>=4.6,<6.4,!=5.0
+ filelock>=3.0.0
+ etelemetry>=0.2.0
++looseversion
+
+From 24c55a6f48aa658320ff35283b6f91ec38b13a40 Mon Sep 17 00:00:00 2001
+From: Horea Christian <chr@chymera.eu>
+Date: Thu, 26 Jan 2023 02:28:33 -0500
+Subject: [PATCH 5/9] Writing pickles directly as networkx no longer ships
+ write_gpickle
+
+---
+ nipype/interfaces/cmtk/cmtk.py | 12 ++++++++----
+ nipype/interfaces/cmtk/nbs.py | 7 +++++--
+ nipype/interfaces/cmtk/nx.py | 12 ++++++++----
+ nipype/interfaces/cmtk/tests/test_nbs.py | 4 +++-
+ 4 files changed, 24 insertions(+), 11 deletions(-)
+
+diff --git a/nipype/interfaces/cmtk/cmtk.py b/nipype/interfaces/cmtk/cmtk.py
+index 8775a8517e..8df7a1c5ad 100644
+--- a/nipype/interfaces/cmtk/cmtk.py
++++ b/nipype/interfaces/cmtk/cmtk.py
+@@ -226,7 +226,8 @@ def cmat(
+ # Add node information from specified parcellation scheme
+ path, name, ext = split_filename(resolution_network_file)
+ if ext == ".pck":
+- gp = nx.read_gpickle(resolution_network_file)
++ with open(resolution_network_file, 'rb') as f:
++ gp = pickle.load(f)
+ elif ext == ".graphml":
+ gp = nx.read_graphml(resolution_network_file)
+ else:
+@@ -379,7 +380,8 @@ def cmat(
+ fibdev.add_edge(u, v, weight=di["fiber_length_std"])
+
+ iflogger.info("Writing network as %s", matrix_name)
+- nx.write_gpickle(G, op.abspath(matrix_name))
++ with open(op.abspath(matrix_name), 'wb') as f:
++ pickle.dump(G, f, pickle.HIGHEST_PROTOCOL)
+
+ numfib_mlab = nx.to_numpy_matrix(numfib, dtype=int)
+ numfib_dict = {"number_of_fibers": numfib_mlab}
+@@ -394,7 +396,8 @@ def cmat(
+ path, name, ext = split_filename(matrix_name)
+ intersection_matrix_name = op.abspath(name + "_intersections") + ext
+ iflogger.info("Writing intersection network as %s", intersection_matrix_name)
+- nx.write_gpickle(I, intersection_matrix_name)
++ with open(intersection_matrix_name, 'wb') as f:
++ pickle.dump(I, f, pickle.HIGHEST_PROTOCOL)
+
+ path, name, ext = split_filename(matrix_mat_name)
+ if not ext == ".mat":
+@@ -1070,7 +1073,8 @@ def create_nodes(roi_file, resolution_network_file, out_filename):
+ )
+ )
+ G.nodes[int(u)]["dn_position"] = tuple([xyz[0], xyz[2], -xyz[1]])
+- nx.write_gpickle(G, out_filename)
++ with open(out_filename, 'wb') as f:
++ pickle.dump(G, f, pickle.HIGHEST_PROTOCOL)
+ return out_filename
+
+
+diff --git a/nipype/interfaces/cmtk/nbs.py b/nipype/interfaces/cmtk/nbs.py
+index 4e1db9ffb7..57d63897c7 100644
+--- a/nipype/interfaces/cmtk/nbs.py
++++ b/nipype/interfaces/cmtk/nbs.py
+@@ -6,6 +6,7 @@
+
+ import numpy as np
+ import networkx as nx
++import pickle
+
+ from ... import logging
+ from ..base import (
+@@ -172,12 +173,14 @@ def _run_interface(self, runtime):
+
+ path = op.abspath("NBS_Result_" + details)
+ iflogger.info(path)
+- nx.write_gpickle(nbsgraph, path)
++ with open(path, 'wb') as f:
++ pickle.dump(nbsgraph, f, pickle.HIGHEST_PROTOCOL)
+ iflogger.info("Saving output NBS edge network as %s", path)
+
+ pval_path = op.abspath("NBS_P_vals_" + details)
+ iflogger.info(pval_path)
+- nx.write_gpickle(nbs_pval_graph, pval_path)
++ with open(pval_path, 'wb') as f:
++ pickle.dump(nbs_pval_graph, f, pickle.HIGHEST_PROTOCOL)
+ iflogger.info("Saving output p-value network as %s", pval_path)
+ return runtime
+
+diff --git a/nipype/interfaces/cmtk/nx.py b/nipype/interfaces/cmtk/nx.py
+index aaf4bece39..a662eb65c6 100644
+--- a/nipype/interfaces/cmtk/nx.py
++++ b/nipype/interfaces/cmtk/nx.py
+@@ -200,7 +200,8 @@ def average_networks(in_files, ntwk_res_file, group_id):
+
+ # Writes the networks and returns the name
+ network_name = group_id + "_average.pck"
+- nx.write_gpickle(avg_ntwk, op.abspath(network_name))
++ with open(op.abspath(network_name), 'wb') as f:
++ pickle.dump(avg_ntwk, f, pickle.HIGHEST_PROTOCOL)
+ iflogger.info("Saving average network as %s", op.abspath(network_name))
+ avg_ntwk = fix_keys_for_gexf(avg_ntwk)
+ network_name = group_id + "_average.gexf"
+@@ -483,7 +484,8 @@ def _run_interface(self, runtime):
+ for key in list(node_measures.keys()):
+ newntwk = add_node_data(node_measures[key], ntwk)
+ out_file = op.abspath(self._gen_outfilename(key, "pck"))
+- nx.write_gpickle(newntwk, out_file)
++ with open(out_file, 'wb') as f:
++ pickle.dump(newntwk, f, pickle.HIGHEST_PROTOCOL)
+ nodentwks.append(out_file)
+ if isdefined(self.inputs.out_node_metrics_matlab):
+ node_out_file = op.abspath(self.inputs.out_node_metrics_matlab)
+@@ -497,7 +499,8 @@ def _run_interface(self, runtime):
+ for key in list(edge_measures.keys()):
+ newntwk = add_edge_data(edge_measures[key], ntwk)
+ out_file = op.abspath(self._gen_outfilename(key, "pck"))
+- nx.write_gpickle(newntwk, out_file)
++ with open(out_file, 'wb') as f:
++ pickle.dump(newntwk, f, pickle.HIGHEST_PROTOCOL)
+ edgentwks.append(out_file)
+ if isdefined(self.inputs.out_edge_metrics_matlab):
+ edge_out_file = op.abspath(self.inputs.out_edge_metrics_matlab)
+@@ -521,7 +524,8 @@ def _run_interface(self, runtime):
+ out_file = op.abspath(
+ self._gen_outfilename(self.inputs.out_k_crust, "pck")
+ )
+- nx.write_gpickle(ntwk_measures[key], out_file)
++ with open(out_file, 'wb') as f:
++ pickle.dump(ntwk_measures[key], f, pickle.HIGHEST_PROTOCOL)
+ kntwks.append(out_file)
+ gpickled.extend(kntwks)
+
+diff --git a/nipype/interfaces/cmtk/tests/test_nbs.py b/nipype/interfaces/cmtk/tests/test_nbs.py
+index 46da939f1a..7a60b407a4 100644
+--- a/nipype/interfaces/cmtk/tests/test_nbs.py
++++ b/nipype/interfaces/cmtk/tests/test_nbs.py
+@@ -2,6 +2,7 @@
+ from ....utils.misc import package_check
+ import numpy as np
+ import networkx as nx
++import pickle
+ import pytest
+
+ have_cv = True
+@@ -20,7 +21,8 @@ def creating_graphs(tmpdir):
+ G = nx.from_numpy_matrix(graph)
+ out_file = tmpdir.strpath + graphnames[idx] + ".pck"
+ # Save as pck file
+- nx.write_gpickle(G, out_file)
++ with open(out_file, 'wb') as f:
++ pickle.dump(G, f, pickle.HIGHEST_PROTOCOL)
+ graphlist.append(out_file)
+ return graphlist
+
+
+From b9a8e2000be9ce30a94aca85453d5cf4e32e10ec Mon Sep 17 00:00:00 2001
+From: Horea Christian <chr@chymera.eu>
+Date: Thu, 26 Jan 2023 02:03:39 -0500
+Subject: [PATCH 6/9] updating networkx from_numpy_{matrix,array}
+
+---
+ nipype/interfaces/cmtk/cmtk.py | 2 +-
+ nipype/interfaces/cmtk/nbs.py | 4 ++--
+ nipype/interfaces/cmtk/tests/test_nbs.py | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/nipype/interfaces/cmtk/cmtk.py b/nipype/interfaces/cmtk/cmtk.py
+index 8df7a1c5ad..fc730b1166 100644
+--- a/nipype/interfaces/cmtk/cmtk.py
++++ b/nipype/interfaces/cmtk/cmtk.py
+@@ -264,7 +264,7 @@ def cmat(
+ )
+ intersection_matrix = np.matrix(intersection_matrix)
+ I = G.copy()
+- H = nx.from_numpy_matrix(np.matrix(intersection_matrix))
++ H = nx.from_numpy_array(np.matrix(intersection_matrix))
+ H = nx.relabel_nodes(H, lambda x: x + 1) # relabel nodes so they start at 1
+ I.add_weighted_edges_from(
+ ((u, v, d["weight"]) for u, v, d in H.edges(data=True))
+diff --git a/nipype/interfaces/cmtk/nbs.py b/nipype/interfaces/cmtk/nbs.py
+index 57d63897c7..b0a8b5df33 100644
+--- a/nipype/interfaces/cmtk/nbs.py
++++ b/nipype/interfaces/cmtk/nbs.py
+@@ -150,8 +150,8 @@ def _run_interface(self, runtime):
+ pADJ[x, y] = PVAL[idx]
+
+ # Create networkx graphs from the adjacency matrix
+- nbsgraph = nx.from_numpy_matrix(ADJ)
+- nbs_pval_graph = nx.from_numpy_matrix(pADJ)
++ nbsgraph = nx.from_numpy_array(ADJ)
++ nbs_pval_graph = nx.from_numpy_array(pADJ)
+
+ # Relabel nodes because they should not start at zero for our convention
+ nbsgraph = nx.relabel_nodes(nbsgraph, lambda x: x + 1)
+diff --git a/nipype/interfaces/cmtk/tests/test_nbs.py b/nipype/interfaces/cmtk/tests/test_nbs.py
+index 7a60b407a4..6323546c1e 100644
+--- a/nipype/interfaces/cmtk/tests/test_nbs.py
++++ b/nipype/interfaces/cmtk/tests/test_nbs.py
+@@ -18,7 +18,7 @@ def creating_graphs(tmpdir):
+ graphnames = ["name" + str(i) for i in range(6)]
+ for idx, name in enumerate(graphnames):
+ graph = np.random.rand(10, 10)
+- G = nx.from_numpy_matrix(graph)
++ G = nx.from_numpy_array(graph)
+ out_file = tmpdir.strpath + graphnames[idx] + ".pck"
+ # Save as pck file
+ with open(out_file, 'wb') as f:
+
+From 7aa7c5968cf28afed9aca658bca28470afbfeb9f Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 12:45:17 -0500
+Subject: [PATCH 7/9] FIX: Purge nx.to_numpy_matrix
+
+---
+ nipype/interfaces/cmtk/cmtk.py | 8 ++++----
+ nipype/interfaces/cmtk/nbs.py | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/nipype/interfaces/cmtk/cmtk.py b/nipype/interfaces/cmtk/cmtk.py
+index fc730b1166..00c134fc37 100644
+--- a/nipype/interfaces/cmtk/cmtk.py
++++ b/nipype/interfaces/cmtk/cmtk.py
+@@ -383,13 +383,13 @@ def cmat(
+ with open(op.abspath(matrix_name), 'wb') as f:
+ pickle.dump(G, f, pickle.HIGHEST_PROTOCOL)
+
+- numfib_mlab = nx.to_numpy_matrix(numfib, dtype=int)
++ numfib_mlab = nx.to_numpy_array(numfib, dtype=int)
+ numfib_dict = {"number_of_fibers": numfib_mlab}
+- fibmean_mlab = nx.to_numpy_matrix(fibmean, dtype=np.float64)
++ fibmean_mlab = nx.to_numpy_array(fibmean, dtype=np.float64)
+ fibmean_dict = {"mean_fiber_length": fibmean_mlab}
+- fibmedian_mlab = nx.to_numpy_matrix(fibmedian, dtype=np.float64)
++ fibmedian_mlab = nx.to_numpy_array(fibmedian, dtype=np.float64)
+ fibmedian_dict = {"median_fiber_length": fibmedian_mlab}
+- fibdev_mlab = nx.to_numpy_matrix(fibdev, dtype=np.float64)
++ fibdev_mlab = nx.to_numpy_array(fibdev, dtype=np.float64)
+ fibdev_dict = {"fiber_length_std": fibdev_mlab}
+
+ if intersections:
+diff --git a/nipype/interfaces/cmtk/nbs.py b/nipype/interfaces/cmtk/nbs.py
+index b0a8b5df33..2560ed8e3c 100644
+--- a/nipype/interfaces/cmtk/nbs.py
++++ b/nipype/interfaces/cmtk/nbs.py
+@@ -40,7 +40,7 @@ def ntwks_to_matrices(in_files, edge_key):
+ raise KeyError(
+ "the graph edges do not have {} attribute".format(edge_key)
+ )
+- matrix[:, :, idx] = nx.to_numpy_matrix(graph) # Retrieve the matrix
++ matrix[:, :, idx] = nx.to_numpy_array(graph) # Retrieve the matrix
+ return matrix
+
+
+
+From f20035c303a88fba3e207ac60388397665bb97be Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 12:45:38 -0500
+Subject: [PATCH 8/9] FIX: Purge nx.read_gpickle
+
+---
+ nipype/interfaces/cmtk/convert.py | 9 ++++++++-
+ nipype/interfaces/cmtk/nbs.py | 11 ++++++++---
+ nipype/interfaces/cmtk/nx.py | 11 ++++++++---
+ 3 files changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/nipype/interfaces/cmtk/convert.py b/nipype/interfaces/cmtk/convert.py
+index 321a40fbba..a45daddcd6 100644
+--- a/nipype/interfaces/cmtk/convert.py
++++ b/nipype/interfaces/cmtk/convert.py
+@@ -18,6 +18,13 @@
+ from .base import CFFBaseInterface, have_cfflib
+
+
++def _read_pickle(fname):
++ import pickle
++
++ with open(fname, 'rb') as f:
++ return pickle.load(f)
++
++
+ class CFFConverterInputSpec(BaseInterfaceInputSpec):
+ graphml_networks = InputMultiPath(
+ File(exists=True), desc="list of graphML networks"
+@@ -135,7 +142,7 @@ def _run_interface(self, runtime):
+ unpickled = []
+ for ntwk in self.inputs.gpickled_networks:
+ _, ntwk_name, _ = split_filename(ntwk)
+- unpickled = nx.read_gpickle(ntwk)
++ unpickled = _read_pickle(ntwk)
+ cnet = cf.CNetwork(name=ntwk_name)
+ cnet.set_with_nxgraph(unpickled)
+ a.add_connectome_network(cnet)
+diff --git a/nipype/interfaces/cmtk/nbs.py b/nipype/interfaces/cmtk/nbs.py
+index 2560ed8e3c..a2bd42abee 100644
+--- a/nipype/interfaces/cmtk/nbs.py
++++ b/nipype/interfaces/cmtk/nbs.py
+@@ -24,13 +24,18 @@
+ iflogger = logging.getLogger("nipype.interface")
+
+
++def _read_pickle(fname):
++ with open(fname, 'rb') as f:
++ return pickle.load(f)
++
++
+ def ntwks_to_matrices(in_files, edge_key):
+- first = nx.read_gpickle(in_files[0])
++ first = _read_pickle(in_files[0])
+ files = len(in_files)
+ nodes = len(first.nodes())
+ matrix = np.zeros((nodes, nodes, files))
+ for idx, name in enumerate(in_files):
+- graph = nx.read_gpickle(name)
++ graph = _read_pickle(name)
+ for u, v, d in graph.edges(data=True):
+ try:
+ graph[u][v]["weight"] = d[
+@@ -162,7 +167,7 @@ def _run_interface(self, runtime):
+ else:
+ node_ntwk_name = self.inputs.in_group1[0]
+
+- node_network = nx.read_gpickle(node_ntwk_name)
++ node_network = _read_pickle(node_ntwk_name)
+ iflogger.info(
+ "Populating node dictionaries with attributes from %s", node_ntwk_name
+ )
+diff --git a/nipype/interfaces/cmtk/nx.py b/nipype/interfaces/cmtk/nx.py
+index a662eb65c6..991ca89dcf 100644
+--- a/nipype/interfaces/cmtk/nx.py
++++ b/nipype/interfaces/cmtk/nx.py
+@@ -24,11 +24,16 @@
+ iflogger = logging.getLogger("nipype.interface")
+
+
++def _read_pickle(fname):
++ with open(fname, 'rb') as f:
++ return pickle.load(f)
++
++
+ def read_unknown_ntwk(ntwk):
+ if not isinstance(ntwk, nx.classes.graph.Graph):
+ _, _, ext = split_filename(ntwk)
+ if ext == ".pck":
+- ntwk = nx.read_gpickle(ntwk)
++ ntwk = _read_pickle(ntwk)
+ elif ext == ".graphml":
+ ntwk = nx.read_graphml(ntwk)
+ return ntwk
+@@ -121,7 +126,7 @@ def average_networks(in_files, ntwk_res_file, group_id):
+ counting_ntwk = ntwk.copy()
+ # Sums all the relevant variables
+ for index, subject in enumerate(in_files):
+- tmp = nx.read_gpickle(subject)
++ tmp = _read_pickle(subject)
+ iflogger.info("File %s has %i edges", subject, tmp.number_of_edges())
+ edges = list(tmp.edges())
+ for edge in edges:
+@@ -461,7 +466,7 @@ def _run_interface(self, runtime):
+ edgentwks = list()
+ kntwks = list()
+ matlab = list()
+- ntwk = nx.read_gpickle(self.inputs.in_file)
++ ntwk = _read_pickle(self.inputs.in_file)
+
+ # Each block computes, writes, and saves a measure
+ # The names are then added to the output .pck file list
+
+From f6bf0af19c044709de5be79a4488dcfd4d08f305 Mon Sep 17 00:00:00 2001
+From: Chris Markiewicz <effigies@gmail.com>
+Date: Sat, 28 Jan 2023 13:23:33 -0500
+Subject: [PATCH 9/9] FIX: Add dtypes to nilearn interface/tests
+
+---
+ nipype/interfaces/nilearn.py | 2 +-
+ nipype/interfaces/tests/test_nilearn.py | 5 +++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/nipype/interfaces/nilearn.py b/nipype/interfaces/nilearn.py
+index 053902e2bd..95494e7f5f 100644
+--- a/nipype/interfaces/nilearn.py
++++ b/nipype/interfaces/nilearn.py
+@@ -155,7 +155,7 @@ def _process_inputs(self):
+ if self.inputs.include_global:
+ global_label_data = label_data.dataobj.sum(axis=3) # sum across all regions
+ global_label_data = (
+- np.rint(global_label_data).astype(int).clip(0, 1)
++ np.rint(global_label_data).clip(0, 1).astype('u1')
+ ) # binarize
+ global_label_data = self._4d(global_label_data, label_data.affine)
+ global_masker = nl.NiftiLabelsMasker(
+diff --git a/nipype/interfaces/tests/test_nilearn.py b/nipype/interfaces/tests/test_nilearn.py
+index 2066c00768..4f94bbb87b 100644
+--- a/nipype/interfaces/tests/test_nilearn.py
++++ b/nipype/interfaces/tests/test_nilearn.py
+@@ -184,10 +184,11 @@ def assert_expected_output(self, labels, wanted):
+ [[2, -2, -1, -2, -5], [3, 0, 3, -5, -2]],
+ [[-4, -2, -2, 1, -2], [3, 1, 4, -3, -2]],
+ ],
+- ]
++ ],
++ np.int16,
+ )
+
+- fake_label_data = np.array([[[1, 0], [3, 1]], [[2, 0], [1, 3]]])
++ fake_label_data = np.array([[[1, 0], [3, 1]], [[2, 0], [1, 3]]], np.uint8)
+
+ fake_equiv_4d_label_data = np.array(
+ [
diff --git a/sci-libs/nipype/files/nipype-1.8.4-no_etelemetry.patch b/sci-libs/nipype/files/nipype-1.8.4-no_etelemetry.patch
new file mode 100644
index 000000000..b5c223422
--- /dev/null
+++ b/sci-libs/nipype/files/nipype-1.8.4-no_etelemetry.patch
@@ -0,0 +1,50 @@
+diff --git a/nipype/__init__.py b/nipype/__init__.py
+index 06084e823..2e42dcbce 100644
+--- a/nipype/__init__.py
++++ b/nipype/__init__.py
+@@ -73,23 +73,6 @@ from .interfaces import (
+ )
+
+
+-def check_latest_version(raise_exception=False):
+- """
+- Check for the latest version of the library.
+-
+- Parameters
+- ----------
+- raise_exception: bool
+- Raise a RuntimeError if a bad version is being used
+- """
+- import etelemetry
+-
+- logger = logging.getLogger("nipype.utils")
+- return etelemetry.check_available_version(
+- "nipy/nipype", __version__, logger, raise_exception
+- )
+-
+-
+ # Run telemetry on import for interactive sessions, such as IPython, Jupyter notebooks, Python REPL
+ if config.getboolean("execution", "check_version"):
+ import __main__
+@@ -98,4 +81,4 @@ if config.getboolean("execution", "check_version"):
+ from .interfaces.base import BaseInterface
+
+ if BaseInterface._etelemetry_version_data is None:
+- BaseInterface._etelemetry_version_data = check_latest_version() or "n/a"
++ BaseInterface._etelemetry_version_data = "n/a"
+diff --git a/nipype/interfaces/base/core.py b/nipype/interfaces/base/core.py
+index c8099be63..f7770dbfc 100644
+--- a/nipype/interfaces/base/core.py
++++ b/nipype/interfaces/base/core.py
+@@ -183,10 +183,9 @@ class BaseInterface(Interface):
+ config.getboolean("execution", "check_version")
+ and "NIPYPE_NO_ET" not in os.environ
+ ):
+- from ... import check_latest_version
+
+ if BaseInterface._etelemetry_version_data is None:
+- BaseInterface._etelemetry_version_data = check_latest_version() or "n/a"
++ BaseInterface._etelemetry_version_data = "n/a"
+
+ if not self.input_spec:
+ raise Exception("No input_spec in class: %s" % self.__class__.__name__)
diff --git a/sci-libs/nipype/nipype-1.8.4-r1.ebuild b/sci-libs/nipype/nipype-1.8.4-r1.ebuild
new file mode 100644
index 000000000..7c2e801ff
--- /dev/null
+++ b/sci-libs/nipype/nipype-1.8.4-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Neuroimaging in Python: Pipelines and Interfaces"
+HOMEPAGE="https://nipype.readthedocs.io/"
+SRC_URI="https://github.com/nipy/nipype/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/prov[${PYTHON_USEDEP}]
+ sci-libs/nibabel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )
+"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/looseversion[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ <dev-python/traits-6.4.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.4-dependency_compatibility.patch"
+)
+
+src_prepare() {
+ # Remove etelemetry
+ sed -i '/"etelemetry/d' nipype/info.py requirements.txt || die
+
+ # Mark failing tests
+ sed -i \
+ -e "/def test_no_et(tmp_path):/i@pytest.mark.skip('Known to fail by upstream: https://github.com/nipy/nipype/issues/3196#issuecomment-606003186')" \
+ nipype/tests/test_nipype.py || die
+ sed -i \
+ -e "/def test_fslversion():/i@pytest.mark.skip('Known to fail by upstream: https://github.com/nipy/nipype/issues/3196#issuecomment-605997462')" \
+ nipype/interfaces/fsl/tests/test_base.py || die
+ default
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doenvd "${FILESDIR}/98nipype"
+}
+
+# Reported upstream:
+# https://github.com/nipy/nipype/issues/3540
+EPYTEST_DESELECT=(
+ nipype/interfaces/tests/test_io.py::test_s3datagrabber_communication
+)
+
+python_test() {
+ # Setting environment variable to disable etelemetry version check:
+ # https://github.com/nipy/nipype/issues/3196#issuecomment-605980044
+ NIPYPE_NO_ET=1 epytest
+ # Upstream test configuration fails
+ #-c nipype/pytest.ini\
+ #--doctest-modules nipype\
+ #--cov nipype\
+ #--cov-config .coveragerc\
+ #--cov-report xml:cov.xml\
+}
+
+pkg_postinst() {
+ echo
+ einfo "Please run the following commands if you"
+ einfo "intend to use nipype from an existing shell:"
+ einfo "source /etc/profile"
+ echo
+}
diff --git a/sci-libs/nipype/nipype-1.5.0.ebuild b/sci-libs/nipype/nipype-1.8.4-r2.ebuild
index f2a0815dc..4c3da70b3 100644
--- a/sci-libs/nipype/nipype-1.5.0.ebuild
+++ b/sci-libs/nipype/nipype-1.8.4-r2.ebuild
@@ -1,15 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="threads(+),sqlite"
inherit distutils-r1
DESCRIPTION="Neuroimaging in Python: Pipelines and Interfaces"
-HOMEPAGE="http://nipy.sourceforge.net/nipype/"
+HOMEPAGE="https://nipype.readthedocs.io/"
SRC_URI="https://github.com/nipy/nipype/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
@@ -28,30 +29,29 @@ DEPEND="
${RDEPEND}
)
"
-# Dependency disabled as upstream test configuration which requires it fails
-#dev-python/pytest-xdist[${PYTHON_USEDEP}]
RDEPEND="
- >=dev-python/click-6.6[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/looseversion[${PYTHON_USEDEP}]
dev-python/networkx[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pydot[${PYTHON_USEDEP}]
- dev-python/pydotplus[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/rdflib-5.0.0[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/traits[${PYTHON_USEDEP}]
+ <dev-python/traits-6.4.0[${PYTHON_USEDEP}]
"
PATCHES=(
- "${FILESDIR}/${P}"-version_check.patch
- "${FILESDIR}/${P}"-collections.patch
+ "${FILESDIR}/${PN}-1.8.4-dependency_compatibility.patch"
+ "${FILESDIR}/${PN}-1.8.4-no_etelemetry.patch"
)
src_prepare() {
# Remove etelemetry
+ # Doing this separately since the file is affected by another patch.
sed -i '/"etelemetry/d' nipype/info.py requirements.txt || die
# Mark failing tests
@@ -69,12 +69,10 @@ python_install_all() {
doenvd "${FILESDIR}/98nipype"
}
+# Reported upstream:
+# https://github.com/nipy/nipype/issues/3540
EPYTEST_DESELECT=(
- nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_compcor
- nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_compcor_variance_threshold_and_metadata
- nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_tcompcor
nipype/interfaces/tests/test_io.py::test_s3datagrabber_communication
- nipype/utils/tests/test_cmd.py::TestNipypeCMD::test_main_returns_0_on_help
)
python_test() {
diff --git a/sci-libs/nipype/nipype-1.8.6.ebuild b/sci-libs/nipype/nipype-1.8.6.ebuild
new file mode 100644
index 000000000..88bc23395
--- /dev/null
+++ b/sci-libs/nipype/nipype-1.8.6.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Neuroimaging in Python: Pipelines and Interfaces"
+HOMEPAGE="https://nipype.readthedocs.io/"
+SRC_URI="https://github.com/nipy/nipype/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# Tests fail with numpy import error:
+# https://github.com/nipy/nipype/issues/3626
+RESTRICT="test"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/prov[${PYTHON_USEDEP}]
+ sci-libs/nibabel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )
+"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/looseversion[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ <dev-python/traits-6.4.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.4-no_etelemetry.patch"
+)
+
+src_prepare() {
+ # Remove etelemetry
+ # Doing this separately since the file is affected by another patch.
+ sed -i '/"etelemetry/d' nipype/info.py requirements.txt || die
+
+ # Mark failing tests
+ sed -i \
+ -e "/def test_no_et(tmp_path):/i@pytest.mark.skip('Known to fail by upstream: https://github.com/nipy/nipype/issues/3196#issuecomment-606003186')" \
+ nipype/tests/test_nipype.py || die
+ sed -i \
+ -e "/def test_fslversion():/i@pytest.mark.skip('Known to fail by upstream: https://github.com/nipy/nipype/issues/3196#issuecomment-605997462')" \
+ nipype/interfaces/fsl/tests/test_base.py || die
+ default
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doenvd "${FILESDIR}/98nipype"
+}
+
+# Reported upstream:
+# https://github.com/nipy/nipype/issues/3540
+EPYTEST_DESELECT=(
+ nipype/interfaces/tests/test_io.py::test_s3datagrabber_communication
+)
+
+python_test() {
+ # Setting environment variable to disable etelemetry version check:
+ # https://github.com/nipy/nipype/issues/3196#issuecomment-605980044
+ NIPYPE_NO_ET=1 epytest
+ # Upstream test configuration fails
+ #-c nipype/pytest.ini\
+ #--doctest-modules nipype\
+ #--cov nipype\
+ #--cov-config .coveragerc\
+ #--cov-report xml:cov.xml\
+}
+
+pkg_postinst() {
+ echo
+ einfo "Please run the following commands if you"
+ einfo "intend to use nipype from an existing shell:"
+ einfo "source /etc/profile"
+ echo
+}
diff --git a/sci-libs/oneDAL/Manifest b/sci-libs/oneDAL/Manifest
new file mode 100644
index 000000000..4ea34591f
--- /dev/null
+++ b/sci-libs/oneDAL/Manifest
@@ -0,0 +1,4 @@
+DIST mklfpk_lnx_20221214.tgz 88817211 BLAKE2B 3416ce8fe8c768c0d8598536d23f68aafe9e47590d854ce19e8ac79108aa5f10a2fd2fdbf7c96aec9f083ef8ad3ae7a1515e5f5b0e565f0c1686cc5fc0eeb02d SHA512 c0a0beb56c3f41deff9b587d116e7cd366ff31b393a78d4ad608ef620d5b503bc80b720eb61b9355c8d5547a3a566f223d5deb3421c97498fbff90997d8d7e62
+DIST mklgpufpk_lnx_20221214.tgz 15283052 BLAKE2B 54137083613cef5114cd95cade61e58456a0858bd46ecc9fe2294ba06d5bd405bbb1259b16f9003ba466a91cfa0b3801dc8485338fd11d612f09811741ff25a2 SHA512 2cf035133269ac24fa7d39aecaa673d21a65b772d86179a04fec20e4d6e1ad20122ae8ce262f2814ad768272258c512e6fedf0ab978ed687ba54949bb7b6b3b5
+DIST oneDAL-2023.0.1.tar.gz 61208026 BLAKE2B 2a9509fe59808ee1211b39b2ae0da34b37ba73e747316fdb407112611bbba1b808d451f5aef0afc9552178839adaae71bbe80c2fdeea39a23048674f87b159c1 SHA512 58e9aacc5c09bae67d5bdc6477b7e5d6f0c696513e532d778ae427314e35f629c6c3b8d94f382638ab736786f4ae965dcbdf2e25ab018efc863ee21000116894
+DIST oneDAL-2023.2.1.tar.gz 50938584 BLAKE2B c14bbdc7a1d4faf5266f47a0849a1a9403824c6824ca392f5bafc5fe7c9e6abd6448647cb73d1ffd9cec8b347bba2ca3d58d86306af185896a0a5880132e593a SHA512 d412bd8f353a017929b31411ff2788fada04ceee9cb4f6d98828e5bb10a50a28dc4d73f89da0a0db21baf1cb4accebfb647198331748f95a6af9299c4977d5b7
diff --git a/sci-libs/oneDAL/files/oneDAL-2021.7.1_p20221207-fix-compile.patch b/sci-libs/oneDAL/files/oneDAL-2021.7.1_p20221207-fix-compile.patch
new file mode 100644
index 000000000..553e742ab
--- /dev/null
+++ b/sci-libs/oneDAL/files/oneDAL-2021.7.1_p20221207-fix-compile.patch
@@ -0,0 +1,164 @@
+diff --git a/dev/bazel/deps/onedal.bzl b/dev/bazel/deps/onedal.bzl
+index f0f7662..6b9d11f 100644
+--- a/dev/bazel/deps/onedal.bzl
++++ b/dev/bazel/deps/onedal.bzl
+@@ -21,18 +21,12 @@ onedal_repo = repos.prebuilt_libs_repo_rule(
+ "include",
+ ],
+ libs = [
+- # Static
+- "lib/intel64/libonedal_core.a",
+- "lib/intel64/libonedal_thread.a",
+- "lib/intel64/libonedal.a",
+- "lib/intel64/libonedal_dpc.a",
+- "lib/intel64/libonedal_sycl.a",
+-
+ # Dynamic
+ "lib/intel64/libonedal_core.so",
+ "lib/intel64/libonedal_thread.so",
+ "lib/intel64/libonedal.so",
+ "lib/intel64/libonedal_dpc.so",
++ "lib/intel64/libonedal_sycl.so",
+ ],
+ build_template = "@onedal//dev/bazel/deps:onedal.tpl.BUILD",
+ )
+diff --git a/dev/bazel/deps/onedal.tpl.BUILD b/dev/bazel/deps/onedal.tpl.BUILD
+index 60be678..0f7990e 100644
+--- a/dev/bazel/deps/onedal.tpl.BUILD
++++ b/dev/bazel/deps/onedal.tpl.BUILD
+@@ -9,62 +9,17 @@ cc_library(
+ includes = [ "include" ],
+ )
+
+-cc_library(
+- name = "core_static",
+- srcs = [
+- "lib/intel64/libonedal_core.a",
+- ],
+- deps = [
+- ":headers",
+- # TODO: Currently vml_ipp lib depends on TBB, but it shouldn't
+- # Remove TBB from deps once problem with vml_ipp is resolved
+- "@tbb//:tbb_binary",
+- ],
+-)
+-
+-cc_library(
+- name = "thread_static",
+- srcs = [
+- "lib/intel64/libonedal_thread.a",
+- ],
+- deps = [
+- ":headers",
+- "@tbb//:tbb_binary",
+- "@tbb//:tbbmalloc_binary",
+- ],
+-)
+
+ cc_library(
+ name = "onedal_sycl",
+ srcs = [
+- "lib/intel64/libonedal_sycl.a",
+- ],
+- deps = [
+- ":headers",
+- ],
+-)
+-
+-cc_library(
+- name = "onedal_static",
+- srcs = [
+- "lib/intel64/libonedal.a",
++ "lib/intel64/libonedal_sycl.so",
+ ],
+ deps = [
+ ":headers",
+ ],
+ )
+
+-cc_library(
+- name = "onedal_static_dpc",
+- srcs = [
+- "lib/intel64/libonedal_dpc.a",
+- ],
+- deps = [
+- ":headers",
+- ":onedal_sycl",
+- ],
+-)
+-
+ cc_library(
+ name = "core_dynamic",
+ srcs = [
+diff --git a/dev/make/cmplr.dpcpp.mk b/dev/make/cmplr.dpcpp.mk
+index 2ac2ed9..bd0e182 100644
+--- a/dev/make/cmplr.dpcpp.mk
++++ b/dev/make/cmplr.dpcpp.mk
+@@ -28,13 +28,13 @@ CORE.SERV.COMPILER.dpcpp = generic
+ -Zl.dpcpp =
+ -DEBC.dpcpp = -g
+
+-COMPILER.lnx.dpcpp = icpx -fsycl $(if $(IA_is_ia32),-m32,-m64) -stdlib=libstdc++ -fgnu-runtime -fwrapv \
+- -Werror -Wreturn-type -fsycl-device-code-split=per_kernel
+-COMPILER.win.dpcpp = icx -fsycl $(if $(MSVC_RT_is_release),-MD, -MDd /debug:none) -nologo -WX \
++COMPILER.lnx.dpcpp = $(CXX) $(CXXFLAGS) -fsycl $(if $(IA_is_ia32),-m32,-m64) -stdlib=libstdc++ -fgnu-runtime -fwrapv \
++ -Wreturn-type -fsycl-device-code-split=per_kernel
++COMPILER.win.dpcpp = $(CC) $(CFLAGS) -fsycl $(if $(MSVC_RT_is_release),-MD, -MDd /debug:none) -nologo -WX \
+ -Wno-deprecated-declarations -fsycl-device-code-split=per_kernel
+
+-link.dynamic.lnx.dpcpp = icpx -fsycl $(if $(IA_is_ia32),-m32,-m64) -fsycl-device-code-split=per_kernel
+-link.dynamic.win.dpcpp = icx -fsycl $(if $(IA_is_ia32),-m32,-m64) -fsycl-device-code-split=per_kernel
++link.dynamic.lnx.dpcpp = $(CXX) $(LDFLAGS) -fsycl $(if $(IA_is_ia32),-m32,-m64) -fsycl-device-code-split=per_kernel
++link.dynamic.win.dpcpp = $(CC) $(LDFLAGS) -fsycl $(if $(IA_is_ia32),-m32,-m64) -fsycl-device-code-split=per_kernel
+
+ pedantic.opts.lnx.dpcpp = -pedantic \
+ -Wall \
+diff --git a/dev/make/cmplr.icx.mk b/dev/make/cmplr.icx.mk
+index 28ce293..7c478b0 100644
+--- a/dev/make/cmplr.icx.mk
++++ b/dev/make/cmplr.icx.mk
+@@ -24,14 +24,14 @@ CMPLRDIRSUFF.icx = _icx
+
+ CORE.SERV.COMPILER.icx = generic
+
+--Zl.icx = -no-intel-lib=libirc
++-Zl.icx =
+ -DEBC.icx = -g
+
+-COMPILER.lnx.icx = icpx $(if $(IA_is_ia32),-m32,-m64) \
+- -Werror -Wreturn-type
++COMPILER.lnx.icx = $(CXX) $(CXXFLAGS) $(if $(IA_is_ia32),-m32,-m64) \
++ -Wreturn-type
+
+
+-link.dynamic.lnx.icx = icpx $(if $(IA_is_ia32),-m32,-m64)
++link.dynamic.lnx.icx = $(CXX) $(LDFLAGS) $(if $(IA_is_ia32),-m32,-m64)
+
+ pedantic.opts.icx = -pedantic \
+ -Wall \
+diff --git a/makefile b/makefile
+index 9c51bad..20aaff5 100644
+--- a/makefile
++++ b/makefile
+@@ -219,7 +219,7 @@ TBBDIR.2 := $(if $(TBBDIR.2),$(TBBDIR.2),$(error Can`t find TBB neither in $(DIR
+
+ TBBDIR.include := $(if $(TBBDIR),$(TBBDIR)/include/tbb $(TBBDIR)/include)
+
+-TBBDIR.libia.prefix := $(TBBDIR.2)/lib
++TBBDIR.libia.prefix := $(TBBDIR.2)/lib64
+
+ TBBDIR.libia.win.vc1 := $(if $(OS_is_win),$(if $(wildcard $(call frompf1,$(TBBDIR.libia.prefix))/$(_IA)/vc_mt),$(TBBDIR.libia.prefix)/$(_IA)/vc_mt,$(if $(wildcard $(call frompf1,$(TBBDIR.libia.prefix))/$(_IA)/vc14),$(TBBDIR.libia.prefix)/$(_IA)/vc14)))
+ TBBDIR.libia.win.vc2 := $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc1),,$(firstword $(filter $(call topf,$$TBBROOT)%,$(subst ;,$(space),$(call topf,$$LIB))))))
+@@ -227,10 +227,10 @@ TBBDIR.libia.win.vc22 := $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc2),$(wildca
+
+ TBBDIR.libia.win:= $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc22),$(TBBDIR.libia.win.vc2),$(if $(TBBDIR.libia.win.vc1),$(TBBDIR.libia.win.vc1),$(error Can`t find TBB libs nether in $(call frompf,$(TBBDIR.libia.prefix))/$(_IA)/vc_mt not in $(firstword $(filter $(TBBROOT)%,$(subst ;,$(space),$(LIB)))).))))
+
+-TBBDIR.libia.lnx.gcc1 := $(if $(OS_is_lnx),$(if $(wildcard $(TBBDIR.libia.prefix)/$(_IA)/gcc4.8/*),$(TBBDIR.libia.prefix)/$(_IA)/gcc4.8))
++TBBDIR.libia.lnx.gcc1 := $(if $(OS_is_lnx),$(if $(wildcard $(TBBDIR.libia.prefix)/*),$(TBBDIR.libia.prefix)))
+ TBBDIR.libia.lnx.gcc2 := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc1),,$(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH))))))
+ TBBDIR.libia.lnx.gcc22 := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc2),$(wildcard $(TBBDIR.libia.lnx.gcc2)/libtbb.so)))
+-TBBDIR.libia.lnx := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc22),$(TBBDIR.libia.lnx.gcc2),$(if $(TBBDIR.libia.lnx.gcc1),$(TBBDIR.libia.lnx.gcc1),$(error Can`t find TBB runtimes nether in $(TBBDIR.libia.prefix)/$(_IA)/gcc4.8 not in $(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH)))).))))
++TBBDIR.libia.lnx := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc22),$(TBBDIR.libia.lnx.gcc2),$(if $(TBBDIR.libia.lnx.gcc1),$(TBBDIR.libia.lnx.gcc1),$(error Can`t find TBB runtimes nether in $(TBBDIR.libia.prefix) not in $(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH)))).))))
+
+ TBBDIR.libia.mac.clang1 := $(if $(OS_is_mac),$(if $(wildcard $(TBBDIR.libia.prefix)/*),$(TBBDIR.libia.prefix)))
+ TBBDIR.libia.mac.clang2 := $(if $(OS_is_mac),$(if $(TBBDIR.libia.mac.clang1),,$(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LIBRARY_PATH))))))
diff --git a/sci-libs/oneDAL/files/oneDAL-2023.2.1-fix-compile.patch b/sci-libs/oneDAL/files/oneDAL-2023.2.1-fix-compile.patch
new file mode 100644
index 000000000..50731570d
--- /dev/null
+++ b/sci-libs/oneDAL/files/oneDAL-2023.2.1-fix-compile.patch
@@ -0,0 +1,162 @@
+diff --git a/dev/bazel/deps/onedal.bzl b/dev/bazel/deps/onedal.bzl
+index f0f7662c0..6b9d11ff2 100644
+--- a/dev/bazel/deps/onedal.bzl
++++ b/dev/bazel/deps/onedal.bzl
+@@ -21,18 +21,12 @@ onedal_repo = repos.prebuilt_libs_repo_rule(
+ "include",
+ ],
+ libs = [
+- # Static
+- "lib/intel64/libonedal_core.a",
+- "lib/intel64/libonedal_thread.a",
+- "lib/intel64/libonedal.a",
+- "lib/intel64/libonedal_dpc.a",
+- "lib/intel64/libonedal_sycl.a",
+-
+ # Dynamic
+ "lib/intel64/libonedal_core.so",
+ "lib/intel64/libonedal_thread.so",
+ "lib/intel64/libonedal.so",
+ "lib/intel64/libonedal_dpc.so",
++ "lib/intel64/libonedal_sycl.so",
+ ],
+ build_template = "@onedal//dev/bazel/deps:onedal.tpl.BUILD",
+ )
+diff --git a/dev/bazel/deps/onedal.tpl.BUILD b/dev/bazel/deps/onedal.tpl.BUILD
+index 60be67856..0f7990ef5 100644
+--- a/dev/bazel/deps/onedal.tpl.BUILD
++++ b/dev/bazel/deps/onedal.tpl.BUILD
+@@ -9,62 +9,17 @@ cc_library(
+ includes = [ "include" ],
+ )
+
+-cc_library(
+- name = "core_static",
+- srcs = [
+- "lib/intel64/libonedal_core.a",
+- ],
+- deps = [
+- ":headers",
+- # TODO: Currently vml_ipp lib depends on TBB, but it shouldn't
+- # Remove TBB from deps once problem with vml_ipp is resolved
+- "@tbb//:tbb_binary",
+- ],
+-)
+-
+-cc_library(
+- name = "thread_static",
+- srcs = [
+- "lib/intel64/libonedal_thread.a",
+- ],
+- deps = [
+- ":headers",
+- "@tbb//:tbb_binary",
+- "@tbb//:tbbmalloc_binary",
+- ],
+-)
+
+ cc_library(
+ name = "onedal_sycl",
+ srcs = [
+- "lib/intel64/libonedal_sycl.a",
+- ],
+- deps = [
+- ":headers",
+- ],
+-)
+-
+-cc_library(
+- name = "onedal_static",
+- srcs = [
+- "lib/intel64/libonedal.a",
++ "lib/intel64/libonedal_sycl.so",
+ ],
+ deps = [
+ ":headers",
+ ],
+ )
+
+-cc_library(
+- name = "onedal_static_dpc",
+- srcs = [
+- "lib/intel64/libonedal_dpc.a",
+- ],
+- deps = [
+- ":headers",
+- ":onedal_sycl",
+- ],
+-)
+-
+ cc_library(
+ name = "core_dynamic",
+ srcs = [
+diff --git a/dev/make/cmplr.dpcpp.mk b/dev/make/cmplr.dpcpp.mk
+index 2a78043b7..b431e1255 100644
+--- a/dev/make/cmplr.dpcpp.mk
++++ b/dev/make/cmplr.dpcpp.mk
+@@ -28,13 +28,13 @@ CORE.SERV.COMPILER.dpcpp = generic
+ -Zl.dpcpp =
+ -DEBC.dpcpp = -g
+
+-COMPILER.lnx.dpcpp = icpx -fsycl -m64 -stdlib=libstdc++ -fgnu-runtime -fwrapv \
++COMPILER.lnx.dpcpp = $(CXX) $(CXXFLAGS) -fsycl -m64 -stdlib=libstdc++ -fgnu-runtime -fwrapv \
+ -Werror -Wreturn-type -fsycl-device-code-split=per_kernel
+-COMPILER.win.dpcpp = icx -fsycl $(if $(MSVC_RT_is_release),-MD, -MDd /debug:none) -nologo -WX \
++COMPILER.win.dpcpp = $(CC) $(CFLAGS) -fsycl $(if $(MSVC_RT_is_release),-MD, -MDd /debug:none) -nologo -WX \
+ -Wno-deprecated-declarations -fsycl-device-code-split=per_kernel
+
+-link.dynamic.lnx.dpcpp = icpx -fsycl -m64 -fsycl-device-code-split=per_kernel
+-link.dynamic.win.dpcpp = icx -fsycl -m64 -fsycl-device-code-split=per_kernel
++link.dynamic.lnx.dpcpp = $(CXX) $(LDFLAGS) -fsycl -m64 -fsycl-device-code-split=per_kernel
++link.dynamic.win.dpcpp = $(CC) $(LDFLAGS) -fsycl -m64 -fsycl-device-code-split=per_kernel
+
+ pedantic.opts.lnx.dpcpp = -pedantic \
+ -Wall \
+diff --git a/dev/make/cmplr.icx.mk b/dev/make/cmplr.icx.mk
+index cbcde1a7e..61ef3583c 100644
+--- a/dev/make/cmplr.icx.mk
++++ b/dev/make/cmplr.icx.mk
+@@ -24,14 +24,14 @@ CMPLRDIRSUFF.icx = _icx
+
+ CORE.SERV.COMPILER.icx = generic
+
+--Zl.icx = -no-intel-lib=libirc
++-Zl.icx =
+ -DEBC.icx = -g
+
+-COMPILER.lnx.icx = icpx -m64 \
++COMPILER.lnx.icx = $(CXX) $(CXXFLAGS) -m64 \
+ -Werror -Wreturn-type
+
+
+-link.dynamic.lnx.icx = icpx -m64
++link.dynamic.lnx.icx = $(CXX) $(LDFLAGS) -m64
+
+ pedantic.opts.icx = -pedantic \
+ -Wall \
+diff --git a/makefile b/makefile
+index 525e52728..db864e9cb 100644
+--- a/makefile
++++ b/makefile
+@@ -215,7 +215,7 @@ TBBDIR.2 := $(if $(TBBDIR.2),$(TBBDIR.2),$(error Can`t find TBB neither in $(DIR
+
+ TBBDIR.include := $(if $(TBBDIR),$(TBBDIR)/include/tbb $(TBBDIR)/include)
+
+-TBBDIR.libia.prefix := $(TBBDIR.2)/lib
++TBBDIR.libia.prefix := $(TBBDIR.2)/lib64
+
+ TBBDIR.libia.win.vc1 := $(if $(OS_is_win),$(if $(wildcard $(call frompf1,$(TBBDIR.libia.prefix))/$(_IA)/vc_mt),$(TBBDIR.libia.prefix)/$(_IA)/vc_mt,$(if $(wildcard $(call frompf1,$(TBBDIR.libia.prefix))/$(_IA)/vc14),$(TBBDIR.libia.prefix)/$(_IA)/vc14)))
+ TBBDIR.libia.win.vc2 := $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc1),,$(firstword $(filter $(call topf,$$TBBROOT)%,$(subst ;,$(space),$(call topf,$$LIB))))))
+@@ -223,10 +223,10 @@ TBBDIR.libia.win.vc22 := $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc2),$(wildca
+
+ TBBDIR.libia.win:= $(if $(OS_is_win),$(if $(TBBDIR.libia.win.vc22),$(TBBDIR.libia.win.vc2),$(if $(TBBDIR.libia.win.vc1),$(TBBDIR.libia.win.vc1),$(error Can`t find TBB libs nether in $(call frompf,$(TBBDIR.libia.prefix))/$(_IA)/vc_mt not in $(firstword $(filter $(TBBROOT)%,$(subst ;,$(space),$(LIB)))).))))
+
+-TBBDIR.libia.lnx.gcc1 := $(if $(OS_is_lnx),$(if $(wildcard $(TBBDIR.libia.prefix)/$(_IA)/gcc4.8/*),$(TBBDIR.libia.prefix)/$(_IA)/gcc4.8))
++TBBDIR.libia.lnx.gcc1 := $(if $(OS_is_lnx),$(if $(wildcard $(TBBDIR.libia.prefix)/*),$(TBBDIR.libia.prefix)))
+ TBBDIR.libia.lnx.gcc2 := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc1),,$(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH))))))
+ TBBDIR.libia.lnx.gcc22 := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc2),$(wildcard $(TBBDIR.libia.lnx.gcc2)/libtbb.so)))
+-TBBDIR.libia.lnx := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc22),$(TBBDIR.libia.lnx.gcc2),$(if $(TBBDIR.libia.lnx.gcc1),$(TBBDIR.libia.lnx.gcc1),$(error Can`t find TBB runtimes nether in $(TBBDIR.libia.prefix)/$(_IA)/gcc4.8 not in $(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH)))).))))
++TBBDIR.libia.lnx := $(if $(OS_is_lnx),$(if $(TBBDIR.libia.lnx.gcc22),$(TBBDIR.libia.lnx.gcc2),$(if $(TBBDIR.libia.lnx.gcc1),$(TBBDIR.libia.lnx.gcc1),$(error Can`t find TBB runtimes nether in $(TBBDIR.libia.prefix) not in $(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LD_LIBRARY_PATH)))).))))
+
+ TBBDIR.libia.mac.clang1 := $(if $(OS_is_mac),$(if $(wildcard $(TBBDIR.libia.prefix)/*),$(TBBDIR.libia.prefix)))
+ TBBDIR.libia.mac.clang2 := $(if $(OS_is_mac),$(if $(TBBDIR.libia.mac.clang1),,$(firstword $(filter $(TBBROOT)%,$(subst :,$(space),$(LIBRARY_PATH))))))
diff --git a/sci-libs/oneDAL/metadata.xml b/sci-libs/oneDAL/metadata.xml
new file mode 100644
index 000000000..2793ac235
--- /dev/null
+++ b/sci-libs/oneDAL/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">oneapi-src/oneDAL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/oneDAL/oneDAL-2023.0.1.ebuild b/sci-libs/oneDAL/oneDAL-2023.0.1.ebuild
new file mode 100644
index 000000000..589a74960
--- /dev/null
+++ b/sci-libs/oneDAL/oneDAL-2023.0.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-any-r1 java-pkg-2
+
+MKLFPK_VER="20221214"
+MKLGPUFPK_VER="20221214"
+
+DESCRIPTION="oneAPI Data Analytics Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDAL"
+# Secondary urls extracted from dev/download_micromkl.sh
+SRC_URI="
+ https://github.com/oneapi-src/oneDAL/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/oneapi-src/oneDAL/releases/download/Dependencies/mklgpufpk_lnx_${MKLGPUFPK_VER}.tgz
+ https://github.com/oneapi-src/oneDAL/releases/download/Dependencies/mklfpk_lnx_${MKLFPK_VER}.tgz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="sys-devel/DPC++"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-libs/opencl-icd-loader
+ virtual/jdk:17
+"
+DEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2021.7.1_p20221207-fix-compile.patch"
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ mkdir -p "${S}/__deps/mklfpk/" "${S}/__deps/mklgpufpk/lnx" || die
+ cd "${S}/__deps/mklfpk/" || die
+ unpack "mklfpk_lnx_${MKLFPK_VER}.tgz"
+ cd "${S}/__deps/mklgpufpk/lnx" || die
+ unpack "mklgpufpk_lnx_${MKLGPUFPK_VER}.tgz"
+}
+
+src_prepare() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export TBBROOT="${ESYSROOT}/usr"
+ export CPLUS_INCLUDE_PATH="./cpp/daal/include:${ESYSROOT}/usr/lib/llvm/intel/include"
+ export JAVA_HOME="${ESYSROOT}/usr/lib64/openjdk-17/"
+ export PATH="${JAVA_HOME}/bin:${PATH}"
+ export CPATH="${JAVA_HOME}/include:${JAVA_HOME}/include/linux:${CPATH}"
+
+ default
+}
+
+src_compile() {
+ emake PLAT=lnx32e COMPILER=icx daal oneapi
+}
+
+src_install() {
+ einstalldocs
+ cd __release_lnx_icx/daal/latest || die
+ docinto examples
+ dodoc -r examples/*
+ docinto samples
+ dodoc -r samples/*
+ doheader -r include/*
+ dolib.so lib/intel64/*.so*
+ dolib.a lib/intel64/*.a*
+ insinto /usr/share/pkgconfig
+ doins -r lib/pkgconfig/*
+ java-pkg_dojar lib/*.jar
+}
diff --git a/sci-libs/oneDAL/oneDAL-2023.2.1.ebuild b/sci-libs/oneDAL/oneDAL-2023.2.1.ebuild
new file mode 100644
index 000000000..9007f7a51
--- /dev/null
+++ b/sci-libs/oneDAL/oneDAL-2023.2.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-any-r1 java-pkg-2
+
+MKLFPK_VER="20221214"
+MKLGPUFPK_VER="20221214"
+
+DESCRIPTION="oneAPI Data Analytics Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDAL"
+# Secondary urls extracted from dev/download_micromkl.sh
+SRC_URI="
+ https://github.com/oneapi-src/oneDAL/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/oneapi-src/oneDAL/releases/download/Dependencies/mklgpufpk_lnx_${MKLGPUFPK_VER}.tgz
+ https://github.com/oneapi-src/oneDAL/releases/download/Dependencies/mklfpk_lnx_${MKLFPK_VER}.tgz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="sys-devel/DPC++"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-libs/opencl-icd-loader
+ virtual/jdk:17
+"
+DEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2023.2.1-fix-compile.patch"
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ mkdir -p "${S}/__deps/mklfpk/" "${S}/__deps/mklgpufpk/lnx" || die
+ cd "${S}/__deps/mklfpk/" || die
+ unpack "mklfpk_lnx_${MKLFPK_VER}.tgz"
+ cd "${S}/__deps/mklgpufpk/lnx" || die
+ unpack "mklgpufpk_lnx_${MKLGPUFPK_VER}.tgz"
+}
+
+src_prepare() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export TBBROOT="${ESYSROOT}/usr"
+ export CPLUS_INCLUDE_PATH="./cpp/daal/include:${ESYSROOT}/usr/lib/llvm/intel/include"
+ export JAVA_HOME="${ESYSROOT}/usr/lib64/openjdk-17/"
+ export PATH="${JAVA_HOME}/bin:${PATH}"
+ export CPATH="${JAVA_HOME}/include:${JAVA_HOME}/include/linux:${CPATH}"
+
+ default
+}
+
+src_compile() {
+ emake PLAT=lnx32e COMPILER=icx daal oneapi
+}
+
+src_install() {
+ einstalldocs
+ cd __release_lnx_icx/daal/latest || die
+ docinto examples
+ dodoc -r examples/*
+ docinto samples
+ dodoc -r samples/*
+ doheader -r include/*
+ dolib.so lib/intel64/*.so*
+ dolib.a lib/intel64/*.a*
+ insinto /usr/share/pkgconfig
+ doins -r lib/pkgconfig/*
+ java-pkg_dojar lib/*.jar
+}
diff --git a/sci-libs/oneMKL/Manifest b/sci-libs/oneMKL/Manifest
new file mode 100644
index 000000000..9999712a5
--- /dev/null
+++ b/sci-libs/oneMKL/Manifest
@@ -0,0 +1,2 @@
+DIST oneMKL-0.2_p20221201.tar.gz 958514 BLAKE2B 14fe7ca0095440f90ae74f9480be1693677c405071d123b10044d3ce09c7e2f8cb42f262ecfe617ba7d68efdf506ccd6aa31c52e376ff3bd1789f4923597b2b5 SHA512 e474f3d37aa58978aba417073f466507c91e428477c7a4b6f52206584e4ba6c307df7157b5b6e6e9b82e8bd1d9b6537eebef569fe8170cf053f6d1d87d2c1176
+DIST oneMKL-0.2_p20230221.tar.gz 983270 BLAKE2B 73f399301989938c78620dfd833cc895050e253d5880d4b7b6a416438179ac3299278f7dfef8198ba81aa55c33e95bb37d62c523345aa5d876177ca482cbaab7 SHA512 b502b0511613927e74e0d40186c0d91864f12bd23880eb029876a30b89cf1d495f0af9bfefe0278ee102b6d0bb7f698b50a3280ad53b33a9ebce32ec5ce84e85
diff --git a/sci-libs/oneMKL/files/oneMKL-0.2_p20221201-find-lapacke.patch b/sci-libs/oneMKL/files/oneMKL-0.2_p20221201-find-lapacke.patch
new file mode 100644
index 000000000..2c2fc1367
--- /dev/null
+++ b/sci-libs/oneMKL/files/oneMKL-0.2_p20221201-find-lapacke.patch
@@ -0,0 +1,22 @@
+diff --git a/cmake/FindLAPACKE.cmake b/cmake/FindLAPACKE.cmake
+index 42a5b7d..080108a 100644
+--- a/cmake/FindLAPACKE.cmake
++++ b/cmake/FindLAPACKE.cmake
+@@ -19,13 +19,13 @@
+
+ include_guard()
+
+-find_library(LAPACKE64_file NAMES lapacke64.dll.lib lapacke64.lib lapacke64 HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
++find_library(LAPACKE64_file NAMES lapacke64.dll.lib lapacke64.lib lapacke HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
+ find_package_handle_standard_args(LAPACKE REQUIRED_VARS LAPACKE64_file)
+-find_library(LAPACK64_file NAMES lapack64.dll.lib lapack64.lib lapack64 HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
++find_library(LAPACK64_file NAMES lapack64.dll.lib lapack64.lib lapack HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
+ find_package_handle_standard_args(LAPACKE REQUIRED_VARS LAPACK64_file)
+-find_library(CBLAS64_file NAMES cblas64.dll.lib cblas64.lib cblas64 HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
++find_library(CBLAS64_file NAMES cblas64.dll.lib cblas64.lib cblas HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
+ find_package_handle_standard_args(LAPACKE REQUIRED_VARS CBLAS64_file)
+-find_library(BLAS64_file NAMES blas64.dll.lib blas64.lib blas64 HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
++find_library(BLAS64_file NAMES blas64.dll.lib blas64.lib blas HINTS ${REF_LAPACK_ROOT} PATH_SUFFIXES lib lib64)
+ find_package_handle_standard_args(LAPACKE REQUIRED_VARS BLAS64_file)
+
+ get_filename_component(LAPACKE64_LIB_DIR ${LAPACKE64_file} DIRECTORY)
diff --git a/sci-libs/oneMKL/metadata.xml b/sci-libs/oneMKL/metadata.xml
new file mode 100644
index 000000000..77e2dd702
--- /dev/null
+++ b/sci-libs/oneMKL/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">oneapi-src/oneMKL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/oneMKL/oneMKL-0.2_p20221201.ebuild b/sci-libs/oneMKL/oneMKL-0.2_p20221201.ebuild
new file mode 100644
index 000000000..35d773397
--- /dev/null
+++ b/sci-libs/oneMKL/oneMKL-0.2_p20221201.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="f4866ab2648cd7cff4a047b91be5f94ff7b73ba1"
+
+DESCRIPTION="oneAPI Math Kernel Library Interfaces "
+HOMEPAGE="https://github.com/oneapi-src/oneMKL"
+SRC_URI="https://github.com/oneapi-src/oneMKL/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test"
+# Tests don't compile properly
+# RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+BDEPEND="sys-devel/DPC++"
+
+DEPEND="
+ dev-cpp/tbb:=
+ sci-libs/lapack[lapacke]
+ sci-libs/mkl
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-find-lapacke.patch"
+)
+
+src_prepare() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ -DCMAKE_C_COMPILER="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ -DMKL_ROOT="${ESYSROOT}/opt/intel/oneapi/mkl/latest"
+ -DBUILD_FUNCTIONAL_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Move into the correct libdid
+ mv "${ED}/usr/lib" "${ED}/usr/$(get_libdir)" || die
+}
diff --git a/sci-libs/oneMKL/oneMKL-0.2_p20230221.ebuild b/sci-libs/oneMKL/oneMKL-0.2_p20230221.ebuild
new file mode 100644
index 000000000..896ed4566
--- /dev/null
+++ b/sci-libs/oneMKL/oneMKL-0.2_p20230221.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="793c771c60f5105c12eaf59e1534eeb21d1cfe4a"
+
+DESCRIPTION="oneAPI Math Kernel Library Interfaces "
+HOMEPAGE="https://github.com/oneapi-src/oneMKL"
+SRC_URI="https://github.com/oneapi-src/oneMKL/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test"
+# Tests don't compile properly
+# RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+BDEPEND="sys-devel/DPC++"
+
+DEPEND="
+ dev-cpp/tbb:=
+ sci-libs/lapack[lapacke]
+ sci-libs/mkl
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.2_p20221201-find-lapacke.patch"
+)
+
+src_prepare() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ -DCMAKE_C_COMPILER="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ -DMKL_ROOT="${ESYSROOT}/opt/intel/oneapi/mkl/latest"
+ -DBUILD_FUNCTIONAL_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Move into the correct libdir
+ mv "${ED}/usr/lib" "${ED}/usr/$(get_libdir)" || die
+}
diff --git a/sci-libs/pybids/pybids-0.10.2.ebuild b/sci-libs/pybids/pybids-0.10.2.ebuild
index 1143655d7..5f2776855 100644
--- a/sci-libs/pybids/pybids-0.10.2.ebuild
+++ b/sci-libs/pybids/pybids-0.10.2.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=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
diff --git a/sci-libs/pybids/pybids-0.12.4.ebuild b/sci-libs/pybids/pybids-0.12.4.ebuild
index ace1712ce..7860d69c9 100644
--- a/sci-libs/pybids/pybids-0.12.4.ebuild
+++ b/sci-libs/pybids/pybids-0.12.4.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=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
diff --git a/sci-libs/pybids/pybids-0.6.5.ebuild b/sci-libs/pybids/pybids-0.6.5.ebuild
index ceb6784d1..6103c3191 100644
--- a/sci-libs/pybids/pybids-0.6.5.ebuild
+++ b/sci-libs/pybids/pybids-0.6.5.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=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
diff --git a/sci-libs/pydicom/Manifest b/sci-libs/pydicom/Manifest
index b49bf81e1..b5e5f2a75 100644
--- a/sci-libs/pydicom/Manifest
+++ b/sci-libs/pydicom/Manifest
@@ -1,3 +1,2 @@
-DIST pydicom-1.1.0.tar.gz 6724086 BLAKE2B efdcdd722bc877b9b9cf137ecd2a3fa6fb2b7da022bdab49f03dbcdb5a3e3dc8bc24b6b0d8eb9ab946934ec182c13ec1df671461c357476f543afb6f435f604c SHA512 ffca9eb4333d29accea1d6e5a5b4c3c0bd0f8c12fdf00c5c84d83769db621e8f348c9200dff1dc1cd6016cbf5d76b00f08c3b112ba653433a84ce31ad1ab33d5
-DIST pydicom-1.4.2.tar.gz 35237997 BLAKE2B 0b4db847150153519cc7d805a9a7b9c5c4d9ed46496bd561a24e5ede1cd3b5f176581a9741aba65c31cdd0533fb6a33905cc21003f0237c7cd7e603ef672c67a SHA512 8fc0a2e5f0a8578b98d49b749912cca98d51bdcae2b3bd5759e03e13cd2a2d4f45ce0e2a22d80526abfa5f428a4a71b5fad2c9f36bafc4f3fa2866cd687ac015
DIST pydicom-2.2.2.tar.gz 2149674 BLAKE2B d109975c6ac0081a02c534bb014040ca767968d276fb841a0000ab4f7b4884ab604276b7092f8cc699d24d0429426cf5be3225ae56b8b8ebdad89cf541ab065a SHA512 5f1829d445c462884debb75328f59471dea4da51701835a3a97a1c22c1c0b75730e0688558cb76ef3f7a4b29f350028190a515d73f88968a7fda09ed414ec145
+DIST pydicom-2.3.1.tar.gz 2164956 BLAKE2B ffdf14c582a7a783ae963008de9d8d9dd54c6d6889f10ebb767ff87abf00ab36406ea3dbab50304bcf1902af745b871b9dc1702d8824fb9ed163d1d909e88ac5 SHA512 bf2856b8afa13f6477a37abdc7d723337f532746705832b0eb01cfcf468f318ec4b74af5aade3b8629d050947a87e87fb39aca965ff98d0a348170a900d7dd57
diff --git a/sci-libs/pydicom/pydicom-1.1.0.ebuild b/sci-libs/pydicom/pydicom-1.1.0.ebuild
deleted file mode 100644
index 523da2654..000000000
--- a/sci-libs/pydicom/pydicom-1.1.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1
-
-DESCRIPTION="A pure python package for parsing DICOM files"
-HOMEPAGE="http://www.pydicom.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-# Upstream bug: https://github.com/pydicom/pydicom/issues/663
-RESTRICT="test"
-
-DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
-
-python_test() {
- distutils-r1_install_for_testing
- py.test --cov=pydicom -r sx --pyargs pydicom --verbose || die
-}
diff --git a/sci-libs/pydicom/pydicom-2.2.2.ebuild b/sci-libs/pydicom/pydicom-2.2.2.ebuild
index f36be3a78..69cbed0c7 100644
--- a/sci-libs/pydicom/pydicom-2.2.2.ebuild
+++ b/sci-libs/pydicom/pydicom-2.2.2.ebuild
@@ -1,27 +1,28 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pure python package for parsing DICOM files"
-HOMEPAGE="http://www.pydicom.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="https://pydicom.github.io/pydicom/dev/"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
-# Upstream bug: https://github.com/pydicom/pydicom/issues/663
+# Reported upstream:
+# https://github.com/pydicom/pydicom/issues/1800
RESTRICT="test"
DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
python_test() {
distutils-r1_install_for_testing
- py.test --cov=pydicom -r sx --pyargs pydicom --verbose || die
+ py.test -r sx --pyargs pydicom --verbose || die
}
diff --git a/sci-libs/pydicom/pydicom-1.4.2.ebuild b/sci-libs/pydicom/pydicom-2.3.1.ebuild
index f02b71a97..69cbed0c7 100644
--- a/sci-libs/pydicom/pydicom-1.4.2.ebuild
+++ b/sci-libs/pydicom/pydicom-2.3.1.ebuild
@@ -1,22 +1,24 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pure python package for parsing DICOM files"
-HOMEPAGE="http://www.pydicom.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="https://pydicom.github.io/pydicom/dev/"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
-RESTRICT="!test? ( test )"
+# Reported upstream:
+# https://github.com/pydicom/pydicom/issues/1800
+RESTRICT="test"
DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
diff --git a/sci-libs/rdkit/rdkit-2021.09.4.ebuild b/sci-libs/rdkit/rdkit-2021.09.4.ebuild
index a9b1258c9..a1621ea79 100644
--- a/sci-libs/rdkit/rdkit-2021.09.4.ebuild
+++ b/sci-libs/rdkit/rdkit-2021.09.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_10 )
inherit cmake python-single-r1
diff --git a/sci-libs/scikit-learn-intelx/Manifest b/sci-libs/scikit-learn-intelx/Manifest
new file mode 100644
index 000000000..d14b31510
--- /dev/null
+++ b/sci-libs/scikit-learn-intelx/Manifest
@@ -0,0 +1 @@
+DIST scikit-learn-intelx-2023.0.2.tar.gz 13864043 BLAKE2B dfc082a8b008553e0d20cf7a24417fecd510dd8e6b3286a57a633b1e3b79cecc87fc1189df6f4a3440d7ccb74077c54a9f6eaf58bfbb19181cb4b437b3e06ae6 SHA512 dd8c983365d4f32d2640caab17319970c86bfed5ad6852d15dce35ba66a3584c51b94fa5ef0d8073b917332ea18a8c9af95ef8da125edb47190f27e9b8cab424
diff --git a/sci-libs/scikit-learn-intelx/metadata.xml b/sci-libs/scikit-learn-intelx/metadata.xml
new file mode 100644
index 000000000..247707c87
--- /dev/null
+++ b/sci-libs/scikit-learn-intelx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">intel/scikit-learn-intelex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikit-learn-intelx/scikit-learn-intelx-2023.0.2.ebuild b/sci-libs/scikit-learn-intelx/scikit-learn-intelx-2023.0.2.ebuild
new file mode 100644
index 000000000..29288cbcf
--- /dev/null
+++ b/sci-libs/scikit-learn-intelx/scikit-learn-intelx-2023.0.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Seamless way to speed up your Scikit-learn application"
+HOMEPAGE="https://github.com/intel/scikit-learn-intelex"
+SRC_URI="https://github.com/intel/scikit-learn-intelex/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/scikit-learn-intelex-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/daal4py[${PYTHON_USEDEP}]
+ sci-libs/scikit-learn[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # DPC++ compiler required for full functionality
+ export CC="${ESYSROOT}/usr/lib/llvm/intel/bin/clang"
+ export CXX="${ESYSROOT}/usr/lib/llvm/intel/bin/clang++"
+ export DPCPPROOT="${ESYSROOT}/usr/lib/llvm/intel"
+ export CPLUS_INCLUDE_PATH="${ESYSROOT}/usr/lib/llvm/intel/include:${ESYSROOT}/usr/lib/llvm/intel/include/sycl"
+ export MPIROOT="${ESYSROOT}/usr"
+ export DALROOT="${ESYSROOT}/usr"
+
+ # remove the daal4py setup files, and rename skleanex setup files
+ rm setup.py setup.cfg || die
+ mv setup_sklearnex.cfg setup.cfg || die
+ mv setup_sklearnex.py setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ export PYTHONPATH="${BUILD_DIR}/install/usr/lib/${EPYTHON}/site-packages"
+ # We don't use epytest because it overwrites our PYTHONPATH
+ pytest -vv || die
+}
diff --git a/sci-libs/scikits_video/Manifest b/sci-libs/scikits_video/Manifest
deleted file mode 100644
index d18395f99..000000000
--- a/sci-libs/scikits_video/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scikits_video-1.1.11_p20200115.tar.gz 32060067 BLAKE2B 2f2c14ed89638f46b3c7e27b5d7562429a17f86982442f66015392173dcda89fa3ef810e4529dca9f4dccdb59287f12af2d897411124e4d15abb6197e7d13fc5 SHA512 ca3c4eaf343075934d83c540ff11cb4f2e611838bcbfd9f06efb69b00875ffc77dac1f0f32978d554a7cb126c8d689013fb103b61cda39b7d4d9f85c81542b2d
diff --git a/sci-libs/scikits_video/metadata.xml b/sci-libs/scikits_video/metadata.xml
deleted file mode 100644
index bdfe14284..000000000
--- a/sci-libs/scikits_video/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- Scikit-video is designed for easy video processing using Python. It is
- modeled in the spirit of other successful scikits such as scikit-learn
- and scikit-image. This project aims to provide an all-in-one solution to
- make video algorithms easy to access for students, engineers,
- instructors, and researchers.
- </longdescription>
- <upstream>
- <remote-id type="pypi">scikit-video</remote-id>
- <remote-id type="github">scikit-video/scikit-video</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/scikits_video/scikits_video-1.1.11_p20200115.ebuild b/sci-libs/scikits_video/scikits_video-1.1.11_p20200115.ebuild
deleted file mode 100644
index bb8efaa24..000000000
--- a/sci-libs/scikits_video/scikits_video-1.1.11_p20200115.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1
-
-MY_PN="scikit-video"
-MY_HASH="87c7113a84b50679d9853ba81ba34b557f516b05"
-
-DESCRIPTION="Video processing in Python"
-HOMEPAGE="https://scikit-image.org/"
-SRC_URI="https://github.com/scikit-video/scikit-video/archive/${MY_HASH}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- media-video/ffmpeg
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- media-video/mediainfo
-"
-
-S="${WORKDIR}/${MY_PN}-${MY_HASH}"
-
-distutils_enable_tests pytest
diff --git a/sci-libs/simpleitk/simpleitk-1.2.4.ebuild b/sci-libs/simpleitk/simpleitk-1.2.4.ebuild
index fa9a721e3..26e0c688d 100644
--- a/sci-libs/simpleitk/simpleitk-1.2.4.ebuild
+++ b/sci-libs/simpleitk/simpleitk-1.2.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_10 )
LUA_COMPAT=( lua5-{1..3} )
inherit lua-single cmake python-single-r1
diff --git a/sci-libs/spams-python/Manifest b/sci-libs/spams-python/Manifest
deleted file mode 100644
index d58c9e869..000000000
--- a/sci-libs/spams-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST spams-python-2.6.2.tar.gz 315332 BLAKE2B 1aa972a65c2f69de859391b98a28972ebbd30f166ea3d44083933f746e119105d45d6ee5adff99064dc396f5522c31e5dd4055210c82e93c1217a06bf4bce2f2 SHA512 dec2ce2abe5abeb78bf470952c5f854501bf9ea21019dda1de66683f813153e78cc9b87b5376e91ac74beedb4d13854cc053e54e97bfded4177728c540812a9f
diff --git a/sci-libs/spams-python/metadata.xml b/sci-libs/spams-python/metadata.xml
deleted file mode 100644
index 4cb1814dc..000000000
--- a/sci-libs/spams-python/metadata.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- SPAMS (SPArse Modeling Software) is an optimization toolbox for solving
- various sparse estimation problems, such as: Dictionary learning and
- matrix factorization (NMF, sparse PCA, ...); solving sparse decomposition
- problems with LARS, coordinate descent, OMP, SOMP, proximal methods; and
- Solving structured sparse decomposition problems (l1/l2, l1/linf, sparse
- group lasso, tree-structured regularization, structured sparsity with
- overlapping groups,...).
- </longdescription>
- <upstream>
- <remote-id type="github">samuelstjean/spams-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/spams-python/spams-python-2.6.2.ebuild b/sci-libs/spams-python/spams-python-2.6.2.ebuild
deleted file mode 100644
index 99b1e6370..000000000
--- a/sci-libs/spams-python/spams-python-2.6.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1 toolchain-funcs
-
-DESCRIPTION="Optimization toolbox for solving various sparse estimation problems"
-HOMEPAGE="http://spams-devel.gforge.inria.fr/index.html"
-SRC_URI="https://github.com/samuelstjean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- sci-libs/openblas
- virtual/lapack
- "
-RDEPEND="${DEPEND}
- dev-python/scipy[${PYTHON_USEDEP}]
- "
-
-pc_libdir() {
- $(tc-getPKG_CONFIG) --libs-only-L $@ | \
- sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^,||'
-}
-
-pc_libs() {
- $(tc-getPKG_CONFIG) --libs-only-l $@ | \
- sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
- -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
- | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
-}
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
-}
-
-python_prepare_all() {
- local libdir="${EPREFIX}"/usr/$(get_libdir)
- MY_LAPACK=$(pc_libs lapack)
- MY_BLAS=$(pc_libs blas)
- MY_LIBDIRS="$(pc_libdir blas lapack)'${libdir}'"
- sed -i -e "s/'blas', 'lapack'/'${MY_BLAS}', '${MY_LAPACK}'/g" setup.py || die
- sed -i -e "s|libdirs = \[\]|libdirs = [${MY_LIBDIRS}]|g" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- ${EPYTHON} test_spams.py
-}
diff --git a/sci-libs/spyking-circus/spyking-circus-1.1.0.ebuild b/sci-libs/spyking-circus/spyking-circus-1.1.0.ebuild
index 3d7feaaf0..9b9233020 100644
--- a/sci-libs/spyking-circus/spyking-circus-1.1.0.ebuild
+++ b/sci-libs/spyking-circus/spyking-circus-1.1.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_10 )
inherit distutils-r1
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/spyking-circus/spyking-circus/archive/${PV}.tar.gz -
LICENSE="CeCILL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
# Wants to run mpirun (and fails)
RESTRICT="test"
@@ -27,7 +27,7 @@ RDEPEND="
>=dev-python/mpi4py-3.0.0[${PYTHON_USEDEP}]
>=dev-python/numpy-1.17.4[${PYTHON_USEDEP}]
>=dev-python/psutil-5.6.7[${PYTHON_USEDEP}]
- >=dev-python/statsmodels-0.10.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
>=dev-python/tqdm-4.40.0[${PYTHON_USEDEP}]
>=dev-python/scipy-1.3.1[${PYTHON_USEDEP}]
"
diff --git a/sci-libs/torchvision/Manifest b/sci-libs/torchvision/Manifest
index 8e703b008..7cf5fa956 100644
--- a/sci-libs/torchvision/Manifest
+++ b/sci-libs/torchvision/Manifest
@@ -1 +1,2 @@
-DIST torchvision-0.11.2.tar.gz 9361872 BLAKE2B a3086b1ac8a05ab1f8dac13c5ee15f75274a96cebb72b48b525ac9721c961c67d742878efa7ef4c245a885904ea88d2c2dde311df8ef710563c3656c2629b644 SHA512 11891d19c1a17d27fbcc95b576a7bba7d2d2b96673661bc8488505aded9c70e7ee09229732d42eac4a590e11fb8f0066fb5a2d9f5b7fa95265f54d533ffc1359
+DIST torchvision-0.14.1.tar.gz 9265179 BLAKE2B 0708635b00ac7c2cf4e54799f1190f01f3240f53233695819f691313b8a369b8922520e2f3cf96184bab671877b5826b84e0936d9ca5b58004d6e2a098c6cbbf SHA512 08fb1e35da1c3f1d0446ef879d9b6a7ae839a5137c3b5b46ef8111c2ae890299e2b555d1bd3b3d61f96b8778b831d8f895487cf8a4e36e371fcd4b8acda67d1f
+DIST torchvision-0.17.1.tar.gz 13091686 BLAKE2B db25faab565412f2892ca4cf8d13c459b8045aaab83009a686a93272f0b3e3e8c0da930f1d7b0682e0adc7a600195b035ca19f71fd15a26f77b349206e3ed324 SHA512 c9ef5704a337a43c1ab3a5865b2a20d09d07a9b5eeda66c7aa1e1931772bad9acee822bb400cf627960a84ace01188cd32e95f0e709eb392bf9028d36cfc50be
diff --git a/sci-libs/torchvision/files/torchvision-0.17.1-ffmpeg-6.patch b/sci-libs/torchvision/files/torchvision-0.17.1-ffmpeg-6.patch
new file mode 100644
index 000000000..7a3637f3a
--- /dev/null
+++ b/sci-libs/torchvision/files/torchvision-0.17.1-ffmpeg-6.patch
@@ -0,0 +1,36 @@
+From 86620bd84b872b76db0acafec167949dca03a29e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
+ <zboszor@gmail.com>
+Date: Tue, 7 Nov 2023 10:43:11 +0100
+Subject: [PATCH] Fix build with ffmpeg 6.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
+---
+ torchvision/csrc/io/decoder/stream.cpp | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/torchvision/csrc/io/decoder/stream.cpp b/torchvision/csrc/io/decoder/stream.cpp
+index 0d625ef211c..8c914050587 100644
+--- a/torchvision/csrc/io/decoder/stream.cpp
++++ b/torchvision/csrc/io/decoder/stream.cpp
+@@ -63,15 +63,8 @@ int Stream::openCodec(std::vector<DecoderMetadata>* metadata, int num_threads) {
+ codecCtx_->thread_count = num_threads;
+ } else {
+ // otherwise set sensible defaults
+- // with the special case for the different MPEG4 codecs
+- // that don't have threading context functions
+- if (codecCtx_->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY) {
+- codecCtx_->thread_type = FF_THREAD_FRAME;
+- codecCtx_->thread_count = 2;
+- } else {
+- codecCtx_->thread_count = 8;
+- codecCtx_->thread_type = FF_THREAD_SLICE;
+- }
++ codecCtx_->thread_count = 8;
++ codecCtx_->thread_type = FF_THREAD_SLICE;
+ }
+
+ int ret;
diff --git a/sci-libs/torchvision/torchvision-0.11.2.ebuild b/sci-libs/torchvision/torchvision-0.14.1.ebuild
index 765fd05b7..7f40fe556 100644
--- a/sci-libs/torchvision/torchvision-0.11.2.ebuild
+++ b/sci-libs/torchvision/torchvision-0.14.1.ebuild
@@ -3,26 +3,29 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
+PYTHON_COMPAT=( python3_10 )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Datasets, transforms and models to specific to computer vision"
HOMEPAGE="https://github.com/pytorch/vision"
SRC_URI="https://github.com/pytorch/vision/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/vision-${PV}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
- dev-python/av[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- sci-libs/pytorch[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ ')
+ sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}]
media-video/ffmpeg
dev-qt/qtcore:5
"
@@ -34,6 +37,4 @@ BDEPEND="
')
)"
-S="${WORKDIR}/vision-${PV}"
-
distutils_enable_tests pytest
diff --git a/sci-libs/torchvision/torchvision-0.17.1.ebuild b/sci-libs/torchvision/torchvision-0.17.1.ebuild
new file mode 100644
index 000000000..e0c72684c
--- /dev/null
+++ b/sci-libs/torchvision/torchvision-0.17.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Datasets, transforms and models to specific to computer vision"
+HOMEPAGE="https://github.com/pytorch/vision"
+SRC_URI="https://github.com/pytorch/vision/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/vision-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ ')
+ sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}]
+ media-video/ffmpeg:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-0.17.1-ffmpeg-6.patch" )
+
+src_compile()
+{
+ export MAX_JOBS="$(makeopts_jobs)" # Let ninja respect MAKEOPTS
+
+ # Ensure some ext_module sources are compiled before linking
+ export MAKEOPTS="-j1"
+
+ distutils-r1_src_compile
+}
diff --git a/sci-libs/vegas/Manifest b/sci-libs/vegas/Manifest
new file mode 100644
index 000000000..c636ac4c2
--- /dev/null
+++ b/sci-libs/vegas/Manifest
@@ -0,0 +1 @@
+DIST vegas-6.0.1.tar.gz 1535565 BLAKE2B 3cd30387e9369ce7efe62e1f5838f87c73bb93e1690c131602a8e0b77a6671e9d9cadb6b909e1f9ba548cd4a32cb09bd6d1d50bfaf536b7c3fbd269c4595ed04 SHA512 ead47a9f194846d704e229d62163233a7b063dab504e665d620f59be5c9abe2b31facf14cad612b102d4bf64d60d9f6f53c0b4bca0ba78d1e62cbd9bda77e0b1
diff --git a/sci-libs/vegas/metadata.xml b/sci-libs/vegas/metadata.xml
new file mode 100644
index 000000000..8ae183900
--- /dev/null
+++ b/sci-libs/vegas/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexander@neuwirth-informatik.de</email>
+ <name>Alexander Puck Neuwirth</name>
+ </maintainer>
+ <longdescription lang="en">
+ The vegas package is for evaluating multidimensional integrals using an improved version of the adaptive Monte Carlo vegas algorithm (G. P. Lepage, J. Comput. Phys. 27(1978) 192).
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">vegas</remote-id>
+ <remote-id type="github">gplepage/vegas</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/vegas/vegas-6.0.1.ebuild b/sci-libs/vegas/vegas-6.0.1.ebuild
new file mode 100644
index 000000000..7654563e4
--- /dev/null
+++ b/sci-libs/vegas/vegas-6.0.1.ebuild
@@ -0,0 +1,24 @@
+EAPI=8
+
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Adaptive multidimensional Monte Carlo integration."
+HOMEPAGE="https://github.com/gplepage/vegas"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
+ >=sci-libs/gvar-13.0.2[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/cython-0.17[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/sci-libs/wannier90/files/wannier90-1.1-0001.patch b/sci-libs/wannier90/files/wannier90-1.1-0001.patch
deleted file mode 100644
index e68c5f4fe..000000000
--- a/sci-libs/wannier90/files/wannier90-1.1-0001.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -urN wannier90-1.1.old/src/wannier_lib.F90 wannier90-1.1.new/src/wannier_lib.F90
---- wannier90-1.1.old/src/wannier_lib.F90 2007-12-20 10:58:37.000000000 +0100
-+++ wannier90-1.1.new/src/wannier_lib.F90 2008-04-28 17:27:19.000000000 +0200
-@@ -166,6 +166,12 @@
- exclude_bands_loc(1:num_exclude_bands) = exclude_bands(1:num_exclude_bands)
- end if
-
-+ if (postproc_setup) then
-+ call kmesh_write()
-+ write(stdout,'(1x,a25,f11.3,a)') 'Time to write kmesh ',io_time(),' (sec)'
-+ write(stdout,'(/a)') ' '//trim(seedname)//'.nnkp written.'
-+ endif
-+
-
- call kmesh_dealloc()
- call param_dealloc()
diff --git a/sci-libs/wannier90/files/wannier90-1.1-0002.patch b/sci-libs/wannier90/files/wannier90-1.1-0002.patch
deleted file mode 100644
index 391a34ca2..000000000
--- a/sci-libs/wannier90/files/wannier90-1.1-0002.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff -urN wannier90-1.1.old/src/disentangle.F90 wannier90-1.1.new/src/disentangle.F90
---- wannier90-1.1.old/src/disentangle.F90 2009-03-07 15:44:11.000000000 +0100
-+++ wannier90-1.1.new/src/disentangle.F90 2009-03-07 15:48:05.000000000 +0100
-@@ -1784,9 +1784,9 @@
- ! [BIG ITERATION LOOP (iter)]
-
- if (.not.dis_converged) then
-- write(stdout,'(/5x,a)') '<<< Warning: Maximum number of disentanglement &
-- &iterations reached >>>'
-- write(stdout,'(10x,a)') '<<< Disentanglement convergence criteria not satisfied >>>'
-+ write(stdout,'(/5x,a)') &
-+ '<<< Warning: Maximum number of disentanglement iterations reached >>>'
-+ write(stdout,'(10x,a)') '<<< Disentanglement convergence criteria not satisfied >>>'
- endif
-
- if (icompflag.eq.1) then
-@@ -2551,8 +2551,8 @@
- ! [BIG ITERATION LOOP (iter)]
-
- if (.not.dis_converged) then
-- write(stdout,'(/5x,a)') '<<< Warning: Maximum number of disentanglement &
-- &iterations reached >>>'
-+ write(stdout,'(/5x,a)') &
-+ '<<< Warning: Maximum number of disentanglement iterations reached >>>'
- write(stdout,'(10x,a)') '<<< Disentanglement convergence criteria not satisfied >>>'
- endif
-
-diff -urN wannier90-1.1.old/src/overlap.F90 wannier90-1.1.new/src/overlap.F90
---- wannier90-1.1.old/src/overlap.F90 2009-03-07 15:44:11.000000000 +0100
-+++ wannier90-1.1.new/src/overlap.F90 2009-03-07 15:48:36.000000000 +0100
-@@ -141,8 +141,8 @@
- nn_found=.true.
- nn=inn
- else
-- call io_error('Error reading '//trim(seedname)//'.mmn.&
-- & More than one matching nearest neighbour found')
-+ call io_error('Error reading '//trim(seedname)// &
-+ '.mmn. More than one matching nearest neighbour found')
- endif
- endif
- end do
-diff -urN wannier90-1.1.old/src/parameters.F90 wannier90-1.1.new/src/parameters.F90
---- wannier90-1.1.old/src/parameters.F90 2009-03-07 15:44:11.000000000 +0100
-+++ wannier90-1.1.new/src/parameters.F90 2009-03-07 15:50:46.000000000 +0100
-@@ -1054,8 +1054,9 @@
- write(stdout,'(1x,a)') '+----------------------------------------------------------------------------+'
- do nsp=1,num_species
- do nat=1,atoms_species_num(nsp)
-- write(stdout,'(1x,a1,1x,a2,1x,i3,3F10.5,3x,a1,1x,3F10.5,4x,a1)') '|',atoms_symbol(nsp),nat,atoms_pos_frac(:,nat,nsp),&
-- '|',atoms_pos_cart(:,nat,nsp)*lenconfac,'|'
-+ write(stdout,'(1x,a1,1x,a2,1x,i3,3F10.5,3x,a1,1x,3F10.5,4x,a1)') &
-+& '|',atoms_symbol(nsp),nat,atoms_pos_frac(:,nat,nsp),&
-+& '|',atoms_pos_cart(:,nat,nsp)*lenconfac,'|'
- end do
- end do
- write(stdout,'(1x,a)') '*----------------------------------------------------------------------------*'
-@@ -1073,8 +1074,8 @@
- write(stdout,'(1x,a)') '| Frac. Coord. l mr r z-axis x-axis Z/a |'
- write(stdout,'(1x,a)') '+----------------------------------------------------------------------------+'
- do nsp=1,num_proj
-- write(stdout,'(1x,a1,3(1x,f5.2),1x,i2,1x,i2,1x,i2,3(1x,f6.3),3(1x,f6.3),&
-- & 2x,f4.1,1x,a1)') '|',proj_site(1,nsp),proj_site(2,nsp),&
-+ write(stdout,'(1x,a1,3(1x,f5.2),1x,i2,1x,i2,1x,i2,3(1x,f6.3),3(1x,f6.3),2x,f4.1,1x,a1)')&
-+& '|',proj_site(1,nsp),proj_site(2,nsp),&
- proj_site(3,nsp),proj_l(nsp), proj_m(nsp),proj_radial(nsp),&
- proj_z(1,nsp),proj_z(2,nsp),proj_z(3,nsp),proj_x(1,nsp),&
- proj_x(2,nsp),proj_x(3,nsp),proj_zona(nsp),'|'
-@@ -2738,8 +2739,8 @@
- dummy=utility_strip(in_data(line))
- dummy=adjustl(dummy)
- pos1=index(dummy,':')
-- if(pos1==0) call io_error('param_read_projection: malformed projection &
-- &definition: '//trim(dummy))
-+ if(pos1==0) &
-+ call io_error('param_read_projection: malformed projection definition: '//trim(dummy))
- sites=0
- ctemp=dummy(:pos1-1)
- ! Read the atomic site
-@@ -2980,11 +2981,11 @@
- endif
- end if
- if(sites==-1) then
-- if(counter+sum(ang_states) > num_proj) call io_error('param_get_projection: &
-- &too many projections defined')
-+ if(counter+sum(ang_states) > num_proj) &
-+ call io_error('param_get_projection: too many projections defined')
- else
-- if(counter+sites*sum(ang_states) > num_proj) call io_error('param_get_projection:&
-- & too many projections defined')
-+ if(counter+sites*sum(ang_states) > num_proj) &
-+ call io_error('param_get_projection: too many projections defined')
- end if
- !
- if(sites==-1) then
-@@ -3025,8 +3026,8 @@
-
- ! check there are enough projections and add random projections if required
- if (.not. lpartrandom) then
-- if (counter.ne.num_proj) call io_error('param_get_projections:&
-- & Fewer projections defined than the number of Wannier functions requested')
-+ if (counter.ne.num_proj) call io_error(&
-+ 'param_get_projections: Fewer projections defined than the number of Wannier functions requested')
- else
- call random_seed()
- do loop=counter+1,num_proj
diff --git a/sci-libs/wannier90/files/wannier90-2.0.1.1-runtest.patch b/sci-libs/wannier90/files/wannier90-2.0.1.1-runtest.patch
deleted file mode 100644
index c9656ac31..000000000
--- a/sci-libs/wannier90/files/wannier90-2.0.1.1-runtest.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naurp wannier90-2.0.1.1.orig/tests/run_test.pl wannier90-2.0.1.1/tests/run_test.pl
---- wannier90-2.0.1.1.orig/tests/run_test.pl 2016-02-08 11:51:52.000000000 +0000
-+++ wannier90-2.0.1.1/tests/run_test.pl 2017-01-05 12:10:29.584850729 +0000
-@@ -2,7 +2,7 @@
- #
- use Cwd;
- my $cwd = cwd();
--$wanex="../wannier90.x" ;
-+$wanex="../src/wannier90.x" ;
- $wanex=$cwd."/".$wanex ;
- print " Running test set of inputs\n";
- @tests_found = <./test*>;
diff --git a/sci-libs/xblas/Manifest b/sci-libs/xblas/Manifest
deleted file mode 100644
index 4919da836..000000000
--- a/sci-libs/xblas/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xblas-1.0.248.tar.gz 2087424 BLAKE2B 47f446f95f033260baec4053f4d761eda54e753bd39477cdf0636f3b68f1a3748f6c48aa32eaa693a486a8bb92b259b2742e42a2663fa1b3a75de1d3ff93daac SHA512 4a3c3a6aea0e12a5620ba1c4d328ca9f20764da4871b2bac48c21366c25afed31daa3a3ef291973159b890b2bbf033bdc14503634637b50ff4514f425b4356ad
diff --git a/sci-libs/xblas/metadata.xml b/sci-libs/xblas/metadata.xml
deleted file mode 100644
index 11b4b52f7..000000000
--- a/sci-libs/xblas/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
-The XBLAS library of routines is part of a reference implementation for
-the Dense and Banded Basic Linear Algebra Subroutines, along with their
-Extended and Mixed Precision versions, as documented in Chapters 2 and 4
-of the new BLAS Standard.
-</longdescription>
- <use>
- <flag name="int64">Build the 64 bits integer library</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/xblas/xblas-1.0.248-r1.ebuild b/sci-libs/xblas/xblas-1.0.248-r1.ebuild
deleted file mode 100644
index a5b0c8cf4..000000000
--- a/sci-libs/xblas/xblas-1.0.248-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-NUMERIC_MODULE_NAME="xblas"
-FORTRAN_NEEDED=fortran
-
-inherit fortran-2 numeric numeric-int64-multibuild multilib toolchain-funcs
-
-DESCRIPTION="Extra Precise Basic Linear Algebra Subroutines"
-HOMEPAGE="https://www.netlib.org/xblas/"
-SRC_URI="https://www.netlib.org/xblas/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc fortran static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- sys-devel/m4"
-
-static_to_shared() {
- local libstatic=${1}; shift
- local libname=$(basename ${libstatic%.a})
- local soname=${libname}$(get_libname $(ver_cut 1-2))
- local libdir=$(dirname ${libstatic})
-
- einfo "Making ${soname} from ${libstatic}"
- if [[ ${CHOST} == *-darwin* ]] ; then
- ${LINK:-$(tc-getCC)} ${LDFLAGS} \
- -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
- -Wl,-all_load -Wl,${libstatic} \
- "$@" -o ${libdir}/${soname} || die "${soname} failed"
- else
- ${LINK:-$(tc-getCC)} ${LDFLAGS} \
- -shared -Wl,-soname=${soname} \
- -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
- "$@" -o ${libdir}/${soname} || die "${soname} failed"
- [[ ${#PV} -gt 1 ]] && \
- ln -s ${soname} ${libdir}/${libname}$(get_libname $(ver_cut 0-1)) || die
- ln -s ${soname} ${libdir}/${libname}$(get_libname) || die
- fi
-}
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- default
- numeric-int64-multibuild_copy_sources
-}
-
-src_configure() {
- xblas_configure() {
- export FCFLAGS="${FCFLAGS} $(get_abi_CFLAGS) $(numeric-int64_get_fortran_int64_abi_fflags)"
- econf $(use_enable fortran)
- }
- numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir xblas_configure
-}
-
-src_compile() {
- xblas_src_compile() {
- local profname=$(numeric-int64_get_module_name)
- local libname="${profname//-/_}"
- # default target builds and runs tests - split
- # build first static libs because of fPIC afterwards
- # and we link tests with shared ones
- if use static-libs; then
- emake makefiles
- emake lib XBLASLIB=lib${libname}_nonpic.a
- emake clean
- fi
- sed -i \
- -e 's:\(CFLAGS.*\).*:\1 -fPIC:' \
- make.inc || die
- emake makefiles
- emake lib XBLASLIB=lib${libname}.a
- static_to_shared lib${libname}.a
- }
- numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir xblas_src_compile
-}
-
-src_test() {
- numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir emake tests
-}
-
-src_install() {
- xblas_src_install() {
- local profname=$(numeric-int64_get_module_name)
- local libname="${profname//-/_}"
- if numeric-int64_is_static_build; then
- use static-libs && newlib.a lib${libname}_nonpic.a lib${libname}.a
- else
- dolib.so lib${libname}$(get_libname)*
-
- create_pkgconfig \
- --name ${profname} \
- --libs "-L\${libdir} -l${libname}" \
- --cflags "-I\${includedir} $(numeric-int64_get_fortran_int64_abi_fflags)" \
- ${profname}
- fi
- }
- numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir xblas_src_install
-
- dodoc README README.devel
- use doc && dodoc doc/report.ps
-}
diff --git a/sci-libs/xraylib/Manifest b/sci-libs/xraylib/Manifest
deleted file mode 100644
index 9ca464e07..000000000
--- a/sci-libs/xraylib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xraylib-4.0.0.tar.gz 7844625 BLAKE2B 3db521e15147d9bae4ce8aa08c488460a57233143df2b71518fddffdcf14de34b44ffde0262ad44bcddd39fa067badc304d341d841e0beedee99d36a46cd364f SHA512 ce5cc0d628d397921e10a812251c21a159f529165589b9408fa43112024cd44f3c7fe710a4f1fc51778645850896a23ea32fddbda21ebeebf9e53eefaf1e5b29
diff --git a/sci-libs/xraylib/metadata.xml b/sci-libs/xraylib/metadata.xml
deleted file mode 100644
index a7d2f91fb..000000000
--- a/sci-libs/xraylib/metadata.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>cjk34@cam.ac.uk</email>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
-Quantitative estimate of elemental composition by spectroscopic and imaging
-techniques using X-ray fluorescence requires the availability of accurate data
-of X-ray interaction with matter. Although a wide number of computer codes
-and data sets are reported in literature, none of them is presented in the
-form of freely available library functions which can be easily included in
-software applications for X-ray fluorescence. This work presents a compilation
-of data sets from different published works and an xraylib interface in the
-form of callable functions. Although the target applications are on X-ray
-fluorescence, cross sections of interactions like photoionization, coherent
-scattering and Compton scattering, as well as form factors and anomalous
-scattering functions, are also available.
-
-xraylib provides access to some of the most respected databases of physical
-data in the field of x-rays. The core of xraylib is a library, written in ANSI
-C, containing over 40 functions to be used to retrieve data from these
-databases. This C library can be directly linked with any program written in
-C, C++ or Objective-C. Furthermore, the xraylib package contains bindings to
-several popular programming languages: Fortran 2003, Perl, Python, Java, IDL,
-Lua and .NET, as well as a command-line utility which can be used as a
-pocket-calculator. Although not officially supported, xraylib has been
-reported to be useable from within Matlab and LabView.
-
-Reference: T. Schoonjans, A. Brunetti, B. Golosio, M. Sanchez del Rio,
-V. A. Solé, C. Ferrero and L. Vincze, "The xraylib library for X-ray--matter
-interactions. Recent developments", Spectrochimica Acta B 66 (2011) 776-784
-( doi: http://dx.doi.org/10.1016/j.sab.2011.09.011 )
-</longdescription>
- <upstream>
- <remote-id type="github">tschoonj/xraylib</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/xraylib/xraylib-4.0.0.ebuild b/sci-libs/xraylib/xraylib-4.0.0.ebuild
deleted file mode 100644
index 6dfde6dae..000000000
--- a/sci-libs/xraylib/xraylib-4.0.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-AUTOTOOLS_AUTORECONF=true
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=2003
-PYTHON_COMPAT=( python3_{7,8,9} ) # python 3 supported by github master
-LUA_COMPAT=( lua5-{1..3} )
-USE_RUBY="ruby27 ruby30"
-
-inherit python-single-r1 lua-single ruby-single java-pkg-opt-2 fortran-2
-
-DESCRIPTION="X-ray matter interaction cross sections for X-ray fluorescence library"
-HOMEPAGE="https://github.com/tschoonj/xraylib"
-SRC_URI="http://lvserver.ugent.be/xraylib/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-#IUSE="examples fortran java lua perl python"
-# jave now uses the gradle build system which is not supported by portage
-IUSE="examples fortran lua perl php python ruby"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- lua? ( ${LUA_REQUIRED_USE} )
-"
-
-RDEPEND="
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl )
- php? ( <dev-lang/php-8:* )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep \
- 'dev-python/numpy[${PYTHON_USEDEP}]'
- )
- )
- ruby? ( ${RUBY_DEPS} )
-" # java? ( >=virtual/jre-1.7:* )
-
-DEPEND="${RDEPEND}"
-# java? ( >=virtual/jdk-1.7:* )
-
-DOCS=( AUTHORS Changelog README TODO )
-
-pkg_setup() {
- fortran-2_pkg_setup
- java-pkg-opt-2_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- econf \
- --disable-idl \
- $(use_enable fortran fortran2003) \
- $(use_enable lua) \
- $(use_enable perl) \
- $(use_enable perl perl-integration) \
- $(use_enable php) \
- $(use_enable php php-integration) \
- $(use_enable python) \
- $(use_enable python python-integration) \
- $(use_enable python python-numpy) \
- $(use_enable ruby) \
- $(use_enable ruby ruby-integration) \
- # $(use_enable java)
-}
-
-src_test() {
- # see https://github.com/tschoonj/xraylib/issues/11
- emake -j1 check
-}
-
-src_install() {
- default
- use python && python_optimize
-
- if use examples; then
- docinto /usr/share/doc/${PF}/examples
- dodoc example/*.c example/*.cpp
- use fortran && dodoc example/*.f90
- use lua && dodoc example/*.lua
- use perl && dodoc example/*.pl
- use php && dodoc example/*.php
- use python && dodoc example/*.py
- use ruby && dodoc example/*.rb
- # use java && dodoc example/*.java
- docompress -x /usr/share/doc/${PF}/examples # Don't compress examples
- fi
-
- # use java && java-pkg_regso /usr/share/xraylib/java/libxraylib.so
-}