aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121-r1.ebuild (renamed from sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121.ebuild)4
-rw-r--r--sci-libs/HDF5Plugin-Zstandard/metadata.xml3
-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.ebuild6
-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.xml (renamed from sci-libs/ipp/metadata.xml)8
-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/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/Manifest2
-rw-r--r--sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch15
-rw-r--r--sci-libs/gdcm/files/gdcm_support_vtk9.patch70
-rw-r--r--sci-libs/gdcm/gdcm-3.0.14.ebuild121
-rw-r--r--sci-libs/gdcm/metadata.xml14
-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/Manifest1
-rw-r--r--sci-libs/handyg/files/handyg-0.1.5-so.patch23
-rw-r--r--sci-libs/handyg/handyg-0.1.5.ebuild44
-rw-r--r--sci-libs/handyg/metadata.xml (renamed from sci-libs/fast5/metadata.xml)8
-rw-r--r--sci-libs/ipp/Manifest3
-rw-r--r--sci-libs/ipp/ipp-18.0.2.199.ebuild43
-rw-r--r--sci-libs/ipp/ipp-19.0.4.243.ebuild42
-rw-r--r--sci-libs/ipp/ipp-2020.1.217.ebuild44
-rw-r--r--sci-libs/itk/Manifest22
-rw-r--r--sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch50
-rw-r--r--sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch28
-rw-r--r--sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch73
-rw-r--r--sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch30
-rw-r--r--sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch11
-rw-r--r--sci-libs/itk/files/ITKModuleRemote.patch45
-rw-r--r--sci-libs/itk/files/itk-5.1.0-downloads.patch20
-rw-r--r--sci-libs/itk/files/itk-5.1.0-include_limits.patch10
-rw-r--r--sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch25
-rw-r--r--sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch558
-rw-r--r--sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch18
-rw-r--r--sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch309
-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/files/nrrdio-linking.patch15
-rw-r--r--sci-libs/itk/files/tests.patch41
-rw-r--r--sci-libs/itk/itk-5.0.1.ebuild178
-rw-r--r--sci-libs/itk/itk-5.2.1-r2.ebuild (renamed from sci-libs/itk/itk-5.1.0.ebuild)113
-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.ebuild6
-rw-r--r--sci-libs/lib2bit/files/lib2bit-0.2.1_respect_DESTDIR.patch11
-rw-r--r--sci-libs/mlpack/Manifest2
-rw-r--r--sci-libs/mlpack/metadata.xml27
-rw-r--r--sci-libs/mlpack/mlpack-3.4.1.ebuild112
-rw-r--r--sci-libs/mlpack/mlpack-3.4.2.ebuild118
-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/Manifest5
-rw-r--r--sci-libs/nibabel/nibabel-2.5.1.ebuild42
-rw-r--r--sci-libs/nibabel/nibabel-3.0.2.ebuild42
-rw-r--r--sci-libs/nibabel/nibabel-5.0.0.ebuild (renamed from sci-libs/nibabel/nibabel-3.2.1.ebuild)15
-rw-r--r--sci-libs/nibabel/nibabel-5.1.0.ebuild (renamed from sci-libs/nibabel/nibabel-9999.ebuild)22
-rw-r--r--sci-libs/nipy/Manifest2
-rw-r--r--sci-libs/nipy/metadata.xml1
-rw-r--r--sci-libs/nipy/nipy-0.4.2.ebuild53
-rw-r--r--sci-libs/nipy/nipy-0.6.0.ebuild37
-rw-r--r--sci-libs/nipy/nipy-9999.ebuild54
-rw-r--r--sci-libs/nipype/Manifest3
-rw-r--r--sci-libs/nipype/files/nipype-1.5.0-collections.patch28
-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.ebuild (renamed from sci-libs/nipype/nipype-1.5.0.ebuild)34
-rw-r--r--sci-libs/nipype/nipype-1.8.4-r2.ebuild96
-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/Manifest1
-rw-r--r--sci-libs/pybids/pybids-0.10.2.ebuild16
-rw-r--r--sci-libs/pybids/pybids-0.11.1.ebuild40
-rw-r--r--sci-libs/pybids/pybids-0.12.4.ebuild12
-rw-r--r--sci-libs/pybids/pybids-0.6.5.ebuild6
-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.xml18
-rw-r--r--sci-libs/scikits_video/scikits_video-1.1.11_p20200115.ebuild32
-rw-r--r--sci-libs/simpleitk/simpleitk-1.2.4.ebuild6
-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/metadata.xml3
-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/metadata.xml14
-rw-r--r--sci-libs/torchvision/torchvision-0.14.1.ebuild (renamed from sci-libs/torchvision/torchvision-0.11.2.ebuild)31
-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/vxl/metadata.xml1
-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/wannier90/metadata.xml1
-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
144 files changed, 4254 insertions, 2481 deletions
diff --git a/sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121.ebuild b/sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121-r1.ebuild
index a74996b46..d1257f0ee 100644
--- a/sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121.ebuild
+++ b/sci-libs/HDF5Plugin-Zstandard/HDF5Plugin-Zstandard-0_pre20201121-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-DEPEND="app-arch/zstd >=sci-libs/hdf5-1.12.2-r2"
+DEPEND="app-arch/zstd >=sci-libs/hdf5-1.12.2-r5"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${PN}-${COMMIT}
diff --git a/sci-libs/HDF5Plugin-Zstandard/metadata.xml b/sci-libs/HDF5Plugin-Zstandard/metadata.xml
index 753464ee5..a171606a6 100644
--- a/sci-libs/HDF5Plugin-Zstandard/metadata.xml
+++ b/sci-libs/HDF5Plugin-Zstandard/metadata.xml
@@ -5,4 +5,7 @@
<email>xgreenlandforwyy@gmail.com</email>
<name>Yiyang Wu</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">aparamon/HDF5Plugin-Zstandard</remote-id>
+ </upstream>
</pkgmetadata>
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 00bf81571..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-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..9} )
+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/ipp/metadata.xml b/sci-libs/daal4py/metadata.xml
index 7bd17909e..247707c87 100644
--- a/sci-libs/ipp/metadata.xml
+++ b/sci-libs/daal4py/metadata.xml
@@ -5,9 +5,7 @@
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <longdescription lang="en">
-Intel(R) Integrated Performance Primitives (Intel(R) IPP) is a
-library of multi-core-ready, optimized software functions for
-multimedia data processing, and communications applications.
-</longdescription>
+ <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/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/Manifest b/sci-libs/gdcm/Manifest
new file mode 100644
index 000000000..64b9caefd
--- /dev/null
+++ b/sci-libs/gdcm/Manifest
@@ -0,0 +1,2 @@
+DIST gdcm-3.0.14.tar.bz2 2992355 BLAKE2B a97209a8bb6896095bfc59ac974b667386c8711f20118252567cf983f15165d259da7858ccfd6bfdfbb25194d7687c98512953b480913acec4bf6d176af7a005 SHA512 9c7d70723d288bf116a8b594c02dd965a4e80476e1c79a7c3cbd09584a229c83ad67f082c9b286305e3bb64150c8267ced06b5fb963adbeeb36e383f76612220
+DIST gdcmData.tar.gz 121157465 BLAKE2B 19b13efc2094d3e373f0f658f1120b1c83ea6da1be73fb392b815433725b4a6db2debb9ab7d9f2caa665637f152f70694cdf226c934850dfda344107050a14a6 SHA512 ddc67a7a0b41b2d6e1e03defb6fb8a06ceeb2e9dd9bb47dfa4f7283d79df7c1e52577b799c00e930719ae6cdda46bded9497a67b8241359f238f5366085ec9ee
diff --git a/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch b/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch
new file mode 100644
index 000000000..ba99c3547
--- /dev/null
+++ b/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch
@@ -0,0 +1,15 @@
+https://cgit.freebsd.org/ports/plain/devel/gdcm/files/patch-Utilities_VTK_vtkImageMapToWindowLevelColors2.cxx?id=8f5541298099b722e34632ca9ed388bda91064e7
+
+- workaround for https://sourceforge.net/p/gdcm/bugs/536/
+
+--- a/Utilities/VTK/vtkImageMapToWindowLevelColors2.cxx 2022-06-26 20:39:45 UTC
++++ b/Utilities/VTK/vtkImageMapToWindowLevelColors2.cxx
+@@ -37,6 +37,8 @@
+ #include "vtkScalarsToColors.h"
+ #include "vtkPointData.h"
+
++#include <math.h>
++
+ //vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $")
+ vtkStandardNewMacro(vtkImageMapToWindowLevelColors2)
+
diff --git a/sci-libs/gdcm/files/gdcm_support_vtk9.patch b/sci-libs/gdcm/files/gdcm_support_vtk9.patch
new file mode 100644
index 000000000..3818a82b5
--- /dev/null
+++ b/sci-libs/gdcm/files/gdcm_support_vtk9.patch
@@ -0,0 +1,70 @@
+--- a/Utilities/VTK/CMakeLists.txt
++++ b/Utilities/VTK/CMakeLists.txt
+@@ -26,6 +26,11 @@
+ )
+ endif()
+
++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 )
++ set(VTK_INCLUDE_DIRS "${VTK_PREFIX_PATH}/include/vtk-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}")
++ include_directories(AFTER ${VTK_INCLUDE_DIRS})
++endif()
++
+ include(CheckCXXSourceCompiles)
+ set(CMAKE_REQUIRED_INCLUDES ${VTK_INCLUDE_DIRS})
+ CHECK_CXX_SOURCE_COMPILES(
+@@ -94,6 +99,10 @@
+ endforeach()
+ endif()
+
++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 )
++ string(REGEX REPLACE "vtk([^;]+)" "VTK::\\1" vtkgdcm_LIBS "${vtkgdcm_LIBS}")
++endif()
++
+ # Use wrapping hints for this project.
+ #set(VTK_WRAP_HINTS "${PROJECT_SOURCE_DIR}/hints")
+
+--- a/Utilities/VTK/Applications/CMakeLists.txt
++++ b/Utilities/VTK/Applications/CMakeLists.txt
+@@ -25,6 +25,11 @@
+ )
+ endif()
+
++set(vtk_ioxml vtkIOXML)
++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 )
++ set(vtk_ioxml VTK::IOXML)
++endif()
++
+ foreach(app ${GDCM_VTK_APPS})
+ add_executable(${app} ${app}.cxx)
+ if(GDCM_EXECUTABLE_PROPERTIES)
+@@ -42,7 +47,7 @@
+ endif()
+ else()
+ # >= 6.0
+- target_link_libraries(${app} ${VTK_LIBRARIES} vtkIOXML)
++ target_link_libraries(${app} ${VTK_LIBRARIES} ${vtk_ioxml})
+ endif()
+ if(WIN32 AND NOT CYGWIN)
+ target_link_libraries(${app} gdcmgetopt)
+--- a/Utilities/VTK/vtkGDCMPolyDataWriter.cxx
++++ b/Utilities/VTK/vtkGDCMPolyDataWriter.cxx
+@@ -496,6 +496,9 @@
+ sqi = new SequenceOfItems;
+
+ vtkIdType npts = 0;
++#if VTK_MAJOR_VERSION >= 9
++ const
++#endif
+ vtkIdType *indx = 0;
+ double v[3];
+ unsigned int cellnum = 0;
+@@ -759,6 +762,9 @@
+ vtkPoints *pts;
+ vtkCellArray *polys;
+ vtkIdType npts = 0;
++#if VTK_MAJOR_VERSION >= 9
++ const
++#endif
+ vtkIdType *indx = 0;
+ pts = theData->GetPoints();
+ polys = theData->GetPolys();
diff --git a/sci-libs/gdcm/gdcm-3.0.14.ebuild b/sci-libs/gdcm/gdcm-3.0.14.ebuild
new file mode 100644
index 000000000..c1000fea9
--- /dev/null
+++ b/sci-libs/gdcm/gdcm-3.0.14.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+inherit cmake python-single-r1
+
+DESCRIPTION="Cross-platform DICOM implementation"
+HOMEPAGE="http://gdcm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gdcm/${P}.tar.bz2
+ test? ( mirror://sourceforge/gdcm/gdcmData.tar.gz )" # 3.0.14: .bz2 is broken, should be checked in next release
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc python test vtk"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-text/poppler:0=[cxx]
+ dev-libs/expat:0=
+ dev-libs/json-c:0=
+ dev-libs/libxml2:2=
+ dev-libs/openssl:0=
+ >=media-libs/charls-2.0.0:0=
+ >=media-libs/openjpeg-2.0.0:2=
+ sys-apps/util-linux:0=
+ sys-libs/zlib:0=
+ python? ( ${PYTHON_DEPS} )
+ vtk? (
+ sci-libs/vtk[rendering]
+ python? (
+ sci-libs/vtk[python,${PYTHON_SINGLE_USEDEP}]
+ )
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-libs/libxslt
+ app-text/docbook-xsl-ns-stylesheets
+ doc? ( app-text/doxygen[dot] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-lang/swig-3.0.7
+ )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}/gdcm_support_vtk9.patch"
+ "${FILESDIR}/gdcm-3.0.14-include-math-h.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # drop unbundled libs
+ local -a DROPS=( gdcmcharls gdcmexpat gdcmopenjpeg gdcmuuid gdcmzlib getopt pvrg KWStyle Release )
+ local x
+ for x in "${DROPS[@]}"; do
+ ebegin "Dropping bundled ${x#gdcm}"
+ rm -r "Utilities/${x}" || die
+ sed -i "s,^[ \t]*APPEND_COPYRIGHT(\\\${CMAKE_CURRENT_SOURCE_DIR}/${x}/,#&," "Utilities/CMakeLists.txt" || die
+ eend $?
+ done
+ find Utilities -mindepth 1 -maxdepth 1 '!' -name doxygen '!' -name VTK -type d \
+ -exec ewarn "Using bundled" {} ';' || die
+
+ # fix charls include case
+ sed -i 's:CharLS/charls\.h:charls/charls.h:' CMake/FindCharLS.cmake Utilities/gdcm_charls.h || die
+ sed -i 's:NAMES CharLS:NAMES charls:' CMake/FindCharLS.cmake || die
+
+ # Use prefixed socket++ (to avoid potential conflicts)
+ sed -i '/target_link_libraries(/s/socketxx/gdcm&/' \
+ Source/MessageExchangeDefinition/CMakeLists.txt \
+ Applications/Cxx/CMakeLists.txt \
+ || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DGDCM_BUILD_SHARED_LIBS=ON
+ -DGDCM_DATA_ROOT="${WORKDIR}/gdcmData"
+ -DGDCM_INSTALL_LIB_DIR="$(get_libdir)"
+ -DGDCM_INSTALL_DOC_DIR="share/doc/${P}"
+ -DGDCM_INSTALL_PYTHONMODULE_DIR="lib/${EPYTHON}/site-packages"
+ -DGDCM_USE_SYSTEM_ZLIB=ON
+ -DGDCM_USE_SYSTEM_OPENSSL=ON
+ -DGDCM_USE_SYSTEM_UUID=ON
+ -DGDCM_USE_SYSTEM_EXPAT=ON
+ -DGDCM_USE_SYSTEM_JSON=ON
+ -DGDCM_USE_SYSTEM_PAPYRUS3=OFF
+ -DGDCM_USE_SYSTEM_SOCKETXX=OFF
+ -DSOCKETXX_NAMESPACE=GDCMSOCKETXX
+ -DGDCM_USE_SYSTEM_LJPEG=OFF
+ -DGDCM_USE_SYSTEM_OPENJPEG=ON
+ -DGDCM_USE_SYSTEM_CHARLS=ON
+ -DGDCM_USE_SYSTEM_POPPLER=ON
+ -DGDCM_USE_SYSTEM_LIBXML2=ON
+ -DGDCM_BUILD_TESTING=$(usex test)
+ -DGDCM_WRAP_PYTHON=$(usex python)
+ $(usex python "-DGDCM_DEFAULT_PYTHON_VERSION=${EPYTHON#python}" "")
+ -DGDCM_WRAP_PERL=OFF
+ -DGDCM_WRAP_PHP=OFF
+ -DGDCM_WRAP_JAVA=OFF
+ -DGDCM_WRAP_CSHARP=OFF
+ -DGDCM_DOCUMENTATION=$(usex doc)
+ $(usex doc "-DGDCM_PDF_DOCUMENTATION=OFF" "")
+ -DGDCM_BUILD_EXAMPLES=OFF
+ -DGDCM_BUILD_APPLICATIONS=ON
+ -DGDCM_USE_VTK=$(usex vtk)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/gdcm/metadata.xml b/sci-libs/gdcm/metadata.xml
new file mode 100644
index 000000000..1845bf1bd
--- /dev/null
+++ b/sci-libs/gdcm/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>fx.carton91@gmail.com</email>
+ <name>François-Xavier Carton</name>
+ </maintainer>
+ <use>
+ <flag name="vtk">Build <pkg>sci-libs/vtk</pkg> bridge</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">gdcm</remote-id>
+ </upstream>
+</pkgmetadata>
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/Manifest b/sci-libs/handyg/Manifest
new file mode 100644
index 000000000..3487702bd
--- /dev/null
+++ b/sci-libs/handyg/Manifest
@@ -0,0 +1 @@
+DIST handyg-v0.1.5.tar.gz 107946 BLAKE2B 338b0027f51fd8b329c1af4e6a0e76dda7b9a3d29a12cffcf60948c5800ee8e280ff97726359df483b60dc3d76a26c40bf21804113d318d83539828e54c4a1ff SHA512 f6f068e05c80c6dccf1c4c8a284da752d04d4fd3f15a78eee933227c6a93906fe794ef3ada359831a4098c00b0a7684af91e2f9cca2a06dd8d0381c1c20c59be
diff --git a/sci-libs/handyg/files/handyg-0.1.5-so.patch b/sci-libs/handyg/files/handyg-0.1.5-so.patch
new file mode 100644
index 000000000..48815780e
--- /dev/null
+++ b/sci-libs/handyg/files/handyg-0.1.5-so.patch
@@ -0,0 +1,23 @@
+--- a/configure 2022-09-19 22:54:12.742507414 +0200
++++ b/configure 2022-09-19 23:00:13.452378883 +0200
+@@ -839,7 +839,7 @@
+ objects = \$(addprefix build/,\$(files))
+
+
+-all: libhandyg.a handyg.mod ${CONF_MPREP:+handyG} geval test
++all: libhandyg.a libhandyg.so handyg.mod ${CONF_MPREP:+handyG} geval test
+
+ EOF
+
+@@ -868,6 +868,11 @@
+ @echo "AR \$@"
+ @\$(AR) \$@ \$^
+
++libhandyg.so:\$(objects)
++ @echo "\$(FC) \$@"
++ \$(FC) \$(LFLAGS) -Wl,-soname,libhandyg.so -shared -o \$@ \$^
++
++
+ handyg.mod: build/handyg.mod
+ cp \$< \$@
+
diff --git a/sci-libs/handyg/handyg-0.1.5.ebuild b/sci-libs/handyg/handyg-0.1.5.ebuild
new file mode 100644
index 000000000..97a18c08e
--- /dev/null
+++ b/sci-libs/handyg/handyg-0.1.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+MY_P=${PN}-v${PV}
+
+DESCRIPTION="Rapid numerical evaluation of generalised polylogarithms"
+HOMEPAGE="https://gitlab.com/mule-tools/handyg"
+SRC_URI="https://gitlab.com/mule-tools/${PN}/-/archive/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/fortran
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-so.patch"
+)
+
+src_configure() {
+ tc-export CC CXX FC AR
+ FFLAGS="${FFLAGS} -fPIC" LD="${FC}" ./configure --prefix="${EPREFIX}/usr" LDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ # single thread force needed since fortan mods depend on each other
+ export MAKEOPTS=-j1
+ emake all
+}
+
+src_install() {
+ dolib.a libhandyg.a
+ dolib.so libhandyg.so
+ doheader handyg.mod
+ dobin geval
+}
diff --git a/sci-libs/fast5/metadata.xml b/sci-libs/handyg/metadata.xml
index 138cb7705..bdee6992b 100644
--- a/sci-libs/fast5/metadata.xml
+++ b/sci-libs/handyg/metadata.xml
@@ -2,11 +2,11 @@
<!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>
+ <email>alexander@neuwirth-informatik.de</email>
+ <name>Alexander Puck Neuwirth</name>
</maintainer>
<maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
+ <email>sci-physics@gentoo.org</email>
+ <name>Gentoo Physics Project</name>
</maintainer>
</pkgmetadata>
diff --git a/sci-libs/ipp/Manifest b/sci-libs/ipp/Manifest
deleted file mode 100644
index 0007a0681..000000000
--- a/sci-libs/ipp/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST parallel_studio_xe_2018_update2_professional_edition.tgz 3877755304 BLAKE2B c8852df23abf080f482002a37af7781b3fbae3ecec448914ea5a237fa2b925073d1a3dc2dd94ba64002ff0f6c7e9b18b25fa7ada811a83b10344eb9b92cb37ff SHA512 a9b644b0305d83a9d0daa14d146cb3ce79949db55a410afe48d62259414e6256d9ef533a04bb50807103511db2016c4abcbbf769146854a25638f402a6d0f2be
-DIST parallel_studio_xe_2019_update4_professional_edition.tgz 2629662464 BLAKE2B a5619f33535063ccd7310378504ca960aa8512527cef7e0884fae5570633c1823e50ff7135adbbc571b4d47e0b6fcc01afe8639e09feb50a7f289eeec3f61ca0 SHA512 d8f6780a3671f30a1bad5d3a9792062c73b31188dc31fbd38212e98abc593f1c8f64bb970a8a4fce9ce237afef18ed38adf8fd81aa73b63ec964224590d4a34d
-DIST parallel_studio_xe_2020_update1_professional_edition.tgz 2783012958 BLAKE2B 975103ec4551a0e3bd84034ce771a5fc459d5de47f4247b5915b54d9c827e50e913f9054a103424b764f730190675d42b52a97e68551b34df6b3d8d9b922517a SHA512 00a3334bcdb8b30216ecb40fcfc709b27d043697606a53f522c90b05cf8598e1e60311d629ec17b6fe1016a7d2a27f4b428abddc9eba39badebfd8a9b53de404
diff --git a/sci-libs/ipp/ipp-18.0.2.199.ebuild b/sci-libs/ipp/ipp-18.0.2.199.ebuild
deleted file mode 100644
index 5253840b9..000000000
--- a/sci-libs/ipp/ipp-18.0.2.199.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-INTEL_DIST_SKU=3235
-INTEL_DIST_PV=2018_update2_professional_edition
-
-inherit intel-sdp-r1
-
-DESCRIPTION="Intel Integrated Performance Primitive library"
-HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
-
-IUSE="doc"
-KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND=""
-RDEPEND="~dev-libs/intel-common-${PV}[compiler]"
-
-CHECKREQS_DISK_BUILD=6500M
-
-INTEL_DIST_DAT_RPMS=(
- "ipp-common-2018.2-199-2018.2-199.noarch.rpm"
- "ipp-common-ps-2018.2-199-2018.2-199.noarch.rpm")
-INTEL_DIST_AMD64_RPMS=(
- "ipp-mt-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-mt-devel-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-devel-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-devel-ps-2018.2-199-2018.2-199.x86_64.rpm")
-INTEL_DIST_X86_RPMS=(
- "ipp-mt-32bit-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-mt-devel-32bit-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-32bit-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-devel-32bit-2018.2-199-2018.2-199.x86_64.rpm"
- "ipp-st-devel-ps-32bit-2018.2-199-2018.2-199.x86_64.rpm")
-
-pkg_setup() {
- if use doc; then
- INTEL_DIST_DAT_RPMS+=(
- "ipp-doc-2018-2018.2-199.noarch.rpm")
- fi
-}
diff --git a/sci-libs/ipp/ipp-19.0.4.243.ebuild b/sci-libs/ipp/ipp-19.0.4.243.ebuild
deleted file mode 100644
index e42583e20..000000000
--- a/sci-libs/ipp/ipp-19.0.4.243.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-INTEL_DIST_PV=2019_update4_professional_edition
-
-inherit intel-sdp-r1
-
-DESCRIPTION="Intel Integrated Performance Primitive library"
-HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
-
-IUSE="doc"
-KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND=""
-RDEPEND="~dev-libs/intel-common-${PV}[compiler]"
-
-CHECKREQS_DISK_BUILD=6500M
-
-INTEL_DIST_DAT_RPMS=(
- "ipp-common-2019.4-243-2019.4-243.noarch.rpm"
- "ipp-common-ps-2019.4-243-2019.4-243.noarch.rpm")
-INTEL_DIST_AMD64_RPMS=(
- "ipp-mt-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-mt-devel-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-devel-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-devel-ps-2019.4-243-2019.4-243.x86_64.rpm")
-INTEL_DIST_X86_RPMS=(
- "ipp-mt-32bit-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-mt-devel-32bit-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-32bit-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-devel-32bit-2019.4-243-2019.4-243.x86_64.rpm"
- "ipp-st-devel-ps-32bit-2019.4-243-2019.4-243.x86_64.rpm")
-
-pkg_setup() {
- if use doc; then
- INTEL_DIST_DAT_RPMS+=(
- "ipp-doc-2019-2019.4-243.noarch.rpm")
- fi
-}
diff --git a/sci-libs/ipp/ipp-2020.1.217.ebuild b/sci-libs/ipp/ipp-2020.1.217.ebuild
deleted file mode 100644
index 2c0be6abf..000000000
--- a/sci-libs/ipp/ipp-2020.1.217.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-INTEL_DIST_PV=2020_update1_professional_edition
-
-inherit intel-sdp-r1
-
-DESCRIPTION="Intel Integrated Performance Primitive library"
-HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
-
-IUSE="doc"
-KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND=""
-RDEPEND="~dev-libs/intel-common-19.1.1.217[compiler]"
-
-CHECKREQS_DISK_BUILD=6500M
-
-MY_PV="$(ver_rs 2 '-')" # 2020.1-217
-
-QA_PREBUILT="*"
-
-INTEL_DIST_DAT_RPMS=(
- "ipp-common-${MY_PV}-${MY_PV}.noarch.rpm"
- "ipp-common-ps-${MY_PV}-${MY_PV}.noarch.rpm")
-INTEL_DIST_AMD64_RPMS=(
- "ipp-mt-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-mt-devel-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-st-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-st-devel-${MY_PV}-${MY_PV}.x86_64.rpm")
-INTEL_DIST_X86_RPMS=(
- "ipp-mt-32bit-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-mt-devel-32bit-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-st-32bit-${MY_PV}-${MY_PV}.x86_64.rpm"
- "ipp-st-devel-32bit-${MY_PV}-${MY_PV}.x86_64.rpm")
-
-pkg_setup() {
- if use doc; then
- INTEL_DIST_DAT_RPMS+=(
- "ipp-doc-2020-${MY_PV}.noarch.rpm")
- fi
-}
diff --git a/sci-libs/itk/Manifest b/sci-libs/itk/Manifest
index 31310f8b1..87328da27 100644
--- a/sci-libs/itk/Manifest
+++ b/sci-libs/itk/Manifest
@@ -1,10 +1,12 @@
-DIST ITKGenericLabelInterpolator-5.0.1.tar.gz 136432 BLAKE2B c367d5f29b3b3250f73d3b03b80b50a99607d895ebb83c3613b40ed665bce87b2731b2ecf471a5b77983db1f8894e486404662bb5787056f23de24c8ee897704 SHA512 6044aab4893d6c68c6190c5d81f460ea0dfc4683d33a03a5d56a8a0ae3b767edde530cdc8976e6777237cb1d172f66df044afe11c4cfc9148e5712cf9f3a11fc
-DIST ITKGenericLabelInterpolator-5.1.0.tar.gz 140286 BLAKE2B 1c8efa033586368931d78fe4620ddd1449fcd15153b1585c716bce580df74a6fc990b3714677a81cdcedcd0e4626e4f155c522f6e7306e5be399d521213891b4 SHA512 7bf6310e8b0ea2356ae8ce0ddd0bc3a1516aa6bb5e3e8df9ed0114f1bb2b299d2edd046f27dbae364082afc63e225a3691c794c93d347ee564db617ea3fbf489
-DIST ITKGenericLabelInterpolator_test-5.0.1.zip 430662 BLAKE2B f46683bd1b3479ae6fc9ae63752810a1dda7940c67d4be8524edcb8b40ed384b331ac785ab752c3ed1570cce8d79af7de873820fdb76a11f2e4241ad7fd2d2c2 SHA512 435200a70ee8de30cc02b30d805697ebc61fb2792e6e7d8f5da923d2773ccd6adfdcec2ab953a6a043d624ebb01b9f7f30e2aad83a6442272f28104d357a7bde
-DIST InsightData-5.0.1.tar.gz 290801718 BLAKE2B dcb7657cb1f8555365b2ec94e7f95c4feab13ba4d585fd70ec240e63e7a55cf48aadf091a63ba2263f1f8c10ce3935812655449bea275af3d2eeff3f2689ef46 SHA512 eb766c115049949937d6527937f1f49ef84304a71dc4924581a53173f45c4e5a0c5a0e180550e75ecd840314609580b9d1fe9b2358c5a87c82a2c6aff8e9f50e
-DIST InsightData-5.1.0.tar.gz 292322103 BLAKE2B e55eddf06d72e87e68e7654c634f545923202467b710c75aa929cd040f37a9caa48ee262ca6465631961816af1cd854b9a046ff7e7ffed7731e428e092bc6020 SHA512 458c2959ba5e0745eee23e16ff7178230a7bae94d7dff065b3b38136e238becff96554693e3b2149d2307949c23a6c695c92676f8d44e6f7305dbb8bed48c9fa
-DIST InsightToolkit-5.0.1.tar.gz 20627889 BLAKE2B 2bd53f64f18746a7d0226d4d97bc02529a1dd2c05fc2294b0c2a5adb3783a8e766b1d20e051a17f20b4e5855e7c5b4a18d5f177f239113bc64f1a0400ce6f04b SHA512 f36613ff72c513ded3d32504f71308a94fe75555cf9fd22b77485d1375601f6e1f1539cc5ac82a9e1e229bcf514a88ccb55122a7dfc74a6ae1b6604aa70bd814
-DIST InsightToolkit-5.1.0.tar.gz 20694338 BLAKE2B 6a14e2e00f6d68a1420cdeebabdef254d23c6ba6610828bb860cf4e27a87f0e1448cd222bf3bc02f6d32b4eb262d7ba032f4459ed05f59f8c95d80907e03571c SHA512 413b6ef549b59d8f507038130446ccb704794c6d0980d8ab631d1b1051cb91f399e77c26b69fab6a1e9b9bb4cc233d49996c3ee735cd4de065993d4379b4ed4c
-DIST itk-5.1.0-test-a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a 1017 BLAKE2B e6a3b734c3f4a23238dbb921c46297b491436e6c4b0b6d8992fe8fa3c813374f354495ca575d5d371ef49b7bcdc8b63d89a5e8d1ae608bce50fea0efc95ec60d SHA512 e69c77894cab5b295ec5edbecdf693525ec9a4673810b87cbc28646ea40888b7792b5707840069e277905c8b0014bd84ecea036836f87c3b16f388f544e34341
-DIST itk-5.1.0-test-bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f 1018 BLAKE2B 50cad64ac0b674fe4dce36c732f8fababe13ec2893e22caa0b22274320fb4f6d70aec1e8b4f6ee5878ebc20b02c7300c877db911b77f82ac0cf2d6e3284f4ffa SHA512 27952af5d6243aa31c187280ea9ba82c434db3614b3db3b406fe8e5c7e4b7e333bc179d5d9956d5a17aa670a7aa7cfce037d37c4225125e703602e322d8ec68b
-DIST itk-5.1.0-testingdata.tar.gz 2409232372 BLAKE2B 7eb1c3ca21558603d3aa915c2a17e9bb656867331dc48e7b514ece50a7eac3d24bdf01c8b0acc703566b598959780d6736b27d1516d932f949e3a5cfe6acd9e0 SHA512 8b451608cb3f75d3ba6a78fd23e79495948c2792a98d831e0f0c93745595df84d3c2a8d76389976f67ac7e7e1f5a44a18d201e51d2ee659cdb708ae28536df8f
+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/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch b/sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch
deleted file mode 100644
index 094ee3229..000000000
--- a/sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From d069b7b94287dae15fcaf707775f5dd2bbebcc38 Mon Sep 17 00:00:00 2001
-From: Matt McCormick <matt.mccormick@kitware.com>
-Date: Wed, 5 Feb 2014 15:52:34 -0500
-Subject: [PATCH 1/3] BUG: Wrap TransformFileReader, TransformFileWriter.
-
-Missing CMakeLists.txt in the wrapping directory. Need to explicitly include
-the headers after "Template" was appended to the class name.
-
-Suggested-by: Sami Koho <sami.koho@gmail.com>
-
-Change-Id: I6f994bb18f37d5adf1d0f0311fa73506c41239a7
----
- Modules/IO/TransformBase/wrapping/CMakeLists.txt | 3 +++
- Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap | 2 ++
- Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap | 2 ++
- 3 files changed, 7 insertions(+)
- create mode 100644 Modules/IO/TransformBase/wrapping/CMakeLists.txt
-
-diff --git a/Modules/IO/TransformBase/wrapping/CMakeLists.txt b/Modules/IO/TransformBase/wrapping/CMakeLists.txt
-new file mode 100644
-index 0000000..6072567
---- /dev/null
-+++ b/Modules/IO/TransformBase/wrapping/CMakeLists.txt
-@@ -0,0 +1,3 @@
-+itk_wrap_module(ITKIOTransformBase)
-+itk_auto_load_submodules()
-+itk_end_wrap_module()
-diff --git a/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap b/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-index 9b52fbc..662df9e 100644
---- a/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-+++ b/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-@@ -1,3 +1,5 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkTransformFileReader.h")
- itk_wrap_class("itk::TransformFileReaderTemplate" POINTER)
- foreach(t ${WRAP_ITK_REAL})
- itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-diff --git a/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap b/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-index 4f1ac4a..356aaf3 100644
---- a/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-+++ b/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-@@ -1,3 +1,5 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkTransformFileWriter.h")
- itk_wrap_class("itk::TransformFileWriterTemplate" POINTER)
- foreach(t ${WRAP_ITK_REAL})
- itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
---
-1.8.5.3
-
diff --git a/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch b/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch
deleted file mode 100644
index 4c74d5451..000000000
--- a/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 66d2955fbe5528d9df216c639277d1d2686447e5 Mon Sep 17 00:00:00 2001
-From: Michka Popoff <michkapopoff@gmail.com>
-Date: Fri, 7 Feb 2014 19:24:49 +0100
-Subject: [PATCH 2/3] COMP: Fixed itkQuasiNewtonOptimizerv4 wrapping warnings
-
-The warning :
-/scratch/dashboards/Linux-x86_64-gcc4.4-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkQuasiNewtonOptimizerv4.xml: warning(5): Unknown type type: itk::QuasiNewtonOptimizerv4 [typedef]
-/scratch/dashboards/Linux-x86_64-gcc4.4-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkQuasiNewtonOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::QuasiNewtonOptimizerv4Template< double >
----
- .../Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-index 4a43dd4..7eed11c 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-@@ -1 +1,7 @@
--itk_wrap_simple_class("itk::QuasiNewtonOptimizerv4" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkQuasiNewtonOptimizerv4.h")
-+itk_wrap_class("itk::QuasiNewtonOptimizerv4Template" POINTER)
-+ foreach(t ${WRAP_ITK_REAL})
-+ itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+ endforeach(t)
-+itk_end_wrap_class()
---
-1.8.5.3
-
diff --git a/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch b/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch
deleted file mode 100644
index d77345edf..000000000
--- a/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From fced46ce8769b4edc7971ea0928045390b5c3f84 Mon Sep 17 00:00:00 2001
-From: Michka Popoff <michkapopoff@gmail.com>
-Date: Mon, 10 Feb 2014 09:41:42 +0100
-Subject: [PATCH 3/3] COMP: Fixed itkGradientDescentOptimizerv4 wrapping
- warnings
-
-I splitted the 3 wrapping calls in 3 separate files and fixed the wrapping.
-
-The warnings :
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::GradientDescentOptimizerBasev4 [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::GradientDescentOptimizerv4 [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::ObjectToObjectOptimizerBase [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::GradientDescentOptimizerBasev4Template< double >
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::GradientDescentOptimizerv4Template< double >
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::ObjectToObjectOptimizerBaseTemplate< double >
-
-Should also hopefully fix the new error on the dashboard I introduced by fixing the itkQuasiNewtonOptimizerv4 warnings (http://review.source.kitware.com/#/c/14317/)
-/home/kevin/kitware/ITK_Build/Wrapping/Typedefs/itkQuasiNewtonOptimizerv4.i:87: Warning 401: Nothing known about base class 'itk::GradientDescentOptimizerv4Template< float >'. Ignored.
-/home/kevin/kitware/ITK_Build/Wrapping/Typedefs/itkQuasiNewtonOptimizerv4.i:87: Warning 401: Maybe you forgot to instantiate 'itk::GradientDescentOptimizerv4Template< float >' using %template.
-
-Change-Id: I15b6af11690ed6efeaced68f73af5212ab5dc364
----
- .../wrapping/itkGradientDescentOptimizerBasev4.wrap | 7 +++++++
- .../Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap | 10 +++++++---
- .../Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap | 7 +++++++
- 3 files changed, 21 insertions(+), 3 deletions(-)
- create mode 100644 Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
- create mode 100644 Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
-new file mode 100644
-index 0000000..74f5a6c
---- /dev/null
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
-@@ -0,0 +1,7 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkGradientDescentOptimizerBasev4.h")
-+itk_wrap_class("itk::GradientDescentOptimizerBasev4Template" POINTER)
-+ foreach(t ${WRAP_ITK_REAL})
-+ itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+ endforeach(t)
-+itk_end_wrap_class()
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-index d53a176..3236448 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-@@ -1,3 +1,7 @@
--itk_wrap_simple_class("itk::ObjectToObjectOptimizerBase" POINTER)
--itk_wrap_simple_class("itk::GradientDescentOptimizerBasev4" POINTER)
--itk_wrap_simple_class("itk::GradientDescentOptimizerv4" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkGradientDescentOptimizerv4.h")
-+itk_wrap_class("itk::GradientDescentOptimizerv4Template" POINTER)
-+ foreach(t ${WRAP_ITK_REAL})
-+ itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+ endforeach(t)
-+itk_end_wrap_class()
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-new file mode 100644
-index 0000000..61b2c44
---- /dev/null
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-@@ -0,0 +1,7 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkObjectToObjectOptimizerBase.h")
-+itk_wrap_class("itk::ObjectToObjectOptimizerBaseTemplate" POINTER)
-+ foreach(t ${WRAP_ITK_REAL})
-+ itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+ endforeach(t)
-+itk_end_wrap_class()
---
-1.8.5.3
-
diff --git a/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch b/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch
deleted file mode 100644
index 83b395626..000000000
--- a/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Author: Matt McCormick <matt.mccormick@kitware.com>
-Date: Thu Feb 6 10:26:49 2014 -0500
-
- COMP: Wrap OptimizerParameterScalesEstimatorTemplate.
-
- The class name changed and it became templated. Fixes:
-
- /playpen/blowekamp/MacOSX-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkOptimizerParameterScalesEstimator.xml:
- warning(5): Unknown type type: itk::OptimizerParameterScalesEstimator
- [typedef]
- /playpen/blowekamp/MacOSX-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkOptimizerParameterScalesEstimator.xml:
- warning(4): ITK type not wrapped, or currently not known:
- itk::OptimizerParameterScalesEstimatorTemplate< double >
-
- Change-Id: Ic6b4d6fba10d5d6c7b58de8d842bad6511e1ae7b
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkOptim
-index efd6a8c..a647ee4 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap
-@@ -1 +1,7 @@
--itk_wrap_simple_class("itk::OptimizerParameterScalesEstimator" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkOptimizerParameterScalesEstimator.h")
-+itk_wrap_class("itk::OptimizerParameterScalesEstimatorTemplate" POINTER)
-+ foreach(t ${WRAP_ITK_REAL})
-+ itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+ endforeach(t)
-+itk_end_wrap_class()
-
diff --git a/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch b/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch
deleted file mode 100644
index d760ac7ba..000000000
--- a/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/Modules/ThirdParty/GDCM/src/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-index e98077c..70f4286 100644
---- a/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-+++ b/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-@@ -1,5 +1,5 @@
- if(ITK_USE_SYSTEM_GDCM)
-- add_library(ITKGDCM ITK-GDCM.cxx)
-+ add_library(ITKGDCM STATIC ITK-GDCM.cxx)
- target_link_libraries(ITKGDCM gdcmDICT gdcmMSFF)
- itk_module_target(ITKGDCM)
- return()
diff --git a/sci-libs/itk/files/ITKModuleRemote.patch b/sci-libs/itk/files/ITKModuleRemote.patch
deleted file mode 100644
index eb130159a..000000000
--- a/sci-libs/itk/files/ITKModuleRemote.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Disable automatic git clone attempt for modules:
-https://github.com/InsightSoftwareConsortium/ITK/issues/1157
-
---- a/CMake/ITKModuleRemote.cmake 2019-08-13 18:10:33.385472767 +0200
-+++ b/CMake/ITKModuleRemote.cmake 2019-08-13 18:12:04.020198966 +0200
-@@ -165,39 +165,4 @@
- set(Module_${_name} ON CACHE FORCE "${_description}")
- endif()
-
-- if(Module_${_name})
-- itk_download_attempt_check(Module_${_name})
-- include(CMakeParseArguments)
-- cmake_parse_arguments(_fetch_options "" "GIT_REPOSITORY;GIT_TAG" "" ${ARGN})
-- find_package(Git)
-- if(NOT GIT_EXECUTABLE)
-- message(FATAL_ERROR "error: could not find git for clone of ${_name}")
-- endif()
-- execute_process(
-- COMMAND "${GIT_EXECUTABLE}" --version
-- OUTPUT_VARIABLE ov
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-- )
-- string(REGEX REPLACE "^git version (.+)$" "\\1" _version "${ov}")
-- if("${_version}" VERSION_LESS 1.6.6)
-- message(FATAL_ERROR "Git version 1.6.6 or later is required.")
-- endif()
--
-- set(REMOTE_GIT_TAG "${_fetch_options_GIT_TAG}")
--
-- if( DEFINED REMOTE_GIT_TAG_${_name} AND NOT "${REMOTE_GIT_TAG_${_name}}" STREQUAL "${_fetch_options_GIT_TAG}")
-- set(REMOTE_GIT_TAG "${REMOTE_GIT_TAG_${_name}}")
-- message(STATUS "NOTE: Using override 'REMOTE_GIT_TAG_${_name}=${REMOTE_GIT_TAG}'\n"
-- " instead of value 'GIT_TAG=${_fetch_options_GIT_TAG}'\n"
-- " specified in file ${ITK_SOURCE_DIR}/Modules/Remote/${_name}.remote.cmake'")
-- endif()
-- set(REMOTE_GIT_TAG_${_name} "${REMOTE_GIT_TAG}" CACHE STRING "Override default GIT_TAG value for remote module ${_name}")
-- mark_as_advanced(REMOTE_GIT_TAG_${_name})
--
-- _fetch_with_git("${GIT_EXECUTABLE}"
-- "${_fetch_options_GIT_REPOSITORY}"
-- "${REMOTE_GIT_TAG}"
-- "${ITK_SOURCE_DIR}/Modules/Remote/${_name}"
-- )
-- endif()
- endfunction()
diff --git a/sci-libs/itk/files/itk-5.1.0-downloads.patch b/sci-libs/itk/files/itk-5.1.0-downloads.patch
deleted file mode 100644
index 34fdb76d1..000000000
--- a/sci-libs/itk/files/itk-5.1.0-downloads.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/CMake/ITKDownloadSetup.cmake 2020-07-30 19:03:10.330325423 -0400
-+++ b/CMake/ITKDownloadSetup.cmake 2020-07-30 19:03:10.330325423 -0400
-@@ -11,7 +11,7 @@
-
- macro(itk_download_attempt_check _name)
- if(ITK_FORBID_DOWNLOADS)
-- message(SEND_ERROR "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
-+ message(WARNING "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
- endif()
- endmacro()
-
---- a/Modules/Remote/GenericLabelInterpolator.remote.cmake 2020-04-25 14:30:53.000000000 -0400
-+++ b/Modules/Remote/GenericLabelInterpolator.remote.cmake 2020-04-25 14:30:53.000000000 -0400
-@@ -44,6 +44,4 @@
- itk_fetch_module(GenericLabelInterpolator
- "A generic interpolator for multi-label images."
- MODULE_COMPLIANCE_LEVEL 2
-- GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
-- GIT_TAG b95fe46c7f4fe8002af67c67e6fe4e1f087bf6b7
- )
diff --git a/sci-libs/itk/files/itk-5.1.0-include_limits.patch b/sci-libs/itk/files/itk-5.1.0-include_limits.patch
deleted file mode 100644
index 9a8fae820..000000000
--- a/sci-libs/itk/files/itk-5.1.0-include_limits.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-+++ a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-@@ -16,6 +16,7 @@
-
- #include "gdcmImageToImageFilter.h"
- #include "gdcmPhotometricInterpretation.h"
-+#include <limits>
-
- namespace gdcm
- {
diff --git a/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch b/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch
new file mode 100644
index 000000000..05c9d5635
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch
@@ -0,0 +1,25 @@
+From: François-Xavier Carton <fx.carton91@gmail.com>
+Date: Thu, 9 Jun 2022 14:56:22 +0200
+Subject: [PATCH] fix attr malloc error with recent glibc/gcc
+
+Recent GCC has support for __attribute__((__malloc__)) with arguments, but clang
+does not. castxml uses clang internally. And recent glibc/gcc uses the attribute
+with arguments. Mix all this, and you get:
+
+error: '__malloc__' attribute takes no arguments
+
+when compiling itk with python wrapping.
+
+To fix this, we add a define to castxml flags to remove the extra arguments.
+
+--- a/Wrapping/Generators/CastXML/CMakeLists.txt 2022-06-09 14:53:15.582352715 +0200
++++ b/Wrapping/Generators/CastXML/CMakeLists.txt 2022-06-09 14:54:38.182351433 +0200
+@@ -237,7 +237,7 @@
+ set(_castxml_cc ${_castxml_cc} "-D_HAS_TR1=0")
+ endif()
+ else()
+- set(_castxml_cc --castxml-cc-gnu ( "${CMAKE_CXX_COMPILER}" ${_castxml_cc_flags} ))
++ set(_castxml_cc --castxml-cc-gnu ( "${CMAKE_CXX_COMPILER}" ${_castxml_cc_flags} -D__malloc__\(a,b\)=__malloc__ ))
+ endif()
+ set(_target)
+ if(CMAKE_CROSSCOMPILING)
diff --git a/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch b/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch
new file mode 100644
index 000000000..ad717f677
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch
@@ -0,0 +1,558 @@
+--- 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)
+ {
+@@ -775,6 +726,6 @@
+ }
+
+- for (int i = 0; i < parameters.numpocs; i++)
++ for (OPJ_UINT32 i = 0; i < parameters.numpocs; i++)
+ {
+ if (parameters.POC[i].prg == -1)
+ {
+@@ -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.2.1-system-tiff-has-64.patch b/sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch
new file mode 100644
index 000000000..25c44db2c
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch
@@ -0,0 +1,18 @@
+From: François-Xavier Carton <fx.carton91@gmail.com>
+Date: Wed, 8 Jun 2022 19:36:48 +0200
+Subject: [PATCH] system libtiff has INT64
+
+Enabling this, otherwise using system libtiff leads to errors. In particular
+tests fail because there is some IFD8 data but the itkTIFFDataSize function
+returns 0 instead of 8, resulting in invalid mem access.
+
+--- a/Modules/ThirdParty/TIFF/src/itk_tiff.h.in.orig 2022-06-08 19:34:04.412431969 +0200
++++ b/Modules/ThirdParty/TIFF/src/itk_tiff.h.in 2022-06-08 19:34:26.240431631 +0200
+@@ -34,6 +34,7 @@
+ #cmakedefine ITK_TIFF_HAS_TIFFFieldReadCount
+ #cmakedefine ITK_TIFF_HAS_TIFFField
+ #ifdef ITK_USE_SYSTEM_TIFF
++# define TIFF_INT64_T int64_t
+ # include <tiffio.h>
+ #else
+ # include "itktiff/tiffio.h"
diff --git a/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
new file mode 100644
index 000000000..2af8c4998
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
@@ -0,0 +1,309 @@
+https://github.com/InsightSoftwareConsortium/ITK/commit/2a7f5ed199926999b67f61a97c2c9a2595a11558.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/0c31aa688e82a34e5430873bc6176740fd09ad75.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/28325d921a9b8793e6aaefd612f53989f951d19c.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/aafd1f9631d0fad60e1b6f53e049e95a50c48bd1.patch
+
+From 2a7f5ed199926999b67f61a97c2c9a2595a11558 Mon Sep 17 00:00:00 2001
+From: Niels Dekker <N.Dekker@lumc.nl>
+Date: Thu, 24 Jun 2021 18:00:01 +0200
+Subject: [PATCH] COMP: Add missing `#include <iostream>` to Deprecated module
+ test
+
+Fixed a Visual C++ 2019 error, saying:
+
+> Deprecated\test\itkSimpleFastMutexLockTest.cxx(48,12): error C2039: 'cout': is not a member of 'std'
+---
+ .../Deprecated/test/itkSimpleFastMutexLockTest.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx b/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
+index 11ad0c52700..60aa1c065b4 100644
+--- a/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
++++ b/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
+@@ -19,6 +19,8 @@
+
+ #include "itkSimpleFastMutexLock.h"
+
++#include <iostream> // For cout.
++
+
+ int
+ itkSimpleFastMutexLockTest(int, char *[])
+From 0c31aa688e82a34e5430873bc6176740fd09ad75 Mon Sep 17 00:00:00 2001
+From: Pablo Hernandez-Cerdan <pablo.hernandez.cerdan@outlook.com>
+Date: Tue, 20 Apr 2021 17:21:21 +0200
+Subject: [PATCH] COMP: CastXML, ITKVtkGlue, include only when property exists
+
+Some targets (VTK libraries) didn't have the property INTERFACE_INCLUDE_DIRECTORIES
+
+```bash
+CMake Error in Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:
+ Found relative path while evaluating include directories of
+ "ITKVtkGluePython":
+
+ "_vtk_lib_include_dirs-NOTFOUND"
+```
+
+Triggered when compiling Slicer with `Slicer_BUILD_ITKPython:BOOL=ON`
+aka `ITK_WRAP_PYTHON:BOOL=ON`.
+
+Full error log with extra printing:
+
+```bash
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:3 (message):
+ ITKVtkGlue_VTK_LIBRARIES:
+ VTK::IOImage;VTK::ImagingSources;VTK::WrappingPythonCore;VTK::CommonCore;VTK::CommonDataModel;VTK::kwiml;VTK::CommonExecutionModel;VTK::RenderingOpenGL2;VTK::RenderingFreeType;VTK::InteractionStyle;VTK::InteractionWidgets
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs:
+ build/VTK-build/Wrapping/PythonCore;build/VTK/Wrapping/PythonCore
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs:
+ build/VTK-build/Utilities/KWIML;build/VTK/Utilities/KWIML
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+ _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+-- ITKVtkGlue: Creating module.
+-- ITKVtkGlue: Creating itkImageToVTKImageFilter submodule.
+-- ITKVtkGlue: Creating itkVTKImageToImageFilter submodule.
+-- ITKVtkGlue: Creating itkViewImage submodule.
+-- MGHIO: Creating module.
+-- MGHIO: Creating itkMGHImageIO submodule.
+-- MorphologicalContourInterpolation: Creating module.
+-- MorphologicalContourInterpolation: Creating itkMorphologicalContourInterpolator submodule.
+-- ITKPyUtils: Creating module.
+-- ITKPyUtils: Creating itkPyCommand submodule.
+-- ITKPyUtils: Creating itkPyImageFilter submodule.
+-- Configuring done
+CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
+Please set them or make sure they are set and tested correctly in the CMake files:
+_vtk_lib_include_dirs
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+ used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+
+CMake Error in Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:
+ Found relative path while evaluating include directories of
+ "ITKVtkGluePython":
+
+ "_vtk_lib_include_dirs-NOTFOUND"
+
+```
+---
+ Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt b/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
+index 3f3322957e1..2fd6a5af8f6 100644
+--- a/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
++++ b/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
+@@ -2,7 +2,9 @@
+ if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
+ foreach(_vtk_lib IN LISTS ITKVtkGlue_VTK_LIBRARIES)
+ get_target_property(_vtk_lib_include_dirs ${_vtk_lib} INTERFACE_INCLUDE_DIRECTORIES)
+- include_directories(${_vtk_lib_include_dirs})
++ if(_vtk_lib_include_dirs)
++ include_directories(${_vtk_lib_include_dirs})
++ endif()
+ endforeach()
+ endif()
+
+From 28325d921a9b8793e6aaefd612f53989f951d19c Mon Sep 17 00:00:00 2001
+From: Butui Hu <hot123tea123@gmail.com>
+Date: Mon, 1 Aug 2022 14:26:39 +0800
+Subject: [PATCH] COMP: use sysconfig.get_path as PEP 632 deprecate distutils
+ module
+
+---
+ Wrapping/Generators/Python/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Wrapping/Generators/Python/CMakeLists.txt b/Wrapping/Generators/Python/CMakeLists.txt
+index fca3d999b87..3b7a1d37334 100644
+--- a/Wrapping/Generators/Python/CMakeLists.txt
++++ b/Wrapping/Generators/Python/CMakeLists.txt
+@@ -36,7 +36,7 @@ file(MAKE_DIRECTORY ${WRAPPER_MASTER_INDEX_OUTPUT_DIR}/python)
+ ###############################################################################
+ # Configure Python wrapping installation
+ if(Python3_EXECUTABLE AND NOT PY_SITE_PACKAGES_PATH)
+- set(python_check "try:\n import distutils.sysconfig\n print(distutils.sysconfig.get_python_lib(plat_specific=1, prefix=''))\nexcept:\n pass")
++ set(python_check "try:\n import sysconfig\n print(sysconfig.get_path('platlib'))\nexcept:\n pass")
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py ${python_check})
+ execute_process(COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py"
+ OUTPUT_VARIABLE py_spp
+From aafd1f9631d0fad60e1b6f53e049e95a50c48bd1 Mon Sep 17 00:00:00 2001
+From: Hans Johnson <hans-johnson@uiowa.edu>
+Date: Wed, 15 Dec 2021 08:10:58 -0600
+Subject: [PATCH] COMP: Remove inclusion of .hxx files as headers
+
+The ability to include either .h or .hxx files as
+header files required recursively reading the
+.h files twice. The added complexity is
+unnecessary, costly, and can confuse static
+analysis tools that monitor header guardes (due
+to reaching the maximum depth of recursion
+limits for nested #ifdefs in checking).
+
+Co-authored-by: Simon Rit <simon.rit@creatis.insa-lyon.fr>
+---
+ CMake/ITKModuleHeaderTest.cmake | 3 +--
+ Utilities/Maintenance/BuildHeaderTest.py | 4 ----
+ 2 files changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/CMake/ITKModuleHeaderTest.cmake b/CMake/ITKModuleHeaderTest.cmake
+index eb809d7e93d..82ad192a6f8 100644
+--- a/CMake/ITKModuleHeaderTest.cmake
++++ b/CMake/ITKModuleHeaderTest.cmake
+@@ -36,8 +36,7 @@ macro( itk_module_headertest _name )
+ # effected.
+ set( _include ${${_name}_SOURCE_DIR}/include )
+ file( GLOB _h_files ${_include}/*.h )
+- file( GLOB _hxx_files ${_include}/*.hxx )
+- set( _header_files ${_h_files} ${_hxx_files} )
++ set( _header_files ${_h_files} )
+ list( LENGTH _h_files _num_headers )
+ set( _outputs ${${_name}_BINARY_DIR}/test/${_name}HeaderTest1.cxx )
+ set( _test_num 1 )
+diff --git a/Utilities/Maintenance/BuildHeaderTest.py b/Utilities/Maintenance/BuildHeaderTest.py
+index 26a4b6ccb3f..f8ed9f7901e 100755
+--- a/Utilities/Maintenance/BuildHeaderTest.py
++++ b/Utilities/Maintenance/BuildHeaderTest.py
+@@ -130,15 +130,11 @@ def main():
+ else:
+ max_idx = added_header_idx + maximum_number_of_headers
+ for i in range(added_header_idx, max_idx):
+- # Use the .hxx if possible.
+- hxx_file = h_files[i][:-1] + "hxx"
+ # Files that include VTK headers need to link to VTK.
+ if h_files[i] in BANNED_HEADERS or h_files[i].lower().find("vtk") != -1:
+ to_include = (
+ '// #include "' + h_files[i] + '" // Banned in BuildHeaderTest.py\n'
+ )
+- elif os.path.exists(os.path.join(module_source_path, "include", hxx_file)):
+- to_include = '#include "' + hxx_file + '"\n'
+ else:
+ to_include = '#include "' + h_files[i] + '"\n'
+
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/files/nrrdio-linking.patch b/sci-libs/itk/files/nrrdio-linking.patch
deleted file mode 100644
index a549650d2..000000000
--- a/sci-libs/itk/files/nrrdio-linking.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Link libITKNrrdIO with -lm (needed for sqrt)
-Author: Steve Robbins <smr@debian.org>
-Forwarded: no
-
---- insighttoolkit4-4.5.0.orig/Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeLists.txt
-+++ insighttoolkit4-4.5.0/Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeLists.txt
-@@ -64,7 +64,7 @@
- ADD_DEFINITIONS(-DTEEM_ZLIB=1)
-
- ADD_LIBRARY(ITKNrrdIO ${nrrdio_SRCS} )
--TARGET_LINK_LIBRARIES(ITKNrrdIO ${ITKZLIB_LIBRARIES})
-+TARGET_LINK_LIBRARIES(ITKNrrdIO ${ITKZLIB_LIBRARIES} -lm)
-
- IF(ITK_LIBRARY_PROPERTIES)
- SET_TARGET_PROPERTIES(ITKNrrdIO PROPERTIES ${ITK_LIBRARY_PROPERTIES})
diff --git a/sci-libs/itk/files/tests.patch b/sci-libs/itk/files/tests.patch
deleted file mode 100644
index c24714e4d..000000000
--- a/sci-libs/itk/files/tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Known to fail by upstream:
-https://github.com/InsightSoftwareConsortium/ITK/issues/1212#issuecomment-527998115
-
---- a/Modules/Bridge/VtkGlue/test/CMakeLists.txt 2019-09-09 00:45:14.736032139 +0200
-+++ b/Modules/Bridge/VtkGlue/test/CMakeLists.txt 2019-09-09 00:49:42.183935497 +0200
-@@ -7,8 +7,6 @@
- if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
- list(APPEND ITKVtkGlueTests
- itkVtkMedianFilterTest.cxx
-- itkVtkConnectedComponentImageFilterTest.cxx
-- QuickViewTest.cxx
- # ### runViewImage ###
- # No test generated. Use it for view images (2D or 3D) with:
- # ITKVtkGlueTestDriver runViewImage image_file
-@@ -40,26 +38,3 @@
- NAME itkVTKImageToImageFilterTest
- COMMAND ITKVtkGlueTestDriver
- itkVTKImageToImageFilterTest)
--
--if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
-- itk_add_test(
-- NAME itkVtkMedianImageFilterTest
-- COMMAND ITKVtkGlueTestDriver
-- itkVtkMedianFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} 2)
-- set_property(TEST itkVtkMedianImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
-- itk_add_test(
-- NAME QuickViewTest
-- COMMAND ITKVtkGlueTestDriver
-- --compare DATA{Baseline/QuickViewTest.png,:}
-- ${ITK_TEST_OUTPUT_DIR}/QuickViewTest0.png
-- --compareNumberOfPixelsTolerance 1500
-- QuickViewTest DATA{${ITK_DATA_ROOT}/Input/peppers.png} ${ITK_TEST_OUTPUT_DIR})
-- set_property(TEST QuickViewTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
-- itk_add_test(
-- NAME itkVtkConnectedComponentImageFilterTest
-- COMMAND ITKVtkGlueTestDriver
-- itkVtkConnectedComponentImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})
-- set_property(TEST itkVtkConnectedComponentImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--endif()
diff --git a/sci-libs/itk/itk-5.0.1.ebuild b/sci-libs/itk/itk-5.0.1.ebuild
deleted file mode 100644
index bf9f0f021..000000000
--- a/sci-libs/itk/itk-5.0.1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit cmake python-single-r1
-
-MY_PN="InsightToolkit"
-MY_P="${MY_PN}-${PV}"
-GLI_HASH="187ab99b7d42718c99e5017f0acd3900d7469bd1"
-GLI_TEST_HASH="57b5d5de8d777f10f269445a"
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="
- https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
- https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.tar.gz
- test? (
- https://data.kitware.com/api/v1/folder/${GLI_TEST_HASH}/download -> ITKGenericLabelInterpolator_test-${PV}.zip
- https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
- )
- "
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples fftw python review test vtkglue"
-RESTRICT="!test? ( test )"
-# python will not work, this is a know issue upstream:
-# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
-# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
-
-RDEPEND="
- dev-libs/double-conversion:0=
- media-libs/openjpeg:2
- media-libs/libpng:0=
- media-libs/tiff:0=
- sci-libs/dcmtk:0=
- sci-libs/hdf5:0=[cxx]
- sys-libs/zlib:0=
- media-libs/libjpeg-turbo:0=
- fftw? ( sci-libs/fftw:3.0= )
- vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- sys-apps/coreutils
- python? (
- >=dev-lang/swig-2.0:0
- dev-cpp/castxml
- )
- doc? ( app-doc/doxygen )
-"
-BDEPEND="app-arch/unzip"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/ITKModuleRemote.patch
- "${FILESDIR}"/tests.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() {
- sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
- Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
- ln -sr ../ITKGenericLabelInterpolator-* Modules/Remote/ITKGenericLabelInterpolator || die
- if use test; then
- for filename in ../GenericLabelInterpolator/test/*/*mha; do
- MD5=$(md5sum $filename) || die
- MD5=${MD5% *} || die
- cp "$filename" ".ExternalData/MD5/${MD5}" || die
- done
- fi
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DGDCM_USE_SYSTEM_OPENJPEG=ON
- -DITK_FORBID_DOWNLOADS:BOOL=OFF
- -DITK_USE_SYSTEM_DCMTK=ON
- -DITK_USE_SYSTEM_DOUBLECONVERSION=ON
- -DITK_USE_SYSTEM_CASTXML=ON
- -DITK_USE_SYSTEM_HDF5=ON
- -DITK_USE_SYSTEM_JPEG=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}"
- -DWRAP_ITK_JAVA=OFF
- -DWRAP_ITK_TCL=OFF
- -Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
- -DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
- -DModule_GenericLabelInterpolator:BOOL=ON
- -DModule_ITKReview:BOOL=ON
- -DBUILD_TESTING="$(usex test ON OFF)"
- -DBUILD_EXAMPLES="$(usex examples ON OFF)"
- -DITK_USE_REVIEW="$(usex review ON OFF)"
- -DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
- -DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
- )
- if use fftw; then
- mycmakeargs+=(
- -DUSE_FFTWD=ON
- -DUSE_FFTWF=ON
- -DUSE_SYSTEM_FFTW=ON
- -DITK_WRAP_double=ON
- -DITK_WRAP_vector_double=ON
- -DITK_WRAP_covariant_vector_double=ON
- -DITK_WRAP_complex_double=ON
- )
- fi
- if use vtkglue; then
- mycmakeargs+=(
- -DModule_ITKVtkGlue=ON
- )
- fi
- if use python; then
- mycmakeargs+=(
- -DITK_WRAP_PYTHON=ON
- -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}
- local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
- if use python; then
- echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
- ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
- fi
- echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
- 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
-}
diff --git a/sci-libs/itk/itk-5.1.0.ebuild b/sci-libs/itk/itk-5.2.1-r2.ebuild
index 3f6c759ec..0b1f25860 100644
--- a/sci-libs/itk/itk-5.1.0.ebuild
+++ b/sci-libs/itk/itk-5.2.1-r2.ebuild
@@ -1,16 +1,18 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10..11} )
+VIRTUALX_REQUIRED="manual"
-inherit cmake python-single-r1
+inherit cmake python-single-r1 virtualx
MY_PN="InsightToolkit"
MY_P="${MY_PN}-${PV}"
-GLI_HASH="a02cbeaf28cb3d28ac66b9ac651073530eb6ab78"
-TEST_HASH="0eb202e23ae81be123b1b26cf31a9ba743824700"
+GLI_HASH="89da9305f5750d3990ca9fd35ecc5ce0b39c71a6"
+IAD_HASH="24825c8d246e941334f47968553f0ae388851f0c"
+TEST_HASH="7ab9d41ad5b42ccbe8adcaf0b24416d439a264d0"
declare -a GLI_TEST_HASHES=(
"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
@@ -18,14 +20,15 @@ declare -a GLI_TEST_HASHES=(
GLI_TEST_SRC=""
for i in "${GLI_TEST_HASHES[@]}"; do
- GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i} -> ${P}-test-${i} "
+ 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="http://www.itk.org"
+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/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.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
@@ -37,42 +40,55 @@ 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 )"
-# python will not work, this is a know issue upstream:
-# https://github.com/InsightSoftwareConsortium/ITK/issues/2005
-# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
-# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
RDEPEND="
+ dev-cpp/eigen:3
dev-libs/double-conversion:0=
+ dev-libs/expat:0=
media-libs/openjpeg:2
media-libs/libpng:0=
media-libs/tiff:0=[jpeg]
sci-libs/dcmtk:0=
sci-libs/hdf5:0=[cxx]
+ sci-libs/gdcm:0=
sys-libs/zlib:0=
media-libs/libjpeg-turbo:0=
fftw? ( sci-libs/fftw:3.0= )
- vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
+ vtkglue? (
+ sci-libs/vtk:0=[rendering]
+ python? (
+ sci-libs/vtk:0=[python,${PYTHON_SINGLE_USEDEP}]
+ )
+ )
python? ( ${PYTHON_DEPS} )
"
DEPEND="${RDEPEND}
sys-apps/coreutils
python? (
>=dev-lang/swig-2.0:0
- dev-cpp/castxml
+ dev-libs/castxml
+ )
+ doc? ( app-text/doxygen )
+"
+BDEPEND="
+ test? (
+ vtkglue? ( ${VIRTUALX_DEPEND} )
+ python? (
+ $(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]')
+ )
)
- doc? ( app-doc/doxygen )
"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}"/tests.patch
- "${FILESDIR}"/${P}-downloads.patch
- "${FILESDIR}"/${P}-include_limits.patch
+ "${FILESDIR}/${P}-upstream-fixes.patch"
+ "${FILESDIR}/${P}-system-tiff-has-64.patch"
+ "${FILESDIR}/${P}-fix-castxml-clang-attr-malloc.patch"
+ "${FILESDIR}/${P}-system-openjpeg.patch"
)
pkg_pretend() {
@@ -90,16 +106,42 @@ pkg_pretend() {
}
src_prepare() {
- sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
- Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
- ln -sr ../ITKGenericLabelInterpolator-* Modules/External/ITKGenericLabelInterpolator || die
+ # 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
+ )
+ 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_HASH}" 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}/${i}" ".ExternalData/SHA512/" || die
- cp "${DISTDIR}/${i}" "${BUILD_DIR}/.ExternalData/SHA512/" || die
+ cp "${DISTDIR}/${PN}-test-${i}" ".ExternalData/SHA512/${i}" || die
+ cp "${DISTDIR}/${PN}-test-${i}" "${BUILD_DIR}/.ExternalData/SHA512/${i}" || die
done
fi
}
@@ -107,6 +149,7 @@ src_prepare() {
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)"
@@ -119,8 +162,12 @@ src_configure() {
-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
@@ -128,6 +175,7 @@ src_configure() {
-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
@@ -153,6 +201,7 @@ src_configure() {
if use python; then
mycmakeargs+=(
-DITK_WRAP_PYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
)
else
@@ -172,13 +221,13 @@ src_install() {
dodoc -r "${S}"/Examples/*
fi
- echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN}
+ 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}
+ 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}
+ echo "LDPATH=${ldpath}" >> "${T}"/40${PN} || die
doenvd "${T}"/40${PN}
if use doc; then
@@ -188,4 +237,14 @@ src_install() {
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/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 4da4106a2..57c90a390 100644
--- a/sci-libs/labbookdb/labbookdb-0.1.ebuild
+++ b/sci-libs/labbookdb/labbookdb-0.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 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..9} )
+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/mlpack/Manifest b/sci-libs/mlpack/Manifest
deleted file mode 100644
index 827319a78..000000000
--- a/sci-libs/mlpack/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST mlpack-3.4.1.tar.gz 5782241 BLAKE2B d5a1050489c61a934330a0f3d1142e7949f7fdd9c31f679d7963208fc8aaea8fd8c0eb7e45920c3799712cb059808c75098e31b913557ec3c2af2f1d32e561f0 SHA512 53de83c2ca36829a0ae952357b25bee44bf85d01c2414848fe2c5f09ebe4732bd0a1d3c72de202646345fa66964fbc3247ddeb6a327e87459c036a215fe55fc2
-DIST mlpack-3.4.2.tar.gz 5782921 BLAKE2B d775124462357b489f91f6ef75f5f908d9a9234082c48223f19a728ab9e41cb6576fca9b4b59415d3096471f4ab2d2970296387954977652169a447b8e036263 SHA512 05a66b73cba8d83f630b0999023913e7a4a3214632930ff3c598d964d52bcae4eab113018eecf385130c0e7e9c16c25380b31dd62a2e0ecf419b4bf3856b34b0
diff --git a/sci-libs/mlpack/metadata.xml b/sci-libs/mlpack/metadata.xml
deleted file mode 100644
index f587c48a7..000000000
--- a/sci-libs/mlpack/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 lang="en">
- mlpack is a C++ machine learning library with emphasis on
- scalability, speed, and ease-of-use. Its aim is to make machine
- learning possible for novice users by means of a simple, consistent
- API, while simultaneously exploiting C++ language features to
- provide maximum performance and maximum flexibility for expert
- users.
- </longdescription>
- <use>
- <flag name="arma-debug">build with armadillo dbug symbols</flag>
- <flag name="go">build go bindings</flag>
- <flag name="julia">build julia bindings</flag>
- <flag name="matlab">build matlab bindings</flag>
- <flag name="R">build R bindings</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/mlpack/mlpack-3.4.1.ebuild b/sci-libs/mlpack/mlpack-3.4.1.ebuild
deleted file mode 100644
index d03dd9ab1..000000000
--- a/sci-libs/mlpack/mlpack-3.4.1.ebuild
+++ /dev/null
@@ -1,112 +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-single-r1
-
-DESCRIPTION="scalable C++ machine learning library"
-HOMEPAGE="https://www.mlpack.org/"
-SRC_URI="https://www.mlpack.org/files/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE+="arma-debug debug doc go julia matlab openmp profile R test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE} arma-debug? ( debug )"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- ${PYTHON_DEPS}
- julia? ( || (
- dev-lang/julia
- dev-lang/julia-bin:*
- )
- )
- go? ( dev-lang/go )
- R? ( dev-lang/R )
-"
-
-RDEPEND="
- ${CDEPEND}
- $(python_gen_cond_dep '
- dev-libs/boost[${PYTHON_USEDEP}]
- dev-libs/libxml2[${PYTHON_USEDEP}]
- ')
- dev-python/pandas
- dev-python/cython
- dev-python/numpy
- dev-libs/stb
- >=sci-libs/armadillo-8.4.0[arpack,blas,lapack]
- sci-libs/ensmallen
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${CDEPEND}
- app-text/txt2man
- virtual/pkgconfig
- doc? (
- app-doc/doxygen
- dev-libs/mathjax
- )
- test? ( $( python_gen_cond_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-pkg_setup() {
- elog "If you want to build matlab bindings then you"
- elog "need to make sure that matlab has been installed"
- elog "prior to building this package and it is available"
- elog "in the standard locations to be found by"
- elog "CMake, library finders, header includes and other"
- elog "trinkets that are used while compiling."
- elog "Matlab will not be entertained as a first class"
- elog "citizen until we have enough personnel"
-
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- sed -i \
- -e "s:share/doc/mlpack:share/doc/${PF}:" \
- -e 's/-O3//g' \
- CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDISABLE_DOWNLOADS=ON
- -DDOWNLOAD_ENSMALLEN=OFF
- -DDOWNLOAD_STB_IMAGE=OFF
- -DBUILD_WITH_COVERAGE=OFF
- -DBUILD_PYTHON_BINDINGS=ON
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_CLI_EXECUTABLES=ON
- -DTEST_VERBOSE=$(usex test)
- -DBUILD_TESTS=$(usex test)
- -DDEBUG=$(usex debug)
- -DPROFILE=$(usex profile)
- -DARMA_EXTRA_DEBUG=$(usex arma-debug)
- -DUSE_OPENMP=$(usex openmp)
- -DMATLAB_BINDINGS=$(usex matlab)
- -DBUILD_GO_SHLIB=$(usex go)
- -DBUILD_JULIA_BINDINGS=$(usex julia)
- -DBUILD_GO_BINDINGS=$(usex go)
- -DBUILD_R_BINDINGS=$(usex R)
- -DBUILD_MARKDOWN_BINDINGS=$(usex doc)
- -DMATHJAX=$(usex doc)
- ${EXTRA_ECONF[@]}
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- python_optimize
-}
diff --git a/sci-libs/mlpack/mlpack-3.4.2.ebuild b/sci-libs/mlpack/mlpack-3.4.2.ebuild
deleted file mode 100644
index bfc7231e1..000000000
--- a/sci-libs/mlpack/mlpack-3.4.2.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="scalable C++ machine learning library"
-HOMEPAGE="https://www.mlpack.org/"
-SRC_URI="https://www.mlpack.org/files/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE+="arma-debug debug doc go julia matlab openmp profile R test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE} arma-debug? ( debug )"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- ${PYTHON_DEPS}
- julia? ( || (
- dev-lang/julia
- dev-lang/julia-bin:*
- )
- )
- go? ( dev-lang/go )
- R? ( dev-lang/R )
-"
-
-RDEPEND="
- ${CDEPEND}
- $(python_gen_cond_dep '
- dev-libs/boost[${PYTHON_USEDEP}]
- dev-libs/libxml2[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/cython[${PYTHON_USEDEP}]
- ')
- dev-libs/stb
- >=sci-libs/armadillo-8.4.0[arpack,blas,lapack]
- sci-libs/ensmallen
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${CDEPEND}
- app-text/txt2man
- virtual/pkgconfig
- doc? (
- app-doc/doxygen
- dev-libs/mathjax
- )
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ')
- test? ( $( python_gen_cond_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-pkg_setup() {
- elog "If you want to build matlab bindings then you"
- elog "need to make sure that matlab has been installed"
- elog "prior to building this package and it is available"
- elog "in the standard locations to be found by"
- elog "CMake, library finders, header includes and other"
- elog "trinkets that are used while compiling."
- elog "Matlab will not be entertained as a first class"
- elog "citizen until we have enough personnel"
-
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- sed -i \
- -e "s:share/doc/mlpack:share/doc/${PF}:" \
- -e 's/-O3//g' \
- CMakeLists.txt || die
- # drop dep on pytest-runner
- sed -i -e "/setup_requires/d" \
- src/mlpack/bindings/python/setup.py.in || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDISABLE_DOWNLOADS=ON
- -DDOWNLOAD_ENSMALLEN=OFF
- -DDOWNLOAD_STB_IMAGE=OFF
- -DBUILD_WITH_COVERAGE=OFF
- -DBUILD_PYTHON_BINDINGS=ON
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_CLI_EXECUTABLES=ON
- -DTEST_VERBOSE=$(usex test)
- -DBUILD_TESTS=$(usex test)
- -DDEBUG=$(usex debug)
- -DPROFILE=$(usex profile)
- -DARMA_EXTRA_DEBUG=$(usex arma-debug)
- -DUSE_OPENMP=$(usex openmp)
- -DMATLAB_BINDINGS=$(usex matlab)
- -DBUILD_GO_SHLIB=$(usex go)
- -DBUILD_JULIA_BINDINGS=$(usex julia)
- -DBUILD_GO_BINDINGS=$(usex go)
- -DBUILD_R_BINDINGS=$(usex R)
- -DBUILD_MARKDOWN_BINDINGS=$(usex doc)
- -DMATHJAX=$(usex doc)
- ${EXTRA_ECONF[@]}
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- python_optimize
-}
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 31eb1f65e..d50b1b3b7 100644
--- a/sci-libs/nibabel/Manifest
+++ b/sci-libs/nibabel/Manifest
@@ -1,3 +1,2 @@
-DIST nibabel-2.5.1.tar.gz 4281663 BLAKE2B 361f1118d850a76fb8d2aa3ac6ebf0da711cf8df93aa6e2689201f3e713f35e028442ef00f69ce7a4a96d3c376b4966d0b76a087005123101f743b4d6074d3b2 SHA512 49de1a42113e64a56336e02f3143588b574c7b063b10b892ee125048451be701955e505bd1d51183327e2ee221f8364005fdd9fa7d256343113ab6ca1994820d
-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-2.5.1.ebuild b/sci-libs/nibabel/nibabel-2.5.1.ebuild
deleted file mode 100644
index 3316b84d5..000000000
--- a/sci-libs/nibabel/nibabel-2.5.1.ebuild
+++ /dev/null
@@ -1,42 +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 distutils-r1
-
-DESCRIPTION="Access a cacophony of neuro-imaging file formats"
-HOMEPAGE="https://nipy.org/nibabel/"
-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 )"
-
-RDEPEND="
- dev-python/numpy[${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}] )
-"
-
-python_test() {
- cd "${BUILD_DIR}" || die
- echo "backend: Agg" > matplotlibrc
- MPLCONFIGDIR=. nosetests || die
-}
diff --git a/sci-libs/nibabel/nibabel-3.0.2.ebuild b/sci-libs/nibabel/nibabel-3.0.2.ebuild
deleted file mode 100644
index 3316b84d5..000000000
--- a/sci-libs/nibabel/nibabel-3.0.2.ebuild
+++ /dev/null
@@ -1,42 +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 distutils-r1
-
-DESCRIPTION="Access a cacophony of neuro-imaging file formats"
-HOMEPAGE="https://nipy.org/nibabel/"
-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 )"
-
-RDEPEND="
- dev-python/numpy[${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}] )
-"
-
-python_test() {
- cd "${BUILD_DIR}" || die
- echo "backend: Agg" > matplotlibrc
- MPLCONFIGDIR=. nosetests || die
-}
diff --git a/sci-libs/nibabel/nibabel-3.2.1.ebuild b/sci-libs/nibabel/nibabel-5.0.0.ebuild
index d469867f9..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-2021 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..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1
@@ -21,15 +21,14 @@ 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}]
- )
+ sci-libs/pydicom
+ )
"
BDEPEND="test? (
- dev-python/pytest-doctestplus[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc/source dev-python/texext dev-python/numpydoc dev-python/matplotlib
diff --git a/sci-libs/nibabel/nibabel-9999.ebuild b/sci-libs/nibabel/nibabel-5.1.0.ebuild
index 283ad8804..0fec805b1 100644
--- a/sci-libs/nibabel/nibabel-9999.ebuild
+++ b/sci-libs/nibabel/nibabel-5.1.0.ebuild
@@ -1,36 +1,34 @@
-# Copyright 1999-2021 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..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=hatchling
-inherit distutils-r1 git-r3
+inherit distutils-r1
DESCRIPTION="Access a cacophony of neuro-imaging file formats"
HOMEPAGE="https://nipy.org/nibabel/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/nipy/nibabel.git"
+SRC_URI="https://github.com/nipy/nibabel/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64 ~x86"
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}]
- )
+ sci-libs/pydicom
+ )
"
BDEPEND="test? (
- dev-python/pytest-doctestplus[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
)"
distutils_enable_sphinx doc/source dev-python/texext dev-python/numpydoc dev-python/matplotlib
diff --git a/sci-libs/nipy/Manifest b/sci-libs/nipy/Manifest
index d9bac81b5..9444a9dd3 100644
--- a/sci-libs/nipy/Manifest
+++ b/sci-libs/nipy/Manifest
@@ -1 +1 @@
-DIST nipy-0.4.2.tar.gz 2403688 BLAKE2B 883377356787652450bb5a8090be48708144c9d11473232248d48e8bc36eb292cdd672ae30b337de6fb8c5e593a772489908c9575c2f97a8dbd82a8e4d6ad0df SHA512 730654e422c9fd15c0abf7ce0e0cb5e9569788527a35e9cc6deb71e2384b0ed2dbbf82f9eafe9cd739647bb1dc3a3d43606d0244fae5accd0896f1fc5bb3a8cc
+DIST nipy-0.6.0.gh.tar.gz 1650342 BLAKE2B 5f375e23fb2d895cfb4320b8ec92cefcf902f3768b6b8dc2ba26b4db30168eb4a29d38be1241e2ae5ae9d87013beb64427c8aca1ac2adaa92d083c700dc0453a SHA512 a59485ccd677c443b9d1e2358c3b3d523ddfa9f390c180661e9afaf3b69943e1b1670c44410954e1bba11c88b9ca20e9e586392804b5c99e9f58b5b68df4641f
diff --git a/sci-libs/nipy/metadata.xml b/sci-libs/nipy/metadata.xml
index 327dd23d3..30440d9a2 100644
--- a/sci-libs/nipy/metadata.xml
+++ b/sci-libs/nipy/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">nipy</remote-id>
+ <remote-id type="github">nipy/nipy</remote-id>
</upstream>
</pkgmetadata>
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 c20d904f5..000000000
--- a/sci-libs/nipy/nipy-0.4.2.ebuild
+++ /dev/null
@@ -1,53 +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 distutils-r1 flag-o-matic
-
-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=""
-
-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.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/nipy/nipy-9999.ebuild b/sci-libs/nipy/nipy-9999.ebuild
deleted file mode 100644
index 7acc9a234..000000000
--- a/sci-libs/nipy/nipy-9999.ebuild
+++ /dev/null
@@ -1,54 +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 distutils-r1 flag-o-matic git-r3
-
-DESCRIPTION="Neuroimaging tools for Python"
-HOMEPAGE="https://nipy.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/nipy/nipy"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-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/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.5.0-collections.patch b/sci-libs/nipype/files/nipype-1.5.0-collections.patch
new file mode 100644
index 000000000..e784ba48b
--- /dev/null
+++ b/sci-libs/nipype/files/nipype-1.5.0-collections.patch
@@ -0,0 +1,28 @@
+--- a/nipype/interfaces/base/traits_extension.py 2020-06-03 11:08:30.000000000 -0400
++++ b/nipype/interfaces/base/traits_extension.py 2022-07-11 14:09:31.847784312 -0400
+@@ -19,7 +19,10 @@
+ (usually by Robert Kern).
+
+ """
+-from collections import Sequence
++try:
++ from collections import Sequence
++except ImportError:
++ from collections.abc import Sequence
+
+ # perform all external trait imports here
+ from traits import __version__ as traits_version
+--- a/nipype/utils/misc.py 2020-06-03 11:08:30.000000000 -0400
++++ b/nipype/utils/misc.py 2020-06-03 14:08:57.951408897 -0400
+@@ -6,7 +6,10 @@
+ import os
+ import sys
+ import re
+-from collections import Iterator
++try:
++ from collections import Iterator
++except ImportError:
++ from collections.abc import Iterator
+ from warnings import warn
+
+ from distutils.version import LooseVersion
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.5.0.ebuild b/sci-libs/nipype/nipype-1.8.4-r1.ebuild
index 35792adbc..7c2e801ff 100644
--- a/sci-libs/nipype/nipype-1.5.0.ebuild
+++ b/sci-libs/nipype/nipype-1.8.4-r1.ebuild
@@ -1,20 +1,21 @@
-# Copyright 1999-2021 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..9} )
+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"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -28,30 +29,28 @@ 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}/${PN}-1.8.4-dependency_compatibility.patch"
)
src_prepare() {
# Remove etelemetry
- sed -i '/"etelemetry/d' nipype/info.py || die
+ sed -i '/"etelemetry/d' nipype/info.py requirements.txt || die
# Mark failing tests
sed -i \
@@ -68,11 +67,16 @@ 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 pytest -vv\
- || die
+ NIPYPE_NO_ET=1 epytest
# Upstream test configuration fails
#-c nipype/pytest.ini\
#--doctest-modules nipype\
diff --git a/sci-libs/nipype/nipype-1.8.4-r2.ebuild b/sci-libs/nipype/nipype-1.8.4-r2.ebuild
new file mode 100644
index 000000000..4c3da70b3
--- /dev/null
+++ b/sci-libs/nipype/nipype-1.8.4-r2.ebuild
@@ -0,0 +1,96 @@
+# 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"
+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"
+ "${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/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/Manifest b/sci-libs/pybids/Manifest
index 28c1b4626..fc1863ad9 100644
--- a/sci-libs/pybids/Manifest
+++ b/sci-libs/pybids/Manifest
@@ -1,4 +1,3 @@
DIST pybids-0.10.2.tar.gz 3013772 BLAKE2B 70255fbca7a7d5a51efa454ee20d30a9527703d6028a965b51da883aa10f8b63d180f72fd127e12b27249c3f388825a9bb2ba4604680c57f3a512ec7093c01c4 SHA512 c90b7e471d73b070e86452ca5d03639d0263e74c3c79386b52ed2c5fc49576f985bc923f2327882ee56bc4691631105c831ebe40f78aade5b9943be83909ba16
-DIST pybids-0.11.1.tar.gz 3026079 BLAKE2B 9ca7d1299a074f4b7ae51e7d6ff29a55664b6c32c85511913fb69459bd66a0c09b63dddfef2c433c5cccf47c4e358720cbd101f85e7794e22a9935bd6a36ac65 SHA512 bcc1cc3a06b6921e8336990e83e820439c217cfdce6aee3b4b93f2c1ee04acf0bf9009fa2fc80fd50cd59bd9b1a2a3ceb934589b5fd590612de386e91e4f7340
DIST pybids-0.12.4.tar.gz 3031862 BLAKE2B de9d1ba0a0eb400da1de44189f4920a8d1f003dba1c47b18e339d593c68b5a80c340a9acc5267dbfbf730a59aad004035568a1f8b0de30dbab9c211b11790fbd SHA512 1f2f3a784a1e3f0e74919c6ada2ae0365ab89315d724f0a6b6b38a0416c1e6f7e938966b2dda80f090ef2bbf84ce0bcf0bb214a652743432b1d193d9569eb7b1
DIST pybids-0.6.5.tar.gz 2915557 BLAKE2B d7765b872917bbffcd2706488d7c789976be5bbb1eb5d112cb0b7bcedb483236643f8bf7c177f4a64a44a4d50787a4df1d39fbec8e826bfffd2e2e6f891b3ef3 SHA512 9eef42f00440dddf0147d91f90e07db81f9f95a650f0e47c04304771173ca8691cdb366bd0df1d752c0444f102a4aa010c2343ba75df96528cceb9a98f9d8a0e
diff --git a/sci-libs/pybids/pybids-0.10.2.ebuild b/sci-libs/pybids/pybids-0.10.2.ebuild
index 062cad939..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-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..9} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
@@ -29,12 +29,4 @@ RDEPEND="
dev-python/scipy[${PYTHON_USEDEP}]
"
-#RESTRICT="test"
-# Fails because fixtures are called directly
-# https://github.com/bids-standard/pybids/issues/289#issuecomment-476853673
-
-python_test() {
- #rm bids/tests/test_config.py || die
- distutils_install_for_testing
- pytest -vv || die
-}
+distutils_enable_tests pytest
diff --git a/sci-libs/pybids/pybids-0.11.1.ebuild b/sci-libs/pybids/pybids-0.11.1.ebuild
deleted file mode 100644
index 062cad939..000000000
--- a/sci-libs/pybids/pybids-0.11.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python package to access BIDS datasets"
-HOMEPAGE="https://github.com/INCF/pybids"
-SRC_URI="https://github.com/INCF/pybids/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND=""
-RDEPEND="
- dev-python/num2words[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/patsy[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- sci-libs/bids-validator[${PYTHON_USEDEP}]
- sci-libs/nibabel[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- "
-
-#RESTRICT="test"
-# Fails because fixtures are called directly
-# https://github.com/bids-standard/pybids/issues/289#issuecomment-476853673
-
-python_test() {
- #rm bids/tests/test_config.py || die
- distutils_install_for_testing
- pytest -vv || die
-}
diff --git a/sci-libs/pybids/pybids-0.12.4.ebuild b/sci-libs/pybids/pybids-0.12.4.ebuild
index 40a8adc17..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-2021 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..9} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -16,9 +16,7 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
-BDEPEND="dev-python/versioneer[${PYTHON_USEDEP}]
- test? ( dev-python/mock[${PYTHON_USEDEP}] )
-"
+BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
@@ -32,4 +30,4 @@ RDEPEND="
dev-python/scipy[${PYTHON_USEDEP}]
"
-distutils_enable_tests --install pytest
+distutils_enable_tests pytest
diff --git a/sci-libs/pybids/pybids-0.6.5.ebuild b/sci-libs/pybids/pybids-0.6.5.ebuild
index 521ef9947..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-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..9} )
+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 186bb5c9c..000000000
--- a/sci-libs/scikits_video/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- 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>
- </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 8a3bf5f5a..26e0c688d 100644
--- a/sci-libs/simpleitk/simpleitk-1.2.4.ebuild
+++ b/sci-libs/simpleitk/simpleitk-1.2.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+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/metadata.xml b/sci-libs/spyking-circus/metadata.xml
index 844f386de..89a208f6f 100644
--- a/sci-libs/spyking-circus/metadata.xml
+++ b/sci-libs/spyking-circus/metadata.xml
@@ -16,4 +16,7 @@
on datasets coming from in vitro retina with 252 electrodes MEA, from in
vivo hippocampus with tetrodes, and in vivo and in vitro cortex data.
</longdescription>
+ <upstream>
+ <remote-id type="github">spyking-circus/spyking-circus</remote-id>
+ </upstream>
</pkgmetadata>
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/metadata.xml b/sci-libs/torchvision/metadata.xml
index ad3ef354b..9c4ddaefd 100644
--- a/sci-libs/torchvision/metadata.xml
+++ b/sci-libs/torchvision/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jpizarrocallejas@gmail.com</email>
- <name>Jorge Pizarro Callejas</name>
- </maintainer>
- <use>
- <flag name="cuda">Enable CUDA support if enabled in PyTorch</flag>
- </use>
+ <maintainer type="person">
+ <email>jpizarrocallejas@gmail.com</email>
+ <name>Jorge Pizarro Callejas</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/vision</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/torchvision/torchvision-0.11.2.ebuild b/sci-libs/torchvision/torchvision-0.14.1.ebuild
index 6df2cbc01..7f40fe556 100644
--- a/sci-libs/torchvision/torchvision-0.11.2.ebuild
+++ b/sci-libs/torchvision/torchvision-0.14.1.ebuild
@@ -3,27 +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"
-IUSE="cuda"
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
"
@@ -35,13 +37,4 @@ BDEPEND="
')
)"
-S="${WORKDIR}/vision-${PV}"
-
distutils_enable_tests pytest
-
-pkg_setup() {
- if use cuda; then
- export FORCE_CUDA=1
- export TORCH_CUDA_ARCH_LIST="3.5;3.7;5.0;5.2;5.3;6.0;6.0+PTX;6.1;6.1+PTX;6.2;6.2+PTX;7.0;7.0+PTX;7.2;7.2+PTX;7.5;7.5+PTX"
- fi
-}
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/vxl/metadata.xml b/sci-libs/vxl/metadata.xml
index 22feba67c..f7d43af09 100644
--- a/sci-libs/vxl/metadata.xml
+++ b/sci-libs/vxl/metadata.xml
@@ -13,5 +13,6 @@ written in ANSI/ISO C++ and is designed to be portable over many platforms.
</longdescription>
<upstream>
<remote-id type="sourceforge">vxl</remote-id>
+ <remote-id type="github">vxl/vxl</remote-id>
</upstream>
</pkgmetadata>
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/wannier90/metadata.xml b/sci-libs/wannier90/metadata.xml
index a7ac8e977..273952673 100644
--- a/sci-libs/wannier90/metadata.xml
+++ b/sci-libs/wannier90/metadata.xml
@@ -18,5 +18,6 @@
<upstream>
<doc>http://www.wannier.org/</doc>
<remote-id type="launchpad">wannier90</remote-id>
+ <remote-id type="github">wannier-developers/wannier90</remote-id>
</upstream>
</pkgmetadata>
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
-}