diff options
Diffstat (limited to 'sci-libs')
327 files changed, 11084 insertions, 3774 deletions
diff --git a/sci-libs/HighFive/HighFive-2.7.1.ebuild b/sci-libs/HighFive/HighFive-2.7.1.ebuild new file mode 100644 index 000000000000..a177d45fa8d7 --- /dev/null +++ b/sci-libs/HighFive/HighFive-2.7.1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="doc" + +inherit cmake docs + +DESCRIPTION="Header-only C++ interface for libhdf5" +HOMEPAGE="https://github.com/BlueBrain/HighFive" +SRC_URI="https://github.com/BlueBrain/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64 ~x86" +LICENSE="Boost-1.0" +SLOT="0" +IUSE="mpi test" +RESTRICT="!test? ( test )" + +RDEPEND=" + sci-libs/hdf5[mpi?] + doc? ( app-doc/doxygen[dot] ) + +" +DEPEND=" + ${RDEPEND} + test? ( + >=dev-cpp/catch-3.4.0:0 + dev-libs/boost + dev-cpp/eigen + media-libs/opencv + ) +" + +DOCS=( {README,CHANGELOG}.md ) + +src_prepare() { + default + sed -i -e "s/-Werror //" "${S}"/CMake/config/CompilerFlagsHelpers.cmake || die + cmake_src_prepare +} + +src_configure() { + default + local mycmakeargs=( + -DHIGHFIVE_PARALLEL_HDF5=$(usex mpi) + + -DHIGHFIVE_USE_BOOST=$(usex test) + -DHIGHFIVE_USE_EIGEN=$(usex test) + -DHIGHFIVE_USE_OPENCV=$(usex test) + -DHIGHFIVE_USE_XTENSOR=OFF + + -DHIGHFIVE_EXAMPLES=$(usex test) + -DHIGHFIVE_UNIT_TESTS=$(usex test) + ) + cmake_src_configure +} + +src_compile() { + default + use test && cmake_src_compile + use doc && doxygen_compile +} + +src_test() { + # Set -j1 to prevent race + cmake_src_test -j1 +} diff --git a/sci-libs/HighFive/Manifest b/sci-libs/HighFive/Manifest new file mode 100644 index 000000000000..dec4fca0f6cb --- /dev/null +++ b/sci-libs/HighFive/Manifest @@ -0,0 +1 @@ +DIST HighFive-2.7.1.tar.gz 518596 BLAKE2B e2c499ff629bf1ef5ec62baffa71624f90099179a31a085ede4a027c1747ecad7da0f4964c755e77c0825ac3ef4006ead972a3e7b59103ebaa6bd1a552f57f42 SHA512 4fbbd3898791a67e44329a5d0e20e16454b9393510236563b12fe4346cd4f2785d43d915ea05239ac1568d00651e41d85d93590f01454ffc1b82e7bba28e780a diff --git a/sci-libs/HighFive/metadata.xml b/sci-libs/HighFive/metadata.xml new file mode 100644 index 000000000000..988d62f71f0e --- /dev/null +++ b/sci-libs/HighFive/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>torokhov-s-a@yandex.ru</email> + <name>Sergey Torokhov</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">BlueBrain/HighFive</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-libs/amd/Manifest b/sci-libs/amd/Manifest index d2a28a0930ce..fe9a4be11e6d 100644 --- a/sci-libs/amd/Manifest +++ b/sci-libs/amd/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST amd-2.4.6.tar.bz2 343925 BLAKE2B 296579d888b61e84ec798206fbb6f89fd923f0d762e84e7a1e2e2a5fb502f4822f89a2a4b631dc42fa829e845bf3980886185650e8de28774400e0c351805061 SHA512 6960a557e6c2f82ca2e68e48ddcb502e1527235a3ca34df2f5f7f63f0f12afacedb15fefe4a39768fe7a2c70308793544b5b24b6f2be2c6b934b0c0e0e796d57 diff --git a/sci-libs/amd/amd-2.4.6-r1.ebuild b/sci-libs/amd/amd-2.4.6-r1.ebuild index 6400675eaacc..01cba33f2c7c 100644 --- a/sci-libs/amd/amd-2.4.6-r1.ebuild +++ b/sci-libs/amd/amd-2.4.6-r1.ebuild @@ -12,7 +12,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="doc fortran" BDEPEND="virtual/pkgconfig diff --git a/sci-libs/amd/amd-3.0.3.ebuild b/sci-libs/amd/amd-3.0.3.ebuild new file mode 100644 index 000000000000..e135d6975e08 --- /dev/null +++ b/sci-libs/amd/amd-3.0.3.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED="fortran" +inherit cmake-multilib fortran-2 + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0/3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc fortran test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DNFORTRAN=$(usex fortran OFF ON) + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + local demofiles=( + amd_demo + amd_l_demo + amd_demo2 + amd_simple + ) + if use fortran; then + demofiles+=( + amd_f77simple + amd_f77demo + ) + fi + for i in ${demofiles[@]}; do + ./"${i}" > "${i}.out" || die "failed to run test ${i}" + diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}" + done + einfo "All tests passed" +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + emake clean + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/amd/metadata.xml b/sci-libs/amd/metadata.xml index 056fcec28700..1ecd509a217e 100644 --- a/sci-libs/amd/metadata.xml +++ b/sci-libs/amd/metadata.xml @@ -10,4 +10,7 @@ factorization (or for LU factorization with diagonal pivoting). There are versions in both C and Fortran. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/arborx/Manifest b/sci-libs/arborx/Manifest index fdd46ae98bd0..4cf219e6a8a7 100644 --- a/sci-libs/arborx/Manifest +++ b/sci-libs/arborx/Manifest @@ -1 +1 @@ -DIST arborx-1.2.tar.gz 380705 BLAKE2B eb0006e69edb6cfd1d402dfe5a58db76954c34f847ce8acd1c0f2bd2044a29a434fc01df67829fce4ec911f5c882c1625aa7a50bc39a5d33dfb2c26d6a4cbb4f SHA512 d48650b11fc26770c43f4821999647acb0c7675367e416ad025ab21eb50da66c732f03bc6decf840d25dac26ff7f1f5dca77b7514dffc619cef8d401e83a8795 +DIST arborx-1.4.1.tar.gz 408999 BLAKE2B 83e172f89ac8ff82d4add40fd036457d9c563b44c11b15d86aa884dc03742f3e22a13cc4b6f068ef377fcd8e63d239f704dd1821772079d2f9f8c169b1f31fae SHA512 3799deed5eae1e6092c19a62894207ac0ccd81ba84c8d42734fa3d0e5a3fc9d6a8f7b1442d2203b06f4e251970569f67506d419fb6695039c11e78dfd740e565 diff --git a/sci-libs/arborx/arborx-1.2.ebuild b/sci-libs/arborx/arborx-1.4.1-r1.ebuild index 68330b8a5df7..84b2bc0e85a4 100644 --- a/sci-libs/arborx/arborx-1.2.ebuild +++ b/sci-libs/arborx/arborx-1.4.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -24,6 +24,13 @@ DEPEND="${RDEPEND}" S="${WORKDIR}"/ArborX-${PV} +src_prepare() { + cmake_src_prepare + + # replace hardcoded "lib/" directory: + sed -i -e "s#lib/#$(get_libdir)/#g" CMakeLists.txt || die "sed failed" +} + src_configure() { local mycmakeargs=( -DARBORX_ENABLE_MPI="$(usex mpi)" diff --git a/sci-libs/armadillo/Manifest b/sci-libs/armadillo/Manifest index 911379cff885..c7308e237c4e 100644 --- a/sci-libs/armadillo/Manifest +++ b/sci-libs/armadillo/Manifest @@ -1,4 +1 @@ -DIST armadillo-10.2.0.tar.xz 6042348 BLAKE2B e85f24ca7137c3a8c8fc53db15b382f2e4d468673c99e036ef9b4a4436be47d24a37664dfa88ff9effa08a4c868bd212d03c204dda09cd26038a0f8ccbf61375 SHA512 c5d6f4bac0acba63fbd7681653d521249fd303ffbbc5b18df71500eb111514c1d09db600a580091d6a23c83748c109c30938bbcd80a3a0b2c25e2fdea932f2cd -DIST armadillo-10.8.2.tar.xz 6262832 BLAKE2B f8a5a66464614661bcccffb8138434d117ad07dcea5f89ddde45df293df5dd4f10def2085b85d37386337fd8bd0152914a957e0b1b7919a47ec8b1a79e92b90b SHA512 720fadad491dfeeb894544b0305cd64a0e0402e66fc788949ecd54c0b1a3b9c3ede9f75b081f832931d59d2bd59529cebb9d5b57b8582df869765cac01c2979b -DIST armadillo-11.4.0.tar.xz 6804388 BLAKE2B cb44d248cf817f66cc0b6aa968535e266282775b20035f46f3158687100c0f49c6cf4fad8d1f2ec1741f9bceb06c5a841f20f3b7e59146f2fe57c86d00741434 SHA512 21d58b383229f55bf6a3b217c04901982b484b6d806dd3c4a72ebe5a9614f63f9429ca31ea7cfc26672b70e01a0b9263a9d4edf69a0080706ade87852f94970c -DIST armadillo-12.0.1.tar.xz 6802568 BLAKE2B c6025fe3bcabfa6d08efd864c4b9b129c84e8941b7cb237b76ed83f74062c06cdbb98bdf09796f3340fbdbb37a36f82826a53e778dbc589af9e868a2348bd7f3 SHA512 b1b9fbce6bdacc3340ab190605aba77e821629e0a51e0c6277840eaf803d037a778b9243c02c5b55d67976c203808a5fc34894f3928b707685f6d8695ef0bc0d +DIST armadillo-12.4.0.tar.xz 6803968 BLAKE2B ca45b2284b5a31c745b2ad924235af24f855039cc81c3300c83e5e932ee4cda233731b53623303c1c739feae9b007f8f6309c09debe79923e3876e8145015152 SHA512 a9f8cd19384eed787787b9e189901a1800e6e1dd06917f4f13e8a215c83f317de3e5b0ae8625783f88d9a7b0ab25f5c7784ccf0493c08a9ee3ea7fdfbbe36195 diff --git a/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild b/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild deleted file mode 100644 index 916e16e01584..000000000000 --- a/sci-libs/armadillo/armadillo-10.2.0-r1.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_IN_SOURCE_BUILD=1 - -inherit cmake toolchain-funcs multilib - -DESCRIPTION="Streamlined C++ linear algebra library" -HOMEPAGE="https://arma.sourceforge.net" -SRC_URI="mirror://sourceforge/arma/${P}.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0/10" -KEYWORDS="amd64 ~arm ppc64 ~x86 ~amd64-linux ~x86-linux" -IUSE="arpack blas doc examples hdf5 lapack mkl superlu test" -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( lapack )" - -# atlas? ( sci-libs/atlas[lapack] ) - -RDEPEND=" - dev-libs/boost - arpack? ( sci-libs/arpack ) - blas? ( virtual/blas ) - lapack? ( virtual/lapack ) - superlu? ( >=sci-libs/superlu-5.2 ) -" - -DEPEND="${RDEPEND} - arpack? ( virtual/pkgconfig ) - blas? ( virtual/pkgconfig ) - hdf5? ( sci-libs/hdf5 ) - lapack? ( virtual/pkgconfig ) - mkl? ( sci-libs/mkl ) -" -PDEPEND="${RDEPEND} - hdf5? ( sci-libs/hdf5 ) - mkl? ( sci-libs/mkl ) -" - -src_prepare() { - # avoid the automagic cmake macros... - sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die - - # ... except for mkl, since without a license it's hard to figure out what to do there - if use mkl; then - sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die - fi - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" - ) - if use arpack; then - mycmakeargs+=( - -DARPACK_FOUND=ON - -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)" - ) - else - mycmakeargs+=( - -DARPACK_FOUND=OFF - ) - fi -# if use atlas; then -# local c=atlas-cblas l=atlas-clapack -# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads -# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads -# mycmakeargs+=( -# -DCBLAS_FOUND=ON -# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')" -# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})" -# -DCLAPACK_FOUND=ON -# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')" -# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})" -# ) -# fi - if use blas; then - mycmakeargs+=( - -DBLAS_FOUND=ON - -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)" - ) - else - mycmakeargs+=( - -DBLAS_FOUND=OFF - ) - fi - if use hdf5; then - mycmakeargs+=( - -DDETECT_HDF5=ON - -DHDF5_LIBRARIES="-lhdf5" - -DHDF5_INCLUDE_DIRS=/usr/include - ) - else - mycmakeargs+=( - -DDETECT_HDF5=OFF - ) - fi - if use lapack; then - mycmakeargs+=( - -DLAPACK_FOUND=ON - -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)" - ) - else - mycmakeargs+=( - -DLAPACK_FOUND=OFF - ) - fi - if use superlu; then - mycmakeargs+=( - -DSuperLU_FOUND=ON - -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)" - -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')" - ) - else - mycmakeargs+=( - -DSuperLU_FOUND=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - pushd examples > /dev/null - emake \ - CXX="$(tc-getCXX)" \ - CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \ - LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)" - LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die - emake clean - popd > /dev/null -} - -src_install() { - cmake_src_install - - dodoc README.md - use doc && dodoc *pdf *html - - if use examples; then - docinto examples - dodoc -r examples/* - docompress -x /usr/share/doc/${PF}/examples - fi -} diff --git a/sci-libs/armadillo/armadillo-10.8.2.ebuild b/sci-libs/armadillo/armadillo-10.8.2.ebuild deleted file mode 100644 index 5f6bd3b57605..000000000000 --- a/sci-libs/armadillo/armadillo-10.8.2.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_IN_SOURCE_BUILD=1 - -inherit cmake toolchain-funcs multilib - -DESCRIPTION="Streamlined C++ linear algebra library" -HOMEPAGE="https://arma.sourceforge.net" -SRC_URI="mirror://sourceforge/arma/${P}.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0/10" -KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="arpack blas doc examples hdf5 lapack mkl superlu test" -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( lapack )" - -# atlas? ( sci-libs/atlas[lapack] ) - -RDEPEND=" - dev-libs/boost - arpack? ( sci-libs/arpack ) - blas? ( virtual/blas ) - lapack? ( virtual/lapack ) - superlu? ( >=sci-libs/superlu-5.2 ) -" - -DEPEND="${RDEPEND} - arpack? ( virtual/pkgconfig ) - blas? ( virtual/pkgconfig ) - hdf5? ( sci-libs/hdf5:= ) - lapack? ( virtual/pkgconfig ) - mkl? ( sci-libs/mkl ) -" -PDEPEND="${RDEPEND} - hdf5? ( sci-libs/hdf5:= ) - mkl? ( sci-libs/mkl ) -" - -src_prepare() { - # avoid the automagic cmake macros... - sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die - - # ... except for mkl, since without a license it's hard to figure out what to do there - if use mkl; then - sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die - fi - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" - ) - if use arpack; then - mycmakeargs+=( - -DARPACK_FOUND=ON - -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)" - ) - else - mycmakeargs+=( - -DARPACK_FOUND=OFF - ) - fi -# if use atlas; then -# local c=atlas-cblas l=atlas-clapack -# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads -# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads -# mycmakeargs+=( -# -DCBLAS_FOUND=ON -# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')" -# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})" -# -DCLAPACK_FOUND=ON -# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')" -# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})" -# ) -# fi - if use blas; then - mycmakeargs+=( - -DBLAS_FOUND=ON - -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)" - ) - else - mycmakeargs+=( - -DBLAS_FOUND=OFF - ) - fi - if use hdf5; then - mycmakeargs+=( - -DDETECT_HDF5=ON - -DHDF5_LIBRARIES="-lhdf5" - -DHDF5_INCLUDE_DIRS=/usr/include - ) - else - mycmakeargs+=( - -DDETECT_HDF5=OFF - ) - fi - if use lapack; then - mycmakeargs+=( - -DLAPACK_FOUND=ON - -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)" - ) - else - mycmakeargs+=( - -DLAPACK_FOUND=OFF - ) - fi - if use superlu; then - mycmakeargs+=( - -DSuperLU_FOUND=ON - -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)" - -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')" - ) - else - mycmakeargs+=( - -DSuperLU_FOUND=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - pushd examples > /dev/null - emake \ - CXX="$(tc-getCXX)" \ - CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \ - LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)" - LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die - emake clean - popd > /dev/null -} - -src_install() { - cmake_src_install - - dodoc README.md - use doc && dodoc *pdf *html - - if use examples; then - docinto examples - dodoc -r examples/* - docompress -x /usr/share/doc/${PF}/examples - fi -} diff --git a/sci-libs/armadillo/armadillo-11.4.0.ebuild b/sci-libs/armadillo/armadillo-11.4.0.ebuild deleted file mode 100644 index efbac097f195..000000000000 --- a/sci-libs/armadillo/armadillo-11.4.0.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_IN_SOURCE_BUILD=1 - -inherit cmake toolchain-funcs multilib - -DESCRIPTION="Streamlined C++ linear algebra library" -HOMEPAGE="https://arma.sourceforge.net" -SRC_URI="mirror://sourceforge/arma/${P}.tar.xz" - -LICENSE="Apache-2.0" -SLOT="0/11" -KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="arpack blas doc examples hdf5 lapack mkl superlu test" -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( arpack lapack superlu )" - -# atlas? ( sci-libs/atlas[lapack] ) - -RDEPEND=" - dev-libs/boost - arpack? ( sci-libs/arpack ) - blas? ( virtual/blas ) - lapack? ( virtual/lapack ) - superlu? ( >=sci-libs/superlu-5.2 ) -" - -DEPEND="${RDEPEND} - arpack? ( virtual/pkgconfig ) - blas? ( virtual/pkgconfig ) - hdf5? ( sci-libs/hdf5:= ) - lapack? ( virtual/pkgconfig ) - mkl? ( sci-libs/mkl ) -" -PDEPEND="${RDEPEND} - hdf5? ( sci-libs/hdf5:= ) - mkl? ( sci-libs/mkl ) -" - -PATCHES=( - "${FILESDIR}/${P}-extratests.patch" -) - -src_prepare() { - # avoid the automagic cmake macros... - sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die - - # ... except for mkl, since without a license it's hard to figure out what to do there - if use mkl; then - sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die - fi - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" - ) - if use arpack; then - mycmakeargs+=( - -DARPACK_FOUND=ON - -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)" - ) - else - mycmakeargs+=( - -DARPACK_FOUND=OFF - ) - fi -# if use atlas; then -# local c=atlas-cblas l=atlas-clapack -# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads -# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads -# mycmakeargs+=( -# -DCBLAS_FOUND=ON -# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')" -# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})" -# -DCLAPACK_FOUND=ON -# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')" -# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})" -# ) -# fi - if use blas; then - mycmakeargs+=( - -DBLAS_FOUND=ON - -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)" - ) - else - mycmakeargs+=( - -DBLAS_FOUND=OFF - ) - fi - if use hdf5; then - mycmakeargs+=( - -DDETECT_HDF5=ON - -DHDF5_LIBRARIES="-lhdf5" - -DHDF5_INCLUDE_DIRS=/usr/include - ) - else - mycmakeargs+=( - -DDETECT_HDF5=OFF - ) - fi - if use lapack; then - mycmakeargs+=( - -DLAPACK_FOUND=ON - -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)" - ) - else - mycmakeargs+=( - -DLAPACK_FOUND=OFF - ) - fi - if use superlu; then - mycmakeargs+=( - -DSuperLU_FOUND=ON - -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)" - -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')" - ) - else - mycmakeargs+=( - -DSuperLU_FOUND=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - cmake_src_test || die - - pushd tests2 > /dev/null - emake \ - CXX="$(tc-getCXX)" \ - CXX_FLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \ - LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)" - LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./main || die - emake clean - popd > /dev/null -} - -src_install() { - cmake_src_install - - dodoc README.md - use doc && dodoc *pdf *html - - if use examples; then - docinto examples - dodoc -r examples/* - docompress -x /usr/share/doc/${PF}/examples - fi -} diff --git a/sci-libs/armadillo/armadillo-12.0.1.ebuild b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild index a1399cb8445a..8139c09c283a 100644 --- a/sci-libs/armadillo/armadillo-12.0.1.ebuild +++ b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild @@ -1,9 +1,7 @@ # Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 - -CMAKE_IN_SOURCE_BUILD=1 +EAPI=8 inherit cmake toolchain-funcs multilib @@ -13,35 +11,28 @@ SRC_URI="mirror://sourceforge/arma/${P}.tar.xz" LICENSE="Apache-2.0" SLOT="0/12" -KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="arpack blas doc examples hdf5 lapack mkl superlu test" +KEYWORDS="amd64 ~arm ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="arpack blas doc examples lapack mkl superlu test" RESTRICT="!test? ( test )" REQUIRED_USE="test? ( arpack lapack superlu )" # atlas? ( sci-libs/atlas[lapack] ) - RDEPEND=" dev-libs/boost arpack? ( sci-libs/arpack ) blas? ( virtual/blas ) lapack? ( virtual/lapack ) + mkl? ( sci-libs/mkl ) superlu? ( >=sci-libs/superlu-5.2 ) " - DEPEND="${RDEPEND} arpack? ( virtual/pkgconfig ) blas? ( virtual/pkgconfig ) - hdf5? ( sci-libs/hdf5:= ) lapack? ( virtual/pkgconfig ) - mkl? ( sci-libs/mkl ) -" -PDEPEND="${RDEPEND} - hdf5? ( sci-libs/hdf5:= ) - mkl? ( sci-libs/mkl ) " PATCHES=( - "${FILESDIR}/${P}-extratests.patch" + "${FILESDIR}/${PN}-12.0.1-extratests.patch" ) src_prepare() { @@ -93,17 +84,6 @@ src_configure() { -DBLAS_FOUND=OFF ) fi - if use hdf5; then - mycmakeargs+=( - -DDETECT_HDF5=ON - -DHDF5_LIBRARIES="-lhdf5" - -DHDF5_INCLUDE_DIRS=/usr/include - ) - else - mycmakeargs+=( - -DDETECT_HDF5=OFF - ) - fi if use lapack; then mycmakeargs+=( -DLAPACK_FOUND=ON diff --git a/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch b/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch deleted file mode 100644 index 7efb67b5b139..000000000000 --- a/sci-libs/armadillo/files/armadillo-11.4.0-extratests.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN armadillo-11.4.0.orig/tests2/Makefile armadillo-11.4.0/tests2/Makefile ---- armadillo-11.4.0.orig/tests2/Makefile 2022-10-03 19:26:59.699937940 +0200 -+++ armadillo-11.4.0/tests2/Makefile 2022-10-03 19:27:24.954277418 +0200 -@@ -3,7 +3,7 @@ - #LIB_FLAGS = -lblas -llapack - #LIB_FLAGS = -lopenblas -llapack - --CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -+#CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 - #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -fopenmp - #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -DARMA_DONT_USE_WRAPPER - #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0 -fsanitize=address -fsanitize=leak -fsanitize=undefined -fsanitize=bounds -fsanitize=bounds-strict -g diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest index ce9b7f1fd764..2ea6ef6afd6d 100644 --- a/sci-libs/arpack/Manifest +++ b/sci-libs/arpack/Manifest @@ -1,4 +1,5 @@ DIST arpack-3.8.0.tar.gz 1014494 BLAKE2B 6daf8a237fdfce527935d777292df150b2f78892d9975f8696a37024fcb78174b29afd300e7abca2684c1907eeda658eb4478f09f580835896c0e10d106cdbbd SHA512 8969c74c4c0459ea2d29ea49d5260f668fd33f73886df0da78a42a94aea93c9f5fb70f5df035266db68807ab09a92c13487a7a4e6ca64922145aade8a148a2de DIST arpack-3.9.0.tar.gz 1015328 BLAKE2B fc9960025140a9d6a570ee0359c16055c826482fe1ee58c2dc7727cd0ead04fbb940da0e08a6f11e05205d239b1059c93af0e08bf2b6e0cfee61d73f1d0d9816 SHA512 fbcaa2179dd1aa5a39fc3e7d80f377ec90ddf16ef93184a88e6ecfc464ed97e5659f2cf578294ac3e0b0c0da6408c86acf5bbdce533e1e9d2a3121848340d282 +DIST arpack-3.9.1.tar.gz 1020208 BLAKE2B dd1b5b16cc5304bb16ab68055939c8f3c11f761eff69bcfc22b3cb9605b477929f54513649a7becb152e91275bfccdc868d3ccf464fb876732c7ec23a83fe71e SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2 DIST tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4 DIST ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328 diff --git a/sci-libs/arpack/arpack-3.8.0.ebuild b/sci-libs/arpack/arpack-3.8.0-r1.ebuild index 3d82dac765c1..33421451eea4 100644 --- a/sci-libs/arpack/arpack-3.8.0.ebuild +++ b/sci-libs/arpack/arpack-3.8.0-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos" IUSE="doc examples mpi" RDEPEND=" @@ -35,6 +35,7 @@ src_prepare() { src_configure() { econf \ --disable-static \ + --enable-icb \ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \ $(use_enable mpi) diff --git a/sci-libs/arpack/arpack-3.9.0.ebuild b/sci-libs/arpack/arpack-3.9.0-r1.ebuild index cfd783760a46..543b592a542d 100644 --- a/sci-libs/arpack/arpack-3.9.0.ebuild +++ b/sci-libs/arpack/arpack-3.9.0-r1.ebuild @@ -35,6 +35,7 @@ src_prepare() { src_configure() { econf \ --disable-static \ + --enable-icb \ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \ $(use_enable mpi) diff --git a/sci-libs/arpack/arpack-3.9.1.ebuild b/sci-libs/arpack/arpack-3.9.1.ebuild new file mode 100644 index 000000000000..6fafe6af781b --- /dev/null +++ b/sci-libs/arpack/arpack-3.9.1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools fortran-2 toolchain-funcs + +DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems" +HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/opencollab/arpack-ng" + inherit git-r3 +else + SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + S="${WORKDIR}/${PN}-ng-${PV}" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="examples mpi" + +RDEPEND=" + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[fortran] ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-3.9.1-bashism-configure.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --disable-static \ + --enable-icb \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \ + $(use_enable mpi) +} + +src_install() { + default + + dodoc DOCUMENTS/*.doc + newdoc DOCUMENTS/README README.doc + if use examples; then + dodoc -r EXAMPLES + if use mpi; then + docinto EXAMPLES/PARPACK + dodoc -r PARPACK/EXAMPLES/MPI + fi + fi + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/arpack/arpack-9999.ebuild b/sci-libs/arpack/arpack-9999.ebuild index 4130db5de749..8164bd0bd747 100644 --- a/sci-libs/arpack/arpack-9999.ebuild +++ b/sci-libs/arpack/arpack-9999.ebuild @@ -1,21 +1,22 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit autotools fortran-2 toolchain-funcs +DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems" +HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng" + if [[ ${PV} == *9999 ]]; then - inherit git-r3 EGIT_REPO_URI="https://github.com/opencollab/arpack-ng" + inherit git-r3 else SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" S="${WORKDIR}/${PN}-ng-${PV}" fi -DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems" -HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng" LICENSE="BSD" SLOT="0" IUSE="examples mpi" @@ -23,7 +24,8 @@ IUSE="examples mpi" RDEPEND=" virtual/blas virtual/lapack - mpi? ( virtual/mpi[fortran] )" + mpi? ( virtual/mpi[fortran] ) +" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" @@ -35,6 +37,7 @@ src_prepare() { src_configure() { econf \ --disable-static \ + --enable-icb \ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \ $(use_enable mpi) diff --git a/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch new file mode 100644 index 000000000000..074a43b3ee1d --- /dev/null +++ b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch @@ -0,0 +1,42 @@ +https://github.com/opencollab/arpack-ng/pull/441 + +From a3beacc11e2acbe0baf8b301cb47938dcf01e71d Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Mon, 13 Nov 2023 02:38:46 +0000 +Subject: [PATCH] configure.ac: fix bashisms + +configure scripts need to be runnable with a POSIX-compliant /bin/sh. + +On many (but not all!) systems, /bin/sh is provided by Bash, so errors +like this aren't spotted. Notably Debian defaults to /bin/sh provided +by dash which doesn't tolerate such bashisms as '=='. + +This retains compatibility with bash. + +Fixes configure warnings/errors like: +``` +checking for cheev_ in -llapack... yes +./configure: 8590: test: x: unexpected operator +checking how to print strings... printf +``` +--- a/configure.ac ++++ b/configure.ac +@@ -20,7 +20,7 @@ dnl Check for LAPACK libraries + AX_LAPACK([], [AC_MSG_ERROR([cannot find LAPACK libraries])]) + + AC_ARG_VAR(INTERFACE64, [set to 1 to use the 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK]) +-if test x"$INTERFACE64" == x"1"; then ++if test x"$INTERFACE64" = x"1"; then + AC_LANG_PUSH([Fortran 77]) + AX_CHECK_COMPILE_FLAG(-fdefault-integer-8, FFLAGS="$FFLAGS -fdefault-integer-8", + AX_CHECK_COMPILE_FLAG(-i8, FFLAGS="$FFLAGS -i8", +@@ -191,7 +191,7 @@ AS_IF([test x"$enable_mpi" != x"no"], [ + ]) + + dnl TODO: this needs full re-write of parpack to support ILP64... +-if test x"$INTERFACE64" == x"1"; then ++if test x"$INTERFACE64" = x"1"; then + if test x"$enable_mpi" != x"no"; then + AC_MSG_ERROR([Parallel arpack does not support ILP64.]) + fi + diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest index 69758a8152ae..6a7b83ca6e7d 100644 --- a/sci-libs/bliss/Manifest +++ b/sci-libs/bliss/Manifest @@ -1,2 +1 @@ -DIST bliss-0.73.zip 94108 BLAKE2B 836184b31fa28db3328c21e7563366a93cf1645b02b96e185838e3c2513393b1d0a54783ca14c6d7f1a1d5055800bc3d7acde3c584e61e66c9ab93936824353b SHA512 30f505945c577d8bcb265a349f5bc9d4dcd96555fa3add285199cdd95ea2710f04409008ff06432daffab62c132e884845eae7f823191407906202862509e05d DIST bliss-0.77.zip 117888 BLAKE2B ce4b2fa568c5520fe41748bf59a493af1c33ec9cc0732aca5e5ba657ca726e118e26763355778e3def5716d62e7d3aceceb592ef67e5e148c250d3ffffab67d7 SHA512 d210f137e614bca7cf0d88851d0c62292bf479b687bca6a25d9e42661825f882a4ff8c74c96a965bd9d4f246a1bda6b90cef64894914e6f7b17db6bf4a8f4b17 diff --git a/sci-libs/bliss/bliss-0.73-r2.ebuild b/sci-libs/bliss/bliss-0.73-r2.ebuild deleted file mode 100644 index 9293ac0a67aa..000000000000 --- a/sci-libs/bliss/bliss-0.73-r2.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools - -SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip" -DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs" -HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/" - -LICENSE="LGPL-3" -SLOT="0/1" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gmp static-libs" - -RDEPEND="gmp? ( dev-libs/gmp:0= )" -DEPEND="${RDEPEND} - app-arch/unzip - doc? ( app-doc/doxygen )" - -#patches from http://pkgs.fedoraproject.org/cgit/rpms/bliss.git/tree/ -PATCHES=( - "${FILESDIR}"/${P}-error.patch - "${FILESDIR}"/${P}-rehn.patch - "${FILESDIR}"/${P}-clang.patch - "${FILESDIR}"/${P}-autotools.patch -) - -src_prepare() { - default - cp "${FILESDIR}/${P}.1.in" "${PN}.1.in" || die - rm Makefile || die - eautoreconf -} - -src_configure() { - econf $(use_with gmp) $(use_enable static-libs static) -} - -src_compile() { - emake all $(usex doc html "") -} - -src_install() { - default - use static-libs || find "${ED}" -name '*.la' -delete - use doc && dodoc -r html -} diff --git a/sci-libs/bliss/files/bliss-0.73-autotools.patch b/sci-libs/bliss/files/bliss-0.73-autotools.patch deleted file mode 100644 index efdbcb81b42a..000000000000 --- a/sci-libs/bliss/files/bliss-0.73-autotools.patch +++ /dev/null @@ -1,99 +0,0 @@ -Replace simple Makefile by autotools -- allow shared library -- parallel build -- added pkg-config support - -Author: Christoph Junghans <junghans@gentoo.org> - -diff -Naur bliss-0.72-fedora/config/.dummy bliss-0.72/config/.dummy ---- bliss-0.72-fedora/config/.dummy 1969-12-31 17:00:00.000000000 -0700 -+++ bliss-0.72/config/.dummy 2013-04-28 14:43:06.143760368 -0600 -@@ -0,0 +1 @@ -+Dummy file to make patch create config dir, which is needed for autotools -diff -Naur bliss-0.72-fedora/configure.ac bliss-0.72/configure.ac ---- bliss-0.72-fedora/configure.ac 1969-12-31 17:00:00.000000000 -0700 -+++ bliss-0.72/configure.ac 2013-04-28 14:40:42.283242722 -0600 -@@ -0,0 +1,32 @@ -+AC_PREREQ([2.65]) -+AC_INIT([bliss], [0.73], [Tommi.Junttil@kk.fi]) -+ -+AC_CONFIG_AUX_DIR(config) -+AC_CONFIG_MACRO_DIR(config) -+ -+AM_INIT_AUTOMAKE([1.8 foreign]) -+ -+SHARED_VERSION_INFO="1:0:0" -+AC_SUBST(SHARED_VERSION_INFO) -+ -+# Checks for programs. -+AC_PROG_CXX -+ -+LT_INIT -+# Checks for libraries. -+AC_ARG_WITH([gmp], -+ [AS_HELP_STRING([--with-gmp], [enable support for GNU Multiple Precision Arithmetic Library @<:@default=check@:>@])], -+ [], [with_gmp=no]) -+AS_IF([test "x$with_gmp" != xno], -+ [AC_CHECK_HEADERS([gmp.h],,AC_MSG_ERROR([Cannot find gmp.h header])) -+ AC_CHECK_LIB([gmp],_init,,AC_MSG_ERROR([Cannot find gmp library])) -+ AC_SUBST([GMP],[-lgmp]) -+ [CPPFLAGS="$CPPFLAGS -DBLISS_USE_GMP"]]) -+ -+AC_CHECK_PROG(DOXYGEN,doxygen,doxygen,no) -+AM_CONDITIONAL(HAVE_DOXYGEN,[test .$DOXYGEN != .no]) -+ -+AC_CONFIG_FILES([Makefile]) -+AC_CONFIG_FILES([bliss.pc]) -+AC_CONFIG_FILES([bliss.1]) -+AC_OUTPUT -diff -Naur bliss-0.72-fedora/bliss.pc.in bliss-0.72/bliss.pc.in ---- bliss-0.72-fedora/bliss.pc.in 1969-12-31 17:00:00.000000000 -0700 -+++ bliss-0.72/bliss.pc.in 2013-04-28 14:40:54.223285686 -0600 -@@ -0,0 +1,13 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+Name: bliss -+Description: Library for Computing Automorphism Groups and Canonical Labelings of Graphs -+URL: http://www.tcs.hut.fi/Software/bliss/index.shtml -+Version: @VERSION@ -+Requires: -+Libs: -L${libdir} -lbliss @GMP@ -+Libs.private: -lm -+Cflags: -I${includedir} -diff -Naur bliss-0.72-fedora/Makefile.am bliss-0.72/Makefile.am ---- bliss-0.72-fedora/Makefile.am 1969-12-31 17:00:00.000000000 -0700 -+++ bliss-0.72/Makefile.am 2013-04-28 14:47:26.944698789 -0600 -@@ -0,0 +1,30 @@ -+ACLOCAL_AMFLAGS = -I config -+ -+lib_LTLIBRARIES = libbliss.la -+ -+libbliss_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@ -+libbliss_la_SOURCES = \ -+ defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc \ -+ timer.cc utils.cc bliss_C.cc -+ -+pkginclude_HEADERS = \ -+ bignum.hh bliss_C.h defs.hh graph.hh heap.hh kqueue.hh kstack.hh \ -+ orbit.hh partition.hh timer.hh uintseqhash.hh utils.hh -+ -+bin_PROGRAMS = bliss -+bliss_SOURCES = bliss.cc -+bliss_LDADD = libbliss.la -+dist_man1_MANS = bliss.1 -+ -+pkgconfigdir = $(libdir)/pkgconfig -+pkgconfig_DATA = bliss.pc -+ -+html-local: Doxyfile -+if HAVE_DOXYGEN -+ $(DOXYGEN) $(srcdir)/Doxyfile -+else -+ @echo "doxygen was not found, please re-run configure" -+endif -+ -+clean-local: -+ -rm -rf html diff --git a/sci-libs/bliss/files/bliss-0.73-clang.patch b/sci-libs/bliss/files/bliss-0.73-clang.patch deleted file mode 100644 index 8a2e4bb6ca47..000000000000 --- a/sci-libs/bliss/files/bliss-0.73-clang.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./bliss.cc.orig 2020-07-10 10:34:44.946000000 -0600 -+++ ./bliss.cc 2020-07-10 10:35:36.076000000 -0600 -@@ -59,7 +59,7 @@ - else program_name = argv0; - if(!program_name or *program_name == 0) program_name = "bliss"; - -- fprintf(fp, "bliss version %s (compiled "__DATE__")\n", bliss::version); -+ fprintf(fp, "bliss version %s (compiled %s)\n", bliss::version, __DATE__); - fprintf(fp, "Copyright 2003-2015 Tommi Junttila\n"); - fprintf(fp, - "\n" diff --git a/sci-libs/bliss/files/bliss-0.73-error.patch b/sci-libs/bliss/files/bliss-0.73-error.patch deleted file mode 100644 index cd0f5457219f..000000000000 --- a/sci-libs/bliss/files/bliss-0.73-error.patch +++ /dev/null @@ -1,471 +0,0 @@ ---- ./bliss.cc.orig 2015-09-01 10:23:10.000000000 -0600 -+++ ./bliss.cc 2015-09-04 15:04:09.946602735 -0600 -@@ -276,13 +276,16 @@ main(const int argc, const char** argv) - if(opt_canonize == false) - { - /* No canonical labeling, only automorphism group */ -- g->find_automorphisms(stats, &report_aut, stdout); -+ if (!g->find_automorphisms(stats, &report_aut, stdout)) -+ exit(1); - } - else - { - /* Canonical labeling and automorphism group */ - const unsigned int* cl = g->canonical_form(stats, &report_aut, stdout); - -+ if (!cl) -+ exit(1); - fprintf(stdout, "Canonical labeling: "); - bliss::print_permutation(stdout, g->get_nof_vertices(), cl, 1); - fprintf(stdout, "\n"); -@@ -290,6 +293,8 @@ main(const int argc, const char** argv) - if(opt_output_can_file) - { - bliss::AbstractGraph* cf = g->permute(cl); -+ if (!cf) -+ exit(1); - FILE* const fp = fopen(opt_output_can_file, "w"); - if(!fp) - _fatal("Cannot open '%s' for outputting the canonical form, aborting", opt_output_can_file); ---- ./bliss_C.cc.orig 2015-09-01 10:23:10.000000000 -0600 -+++ ./bliss_C.cc 2015-09-04 15:04:09.945602814 -0600 -@@ -131,7 +131,7 @@ BlissGraph *bliss_permute(BlissGraph *gr - } - - extern "C" --void -+int - bliss_find_automorphisms(BlissGraph *graph, - void (*hook)(void *user_param, - unsigned int n, -@@ -142,7 +142,8 @@ bliss_find_automorphisms(BlissGraph *gra - bliss::Stats s; - assert(graph); - assert(graph->g); -- graph->g->find_automorphisms(s, hook, hook_user_param); -+ if (!graph->g->find_automorphisms(s, hook, hook_user_param)) -+ return 0; - - if(stats) - { -@@ -154,6 +155,7 @@ bliss_find_automorphisms(BlissGraph *gra - stats->nof_generators = s.get_nof_generators(); - stats->max_level = s.get_max_level(); - } -+ return 1; - } - - -@@ -173,7 +175,7 @@ bliss_find_canonical_labeling(BlissGraph - - canonical_labeling = graph->g->canonical_form(s, hook, hook_user_param); - -- if(stats) -+ if(canonical_labeling && stats) - { - stats->group_size_approx = s.get_group_size_approx(); - stats->nof_nodes = s.get_nof_nodes(); ---- ./bliss_C.h.orig 2015-09-01 10:23:10.000000000 -0600 -+++ ./bliss_C.h 2015-09-04 15:04:09.947602656 -0600 -@@ -156,6 +156,7 @@ unsigned int bliss_hash(BlissGraph *grap - * The argument \a perm should be an array of - * N=bliss::bliss_get_nof_vertices(\a graph) elements describing - * a bijection on {0,...,N-1}. -+ * Returns NULL if insufficient memory or internal error. - */ - BlissGraph *bliss_permute(BlissGraph *graph, const unsigned int *perm); - -@@ -174,8 +175,9 @@ BlissGraph *bliss_permute(BlissGraph *gr - * if you want to use the automorphism later, you have to take a copy of it. - * Do not call bliss_* functions in the hook. - * If \a stats is non-null, then some search statistics are copied there. -+ * \return nonzero if successful, zero if insufficient memory or internal error - */ --void -+int - bliss_find_automorphisms(BlissGraph *graph, - void (*hook)(void *user_param, - unsigned int N, -@@ -194,6 +196,7 @@ bliss_find_automorphisms(BlissGraph *gra - * then bliss_permute() with the returned canonical labeling. - * Note that the computed canonical version may depend on the applied version - * of bliss. -+ * Returns NULL if insufficient memory or internal error. - */ - const unsigned int * - bliss_find_canonical_labeling(BlissGraph *graph, ---- ./defs.cc.orig 2015-09-01 10:23:12.000000000 -0600 -+++ ./defs.cc 2015-09-04 15:04:09.947602656 -0600 -@@ -32,7 +32,6 @@ fatal_error(const char* fmt, ...) - vfprintf(stderr, fmt, ap); - fprintf(stderr, "\nAborting!\n"); - va_end(ap); -- exit(1); - } - - } ---- ./graph.cc.orig 2015-09-01 10:23:10.000000000 -0600 -+++ ./graph.cc 2015-09-04 15:04:09.927604245 -0600 -@@ -34,7 +34,10 @@ - namespace bliss { - - #define _INTERNAL_ERROR() fatal_error("%s:%d: internal error",__FILE__,__LINE__) --#define _OUT_OF_MEMORY() fatal_error("%s:%d: out of memory",__FILE__,__LINE__) -+#define _OUT_OF_MEMORY(label) do { \ -+ fatal_error("%s:%d: out of memory",__FILE__,__LINE__); \ -+ goto label; \ -+ } while (0) - - /*------------------------------------------------------------------------- - * -@@ -279,20 +282,6 @@ AbstractGraph::reset_permutation(unsigne - *perm = i; - } - --bool --AbstractGraph::is_automorphism(unsigned int* const perm) --{ -- _INTERNAL_ERROR(); -- return false; --} -- --bool --AbstractGraph::is_automorphism(const std::vector<unsigned int>& perm) const --{ -- _INTERNAL_ERROR(); -- return false; --} -- - - - -@@ -618,7 +607,7 @@ typedef struct { - } PathInfo; - - --void -+bool - AbstractGraph::search(const bool canonical, Stats& stats) - { - const unsigned int N = get_nof_vertices(); -@@ -658,7 +647,7 @@ AbstractGraph::search(const bool canonic - if(N == 0) - { - /* Nothing to do, return... */ -- return; -+ return true; - } - - /* Initialize the partition ... */ -@@ -696,10 +685,10 @@ AbstractGraph::search(const bool canonic - */ - if(first_path_labeling) free(first_path_labeling); - first_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int)); -- if(!first_path_labeling) _OUT_OF_MEMORY(); -+ if(!first_path_labeling) _OUT_OF_MEMORY(oom1); - if(best_path_labeling) free(best_path_labeling); - best_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int)); -- if(!best_path_labeling) _OUT_OF_MEMORY(); -+ if(!best_path_labeling) _OUT_OF_MEMORY(oom2); - - /* - * Is the initial partition discrete? -@@ -710,7 +699,7 @@ AbstractGraph::search(const bool canonic - update_labeling(best_path_labeling); - /* Update statistics */ - stats.nof_leaf_nodes = 1; -- return; -+ return true; - } - - /* -@@ -718,20 +707,39 @@ AbstractGraph::search(const bool canonic - */ - if(first_path_labeling_inv) free(first_path_labeling_inv); - first_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int)); -- if(!first_path_labeling_inv) _OUT_OF_MEMORY(); -+ if(!first_path_labeling_inv) _OUT_OF_MEMORY(oom3); - if(best_path_labeling_inv) free(best_path_labeling_inv); - best_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int)); -- if(!best_path_labeling_inv) _OUT_OF_MEMORY(); -+ if(!best_path_labeling_inv) _OUT_OF_MEMORY(oom4); - - /* - * Allocate space for the automorphisms - */ - if(first_path_automorphism) free(first_path_automorphism); - first_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int)); -- if(!first_path_automorphism) _OUT_OF_MEMORY(); -+ if(!first_path_automorphism) _OUT_OF_MEMORY(oom5); - if(best_path_automorphism) free(best_path_automorphism); - best_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int)); -- if(!best_path_automorphism) _OUT_OF_MEMORY(); -+ if(!best_path_automorphism) { -+ _OUT_OF_MEMORY(oom6); -+ oom6: -+ free(first_path_automorphism); -+ first_path_automorphism = NULL; -+ oom5: -+ free(best_path_labeling_inv); -+ best_path_labeling_inv = NULL; -+ oom4: -+ free(first_path_labeling_inv); -+ first_path_labeling_inv = NULL; -+ oom3: -+ free(best_path_labeling); -+ best_path_labeling = NULL; -+ oom2: -+ free(first_path_labeling); -+ first_path_labeling = NULL; -+ oom1: -+ return false; -+ } - - /* - * Initialize orbit information so that all vertices are in their own orbits -@@ -1203,8 +1211,10 @@ AbstractGraph::search(const bool canonic - - #if defined(BLISS_VERIFY_EQUITABLEDNESS) - /* The new partition should be equitable */ -- if(!is_equitable()) -+ if(!is_equitable()) { - fatal_error("consistency check failed - partition after refinement is not equitable"); -+ return false; -+ } - #endif - - /* -@@ -1596,8 +1606,10 @@ AbstractGraph::search(const bool canonic - - #if defined(BLISS_VERIFY_AUTOMORPHISMS) - /* Verify that it really is an automorphism */ -- if(!is_automorphism(best_path_automorphism)) -+ if(!is_automorphism(best_path_automorphism)) { - fatal_error("Best path automorhism validation check failed"); -+ return false; -+ } - #endif - - unsigned int gca_level_with_first = 0; -@@ -1664,6 +1676,7 @@ AbstractGraph::search(const bool canonic - - - _INTERNAL_ERROR(); -+ return false; - - - handle_first_path_automorphism: -@@ -1699,8 +1712,10 @@ AbstractGraph::search(const bool canonic - - #if defined(BLISS_VERIFY_AUTOMORPHISMS) - /* Verify that it really is an automorphism */ -- if(!is_automorphism(first_path_automorphism)) -+ if(!is_automorphism(first_path_automorphism)) { - fatal_error("First path automorphism validation check failed"); -+ return false; -+ } - #endif - - if(opt_use_long_prune) -@@ -1747,12 +1762,13 @@ AbstractGraph::search(const bool canonic - /* Release component recursion data in partition */ - if(opt_use_comprec) - p.cr_free(); -+ return true; - } - - - - --void -+bool - AbstractGraph::find_automorphisms(Stats& stats, - void (*hook)(void *user_param, - unsigned int n, -@@ -1762,7 +1778,8 @@ AbstractGraph::find_automorphisms(Stats& - report_hook = hook; - report_user_param = user_param; - -- search(false, stats); -+ if (!search(false, stats)) -+ return false; - - if(first_path_labeling) - { -@@ -1774,6 +1791,7 @@ AbstractGraph::find_automorphisms(Stats& - free(best_path_labeling); - best_path_labeling = 0; - } -+ return true; - } - - -@@ -1788,7 +1806,8 @@ AbstractGraph::canonical_form(Stats& sta - report_hook = hook; - report_user_param = user_param; - -- search(true, stats); -+ if (!search(true, stats)) -+ return NULL; - - return best_path_labeling; - } -@@ -3479,15 +3498,17 @@ Digraph::initialize_certificate() - * Check whether perm is an automorphism. - * Slow, mainly for debugging and validation purposes. - */ --bool -+int - Digraph::is_automorphism(unsigned int* const perm) - { - std::set<unsigned int, std::less<unsigned int> > edges1; - std::set<unsigned int, std::less<unsigned int> > edges2; - - #if defined(BLISS_CONSISTENCY_CHECKS) -- if(!is_permutation(get_nof_vertices(), perm)) -+ if(!is_permutation(get_nof_vertices(), perm)) { - _INTERNAL_ERROR(); -+ return -1; -+ } - #endif - - for(unsigned int i = 0; i < get_nof_vertices(); i++) -@@ -3506,7 +3527,7 @@ Digraph::is_automorphism(unsigned int* c - ei++) - edges2.insert(*ei); - if(!(edges1 == edges2)) -- return false; -+ return 0; - - edges1.clear(); - for(std::vector<unsigned int>::iterator ei = v1.edges_out.begin(); -@@ -3519,10 +3540,10 @@ Digraph::is_automorphism(unsigned int* c - ei++) - edges2.insert(*ei); - if(!(edges1 == edges2)) -- return false; -+ return 0; - } - -- return true; -+ return 1; - } - - bool -@@ -4337,8 +4358,10 @@ Graph* - Graph::permute(const unsigned int* perm) const - { - #if defined(BLISS_CONSISTENCY_CHECKS) -- if(!is_permutation(get_nof_vertices(), perm)) -+ if(!is_permutation(get_nof_vertices(), perm)) { - _INTERNAL_ERROR(); -+ return NULL; -+ } - #endif - - Graph* const g = new Graph(get_nof_vertices()); -@@ -5278,15 +5301,17 @@ Graph::initialize_certificate() - * - *-------------------------------------------------------------------------*/ - --bool -+int - Graph::is_automorphism(unsigned int* const perm) - { - std::set<unsigned int, std::less<unsigned int> > edges1; - std::set<unsigned int, std::less<unsigned int> > edges2; - - #if defined(BLISS_CONSISTENCY_CHECKS) -- if(!is_permutation(get_nof_vertices(), perm)) -+ if(!is_permutation(get_nof_vertices(), perm)) { - _INTERNAL_ERROR(); -+ return -1; -+ } - #endif - - for(unsigned int i = 0; i < get_nof_vertices(); i++) -@@ -5306,10 +5331,10 @@ Graph::is_automorphism(unsigned int* con - edges2.insert(*ei); - - if(!(edges1 == edges2)) -- return false; -+ return 0; - } - -- return true; -+ return 1; - } - - ---- ./graph.hh.orig 2015-09-01 10:23:10.000000000 -0600 -+++ ./graph.hh 2015-09-04 15:09:17.261182632 -0600 -@@ -159,7 +159,7 @@ public: - * Check whether \a perm is an automorphism of this graph. - * Unoptimized, mainly for debugging purposes. - */ -- virtual bool is_automorphism(const std::vector<unsigned int>& perm) const; -+ virtual bool is_automorphism(const std::vector<unsigned int>& perm) const = 0; - - - /** Activate/deactivate failure recording. -@@ -211,8 +211,10 @@ public: - * if you want to use the automorphism later, you have to take a copy of it. - * Do not call any member functions in the hook. - * The search statistics are copied in \a stats. -+ * \return true if successful, false if insufficient memory to search or -+ * other internal error. - */ -- void find_automorphisms(Stats& stats, -+ bool find_automorphisms(Stats& stats, - void (*hook)(void* user_param, - unsigned int n, - const unsigned int* aut), -@@ -232,6 +234,8 @@ public: - * Note that the computed canonical version may depend on the applied version - * of bliss as well as on some other options (for instance, the splitting - * heuristic selected with bliss::Graph::set_splitting_heuristic()). -+ * This function returns NULL if there is insufficient memory, or another -+ * internal error occurs. - */ - const unsigned int* canonical_form(Stats& stats, - void (*hook)(void* user_param, -@@ -436,7 +440,7 @@ protected: - void reset_permutation(unsigned int *perm); - - /* Mainly for debugging purposes */ -- virtual bool is_automorphism(unsigned int* const perm); -+ virtual int is_automorphism(unsigned int* const perm) = 0; - - std::vector<unsigned int> certificate_current_path; - std::vector<unsigned int> certificate_first_path; -@@ -450,7 +454,11 @@ protected: - virtual Partition::Cell* find_next_cell_to_be_splitted(Partition::Cell *cell) = 0; - - -- void search(const bool canonical, Stats &stats); -+ /** -+ * \return true if successful, false if insufficient memory to complete or -+ * other internal error -+ */ -+ bool search(const bool canonical, Stats &stats); - - - void (*report_hook)(void *user_param, -@@ -634,7 +642,7 @@ protected: - - void initialize_certificate(); - -- bool is_automorphism(unsigned int* const perm); -+ int is_automorphism(unsigned int* const perm); - - - bool nucr_find_first_component(const unsigned int level); -@@ -875,7 +883,7 @@ protected: - - void initialize_certificate(); - -- bool is_automorphism(unsigned int* const perm); -+ int is_automorphism(unsigned int* const perm); - - void sort_edges(); - diff --git a/sci-libs/bliss/files/bliss-0.73-rehn.patch b/sci-libs/bliss/files/bliss-0.73-rehn.patch deleted file mode 100644 index f37eedb4a6bd..000000000000 --- a/sci-libs/bliss/files/bliss-0.73-rehn.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- ./graph.cc.orig 2015-09-04 15:04:09.927604245 -0600 -+++ ./graph.cc 2015-09-04 15:09:46.999819514 -0600 -@@ -597,16 +597,6 @@ public: - }; - - -- -- --typedef struct { -- unsigned int splitting_element; -- unsigned int certificate_index; -- unsigned int subcertificate_length; -- UintSeqHash eqref_hash; --} PathInfo; -- -- - bool - AbstractGraph::search(const bool canonical, Stats& stats) - { -@@ -753,7 +743,6 @@ AbstractGraph::search(const bool canonic - initialize_certificate(); - - std::vector<TreeNode> search_stack; -- std::vector<PathInfo> first_path_info; - std::vector<PathInfo> best_path_info; - - search_stack.clear(); -@@ -5477,7 +5466,7 @@ Graph::nucr_find_first_component(const u - component.clear(); - component_elements = 0; - sh_return = 0; -- unsigned int sh_first = 0; -+ unsigned int sh_first = 1 << 31; - unsigned int sh_size = 0; - unsigned int sh_nuconn = 0; - ---- ./graph.hh.orig 2015-09-04 15:09:17.261182632 -0600 -+++ ./graph.hh 2015-09-04 15:09:47.001819355 -0600 -@@ -109,9 +109,12 @@ public: - unsigned long int get_max_level() const {return max_level;} - }; - -- -- -- -+typedef struct { -+ unsigned int splitting_element; -+ unsigned int certificate_index; -+ unsigned int subcertificate_length; -+ UintSeqHash eqref_hash; -+} PathInfo; - - - /** -@@ -524,7 +527,7 @@ protected: - */ - unsigned int cr_component_elements; - -- -+ std::vector<PathInfo> first_path_info; - - - }; -@@ -756,6 +759,10 @@ public: - void set_splitting_heuristic(const SplittingHeuristic shs) {sh = shs; } - - -+ /** -+ * Get an information vector about the first path. -+ */ -+ std::vector<PathInfo> get_first_path_info() { return first_path_info; } - }; - - diff --git a/sci-libs/bliss/files/bliss-0.73.1.in b/sci-libs/bliss/files/bliss-0.73.1.in deleted file mode 100644 index f652c3d1307a..000000000000 --- a/sci-libs/bliss/files/bliss-0.73.1.in +++ /dev/null @@ -1,55 +0,0 @@ -.TH "BLISS" "1" "@VERSION@" "Tommi Junttila & Petteri Kaski" "User Commands" -.SH "NAME" -bliss \- Compute automorphism groups and canonical labelings of graphs -.SH "SYNOPSIS" -.B bliss -[\fIOPTIONS\fR] [<\fIGRAPH FILE\fR>] -.SH "DESCRIPTION" -.PP -Bliss is an open source tool for computing automorphism groups and -canonical forms of graphs. The graphs are specified in DIMACS format. -.TP -\fB\-directed\fR -the input graph is directed -.TP -\fB\-can\fR -compute canonical form -.TP -\fB\-ocan\fR=\fIf\fR -compute canonical form and output it in file \fIf\fR -.TP -\fB\-v\fR=\fIN\fR -set verbosity level to N [N >= 0, default: 1] -.TP -\fB\-sh\fR=\fIX\fR -select splitting heuristics, where X is: -.TS -tab(;); -R L. -f;first non-singleton cell -fl;first largest non-singleton cell -fs;first smallest non-singleton cell -fm;first maximally non-trivially connected non-singleton cell -flm;first largest maximally non-trivially connected -;non-singleton cell -fsm;first smallest maximally non-trivially connected -;non-singleton cell (default) -.TE -.TP -\fB\-fr\fR=\fIX\fR -use failure recording? [X=y/n, default: y] -.TP -\fB\-cr\fR=\fIX\fR -use component recursion? [X=y/n, default: y] -.TP -\fB\-version\fR -print the version number and exit -.TP -\fB\-help\fR -print this help and exit -.SH "AUTHORS" -Bliss was written by Tommi Junttila <Tommi.Junttila@tkk.fi> and -Petteri Kaski <petteri.kaski@aalto.fi>. -.PP -This man page was written by Jerry James <loganjerry@gmail.com>. -It is distributed under the same terms as bliss. diff --git a/sci-libs/btf/Manifest b/sci-libs/btf/Manifest index 61f58e3f7bdf..7489d0d176c8 100644 --- a/sci-libs/btf/Manifest +++ b/sci-libs/btf/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST btf-1.2.6.tar.bz2 285699 BLAKE2B 4addeea7b9abe87281f826a67a8a372118579f498057c888008ac93da1cdbfcf8554af6e843d92a07989ff0b24f537588f933fcc33c97317f47536980e551531 SHA512 39c08ec9bf2a85915aeed040dc02c42c10adf5034c3797910dc7cb6942ac6e2ccea47cea4ab0c37e8ed3eb8eac8d2ce946d281c9ec643cccd282af7be5276960 diff --git a/sci-libs/btf/btf-2.0.3.ebuild b/sci-libs/btf/btf-2.0.3.ebuild new file mode 100644 index 000000000000..f3d679bc9c50 --- /dev/null +++ b/sci-libs/btf/btf-2.0.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Algorithm for matrix permutation into block triangular form" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/2" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + ) + cmake_src_configure +} diff --git a/sci-libs/btf/metadata.xml b/sci-libs/btf/metadata.xml index f15848939958..9f70db2d6ffd 100644 --- a/sci-libs/btf/metadata.xml +++ b/sci-libs/btf/metadata.xml @@ -11,4 +11,7 @@ its block upper triangular form (more precisely, it computes a Dulmage-Mendelsohn decomposition). </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/caffe2/caffe2-2.0.0-r4.ebuild b/sci-libs/caffe2/caffe2-2.0.0-r5.ebuild index f6a3684a96a0..eaf3e07d46ac 100644 --- a/sci-libs/caffe2/caffe2-2.0.0-r4.ebuild +++ b/sci-libs/caffe2/caffe2-2.0.0-r5.ebuild @@ -121,7 +121,7 @@ src_configure() { -DUSE_CUDNN=$(usex cuda) -DUSE_FAST_NVCC=$(usex cuda) -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}" - -DBUILD_NVFUSER=OFF + -DBUILD_NVFUSER=$(usex cuda) -DUSE_DISTRIBUTED=$(usex distributed) -DUSE_MPI=$(usex mpi) -DUSE_FAKELOWP=OFF @@ -181,6 +181,8 @@ src_configure() { src_install() { cmake_src_install + use cuda && dolib.so "${BUILD_DIR}"/lib/libnvfuser_codegen.so + insinto "/var/lib/${PN}" doins "${BUILD_DIR}"/CMakeCache.txt diff --git a/sci-libs/caffe2/caffe2-2.0.1-r1.ebuild b/sci-libs/caffe2/caffe2-2.0.1-r4.ebuild index 65814fb3e0e6..67ab76e8ed76 100644 --- a/sci-libs/caffe2/caffe2-2.0.1-r1.ebuild +++ b/sci-libs/caffe2/caffe2-2.0.1-r4.ebuild @@ -4,7 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) -inherit python-single-r1 cmake cuda flag-o-matic +inherit python-single-r1 cmake cuda flag-o-matic prefix MYPN=pytorch MYP=${MYPN}-${PV} @@ -49,7 +49,7 @@ RDEPEND=" fbgemm? ( dev-libs/FBGEMM ) ffmpeg? ( media-video/ffmpeg:= ) gloo? ( sci-libs/gloo[cuda?] ) - mpi? ( sys-cluster/openmpi ) + mpi? ( virtual/mpi ) nnpack? ( sci-libs/NNPACK ) numpy? ( $(python_gen_cond_dep ' dev-python/numpy[${PYTHON_USEDEP}] @@ -97,6 +97,20 @@ src_prepare() { pushd torch/csrc/jit/serialization || die flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die popd + # prefixify the hardcoded paths, after all patches are applied + hprefixify \ + aten/CMakeLists.txt \ + caffe2/CMakeLists.txt \ + cmake/Metal.cmake \ + cmake/Modules/*.cmake \ + cmake/Modules_CUDA_fix/FindCUDNN.cmake \ + cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \ + cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \ + cmake/public/LoadHIP.cmake \ + cmake/public/cuda.cmake \ + cmake/Dependencies.cmake \ + torch/CMakeLists.txt \ + CMakeLists.txt } src_configure() { @@ -106,7 +120,7 @@ src_configure() { ewarn "" ewarn "To configure caffe2 with the CUDA compute capability that is optimal for your GPU," ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge caffe2." - ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5,3.5" + ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5 3.5" ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell" ewarn "" ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus" @@ -122,7 +136,7 @@ src_configure() { -DUSE_CUDNN=$(usex cuda) -DUSE_FAST_NVCC=$(usex cuda) -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}" - -DBUILD_NVFUSER=OFF + -DBUILD_NVFUSER=$(usex cuda) -DUSE_DISTRIBUTED=$(usex distributed) -DUSE_MPI=$(usex mpi) -DUSE_FAKELOWP=OFF @@ -182,6 +196,8 @@ src_configure() { src_install() { cmake_src_install + use cuda && dolib.so "${BUILD_DIR}"/lib/libnvfuser_codegen.so + insinto "/var/lib/${PN}" doins "${BUILD_DIR}"/CMakeCache.txt diff --git a/sci-libs/camd/Manifest b/sci-libs/camd/Manifest index 0b05cf134539..16b8f196b932 100644 --- a/sci-libs/camd/Manifest +++ b/sci-libs/camd/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST camd-2.4.6.tar.bz2 317071 BLAKE2B 8f982050a20f00c9443063a0473caa4aa27efe005fe07b503cb68b29499152561fc9d30d00783607b1e8fb8af88707eabfe22d192b80e375b8a6d04d7a9a26d7 SHA512 c4020ed3e063d04f5d7d1a301719b1a5b5b912d505858f046654c9d283c41ff01d55f668fb7f7179a6ac636f5a5b80f71cac5eb5b1e5cae0ede97d946d62a1d0 diff --git a/sci-libs/camd/camd-2.4.6-r1.ebuild b/sci-libs/camd/camd-2.4.6-r1.ebuild index ec2f29270a50..435f8599933f 100644 --- a/sci-libs/camd/camd-2.4.6-r1.ebuild +++ b/sci-libs/camd/camd-2.4.6-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="doc" BDEPEND="virtual/pkgconfig diff --git a/sci-libs/camd/camd-3.0.3.ebuild b/sci-libs/camd/camd-3.0.3.ebuild new file mode 100644 index 000000000000..b45cf3bd3ee6 --- /dev/null +++ b/sci-libs/camd/camd-3.0.3.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0/3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + local demofiles=( + camd_demo + camd_l_demo + camd_demo2 + camd_simple + ) + for i in ${demofiles[@]}; do + ./"${i}" > "${i}.out" || die "failed to run test ${i}" + diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}" + done + einfo "All tests passed" +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + emake clean + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/camd/metadata.xml b/sci-libs/camd/metadata.xml index 1db724fb993a..728817ca7a84 100644 --- a/sci-libs/camd/metadata.xml +++ b/sci-libs/camd/metadata.xml @@ -10,4 +10,7 @@ for ordering a sparse matrix prior to Cholesky factorization (or for LU factorization with diagonal pivoting). </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/cantera/Manifest b/sci-libs/cantera/Manifest index 6b5da97bd886..782522d16b9c 100644 --- a/sci-libs/cantera/Manifest +++ b/sci-libs/cantera/Manifest @@ -1 +1,2 @@ DIST cantera-2.6.0.tar.gz 2586243 BLAKE2B 3562dc3641c70cdbd5e07062ecee56c0658b098c20bb477c3e741731db01e38fccf624e6769377420b01dd4bac72a0608cf226cce40ac12f13e71081090e06bc SHA512 74e12c89af38236bcc064034f74edcc690895151a9e453e728d130b83f5f527e675750c68a3fe36eea3c6aec6969685aa8828ae740a2e27b5df72a8ccc4d2856 +DIST cantera-3.0.0.tar.gz 2451103 BLAKE2B 094d7a4f0b8fd0f1a45d9f8c13e1390cf7fc62110e424e1287030e97382c1cdc016a5119adc4d5c7bbc222420a3b447db93fee8350643cb3a0907a838fbc1ddf SHA512 dffd696628210ae5c7b08e394e9a97262cfa6aa07ac2e6faa48591ecfee5bb11e7c2b6928563007fd581a1fd9cae999f7c1414ab5d5a312a823e155573df7aca diff --git a/sci-libs/cantera/cantera-2.6.0-r2.ebuild b/sci-libs/cantera/cantera-2.6.0-r2.ebuild index 5a8cb20337f7..b7276b05cc38 100644 --- a/sci-libs/cantera/cantera-2.6.0-r2.ebuild +++ b/sci-libs/cantera/cantera-2.6.0-r2.ebuild @@ -43,6 +43,7 @@ RDEPEND=" lapack? ( >=sci-libs/sundials-6.5.0:0=[lapack?] ) " +# <cython-3 for bug #913141 DEPEND=" ${RDEPEND} dev-cpp/eigen:3 @@ -50,7 +51,7 @@ DEPEND=" dev-libs/libfmt python? ( $(python_gen_cond_dep ' - dev-python/cython[${PYTHON_USEDEP}] + <dev-python/cython-3[${PYTHON_USEDEP}] dev-python/pip[${PYTHON_USEDEP}] ') ) diff --git a/sci-libs/cantera/cantera-3.0.0.ebuild b/sci-libs/cantera/cantera-3.0.0.ebuild new file mode 100644 index 000000000000..27478930c415 --- /dev/null +++ b/sci-libs/cantera/cantera-3.0.0.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) + +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD="77 90" + +inherit fortran-2 python-single-r1 scons-utils toolchain-funcs + +DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport" +HOMEPAGE="https://www.cantera.org" +SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="fortran hdf5 lapack +python test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} +" + +RDEPEND=" + ${PYTHON_DEPS} + lapack? ( virtual/lapack ) + python? ( + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + ') + ) + dev-cpp/yaml-cpp + hdf5? ( sci-libs/HighFive ) + !lapack? ( sci-libs/sundials:0= ) + lapack? ( >=sci-libs/sundials-6.5.0:0=[lapack?] ) +" + +DEPEND=" + ${RDEPEND} + dev-cpp/eigen:3 + dev-libs/boost:= + dev-libs/libfmt + python? ( + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + ') + ) + test? ( + >=dev-cpp/gtest-1.11.0 + python? ( + $(python_gen_cond_dep ' + dev-python/h5py[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + "${FILESDIR}/${P}_env.patch" +) + +pkg_setup() { + fortran-2_pkg_setup + python-single-r1_pkg_setup +} + +## Full list of configuration options of Cantera is presented here: +## http://cantera.org/docs/sphinx/html/compiling/config-options.html +src_configure() { + scons_vars=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + cc_flags="${CXXFLAGS}" + cxx_flags="-std=c++17" + debug="no" + FORTRAN="$(tc-getFC)" + FORTRANFLAGS="${FCFLAGS}" + optimize_flags="-Wno-inline" + renamed_shared_libraries="no" + use_pch="no" + ## In some cases other order can break the detection of right location of Boost: ## + system_fmt="y" + system_sundials="y" + system_eigen="y" + system_yamlcpp="y" + hdf_support=$(usex hdf5 y n) + system_blas_lapack=$(usex lapack y n) + env_vars="all" + extra_inc_dirs="/usr/include/eigen3" + use_rpath_linkage="yes" + extra_lib_dirs="/usr/$(get_libdir)/${PN}" + ) + use hdf5 && scons_vars+=( system_highfive="y" ) + use lapack && scons_vars+=( blas_lapack_libs="lapack,blas" ) + use test || scons_vars+=( googletest="none" ) + + scons_targets=( + f90_interface=$(usex fortran y n) + ) + + if use python ; then + scons_targets+=( python_package="full" python_cmd="${EPYTHON}" ) + else + scons_targets+=( python_package="none" ) + fi +} + +src_compile() { + escons build "${scons_vars[@]}" "${scons_targets[@]}" prefix="/usr" +} + +src_test() { + escons test +} + +src_install() { + escons install stage_dir="${D}" libdirname="$(get_libdir)" + if ! use python ; then + rm -r "${D}/usr/share/man" || die "Can't remove man files." + else + # Run the byte-compile of modules + python_optimize "${D}$(python_get_sitedir)/${PN}" + fi + + # User could remove this line if require static libs for development purpose + find "${ED}" -name '*.a' -delete || die +} + +pkg_postinst() { + local post_msg=$(usex fortran "and Fortran " "") + elog "C++ ${post_msg}samples are installed to '/usr/share/${PN}/samples/' directory." +} diff --git a/sci-libs/cantera/files/cantera-3.0.0_env.patch b/sci-libs/cantera/files/cantera-3.0.0_env.patch new file mode 100644 index 000000000000..cfc2874250e4 --- /dev/null +++ b/sci-libs/cantera/files/cantera-3.0.0_env.patch @@ -0,0 +1,37 @@ +diff -Naur a/SConstruct b/SConstruct +--- a/SConstruct ++++ b/SConstruct +@@ -819,7 +819,7 @@ + toolchain = ["default"] + + env = Environment(tools=toolchain+["textfile", "subst", "recursiveInstall", "UnitsInterfaceBuilder", "wix", "gch"], +- ENV={"PATH": os.environ["PATH"]}, ++ ENV={'PATH': os.environ['PATH'], 'CCACHE_DIR': os.environ.get('CCACHE_DIR','')}, + toolchain=toolchain, + **extraEnvArgs) + +@@ -970,11 +974,7 @@ + env["CPU"] = get_processor_name() + logger.info(f"Compiling on {env['CPU']!r}") + +-try: +- env["git_commit"] = get_command_output("git", "rev-parse", "--short", "HEAD") +- logger.info(f"Building Cantera from git commit {env['git_commit']!r}") +-except (subprocess.CalledProcessError, FileNotFoundError): +- env["git_commit"] = "unknown" ++env["git_commit"] = "unknown" + + # Print values of all build options: + # the (updated) "cantera.conf" combines all options that were specified by the user +diff -Naur a/src/SConscript b/src/SConscript +--- a/src/SConscript ++++ b/src/SConscript +@@ -89,7 +89,7 @@ + shim = pyenv.SharedObject("extensions/pythonShim.cpp") + pylibname = f"../lib/cantera_python{pyenv['py_version_short'].replace('.', '_')}" + lib = build(pyenv.SharedLibrary(pylibname, shim, SPAWN=get_spawn(pyenv))) +- install("$inst_shlibdir", lib) ++ install("$inst_shlibdir/cantera", lib) + + + # build the Cantera static library diff --git a/sci-libs/cantera/metadata.xml b/sci-libs/cantera/metadata.xml index 919e8bf0ad40..fbc827be0db4 100644 --- a/sci-libs/cantera/metadata.xml +++ b/sci-libs/cantera/metadata.xml @@ -14,7 +14,9 @@ for problems involving chemical kinetics, thermodynamics, and/or transport processes. </longdescription> <use> - <flag name="cti">Install CTI tools (ck2cti, ck2yaml, ctml_writer) for conversion of Chemkin files to Cantera format</flag> + <flag name="cti">Install conversion tools (ck2cti, ck2yaml, ctml_writer) from Chemkin to Cantera format</flag> + <flag name="python">Install Python bindings and conversion tools from Chemkin to Cantera format</flag> + <flag name="hdf5">Add HDF5 container files support</flag> </use> <upstream> <remote-id type="github">cantera/cantera</remote-id> diff --git a/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild b/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild new file mode 100644 index 000000000000..e7186c4571c4 --- /dev/null +++ b/sci-libs/cartopy/cartopy-0.21.1-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{9..11} ) + +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 multibuild multiprocessing virtualx + +MY_PV=${PV/_beta/b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Python package for geospatial data processing and analysis" +HOMEPAGE="https://scitools.org.uk/cartopy" +SRC_URI="https://github.com/SciTools/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}"/${MY_P} + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + sci-libs/gdal[python,${PYTHON_SINGLE_USEDEP}] + sci-libs/geos + $(python_gen_cond_dep ' + >=dev-python/numpy-1.19[${PYTHON_USEDEP}] + dev-python/shapely[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/pillow[jpeg,${PYTHON_USEDEP}] + dev-python/pyproj[${PYTHON_USEDEP}] + sci-libs/pyshp[${PYTHON_USEDEP}] + ') +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/setuptools-scm[${PYTHON_USEDEP}] + dev-python/cython[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/flufl-lock[${PYTHON_USEDEP}] + dev-python/pytest-mpl[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( "${FILESDIR}"/${P}-fix-test.patch + # backports to fix tests with >=PROJ9.2 + "${FILESDIR}"/${PN}-0.21.1-fix-test_proj92.patch + "${FILESDIR}"/${PN}-0.21.1-fix-test_proj92_1.patch ) + +EPYTEST_IGNORE=( + # Require network access, not covered by markers + lib/cartopy/tests/mpl/test_crs.py + lib/cartopy/tests/mpl/test_gridliner.py +) + +distutils_enable_tests pytest + +python_prepare_all() { + export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + + # Prepare matplotlib backend for test suite + export MPLCONFIGDIR="${T}" + echo "backend : Agg" > "${MPLCONFIGDIR}"/matplotlibrc || die + + distutils-r1_python_prepare_all +} + +python_test() { + cd "${BUILD_DIR}" || die + + # Drop all tests needing network access + virtx epytest -n "$(makeopts_jobs)" -m "not network and not natural_earth" || die "test failed" +} diff --git a/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch new file mode 100644 index 000000000000..e9f1d03eeeb2 --- /dev/null +++ b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92.patch @@ -0,0 +1,126 @@ +diff --git a/lib/cartopy/tests/crs/test_equidistant_conic.py b/lib/cartopy/tests/crs/test_equidistant_conic.py +index 045c87e5d..9f50b4f04 100644 +--- a/lib/cartopy/tests/crs/test_equidistant_conic.py ++++ b/lib/cartopy/tests/crs/test_equidistant_conic.py +@@ -10,6 +10,7 @@ + + import numpy as np + from numpy.testing import assert_almost_equal, assert_array_almost_equal ++import pyproj + import pytest + + import cartopy.crs as ccrs +@@ -23,11 +24,16 @@ def test_default(self): + 'y_0=0.0', 'lat_1=20.0', 'lat_2=50.0'} + check_proj_params('eqdc', eqdc, other_args) + ++ expected_x = (-22784919.35600352, 22784919.35600352) ++ expected_y = (-10001965.729313632, 17558791.85156368) ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-22784919.3559981, 22784919.3559981) ++ expected_y = (-10001965.72931272, 17558791.85157471) + assert_almost_equal(np.array(eqdc.x_limits), +- (-22784919.35600352, 22784919.35600352), ++ expected_x, + decimal=7) + assert_almost_equal(np.array(eqdc.y_limits), +- (-10001965.729313632, 17558791.85156368), ++ expected_y, + decimal=7) + + def test_eccentric_globe(self): +@@ -37,12 +43,16 @@ def test_eccentric_globe(self): + other_args = {'a=1000', 'b=500', 'lon_0=0.0', 'lat_0=0.0', 'x_0=0.0', + 'y_0=0.0', 'lat_1=20.0', 'lat_2=50.0'} + check_proj_params('eqdc', eqdc, other_args) +- ++ expected_x = (-3016.869847713461, 3016.869847713461) ++ expected_y = (-1216.6029342241113, 2511.0574375797723) ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-2960.1009481, 2960.1009481) ++ expected_y = (-1211.05573766, 2606.04249537) + assert_almost_equal(np.array(eqdc.x_limits), +- (-3016.869847713461, 3016.869847713461), ++ expected_x, + decimal=7) + assert_almost_equal(np.array(eqdc.y_limits), +- (-1216.6029342241113, 2511.0574375797723), ++ expected_y, + decimal=7) + + def test_eastings(self): +@@ -127,12 +137,16 @@ def test_ellipsoid_transform(self): + 'lat_0=23.0', 'x_0=0.0', 'y_0=0.0', 'lat_1=29.5', + 'lat_2=45.5'} + check_proj_params('eqdc', eqdc, other_args) +- ++ expected_x = (-22421870.719894886, 22421870.719894886) ++ expected_y = (-12546277.778958388, 17260638.403203618) ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-22421870.71988974, 22421870.71988976) ++ expected_y = (-12546277.77895742, 17260638.403216) + assert_almost_equal(np.array(eqdc.x_limits), +- (-22421870.719894886, 22421870.719894886), ++ expected_x, + decimal=7) + assert_almost_equal(np.array(eqdc.y_limits), +- (-12546277.778958388, 17260638.403203618), ++ expected_y, + decimal=7) + + result = eqdc.transform_point(-75.0, 35.0, geodetic) +diff --git a/lib/cartopy/tests/crs/test_sinusoidal.py b/lib/cartopy/tests/crs/test_sinusoidal.py +index 2f2a1821a..9347260a1 100644 +--- a/lib/cartopy/tests/crs/test_sinusoidal.py ++++ b/lib/cartopy/tests/crs/test_sinusoidal.py +@@ -6,6 +6,7 @@ + + import numpy as np + from numpy.testing import assert_almost_equal ++import pyproj + import pytest + + import cartopy.crs as ccrs +@@ -32,10 +33,15 @@ def test_eccentric_globe(self): + other_args = {'a=1000', 'b=500', 'lon_0=0.0', 'x_0=0.0', 'y_0=0.0'} + check_proj_params('sinu', crs, other_args) + ++ expected_x = [-3141.59, 3141.59] ++ expected_y = [-1216.60, 1216.60] ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = [-3141.60, 3141.60] ++ expected_y = [-1211.05, 1211.05] + assert_almost_equal(np.array(crs.x_limits), +- [-3141.59, 3141.59], decimal=2) ++ expected_x, decimal=2) + assert_almost_equal(np.array(crs.y_limits), +- [-1216.60, 1216.60], decimal=2) ++ expected_y, decimal=2) + + def test_offset(self): + crs = ccrs.Sinusoidal() +diff --git a/lib/cartopy/tests/test_crs.py b/lib/cartopy/tests/test_crs.py +index c1a5d11da..b6c38ced3 100644 +--- a/lib/cartopy/tests/test_crs.py ++++ b/lib/cartopy/tests/test_crs.py +@@ -90,9 +90,17 @@ def test_osgb(self, approx): + def test_epsg(self): + uk = ccrs.epsg(27700) + assert uk.epsg_code == 27700 +- assert_almost_equal(uk.x_limits, (-104009.357, 688806.007), decimal=3) +- assert_almost_equal(uk.y_limits, (-8908.37, 1256558.45), decimal=2) +- assert_almost_equal(uk.threshold, 7928.15, decimal=2) ++ expected_x = (-104009.357, 688806.007) ++ expected_y = (-8908.37, 1256558.45) ++ expected_threshold = 7928.15 ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-104728.764, 688806.007) ++ expected_y = (-8908.36, 1256616.32) ++ expected_threshold = 7935.34 ++ assert_almost_equal(uk.x_limits, ++ expected_x, decimal=3) ++ assert_almost_equal(uk.y_limits, expected_y, decimal=2) ++ assert_almost_equal(uk.threshold, expected_threshold, decimal=2) + self._check_osgb(uk) + + def test_epsg_compound_crs(self): diff --git a/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch new file mode 100644 index 000000000000..7ce52bb23364 --- /dev/null +++ b/sci-libs/cartopy/files/cartopy-0.21.1-fix-test_proj92_1.patch @@ -0,0 +1,46 @@ +diff --git a/lib/cartopy/tests/crs/test_lambert_conformal.py b/lib/cartopy/tests/crs/test_lambert_conformal.py +index 6032d2e5c..c64022ff9 100644 +--- a/lib/cartopy/tests/crs/test_lambert_conformal.py ++++ b/lib/cartopy/tests/crs/test_lambert_conformal.py +@@ -5,6 +5,7 @@ + # licensing details. + + from numpy.testing import assert_array_almost_equal ++import pyproj + import pytest + + import cartopy.crs as ccrs +@@ -68,18 +69,29 @@ def test_too_many_parallel(self): + + def test_single_spole(self): + s_pole_crs = ccrs.LambertConformal(standard_parallels=[-1.]) ++ expected_x = (-19939660, 19939660) ++ expected_y = (-735590302, -8183795) ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-19840440, 19840440) ++ expected_y = (-370239953, -8191953) ++ print(s_pole_crs.x_limits) + assert_array_almost_equal(s_pole_crs.x_limits, +- (-19939660, 19939660), ++ expected_x, + decimal=0) + assert_array_almost_equal(s_pole_crs.y_limits, +- (-735590302, -8183795), ++ expected_y, + decimal=0) + + def test_single_npole(self): + n_pole_crs = ccrs.LambertConformal(standard_parallels=[1.]) ++ expected_x = (-20130569, 20130569) ++ expected_y = (-8170229, 726200683) ++ if pyproj.__proj_version__ >= '9.2.0': ++ expected_x = (-20222156, 20222156) ++ expected_y = (-8164817, 360848719) + assert_array_almost_equal(n_pole_crs.x_limits, +- (-20130569, 20130569), ++ expected_x, + decimal=0) + assert_array_almost_equal(n_pole_crs.y_limits, +- (-8170229, 726200683), ++ expected_y, + decimal=0) diff --git a/sci-libs/ccolamd/Manifest b/sci-libs/ccolamd/Manifest index dbe3369e605d..2fc03c4c6a01 100644 --- a/sci-libs/ccolamd/Manifest +++ b/sci-libs/ccolamd/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST ccolamd-2.9.6.tar.bz2 305744 BLAKE2B 0d741ead328a1e888715672ddb617cc96a559f46f2379e1d7792b70868dd290de19b3047e3ed4dd2711084c9afc523d18ecb375aa4ee8a4a12950cee08f238b8 SHA512 cf6f210d26ddb1be454cac377a773b73b75261a74e1e3985565f57f45659b1c11b747829c5bbe99c4bc3e8b364d7b2b3c109e00f6d7e8e41afd713312ebf103c diff --git a/sci-libs/ccolamd/ccolamd-2.9.6.ebuild b/sci-libs/ccolamd/ccolamd-2.9.6.ebuild index 4788aeab19aa..6e52b1703b4f 100644 --- a/sci-libs/ccolamd/ccolamd-2.9.6.ebuild +++ b/sci-libs/ccolamd/ccolamd-2.9.6.ebuild @@ -9,7 +9,7 @@ SRC_URI="http://202.36.178.9/sage//${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" BDEPEND="virtual/pkgconfig" DEPEND="sci-libs/suitesparseconfig" diff --git a/sci-libs/ccolamd/ccolamd-3.0.3.ebuild b/sci-libs/ccolamd/ccolamd-3.0.3.ebuild new file mode 100644 index 000000000000..30e5af46ce42 --- /dev/null +++ b/sci-libs/ccolamd/ccolamd-3.0.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Constrained Column approximate minimum degree ordering algorithm" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0/3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-7.0.0" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + ./ccolamd_example > ccolamd_example.out || die "failed to run test ccolamd_example" + diff "${S}"/Demo/ccolamd_example.out ccolamd_example.out || die "failed testing ccolamd_example" + ./ccolamd_l_example > ccolamd_l_example.out || die "failed to run test ccolamd_l_example" + diff "${S}"/Demo/ccolamd_l_example.out ccolamd_l_example.out || die "failed testing ccolamd_l_example" +} diff --git a/sci-libs/ccolamd/metadata.xml b/sci-libs/ccolamd/metadata.xml index 412ff61d06aa..ba6e076c8fbd 100644 --- a/sci-libs/ccolamd/metadata.xml +++ b/sci-libs/ccolamd/metadata.xml @@ -10,4 +10,7 @@ algorithm, (like COLAMD), but it can also be given a set of ordering constraints. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/ceres-solver/ceres-solver-2.1.0.ebuild b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild index 28312cad9867..0266f174e0e4 100644 --- a/sci-libs/ceres-solver/ceres-solver-2.1.0.ebuild +++ b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild @@ -24,7 +24,7 @@ RESTRICT="!test? ( test )" BDEPEND="${PYTHON_DEPS} >=dev-cpp/eigen-3.3.4:3 lapack? ( virtual/pkgconfig ) - doc? ( dev-libs/mathjax ) + doc? ( <dev-libs/mathjax-3 ) " RDEPEND=" dev-cpp/glog[gflags?,${MULTILIB_USEDEP}] diff --git a/sci-libs/cholmod/Manifest b/sci-libs/cholmod/Manifest index 1630f80a5d08..cf3192387aab 100644 --- a/sci-libs/cholmod/Manifest +++ b/sci-libs/cholmod/Manifest @@ -1,2 +1,3 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST cholmod-3.0.13.tar.bz2 696002 BLAKE2B 40a065fe1a3585897b3ca554a25fa80ffc68ac70798f2f803e34a231ec4f532d113a3d00ab7ab61f5eb02503a84e1459cdb7e96cb0b0d1dc6975ed3d533104fe SHA512 c6c80d099386bac27e385a1b8ee8941cd2fb4f2dcfcf302b4b17d6477ac9ee17ad8030aae9191f92576dfaeb521e2c98ec24e867281c2405e42f95580e14f0ab DIST cholmod-3.0.14.tar.bz2 696981 BLAKE2B 855927c18833235b3f0835bfba455d83957b9161c0ee885c2d31d126f0f473067f55bcf2cfa163c72efb5de573589ffa54b484a8cf89bc44c9dbf64d43fda5d9 SHA512 f8c12fc3c8787be38bca6c6f84a8279c1380fbe4fabbfba754235fdb042d7050bfb7b5a21ea87ef59dbd5184d28e8cb7667966c38f5dcad78fe8d47111896a3c diff --git a/sci-libs/cholmod/cholmod-3.0.14.ebuild b/sci-libs/cholmod/cholmod-3.0.14.ebuild index 565ef4d616e2..458f30a8b9c7 100644 --- a/sci-libs/cholmod/cholmod-3.0.14.ebuild +++ b/sci-libs/cholmod/cholmod-3.0.14.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2" LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )" SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="cuda doc +lapack +matrixops +modify +partition" BDEPEND="virtual/pkgconfig diff --git a/sci-libs/cholmod/cholmod-4.0.3.ebuild b/sci-libs/cholmod/cholmod-4.0.3.ebuild new file mode 100644 index 000000000000..4ab1d6076859 --- /dev/null +++ b/sci-libs/cholmod/cholmod-4.0.3.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib toolchain-funcs + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Sparse Cholesky factorization and update/downdate library" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+cholesky cuda doc openmp +matrixops +modify +partition +supernodal test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV} + >=sci-libs/amd-3.0.3 + >=sci-libs/colamd-3.0.3 + supernodal? ( virtual/lapack ) + partition? ( + >=sci-libs/camd-3.0.3 + >=sci-libs/ccolamd-3.0.3 + ) + cuda? ( + dev-util/nvidia-cuda-toolkit + x11-drivers/nvidia-drivers + )" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +REQUIRED_USE="supernodal? ( cholesky ) + modify? ( cholesky ) + test? ( cholesky matrixops supernodal )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +multilib_src_configure() { + # Not that "N" prefixed options are negative options + # so they need to be turned OFF if you want that option. + # Fortran is turned off as it is only used to compile (untested) demo programs. + local mycmakeargs=( + -DNSTATIC=ON + -DENABLE_CUDA=$(usex cuda) + -DNOPENMP=$(usex openmp OFF ON) + -DNFORTRAN=ON + -DNCHOLESKY=$(usex cholesky OFF ON) + -DNMATRIXOPS=$(usex matrixops OFF ON) + -DNMODIFY=$(usex modify OFF ON) + -DNPARTITION=$(usex partition OFF ON) + -DNSUPERNODAL=$(usex supernodal OFF ON) + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + ./cholmod_demo < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing" + ./cholmod_l_demo < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing" + ./cholmod_demo < "${S}"/Demo/Matrix/lp_afiro.tri || die "failed testing" + ./cholmod_l_demo < "${S}"/Demo/Matrix/lp_afiro.tri || die "failed testing" + ./cholmod_demo < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing" + ./cholmod_l_demo < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing" + ./cholmod_demo < "${S}"/Demo/Matrix/c.tri || die "failed testing" + ./cholmod_l_demo < "${S}"/Demo/Matrix/c.tri || die "failed testing" + ./cholmod_simple < "${S}"/Demo/Matrix/c.tri || die "failed testing" + ./cholmod_simple < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing" + ./cholmod_simple < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing" +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/cholmod/metadata.xml b/sci-libs/cholmod/metadata.xml index 9ba80d3ef6cc..4b106db7f098 100644 --- a/sci-libs/cholmod/metadata.xml +++ b/sci-libs/cholmod/metadata.xml @@ -7,6 +7,9 @@ </maintainer> <use> <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag> + <flag name="cholesky"> + Enable sparse Cholesky factorisation + </flag> <flag name="matrixops"> Support basic sparse and dense matrix operations (add, multiply, scale, et cetera) @@ -17,7 +20,14 @@ </flag> <flag name="partition"> Enable graph partitioning and graph-partition-based orderings - through <pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg> + through <pkg>sci-libs/metis</pkg> (using a bundled fork in 4.0.0+) + or <pkg>sci-libs/parmetis</pkg> + </flag> + <flag name="supernodal"> + supernodal cholesky factorisation </flag> </use> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/clblas/clblas-2.12-r1.ebuild b/sci-libs/clblas/clblas-2.12-r2.ebuild index 1208534eb25c..654c43bcf00f 100644 --- a/sci-libs/clblas/clblas-2.12-r1.ebuild +++ b/sci-libs/clblas/clblas-2.12-r2.ebuild @@ -5,7 +5,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) DOCS_BUILDER="doxygen" -DOCS_DEPEND="dev-libs/mathjax" +DOCS_DEPEND="<dev-libs/mathjax-3" DOCS_CONFIG_NAME="clBLAS.doxy" DOCS_DIR="doc" diff --git a/sci-libs/clblast/clblast-1.5.2-r1.ebuild b/sci-libs/clblast/clblast-1.5.2-r1.ebuild index 604dd3d840e1..ae12ba33513e 100644 --- a/sci-libs/clblast/clblast-1.5.2-r1.ebuild +++ b/sci-libs/clblast/clblast-1.5.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -14,7 +14,7 @@ S="${WORKDIR}/${MYPN}-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux" # Cuda is still beta, default to opencl IUSE="client cuda examples +opencl test" REQUIRED_USE=" diff --git a/sci-libs/coinor-utils/Manifest b/sci-libs/coinor-utils/Manifest index 1f3f6c213142..bb45afeae108 100644 --- a/sci-libs/coinor-utils/Manifest +++ b/sci-libs/coinor-utils/Manifest @@ -1 +1,2 @@ DIST coinor-utils-2.11.4.tar.gz 1225148 BLAKE2B d55f9b3efbb3ce1c04fb9193ec70f62d8f130cd2f7ddf033c0df35f37006c542bd39e345662c271b4466b00c4bb1ec3cc14965bfe35f5b89370071d675113f4d SHA512 a7ac337b0f0bb11d578c44fd12d292ba8e77568362eaaaecbed8f4bc22ed85aaee911e2dd3153a2197b0165df082821969336d73fe1c5f0374a4636755d9a4ad +DIST coinor-utils-2.11.9.tar.gz 1234195 BLAKE2B 5fb097c9c0fc0e76f9b3c269357d70320a1386ea5850ea1f4520da44ef9337ed3540e9a3624676c6094f5571ef62bb3f4fd89d8b49643fb2901850597ad7195b SHA512 c9343edd0ce2dac5a7f025cc8d4a06e48cf966d9b9581d97e787ec801ceda9fbb7ab54c32618304573fed873ba7e291c2562f015fe0446a959b347d32365c2bb diff --git a/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild new file mode 100644 index 000000000000..894f4b5605b5 --- /dev/null +++ b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PN=CoinUtils + +DESCRIPTION="COIN-OR Matrix, Vector and other utility classes" +HOMEPAGE="https://github.com/coin-or/CoinUtils/" +SRC_URI="https://github.com/coin-or/${MY_PN}/archive/releases/${PV}.tar.gz + -> ${P}.tar.gz" +LICENSE="EPL-1.0" + +# major soname component +SLOT="0/3" + +KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 doc glpk blas lapack static-libs test zlib" +RESTRICT="!test? ( test )" + +# Fortran is NOT needed, but the ./configure scripts for all of the CoinOR +# packages contain a check for it. Gentoo bug 601648 and upstream issue, +# +# https://github.com/coin-or/CoinUtils/issues/132 +# +BDEPEND="virtual/fortran + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) + test? ( sci-libs/coinor-sample )" +DEPEND="sys-libs/readline:0= + blas? ( virtual/blas ) + bzip2? ( app-arch/bzip2 ) + glpk? ( sci-mathematics/glpk:= ) + lapack? ( virtual/lapack ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.9-drop-register.patch +) + +src_prepare() { + # Needed to make the --with-coin-instdir in src_configure happy. + dodir /usr + + # They don't need to guess at this, but they do, and get it wrong... + sed -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \ + -i configure \ + || die "failed to fix the pkgconfig path in ${S}/configure" + + default +} + +src_configure() { + local myeconfargs=( + --enable-dependency-linking + --with-coin-instdir="${ED}/usr" + $(use_enable zlib) + $(use_enable bzip2 bzlib) + $(use_with doc dot) + ) + if use blas; then + myeconfargs+=( --with-blas-lib="$($(tc-getPKG_CONFIG) --libs blas)" ) + else + myeconfargs+=( --without-blas ) + fi + if use glpk; then + myeconfargs+=( + --with-glpk-incdir="${EPREFIX}"/usr/include + --with-glpk-lib=-lglpk + ) + else + myeconfargs+=( --without-glpk ) + fi + if use lapack; then + myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" ) + else + myeconfargs+=( --without-lapack ) + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake all $(usex doc doxydoc "") +} + +src_test() { + # NOT redundant! The build system has a "make check" target that does + # nothing, so if you don't specify "test" here, you'll get a no-op. + emake test +} + +src_install() { + use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/") + + emake DESTDIR="${ED}" install + + # Duplicate junk, and in the wrong location. + rm -r "${ED}/usr/share/coin/doc/${MY_PN}" || die +} diff --git a/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch b/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch new file mode 100644 index 000000000000..f8ade78207d5 --- /dev/null +++ b/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch @@ -0,0 +1,71 @@ +https://github.com/coin-or/CoinUtils/commit/1700ed92c2bc1562aabe65dee3b4885bd5c87fb9 +From: Stefan Vigerske <svigerske@gams.com> +Date: Wed, 18 Aug 2021 15:09:53 +0200 +Subject: [PATCH] remove use of register storage class specifier + +- removed in C++17 +--- + src/CoinOslC.h | 16 ++++++++-------- + src/CoinOslFactorization2.cpp | 4 ++-- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/CoinOslC.h b/src/CoinOslC.h +index 2f6d10aae..d8103f86b 100644 +--- a/src/CoinOslC.h ++++ b/src/CoinOslC.h +@@ -33,30 +33,30 @@ + extern "C" { + #endif + +-int c_ekkbtrn(register const EKKfactinfo *fact, ++int c_ekkbtrn(const EKKfactinfo *fact, + double *dwork1, + int *mpt, int first_nonzero); +-int c_ekkbtrn_ipivrw(register const EKKfactinfo *fact, ++int c_ekkbtrn_ipivrw(const EKKfactinfo *fact, + double *dwork1, + int *mpt, int ipivrw, int *spare); + +-int c_ekketsj(register /*const*/ EKKfactinfo *fact, ++int c_ekketsj(/*const*/ EKKfactinfo *fact, + double *dwork1, + int *mpt2, double dalpha, int orig_nincol, + int npivot, int *nuspikp, + const int ipivrw, int *spare); +-int c_ekkftrn(register const EKKfactinfo *fact, ++int c_ekkftrn(const EKKfactinfo *fact, + double *dwork1, + double *dpermu, int *mpt, int numberNonZero); + +-int c_ekkftrn_ft(register EKKfactinfo *fact, ++int c_ekkftrn_ft(EKKfactinfo *fact, + double *dwork1, int *mpt, int *nincolp); +-void c_ekkftrn2(register EKKfactinfo *fact, double *dwork1, ++void c_ekkftrn2(EKKfactinfo *fact, double *dwork1, + double *dpermu1, int *mpt1, int *nincolp, + double *dwork1_ft, int *mpt_ft, int *nincolp_ft); + +-int c_ekklfct(register EKKfactinfo *fact); +-int c_ekkslcf(register const EKKfactinfo *fact); ++int c_ekklfct(EKKfactinfo *fact); ++int c_ekkslcf(const EKKfactinfo *fact); + inline void c_ekkscpy(int n, const int *marr1, int *marr2) + { + CoinMemcpyN(marr1, n, marr2); +diff --git a/src/CoinOslFactorization2.cpp b/src/CoinOslFactorization2.cpp +index ab3225923..177ac437b 100644 +--- a/src/CoinOslFactorization2.cpp ++++ b/src/CoinOslFactorization2.cpp +@@ -19,9 +19,9 @@ + extern int ets_count; + extern int ets_check; + #endif +-#define COIN_REGISTER register ++#define COIN_REGISTER + #define COIN_REGISTER2 +-#define COIN_REGISTER3 register ++#define COIN_REGISTER3 + #ifdef COIN_USE_RESTRICT + #define COIN_RESTRICT2 __restrict + #else + diff --git a/sci-libs/colamd/Manifest b/sci-libs/colamd/Manifest index d892a2a7e321..a699b1aea285 100644 --- a/sci-libs/colamd/Manifest +++ b/sci-libs/colamd/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST colamd-2.9.6.tar.bz2 298903 BLAKE2B e1e3cfa0153e21b742854d28fb6d3ede287c2ec22cfef4268a8aba8bb239be527433907f6984dad976341cf6e1ca9cb39f5c97029ad9bed032a874add9aa0e02 SHA512 f302d18f9ba004c9d1b0e1ada76e70f20fa1d11896815e5300983513b7ed4a7b969adef33adb1a57d67ce856a5ded410874c23d9bba42b6bf1a6a790430f5137 diff --git a/sci-libs/colamd/colamd-2.9.6.ebuild b/sci-libs/colamd/colamd-2.9.6.ebuild index 79ded9be97ef..347cfbd3e12c 100644 --- a/sci-libs/colamd/colamd-2.9.6.ebuild +++ b/sci-libs/colamd/colamd-2.9.6.ebuild @@ -9,7 +9,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" BDEPEND="virtual/pkgconfig" DEPEND=">=sci-libs/suitesparseconfig-5.4.0" diff --git a/sci-libs/colamd/colamd-3.0.3.ebuild b/sci-libs/colamd/colamd-3.0.3.ebuild new file mode 100644 index 000000000000..b0a4af5bedc1 --- /dev/null +++ b/sci-libs/colamd/colamd-3.0.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Column approximate minimum degree ordering algorithm" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0/3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + ./colamd_example > colamd_example.out || die "failed to run test colamd_example" + diff "${S}"/Demo/colamd_example.out colamd_example.out || die "failed testing colamd_example" + ./colamd_l_example > colamd_l_example.out || die "failed to run test colamd_l_example" + diff "${S}"/Demo/colamd_l_example.out colamd_l_example.out || die "failed testing colamd_l_example" +} diff --git a/sci-libs/colamd/metadata.xml b/sci-libs/colamd/metadata.xml index 249c30df3a5c..568cb46d3cfe 100644 --- a/sci-libs/colamd/metadata.xml +++ b/sci-libs/colamd/metadata.xml @@ -15,4 +15,7 @@ matrix M such that M\'*M has the same pattern as A, and then uses COLAMD to compute a column ordering of M. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/cxsparse/Manifest b/sci-libs/cxsparse/Manifest index d3c7291aea21..ecf635014513 100644 --- a/sci-libs/cxsparse/Manifest +++ b/sci-libs/cxsparse/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST cxsparse-3.2.0.tar.bz2 2080196 BLAKE2B 9b89469c45e518077c4348ad3efd8d89d248e4c039057c0286ee44b493ab595075894d01530cbfbe845b91ef5e43cfbfdd102721cfeefe943a1cb4bc5f171843 SHA512 9931dac5b319b61a39ccb5f34309acb4240602b5f55d029c790ed0b7319a373cb925c4b83994526af4bc5b19b88c723f04581068d1fc80960a290c9d6d1e1aef diff --git a/sci-libs/cxsparse/cxsparse-4.0.3.ebuild b/sci-libs/cxsparse/cxsparse-4.0.3.ebuild new file mode 100644 index 000000000000..afd86a8e149e --- /dev/null +++ b/sci-libs/cxsparse/cxsparse-4.0.3.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Extended sparse matrix package" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${Sparse_P}/CXSparse" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Programs assume that they can access the Matrix folder in ${S} + ln -s "${S}/Matrix" || die "cannot link to the Matrix folder" + # Run demo files + ./cs_idemo < Matrix/t2 || die "failed testing" + ./cs_ldemo < Matrix/t2 || die "failed testing" + ./cs_demo1 < Matrix/t1 || die "failed testing" + ./cs_demo2 < Matrix/t1 || die "failed testing" + ./cs_demo2 < Matrix/fs_183_1 || die "failed testing" + ./cs_demo2 < Matrix/west0067 || die "failed testing" + ./cs_demo2 < Matrix/lp_afiro || die "failed testing" + ./cs_demo2 < Matrix/ash219 || die "failed testing" + ./cs_demo2 < Matrix/mbeacxc || die "failed testing" + ./cs_demo2 < Matrix/bcsstk01 || die "failed testing" + ./cs_demo3 < Matrix/bcsstk01 || die "failed testing" + ./cs_demo2 < Matrix/bcsstk16 || die "failed testing" + ./cs_demo3 < Matrix/bcsstk16 || die "failed testing" + ./cs_di_demo1 < Matrix/t1 || die "failed testing" + ./cs_di_demo2 < Matrix/t1 || die "failed testing" + ./cs_di_demo2 < Matrix/fs_183_1 || die "failed testing" + ./cs_di_demo2 < Matrix/west0067 || die "failed testing" + ./cs_di_demo2 < Matrix/lp_afiro || die "failed testing" + ./cs_di_demo2 < Matrix/ash219 || die "failed testing" + ./cs_di_demo2 < Matrix/mbeacxc || die "failed testing" + ./cs_di_demo2 < Matrix/bcsstk01 || die "failed testing" + ./cs_di_demo3 < Matrix/bcsstk01 || die "failed testing" + ./cs_di_demo2 < Matrix/bcsstk16 || die "failed testing" + ./cs_di_demo3 < Matrix/bcsstk16 || die "failed testing" + ./cs_dl_demo1 < Matrix/t1 || die "failed testing" + ./cs_dl_demo2 < Matrix/t1 || die "failed testing" + ./cs_dl_demo2 < Matrix/fs_183_1 || die "failed testing" + ./cs_dl_demo2 < Matrix/west0067 || die "failed testing" + ./cs_dl_demo2 < Matrix/lp_afiro || die "failed testing" + ./cs_dl_demo2 < Matrix/ash219 || die "failed testing" + ./cs_dl_demo2 < Matrix/mbeacxc || die "failed testing" + ./cs_dl_demo2 < Matrix/bcsstk01 || die "failed testing" + ./cs_dl_demo3 < Matrix/bcsstk01 || die "failed testing" + ./cs_dl_demo2 < Matrix/bcsstk16 || die "failed testing" + ./cs_dl_demo3 < Matrix/bcsstk16 || die "failed testing" + ./cs_ci_demo1 < Matrix/t2 || die "failed testing" + ./cs_ci_demo2 < Matrix/t2 || die "failed testing" + ./cs_ci_demo2 < Matrix/t3 || die "failed testing" + ./cs_ci_demo2 < Matrix/t4 || die "failed testing" + ./cs_ci_demo2 < Matrix/c_west0067 || die "failed testing" + ./cs_ci_demo2 < Matrix/c_mbeacxc || die "failed testing" + ./cs_ci_demo2 < Matrix/young1c || die "failed testing" + ./cs_ci_demo2 < Matrix/qc324 || die "failed testing" + ./cs_ci_demo2 < Matrix/neumann || die "failed testing" + ./cs_ci_demo2 < Matrix/c4 || die "failed testing" + ./cs_ci_demo3 < Matrix/c4 || die "failed testing" + ./cs_ci_demo2 < Matrix/mhd1280b || die "failed testing" + ./cs_ci_demo3 < Matrix/mhd1280b || die "failed testing" + ./cs_cl_demo1 < Matrix/t2 || die "failed testing" + ./cs_cl_demo2 < Matrix/t2 || die "failed testing" + ./cs_cl_demo2 < Matrix/t3 || die "failed testing" + ./cs_cl_demo2 < Matrix/t4 || die "failed testing" + ./cs_cl_demo2 < Matrix/c_west0067 || die "failed testing" + ./cs_cl_demo2 < Matrix/c_mbeacxc || die "failed testing" + ./cs_cl_demo2 < Matrix/young1c || die "failed testing" + ./cs_cl_demo2 < Matrix/qc324 || die "failed testing" + ./cs_cl_demo2 < Matrix/neumann || die "failed testing" + ./cs_cl_demo2 < Matrix/c4 || die "failed testing" + ./cs_cl_demo3 < Matrix/c4 || die "failed testing" + ./cs_cl_demo2 < Matrix/mhd1280b || die "failed testing" + ./cs_cl_demo3 < Matrix/mhd1280b || die "failed testing" +} diff --git a/sci-libs/cxsparse/metadata.xml b/sci-libs/cxsparse/metadata.xml index 2aa4c4bf0fff..7a0611fccc34 100644 --- a/sci-libs/cxsparse/metadata.xml +++ b/sci-libs/cxsparse/metadata.xml @@ -10,4 +10,7 @@ with support for double or complex matrices, with int or long integers. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/datasets/Manifest b/sci-libs/datasets/Manifest index 37284ce3b3e7..ac1dc508ab82 100644 --- a/sci-libs/datasets/Manifest +++ b/sci-libs/datasets/Manifest @@ -1 +1,4 @@ DIST datasets-2.11.0.gh.tar.gz 2141289 BLAKE2B 0fb471dd6ee5de3831eb6586c4a15e67381262470b72d5ab02ee87dfc7977cb4d40e04da6507049d1e47cb8948cad11988bb7627293b48231e1cd413d2cfb885 SHA512 9ec2274d7978e3dde1b2f8ce78dd65bdf66742bbfee7b8672af46216aeaae3ef5c4604a8a5ea0bdee808f1c362cca9a122c16d2e9a161678148e581e4cd5c863 +DIST datasets-2.12.0.gh.tar.gz 2149274 BLAKE2B 8f188901dfe293ac2b673f37e0d135e01a8f131adf9030ef1815ce2faa7ba0b36faf64a002cae1ced2d3ed5b7f50f43ba5cda90ab9254fd5f66bbfaed6085f3f SHA512 7389a1c6ee8ff4cda39a2c3f52218aa6f4b1cd6b45f48f83bfa2191359a8999d54153120d968b3cf7e5e932f88822783578e3d859dcb20f38fb0d915d88220c9 +DIST datasets-2.13.1.gh.tar.gz 2166516 BLAKE2B 2269434b94145837e491ec6784218f6972df94a558b9067020076fb44dd937a103e3c57dd3761bb0a4cb3c3b6248299ec2a6c3f03c5bd016daaa8957591bf7b6 SHA512 3d2d1aad86b6a472cd6d0e6c661d4730cc0ed1a0fff55c739fc6a0ba68a8f53ae8789029553abd713d0b30648dd020f1880b2d8110c72b5c89a320c2b24f7752 +DIST datasets-2.14.4.gh.tar.gz 2142214 BLAKE2B d4c98a9f29ca748c3c20f32b9a89f053cf6327f56353341ba0073d3b5561ed9aea372d2fa74cadfa8b0f2ba0f6c2e9b3181cca9724719cfe3969f36bbb893f11 SHA512 c3a0701dd83474f4a0d839fe4ef56cfccc9f1d45b6506d44d0f9100bc9dbc90014d16c8e0090dc13f3b2d963bd96af45281bde6e3d7af230467ec7dd26204aa3 diff --git a/sci-libs/datasets/datasets-2.12.0.ebuild b/sci-libs/datasets/datasets-2.12.0.ebuild new file mode 100644 index 000000000000..66b609fd2b57 --- /dev/null +++ b/sci-libs/datasets/datasets-2.12.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_SINGLE_IMPL=1 +inherit distutils-r1 + +DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks" +HOMEPAGE=" + https://pypi.org/project/datasets/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz" +IUSE="test" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + ${PYTHON_DEPS} + sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/absl-py[${PYTHON_USEDEP}] + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/fsspec[${PYTHON_USEDEP}] + dev-python/multiprocess[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-python/xxhash[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + sci-libs/huggingface_hub[${PYTHON_USEDEP}] + sci-libs/scikit-learn[${PYTHON_USEDEP}] + ') +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + $(python_gen_cond_dep ' + dev-python/pytest-datadir[${PYTHON_USEDEP}] + dev-python/decorator[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}] + sci-libs/jiwer[${PYTHON_USEDEP}] + sci-libs/seqeval[${PYTHON_USEDEP}] + ') +)" + +PATCHES=( "${FILESDIR}"/${P}-tests.patch ) + +distutils_enable_tests pytest diff --git a/sci-libs/datasets/datasets-2.13.1.ebuild b/sci-libs/datasets/datasets-2.13.1.ebuild new file mode 100644 index 000000000000..60a16a43e361 --- /dev/null +++ b/sci-libs/datasets/datasets-2.13.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_SINGLE_IMPL=1 +inherit distutils-r1 + +DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks" +HOMEPAGE=" + https://pypi.org/project/datasets/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz" +IUSE="test" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + ${PYTHON_DEPS} + sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/absl-py[${PYTHON_USEDEP}] + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/fsspec[${PYTHON_USEDEP}] + dev-python/multiprocess[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-python/xxhash[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + sci-libs/huggingface_hub[${PYTHON_USEDEP}] + sci-libs/scikit-learn[${PYTHON_USEDEP}] + ') +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + $(python_gen_cond_dep ' + dev-python/pytest-datadir[${PYTHON_USEDEP}] + dev-python/decorator[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}] + sci-libs/jiwer[${PYTHON_USEDEP}] + sci-libs/seqeval[${PYTHON_USEDEP}] + ') +)" + +PATCHES=( "${FILESDIR}"/${PN}-2.12.0-tests.patch ) + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + rm tests/packaged_modules/test_spark.py || die + rm tests/test_upstream_hub.py || die +} diff --git a/sci-libs/datasets/datasets-2.14.4.ebuild b/sci-libs/datasets/datasets-2.14.4.ebuild new file mode 100644 index 000000000000..08ed796e9c2d --- /dev/null +++ b/sci-libs/datasets/datasets-2.14.4.ebuild @@ -0,0 +1,59 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_SINGLE_IMPL=1 +inherit distutils-r1 + +DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks" +HOMEPAGE=" + https://pypi.org/project/datasets/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz" +IUSE="test" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + ${PYTHON_DEPS} + sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/absl-py[${PYTHON_USEDEP}] + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/fsspec[${PYTHON_USEDEP}] + dev-python/multiprocess[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-python/xxhash[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + sci-libs/huggingface_hub[${PYTHON_USEDEP}] + sci-libs/scikit-learn[${PYTHON_USEDEP}] + ') +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + $(python_gen_cond_dep ' + dev-python/pytest-datadir[${PYTHON_USEDEP}] + dev-python/decorator[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-1*[${PYTHON_USEDEP}] + sci-libs/jiwer[${PYTHON_USEDEP}] + sci-libs/seqeval[${PYTHON_USEDEP}] + ') +)" + +PATCHES=( "${FILESDIR}"/${P}-tests.patch ) + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + rm tests/packaged_modules/test_spark.py || die + rm tests/test_upstream_hub.py || die +} diff --git a/sci-libs/datasets/files/datasets-2.12.0-tests.patch b/sci-libs/datasets/files/datasets-2.12.0-tests.patch new file mode 100644 index 000000000000..6be3156bb70d --- /dev/null +++ b/sci-libs/datasets/files/datasets-2.12.0-tests.patch @@ -0,0 +1,242 @@ +--- a/tests/test_metric_common.py 2023-05-04 18:48:48.550861318 +0200 ++++ b/tests/test_metric_common.py 2023-05-04 18:50:25.787364577 +0200 +@@ -93,6 +93,7 @@ + INTENSIVE_CALLS_PATCHER = {} + metric_name = None + ++ @pytest.mark.skip(reason="disabling, depends on bert_score, bleurt, math_equivalence, coval, nltk, faiss, mauve, rouge_score, sacrebleu, sacremoses ...") + @pytest.mark.filterwarnings("ignore:metric_module_factory is deprecated:FutureWarning") + @pytest.mark.filterwarnings("ignore:load_metric is deprecated:FutureWarning") + def test_load_metric(self, metric_name): +--- a/tests/test_hf_gcp.py 2023-05-04 19:33:31.150825303 +0200 ++++ b/tests/test_hf_gcp.py 2023-05-04 19:40:08.401759538 +0200 +@@ -75,6 +75,7 @@ + self.assertTrue(os.path.exists(datset_info_path)) + + ++@pytest.mark.skip(reason="require apache_beam") + @pytest.mark.integration + def test_as_dataset_from_hf_gcs(tmp_path_factory): + tmp_dir = tmp_path_factory.mktemp("test_hf_gcp") / "test_wikipedia_simple" +--- a/tests/test_distributed.py 2023-05-04 19:43:09.861275030 +0200 ++++ b/tests/test_distributed.py 2023-05-04 19:44:17.608326722 +0200 +@@ -74,6 +74,7 @@ + split_dataset_by_node(full_ds.shuffle(), rank=0, world_size=world_size) + + ++@pytest.mark.skip(reason="require distributed torch") + @pytest.mark.parametrize("streaming", [False, True]) + @require_torch + @pytest.mark.skipif(os.name == "nt", reason="execute_subprocess_async doesn't support windows") +@@ -95,6 +96,7 @@ + execute_subprocess_async(cmd, env=os.environ.copy()) + + ++@pytest.mark.skip(reason="require distributed torch") + @pytest.mark.parametrize( + "nproc_per_node, num_workers", + [ +--- a/tests/utils.py 2023-05-06 08:43:16.251987543 +0200 ++++ b/tests/utils.py 2023-05-06 08:44:24.467952870 +0200 +@@ -55,8 +55,8 @@ + # Audio + require_sndfile = pytest.mark.skipif( + # On Windows and OS X, soundfile installs sndfile +- find_spec("soundfile") is None or version.parse(importlib_metadata.version("soundfile")) < version.parse("0.12.0"), +- reason="test requires sndfile>=0.12.1: 'pip install \"soundfile>=0.12.1\"'; ", ++ True, ++ reason="test requires librosa", + ) + + # Beam +--- a/tests/features/test_audio.py 2023-05-06 09:03:58.680108142 +0200 ++++ a/tests/features/test_audio.py 2023-05-06 09:05:50.463407967 +0200 +@@ -57,6 +57,7 @@ + assert features.arrow_schema == pa.schema({"sequence_of_audios": pa.list_(Audio().pa_type)}) + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_example", + [ +@@ -81,6 +82,7 @@ + assert decoded_example.keys() == {"path", "array", "sampling_rate"} + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_example", + [ +@@ -148,6 +149,7 @@ + assert decoded_example["sampling_rate"] == 48000 + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize("sampling_rate", [16_000, 48_000]) + def test_audio_decode_example_pcm(shared_datadir, sampling_rate): + audio_path = str(shared_datadir / "test_audio_16000.pcm") +@@ -414,6 +417,7 @@ + assert column[0]["sampling_rate"] == 16000 + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_data", + [ +@@ -438,6 +442,7 @@ + assert item["audio"].keys() == {"path", "array", "sampling_rate"} + + ++@pytest.mark.skip(reason="require librosa") + def test_dataset_concatenate_audio_features(shared_datadir): + # we use a different data structure between 1 and 2 to make sure they are compatible with each other + audio_path = str(shared_datadir / "test_audio_44100.wav") +@@ -451,6 +456,7 @@ + assert concatenated_dataset[1]["audio"]["array"].shape == dset2[0]["audio"]["array"].shape + + ++@pytest.mark.skip(reason="require librosa") + def test_dataset_concatenate_nested_audio_features(shared_datadir): + # we use a different data structure between 1 and 2 to make sure they are compatible with each other + audio_path = str(shared_datadir / "test_audio_44100.wav") +@@ -610,6 +616,7 @@ + assert isinstance(ds, Dataset) + + ++@require_sndfile + def test_dataset_with_audio_feature_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +@@ -627,6 +634,7 @@ + assert column[0] == {"path": audio_path, "bytes": None} + + ++@require_sndfile + def test_formatted_dataset_with_audio_feature_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +@@ -658,6 +666,7 @@ + assert column[0] == {"path": audio_path, "bytes": None} + + ++@require_sndfile + def test_dataset_with_audio_feature_map_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +--- a/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:00:39.560876163 +0200 ++++ b/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:01:26.005212423 +0200 +@@ -1,10 +1,8 @@ + import shutil + import textwrap + +-import librosa + import numpy as np + import pytest +-import soundfile as sf + + from datasets import Audio, ClassLabel, Features, Value + from datasets.data_files import DataFilesDict, get_data_patterns_locally +@@ -192,8 +190,11 @@ + return data_files_with_two_splits_and_metadata + + ++@pytest.mark.skip(reason="require soundfile") + @pytest.fixture + def data_files_with_zip_archives(tmp_path, audio_file): ++ import soundfile as sf ++ import librosa + data_dir = tmp_path / "audiofolder_data_dir_with_zip_archives" + data_dir.mkdir(parents=True, exist_ok=True) + archive_dir = data_dir / "archive" +--- a/tests/test_arrow_dataset.py 2023-05-06 15:36:11.080459079 +0200 ++++ b/tests/test_arrow_dataset.py 2023-05-06 15:38:07.452828528 +0200 +@@ -3983,6 +3983,7 @@ + ) + self.assertDictEqual(features_after_cast, dset.features) + ++ @pytest.mark.skip(reason="require soundfile") + def test_task_automatic_speech_recognition(self): + # Include a dummy extra column `dummy` to test we drop it correctly + features_before_cast = Features( +--- a/tests/test_streaming_download_manager.py 2023-05-15 23:06:59.146379973 +0200 ++++ b/tests/test_streaming_download_manager.py 2023-05-15 23:11:32.441363757 +0200 +@@ -217,6 +217,7 @@ + assert output_path == _readd_double_slash_removed_by_path(Path(expected_path).as_posix()) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, exists", + [ +@@ -299,6 +300,7 @@ + assert list(f) == TEST_URL_CONTENT.splitlines(keepends=True) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_paths", + [ +@@ -328,6 +330,7 @@ + xlistdir(root_url, use_auth_token=hf_token) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, isdir", + [ +@@ -355,6 +358,7 @@ + xisdir(root_url, use_auth_token=hf_token) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, isfile", + [ +@@ -378,6 +382,7 @@ + assert xisfile(root_url + "qwertyuiop", use_auth_token=hf_token) is False + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, size", + [ +@@ -402,6 +407,7 @@ + xgetsize(root_url + "qwertyuiop", use_auth_token=hf_token) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_paths", + [ +@@ -444,6 +450,7 @@ + assert len(xglob("zip://qwertyuiop/*::" + root_url, use_auth_token=hf_token)) == 0 + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_outputs", + [ +@@ -533,6 +540,7 @@ + def test_xpath_as_posix(self, input_path, expected_path): + assert xPath(input_path).as_posix() == expected_path + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, exists", + [ +@@ -548,6 +556,7 @@ + (tmp_path / "file.txt").touch() + assert xexists(input_path) is exists + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, pattern, expected_paths", + [ +@@ -586,6 +595,7 @@ + output_paths = sorted(xPath(input_path).glob(pattern)) + assert output_paths == expected_paths + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, pattern, expected_paths", + [ diff --git a/sci-libs/datasets/files/datasets-2.14.4-tests.patch b/sci-libs/datasets/files/datasets-2.14.4-tests.patch new file mode 100644 index 000000000000..5dd322309b20 --- /dev/null +++ b/sci-libs/datasets/files/datasets-2.14.4-tests.patch @@ -0,0 +1,242 @@ +--- a/tests/test_metric_common.py 2023-05-04 18:48:48.550861318 +0200 ++++ b/tests/test_metric_common.py 2023-05-04 18:50:25.787364577 +0200 +@@ -93,6 +93,7 @@ + INTENSIVE_CALLS_PATCHER = {} + metric_name = None + ++ @pytest.mark.skip(reason="disabling, depends on bert_score, bleurt, math_equivalence, coval, nltk, faiss, mauve, rouge_score, sacrebleu, sacremoses ...") + @pytest.mark.filterwarnings("ignore:metric_module_factory is deprecated:FutureWarning") + @pytest.mark.filterwarnings("ignore:load_metric is deprecated:FutureWarning") + def test_load_metric(self, metric_name): +--- a/tests/test_hf_gcp.py 2023-05-04 19:33:31.150825303 +0200 ++++ b/tests/test_hf_gcp.py 2023-05-04 19:40:08.401759538 +0200 +@@ -75,6 +75,7 @@ + self.assertTrue(os.path.exists(datset_info_path)) + + ++@pytest.mark.skip(reason="require apache_beam") + @pytest.mark.integration + def test_as_dataset_from_hf_gcs(tmp_path_factory): + tmp_dir = tmp_path_factory.mktemp("test_hf_gcp") / "test_wikipedia_simple" +--- a/tests/test_distributed.py 2023-05-04 19:43:09.861275030 +0200 ++++ b/tests/test_distributed.py 2023-05-04 19:44:17.608326722 +0200 +@@ -74,6 +74,7 @@ + split_dataset_by_node(full_ds.shuffle(), rank=0, world_size=world_size) + + ++@pytest.mark.skip(reason="require distributed torch") + @pytest.mark.parametrize("streaming", [False, True]) + @require_torch + @pytest.mark.skipif(os.name == "nt", reason="execute_subprocess_async doesn't support windows") +@@ -95,6 +96,7 @@ + execute_subprocess_async(cmd, env=os.environ.copy()) + + ++@pytest.mark.skip(reason="require distributed torch") + @pytest.mark.parametrize( + "nproc_per_node, num_workers", + [ +--- a/tests/utils.py 2023-05-06 08:43:16.251987543 +0200 ++++ b/tests/utils.py 2023-05-06 08:44:24.467952870 +0200 +@@ -50,8 +50,8 @@ + # Audio + require_sndfile = pytest.mark.skipif( + # On Windows and OS X, soundfile installs sndfile +- find_spec("soundfile") is None or version.parse(importlib.metadata.version("soundfile")) < version.parse("0.12.0"), +- reason="test requires sndfile>=0.12.1: 'pip install \"soundfile>=0.12.1\"'; ", ++ True, ++ reason="test requires librosa", + ) + + # Beam +--- a/tests/features/test_audio.py 2023-05-06 09:03:58.680108142 +0200 ++++ a/tests/features/test_audio.py 2023-05-06 09:05:50.463407967 +0200 +@@ -57,6 +57,7 @@ + assert features.arrow_schema == pa.schema({"sequence_of_audios": pa.list_(Audio().pa_type)}) + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_example", + [ +@@ -81,6 +82,7 @@ + assert decoded_example.keys() == {"path", "array", "sampling_rate"} + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_example", + [ +@@ -148,6 +149,7 @@ + assert decoded_example["sampling_rate"] == 48000 + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize("sampling_rate", [16_000, 48_000]) + def test_audio_decode_example_pcm(shared_datadir, sampling_rate): + audio_path = str(shared_datadir / "test_audio_16000.pcm") +@@ -414,6 +417,7 @@ + assert column[0]["sampling_rate"] == 16000 + + ++@pytest.mark.skip(reason="require librosa") + @pytest.mark.parametrize( + "build_data", + [ +@@ -438,6 +442,7 @@ + assert item["audio"].keys() == {"path", "array", "sampling_rate"} + + ++@pytest.mark.skip(reason="require librosa") + def test_dataset_concatenate_audio_features(shared_datadir): + # we use a different data structure between 1 and 2 to make sure they are compatible with each other + audio_path = str(shared_datadir / "test_audio_44100.wav") +@@ -451,6 +456,7 @@ + assert concatenated_dataset[1]["audio"]["array"].shape == dset2[0]["audio"]["array"].shape + + ++@pytest.mark.skip(reason="require librosa") + def test_dataset_concatenate_nested_audio_features(shared_datadir): + # we use a different data structure between 1 and 2 to make sure they are compatible with each other + audio_path = str(shared_datadir / "test_audio_44100.wav") +@@ -610,6 +616,7 @@ + assert isinstance(ds, Dataset) + + ++@require_sndfile + def test_dataset_with_audio_feature_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +@@ -627,6 +634,7 @@ + assert column[0] == {"path": audio_path, "bytes": None} + + ++@require_sndfile + def test_formatted_dataset_with_audio_feature_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +@@ -658,6 +666,7 @@ + assert column[0] == {"path": audio_path, "bytes": None} + + ++@require_sndfile + def test_dataset_with_audio_feature_map_undecoded(shared_datadir): + audio_path = str(shared_datadir / "test_audio_44100.wav") + data = {"audio": [audio_path]} +--- a/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:00:39.560876163 +0200 ++++ b/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:01:26.005212423 +0200 +@@ -1,10 +1,8 @@ + import shutil + import textwrap + +-import librosa + import numpy as np + import pytest +-import soundfile as sf + + from datasets import Audio, ClassLabel, Features, Value + from datasets.data_files import DataFilesDict, get_data_patterns +@@ -192,8 +190,11 @@ + return data_files_with_two_splits_and_metadata + + ++@pytest.mark.skip(reason="require soundfile") + @pytest.fixture + def data_files_with_zip_archives(tmp_path, audio_file): ++ import soundfile as sf ++ import librosa + data_dir = tmp_path / "audiofolder_data_dir_with_zip_archives" + data_dir.mkdir(parents=True, exist_ok=True) + archive_dir = data_dir / "archive" +--- a/tests/test_arrow_dataset.py 2023-05-06 15:36:11.080459079 +0200 ++++ b/tests/test_arrow_dataset.py 2023-05-06 15:38:07.452828528 +0200 +@@ -4136,6 +4136,7 @@ + ) + self.assertDictEqual(features_after_cast, dset.features) + ++ @pytest.mark.skip(reason="require soundfile") + def test_task_automatic_speech_recognition(self): + # Include a dummy extra column `dummy` to test we drop it correctly + features_before_cast = Features( +--- a/tests/test_streaming_download_manager.py 2023-08-26 07:33:41.937389401 +0200 ++++ b/tests/test_streaming_download_manager.py 2023-08-26 07:37:22.521218698 +0200 +@@ -218,6 +218,7 @@ + assert output_path == _readd_double_slash_removed_by_path(Path(expected_path).as_posix()) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, exists", + [ +@@ -301,6 +302,7 @@ + assert list(f) == TEST_URL_CONTENT.splitlines(keepends=True) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_paths", + [ +@@ -331,6 +333,7 @@ + xlistdir(root_url, download_config=download_config) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, isdir", + [ +@@ -358,6 +361,7 @@ + assert xisdir(root_url, download_config=download_config) is False + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, isfile", + [ +@@ -382,6 +386,7 @@ + assert xisfile(root_url + "qwertyuiop", download_config=download_config) is False + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, size", + [ +@@ -407,6 +412,7 @@ + xgetsize(root_url + "qwertyuiop", download_config=download_config) + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_paths", + [ +@@ -450,6 +456,7 @@ + assert len(xglob("zip://qwertyuiop/*::" + root_url, download_config=download_config)) == 0 + + ++@pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, expected_outputs", + [ +@@ -540,6 +547,7 @@ + def test_xpath_as_posix(self, input_path, expected_path): + assert xPath(input_path).as_posix() == expected_path + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, exists", + [ +@@ -555,6 +563,7 @@ + (tmp_path / "file.txt").touch() + assert xexists(input_path) is exists + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, pattern, expected_paths", + [ +@@ -593,6 +602,7 @@ + output_paths = sorted(xPath(input_path).glob(pattern)) + assert output_paths == expected_paths + ++ @pytest.mark.skip(reason="not working in sandbox") + @pytest.mark.parametrize( + "input_path, pattern, expected_paths", + [ diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest index 6062fdd497e2..d5a5844c5276 100644 --- a/sci-libs/dealii/Manifest +++ b/sci-libs/dealii/Manifest @@ -6,3 +6,7 @@ DIST dealii-9.4.1-offline_documentation.tar.gz 392007419 BLAKE2B 81404b02ba7dc97 DIST dealii-9.4.1-offline_documentation.tar.gz.asc 246 BLAKE2B 9ace22c9b174e642cd3fba94c165d816c62814f892f5f6f272efa0301613dc55251152825e726fc6cf7e89bbfb7fa3552ec58ad426a7d58a74ecb89b9072f742 SHA512 50b43dd34a0687395f516f4910581df71054fa8be3c98006566ea649d0af866d38c9793da548ba6bdb7a9fec452dfb6d928d336aace943522d7c3f854209b81b DIST dealii-9.4.1.tar.gz 30298204 BLAKE2B 499f542c7a7f071d04048127199c7bebf5668b6e8d13fc2701dd18e28165442e58112ee9e4926e16a592bffdd5d7b7c240eea55808e5f9c021961f7e44b7da79 SHA512 39089aff462d3ff4244ce75f74a4cd908f8f72a81dcc3fb02ca91b3cad2442ceb78677e72cd928b36a04d352c4baa146a25fa5e14c886ca9e2bad0be0069f7b8 DIST dealii-9.4.1.tar.gz.asc 246 BLAKE2B dbb1dc7b3e8a97f29287f154d11cd3db2566fdc4c7667fa57e686e2feba33f2115546408365f0e8f490ba593cb582b12489de373da3e33e8702b6e16804c7ebf SHA512 eb987d34f19b59d523d79f3c2c99f5f3125b1d0c71af0eb32b77ad5959d6197b79f1971a8a79dbc52bab698335dcb6091aac88c51d845a1e07d3681c089754c7 +DIST dealii-9.5.0-offline_documentation.tar.gz 412499027 BLAKE2B 521aa2488d84d48a624f4cbdbe9c173d0cdcee2df8d06b97b7c25ba28d4a2113a7da9fd9abd9eb64cd56b37f8edc716bd034fc3ba8823f8b1def26c34aaeeb55 SHA512 2e0d331f92d52b0fd909a0139157a1960a9222d46d537611f0508cdb79020a8e51ff0da6aefdf95adff732cea050b72df7dc1a8af7e93c736721970218815cfe +DIST dealii-9.5.0-offline_documentation.tar.gz.asc 246 BLAKE2B 0a570885e80ad09ff154532b71c07e33894e93c96b3bca48dc8aae0b308883518cbb5eca57658c4e13de47efba47c3cb20bf376482ef7a26c6c0da93ee4dd689 SHA512 b63a9a0504fe5266b448ffda74e1d85ad5b6f344535c5b5f11d209546b51bb916ad69504ce5e4f1fd2287407c2d3d98a20b01bd830e8d45f510a85b7a057a8d5 +DIST dealii-9.5.1.tar.gz 31522808 BLAKE2B 99db2beafb949364869fc7f06f78bf921b0d99c69de57da40115b0eb939e1c9a40dcbf40a186a988189ea92a6e1295da4969fd33a7e4738b27813ff1842cb99a SHA512 7ba4e4751417a7916cb059379b3b70afcaa5f62786e92ac7332b6f55cbcfcb25df15de2a6071cc33444c911f104e576f8792ea4ac4e6702186e5740c7c909d72 +DIST dealii-9.5.1.tar.gz.asc 246 BLAKE2B 4d6aac271d1f460c66a54eff2012ded302093ef68777ff91f40d9472694541fa5e168e34e13dfada4444d3a8353dbca44756884c3f944f6f29169fc649d0395c SHA512 1065d0ab07b2ebc52fc52faf896e6d757f89f523c7a16c650307fe115dde361e6e0ecb96c9e5ecfbe5ebe58728fdd76bf83cbb3cb82cdb76b182526fee42ecb3 diff --git a/sci-libs/dealii/dealii-9.4.0-r1.ebuild b/sci-libs/dealii/dealii-9.4.0-r1.ebuild index 23dd968667ef..d4c12d38bb5b 100644 --- a/sci-libs/dealii/dealii-9.4.0-r1.ebuild +++ b/sci-libs/dealii/dealii-9.4.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -84,7 +84,7 @@ PATCHES=( "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch ) -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dealii.asc" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" src_configure() { # deal.II needs a custom build type: diff --git a/sci-libs/dealii/dealii-9.4.1-r1.ebuild b/sci-libs/dealii/dealii-9.4.1-r1.ebuild index 23dd968667ef..d4c12d38bb5b 100644 --- a/sci-libs/dealii/dealii-9.4.1-r1.ebuild +++ b/sci-libs/dealii/dealii-9.4.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -84,7 +84,7 @@ PATCHES=( "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch ) -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dealii.asc" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" src_configure() { # deal.II needs a custom build type: diff --git a/sci-libs/dealii/dealii-9.5.1.ebuild b/sci-libs/dealii/dealii-9.5.1.ebuild new file mode 100644 index 000000000000..f25e51e29fdd --- /dev/null +++ b/sci-libs/dealii/dealii-9.5.1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# deal.II uses its own FindLAPACK.cmake file that calls into the system +# FindLAPACK.cmake module and does additional internal setup. Do not remove +# any of these modules: +CMAKE_REMOVE_MODULES_LIST="" + +inherit cmake flag-o-matic verify-sig + +DESCRIPTION="Solving partial differential equations with the finite element method" +HOMEPAGE="https://www.dealii.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dealii/dealii.git" + SRC_URI="" +else + DOC_PV=9.5.0 + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz.asc ) + doc? ( + https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz + verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz.asc ) + )" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE=" + adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f + cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 + +lapack metis mpi muparser opencascade p4est petsc scalapack slepc + +sparse sundials symengine trilinos +" + +# TODO: add slepc use flag once slepc is packaged for gentoo-science +REQUIRED_USE=" + arborx? ( trilinos ) + p4est? ( mpi ) + slepc? ( petsc ) + trilinos? ( mpi )" + +RDEPEND="dev-libs/boost:= + app-arch/bzip2 + sys-libs/zlib + dev-cpp/tbb:= + arborx? ( sci-libs/arborx[mpi=] ) + adolc? ( sci-libs/adolc ) + arpack? ( sci-libs/arpack[mpi=] ) + assimp? ( media-libs/assimp:= ) + cgal? ( sci-mathematics/cgal ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + ginkgo? ( sci-libs/ginkgo ) + gmsh? ( sci-libs/gmsh ) + gsl? ( sci-libs/gsl:= ) + hdf5? ( sci-libs/hdf5[mpi=] ) + lapack? ( virtual/lapack ) + metis? ( + >=sci-libs/metis-5 + mpi? ( >=sci-libs/parmetis-4 ) + ) + mpi? ( virtual/mpi[cxx] ) + muparser? ( dev-cpp/muParser ) + opencascade? ( sci-libs/opencascade:= ) + p4est? ( sci-libs/p4est[mpi] ) + petsc? ( sci-mathematics/petsc[mpi=] ) + scalapack? ( sci-libs/scalapack ) + slepc? ( sci-mathematics/slepc[mpi=] ) + sparse? ( sci-libs/umfpack ) + sundials? ( sci-libs/sundials:= ) + symengine? ( >=sci-libs/symengine-0.4:= ) + trilinos? ( sci-libs/trilinos ) + || ( + dev-cpp/kokkos + sci-libs/trilinos + ) + " + +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] dev-lang/perl )" + +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-dealii )" + +PATCHES=( +) + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" + +src_configure() { + # deal.II needs a custom build type: + local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) + + local mycmakeargs=( + -DDEAL_II_PACKAGE_VERSION="${PV}" + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF + -DDEAL_II_ALLOW_AUTODETECTION=OFF + -DDEAL_II_ALLOW_BUNDLED=OFF + -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" + -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" + -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" + -DDEAL_II_SHARE_RELDIR="share/${PN}" + -DDEAL_II_WITH_ZLIB=ON + -DDEAL_II_WITH_ADOLC="$(usex adolc)" + -DDEAL_II_WITH_ARBORX="$(usex arborx)" + -DDEAL_II_WITH_ASSIMP="$(usex assimp)" + -DDEAL_II_WITH_ARPACK="$(usex arpack)" + -DDEAL_II_WITH_CGAL="$(usex cgal)" + -DDEAL_II_WITH_CUDA="$(usex cuda)" + -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" + -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" + -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" + -DDEAL_II_WITH_GMSH="$(usex gmsh)" + -DDEAL_II_WITH_GSL="$(usex gsl)" + -DDEAL_II_WITH_HDF5="$(usex hdf5)" + -DDEAL_II_WITH_LAPACK="$(usex lapack)" + -DDEAL_II_WITH_METIS="$(usex metis)" + -DDEAL_II_WITH_MPI="$(usex mpi)" + -DDEAL_II_WITH_MUPARSER="$(usex muparser)" + -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" + -DDEAL_II_WITH_P4EST="$(usex p4est)" + -DDEAL_II_WITH_PETSC="$(usex petsc)" + -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" + -DDEAL_II_WITH_SLEPC="$(usex slepc)" + -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" + -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" + -DDEAL_II_WITH_UMFPACK="$(usex sparse)" + -DDEAL_II_WITH_TBB=ON + -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" + ) + + use opencascade && mycmakeargs+=( + -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade" + ) + + # Do a little dance for purely cosmetic QA reasons. The build system + # does query for the highest instruction set first and skips the other + # variables if a "higher" variant is set + if use cpu_flags_x86_avx512f; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) + append-cxxflags "-mavx512f" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) + append-cxxflags "-mavx2" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) + append-cxxflags "-msse2" + fi + + cmake_src_configure +} + +src_install() { + if use doc && [[ ${PV} != *9999* ]]; then + # copy missing images to the build directory: + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ + "${BUILD_DIR}"/doc/doxygen/deal.II || die + # replace links: + sed -i \ + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ + "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" + fi + cmake_src_install + + # decompress the installed example sources: + use examples && docompress -x /usr/share/doc/${PF}/examples +} diff --git a/sci-libs/dealii/dealii-9999.ebuild b/sci-libs/dealii/dealii-9999.ebuild index 3d175695c483..c6d3a65a9086 100644 --- a/sci-libs/dealii/dealii-9999.ebuild +++ b/sci-libs/dealii/dealii-9999.ebuild @@ -31,7 +31,7 @@ IUSE=" adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 +lapack metis mpi muparser opencascade p4est petsc scalapack slepc - +sparse static-libs sundials symengine trilinos + +sparse sundials symengine trilinos " # TODO: add slepc use flag once slepc is packaged for gentoo-science @@ -70,7 +70,12 @@ RDEPEND="dev-libs/boost:= sparse? ( sci-libs/umfpack ) sundials? ( sci-libs/sundials:= ) symengine? ( >=sci-libs/symengine-0.4:= ) - trilinos? ( sci-libs/trilinos )" + trilinos? ( sci-libs/trilinos ) + || ( + dev-cpp/kokkos + sci-libs/trilinos + ) + " DEPEND="${RDEPEND} virtual/pkgconfig @@ -109,7 +114,6 @@ src_configure() { -DDEAL_II_WITH_GMSH="$(usex gmsh)" -DDEAL_II_WITH_GSL="$(usex gsl)" -DDEAL_II_WITH_HDF5="$(usex hdf5)" - -DDEAL_II_WITH_KOKKOS="$(usex trilinos)" -DDEAL_II_WITH_LAPACK="$(usex lapack)" -DDEAL_II_WITH_METIS="$(usex metis)" -DDEAL_II_WITH_MPI="$(usex mpi)" @@ -122,8 +126,6 @@ src_configure() { -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" -DDEAL_II_WITH_UMFPACK="$(usex sparse)" - -DBUILD_SHARED_LIBS="$(usex !static-libs)" - -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" -DDEAL_II_WITH_TBB=ON -DDEAL_II_WITH_TASKFLOW=OFF -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" @@ -147,11 +149,6 @@ src_configure() { append-cxxflags "-msse2" fi - # Unconditionally enable strict C++17 standard. This is necessary for - # USE=cgal and USE=kokkos and safe to set for all presently supported - # compilers - append-cxxflags "-std=c++17" - cmake_src_configure } diff --git a/sci-libs/fplll/Manifest b/sci-libs/fplll/Manifest index 6cb16cd50382..7e0d81296e8f 100644 --- a/sci-libs/fplll/Manifest +++ b/sci-libs/fplll/Manifest @@ -1 +1,2 @@ DIST fplll-5.4.4.tar.gz 2630101 BLAKE2B b990c9346acd2c506b4697f27ff21d8453bb97473b2e988beb2ab9da34b3edd8a64d7558bca5f66a888fb4397c1e5340cf50f543ec580f0ec6980bc8c73a9390 SHA512 32a6515a3ab2677739a60a4ef0938e4284b5d3119a396104a7af22a6291ef669b42a4fb6e59f5c6daf97ff2402e7d035ea84fd1c76bfe7c0e17402bd03ae7166 +DIST fplll-5.4.5.tar.gz 2630275 BLAKE2B 43d1601f401c3a4eba60939028b26f99d32f92b9d53b763768427d05b2d709645532c4fbb14556c8d8d92cc14efe86468469ed69a77bdb03af75ec08499cc17e SHA512 3e1281f1b993ebe4a767b7fc526f49a27d58f24b1b4c6074310cc971f6f569388d6ba27102087a2eb11671d2d5b87bd60306e2597567f4ae8dd2a9efd13beb77 diff --git a/sci-libs/fplll/fplll-5.4.5.ebuild b/sci-libs/fplll/fplll-5.4.5.ebuild new file mode 100644 index 000000000000..d8ad2144d60b --- /dev/null +++ b/sci-libs/fplll/fplll-5.4.5.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Implementations of the floating-point LLL reduction algorithm" +HOMEPAGE="https://github.com/fplll/fplll" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/8" +KEYWORDS="~amd64 ~x86" +IUSE="qd" + +BDEPEND="virtual/pkgconfig" +DEPEND="dev-libs/gmp:0 + dev-libs/mpfr:0 + qd? ( sci-libs/qd )" +RDEPEND="${DEPEND}" + +src_configure() { + econf \ + $(use_with qd) +} + +src_install() { + default + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sci-libs/galib/Manifest b/sci-libs/galib/Manifest index a81b53228554..9a0f9f379530 100644 --- a/sci-libs/galib/Manifest +++ b/sci-libs/galib/Manifest @@ -1 +1,2 @@ +DIST galib-2.4.7-patches.tar.xz 4180 BLAKE2B 3e0f9bc5c7f3289c1839ef5c2151e72079e2ca19a884ce705bc723a379b76185bb5ebc83b5c465f6df2468e5ca8eaf18d3dbbd807ef9af5899f377d83a94535e SHA512 245fc139aed8f09ba39a0a78b0ed21ac6f8c7d33bdffe24f18f53f688beae00353ac0abfa3746ee733ee30efb1fbf4084b553e7a5b647f1a41fd019ab1218c1a DIST galib247.tgz 374912 BLAKE2B d6f0d757cee9a1c26eb4525862dc2e9761449492edb323ba30ea70cde95b72da2a90fad4a931ab1d07d8bc0fca2b62672357ee790b1e67f3e9b480d5aff26106 SHA512 9c2aca29f24d3f8401ba65c246a0ca7d1fa67e4f756a5258cdb0da111842ea2903c2d70cfd9d60823c9703bcb3415ca670a731924e99878d5536c2f7eb0faba4 diff --git a/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch b/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch deleted file mode 100644 index faa7dcff446d..000000000000 --- a/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch +++ /dev/null @@ -1,79 +0,0 @@ -Fix -Wformat-security issues, as we do not want to install potentially -dangerous example C++ files on user systems: -* ex18.C: In function ‘int main(int, char**)’: -* ex18.C:92:27: warning: format not a string literal and no format arguments [-Wformat-security] -* sprintf(filename, argv[i]); - ---- a/examples/ex18.C -+++ b/examples/ex18.C -@@ -89,7 +89,7 @@ - exit(1); - } - else{ -- sprintf(filename, argv[i]); -+ sprintf(filename, "%s", argv[i]); - continue; - } - } ---- a/examples/ex3.C -+++ b/examples/ex3.C -@@ -71,7 +71,7 @@ - exit(1); - } - else{ -- sprintf(filename, argv[i]); -+ sprintf(filename, "%s", argv[i]); - continue; - } - } ---- a/examples/ex5.C -+++ b/examples/ex5.C -@@ -308,7 +308,7 @@ - exit(1); - } - else{ -- sprintf(filename1, argv[i]); -+ sprintf(filename1, "%s", argv[i]); - continue; - } - } -@@ -318,7 +318,7 @@ - exit(1); - } - else{ -- sprintf(filename2, argv[i]); -+ sprintf(filename2, "%s", argv[i]); - continue; - } - } ---- a/examples/ex7.C -+++ b/examples/ex7.C -@@ -68,7 +68,7 @@ - exit(1); - } - else{ -- sprintf(datafile, argv[i]); -+ sprintf(datafile, "%s", argv[i]); - continue; - } - } -@@ -78,7 +78,7 @@ - exit(1); - } - else{ -- sprintf(parmfile, argv[i]); -+ sprintf(parmfile, "%s", argv[i]); - params.read(parmfile); - continue; - } ---- a/ga/gaerror.C -+++ b/ga/gaerror.C -@@ -21,7 +21,7 @@ - static STD_OSTREAM *__gaErrStream = & STD_CERR; - #endif - static GABoolean __gaErrFlag = gaTrue; --static char *__gaErrStr[] = { -+static const char *__gaErrStr[] = { - "error reading from file: ", - "error writing to file: ", - "unexpected EOF encountered during read.", diff --git a/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch b/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch deleted file mode 100644 index 3ed7ad84e6d4..000000000000 --- a/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch +++ /dev/null @@ -1,65 +0,0 @@ -Fix the build system, removing hardcoded values for toolchain variables. - ---- a/examples/makefile -+++ b/examples/makefile -@@ -6,7 +6,6 @@ - # want to compile. See the README for a description of what each example does. - # ----------------------------------------------------------------------------- - --include ../makevars - - # Set these paths to the location of the GA library and headers. - #GA_INC_DIR= /usr/local/include -@@ -14,8 +13,6 @@ - GA_INC_DIR= .. - GA_LIB_DIR= ../ga - --INC_DIRS= -I$(GA_INC_DIR) --LIB_DIRS= -L$(GA_LIB_DIR) - - EXS=randtest\ - ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9\ -@@ -24,7 +21,7 @@ - - .SUFFIXES: .C - .C.o: -- $(CXX) $(CXXFLAGS) $(INC_DIRS) -c $< -+ $(CXX) $(CXXFLAGS) -I.. -c $< - - all: $(EXS) - -@@ -34,7 +31,7 @@ - - # Use this for gnu make - $(EXS): %: %.o -- $(CXX) $@.o -o $@ $(LIB_DIRS) -lga -lm $(CXX_LIBS) -+ $(CXX) $@.o -o $@ -L../ga/ -lga -lm $(CXX_LIBS) - - clean: - $(RM) $(EXS) ---- a/ga/makefile -+++ b/ga/makefile -@@ -14,7 +14,7 @@ - - $(LIB): $(OBJS) - $(PRELINK) -- $(AR) $(LIB) $? -+ $(AR) rv $(LIB) $? - $(RANLIB) $(LIB) - echo "$(CXX) $(CXXFLAGS)" > BUILD - @echo $(LIB) is now up-to-date ---- a/makevars -+++ b/makevars -@@ -31,12 +31,7 @@ - # verified 06mar07 on linux-x86 (debian with gcc 3.3.5) - # verified 06mar07 on linux-x86 (ubuntu with gcc 4.0.3) - # verified 06mar07 on macosx-ppc (macosx 10.4.8 with gcc 4.0.1) --CXX = g++ --CXXFLAGS = -g -Wall --LD = g++ -w --AR = ar rv - INSTALL = install -c --RANLIB = echo no ranlib - - # gcc2 - # verified 28dec04 on linux-x86 (redhat 6.2 with gcc 2.95.2) diff --git a/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch b/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch deleted file mode 100644 index babc84b63524..000000000000 --- a/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch +++ /dev/null @@ -1,85 +0,0 @@ -Fix building with C++14, which errors out due to stricter two-phase lookup. -See also: https://bugs.gentoo.org/show_bug.cgi?id=594504 - -Patch by Peter Levine - ---- a/ga/GA1DArrayGenome.C -+++ b/ga/GA1DArrayGenome.C -@@ -222,8 +222,8 @@ - aset = new GAAlleleSet<T>[1]; - aset[0] = s; - -- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER); -- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR); -+ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR); - comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR); - crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER); - } -@@ -238,8 +238,8 @@ - for(int i=0; i<naset; i++) - aset[i] = sa.set(i); - -- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER); -- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR); -+ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR); - comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR); - crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER); - } ---- a/ga/GA2DArrayGenome.C -+++ b/ga/GA2DArrayGenome.C -@@ -269,10 +269,10 @@ - aset = new GAAlleleSet<T>[1]; - aset[0] = s; - -- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER); -- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR); -- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR); -- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER); -+ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR); -+ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR); -+ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER); - } - - template <class T> -@@ -286,10 +286,10 @@ - for(int i=0; i<naset; i++) - aset[i] = sa.set(i); - -- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER); -- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR); -- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR); -- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER); -+ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR); -+ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR); -+ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER); - } - - ---- a/ga/GA3DArrayGenome.C -+++ b/ga/GA3DArrayGenome.C -@@ -322,8 +322,8 @@ - aset = new GAAlleleSet<T>[1]; - aset[0] = s; - -- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER); -- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR); -+ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR); - comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR); - crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER); - } -@@ -339,8 +339,8 @@ - for(int i=0; i<naset; i++) - aset[i] = sa.set(i); - -- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER); -- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR); -+ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER); -+ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR); - comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR); - crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER); - } diff --git a/sci-libs/galib/galib-2.4.7-r1.ebuild b/sci-libs/galib/galib-2.4.7-r1.ebuild deleted file mode 100644 index cb0d9e5d4d9a..000000000000 --- a/sci-libs/galib/galib-2.4.7-r1.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-funcs - -MY_PV="${PV//\./}" - -DESCRIPTION="Library for genetic algorithms in C++ programs" -HOMEPAGE="http://lancet.mit.edu/ga/" -SRC_URI="http://lancet.mit.edu/ga/dist/galib${MY_PV}.tgz" - -LICENSE="BSD examples? ( GPL-2 )" -SLOT="0" -KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="doc examples" - -S="${WORKDIR}/${PN}${MY_PV}" - -PATCHES=( - "${FILESDIR}/${PN}-2.4.7-fix-buildsystem.patch" - "${FILESDIR}/${PN}-2.4.7-fix-c++14.patch" - "${FILESDIR}/${PN}-2.4.7-Wformat-security.patch" -) - -src_prepare() { - default - sed -e "s:/include:${EPREFIX}/usr/include:" \ - -e "s:/lib:${EPREFIX}/usr/$(get_libdir):" \ - -i makevars || die -} - -src_compile() { - emake \ - CXX="$(tc-getCXX)" \ - AR="$(tc-getAR)" \ - RANLIB="$(tc-getRANLIB)" \ - lib - emake -C examples clean -} - -src_install() { - dodir /usr/$(get_libdir) - - use doc && HTML_DOCS+=( doc/. ) - if use examples; then - dodoc -r examples - find "${ED%/}/usr/share/doc/${PF}/examples" -iname 'makefile*' -delete || die - docompress -x /usr/share/doc/${PF}/examples - fi - - default -} diff --git a/sci-libs/galib/galib-2.4.7-r2.ebuild b/sci-libs/galib/galib-2.4.7-r2.ebuild new file mode 100644 index 000000000000..a4bd3d281306 --- /dev/null +++ b/sci-libs/galib/galib-2.4.7-r2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PV="${PV//\./}" + +DESCRIPTION="Library for genetic algorithms in C++ programs" +HOMEPAGE="http://lancet.mit.edu/ga/" +SRC_URI=" + http://lancet.mit.edu/ga/dist/galib${MY_PV}.tgz + https://dev.gentoo.org/~soap/distfiles/${P}-patches.tar.xz" +S="${WORKDIR}/${PN}${MY_PV}" + +LICENSE="BSD examples? ( GPL-2 )" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples" + +PATCHES=( "${WORKDIR}"/patches ) + +src_configure() { + tc-export AR CXX + export LIBDIR="${EPREFIX}"/usr/$(get_libdir) + export INCDIR="${EPREFIX}"/usr/include +} + +src_compile() { + emake lib + emake -C examples clean +} + +src_install() { + use doc && HTML_DOCS=( doc/. ) + if use examples; then + dodoc -r examples + find "${ED}"/usr/share/doc/${PF}/examples -iname 'makefile*' -delete || die + docompress -x /usr/share/doc/${PF}/examples + fi + + default +} diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest index c54d79b8f678..1312fc2cb753 100644 --- a/sci-libs/gdal/Manifest +++ b/sci-libs/gdal/Manifest @@ -1,4 +1,12 @@ DIST gdal-3.6.4.tar.xz 8648032 BLAKE2B d6abdbcc87029bf230dae5586f06cbd329e5e43be37d8f5e9a72c67c93a6769458cc9c693b498e3f697b1ee1b68c9f9dbf7545ff9819fceb8fdde81b8d4ac882 SHA512 a8f69158d44ea456c44cfcb8937892697a28d2e4a43333c28db8fb9e81c51436a6edcb7a392b8c7ef63cd7453be6350a938bc4ba910720d9d5d9a1f32c57c558 DIST gdal-3.7.0.tar.xz 8604724 BLAKE2B 400cc17fc636c637f7c40e93aed8e2db7bfbbe73741da4135cfeec8dbcda24ce0c8035214edf038afc29a916012da86a78d789729540f870231dfa6aa27e424a SHA512 4a3262d75ffbb58ec0821cd266843e28ca64c34383fb2bfaf30c984bf01c6d012381892a31a2ebc7c27a58b058fb44389cd45b05b619579b6178feb192f37bc6 +DIST gdal-3.7.1.tar.xz 8614512 BLAKE2B c137ca19809170948b5b7bf852193d922d167fed554eef0cf43f326098b7b7faa40427fddbe14b051af31bbc53a91555ce562f88d04f37f81e0753265383c42a SHA512 c72483a28af8f5512757a9f319c70a12e5d5cd5e30cb2ace160e7cbad6099544526a7136875582b6e76ce10968ef1bd67a78e4df65d64bc4e8feeb7684146ca6 +DIST gdal-3.7.2.tar.xz 8619608 BLAKE2B 29a96e34f4ffe661fc2af786b9a229be779ed5e91e4c580834f6624f4173ede8adf22c27b2830c446736c0ff37501441ab2afea9f780dad4588636b03deb1f71 SHA512 6f2bd93520bd45e64b7613c8bcb0e0848d7ce10bcf716ff6ba5ef9ec9cad5798d65c79461fe0b83e99103ac12893893fea44b9b4c23f1e2f05b914f3e7f982f1 +DIST gdal-3.7.3.tar.xz 8625812 BLAKE2B 743ce2d8027fb228630a2951af2de8ac7fb5fa0b32124d58fb545ac61fdf5240f17ae85cfdcab51ea5e1b4e2311b55af4c7bbdfe82c6ed5ea180a5c8b254ccfd SHA512 84b2cb2cb7b9b78dbdd151a9029102e224db4a0901069f41c1672cb02ca049efb4cc84ef7f65acb8e53dcfe1e02f52822efdaff2875654408fc133c68ec01238 +DIST gdal-3.8.0.tar.xz 8853728 BLAKE2B 646aa91283e7228a054221d120bddb456c8b898f9155edd289f2b2e0bf8706fa3045a98d26e4cf5ba5dba6d8c1c7f0a7f4aaaded9457481a65910c2d313c8f9d SHA512 42b3a381190922e546ae83355f56532b92d519b1eac357a9c116ee19b67b67362f282e248e2d82c14ae04cae04dce175bb652f481879442ffa5b58f764a088dd DIST gdalautotest-3.6.4.tar.gz 12614090 BLAKE2B d2c33b56790c1cb030a102ff48bec33c3d187c5be6e13d56da8d6cb8e9393734c2144274cbe08cf82b2a023ffb75df9fd01bcfd9f3d73076c95c4b213823f64e SHA512 2a7704e57f8bc0687c759d047b5a8fb290b2959eb058e02b08edf12e9cca17d6a9121213ef48e8b616c94c8cbe321531612700c6db52cb47fbcc5893c1c1c1c1 DIST gdalautotest-3.7.0.tar.gz 13785892 BLAKE2B cac18436ad2acb558e27e8ba3f1f2c22aa6c7ba258abe25118acf65fb2cb8a3d5f132ccb8315912a54d07f035b5ff331cf6a66bdf51a54c8275c5203e844eb82 SHA512 81e80c799a8a910a861182480e8306c8583cdffe7cb62f47fbaddf031e1c4d1d3fb341edf0daddbb8c934e5f2d547b380feb2f5a9f22cd50db14e43c2b02737b +DIST gdalautotest-3.7.1.tar.gz 13830135 BLAKE2B 277574c603fe92758246577df3717363a45c7321378ea15766f4198100f3277e12028ee3b480bc1a7d803519664974c6a745f2968de50278c6e8e6d389a95b46 SHA512 d69de5daa9e1f49089b5465f93b09a2717065d119127150e65dbbfb23dc664c34b7e21e59edb17ce827b62d43d72f1d672ac70dca592ade90fe07359644e2c66 +DIST gdalautotest-3.7.2.tar.gz 13835621 BLAKE2B 38cf190bf5f81836da0b56c89cf3a4fa5461215d82df48a598420bc1bdde81cdcb2e56f9b987ec60c35646470297ade41b6ca5fd3dc7df131cdfeb3de33a7b87 SHA512 9c3ace4811805b6393fe4f06d95e155427da8bb18aa8ceec0f28966c92bdf6edd57c565889c4d8deb58f46a3cb88e39fc31aa33fe27804f228e91781bd9e91b3 +DIST gdalautotest-3.7.3.tar.gz 13833069 BLAKE2B a4d7784b39480816ce530abf9f726312fa4553d6afefabb014a1deb8cba9367fc0aede03d181991e155ab3dee52ba17b9d92c8d04fb312b994a99044dda7fb89 SHA512 e19d5afa9e7280a6ac837b01c23cddc7ff3ca6578ab347b915ec84bdde091f1b54095a2eed0042538eb4eae38613816d79531aa541f6cc6f1cbeee41b2fa11fd +DIST gdalautotest-3.8.0.tar.gz 15615239 BLAKE2B fa524bb796a6f5b28bea79b51c4ce34e231b1d10a108a4590e30a48dc946df45880828a5a1ee0db07ed191e0f7dd5631fb294f3a73d1ce24244b6132f5cc3de1 SHA512 e72705571a337412d379cdf36debbe01aca61e789527c5e1f1c47904ba817c390a04032913fde75f899b96ec4f0b3a849ec3ead2539c31b59ca5006cd5e4e431 diff --git a/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch new file mode 100644 index 000000000000..606dc3e05089 --- /dev/null +++ b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch @@ -0,0 +1,22 @@ +From cbed9fc91dffba30d0f9a6a06a412a04d9cd36fa Mon Sep 17 00:00:00 2001 +From: Even Rouault <even.rouault@spatialys.com> +Date: Sat, 18 Nov 2023 15:38:46 +0100 +Subject: [PATCH] Fix build error with libxml2 2.12 + +--- + port/cpl_xml_validate.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/port/cpl_xml_validate.cpp b/port/cpl_xml_validate.cpp +index 7eb49ff40c90..29070d957b65 100644 +--- a/port/cpl_xml_validate.cpp ++++ b/port/cpl_xml_validate.cpp +@@ -914,7 +914,7 @@ static void CPLLibXMLWarningErrorCallback(void *ctx, const char *msg, ...) + + if (strstr(pszStr, "since this namespace was already imported") == nullptr) + { +- xmlErrorPtr pErrorPtr = xmlGetLastError(); ++ const xmlError *pErrorPtr = xmlGetLastError(); + const char *pszFilename = static_cast<char *>(ctx); + char *pszStrDup = CPLStrdup(pszStr); + int nLen = static_cast<int>(strlen(pszStrDup)); diff --git a/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch new file mode 100644 index 000000000000..410b79e2ec15 --- /dev/null +++ b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch @@ -0,0 +1,27 @@ +From ec33f6d6dfe944f59dc5454d01b4d000d9479c02 Mon Sep 17 00:00:00 2001 +From: Even Rouault <even.rouault@spatialys.com> +Date: Sat, 18 Nov 2023 16:33:25 +0100 +Subject: [PATCH] Fix build error with libxml2 2.12 (cont'd) + +--- + gcore/gdaljp2metadatagenerator.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/gcore/gdaljp2metadatagenerator.cpp b/gcore/gdaljp2metadatagenerator.cpp +index b6caa2db9def..751fa3d5e9dd 100644 +--- a/gcore/gdaljp2metadatagenerator.cpp ++++ b/gcore/gdaljp2metadatagenerator.cpp +@@ -357,7 +357,12 @@ static CPLString GDALGMLJP2EvalExpr(const CPLString &osTemplate, + /************************************************************************/ + + static void GDALGMLJP2XPathErrorHandler(void * /* userData */, +- xmlErrorPtr error) ++#if LIBXML_VERSION >= 21200 ++ const xmlError *error ++#else ++ xmlErrorPtr error ++#endif ++) + { + if (error->domain == XML_FROM_XPATH && error->str1 != nullptr && + error->int1 < static_cast<int>(strlen(error->str1))) diff --git a/sci-libs/gdal/gdal-3.7.0.ebuild b/sci-libs/gdal/gdal-3.7.0.ebuild index 7c62bbd95436..ad7b0c96ad80 100644 --- a/sci-libs/gdal/gdal-3.7.0.ebuild +++ b/sci-libs/gdal/gdal-3.7.0.ebuild @@ -13,7 +13,7 @@ SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.ta LICENSE="BSD Info-ZIP MIT" SLOT="0/33" # subslot is libgdal.so.<SONAME> -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd" RESTRICT="!test? ( test )" @@ -60,7 +60,7 @@ DEPEND=" heif? ( media-libs/libheif:= ) hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] ) java? ( - >=virtual/jdk-1.8:* + >=virtual/jdk-1.8:*[-headless-awt] ) jpeg? ( media-libs/libjpeg-turbo:= ) jpeg2k? ( media-libs/openjpeg:2= ) diff --git a/sci-libs/gdal/gdal-3.7.1.ebuild b/sci-libs/gdal/gdal-3.7.1.ebuild new file mode 100644 index 000000000000..b652d383e470 --- /dev/null +++ b/sci-libs/gdal/gdal-3.7.1.ebuild @@ -0,0 +1,286 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake java-pkg-opt-2 python-single-r1 + +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)" +HOMEPAGE="https://gdal.org/" +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz" +SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )" + +LICENSE="BSD Info-ZIP MIT" +SLOT="0/33" # subslot is libgdal.so.<SONAME> +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) + test? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) + java? ( + dev-java/ant-core + dev-lang/swig + ) + python? ( + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ) + test? ( + ${PYTHON_DEPS} + dev-cpp/gtest + ) +" +DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libpcre2 + dev-libs/libxml2:2 + dev-libs/openssl:= + media-libs/tiff + >=sci-libs/libgeotiff-1.5.1-r1:= + >=sci-libs/proj-6.0.0:= + sys-libs/zlib[minizip(+)] + armadillo? ( sci-libs/armadillo:=[lapack] ) + curl? ( net-misc/curl ) + fits? ( sci-libs/cfitsio:= ) + geos? ( >=sci-libs/geos-3.8.0 ) + gif? ( media-libs/giflib:= ) + gml? ( >=dev-libs/xerces-c-3.1 ) + heif? ( media-libs/libheif:= ) + hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] ) + java? ( + >=virtual/jdk-1.8:*[-headless-awt] + ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mysql? ( virtual/mysql ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + ogdi? ( >=sci-libs/ogdi-4.1.0-r1 ) + opencl? ( virtual/opencl ) + oracle? ( dev-db/oracle-instantclient:= ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') + ) + spatialite? ( dev-db/spatialite ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + java? ( >=virtual/jre-1.8:* ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + _wstat64 # Windows LFS +) + +PATCHES=( + "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch + "${FILESDIR}"/${PN}-3.7.0-zlib-OF.patch +) + +pkg_setup() { + if use python || use test ; then + python-single-r1_pkg_setup + fi + + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if use test ; then + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_IPO=OFF + -DGDAL_USE_EXTERNAL_LIBS=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -DBUILD_TESTING=$(usex test) + + # bug #844874 and bug #845150 + -DCMAKE_INSTALL_INCLUDEDIR="include/gdal" + + # Options here are generally off because of one of: + # - Not yet packaged dependencies + # + # - Off for autotools build and didn't want more churn by + # enabling during port to CMake. Feel free to request them + # being turned on if useful for you. + -DGDAL_USE_ARMADILLO=$(usex armadillo) + -DGDAL_USE_ARROW=OFF + -DGDAL_USE_BLOSC=OFF + -DGDAL_USE_BRUNSLI=OFF + -DGDAL_USE_CRNLIB=OFF + -DGDAL_USE_CFITSIO=$(usex fits) + -DGDAL_USE_CURL=$(usex curl) + -DGDAL_USE_CRYPTOPP=OFF + -DGDAL_USE_DEFLATE=OFF + -DGDAL_USE_ECW=OFF + -DGDAL_USE_EXPAT=ON + -DGDAL_USE_FILEGDB=OFF + -DGDAL_USE_FREEXL=$(usex xls) + -DGDAL_USE_FYBA=OFF + -DGDAL_USE_GEOTIFF=ON + -DGDAL_USE_GEOS=$(usex geos) + -DGDAL_USE_GIF=$(usex gif) + -DGDAL_USE_GTA=OFF + -DGDAL_USE_HEIF=$(usex heif) + -DGDAL_USE_HDF4=OFF + -DGDAL_USE_HDF5=$(usex hdf5) + -DGDAL_USE_HDFS=OFF + -DGDAL_USE_ICONV=ON # TODO dep + -DGDAL_USE_IDB=OFF + -DGDAL_USE_JPEG=$(usex jpeg) + + # https://gdal.org/build_hints.html#jpeg12 + # Independent of whether using system libjpeg + -DGDAL_USE_JPEG12_INTERNAL=ON + + -DGDAL_USE_JSONC=ON + -DGDAL_USE_JXL=OFF + -DGDAL_USE_KDU=OFF + -DGDAL_USE_KEA=OFF + -DGDAL_USE_LERC=OFF + -DGDAL_USE_LIBKML=OFF + -DGDAL_USE_LIBLZMA=$(usex lzma) + -DGDAL_USE_LIBXML2=ON + -DGDAL_USE_LURATECH=OFF + -DGDAL_USE_LZ4=OFF + -DGDAL_USE_MONGOCXX=OFF + -DGDAL_USE_MRSID=OFF + -DGDAL_USE_MSSQL_NCLI=OFF + -DGDAL_USE_MSSQL_ODBC=OFF + -DGDAL_USE_MYSQL=$(usex mysql) + -DGDAL_USE_NETCDF=$(usex netcdf) + -DGDAL_USE_ODBC=$(usex odbc) + -DGDAL_USE_ODBCCPP=OFF + -DGDAL_USE_OGDI=$(usex ogdi) + -DGDAL_USE_OPENCAD=OFF + -DGDAL_USE_OPENCL=$(usex opencl) + -DGDAL_USE_OPENEXR=OFF + -DGDAL_USE_OPENJPEG=$(usex jpeg2k) + -DGDAL_USE_OPENSSL=ON + -DGDAL_USE_ORACLE=$(usex oracle) + -DGDAL_USE_PARQUET=OFF + -DGDAL_USE_PCRE2=ON + -DGDAL_USE_PDFIUM=OFF + -DGDAL_USE_PNG=$(usex png) + -DGDAL_USE_PODOFO=OFF + -DGDAL_USE_POPPLER=$(usex pdf) + -DGDAL_USE_POSTGRESQL=$(usex postgres) + -DGDAL_USE_QHULL=OFF + -DGDAL_USE_RASTERLITE2=OFF + -DGDAL_USE_RDB=OFF + -DGDAL_USE_SPATIALITE=$(usex spatialite) + -DGDAL_USE_SQLITE3=$(usex sqlite) + -DGDAL_USE_SFCGAL=OFF + -DGDAL_USE_TEIGHA=OFF + -DGDAL_USE_TIFF=ON + -DGDAL_USE_TILEDB=OFF + -DGDAL_USE_WEBP=$(usex webp) + -DGDAL_USE_XERCESC=$(usex gml) + -DGDAL_USE_ZLIB=ON + -DGDAL_USE_ZSTD=$(usex zstd) + + # Bindings + -DBUILD_PYTHON_BINDINGS=$(usex python) + -DBUILD_JAVA_BINDINGS=$(usex java) + # bug #845369 + -DBUILD_CSHARP_BINDINGS=OFF + + # Check work/gdal-3.5.0_build/CMakeCache.txt after configure + # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71 + # Commented out: not (yet?) implemented upstream. + # Also, arm64 stuff is a TODO upstream, but not there (yet?) + -Dtest_avx=$(usex cpu_flags_x86_avx) + -Dtest_avx2=$(usex cpu_flags_x86_avx2) + -Dtest_sse=$(usex cpu_flags_x86_sse) + -Dtest_sse2=$(usex cpu_flags_x86_sse2) + #-Dtest_sse3=$(usex cpu_flags_x86_sse3) + -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1) + #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2) + #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a) + -Dtest_ssse3=$(usex cpu_flags_x86_ssse3) + #-Dtest_fma4=$(usex cpu_flags_x86_fma4) + #-Dtest_xop=$(usex cpu_flags_x86_xop) + ) + + if use test ; then + mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile doc +} + +src_test() { + export GDAL_RUN_SLOW_TESTS=0 + export GDAL_DOWNLOAD_TEST_DATA=0 + + # Two test suites: + # 1. autotests (much larger, uses pytest) + # 2. Small set of fuzzing tests (no download needed) + + # Missing file for test-unit? + cmake_src_test -E "(test-unit)" +} + +src_install() { + cmake_src_install + use python && python_optimize + + if use java; then + # Move the native library into the proper place for Gentoo. The + # library in ${D} has already had its RPATH fixed, so we use it + # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so. + java-pkg_doso "${D}/usr/share/java/libgdalalljni.so" + rm "${D}/usr/share/java/libgdalalljni.so" || die + fi + + # TODO: install docs? +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + elog "gdalinfo and ogrinfo (using the --formats switch)." + + if use java; then + elog + elog "To use the Java bindings, you need to pass the following to java:" + elog " -Djava.library.path=$(java-config -i gdal)" + fi +} diff --git a/sci-libs/gdal/gdal-3.7.2.ebuild b/sci-libs/gdal/gdal-3.7.2.ebuild new file mode 100644 index 000000000000..b652d383e470 --- /dev/null +++ b/sci-libs/gdal/gdal-3.7.2.ebuild @@ -0,0 +1,286 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake java-pkg-opt-2 python-single-r1 + +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)" +HOMEPAGE="https://gdal.org/" +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz" +SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )" + +LICENSE="BSD Info-ZIP MIT" +SLOT="0/33" # subslot is libgdal.so.<SONAME> +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) + test? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) + java? ( + dev-java/ant-core + dev-lang/swig + ) + python? ( + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ) + test? ( + ${PYTHON_DEPS} + dev-cpp/gtest + ) +" +DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libpcre2 + dev-libs/libxml2:2 + dev-libs/openssl:= + media-libs/tiff + >=sci-libs/libgeotiff-1.5.1-r1:= + >=sci-libs/proj-6.0.0:= + sys-libs/zlib[minizip(+)] + armadillo? ( sci-libs/armadillo:=[lapack] ) + curl? ( net-misc/curl ) + fits? ( sci-libs/cfitsio:= ) + geos? ( >=sci-libs/geos-3.8.0 ) + gif? ( media-libs/giflib:= ) + gml? ( >=dev-libs/xerces-c-3.1 ) + heif? ( media-libs/libheif:= ) + hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] ) + java? ( + >=virtual/jdk-1.8:*[-headless-awt] + ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mysql? ( virtual/mysql ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + ogdi? ( >=sci-libs/ogdi-4.1.0-r1 ) + opencl? ( virtual/opencl ) + oracle? ( dev-db/oracle-instantclient:= ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') + ) + spatialite? ( dev-db/spatialite ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + java? ( >=virtual/jre-1.8:* ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + _wstat64 # Windows LFS +) + +PATCHES=( + "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch + "${FILESDIR}"/${PN}-3.7.0-zlib-OF.patch +) + +pkg_setup() { + if use python || use test ; then + python-single-r1_pkg_setup + fi + + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if use test ; then + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_IPO=OFF + -DGDAL_USE_EXTERNAL_LIBS=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -DBUILD_TESTING=$(usex test) + + # bug #844874 and bug #845150 + -DCMAKE_INSTALL_INCLUDEDIR="include/gdal" + + # Options here are generally off because of one of: + # - Not yet packaged dependencies + # + # - Off for autotools build and didn't want more churn by + # enabling during port to CMake. Feel free to request them + # being turned on if useful for you. + -DGDAL_USE_ARMADILLO=$(usex armadillo) + -DGDAL_USE_ARROW=OFF + -DGDAL_USE_BLOSC=OFF + -DGDAL_USE_BRUNSLI=OFF + -DGDAL_USE_CRNLIB=OFF + -DGDAL_USE_CFITSIO=$(usex fits) + -DGDAL_USE_CURL=$(usex curl) + -DGDAL_USE_CRYPTOPP=OFF + -DGDAL_USE_DEFLATE=OFF + -DGDAL_USE_ECW=OFF + -DGDAL_USE_EXPAT=ON + -DGDAL_USE_FILEGDB=OFF + -DGDAL_USE_FREEXL=$(usex xls) + -DGDAL_USE_FYBA=OFF + -DGDAL_USE_GEOTIFF=ON + -DGDAL_USE_GEOS=$(usex geos) + -DGDAL_USE_GIF=$(usex gif) + -DGDAL_USE_GTA=OFF + -DGDAL_USE_HEIF=$(usex heif) + -DGDAL_USE_HDF4=OFF + -DGDAL_USE_HDF5=$(usex hdf5) + -DGDAL_USE_HDFS=OFF + -DGDAL_USE_ICONV=ON # TODO dep + -DGDAL_USE_IDB=OFF + -DGDAL_USE_JPEG=$(usex jpeg) + + # https://gdal.org/build_hints.html#jpeg12 + # Independent of whether using system libjpeg + -DGDAL_USE_JPEG12_INTERNAL=ON + + -DGDAL_USE_JSONC=ON + -DGDAL_USE_JXL=OFF + -DGDAL_USE_KDU=OFF + -DGDAL_USE_KEA=OFF + -DGDAL_USE_LERC=OFF + -DGDAL_USE_LIBKML=OFF + -DGDAL_USE_LIBLZMA=$(usex lzma) + -DGDAL_USE_LIBXML2=ON + -DGDAL_USE_LURATECH=OFF + -DGDAL_USE_LZ4=OFF + -DGDAL_USE_MONGOCXX=OFF + -DGDAL_USE_MRSID=OFF + -DGDAL_USE_MSSQL_NCLI=OFF + -DGDAL_USE_MSSQL_ODBC=OFF + -DGDAL_USE_MYSQL=$(usex mysql) + -DGDAL_USE_NETCDF=$(usex netcdf) + -DGDAL_USE_ODBC=$(usex odbc) + -DGDAL_USE_ODBCCPP=OFF + -DGDAL_USE_OGDI=$(usex ogdi) + -DGDAL_USE_OPENCAD=OFF + -DGDAL_USE_OPENCL=$(usex opencl) + -DGDAL_USE_OPENEXR=OFF + -DGDAL_USE_OPENJPEG=$(usex jpeg2k) + -DGDAL_USE_OPENSSL=ON + -DGDAL_USE_ORACLE=$(usex oracle) + -DGDAL_USE_PARQUET=OFF + -DGDAL_USE_PCRE2=ON + -DGDAL_USE_PDFIUM=OFF + -DGDAL_USE_PNG=$(usex png) + -DGDAL_USE_PODOFO=OFF + -DGDAL_USE_POPPLER=$(usex pdf) + -DGDAL_USE_POSTGRESQL=$(usex postgres) + -DGDAL_USE_QHULL=OFF + -DGDAL_USE_RASTERLITE2=OFF + -DGDAL_USE_RDB=OFF + -DGDAL_USE_SPATIALITE=$(usex spatialite) + -DGDAL_USE_SQLITE3=$(usex sqlite) + -DGDAL_USE_SFCGAL=OFF + -DGDAL_USE_TEIGHA=OFF + -DGDAL_USE_TIFF=ON + -DGDAL_USE_TILEDB=OFF + -DGDAL_USE_WEBP=$(usex webp) + -DGDAL_USE_XERCESC=$(usex gml) + -DGDAL_USE_ZLIB=ON + -DGDAL_USE_ZSTD=$(usex zstd) + + # Bindings + -DBUILD_PYTHON_BINDINGS=$(usex python) + -DBUILD_JAVA_BINDINGS=$(usex java) + # bug #845369 + -DBUILD_CSHARP_BINDINGS=OFF + + # Check work/gdal-3.5.0_build/CMakeCache.txt after configure + # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71 + # Commented out: not (yet?) implemented upstream. + # Also, arm64 stuff is a TODO upstream, but not there (yet?) + -Dtest_avx=$(usex cpu_flags_x86_avx) + -Dtest_avx2=$(usex cpu_flags_x86_avx2) + -Dtest_sse=$(usex cpu_flags_x86_sse) + -Dtest_sse2=$(usex cpu_flags_x86_sse2) + #-Dtest_sse3=$(usex cpu_flags_x86_sse3) + -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1) + #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2) + #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a) + -Dtest_ssse3=$(usex cpu_flags_x86_ssse3) + #-Dtest_fma4=$(usex cpu_flags_x86_fma4) + #-Dtest_xop=$(usex cpu_flags_x86_xop) + ) + + if use test ; then + mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile doc +} + +src_test() { + export GDAL_RUN_SLOW_TESTS=0 + export GDAL_DOWNLOAD_TEST_DATA=0 + + # Two test suites: + # 1. autotests (much larger, uses pytest) + # 2. Small set of fuzzing tests (no download needed) + + # Missing file for test-unit? + cmake_src_test -E "(test-unit)" +} + +src_install() { + cmake_src_install + use python && python_optimize + + if use java; then + # Move the native library into the proper place for Gentoo. The + # library in ${D} has already had its RPATH fixed, so we use it + # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so. + java-pkg_doso "${D}/usr/share/java/libgdalalljni.so" + rm "${D}/usr/share/java/libgdalalljni.so" || die + fi + + # TODO: install docs? +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + elog "gdalinfo and ogrinfo (using the --formats switch)." + + if use java; then + elog + elog "To use the Java bindings, you need to pass the following to java:" + elog " -Djava.library.path=$(java-config -i gdal)" + fi +} diff --git a/sci-libs/gdal/gdal-3.7.3.ebuild b/sci-libs/gdal/gdal-3.7.3.ebuild new file mode 100644 index 000000000000..32e2e64c5f8e --- /dev/null +++ b/sci-libs/gdal/gdal-3.7.3.ebuild @@ -0,0 +1,286 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake java-pkg-opt-2 python-single-r1 + +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)" +HOMEPAGE="https://gdal.org/" +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz" +SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )" + +LICENSE="BSD Info-ZIP MIT" +SLOT="0/33" # subslot is libgdal.so.<SONAME> +KEYWORDS="~amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) + test? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) + java? ( + dev-java/ant-core + dev-lang/swig + ) + python? ( + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ) + test? ( + ${PYTHON_DEPS} + dev-cpp/gtest + ) +" +DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libpcre2 + dev-libs/libxml2:2 + dev-libs/openssl:= + media-libs/tiff + >=sci-libs/libgeotiff-1.5.1-r1:= + >=sci-libs/proj-6.0.0:= + sys-libs/zlib[minizip(+)] + armadillo? ( sci-libs/armadillo:=[lapack] ) + curl? ( net-misc/curl ) + fits? ( sci-libs/cfitsio:= ) + geos? ( >=sci-libs/geos-3.8.0 ) + gif? ( media-libs/giflib:= ) + gml? ( >=dev-libs/xerces-c-3.1 ) + heif? ( media-libs/libheif:= ) + hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] ) + java? ( + >=virtual/jdk-1.8:*[-headless-awt] + ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mysql? ( virtual/mysql ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + ogdi? ( >=sci-libs/ogdi-4.1.0-r1 ) + opencl? ( virtual/opencl ) + oracle? ( dev-db/oracle-instantclient:= ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') + ) + spatialite? ( dev-db/spatialite ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + java? ( >=virtual/jre-1.8:* ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + _wstat64 # Windows LFS +) + +PATCHES=( + "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch + "${FILESDIR}"/${PN}-3.7.0-zlib-OF.patch +) + +pkg_setup() { + if use python || use test ; then + python-single-r1_pkg_setup + fi + + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if use test ; then + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_IPO=OFF + -DGDAL_USE_EXTERNAL_LIBS=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -DBUILD_TESTING=$(usex test) + + # bug #844874 and bug #845150 + -DCMAKE_INSTALL_INCLUDEDIR="include/gdal" + + # Options here are generally off because of one of: + # - Not yet packaged dependencies + # + # - Off for autotools build and didn't want more churn by + # enabling during port to CMake. Feel free to request them + # being turned on if useful for you. + -DGDAL_USE_ARMADILLO=$(usex armadillo) + -DGDAL_USE_ARROW=OFF + -DGDAL_USE_BLOSC=OFF + -DGDAL_USE_BRUNSLI=OFF + -DGDAL_USE_CRNLIB=OFF + -DGDAL_USE_CFITSIO=$(usex fits) + -DGDAL_USE_CURL=$(usex curl) + -DGDAL_USE_CRYPTOPP=OFF + -DGDAL_USE_DEFLATE=OFF + -DGDAL_USE_ECW=OFF + -DGDAL_USE_EXPAT=ON + -DGDAL_USE_FILEGDB=OFF + -DGDAL_USE_FREEXL=$(usex xls) + -DGDAL_USE_FYBA=OFF + -DGDAL_USE_GEOTIFF=ON + -DGDAL_USE_GEOS=$(usex geos) + -DGDAL_USE_GIF=$(usex gif) + -DGDAL_USE_GTA=OFF + -DGDAL_USE_HEIF=$(usex heif) + -DGDAL_USE_HDF4=OFF + -DGDAL_USE_HDF5=$(usex hdf5) + -DGDAL_USE_HDFS=OFF + -DGDAL_USE_ICONV=ON # TODO dep + -DGDAL_USE_IDB=OFF + -DGDAL_USE_JPEG=$(usex jpeg) + + # https://gdal.org/build_hints.html#jpeg12 + # Independent of whether using system libjpeg + -DGDAL_USE_JPEG12_INTERNAL=ON + + -DGDAL_USE_JSONC=ON + -DGDAL_USE_JXL=OFF + -DGDAL_USE_KDU=OFF + -DGDAL_USE_KEA=OFF + -DGDAL_USE_LERC=OFF + -DGDAL_USE_LIBKML=OFF + -DGDAL_USE_LIBLZMA=$(usex lzma) + -DGDAL_USE_LIBXML2=ON + -DGDAL_USE_LURATECH=OFF + -DGDAL_USE_LZ4=OFF + -DGDAL_USE_MONGOCXX=OFF + -DGDAL_USE_MRSID=OFF + -DGDAL_USE_MSSQL_NCLI=OFF + -DGDAL_USE_MSSQL_ODBC=OFF + -DGDAL_USE_MYSQL=$(usex mysql) + -DGDAL_USE_NETCDF=$(usex netcdf) + -DGDAL_USE_ODBC=$(usex odbc) + -DGDAL_USE_ODBCCPP=OFF + -DGDAL_USE_OGDI=$(usex ogdi) + -DGDAL_USE_OPENCAD=OFF + -DGDAL_USE_OPENCL=$(usex opencl) + -DGDAL_USE_OPENEXR=OFF + -DGDAL_USE_OPENJPEG=$(usex jpeg2k) + -DGDAL_USE_OPENSSL=ON + -DGDAL_USE_ORACLE=$(usex oracle) + -DGDAL_USE_PARQUET=OFF + -DGDAL_USE_PCRE2=ON + -DGDAL_USE_PDFIUM=OFF + -DGDAL_USE_PNG=$(usex png) + -DGDAL_USE_PODOFO=OFF + -DGDAL_USE_POPPLER=$(usex pdf) + -DGDAL_USE_POSTGRESQL=$(usex postgres) + -DGDAL_USE_QHULL=OFF + -DGDAL_USE_RASTERLITE2=OFF + -DGDAL_USE_RDB=OFF + -DGDAL_USE_SPATIALITE=$(usex spatialite) + -DGDAL_USE_SQLITE3=$(usex sqlite) + -DGDAL_USE_SFCGAL=OFF + -DGDAL_USE_TEIGHA=OFF + -DGDAL_USE_TIFF=ON + -DGDAL_USE_TILEDB=OFF + -DGDAL_USE_WEBP=$(usex webp) + -DGDAL_USE_XERCESC=$(usex gml) + -DGDAL_USE_ZLIB=ON + -DGDAL_USE_ZSTD=$(usex zstd) + + # Bindings + -DBUILD_PYTHON_BINDINGS=$(usex python) + -DBUILD_JAVA_BINDINGS=$(usex java) + # bug #845369 + -DBUILD_CSHARP_BINDINGS=OFF + + # Check work/gdal-3.5.0_build/CMakeCache.txt after configure + # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71 + # Commented out: not (yet?) implemented upstream. + # Also, arm64 stuff is a TODO upstream, but not there (yet?) + -Dtest_avx=$(usex cpu_flags_x86_avx) + -Dtest_avx2=$(usex cpu_flags_x86_avx2) + -Dtest_sse=$(usex cpu_flags_x86_sse) + -Dtest_sse2=$(usex cpu_flags_x86_sse2) + #-Dtest_sse3=$(usex cpu_flags_x86_sse3) + -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1) + #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2) + #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a) + -Dtest_ssse3=$(usex cpu_flags_x86_ssse3) + #-Dtest_fma4=$(usex cpu_flags_x86_fma4) + #-Dtest_xop=$(usex cpu_flags_x86_xop) + ) + + if use test ; then + mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile doc +} + +src_test() { + export GDAL_RUN_SLOW_TESTS=0 + export GDAL_DOWNLOAD_TEST_DATA=0 + + # Two test suites: + # 1. autotests (much larger, uses pytest) + # 2. Small set of fuzzing tests (no download needed) + + # Missing file for test-unit? + cmake_src_test -E "(test-unit)" +} + +src_install() { + cmake_src_install + use python && python_optimize + + if use java; then + # Move the native library into the proper place for Gentoo. The + # library in ${D} has already had its RPATH fixed, so we use it + # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so. + java-pkg_doso "${D}/usr/share/java/libgdalalljni.so" + rm "${D}/usr/share/java/libgdalalljni.so" || die + fi + + # TODO: install docs? +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + elog "gdalinfo and ogrinfo (using the --formats switch)." + + if use java; then + elog + elog "To use the Java bindings, you need to pass the following to java:" + elog " -Djava.library.path=$(java-config -i gdal)" + fi +} diff --git a/sci-libs/gdal/gdal-3.8.0.ebuild b/sci-libs/gdal/gdal-3.8.0.ebuild new file mode 100644 index 000000000000..97cfa8eb4057 --- /dev/null +++ b/sci-libs/gdal/gdal-3.8.0.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake java-pkg-opt-2 python-single-r1 + +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)" +HOMEPAGE="https://gdal.org/" +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz" +SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )" + +LICENSE="BSD Info-ZIP MIT" +SLOT="0/34" # subslot is libgdal.so.<SONAME> +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) + test? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) + java? ( + dev-java/ant-core + dev-lang/swig + ) + python? ( + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + ) + test? ( + ${PYTHON_DEPS} + dev-cpp/gtest + ) +" +DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libpcre2 + dev-libs/libxml2:2 + dev-libs/openssl:= + media-libs/tiff + >=sci-libs/libgeotiff-1.5.1-r1:= + >=sci-libs/proj-6.0.0:= + sys-libs/zlib[minizip(+)] + armadillo? ( sci-libs/armadillo:=[lapack] ) + curl? ( net-misc/curl ) + fits? ( sci-libs/cfitsio:= ) + geos? ( >=sci-libs/geos-3.8.0 ) + gif? ( media-libs/giflib:= ) + gml? ( >=dev-libs/xerces-c-3.1 ) + heif? ( media-libs/libheif:= ) + hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] ) + java? ( + >=virtual/jdk-1.8:*[-headless-awt] + ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mysql? ( virtual/mysql ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + ogdi? ( >=sci-libs/ogdi-4.1.0-r1 ) + opencl? ( virtual/opencl ) + oracle? ( dev-db/oracle-instantclient:= ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') + ) + spatialite? ( dev-db/spatialite ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + java? ( >=virtual/jre-1.8:* ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + _wstat64 # Windows LFS +) + +PATCHES=( + "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch + "${FILESDIR}"/${PN}-3.7.0-zlib-OF.patch + "${FILESDIR}"/${P}-libxml2-2.12-{1,2}.patch # bug 917564 +) + +pkg_setup() { + if use python || use test ; then + python-single-r1_pkg_setup + fi + + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + if use test ; then + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die + fi +} + +src_configure() { + local mycmakeargs=( + -DENABLE_IPO=OFF + -DGDAL_USE_EXTERNAL_LIBS=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -DBUILD_TESTING=$(usex test) + + # bug #844874 and bug #845150 + -DCMAKE_INSTALL_INCLUDEDIR="include/gdal" + + # Options here are generally off because of one of: + # - Not yet packaged dependencies + # + # - Off for autotools build and didn't want more churn by + # enabling during port to CMake. Feel free to request them + # being turned on if useful for you. + -DGDAL_USE_ARMADILLO=$(usex armadillo) + -DGDAL_USE_ARROW=OFF + -DGDAL_USE_BLOSC=OFF + -DGDAL_USE_BRUNSLI=OFF + -DGDAL_USE_CRNLIB=OFF + -DGDAL_USE_CFITSIO=$(usex fits) + -DGDAL_USE_CURL=$(usex curl) + -DGDAL_USE_CRYPTOPP=OFF + -DGDAL_USE_DEFLATE=OFF + -DGDAL_USE_ECW=OFF + -DGDAL_USE_EXPAT=ON + -DGDAL_USE_FILEGDB=OFF + -DGDAL_USE_FREEXL=$(usex xls) + -DGDAL_USE_FYBA=OFF + -DGDAL_USE_GEOTIFF=ON + -DGDAL_USE_GEOS=$(usex geos) + -DGDAL_USE_GIF=$(usex gif) + -DGDAL_USE_GTA=OFF + -DGDAL_USE_HEIF=$(usex heif) + -DGDAL_USE_HDF4=OFF + -DGDAL_USE_HDF5=$(usex hdf5) + -DGDAL_USE_HDFS=OFF + -DGDAL_USE_ICONV=ON # TODO dep + -DGDAL_USE_IDB=OFF + -DGDAL_USE_JPEG=$(usex jpeg) + + # https://gdal.org/build_hints.html#jpeg12 + # Independent of whether using system libjpeg + -DGDAL_USE_JPEG12_INTERNAL=ON + + -DGDAL_USE_JSONC=ON + -DGDAL_USE_JXL=OFF + -DGDAL_USE_KDU=OFF + -DGDAL_USE_KEA=OFF + -DGDAL_USE_LERC=OFF + -DGDAL_USE_LIBKML=OFF + -DGDAL_USE_LIBLZMA=$(usex lzma) + -DGDAL_USE_LIBXML2=ON + -DGDAL_USE_LURATECH=OFF + -DGDAL_USE_LZ4=OFF + -DGDAL_USE_MONGOCXX=OFF + -DGDAL_USE_MRSID=OFF + -DGDAL_USE_MSSQL_NCLI=OFF + -DGDAL_USE_MSSQL_ODBC=OFF + -DGDAL_USE_MYSQL=$(usex mysql) + -DGDAL_USE_NETCDF=$(usex netcdf) + -DGDAL_USE_ODBC=$(usex odbc) + -DGDAL_USE_ODBCCPP=OFF + -DGDAL_USE_OGDI=$(usex ogdi) + -DGDAL_USE_OPENCAD=OFF + -DGDAL_USE_OPENCL=$(usex opencl) + -DGDAL_USE_OPENEXR=OFF + -DGDAL_USE_OPENJPEG=$(usex jpeg2k) + -DGDAL_USE_OPENSSL=ON + -DGDAL_USE_ORACLE=$(usex oracle) + -DGDAL_USE_PARQUET=OFF + -DGDAL_USE_PCRE2=ON + -DGDAL_USE_PDFIUM=OFF + -DGDAL_USE_PNG=$(usex png) + -DGDAL_USE_PODOFO=OFF + -DGDAL_USE_POPPLER=$(usex pdf) + -DGDAL_USE_POSTGRESQL=$(usex postgres) + -DGDAL_USE_QHULL=OFF + -DGDAL_USE_RASTERLITE2=OFF + -DGDAL_USE_RDB=OFF + -DGDAL_USE_SPATIALITE=$(usex spatialite) + -DGDAL_USE_SQLITE3=$(usex sqlite) + -DGDAL_USE_SFCGAL=OFF + -DGDAL_USE_TEIGHA=OFF + -DGDAL_USE_TIFF=ON + -DGDAL_USE_TILEDB=OFF + -DGDAL_USE_WEBP=$(usex webp) + -DGDAL_USE_XERCESC=$(usex gml) + -DGDAL_USE_ZLIB=ON + -DGDAL_USE_ZSTD=$(usex zstd) + + # Bindings + -DBUILD_PYTHON_BINDINGS=$(usex python) + -DBUILD_JAVA_BINDINGS=$(usex java) + # bug #845369 + -DBUILD_CSHARP_BINDINGS=OFF + + # Check work/gdal-3.5.0_build/CMakeCache.txt after configure + # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71 + # Commented out: not (yet?) implemented upstream. + # Also, arm64 stuff is a TODO upstream, but not there (yet?) + -Dtest_avx=$(usex cpu_flags_x86_avx) + -Dtest_avx2=$(usex cpu_flags_x86_avx2) + -Dtest_sse=$(usex cpu_flags_x86_sse) + -Dtest_sse2=$(usex cpu_flags_x86_sse2) + #-Dtest_sse3=$(usex cpu_flags_x86_sse3) + -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1) + #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2) + #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a) + -Dtest_ssse3=$(usex cpu_flags_x86_ssse3) + #-Dtest_fma4=$(usex cpu_flags_x86_fma4) + #-Dtest_xop=$(usex cpu_flags_x86_xop) + ) + + if use test ; then + mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile doc +} + +src_test() { + export GDAL_RUN_SLOW_TESTS=0 + export GDAL_DOWNLOAD_TEST_DATA=0 + + # Two test suites: + # 1. autotests (much larger, uses pytest) + # 2. Small set of fuzzing tests (no download needed) + + # Missing file for test-unit? + cmake_src_test -E "(test-unit)" +} + +src_install() { + cmake_src_install + use python && python_optimize + + if use java; then + # Move the native library into the proper place for Gentoo. The + # library in ${D} has already had its RPATH fixed, so we use it + # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so. + java-pkg_doso "${D}/usr/$(get_libdir)/jni/libgdalalljni.so" + rm -rf "${ED}/usr/$(get_libdir)/jni" || die + fi + + # TODO: install docs? +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + elog "gdalinfo and ogrinfo (using the --formats switch)." + + if use java; then + elog + elog "To use the Java bindings, you need to pass the following to java:" + elog " -Djava.library.path=$(java-config -i gdal)" + fi +} diff --git a/sci-libs/geos/Manifest b/sci-libs/geos/Manifest index 42022eecc40f..9fca3d6d3ed3 100644 --- a/sci-libs/geos/Manifest +++ b/sci-libs/geos/Manifest @@ -1,3 +1,5 @@ DIST geos-3.11.0.tar.bz2 6727294 BLAKE2B 7d2cb7ae2dc6c5eb13836c16c8164402c1e964f98df95d5aaf9f6fd957ebcdbdefb43ae4fb17a5a671b6dfdb812bdacfdbfdfdea6e5bd44f135e3701a3cc914d SHA512 40c7553bbb93673c231ddd0131b73bf43b3f50524bc5bd9e6934c068d2c09632f388b7429254ae15d9641da2d15e3a626b430438854e98d9e7419ad04e535189 DIST geos-3.11.1.tar.bz2 6753232 BLAKE2B 376050ca3224e5220f69d82ff62d79ff7ea3d35d5fe90b7ab4e0cabcb4200b47d7569110538c201df9cb28da784f09f8207a9a8233ee002ab2ec87f5cf336ba1 SHA512 708500aba9b04208ee46a531d55ddf63a213dfaa2922dae937b524300b2b46c95143ed6cd3ff1414e9099f2be95e5df5a2e0b49df43acf93a9478215259f20d3 DIST geos-3.11.2.tar.bz2 6774288 BLAKE2B 62ddcaf5b6716983d49a6931c97ebe8d4c457ce7d127531ff3ff985555e9dfc2f1ebd211d1fe7afe183a3858913b4c22ec4674f68fb28ee8c43c9e9ce61abd3b SHA512 b5df5b773bef595335e1be6c6d3325f932f1577e2a4b8bdfa8cf26f09c7d41ed5e0695ca15826d1f95bc4a45b777839c2be8a96a8af5415c8bcf58cc804eb1ec +DIST geos-3.12.0.tar.bz2 6736650 BLAKE2B abdf1c524fa35dccfe253f9774a57768a7597b3fb5ede99dbb5c473a3de5a2c8bcef7cd892ebf3768179a85b365394163fd38efb661f014d23828618178505d0 SHA512 cc67d9516d24ada2ceaf7c81ff9df40033bb15123160bf7e70fdff97b72c798f4b9ba8223c1eaebac0f33dcb530bc8cf42af000af3491f3227420290d89332d5 +DIST geos-3.12.1.tar.bz2 6727199 BLAKE2B 4ffc9cb63f3ac15b3dcb0ba9fec6a1ccaeaf35962a057234f4da38d6bba19df39e800805badfd56fe927da09c9392f0feaf2b7d02085e8f293c4d9503ab28ff9 SHA512 192eba83c651e935b3c9a5cc19321285e4d28b9da9d7a1fa15d9471803027e630db7a7ecea96343d9c5f9846d279062ca3694fe47916a4ebf5698ae66dd5210d diff --git a/sci-libs/geos/geos-3.11.2.ebuild b/sci-libs/geos/geos-3.11.2.ebuild index 88b55f52a870..5001322d2107 100644 --- a/sci-libs/geos/geos-3.11.2.ebuild +++ b/sci-libs/geos/geos-3.11.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc test" RESTRICT="!test? ( test )" diff --git a/sci-libs/geos/geos-3.12.0.ebuild b/sci-libs/geos/geos-3.12.0.ebuild new file mode 100644 index 000000000000..a95d93f605b6 --- /dev/null +++ b/sci-libs/geos/geos-3.12.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Geometry engine library for Geographic Information Systems" +HOMEPAGE="https://libgeos.org/" +SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( app-doc/doxygen )" + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCUMENTATION=$(usex doc) + -DBUILD_TESTING=$(usex test) + -DUSE_CCACHE=OFF + + # bug #709368 + $(usev arm '-DDISABLE_GEOS_INLINE=ON') + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile docs +} + +src_install() { + cmake_src_install + + if use doc ; then + HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. ) + einstalldocs + fi +} diff --git a/sci-libs/geos/geos-3.12.1.ebuild b/sci-libs/geos/geos-3.12.1.ebuild new file mode 100644 index 000000000000..a95d93f605b6 --- /dev/null +++ b/sci-libs/geos/geos-3.12.1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Geometry engine library for Geographic Information Systems" +HOMEPAGE="https://libgeos.org/" +SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( app-doc/doxygen )" + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCUMENTATION=$(usex doc) + -DBUILD_TESTING=$(usex test) + -DUSE_CCACHE=OFF + + # bug #709368 + $(usev arm '-DDISABLE_GEOS_INLINE=ON') + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + use doc && cmake_src_compile docs +} + +src_install() { + cmake_src_install + + if use doc ; then + HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. ) + einstalldocs + fi +} diff --git a/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch b/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch new file mode 100644 index 000000000000..09a250e955f9 --- /dev/null +++ b/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch @@ -0,0 +1,12 @@ +Refer: https://stackoverflow.com/a/42695228 +Bug: https://bugs.gentoo.org/898278 +--- a/src/gzip.c ++++ b/src/gzip.c +@@ -21,6 +21,7 @@ + #include "internal.h" + + #ifdef HAVE_ZLIB_H ++#define Z_LARGE64 + #include <zlib.h> + #endif + diff --git a/sci-libs/getdata/getdata-0.11.0-r1.ebuild b/sci-libs/getdata/getdata-0.11.0-r1.ebuild new file mode 100644 index 000000000000..698d2697d850 --- /dev/null +++ b/sci-libs/getdata/getdata-0.11.0-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_STANDARD="95" +FORTRAN_NEEDED=fortran +inherit autotools fortran-2 flag-o-matic + +DESCRIPTION="Reference implementation of the Dirfile, format for time-ordered binary data" +HOMEPAGE="https://getdata.sourceforge.net" +SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.xz" + +SLOT="0" +LICENSE="LGPL-2.1+" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="bzip2 cxx debug flac fortran lzma perl static-libs" + +DEPEND=" + bzip2? ( app-arch/bzip2 ) + lzma? ( app-arch/xz-utils ) + perl? ( dev-lang/perl ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.11.0-fix-gzseek64-not-found.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # GCC 10 workaround + # bug #723076 + append-fflags $(test-flags-FC -fallow-argument-mismatch) + + econf \ + --disable-idl \ + --disable-matlab \ + --disable-php \ + --with-libz \ + --without-libslim \ + --without-libzzip \ + $(use_with bzip2 libbz2) \ + $(use_enable cxx cplusplus) \ + $(use_enable debug) \ + $(use_with flac libFLAC) \ + $(use_enable fortran) \ + $(use_enable fortran fortran95) \ + $(use_with lzma liblzma) \ + $(use_enable perl) \ + $(usex perl --with-perl-dir=vendor) \ + --disable-python \ + $(use_enable static-libs static) +} + +src_install() { + default + find "${D}" -name '*.la' -delete || die +} diff --git a/sci-libs/ginkgo/Manifest b/sci-libs/ginkgo/Manifest index 4a45be486a9b..85fa14f2e7ef 100644 --- a/sci-libs/ginkgo/Manifest +++ b/sci-libs/ginkgo/Manifest @@ -1 +1,2 @@ DIST ginkgo-1.4.0.tar.gz 2574052 BLAKE2B 99677d9d75831991cac40312095d32c44bef18cd05b120d80fdb9e64ea6dc15796c09b26f35dc8230db6b55c7be4dd76efd6d1cd8ca13c83e1f3087550db0dca SHA512 9bfcb2c415c7a1a70cf8e49f20adf62d02cab83bb23b6fcecfeaeeb322b2d4e1ad8d8fa6582735073753f9a05eac8688b9bd1ff1d4203957c1a80702d117e807 +DIST ginkgo-1.6.0.tar.gz 12788830 BLAKE2B c452e20eddb3673b5863106d8a8d42aab253cb5a17cf0445194903ebadcffe53ef0df6b5f26e2602e137faaa4a23dddd0b192f3453b4bd440907385fc09d004a SHA512 507a17bc9ad010c235c4ae49ac4bef3f4d5b65b4ea02bfa5cad5ea578fa65d28f564d1faf0a1f5618a6e72d744217f58bdff68c5f1fffc9cfb484800f7f84c50 diff --git a/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch b/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch new file mode 100644 index 000000000000..c910ad92c5a9 --- /dev/null +++ b/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch @@ -0,0 +1,24 @@ +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 41ed77d900..9a0c7d5128 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -40,8 +40,7 @@ if(GINKGO_BUILD_EXTLIB_EXAMPLE) + list(APPEND EXAMPLES_LIST external-lib-interfacing) + endif() + +-find_package(OpenCV QUIET) +-if(OpenCV_FOUND) ++if(FALSE) + list(APPEND EXAMPLES_LIST heat-equation schroedinger-splitting) + else() + message(STATUS "No OpenCV found, disabling examples with video output") +@@ -55,8 +54,7 @@ if(GINKGO_BUILD_MPI) + list(APPEND EXAMPLES_LIST distributed-solver) + endif() + +-find_package(Kokkos QUIET) +-if(Kokkos_FOUND) ++if(FALSE) + if(GINKGO_WITH_CCACHE) + message(WARNING "The CMAKE_CXX_COMPILER_LAUNCHER is set due to " + "GINKGO_WITH_CCACHE=ON which is known to casue issues with CUDA enabled " diff --git a/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch b/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch new file mode 100644 index 000000000000..d248fe87f2d7 --- /dev/null +++ b/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch @@ -0,0 +1,12 @@ +diff --git a/core/base/timer.cpp b/core/base/timer.cpp +index bc1c716..0185567 100644 +--- a/core/base/timer.cpp ++++ b/core/base/timer.cpp +@@ -124,7 +124,7 @@ void CpuTimer::wait(time_point& time) {} + std::chrono::nanoseconds CpuTimer::difference_async(const time_point& start, + const time_point& stop) + { +- return std::chrono::duration_cast<std::chrono::nanoseconds, int64>( ++ return std::chrono::duration_cast<std::chrono::nanoseconds>( + stop.data_.chrono - start.data_.chrono); + } diff --git a/sci-libs/ginkgo/ginkgo-1.6.0.ebuild b/sci-libs/ginkgo/ginkgo-1.6.0.ebuild new file mode 100644 index 000000000000..4cceeb06c5b6 --- /dev/null +++ b/sci-libs/ginkgo/ginkgo-1.6.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs + +DESCRIPTION="Numerical linear algebra software package" +HOMEPAGE="https://ginkgo-project.github.io/" + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo" + inherit git-r3 +else + SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD-with-attribution" +SLOT="0" +IUSE="cuda hwloc +openmp" + +RDEPEND=" + cuda? ( dev-util/nvidia-cuda-toolkit ) + hwloc? ( sys-apps/hwloc:= ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-fix_type_mismatch.patch + "${FILESDIR}"/${P}-disable_automagic_dependencies.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + sed -i \ + -e "s#\"lib\"#\"$(get_libdir)\"#g" \ + -e "s#\"lib/#\"$(get_libdir)/#g" \ + cmake/install_helpers.cmake || die "sed failed" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DGINKGO_DEVEL_TOOLS=OFF + -DGINKGO_BUILD_TESTS=OFF + -DGINKGO_BUILD_BENCHMARKS=OFF + -DGINKGO_BUILD_REFERENCE=ON + -DGINKGO_BUILD_CUDA=$(usex cuda) + -DGINKGO_BUILD_HWLOC=$(usex hwloc) + -DGINKGO_BUILD_OMP=$(usex openmp) + ) + cmake_src_configure +} diff --git a/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch b/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch new file mode 100644 index 000000000000..15178289ca84 --- /dev/null +++ b/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch @@ -0,0 +1,23 @@ +From c7744bb133496cd7ac04688f345646d505e1bf52 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" <code@musicinmybrain.net> +Date: Thu, 19 Jan 2023 09:12:22 -0500 +Subject: [PATCH] Add missing #include <cstdint> for (u)int64_t + +Fixes failure to compile on GCC 13. +--- + src/library/poly1/givdegree.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/library/poly1/givdegree.h b/src/library/poly1/givdegree.h +index 3753a425..eb85a0dd 100644 +--- a/src/library/poly1/givdegree.h ++++ b/src/library/poly1/givdegree.h +@@ -19,6 +19,8 @@ + #ifndef __GIVARO_poly1degree_H + #define __GIVARO_poly1degree_H + ++#include <cstdint> ++ + #include <iostream> + + namespace Givaro { diff --git a/sci-libs/givaro/givaro-4.1.1-r3.ebuild b/sci-libs/givaro/givaro-4.1.1-r3.ebuild index 86922d8736ca..e072eb6ffbe7 100644 --- a/sci-libs/givaro/givaro-4.1.1-r3.ebuild +++ b/sci-libs/givaro/givaro-4.1.1-r3.ebuild @@ -30,6 +30,7 @@ DOCS=( AUTHORS ChangeLog README.md ) PATCHES=( "${FILESDIR}/givaro-4.1.1-gcc-10.patch" + "${FILESDIR}/givaro-4.1.1-gcc-13.patch" "${FILESDIR}/givaro-4.1.1-fix-pc-libdir.patch" ) diff --git a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild index 46bfa3f6a57e..f310b03c4511 100644 --- a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild +++ b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/GKlib-${COMMIT}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~loong ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" PATCHES=( "${FILESDIR}/${P}-multilib.patch" diff --git a/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch b/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch new file mode 100644 index 000000000000..f01beafa4596 --- /dev/null +++ b/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch @@ -0,0 +1,19 @@ +--- a/gloo/CMakeLists.txt 2023-11-27 22:39:53.709670525 +0100 ++++ b/gloo/CMakeLists.txt 2023-11-27 22:42:29.784250524 +0100 +@@ -77,7 +77,7 @@ + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + set(GLOO_HAVE_TRANSPORT_TCP 1) + if(${USE_TCP_OPENSSL_LINK} OR ${USE_TCP_OPENSSL_LOAD}) +- find_package(OpenSSL 1.1 REQUIRED EXACT) ++ find_package(OpenSSL 1.1...<4 REQUIRED) + set(GLOO_HAVE_TRANSPORT_TCP_TLS 1) + else() + set(GLOO_HAVE_TRANSPORT_TCP_TLS 0) +--- a/gloo/test/CMakeLists.txt 2023-11-27 22:42:55.969844380 +0100 ++++ b/gloo/test/CMakeLists.txt 2023-11-27 22:43:14.873551147 +0100 +@@ -1,4 +1,4 @@ +-find_package(OpenSSL 1.1 REQUIRED EXACT) ++find_package(OpenSSL 1.1...<4 REQUIRED) + + set(GLOO_TEST_SRCS + "${CMAKE_CURRENT_SOURCE_DIR}/allgather_test.cc" diff --git a/sci-libs/gloo/gloo-2023.01.17-r1.ebuild b/sci-libs/gloo/gloo-2023.01.17-r2.ebuild index a2c76198f848..8518665b3cd4 100644 --- a/sci-libs/gloo/gloo-2023.01.17-r1.ebuild +++ b/sci-libs/gloo/gloo-2023.01.17-r2.ebuild @@ -37,6 +37,7 @@ S="${WORKDIR}"/${PN}-${CommitId} PATCHES=( "${FILESDIR}"/${PN}-2022.05.18-gentoo.patch "${FILESDIR}"/${P}-cuda.patch + "${FILESDIR}"/${P}-ssl3.patch ) src_prepare() { diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest index a387e4f253e8..f146f8d34066 100644 --- a/sci-libs/hdf5/Manifest +++ b/sci-libs/hdf5/Manifest @@ -1,3 +1,4 @@ DIST hdf5-1.10.5.tar.bz2 8706317 BLAKE2B ac326be8fe4ccc4b0153f15bc7d65aa8f1adc2ae279d3980f57ed46722b754d3f36ecf1d6273c75e80ed1afd4bbf10c6b1c5d9408e1f83a4b2e397e7902a7d3c SHA512 769e43b8672e26fe24ed68da0228c010d3d9bc950ca09f0bc60707911a2f26f2f8415c8abc8ec06e07667148d8cdb3b0c7b3e7860d9b19739629c5dfd5ce73d4 DIST hdf5-1.12.2.tar.bz2 10494264 BLAKE2B 99ca5b57f6f54fa044c909f0773de62b218c1f0ec3c011f88f3c227536dd719e77ddbe42d562b1214e8843e41d8fc56db499d7f122876fdd36ef31b235229cb7 SHA512 cbb4663570de76b11adb6bf62cfdb754371d31eeab04691479a5764a45207a9c1309665ab80f51c63a4b9b87354f9cbe6835cef506a9fd554d142c6d2bec21e5 DIST hdf5-1.14.1.tar.bz2 16257319 BLAKE2B fbabbe2a61fca3f841d0206e3918390001ec1ec713696b69845eb6390595794a63740db9a7b48fd132814268e216d8fea6288cd23b04b2fa981058b557113e73 SHA512 b4dd3fca88547fdcbb2afcc22cb11bb45b7b15c3c01d9e11b7f06030ffff1a9d5c4995abb6cf27b0c4e748f1a7ca497a7f2d995ba00586f447fcd2fa537e0e16 +DIST hdf5-1.14.2.tar.bz2 16070491 BLAKE2B 04acdc5352f7f0455bf6304ef07ddf51b99125bb585984bd3e27a521a784a6ad6723d64aa3b4179e4bd382334b7e68d06650404d7d4617a696d3f64917487dbc SHA512 1e1bfdff50c2e0e172d399c2d5b79b9ad0c7c72b9b30c4849aad7c5656393e8cf2af788cdf62b51fbe596023483fbc7fa23fdebf37bfe3109dae7f0783ea590f diff --git a/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch b/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch deleted file mode 100644 index 4530f1fa6d2e..000000000000 --- a/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://bugs.gentoo.org/904515 -https://github.com/HDFGroup/hdf5/issues/2422 -https://github.com/HDFGroup/hdf5/issues/2621 -https://github.com/HDFGroup/hdf5/pull/2667 -https://github.com/HDFGroup/hdf5/commit/b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0 - -From b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0 Mon Sep 17 00:00:00 2001 -From: jhendersonHDF <jhenderson@hdfgroup.org> -Date: Tue, 11 Apr 2023 14:31:25 -0500 -Subject: [PATCH] Fix improper include of build directory (#2422, #2621) - (#2667) - ---- a/configure.ac -+++ b/configure.ac -@@ -3012,8 +3012,7 @@ SUBFILING_VFD=no - HAVE_MERCURY="no" - - ## Always include subfiling directory so public header files are available --CPPFLAGS="$CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" --AM_CPPFLAGS="$AM_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" -+H5_CPPFLAGS="$H5_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" - - AC_MSG_CHECKING([if the subfiling I/O virtual file driver (VFD) is enabled]) - -@@ -3061,8 +3060,7 @@ if test "X$SUBFILING_VFD" = "Xyes"; then - mercury_dir="$ac_abs_confdir/src/H5FDsubfiling/mercury" - mercury_inc="$mercury_dir/src/util" - -- CPPFLAGS="$CPPFLAGS -I$mercury_inc" -- AM_CPPFLAGS="$AM_CPPFLAGS -I$mercury_inc" -+ H5_CPPFLAGS="$H5_CPPFLAGS -I$mercury_inc" - - HAVE_STDATOMIC_H="yes" - AC_CHECK_HEADERS([stdatomic.h],,[HAVE_STDATOMIC_H="no"]) diff --git a/sci-libs/hdf5/hdf5-1.14.1.ebuild b/sci-libs/hdf5/hdf5-1.14.1.ebuild index dc0f170ecccb..07005227c9e1 100644 --- a/sci-libs/hdf5/hdf5-1.14.1.ebuild +++ b/sci-libs/hdf5/hdf5-1.14.1.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="NCSA-HDF" SLOT="0/${PV%%_p*}" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib" RESTRICT="!test? ( test )" REQUIRED_USE=" diff --git a/sci-libs/hdf5/hdf5-1.14.2.ebuild b/sci-libs/hdf5/hdf5-1.14.2.ebuild new file mode 100644 index 000000000000..3edb5153287a --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.14.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED=fortran + +# We've reverted *back* to autotools from CMake because of +# https://github.com/HDFGroup/hdf5/issues/1814. +inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix + +MY_P=${PN}-${PV/_p/-patch} +MAJOR_P=${PN}-$(ver_cut 1-2) + +DESCRIPTION="General purpose library and file format for storing scientific data" +HOMEPAGE="https://www.hdfgroup.org/HDF5/" +SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="NCSA-HDF" +SLOT="0/${PV%%_p*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + !unsupported? ( + cxx? ( !mpi ) mpi? ( !cxx ) + threads? ( !cxx !mpi !fortran !hl ) + ) +" + +RDEPEND=" + mpi? ( virtual/mpi[romio] ) + szip? ( virtual/szip ) + zlib? ( sys-libs/zlib:= ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch + "${FILESDIR}"/${PN}-1.12.2-no-strip-symbols.patch +) + +pkg_setup() { + # Workaround for bug 285148 + tc-export CXX CC AR + + use fortran && fortran-2_pkg_setup + + if use mpi; then + if has_version 'sci-libs/hdf5[-mpi]'; then + ewarn "Installing hdf5 with mpi enabled with a previous hdf5 with mpi disabled may fail." + ewarn "Try to uninstall the current hdf5 prior to enabling mpi support." + fi + + export CC=mpicc + use fortran && export FC=mpif90 + elif has_version 'sci-libs/hdf5[mpi]'; then + ewarn "Installing hdf5 with mpi disabled while having hdf5 installed with mpi enabled may fail." + ewarn "Try to uninstall the current hdf5 prior to disabling mpi support." + fi +} + +src_prepare() { + default + + # Respect Gentoo examples directory + sed \ + -e "s:hdf5_examples:doc/${PF}/examples:g" \ + -i $(find . -name Makefile.am) $(find . -name "run*.sh.in") || die + sed \ + -e '/docdir/d' \ + -i config/commence.am || die + + if ! use examples; then + # bug #409091 + sed -e '/^install:/ s/install-examples//' \ + -i Makefile.am || die + fi + + # Enable shared libs by default for h5cc config utility + sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die + hprefixify m4/libtool.m4 + + eautoreconf +} + +src_configure() { + # bug #686620 + use sparc && tc-is-gcc && append-flags -fno-tree-ccp + + econf \ + --disable-static \ + --enable-deprecated-symbols \ + --enable-build-mode=$(usex debug debug production) \ + --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin" \ + $(use_enable cxx) \ + $(use_enable debug codestack) \ + $(use_enable fortran) \ + $(use_enable hl) \ + $(use_enable mpi parallel) \ + $(use_enable test tests) \ + $(use_enable threads threadsafe) \ + $(use_enable unsupported) \ + $(use_with szip szlib) \ + $(use_with threads pthread) \ + $(use_with zlib) +} + +src_install() { + emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install + + # No static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/hipBLAS/Manifest b/sci-libs/hipBLAS/Manifest index 99698f6b1488..21eceaa7bab4 100644 --- a/sci-libs/hipBLAS/Manifest +++ b/sci-libs/hipBLAS/Manifest @@ -1 +1,3 @@ DIST hipBLAS-5.1.3.tar.gz 526704 BLAKE2B d32d7029ea910c341e00dccab1ee9ab984518368cf38524f2264bb808cc1242b3d57db283937650f54460cb01174ec90f02c4bd66866cba4be5d0a1855814f0e SHA512 41dbc86b7ea53e7c0f1d629130f90b719f864ceddae972f1c68911e97b6233286f0c22c0fcfce049ae7db73a1ed41bdaf730040c72f1790fca367362c14ac707 +DIST hipBLAS-5.4.2.tar.gz 930814 BLAKE2B 702df09010b50652feb8f7e5741b27117aa58fc3e3b1b5f89f5043073a47581d1710f0831740453e84f7594b1b305e95d2681709898e5231c3eee2e8207404a3 SHA512 a941350d2d25022cf5142f68559242a048136bdd048dafcd544a0241cf3b510062273163f7a0eecc55f17ec47a1063d84d6102ca766ba7cde9b704eee5c44cd8 +DIST hipBLAS-5.7.1.tar.gz 669163 BLAKE2B e065f77eba0bb99d347f71920e733d30b7693f9eaf0c1f2a87a169360ccff23b8294e367eebfd6489440308b9bb1ae662c39617c5bb94275bf9b0ed60d555f85 SHA512 24c074f07865e1a3dfb0aca0b1d494e340a584ecb408813bb5b053f8282437cfd3644d730163f4faf1b93da306626ba68904141f9c3730a29749537fb7fd1a63 diff --git a/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild b/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild new file mode 100644 index 000000000000..b61f8865b925 --- /dev/null +++ b/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm +DESCRIPTION="ROCm BLAS marshalling library" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipBLAS" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="dev-util/hip + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}/hipBLAS-rocm-${PV}" + +src_configure() { + local mycmakeargs=( + -DBUILD_CLIENTS_TESTS=OFF # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here + -DBUILD_CLIENTS_BENCHMARKS=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + CXX=hipcc cmake_src_configure +} diff --git a/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild b/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild new file mode 100644 index 000000000000..f5afa385cdee --- /dev/null +++ b/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm +DESCRIPTION="ROCm BLAS marshalling library" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipBLAS" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="dev-util/hip + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}/hipBLAS-rocm-${PV}" + +src_configure() { + local mycmakeargs=( + # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here + -DBUILD_CLIENTS_TESTS=OFF + -DBUILD_CLIENTS_BENCHMARKS=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + CXX=hipcc cmake_src_configure +} diff --git a/sci-libs/hipBLAS/metadata.xml b/sci-libs/hipBLAS/metadata.xml index e74d41fd607c..65b9259ded18 100644 --- a/sci-libs/hipBLAS/metadata.xml +++ b/sci-libs/hipBLAS/metadata.xml @@ -12,4 +12,7 @@ <email>xgreenlandforwyy@gmail.com</email> <name>Yiyang Wu</name> </maintainer> + <upstream> + <remote-id type="github">ROCmSoftwarePlatform/hipBLAS</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/hipCUB/Manifest b/sci-libs/hipCUB/Manifest index bca0363ed4ca..7d95be621dad 100644 --- a/sci-libs/hipCUB/Manifest +++ b/sci-libs/hipCUB/Manifest @@ -1 +1,2 @@ DIST hipCUB-5.1.3.tar.gz 278021 BLAKE2B f30e567370fea80ef63a455c2c27b3f4ff241e7e405688fa4dc33d1e0ce3dffb016a1a1523b20613a7963bff061758eac0c0d110243a9a6cedbc100bb087d7d4 SHA512 dd3ca341b78cf6985ba723feeeb560c0503ab283b63067e9a5e68d12ad42f752a7f56fd60f0f0c26c2853538853e09a102cfc6006c18c31c3162fa7b536ffb9f +DIST hipCUB-5.7.1.tar.gz 322980 BLAKE2B a9b2a69b47661532858f18e7296ef37be41da814bb4886f7b8b444829e6ad1374d1c3117b57e7599095253ed56ea2403c895bb820dbde9cec77c28a041af3898 SHA512 7cf7dc819a3d8bac2cf70aa077616e65d785d76bae3ad3991db7b940a061f694ac82b1e4219aa16476351f1329e3f0d09a818b0ff0b9c5ad261937879c21dca8 diff --git a/sci-libs/hipCUB/hipCUB-5.7.1.ebuild b/sci-libs/hipCUB/hipCUB-5.7.1.ebuild new file mode 100644 index 000000000000..0674d33b6ed5 --- /dev/null +++ b/sci-libs/hipCUB/hipCUB-5.7.1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipCUB" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/hip + sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}] + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest ) +" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/hipCUB-rocm-${PV}" + +# src_prepare() { +# sed -e "/PREFIX hipcub/d" \ +# -e "/DESTINATION/s:hipcub/include/:include/:" \ +# -e "/rocm_install_symlink_subdir(hipcub)/d" \ +# -e "/<INSTALL_INTERFACE/s:hipcub/include/:include/hipcub/:" -i hipcub/CMakeLists.txt || die + +# sed -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die + +# # disable downloading googletest and googlebenchmark +# sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die + +# # remove GIT dependency +# sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die + +# if use benchmark; then +# sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \ +# -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die +# fi + +# eapply_user +# cmake_src_prepare +# } + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + # uses HMM to fit tests to default <512M iGPU VRAM + MAKEOPTS="-j1" HIPCUB_USE_HMM="1" cmake_src_test +} diff --git a/sci-libs/hipFFT/Manifest b/sci-libs/hipFFT/Manifest index 7ef5713343b5..df28313d1787 100644 --- a/sci-libs/hipFFT/Manifest +++ b/sci-libs/hipFFT/Manifest @@ -1 +1,2 @@ DIST hipFFT-rocm-5.1.3.tar.gz 89397 BLAKE2B 3c29d5d660e9f3db8afd8c9e524296c29f50faf06a5d6a58ec628b5cc5ddb47ac2b99f137c7bc5090a311189b44014ea2f6f1f7547d22506f5ba18f837fbeb68 SHA512 8d7a90630cd8bfeade9cb026e45b6b6c1ab9c96dba424559a7ced8c881cd45c1cb06d3f7e82c8e6558e4ccb8bb41b6278842057a0cf0957b0644b1139f2c9706 +DIST hipFFT-rocm-5.7.1.tar.gz 102616 BLAKE2B ee8d6dcb7924c8989987b02533126c4e4419d8dc83067a816f2253efe4537e094f1665d95699d4bf27f30cd13f3fc5df7d3b0062c267ecbdcbb3aad961fab6f6 SHA512 4bfd812fa1e949574b4170833755a435f47e893f0615b65d8d273af6e8f89ea4d28632a208de20321e834c8bc237b11816e2af0363b60adca9af736b9bc87465 diff --git a/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch b/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch new file mode 100644 index 000000000000..2f63a0f8e6f7 --- /dev/null +++ b/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch @@ -0,0 +1,90 @@ +reverts the following commit. + +Upstream: https://github.com/ROCmSoftwarePlatform/hipFFT/pull/67 + +commit 41491c9a70f808ed74690a538ca7bd25ff1ae1ca +Author: Steve Leung <Steve.Leung@amd.com> +Date: Wed Sep 1 11:25:26 2021 -0600 + + cmake: use HIP CONFIG on Windows + +diff --git a/clients/rider/CMakeLists.txt b/clients/rider/CMakeLists.txt +index de1fc7d..8b88103 100644 +--- b/clients/rider/CMakeLists.txt ++++ a/clients/rider/CMakeLists.txt +@@ -43,11 +43,7 @@ + + if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) + if( NOT BUILD_WITH_LIB STREQUAL "CUDA" ) +- if( WIN32 ) +- find_package( HIP CONFIG REQUIRED ) +- else() +- find_package( HIP MODULE REQUIRED ) +- endif() ++ find_package( HIP REQUIRED ) + target_link_libraries( hipfft-rider PRIVATE hip::host ) + else() + +diff --git a/clients/samples/CMakeLists.txt b/clients/samples/CMakeLists.txt +index 5a882c6..37162ab 100644 +--- b/clients/samples/CMakeLists.txt ++++ a/clients/samples/CMakeLists.txt +@@ -48,11 +48,7 @@ + target_link_libraries( ${sample} PRIVATE hip::hipfft ) + + if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) +- if( WIN32 ) +- find_package( HIP CONFIG REQUIRED ) +- else() +- find_package( HIP MODULE REQUIRED ) +- endif() ++ find_package( HIP REQUIRED ) + if( NOT BUILD_WITH_LIB STREQUAL "CUDA" ) + target_link_libraries( ${sample} PRIVATE hip::host ) + else() +diff --git a/clients/tests/CMakeLists.txt b/clients/tests/CMakeLists.txt +index 2b965e2..0442a79 100644 +--- b/clients/tests/CMakeLists.txt ++++ a/clients/tests/CMakeLists.txt +@@ -81,11 +81,7 @@ + + if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) + if( NOT BUILD_WITH_LIB STREQUAL "CUDA" ) +- if( WIN32 ) +- find_package( HIP CONFIG REQUIRED ) +- else() +- find_package( HIP MODULE REQUIRED ) +- endif() ++ find_package( HIP REQUIRED ) + target_link_libraries( hipfft-test PRIVATE hip::host ) + else() + target_compile_definitions( hipfft-test PRIVATE __HIP_PLATFORM_NVIDIA__) +diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake +index 022e3e4..0c8b3f8 100644 +--- b/cmake/dependencies.cmake ++++ a/cmake/dependencies.cmake +@@ -27,22 +27,14 @@ + # HIP + if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) + if( NOT BUILD_WITH_LIB STREQUAL "CUDA" ) +- if( WIN32 ) +- find_package( HIP CONFIG REQUIRED ) +- else() +- find_package( HIP MODULE REQUIRED ) +- endif() ++ find_package( HIP REQUIRED ) + list( APPEND HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include" ) + endif() + else() + if( BUILD_WITH_LIB STREQUAL "CUDA" ) + set(HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include") + else() +- if( WIN32 ) +- find_package( HIP CONFIG REQUIRED ) +- else() +- find_package( HIP MODULE REQUIRED ) +- endif() ++ find_package( HIP REQUIRED ) + endif() + endif() + diff --git a/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch b/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch new file mode 100644 index 000000000000..71d75417c0d3 --- /dev/null +++ b/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch @@ -0,0 +1,40 @@ +From c2b06a3b49257b3f89cf203895cf370e64e47b27 Mon Sep 17 00:00:00 2001 +From: trixirt <trix@redhat.com> +Date: Mon, 31 Jul 2023 09:50:19 -0700 +Subject: [PATCH] Simplify finding the hip package + +On Fedora, where hip is installed as an rpm, its cmake files can +not be found and are reported as an error. + +CMake Error at cmake/dependencies.cmake:44 (find_package): + No "FindHIP.cmake" found in CMAKE_MODULE_PATH. + +This change treats hip as a normal package. + +Signed-off-by: Tom Rix <trix@redhat.com> +--- + cmake/dependencies.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake +index 262478d..5810e37 100644 +--- a/cmake/dependencies.cmake ++++ b/cmake/dependencies.cmake +@@ -30,7 +30,7 @@ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) + if( WIN32 ) + find_package( HIP CONFIG REQUIRED ) + else() +- find_package( HIP MODULE REQUIRED ) ++ find_package( HIP REQUIRED ) + endif() + list( APPEND HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include" ) + endif() +@@ -41,7 +41,7 @@ else() + if( WIN32 ) + find_package( HIP CONFIG REQUIRED ) + else() +- find_package( HIP MODULE REQUIRED ) ++ find_package( HIP REQUIRED ) + endif() + endif() + endif() diff --git a/sci-libs/hipFFT/hipFFT-5.1.3.ebuild b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild index 216d15841546..79eb8052324f 100644 --- a/sci-libs/hipFFT/hipFFT-5.1.3.ebuild +++ b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,7 @@ SLOT="0/$(ver_cut 1-2)" RESTRICT="test" -RDEPEND="dev-util/hip:${SLOT} +RDEPEND="dev-util/hip sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]" DEPEND="${RDEPEND}" BDEPEND="" @@ -26,25 +26,19 @@ BDEPEND="" S="${WORKDIR}/hipFFT-rocm-${PV}" PATCHES=( + "${FILESDIR}/${PN}-5.1.3_hip-config.patch" "${FILESDIR}/${PN}-5.1.3-gentoo-install-locations.patch" "${FILESDIR}/${PN}-5.0.2-remove-git-dependency.patch" "${FILESDIR}/${PN}-4.3.0-add-complex-header.patch" ) -src_prepare() { - sed -e "/CMAKE_INSTALL_LIBDIR/d" -i CMakeLists.txt || die - cmake_src_prepare -} - src_configure() { local mycmakeargs=( - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" -DCMAKE_INSTALL_INCLUDEDIR="include/hipfft" - -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake" - -DHIP_ROOT_DIR="${EPREFIX}/usr" + -DROCM_SYMLINK_LIBS=OFF -DBUILD_CLIENTS_TESTS=OFF -DBUILD_CLIENTS_RIDER=OFF ) - cmake_src_configure + CXX=hipcc cmake_src_configure } diff --git a/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild b/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild new file mode 100644 index 000000000000..ab9604482ed9 --- /dev/null +++ b/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic hip FFT implementation" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipFFT" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${PV}.tar.gz -> hipFFT-rocm-${PV}.tar.gz" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +RESTRICT="test" + +RDEPEND="dev-util/hip + sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}/hipFFT-rocm-${PV}" + +PATCHES=( + "${FILESDIR}/${PN}-5.0.2-remove-git-dependency.patch" + "${FILESDIR}/${PN}-4.3.0-add-complex-header.patch" + "${FILESDIR}/${PN}-5.7.1_hip-config.patch" +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_MODULE_PATH="${EPREFIX}"/usr/$(get_libdir)/cmake/hip + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_TESTS=OFF + -DBUILD_CLIENTS_RIDER=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + CXX=hipcc cmake_src_configure +} diff --git a/sci-libs/hipRAND/Manifest b/sci-libs/hipRAND/Manifest new file mode 100644 index 000000000000..39e54dc94d02 --- /dev/null +++ b/sci-libs/hipRAND/Manifest @@ -0,0 +1,2 @@ +DIST hipRAND-rocm-5.6.0.tar.gz 477597 BLAKE2B fdc88ac7076ab6b31ba794f9274881323fba32295bab5b90e38d8c8f336e0255b7d20dcba6e334b7bacd8b67eaac8a3ac6e11e3d490e7c95a973d16c9598922f SHA512 47d0cca92b458f8ef682b3c15fe4ccc5201370b1458e541080dc2150e98256962b78806c20b26d789b232d420eb305639fa50180e379ba123851d35d24d40cb2 +DIST hipRAND-rocm-5.7.1.tar.gz 478352 BLAKE2B 5f435cf53d213b1d95ee8b766df2c9bc4b4d590ccf63fe867bd033eeb4b7fef67e2bde22242525686a8dee59fd811363857312481e9cb3575357c612ab519a41 SHA512 b3c51728c1d7cc37760f49f36ab7765c166f105bc5b1b6ce65ac4a1de9bb70f8e2c10f5c41f89040288b09c9257d913d745a416bd4785b71f170a4f57e1f95e2 diff --git a/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild b/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild new file mode 100644 index 000000000000..006440bb6a29 --- /dev/null +++ b/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic hip RAND implementation" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipRAND" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipRAND/archive/refs/tags/rocm-${PV}.tar.gz -> hipRAND-rocm-${PV}.tar.gz" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +RESTRICT="test" + +RDEPEND="dev-util/hip + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}/hipRAND-rocm-${PV}" + +src_configure() { + local mycmakeargs=( + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + CXX=hipcc cmake_src_configure +} diff --git a/sci-libs/hipRAND/hipRAND-5.7.1.ebuild b/sci-libs/hipRAND/hipRAND-5.7.1.ebuild new file mode 100644 index 000000000000..006440bb6a29 --- /dev/null +++ b/sci-libs/hipRAND/hipRAND-5.7.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic hip RAND implementation" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipRAND" +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipRAND/archive/refs/tags/rocm-${PV}.tar.gz -> hipRAND-rocm-${PV}.tar.gz" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +RESTRICT="test" + +RDEPEND="dev-util/hip + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}/hipRAND-rocm-${PV}" + +src_configure() { + local mycmakeargs=( + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + CXX=hipcc cmake_src_configure +} diff --git a/sci-libs/hipRAND/metadata.xml b/sci-libs/hipRAND/metadata.xml new file mode 100644 index 000000000000..27c8916b67d4 --- /dev/null +++ b/sci-libs/hipRAND/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <maintainer type="person" proxied="yes"> + <email>xgreenlandforwyy@gmail.com</email> + <name>Yiyang Wu</name> + </maintainer> + <upstream> + <remote-id type="github">ROCmSoftwarePlatform/hipRAND</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-libs/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest index 6f6118e92831..1876cfe32d71 100644 --- a/sci-libs/hipSPARSE/Manifest +++ b/sci-libs/hipSPARSE/Manifest @@ -1,4 +1,5 @@ DIST hipSPARSE-5.1.tar.gz 449838 BLAKE2B 7727ecb9fa397e2730cfda4c9367188c37ad201d501b50129994869c6ef15b51cdf2d1f481f19f2f37cf0530f1ec3689c40a9651924f70fabe945d80732df64a SHA512 8b01c01a10b8419d14a532ebccfa5b5b5b5c3f6a6e73f3f0ecee58c7e240d2754485a9da020fe4693df3ef9fc08e5bb09b05396472ccbeebf89bc2635d94eb64 +DIST hipSPARSE-5.7.tar.gz 458521 BLAKE2B 94695ef3cf4294f571723e31ab5d4295b5aaa24528e90838375ee8477cf0957b297663d80e5fe3406762b475b6ef4741f9ccfb4dfb1448ce71ea4014da14b46e SHA512 bb28cd81b7ec298eb2e6462a8588ed93eee7b4892923b11087a91d1c32341f29f488fd4e6797debe51a989f463db31030eae02d07be6512d6b755367ba221aac DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03 DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0 DIST rocSPARSE_amazon0312.tar.gz 11303646 BLAKE2B 388947a29380253bb5eecb22d3a3b6f3378711044b3fe98d6d2517cd27330f11b3d12fdb96320a2889e139224f1a6a5ad1c455ff8e91a262aa2aadbe16301330 SHA512 aed2d62581763742d9c7faf3dcaf1eaa983caa1e2e7ad4abebe97c5e7c2aec9942e0e32291092b348b60052c92b130e721ec19ed59bda22e1b233ef72ac7d2ff diff --git a/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild b/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild new file mode 100644 index 000000000000..e43590b2338c --- /dev/null +++ b/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake edo rocm toolchain-funcs + +DESCRIPTION="ROCm SPARSE marshalling library" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipSPARSE" +# share some test datasets with rocSPARSE +SRC_URI="https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-${PV}.tar.gz -> hipSPARSE-$(ver_cut 1-2).tar.gz +test? ( +https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> rocSPARSE_amazon0312.tar.gz +https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> rocSPARSE_Chebyshev4.tar.gz +https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> rocSPARSE_sme3Dc.tar.gz +https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> rocSPARSE_webbase-1M.tar.gz +https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> rocSPARSE_rma10.tar.gz +https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> rocSPARSE_bibd_22_8.tar.gz +https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> rocSPARSE_mac_econ_fwd500.tar.gz +https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> rocSPARSE_mc2depi.tar.gz +https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> rocSPARSE_scircuit.tar.gz +https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> rocSPARSE_ASIC_320k.tar.gz +https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> rocSPARSE_bmwcra_1.tar.gz +https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> rocSPARSE_nos1.tar.gz +https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> rocSPARSE_nos2.tar.gz +https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> rocSPARSE_nos3.tar.gz +https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> rocSPARSE_nos4.tar.gz +https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> rocSPARSE_nos5.tar.gz +https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> rocSPARSE_nos6.tar.gz +https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> rocSPARSE_nos7.tar.gz +https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> rocSPARSE_shipsec1.tar.gz +)" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0"/$(ver_cut 1-2) +IUSE="test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/rocminfo + dev-util/hip + sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="dev-util/rocm-cmake + >=dev-util/cmake-3.22 + test? ( dev-cpp/gtest )" + +S="${WORKDIR}/hipSPARSE-rocm-${PV}" + +src_prepare() { + sed -e "s/PREFIX hipsparse//" \ + -e "/<INSTALL_INTERFACE/s,include,include/hipsparse," \ + -e "s:rocm_install_symlink_subdir(hipsparse):#rocm_install_symlink_subdir(hipsparse):" \ + -i library/CMakeLists.txt || die + + cmake_src_prepare + + # remove GIT dependency + sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die + + # Fix install path + sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die + + if use test; then + mkdir -p "${BUILD_DIR}"/clients/matrices + # compile and use the mtx2bin converter. Do not use any optimization flags! + edo $(tc-getCXX) deps/convert.cpp -o deps/convert + find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 | + while IFS= read -r -d '' mtxfile; do + destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).bin + ebegin "Converting ${mtxfile} to ${destination}" + deps/convert ${mtxfile} ${destination} + eend $? + done + fi +} + +src_configure() { + local mycmakeargs=( + -DHIP_RUNTIME="ROCclr" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_SAMPLES=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + edob ./${PN,,}-test +} diff --git a/sci-libs/huggingface_hub/Manifest b/sci-libs/huggingface_hub/Manifest index 1caa5dc407e5..f19f1cb56a32 100644 --- a/sci-libs/huggingface_hub/Manifest +++ b/sci-libs/huggingface_hub/Manifest @@ -1,2 +1,4 @@ DIST huggingface_hub-0.13.4.gh.tar.gz 325227 BLAKE2B 56ad70072ddd7f9878de4db45fffeb200032d71ba36fa2dc0e81d50a079a5ffa9ad80b3a71773a5fe466ac4522db7061fc7974149092d212278b8159d30e212b SHA512 6c07c1dc1a0c327ca463b7f366c265dfc7e55ed69592df5ad10f6d77956ac1dfe3e1f827a2df200f943da2f34a96ba4de1c395944b542e3d7142d925f60ad274 DIST huggingface_hub-0.14.1.gh.tar.gz 359222 BLAKE2B 379cc49230f2e8f5f57d0dac5cfab60f9d0a7d04bab36af8ba0a77846fdf6eea412f9d473bd2f554a912a862747156fe29d36913691b6df8c3cf769389d86b3f SHA512 8d1e9c3e77a8ddb4a6b1827751fad95baad7504a1ad2cdf443f1cf64cff10e1cea9148f2076e0fd462c7f1ce860230e919059e61807260368727a6bd5e9efeb3 +DIST huggingface_hub-0.15.1.gh.tar.gz 1222091 BLAKE2B f9b452f7ffe54d6edfe87e288cd52ee2ec35450ffe052d59442859918b4e1baf93d2d807dc54799ea3346bf00f52ad75bbb9dab69f36771ba8bf8702d54bbe7e SHA512 70d3a47383aa6a0c3cc1b13f1bf3e69326c3432eca8e68ea08f991aa2c5a212f1e4fe262840129bb64dc9ccb3f958371ea7a38ff5246f14585783bafa3d81585 +DIST huggingface_hub-0.16.4.gh.tar.gz 1481723 BLAKE2B 28e704be8087e1d20358eff07d70a93bd4e246b8bb40ad58dfb240029b0945ada672414cabb5be6a8ed145ed437a0c86a6f4bd0a7b562c9b8ca85ee97a99307b SHA512 1412b5210b0b88c2ccac35ddd1ac970abfdd5449600163968a54a7b2f5575ecd1e357d1a98d961387a8edff38a205c9f38e9dca7c23a24e36b0fe47d1a9daa1c diff --git a/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild new file mode 100644 index 000000000000..7c519b339f79 --- /dev/null +++ b/sci-libs/huggingface_hub/huggingface_hub-0.15.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 + +DESCRIPTION="a client library to interact with the Hugging Face Hub" +HOMEPAGE=" + https://pypi.org/project/huggingface_hub/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="test" #Several modules not yet packaged + +RDEPEND=" + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild new file mode 100644 index 000000000000..7c519b339f79 --- /dev/null +++ b/sci-libs/huggingface_hub/huggingface_hub-0.16.4.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 + +DESCRIPTION="a client library to interact with the Hugging Face Hub" +HOMEPAGE=" + https://pypi.org/project/huggingface_hub/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="test" #Several modules not yet packaged + +RDEPEND=" + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/sci-libs/iml/iml-1.0.5.ebuild b/sci-libs/iml/iml-1.0.5.ebuild index e87b1e50a002..41bcf98488dd 100644 --- a/sci-libs/iml/iml-1.0.5.ebuild +++ b/sci-libs/iml/iml-1.0.5.ebuild @@ -9,7 +9,8 @@ DESCRIPTION="Integer Matrix Library" HOMEPAGE="https://www.cs.uwaterloo.ca/~astorjoh/iml.html" SRC_URI="https://www.cs.uwaterloo.ca/~astorjoh/${P}.tar.bz2" -LICENSE="GPL-2" +# COPYING is GPL-2, but the files under src/ all have a BSD header +LICENSE="GPL-2 BSD" SLOT="0" KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="static-libs" diff --git a/sci-libs/indilib/Manifest b/sci-libs/indilib/Manifest index 41262b171751..7d5bc805fc4e 100644 --- a/sci-libs/indilib/Manifest +++ b/sci-libs/indilib/Manifest @@ -1 +1,2 @@ -DIST indilib-1.9.8.tar.gz 2633085 BLAKE2B 045d38fc565546528fddfa83cfd78650d30e41769923d7ec8f462a617fdd298228913a075a9f0b511867aa9174143da010bbb4c015d8b5a1d51f2b80090e50d5 SHA512 b9551547de277fe311e4779e65915351850a25fb049ddcfad634ef385014b521416f2366cf50cda80cdfa4a754c18face21cfd59f7f45c4018ca733ddf981ab2 +DIST indilib-2.0.3.tar.gz 2713456 BLAKE2B b74f3319c744227b533616ec369cb6f379253928c1d73ef8336d122152fcb866403efe8c7aa6f65c99ba10149b0b2b43c4a86a87f82353ce045602b261b75618 SHA512 323e694f90d71cf26da8b05d60d136f2422dc12e31ec88012250faf795e67bb95da2fd729cacc5bfa7cb74cc8fe1e12a0512cb57e694c87f362a4828228db0b7 +DIST indilib-2.0.4.tar.gz 2778082 BLAKE2B 21573abeb054f6693d29e5e67908be8be06246c138dba7dd8815c80d338fe8dbc202b103454f8e9a0b97e0fa05d5464547f32a2aa6bc0fa6189ddabd1f67428c SHA512 cb8c05ed2d814350e8357dfb3fd42ce5f2db88a0d150b0feb63fcb85cadd70369bfce1600a60837e242e5815ad076923428c456f4b331ffe1a22a2c02e11ced4 diff --git a/sci-libs/indilib/indilib-1.9.8.ebuild b/sci-libs/indilib/indilib-2.0.3.ebuild index d7ef0939608e..9f35ab2702f0 100644 --- a/sci-libs/indilib/indilib-1.9.8.ebuild +++ b/sci-libs/indilib/indilib-2.0.3.ebuild @@ -43,6 +43,9 @@ DEPEND="${RDEPEND} src_configure() { local mycmakeargs=( -DINDI_BUILD_QT5_CLIENT=OFF + -DINDI_BUILD_SHARED=ON + -DINDI_BUILD_STATIC=OFF + -DINDI_BUILD_XISF=OFF # not packaged -DUDEVRULES_INSTALL_DIR="${EPREFIX}$(get_udevdir)"/rules.d $(cmake_use_find_package ogg OggTheora) $(cmake_use_find_package rtlsdr RTLSDR) @@ -55,18 +58,6 @@ src_configure() { } src_test() { - local myctestargs=() - - if use ppc || use ppc64 || use sparc ; then - # Broken on big endian for quite some time. - # Reported upstream: file needs to be replaced w/ a normal library - # for b64. - # bug #763126 - myctestargs+=( - -E "(test_base64)" - ) - fi - # Unit tests BUILD_DIR="${BUILD_DIR}"/test cmake_src_test diff --git a/sci-libs/indilib/indilib-2.0.4.ebuild b/sci-libs/indilib/indilib-2.0.4.ebuild new file mode 100644 index 000000000000..d607b1a7eb57 --- /dev/null +++ b/sci-libs/indilib/indilib-2.0.4.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake udev + +DESCRIPTION="INDI Astronomical Control Protocol library" +HOMEPAGE="https://www.indilib.org/" +SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P/lib/}" + +LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+" +SLOT="0/1" +KEYWORDS="~amd64 ~ppc ppc64 ~riscv ~x86" +IUSE="ogg rtlsdr test websocket" + +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libev + media-libs/libjpeg-turbo:= + net-misc/curl + sci-libs/cfitsio:= + sci-libs/fftw:3.0= + sci-libs/gsl:= + sci-libs/libnova:= + sys-libs/zlib + virtual/libusb:1 + ogg? ( + media-libs/libogg + media-libs/libtheora + ) + rtlsdr? ( net-wireless/rtl-sdr ) + websocket? ( dev-libs/boost:= ) +" +DEPEND="${RDEPEND} + kernel_linux? ( sys-kernel/linux-headers ) + test? ( >=dev-cpp/gtest-1.8.0 ) + websocket? ( dev-cpp/websocketpp ) +" + +src_configure() { + local mycmakeargs=( + -DINDI_BUILD_QT5_CLIENT=OFF + -DINDI_BUILD_SHARED=ON + -DINDI_BUILD_STATIC=OFF + -DINDI_BUILD_XISF=OFF # not packaged + -DUDEVRULES_INSTALL_DIR="${EPREFIX}$(get_udevdir)"/rules.d + $(cmake_use_find_package ogg OggTheora) + $(cmake_use_find_package rtlsdr RTLSDR) + -DINDI_BUILD_UNITTESTS=$(usex test) + -DINDI_BUILD_INTEGTESTS=$(usex test) + -DINDI_BUILD_WEBSOCKET=$(usex websocket) + ) + + cmake_src_configure +} + +src_test() { + # Unit tests + BUILD_DIR="${BUILD_DIR}"/test cmake_src_test + + # Integration tests + # They fail in parallel because they try to bind to the same port more + # than once. + BUILD_DIR="${BUILD_DIR}"/integs cmake_src_test -j1 +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sci-libs/klu/Manifest b/sci-libs/klu/Manifest index 5b61d529d95c..0e6da4f95109 100644 --- a/sci-libs/klu/Manifest +++ b/sci-libs/klu/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST klu-1.3.9.tar.bz2 635596 BLAKE2B 6c6c84cf1b30e78cbaaee6bebed21c806d1672bee5f7ea061e7ef057ff56fd456e8517ca2ff1018a14ebcbc8f96b9e87989e22d8996817394666e6d8d2d727dd SHA512 b7fd862fe8443596758c27f9c918e367b3b3816340836e74cf8d97a2e755fbe07d133778eea3d054bc70243fa15c2bd71f4fd90c1179879661ba2d624b8f0706 diff --git a/sci-libs/klu/klu-2.0.3.ebuild b/sci-libs/klu/klu-2.0.3.ebuild new file mode 100644 index 000000000000..3aca27a557ad --- /dev/null +++ b/sci-libs/klu/klu-2.0.3.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Sparse LU factorization for circuit simulation" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-7.0.0 + >=sci-libs/amd-3.0.3 + >=sci-libs/btf-2.0.3 + >=sci-libs/colamd-3.0.3 + >=sci-libs/cholmod-4.0.3" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + ./klu_simple || die "failed testing" + ./kludemo < "${S}"/Matrix/1c.mtx || die "failed testing" + ./kludemo < "${S}"/Matrix/arrowc.mtx || die "failed testing" + ./kludemo < "${S}"/Matrix/arrow.mtx || die "failed testing" + ./kludemo < "${S}"/Matrix/impcol_a.mtx || die "failed testing" + ./kludemo < "${S}"/Matrix/w156.mtx || die "failed testing" + ./kludemo < "${S}"/Matrix/ctina.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/1c.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/arrowc.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/arrow.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/impcol_a.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/w156.mtx || die "failed testing" + ./kluldemo < "${S}"/Matrix/ctina.mtx || die "failed testing" +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + emake clean + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/klu/metadata.xml b/sci-libs/klu/metadata.xml index 33b1892a51f1..16b070542e68 100644 --- a/sci-libs/klu/metadata.xml +++ b/sci-libs/klu/metadata.xml @@ -10,4 +10,7 @@ circuit simulation. It is also part of the University of Florida sparse matrix suite. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/lapack/Manifest b/sci-libs/lapack/Manifest index d2af6557b1ba..b3a926d208b1 100644 --- a/sci-libs/lapack/Manifest +++ b/sci-libs/lapack/Manifest @@ -1,2 +1,3 @@ DIST lapack-3.10.1.tar.gz 7632257 BLAKE2B f2653239029ed9c136173fc2e54773a785ad3e469d581ca2b7f6a72697e6bb9d22879edaf8327ada510df259c08fe984202d14cb3860c0d2a711eb55a1cc11dd SHA512 0500bbbb48483208c0a35b74972ff0059c389da6032824a2079637266a99fa980882eedf7f1fc490219ee4ff27812ac8c6afe118e25f40a9c2387e7b997762fb DIST lapack-3.11.tar.gz 7723909 BLAKE2B b3f8ec8cd439d790ba5869b8b071fe924a4ac53328bce77d46032602b45353670966ed9223324a0780aabc2e95624f439e03f90a89586f96afbe1374c4261bc5 SHA512 d2f23c5f6ae14fb868312a25235459bd0c04f4b43b82a5ade01314776ade9a75dc518a457eb58595f29f64cb0bb86f1a12ce8beea3ec87ef9caf49493ce29fb3 +DIST lapack-3.12.0.tar.gz 7933607 BLAKE2B dafb1f9a717f2cbc00a26f8cff2c7a1ebb720714fe6d7bd5fabb511a2f4af317165814340864c9d601e4e16c7762f643fbbafc058170ebcdc6529a9b4f2d70b6 SHA512 f8f3c733a0221be0b3f5618235408ac59cbd4e5f1c4eab5f509b831a6ec6a9ef14b8849aa6ea10810df1aff90186ca454d15e9438d1dd271c2449d42d3da9dda diff --git a/sci-libs/lapack/lapack-3.10.1.ebuild b/sci-libs/lapack/lapack-3.10.1.ebuild index 218c49029127..16b9d22e73df 100644 --- a/sci-libs/lapack/lapack-3.10.1.ebuild +++ b/sci-libs/lapack/lapack-3.10.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake +inherit cmake fortran-2 DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations" HOMEPAGE="https://www.netlib.org/lapack/" diff --git a/sci-libs/lapack/lapack-3.11.ebuild b/sci-libs/lapack/lapack-3.11.ebuild index 07e3eb649f42..7e2764d7f209 100644 --- a/sci-libs/lapack/lapack-3.11.ebuild +++ b/sci-libs/lapack/lapack-3.11.ebuild @@ -4,8 +4,8 @@ EAPI=8 # Some additional tests are run if Python is found -PYTHON_COMPAT=( python3_{9..11} ) -inherit cmake python-any-r1 +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake fortran-2 python-any-r1 DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations" HOMEPAGE="https://www.netlib.org/lapack/" @@ -13,7 +13,7 @@ SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos" # TODO: static-libs 64bit-index IUSE="lapacke deprecated doc eselect-ldso test" RESTRICT="!test? ( test )" @@ -34,6 +34,7 @@ BDEPEND=" " pkg_setup() { + fortran-2_pkg_setup use test && python-any-r1_pkg_setup } diff --git a/sci-libs/lapack/lapack-3.12.0.ebuild b/sci-libs/lapack/lapack-3.12.0.ebuild new file mode 100644 index 000000000000..28f108f8c14c --- /dev/null +++ b/sci-libs/lapack/lapack-3.12.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Some additional tests are run if Python is found +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake fortran-2 python-any-r1 + +DESCRIPTION="BLAS, CBLAS, LAPACK, LAPACKE reference implementations" +HOMEPAGE="https://www.netlib.org/lapack/" +SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos" +# TODO: static-libs 64bit-index +IUSE="lapacke deprecated doc eselect-ldso test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !app-eselect/eselect-cblas + virtual/fortran + eselect-ldso? ( + >=app-eselect/eselect-blas-0.2 + >=app-eselect/eselect-lapack-0.2 + ) + doc? ( app-doc/blas-docs ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) +" + +pkg_setup() { + fortran-2_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DCBLAS=ON + -DLAPACKE=$(usex lapacke) + -DBUILD_DEPRECATED=$(usex deprecated) + -DBUILD_SHARED_LIBS=ON + -DBUILD_TESTING=$(usex test) + -DLAPACK_TESTING_USE_PYTHON=$(usex test) + # Breaks cross + -DTEST_FORTRAN_COMPILER=OFF + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + use eselect-ldso || return + # Create private lib directory for eselect::blas (ld.so.conf) + dodir /usr/$(get_libdir)/blas/reference + dosym -r /usr/$(get_libdir)/libblas.so /usr/$(get_libdir)/blas/reference/libblas.so + dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/reference/libblas.so.3 + dosym -r /usr/$(get_libdir)/libcblas.so /usr/$(get_libdir)/blas/reference/libcblas.so + dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/reference/libcblas.so.3 + + # Create private lib directory for eselect::lapack (ld.so.conf) + dodir /usr/$(get_libdir)/lapack/reference + dosym -r /usr/$(get_libdir)/liblapack.so /usr/$(get_libdir)/lapack/reference/liblapack.so + dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/reference/liblapack.so.3 +} + +pkg_postinst() { + use eselect-ldso || return + + local me=reference libdir=$(get_libdir) + # check eselect-blas + eselect blas add ${libdir} "${EPREFIX}"/usr/${libdir}/blas/${me} ${me} + local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) + if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then + eselect blas set ${libdir} ${me} + elog "Current eselect: BLAS ($libdir) -> [${current_blas}]." + else + elog "Current eselect: BLAS ($libdir) -> [${current_blas}]." + elog "To use blas [${me}] implementation, you have to issue (as root):" + elog "\t eselect blas set ${libdir} ${me}" + fi + + # check eselect-lapack + eselect lapack add ${libdir} "${EPREFIX}"/usr/${libdir}/lapack/${me} ${me} + local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) + if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then + eselect lapack set ${libdir} ${me} + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + else + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + elog "To use lapack [${me}] implementation, you have to issue (as root):" + elog "\t eselect lapack set ${libdir} ${me}" + fi +} + +pkg_postrm() { + use eselect-ldso || return + + eselect blas validate + eselect lapack validate +} diff --git a/sci-libs/ldl/Manifest b/sci-libs/ldl/Manifest index f8c366affa12..e7ab12f27e1c 100644 --- a/sci-libs/ldl/Manifest +++ b/sci-libs/ldl/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST ldl-2.2.6.tar.bz2 342923 BLAKE2B 7acf1a82824de013fe9a7742fb2d5c44c86de96e95d1d7408106d4af420dc3655ab7533eb80592b52523245c7545bc246bf129712547ff6eba856a807c78b6ad SHA512 266c9e62c474a6a9b2d7f74aa580e313fbe4b322197236ba6fbbab6d1756348cf146c1d807ea6d8d0e5941cedc48298e8437aaf386dd6c433dcaf41a9d0b7371 diff --git a/sci-libs/ldl/ldl-3.0.3.ebuild b/sci-libs/ldl/ldl-3.0.3.ebuild new file mode 100644 index 000000000000..28b394008845 --- /dev/null +++ b/sci-libs/ldl/ldl-3.0.3.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Simple but educational LDL^T matrix factorization algorithm" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/3" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV} + >=sci-libs/amd-3.0.3" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Some programs assume that they can access the Matrix folder in ${S} + ln -s "${S}/Matrix" || die "cannot link to the Matrix folder" + # Run demo files + local demofiles=( + ldlsimple + ldllsimple + ldlmain + ldllmain + ldlamd + ldllamd + ) + for i in ${demofiles[@]}; do + ./"${i}" > "${i}.out" || die "failed to run test ${i}" + diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}" + done +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/ldl/metadata.xml b/sci-libs/ldl/metadata.xml index e6396c0864b0..c450822b982c 100644 --- a/sci-libs/ldl/metadata.xml +++ b/sci-libs/ldl/metadata.xml @@ -16,4 +16,7 @@ consists of a total of only 49 lines of code. The package is written in C, and includes a MATLAB interface. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/lemon/lemon-1.3.1-r1.ebuild b/sci-libs/lemon/lemon-1.3.1-r2.ebuild index 902d5e27521e..e0891825d062 100644 --- a/sci-libs/lemon/lemon-1.3.1-r1.ebuild +++ b/sci-libs/lemon/lemon-1.3.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,7 +28,7 @@ DEPEND="${RDEPEND}" BDEPEND="doc? ( app-doc/doxygen app-text/ghostscript-gpl - dev-libs/mathjax + <dev-libs/mathjax-3 )" PATCHES=( diff --git a/sci-libs/libcifpp/Manifest b/sci-libs/libcifpp/Manifest index 94e30350ad3d..4fcf5d210edf 100644 --- a/sci-libs/libcifpp/Manifest +++ b/sci-libs/libcifpp/Manifest @@ -1,4 +1,6 @@ -DIST libcifpp-5.0.8-components.cif.gz 89984770 BLAKE2B d42147d4da56589ac30de9fc3cdacd43e036f548eebf80a19d878c4bf0be535578eec6b78625e1ba60db53090ce5e4b9a3e59b06705f208b660fb2e37e79d1c2 SHA512 5f9705714816656aa910b571d77966926d66b2724136119857138975f8be5bb2e889e0c9b28ef1340a72857afb5831dba529b96e8dfc796f739e24b0dcab0424 -DIST libcifpp-5.0.8.tar.gz 1873629 BLAKE2B 07257a898b1253995880fea9b416b3a7681122b544f8397d353fda4069c33f4a6c2d5cf2210983acf68dc56cb27a20d780461c7c2485a445855e7b45cccd326d SHA512 4ea67fa4a93218fe96289de95591faa9411508e41e308f4ff470033fb0deb4029a86eafb7ba9295807fe3b350e8cc9f2267f7735ee8b1dbb431ee0275db2b8cc -DIST libcifpp-5.1.0.1-components.cif.xz 58001076 BLAKE2B 4d838e47c74540af54256f6124bd79c9c372c6768eeeabc620b54e1b2c49b2c2adc0b937f195f9544b9f2362fb60c209fb74f88c451ba6d50fe5da5f15ba768b SHA512 e7933a78a61e40c4b2e2aedfda0f36c79939fadc71c78cfde59fcec4de5c2b6c9cf1dbccc383a2f0bbf48744c776cdbb5e7c862e47a6fd2ec229c811caa9b5bc -DIST libcifpp-5.1.0.1.tar.gz 2242975 BLAKE2B 7cada39ed6096ee12e662422d1676dadbf0ae71958c206ef4105daeeaaa9b14cbf17143c3baf4e2914e8289801667829af1361d643846827044d7c8e1eb15fa2 SHA512 9ca3d7db5889d1baf713475fbfeaf355f45ecb139c838da6348d4bb054c2241204499d3f46e4d45075f2d60f6c48e29866ccf2994c26098b303573d7ba39204d +DIST libcifpp-5.1.1-components.cif.xz 58896016 BLAKE2B 2bf61944fe6b11325df3c6c32eaabeb27b0f117eed362dd2eba51f623f4054d142ee84aeb04908322b7aebd30a1bd17da969eeda953f7423cca922006fe767d2 SHA512 d4103ac0b0ae5698dd4c17e452ea35871c4854827d3a2ee93f00b73b6f57b87ee2278b44ec0501f818dfc34284b4c19d4617ba3a98df9552da5ebedaa59c9622 +DIST libcifpp-5.1.1.tar.gz 2244833 BLAKE2B 3a5feada63ee123dbed1ba776d0248569f46bbc2d39748db7d3cdfdfb66c89e08c54cdf5133182978e9ef4808c19adfc794ee895a95e882f0d5ff3d173e57311 SHA512 3e988d0e4f24174fb47274b0feaae5a8a793441efb9c8273b328f412fbd29ee082cd91e19f19008069ebfd3507c83f7945dc33fc015784727603f987091eaa5c +DIST libcifpp-5.1.2-components.cif.xz 59092332 BLAKE2B 3672ca8e9553be80822ca7d7398fd3b73b14b1bf375e63f3a7aef33c2ee92d837c9ca08b3a756d838c512ac5918a0537d70e9a422331fafaf0ff77ecf2134515 SHA512 b2d3507d339d8467b10d0a638a5b86e75ed73fb64fee854aefeb2f0ce999e6a99755af30483749ce75e8a4ce63536111bd2a7a5f698dfc86d1a2be3d243304ce +DIST libcifpp-5.1.2.tar.gz 2244795 BLAKE2B 7bec9f901c112fabf86c9ce691229f42dcf854be4c99bdf09dbe7dd0d0a3a7e92831cb2b72afa4debc1ce8b1a3a33e27cceda048adca6805802189e0ad50349c SHA512 3adb801ed52b250f6779228288a2c2926c1c7d8d0eff0bb6ed610b4258de8537253d2ce95208e8682b2eb8d0c09ecb53b6269c24bdce907360d9478c6c8c3c1b +DIST libcifpp-5.2.2-components.cif.xz 60754468 BLAKE2B 899120c2d6749fb2da9be94de8665f4e961d08c101b33bce98b84bf126b32d43bb79c88da98fb926047522a6f138512dcc59df698f57a83b716e039d422308d4 SHA512 d861b83f8b363f2e64ccf073bae768d73f9f57ec2674bf30d43b05fc9a32d235e26c888faaa02b6276e0734632b237b6dd00d8b966dd63b4fcf6562ebcf41cfc +DIST libcifpp-5.2.2.tar.gz 2277238 BLAKE2B a31af09bed7f1dbd6f610e104f0a8439742c863bc58b3680c058cb570a1f93fbcd6d23f29a372aafbb7166a4d86b2590cd24e092b1cc7af25bd09bbe437c93eb SHA512 2bbe9b13fd0ce8f686b5fa9e1675a41cc37c954cd9d80326fcc7c5f4c767be95dd71f6ddc3e841b6102214cd66205303515fa0750683e539f48b038a32a51af9 diff --git a/sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch b/sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch deleted file mode 100644 index 26735e003f4d..000000000000 --- a/sci-libs/libcifpp/files/libcifpp-5.0.8-missing-include.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0f03fc31e058da4b66f16a67e7674fba1b85ca80 Mon Sep 17 00:00:00 2001 -From: "Maarten L. Hekkelman" <maarten@hekkelman.com> -Date: Wed, 19 Apr 2023 09:22:32 +0200 -Subject: [PATCH] added required include - ---- - include/cif++/text.hpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/cif++/text.hpp b/include/cif++/text.hpp -index 9da9ab9..00f33c1 100644 ---- a/include/cif++/text.hpp -+++ b/include/cif++/text.hpp -@@ -30,6 +30,7 @@ - - #include <charconv> - #include <cmath> -+#include <cstdint> - #include <limits> - #include <set> - #include <sstream> diff --git a/sci-libs/libcifpp/libcifpp-5.1.0.1.ebuild b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild index 8d30793f975e..8d30793f975e 100644 --- a/sci-libs/libcifpp/libcifpp-5.1.0.1.ebuild +++ b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild diff --git a/sci-libs/libcifpp/libcifpp-5.0.8.ebuild b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild index b468bb36559f..47d08fc49c68 100644 --- a/sci-libs/libcifpp/libcifpp-5.0.8.ebuild +++ b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild @@ -7,10 +7,10 @@ inherit cmake DESCRIPTION="Code to work with mmCIF and PDB files" HOMEPAGE="https://github.com/PDB-REDO/libcifpp" # Update components file on every bump -# ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz +# http://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz SRC_URI=" https://github.com/PDB-REDO/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.gz + https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz " LICENSE="BSD-2" @@ -19,14 +19,12 @@ KEYWORDS="~amd64 ~x86" IUSE="test" RESTRICT="!test? ( test )" -DEPEND="dev-libs/boost:=" +DEPEND=" + dev-cpp/eigen:3 + dev-libs/boost:= +" RDEPEND="${DEPEND}" -PATCHES=( - # https://github.com/PDB-REDO/libcifpp/issues/40 - "${FILESDIR}/${P}-missing-include.patch" -) - src_configure() { cp "${WORKDIR}"/${P}-components.cif data/components.cif || die diff --git a/sci-libs/libcifpp/libcifpp-5.2.2.ebuild b/sci-libs/libcifpp/libcifpp-5.2.2.ebuild new file mode 100644 index 000000000000..0a794df24722 --- /dev/null +++ b/sci-libs/libcifpp/libcifpp-5.2.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit cmake + +DESCRIPTION="Code to work with mmCIF and PDB files" +HOMEPAGE="https://github.com/PDB-REDO/libcifpp" +# Update components file on every bump +# https://files.wwpdb.org/pub/pdb/data/monomers/components.cif.gz +SRC_URI=" + https://github.com/PDB-REDO/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-cpp/eigen:3 + dev-libs/boost:= +" +RDEPEND="${DEPEND}" + +src_configure() { + cp "${WORKDIR}"/${P}-components.cif data/components.cif || die + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DCIFPP_DOWNLOAD_CCD=OFF + -DCIFPP_INSTALL_UPDATE_SCRIPT=OFF + -DBUILD_TESTING="$(usex test)" + ) + cmake_src_configure +} diff --git a/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild index 9ef03933234f..ab2faf8e14d9 100644 --- a/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild +++ b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="Library of routines for IF97 water & steam properties" -HOMEPAGE="https://github.com/mgorny/libh2o/" -SRC_URI="https://github.com/mgorny/libh2o/releases/download/${P}/${P}.tar.bz2" +HOMEPAGE="https://github.com/projg2/libh2o/" +SRC_URI="https://github.com/projg2/libh2o/releases/download/${P}/${P}.tar.bz2" LICENSE="BSD" SLOT="0" diff --git a/sci-libs/libh2o/metadata.xml b/sci-libs/libh2o/metadata.xml index 22d7b18c840a..abd4fda5e9a6 100644 --- a/sci-libs/libh2o/metadata.xml +++ b/sci-libs/libh2o/metadata.xml @@ -10,7 +10,7 @@ <email>mgorny@gentoo.org</email> <name>Michał Górny</name> </maintainer> - <bugs-to>https://github.com/mgorny/libh2o/issues/</bugs-to> - <remote-id type="github">mgorny/libh2o</remote-id> + <bugs-to>https://github.com/projg2/libh2o/issues/</bugs-to> + <remote-id type="github">projg2/libh2o</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild b/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild index 7691373a4d3a..6c2e7a0a6672 100644 --- a/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild +++ b/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="C++ bindings for libh2o" -HOMEPAGE="https://github.com/mgorny/libh2oxx/" -SRC_URI="https://github.com/mgorny/libh2oxx/releases/download/${P}/${P}.tar.bz2" +HOMEPAGE="https://github.com/projg2/libh2oxx/" +SRC_URI="https://github.com/projg2/libh2oxx/releases/download/${P}/${P}.tar.bz2" LICENSE="BSD" SLOT="0" diff --git a/sci-libs/libh2oxx/metadata.xml b/sci-libs/libh2oxx/metadata.xml index 3eccf240bc49..4ee008f4b14f 100644 --- a/sci-libs/libh2oxx/metadata.xml +++ b/sci-libs/libh2oxx/metadata.xml @@ -10,7 +10,7 @@ <email>mgorny@gentoo.org</email> <name>Michał Górny</name> </maintainer> - <bugs-to>https://github.com/mgorny/libh2oxx/issues/</bugs-to> - <remote-id type="github">mgorny/libh2oxx</remote-id> + <bugs-to>https://github.com/projg2/libh2oxx/issues/</bugs-to> + <remote-id type="github">projg2/libh2oxx</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/libigl/libigl-2.4.0.ebuild b/sci-libs/libigl/libigl-2.4.0.ebuild index 7b92517b049e..aeec8b4e51ff 100644 --- a/sci-libs/libigl/libigl-2.4.0.ebuild +++ b/sci-libs/libigl/libigl-2.4.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/libigl/libigl/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2+ MPL-2.0" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64 ~arm64 ~x86" IUSE="static-libs" DEPEND="dev-cpp/eigen:3" diff --git a/sci-libs/libqalculate/Manifest b/sci-libs/libqalculate/Manifest index 4b55bd1dff5d..8649461a0356 100644 --- a/sci-libs/libqalculate/Manifest +++ b/sci-libs/libqalculate/Manifest @@ -1,2 +1,5 @@ DIST libqalculate-4.5.0.tar.gz 2603599 BLAKE2B 142790cf89e97c601b08d553b1f9cd6c1bf184a43c2614a07fa91560a875ea3e3124cf29d7652640b1f2fb4fada1519d48e4cb0ebcfb844c26369d3031aee230 SHA512 a123eaa725c6c6badce0eceecd6ef7e37ca281e7de18085d6a28aa6043bb3f1069f9ebba82b29989c9958455aa093ee183fd8013a86b39bd34e56454bdb35770 DIST libqalculate-4.6.1.tar.gz 2610769 BLAKE2B 02ad7371c537bf40d98bb1b32877f0a39394b0723c45e53b00381df2d0d326b79ab39c66238a8e3a89f10aa093f6c12bcc5ae0457f6d65503fb3712a78bb0dfc SHA512 7f03e0f8cc87918b8ec962ce8c85840b644aad02cdd53037d41602198cdcb6567099d175771ff3752fc99fccbc4b180527da5fef68b0059bd1b259c34c57620e +DIST libqalculate-4.7.0.tar.gz 2618347 BLAKE2B 1ec01e124d9c96a2651f3e2a82a4eb8ae771b2701d3fd2be0894666e37eccf1e15e779ccfb96ff866c3e3d5a625ca8884961b505f30d34310be1efe69f0ba1d1 SHA512 d72754f00e26daa0afc1357cc30571b5dae28d7f5f79bcdba2f159644216288df20e5a518457fb244fd3057935f7d800a3e95bdf0f04929353841cc8371be138 +DIST libqalculate-4.8.0.tar.gz 2625669 BLAKE2B 957adcc6b5dabee4d9d6a593a4d5c894e6db05856875a241b1090bada49a0c802c94076a347df6b9b60d088edcba6f5e50ffa0d4a4517ead6da9cebc2f02c592 SHA512 db41bf883520d72f5d7c80b78492aba5367e74a6c5c452a420d6ecc79ae8f1dfa208c13bfff96ea699d31189cc49c264cf1b543946e4ec39b9df97a386c215ea +DIST libqalculate-4.8.1.tar.gz 2625564 BLAKE2B 017188bd43da03c398ed17e883f460637d1af35df9643ac62c938f5aa189431fee49143d517c2d4489c4cca030f1220129f9dfce448969a9601c74273bfdb1a9 SHA512 e4e3f884ac42b706ee79f8fa37fbff69a30dc3f24edbe66b259507723dc3f028243acea4cb29dd68d933e7e357a55207aaf619fe9f66caa118a212de06c2a8d4 diff --git a/sci-libs/libqalculate/libqalculate-4.7.0.ebuild b/sci-libs/libqalculate/libqalculate-4.7.0.ebuild new file mode 100644 index 000000000000..6bdf2d129d50 --- /dev/null +++ b/sci-libs/libqalculate/libqalculate-4.7.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump with sci-calculators/qalculate-gtk! + +inherit toolchain-funcs + +DESCRIPTION="A modern multi-purpose calculator library" +HOMEPAGE="https://qalculate.github.io/" +SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +# SONAME changes pretty often on bumps. Check! +SLOT="0/22" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="curl icu gnuplot +hardened readline test" +RESTRICT="!test? ( test )" + +DEPEND="dev-libs/gmp:= + dev-libs/libxml2:2 + dev-libs/mpfr:= + virtual/libiconv + curl? ( net-misc/curl ) + icu? ( dev-libs/icu:= ) + readline? ( sys-libs/readline:= )" +RDEPEND="${DEPEND} + gnuplot? ( >=sci-visualization/gnuplot-3.7 )" +BDEPEND="dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +src_prepare() { + default + + cat >po/POTFILES.skip <<-EOF || die + # Required by make check + data/currencies.xml.in + data/datasets.xml.in + data/elements.xml.in + data/functions.xml.in + data/planets.xml.in + data/prefixes.xml.in + data/units.xml.in + data/variables.xml.in + src/defs2doc.cc + EOF +} + +src_configure() { + # Needed for po-defs/Makefile + export CXX_FOR_BUILD="$(tc-getBUILD_CXX)" + export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E" + + # bug #792027 + tc-export CC + + econf \ + $(use_enable test tests) \ + $(use_enable test unittests) \ + $(use_with curl libcurl) \ + $(use_with gnuplot gnuplot-call) \ + $(use_enable !hardened insecure) \ + $(use_with icu) \ + $(use_with readline) +} + +src_install() { + # docs/reference/Makefile.am -> referencedir= + emake \ + DESTDIR="${D}" \ + referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \ + install + + einstalldocs + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/libqalculate/libqalculate-4.8.0.ebuild b/sci-libs/libqalculate/libqalculate-4.8.0.ebuild new file mode 100644 index 000000000000..886c0f5aef07 --- /dev/null +++ b/sci-libs/libqalculate/libqalculate-4.8.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt + +inherit toolchain-funcs + +DESCRIPTION="A modern multi-purpose calculator library" +HOMEPAGE="https://qalculate.github.io/" +SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +# SONAME changes pretty often on bumps. Check! +SLOT="0/22" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="curl icu gnuplot +hardened readline test" +RESTRICT="!test? ( test )" + +DEPEND="dev-libs/gmp:= + dev-libs/libxml2:2 + dev-libs/mpfr:= + virtual/libiconv + curl? ( net-misc/curl ) + icu? ( dev-libs/icu:= ) + readline? ( sys-libs/readline:= )" +RDEPEND="${DEPEND} + gnuplot? ( >=sci-visualization/gnuplot-3.7 )" +BDEPEND="dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +src_prepare() { + default + + cat >po/POTFILES.skip <<-EOF || die + # Required by make check + data/currencies.xml.in + data/datasets.xml.in + data/elements.xml.in + data/functions.xml.in + data/planets.xml.in + data/prefixes.xml.in + data/units.xml.in + data/variables.xml.in + src/defs2doc.cc + EOF +} + +src_configure() { + # Needed for po-defs/Makefile + export CXX_FOR_BUILD="$(tc-getBUILD_CXX)" + export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E" + + # bug #792027 + tc-export CC + + econf \ + $(use_enable test tests) \ + $(use_enable test unittests) \ + $(use_with curl libcurl) \ + $(use_with gnuplot gnuplot-call) \ + $(use_enable !hardened insecure) \ + $(use_with icu) \ + $(use_with readline) +} + +src_install() { + # docs/reference/Makefile.am -> referencedir= + emake \ + DESTDIR="${D}" \ + referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \ + install + + einstalldocs + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/libqalculate/libqalculate-4.8.1.ebuild b/sci-libs/libqalculate/libqalculate-4.8.1.ebuild new file mode 100644 index 000000000000..0fbb2201b294 --- /dev/null +++ b/sci-libs/libqalculate/libqalculate-4.8.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt + +inherit toolchain-funcs + +DESCRIPTION="A modern multi-purpose calculator library" +HOMEPAGE="https://qalculate.github.io/" +SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2+" +# SONAME changes pretty often on bumps. Check! +SLOT="0/22" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="curl icu gnuplot +hardened readline test" +RESTRICT="!test? ( test )" + +DEPEND="dev-libs/gmp:= + dev-libs/libxml2:2 + dev-libs/mpfr:= + virtual/libiconv + curl? ( net-misc/curl ) + icu? ( dev-libs/icu:= ) + readline? ( sys-libs/readline:= )" +RDEPEND="${DEPEND} + gnuplot? ( >=sci-visualization/gnuplot-3.7 )" +BDEPEND="dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +src_prepare() { + default + + cat >po/POTFILES.skip <<-EOF || die + # Required by make check + data/currencies.xml.in + data/datasets.xml.in + data/elements.xml.in + data/functions.xml.in + data/planets.xml.in + data/prefixes.xml.in + data/units.xml.in + data/variables.xml.in + src/defs2doc.cc + EOF +} + +src_configure() { + # Needed for po-defs/Makefile + export CXX_FOR_BUILD="$(tc-getBUILD_CXX)" + export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E" + + # bug #792027 + tc-export CC + + econf \ + $(use_enable test tests) \ + $(use_enable test unittests) \ + $(use_with curl libcurl) \ + $(use_with gnuplot gnuplot-call) \ + $(use_enable !hardened insecure) \ + $(use_with icu) \ + $(use_with readline) +} + +src_install() { + # docs/reference/Makefile.am -> referencedir= + emake \ + DESTDIR="${D}" \ + referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \ + install + + einstalldocs + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/libqalculate/metadata.xml b/sci-libs/libqalculate/metadata.xml index 39ddc8a41c49..1fc5756c8fef 100644 --- a/sci-libs/libqalculate/metadata.xml +++ b/sci-libs/libqalculate/metadata.xml @@ -11,7 +11,7 @@ </flag> </use> <upstream> - <remote-id type="sourceforge">qalculate-0.9.7</remote-id> + <remote-id type="sourceforge">qalculate</remote-id> <remote-id type="github">Qalculate/libqalculate</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/libsc/Manifest b/sci-libs/libsc/Manifest index d14ff4ef580d..fdfb64071d01 100644 --- a/sci-libs/libsc/Manifest +++ b/sci-libs/libsc/Manifest @@ -1 +1,2 @@ -DIST libsc-2.8.3.tar.gz 360755 BLAKE2B 2d7e3a16b97de551678ebb33f362e1ef7ebb0bcbf8d00b1a5317bfbf6732cf7bb9be2d215c79395809f3c616c23da5236c4f0f436a7b8bb07171141aaf08bbb3 SHA512 9def8850898f2d7d7a6ffaffd0872bc18af28026407356a1fe10f2b4f6d4a32ae6febe59c91cfa8817969624f995d48f64e0d5424b475e3a4c501338f4de70de +DIST libsc-2.3.6.tar.gz 346618 BLAKE2B 6da88f1eec572a5d30ebef5e17554874e3d88d124fbbb7582092bd43a85a547f130a5406ffd40f86d564c95a3e600b2eb854ee0378b8e0c2d755a7d45d55ff1e SHA512 9037ebeebcf84d1dc3026172ee3fd3182729fbdbdadb478e8c05670b17bd3e2f3b192bac9a509bd99312c5f944a10fb7eb0636e8c7bd133b30677eb5ead6d117 +DIST libsc-2.8.5.tar.gz 401520 BLAKE2B 28f74c03dc9a6238c254683585e3a6e372718bbf147f1a1bfe051d9a9079491650eca645bb695ce4c36920dda459904be6f9d41fb53163952d9076302072e181 SHA512 d7854a77cb574531d410c978af5768782d6201c730a3248371a822172cb99fe0b2efc8c2e4f495160924fb867ed77ab1b9ac17a1db349d8a6495228698cf970b diff --git a/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch b/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch new file mode 100644 index 000000000000..9881d0aa6227 --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch @@ -0,0 +1,64 @@ +diff --git a/config/sc_include.m4 b/config/sc_include.m4 +index f6f7873..3befe0e 100644 +--- a/config/sc_include.m4 ++++ b/config/sc_include.m4 +@@ -281,8 +281,7 @@ AC_DEFUN([SC_CHECK_LIBRARIES], + [ + SC_REQUIRE_LIB([m], [fabs]) + SC_CHECK_LIB([z], [adler32_combine], [ZLIB], [$1]) +-SC_CHECK_LIB([lua53 lua5.3 lua52 lua5.2 lua51 lua5.1 lua lua5], [lua_createtable], +- [LUA], [$1]) ++SC_CHECK_LIB([$LUA_IMPL], [lua_createtable], [LUA], [$1]) + SC_CHECK_BLAS_LAPACK([$1]) + SC_BUILTIN_ALL_PREFIX([$1]) + SC_CHECK_PTHREAD([$1]) +diff --git a/configure.ac b/configure.ac +index ce462e0..b291685 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -78,7 +78,7 @@ echo "o---------------------------------------" + AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/select.h sys/stat.h]) + AC_CHECK_HEADERS([linux/videodev2.h]) + AC_CHECK_HEADERS([execinfo.h signal.h sys/time.h sys/types.h time.h]) +-AC_CHECK_HEADERS([lua.h lua5.1/lua.h lua5.2/lua.h lua5.3/lua.h]) ++AC_CHECK_HEADERS([$LUA_IMPL/lua.h]) + + echo "o---------------------------------------" + echo "| Checking functions" +diff --git a/src/sc_lua.h b/src/sc_lua.h +index 770b52f..a6db175 100644 +--- a/src/sc_lua.h ++++ b/src/sc_lua.h +@@ -30,29 +30,9 @@ + + SC_EXTERN_C_BEGIN; + +-#ifdef SC_HAVE_LUA5_3_LUA_H +-#include <lua5.3/lua.h> +-#include <lua5.3/lualib.h> +-#include <lua5.3/lauxlib.h> +-#else +-#ifdef SC_HAVE_LUA5_2_LUA_H +-#include <lua5.2/lua.h> +-#include <lua5.2/lualib.h> +-#include <lua5.2/lauxlib.h> +-#else +-#ifdef SC_HAVE_LUA5_1_LUA_H +-#include <lua5.1/lua.h> +-#include <lua5.1/lualib.h> +-#include <lua5.1/lauxlib.h> +-#else +-#ifdef SC_HAVE_LUA_H +-#include <lua.h> +-#include <lualib.h> +-#include <lauxlib.h> +-#endif +-#endif +-#endif +-#endif ++#include <@LUA_IMPL@/lua.h> ++#include <@LUA_IMPL@/lualib.h> ++#include <@LUA_IMPL@/lauxlib.h> + + SC_EXTERN_C_END; + diff --git a/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch b/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch new file mode 100644 index 000000000000..54a45294c380 --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch @@ -0,0 +1,13 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 914237c..0bf982a 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -45,7 +45,7 @@ src_libsc_la_SOURCES = \ + src_libsc_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBSC_CPPFLAGS) + ## This is the official API versioning scheme of libtool. Please see: + ## Read https://www.gnu.org/software/libtool/manual/libtool.html#Versioning +-src_libsc_la_LDFLAGS = -version-info 1:0:0 ++src_libsc_la_LDFLAGS = -release $(VERSION) + LDADD += src/libsc.la + + nodist_include_HEADERS += $(libsc_generated_headers) diff --git a/sci-libs/libsc/files/libsc-2.8.3-fix_build_system.patch b/sci-libs/libsc/files/libsc-2.8.3-fix_build_system.patch deleted file mode 100644 index b5bdc734ab55..000000000000 --- a/sci-libs/libsc/files/libsc-2.8.3-fix_build_system.patch +++ /dev/null @@ -1,41 +0,0 @@ -https://github.com/cburstedde/libsc/pull/54 -https://github.com/cburstedde/libsc/pull/55 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2ce08e2..a588beb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/ - DESCRIPTION "The SC library supports parallel scientific applications." - VERSION ${PROJECT_VERSION}) - -+set(CMAKE_POSITION_INDEPENDENT_CODE ON) -+ - include(CTest) - - include(cmake/options.cmake) -@@ -28,8 +30,7 @@ if(MPI_FOUND) - endif() - - # --- libb64 --add_library(libb64 OBJECT libb64/cencode.c libb64/cdecode.c -- libb64/b64dec.c libb64/b64enc.c) -+add_library(libb64 OBJECT libb64/cencode.c libb64/cdecode.c) - target_include_directories(libb64 PRIVATE libb64) - - # --- sc -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a588beb..aff0eca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -64,8 +64,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_SOURCE_DIR}/src/sc_builti - - install(TARGETS sc - EXPORT ${PROJECT_NAME}Targets -- ARCHIVE DESTINATION lib -- LIBRARY DESTINATION lib) -+ ARCHIVE DESTINATION ${library_reldir} -+ LIBRARY DESTINATION ${library_reldir}) - - add_subdirectory(src) - diff --git a/sci-libs/libsc/files/libsc-2.8.3-set_version.patch b/sci-libs/libsc/files/libsc-2.8.3-set_version.patch deleted file mode 100644 index dcd63994cc67..000000000000 --- a/sci-libs/libsc/files/libsc-2.8.3-set_version.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/cmake/git.cmake b/cmake/git.cmake -index dd6009e..7c5c8f3 100644 ---- a/cmake/git.cmake -+++ b/cmake/git.cmake -@@ -1,36 +1,3 @@ - # --- extract version from Git - --set(PROJECT_VERSION 0.0.0) --find_program(GIT_VERSION_GEN NAMES git-version-gen -- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) --if(GIT_VERSION_GEN) -- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball_version -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- RESULT_VARIABLE _err -- OUTPUT_VARIABLE git_version -- OUTPUT_STRIP_TRAILING_WHITESPACE) --endif() --if(_err EQUAL 0) -- if(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(PROJECT_VERSION ${_major}.${_minor}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(PROJECT_VERSION ${_major}) -- endif() --endif() -+set(PROJECT_VERSION 2.8.3) - - diff --git a/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch b/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch new file mode 100644 index 000000000000..fb0ce0de7dbb --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch @@ -0,0 +1,57 @@ +diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake +index 5ca9f6d..86b9035 100644 +--- a/cmake/zlib.cmake ++++ b/cmake/zlib.cmake +@@ -1,51 +1,8 @@ + # build Zlib to ensure compatibility. + # We use Zlib 2.x for speed and robustness. + include(GNUInstallDirs) +-include(ExternalProject) + +-set(ZLIB_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include) +- +-if(BUILD_SHARED_LIBS) +- if(WIN32) +- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}zlib1${CMAKE_SHARED_LIBRARY_SUFFIX}) +- else() +- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}z${CMAKE_SHARED_LIBRARY_SUFFIX}) +- endif() +-else() +- if(MSVC) +- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}zlibstatic${CMAKE_STATIC_LIBRARY_SUFFIX}) +- else() +- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}z${CMAKE_STATIC_LIBRARY_SUFFIX}) +- endif() +-endif() +- +-set(zlib_cmake_args +--DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} +--DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} +--DCMAKE_BUILD_TYPE=Release +--DZLIB_COMPAT:BOOL=on +--DZLIB_ENABLE_TESTS:BOOL=off +--DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON +--DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +-) +- +-ExternalProject_Add(ZLIB +-GIT_REPOSITORY https://github.com/zlib-ng/zlib-ng.git +-GIT_TAG 2.0.6 +-GIT_SHALLOW true +-CMAKE_ARGS ${zlib_cmake_args} +-BUILD_BYPRODUCTS ${ZLIB_LIBRARIES} +-TLS_VERIFY true +-CONFIGURE_HANDLED_BY_BUILD ON +-INACTIVITY_TIMEOUT 60 +-) +- +-# --- imported target +- +-file(MAKE_DIRECTORY ${ZLIB_INCLUDE_DIRS}) +-# avoid race condition ++find_library(ZLIB_LIBRARIES NAMES z-ng) + + add_library(ZLIB::ZLIB INTERFACE IMPORTED GLOBAL) +-add_dependencies(ZLIB::ZLIB ZLIB) # to avoid include directory race condition + target_link_libraries(ZLIB::ZLIB INTERFACE ${ZLIB_LIBRARIES}) +-target_include_directories(ZLIB::ZLIB INTERFACE ${ZLIB_INCLUDE_DIRS}) diff --git a/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch b/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch new file mode 100644 index 000000000000..6adfbf31c997 --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87af1b1..82cb357 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/ + DESCRIPTION "The SC library supports parallel scientific applications." + VERSION ${PROJECT_VERSION}) + ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ + enable_testing() + + include(cmake/options.cmake) +@@ -57,7 +59,10 @@ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.h" + ) + +-install(TARGETS sc EXPORT ${PROJECT_NAME}-targets) ++install(TARGETS sc EXPORT ${PROJECT_NAME}-targets ++ARCHIVE DESTINATION ${library_reldir} ++LIBRARY DESTINATION ${library_reldir} ++) + + add_subdirectory(src) + add_subdirectory(example) diff --git a/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch b/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch new file mode 100644 index 000000000000..d36f9151901c --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch @@ -0,0 +1,33 @@ +diff --git a/cmake/install.cmake b/cmake/install.cmake +index f093fa9..c281f66 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -14,13 +14,13 @@ COMPATIBILITY SameMajorVersion + + install(EXPORT ${PROJECT_NAME}-targets + NAMESPACE ${PROJECT_NAME}:: +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/SC + ) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/SC + ) + + export(EXPORT ${PROJECT_NAME}-targets +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 800937f..9de0cfe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,7 +75,7 @@ endif(BUILD_TESTING) + + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindSC.cmake +-DESTINATION cmake) ++DESTINATION ${library_reldir}/cmake/SC) + + include(cmake/pkgconf.cmake) + include(cmake/install.cmake) diff --git a/sci-libs/libsc/files/libsc-2.8.5-set_version.patch b/sci-libs/libsc/files/libsc-2.8.5-set_version.patch new file mode 100644 index 000000000000..061081a0da9e --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.5-set_version.patch @@ -0,0 +1,49 @@ +diff --git a/cmake/git.cmake b/cmake/git.cmake +index f88e984..f04f52b 100644 +--- a/cmake/git.cmake ++++ b/cmake/git.cmake +@@ -1,39 +1,5 @@ +-# --- extract version from Git +- +-set(PROJECT_MAJOR 0) +-set(PROJECT_MINOR 0) +-set(PROJECT_PATCH 0) +-set(PROJECT_VERSION 0.0.0) +-find_program(GIT_VERSION_GEN NAMES git-version-gen +- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) +-if(GIT_VERSION_GEN) +- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball-version +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- RESULT_VARIABLE _err +- OUTPUT_VARIABLE git_version +- OUTPUT_STRIP_TRAILING_WHITESPACE) +-endif() +-if(_err EQUAL 0) +- if(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}.999) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}) +- endif() +-endif() ++set(git_version 2.8.5) ++set(PROJECT_MAJOR 2) ++set(PROJECT_MINOR 8) ++set(PROJECT_PATCH 5) ++set(PROJECT_VERSION 2.8.5) diff --git a/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch b/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch new file mode 100644 index 000000000000..74827050243b --- /dev/null +++ b/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch @@ -0,0 +1,135 @@ +diff --git a/src/sc_containers.c b/src/sc_containers.c +index 47c86d7..b9a1979 100644 +--- a/src/sc_containers.c ++++ b/src/sc_containers.c +@@ -23,7 +23,7 @@ + + #include <sc_containers.h> + #ifdef SC_HAVE_ZLIB +-#include <zlib.h> ++#include <zlib-ng.h> + #endif + + /* array routines */ +@@ -636,13 +636,13 @@ sc_array_checksum (sc_array_t * array) + unsigned int crc; + size_t bytes; + +- crc = adler32 (0, Z_NULL, 0); ++ crc = zng_adler32 (0, Z_NULL, 0); + if (array->elem_count == 0) { + return crc; + } + + bytes = array->elem_count * array->elem_size; +- crc = adler32 (crc, (const Bytef *) array->array, bytes); ++ crc = zng_adler32 (crc, (const Bytef *) array->array, bytes); + + return crc; + #else +diff --git a/src/sc_io.c b/src/sc_io.c +index a7ed413..bc2df7d 100644 +--- a/src/sc_io.c ++++ b/src/sc_io.c +@@ -25,7 +25,7 @@ + #include <sc_puff.h> + #include <libb64.h> + #ifdef SC_HAVE_ZLIB +-#include <zlib.h> ++#include <zlib-ng.h> + #endif + + #ifndef SC_ENABLE_MPIIO +@@ -706,7 +706,7 @@ sc_io_encode_zlib (sc_array_t *data, sc_array_t *out, + #ifndef SC_HAVE_ZLIB + input_compress_bound = sc_io_noncompress_bound (input_size); + #else +- input_compress_bound = compressBound ((uLong) input_size); ++ input_compress_bound = zng_compressBound ((uLong) input_size); + #endif /* SC_HAVE_ZLIB */ + sc_array_init_count (&compressed, 1, + SC_IO_ENCODE_INFO_LEN + input_compress_bound); +@@ -715,9 +715,9 @@ sc_io_encode_zlib (sc_array_t *data, sc_array_t *out, + sc_io_noncompress (compressed.array + SC_IO_ENCODE_INFO_LEN, + input_compress_bound, data->array, input_size); + #else +- zrv = compress2 ((Bytef *) compressed.array + SC_IO_ENCODE_INFO_LEN, +- &input_compress_bound, (Bytef *) data->array, +- (uLong) input_size, zlib_compression_level); ++ zrv = zng_compress2 ((Bytef *) compressed.array + SC_IO_ENCODE_INFO_LEN, ++ &input_compress_bound, (Bytef *) data->array, ++ (uLong) input_size, zlib_compression_level); + SC_CHECK_ABORT (zrv == Z_OK, "Error on zlib compression"); + #endif /* SC_HAVE_ZLIB */ + +@@ -993,9 +993,9 @@ sc_io_decode (sc_array_t *data, sc_array_t *out, + } + #else + uncompsize = (uLong) encoded_size; +- zrv = uncompress ((Bytef *) out->array, &uncompsize, +- (Bytef *) (compressed.array + SC_IO_ENCODE_INFO_LEN), +- ocnt - SC_IO_ENCODE_INFO_LEN); ++ zrv = zng_uncompress ((Bytef *) out->array, &uncompsize, ++ (Bytef *) (compressed.array + SC_IO_ENCODE_INFO_LEN), ++ ocnt - SC_IO_ENCODE_INFO_LEN); + if (zrv != Z_OK) { + SC_LERROR ("zlib uncompress error\n"); + goto decode_error; +@@ -1120,9 +1120,9 @@ sc_vtk_write_compressed (FILE * vtkfile, char *numeric_data, + base64_init_encodestate (&encode_state); + for (theblock = 0; theblock < numregularblocks; ++theblock) { + comp_length = code_length; +- retval = compress2 ((Bytef *) comp_data, &comp_length, +- (const Bytef *) (numeric_data + theblock * blocksize), +- (uLong) blocksize, Z_BEST_COMPRESSION); ++ retval = zng_compress2 ((Bytef *) comp_data, &comp_length, ++ (const Bytef *) (numeric_data + theblock * blocksize), ++ (uLong) blocksize, Z_BEST_COMPRESSION); + SC_CHECK_ZLIB (retval); + compression_header[3 + theblock] = comp_length; + base_length = base64_encode_block (comp_data, comp_length, +@@ -1135,9 +1135,9 @@ sc_vtk_write_compressed (FILE * vtkfile, char *numeric_data, + /* write odd-sized last block if necessary */ + if (lastsize > 0) { + comp_length = code_length; +- retval = compress2 ((Bytef *) comp_data, &comp_length, +- (const Bytef *) (numeric_data + theblock * blocksize), +- (uLong) lastsize, Z_BEST_COMPRESSION); ++ retval = zng_compress2 ((Bytef *) comp_data, &comp_length, ++ (const Bytef *) (numeric_data + theblock * blocksize), ++ (uLong) lastsize, Z_BEST_COMPRESSION); + SC_CHECK_ZLIB (retval); + compression_header[3 + theblock] = comp_length; + base_length = base64_encode_block (comp_data, comp_length, +diff --git a/test/test_builtin.c b/test/test_builtin.c +index 371aff6..9a99c2d 100644 +--- a/test/test_builtin.c ++++ b/test/test_builtin.c +@@ -27,7 +27,7 @@ + + /* truthfully, the libraries below are not builtin anymore */ + #ifdef SC_HAVE_ZLIB +-#include <zlib.h> ++#include <zlib-ng.h> + #endif + + static int +@@ -87,13 +87,13 @@ test_zlib (void) + char b3[BUFSIZ]; + uLong adler0, adler1, adler2, adler3a, adler3b; + +- adler0 = adler32 (0L, Z_NULL, 0); +- adler1 = adler32 (adler0, (const Bytef *) b1, l1); +- adler2 = adler32 (adler0, (const Bytef *) b2, l2); +- adler3a = adler32_combine (adler1, adler2, l2); ++ adler0 = zng_adler32 (0L, Z_NULL, 0); ++ adler1 = zng_adler32 (adler0, (const Bytef *) b1, l1); ++ adler2 = zng_adler32 (adler0, (const Bytef *) b2, l2); ++ adler3a = zng_adler32_combine (adler1, adler2, l2); + + snprintf (b3, BUFSIZ, "%s%s", b1, b2); +- adler3b = adler32 (adler0, (const Bytef *) b3, l1 + l2); ++ adler3b = zng_adler32 (adler0, (const Bytef *) b3, l1 + l2); + + return adler3a != adler3b; + } diff --git a/sci-libs/libsc/files/libsc-9999-set_version.patch b/sci-libs/libsc/files/libsc-9999-set_version.patch deleted file mode 100644 index 0820b001d8cd..000000000000 --- a/sci-libs/libsc/files/libsc-9999-set_version.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/cmake/git.cmake b/cmake/git.cmake -index dd6009e..7c5c8f3 100644 ---- a/cmake/git.cmake -+++ b/cmake/git.cmake -@@ -1,36 +1,3 @@ - # --- extract version from Git - --set(PROJECT_VERSION 0.0.0) --find_program(GIT_VERSION_GEN NAMES git-version-gen -- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) --if(GIT_VERSION_GEN) -- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball_version -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- RESULT_VARIABLE _err -- OUTPUT_VARIABLE git_version -- OUTPUT_STRIP_TRAILING_WHITESPACE) --endif() --if(_err EQUAL 0) -- if(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(PROJECT_VERSION ${_major}.${_minor}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(PROJECT_VERSION ${_major}) -- endif() --endif() -+set(PROJECT_VERSION 9999.0.0) - - diff --git a/sci-libs/libsc/libsc-2.3.6.ebuild b/sci-libs/libsc/libsc-2.3.6.ebuild new file mode 100644 index 000000000000..fcea0df228e5 --- /dev/null +++ b/sci-libs/libsc/libsc-2.3.6.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..3} ) + +inherit autotools lua-single toolchain-funcs + +DESCRIPTION="Support for parallel scientific applications" +HOMEPAGE="http://www.p4est.org/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" + EGIT_BRANCH="develop" +else + SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="debug examples mpi openmp romio threads" +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + romio? ( mpi )" + +RDEPEND=" + ${LUA_DEPS} + sys-apps/util-linux + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[romio?] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.3-autoconf_lua_version.patch + "${FILESDIR}"/${PN}-2.3.6-override_soname.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + lua-single_pkg_setup +} + +src_prepare() { + default + + sed -i -e "s/@LUA_IMPL@/${ELUA}/" "${S}"/src/sc_lua.h || die + + # Inject a version number into the build system + echo "${PV}" > "${S}"/.tarball-version || die + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-static + $(use_enable debug) + $(use_enable mpi) + $(use_enable openmp openmp) + $(use_enable romio mpiio) + $(use_enable threads pthread) + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" + ) + econf LUA_IMPL="${ELUA}" "${myeconfargs[@]}" +} + +src_install() { + default + + if use examples; then + docinto examples + dodoc -r example/* + docompress -x /usr/share/doc/${PF}/examples + else + # Remove compiled example binaries in case of -examples: + rm -r "${ED}"/usr/bin || die "rm failed" + fi + + # Remove ac files, bug #619806 + rm -r "${ED}"/usr/share/aclocal || die "rm failed" + + # Fix wrong installation paths: + dodir /usr/share/libsc + mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed" + rmdir "${ED}"/etc/ || die "rmdir failed" + mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed" + rmdir "${ED}"/usr/share/ini || die "rmdir failed" + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/libsc/libsc-2.8.3.ebuild b/sci-libs/libsc/libsc-2.8.5-r3.ebuild index 9ed5ecf5c58f..037755f94524 100644 --- a/sci-libs/libsc/libsc-2.8.3.ebuild +++ b/sci-libs/libsc/libsc-2.8.5-r3.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake toolchain-funcs @@ -23,7 +23,7 @@ IUSE="debug examples mpi openmp threads" RDEPEND=" sys-apps/util-linux - sys-libs/zlib + sys-libs/zlib-ng virtual/blas virtual/lapack mpi? ( virtual/mpi[romio] )" @@ -33,6 +33,9 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${P}-set_version.patch "${FILESDIR}"/${P}-fix_build_system.patch + "${FILESDIR}"/${P}-do_not_compile_zlib-ng.patch + "${FILESDIR}"/${P}-use_zlib-ng_symbols.patch + "${FILESDIR}"/${P}-fix_cmake_path.patch ) pkg_pretend() { @@ -44,6 +47,10 @@ pkg_setup() { } src_configure() { + # avoid using debug codepaths that are manually enabled with the + # RelWithDebInfo build type + local CMAKE_BUILD_TYPE="Release" + local mycmakeargs=( -Dmpi="$(usex mpi)" -Dopenmp="$(usex openmp)" @@ -60,6 +67,6 @@ src_install() { "${ED}"/usr/include/getopt_int.h \ "${ED}"/usr/include/sc_builtin || die "rm failed" - mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${P}/ || die "mv failed" + mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed" rm -r "${ED}"/usr/share/docs || die "rm failed" } diff --git a/sci-libs/libsc/libsc-9999.ebuild b/sci-libs/libsc/libsc-9999.ebuild deleted file mode 100644 index 8d6bdbb8314c..000000000000 --- a/sci-libs/libsc/libsc-9999.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake toolchain-funcs - -DESCRIPTION="Support for parallel scientific applications" -HOMEPAGE="http://www.p4est.org/" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" - EGIT_BRANCH="develop" -else - SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" -IUSE="debug examples mpi openmp threads" - -RDEPEND=" - sys-apps/util-linux - sys-libs/zlib - virtual/blas - virtual/lapack - mpi? ( virtual/mpi[romio] )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-2.8.3-fix_build_system.patch - "${FILESDIR}"/${P}-set_version.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_configure() { - local mycmakeargs=( - -Dmpi="$(usex mpi)" - -Dopenmp="$(usex openmp)" - -Dlibrary_reldir="$(get_libdir)" - ) - - cmake_src_configure -} - -src_install() { - cmake_src_install - - rm -r "${ED}"/usr/include/getopt.h \ - "${ED}"/usr/include/getopt_int.h \ - "${ED}"/usr/include/sc_builtin || die "rm failed" - - mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${P}/ || die "mv failed" - rm -r "${ED}"/usr/share/docs || die "rm failed" -} diff --git a/sci-libs/libsc/metadata.xml b/sci-libs/libsc/metadata.xml index ff1113592d21..9267d0132a0b 100644 --- a/sci-libs/libsc/metadata.xml +++ b/sci-libs/libsc/metadata.xml @@ -13,6 +13,9 @@ The SC Library provides support for parallel scientific applications. This support library is primarily used by <pkg>sci-libs/p4est</pkg>. </longdescription> + <use> + <flag name="romio">Build with support for the ROMIO MPI-IO component</flag> + </use> <upstream> <remote-id type="github">cburstedde/libsc</remote-id> </upstream> diff --git a/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch new file mode 100644 index 000000000000..6513491270cf --- /dev/null +++ b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/878395 +--- a/bindings/cxx/enums.py ++++ b/bindings/cxx/enums.py +@@ -73,6 +73,8 @@ + code = open(os.path.join(outdirname, 'cxx/enums.cpp'), 'w') + swig = open(os.path.join(outdirname, 'swig/enums.i'), 'w') + ++print('%include "attribute.i" \n', file=swig) ++ + for file in (header, code): + print("/* Generated file - edit enums.py instead! */", file=file) diff --git a/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild new file mode 100644 index 000000000000..8da4999fe538 --- /dev/null +++ b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="git://sigrok.org/${PN}" + inherit git-r3 +else + SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support" +HOMEPAGE="https://sigrok.org/wiki/Libsigrok" + +LICENSE="GPL-3" +SLOT="0/4" +IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test +udev usb" +REQUIRED_USE="java? ( cxx ) + python? ( cxx ${PYTHON_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +# We also support librevisa, but that isn't in the tree ... +LIB_DEPEND=" + >=dev-libs/glib-2.32.0[static-libs(+)] + >=dev-libs/libzip-0.8:=[static-libs(+)] + bluetooth? ( >=net-wireless/bluez-4.0:= ) + cxx? ( dev-cpp/glibmm:2[static-libs(+)] ) + ftdi? ( dev-embedded/libftdi:1[static-libs(+)] ) + hidapi? ( >=dev-libs/hidapi-0.8.0 ) + parport? ( sys-libs/libieee1284[static-libs(+)] ) + python? ( + ${PYTHON_DEPS} + >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}] + ) + serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] ) + usb? ( virtual/libusb:1[static-libs(+)] ) +" +RDEPEND=" + java? ( >=virtual/jre-1.8:* ) + !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} ) + static-libs? ( ${LIB_DEPEND} ) +" +DEPEND="${LIB_DEPEND//\[static-libs(+)]} + cxx? ( app-doc/doxygen ) + java? ( + >=dev-lang/swig-3.0.6 + >=virtual/jdk-1.8:* + ) + python? ( + >=dev-lang/swig-3.0.6 + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + ) + test? ( >=dev-libs/check-0.9.4 ) + virtual/pkgconfig +" + +S="${WORKDIR}"/${P} + +PATCHES=( + # https://sigrok.org/bugzilla/show_bug.cgi?id=1527 + "${FILESDIR}/${P}-swig-4.patch" + # https://sigrok.org/bugzilla/show_bug.cgi?id=1526 + "${FILESDIR}/${P}-check-0.15.patch" + # https://bugs.gentoo.org/878395 + "${FILESDIR}/${PN}-0.5.2-swig-4.1.patch" +) + +pkg_setup() { + use python && python_setup + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + [[ ${PV} == *9999* ]] && git-r3_src_unpack || default +} + +sigrok_src_prepare() { + eautoreconf +} + +src_prepare() { + default + sigrok_src_prepare + use python && python_copy_sources +} + +sigrok_src_configure() { + econf \ + $(use_with bluetooth libbluez) \ + $(use_with ftdi libftdi) \ + $(use_with hidapi libhidapi) \ + $(use_with parport libieee1284) \ + $(use_with serial libserialport) \ + $(use_with usb libusb) \ + $(use_enable cxx) \ + $(use_enable java) \ + $(use_enable static-libs static) \ + "${@}" +} + +each_python_configure() { + cd "${BUILD_DIR}" + sigrok_src_configure --disable-ruby --enable-python +} + +src_configure() { + sigrok_src_configure --disable-ruby --disable-python + use python && python_foreach_impl each_python_configure +} + +each_python_compile() { + cd "${BUILD_DIR}" + emake python-build +} + +src_compile() { + default + use python && python_foreach_impl each_python_compile +} + +src_test() { + emake check +} + +each_python_install() { + cd "${BUILD_DIR}" + emake python-install DESTDIR="${D}" + python_optimize +} + +src_install() { + default + use python && python_foreach_impl each_python_install + use udev && udev_dorules contrib/*.rules + find "${D}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + udev_reload +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + udev_reload +} diff --git a/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild index 7911fe92a05f..11ffc49a6b58 100644 --- a/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild +++ b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://github.com/libspatialindex/${PN}/releases/download/${PV}/${MY_P LICENSE="MIT" SLOT="0/6" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~riscv ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sci-libs/linbox/linbox-1.6.3-r1.ebuild b/sci-libs/linbox/linbox-1.6.3-r2.ebuild index cabe5a6d2cf9..17313f506441 100644 --- a/sci-libs/linbox/linbox-1.6.3-r1.ebuild +++ b/sci-libs/linbox/linbox-1.6.3-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit toolchain-funcs @@ -29,7 +29,12 @@ DEPEND="dev-libs/gmp[cxx(+)] sci-libs/iml dev-libs/mpfr:= sci-mathematics/flint" -RDEPEND="${DEPEND}" + +# Use mathjax to render inline latex rather than requiring a working latex +# installation to generate bitmaps. +RDEPEND="${DEPEND} + doc? ( >=dev-libs/mathjax-3 ) +" PATCHES=( "${FILESDIR}/${PN}-1.6.3-pc.patch" ) @@ -41,6 +46,22 @@ pkg_setup() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } +src_prepare() { + default + + if use doc; then + # Avoid the need for a working LaTeX installation. MathJax does + # slow down the browser a bit but it also renders much more + # nicely than the latex-generated bitmaps would. + echo " + USE_MATHJAX = YES + MATHJAX_VERSION = MathJax_3 + MATHJAX_RELPATH = \"${EPREFIX}/usr/share/mathjax\" + MATHJAX_EXTENSIONS = ams + " >> doc/Doxyfile.mod || die + fi +} + src_configure() { # # The --with-all flag includes, diff --git a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch new file mode 100644 index 000000000000..90112106584d --- /dev/null +++ b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch @@ -0,0 +1,27 @@ +--- linux-gpib-kernel/compat/include/linux/device.h (revision 2052) ++++ linux-gpib-kernel/compat/include/linux/device.h (revision 2053) +@@ -47,6 +47,13 @@ + * for kernel versions prior to 2.6.26, so the 'drvdata' parameter of + * CLASS_DEVICE_CREATE() is pretty useless. + */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0) ++#define CLASS_CREATE(owner, name) \ ++ class_create(owner, name) ++#else ++#define CLASS_CREATE(owner, name) \ ++ class_create(name) ++#endif + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) + #include <pcmcia/cs_types.h> +--- linux-gpib-kernel/drivers/gpib/sys/osinit.c (revision 2052) ++++ linux-gpib-kernel/drivers/gpib/sys/osinit.c (revision 2053) +@@ -207,7 +207,7 @@ + printk( "gpib: can't get major %d\n", GPIB_CODE ); + return -EIO; + } +- gpib_class = class_create(THIS_MODULE, "gpib_common"); ++ gpib_class = CLASS_CREATE(THIS_MODULE, "gpib_common"); + if(IS_ERR(gpib_class)) + { + printk("gpib: failed to create gpib class\n"); diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild new file mode 100644 index 000000000000..0736e0159f4d --- /dev/null +++ b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-mod-r1 + +DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware" +HOMEPAGE="https://linux-gpib.sourceforge.io/" +SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz" +S="${WORKDIR}/linux-gpib-kernel-${PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="debug" + +COMMONDEPEND="" +RDEPEND="${COMMONDEPEND} + acct-group/gpib +" +DEPEND="${COMMONDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + # don't fix debian bugs if they break gentoo + "${FILESDIR}/${PN}-4.3.4-depmod.patch" + # https://sourceforge.net/p/linux-gpib/code/2053/ + "${FILESDIR}/${PN}-4.3.4-kernel-6.4.patch" +) + +MODULES_KERNEL_MIN=2.6.8 + +src_unpack() { + default + unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz" +} + +src_configure() { + MODULES_MAKEARGS+=( LINUX_SRCDIR="${KV_OUT_DIR}" ) + use debug && MODULES_MAKEARGS+=( 'GPIB-DEBUG=1' ) +} + +src_compile() { + # The individual modules don't have separate targets so we can't use + # modlist here. + emake "${MODULES_MAKEARGS[@]}" +} + +src_install() { + emake \ + "${MODULES_MAKEARGS[@]}" \ + DESTDIR="${ED}" \ + INSTALL_MOD_PATH="${ED}" \ + docdir="${ED}/usr/share/doc/${PF}/html" \ + install + + modules_post_process + + dodoc ChangeLog AUTHORS README* NEWS + einstalldocs +} diff --git a/sci-libs/m4ri/m4ri-20200125.ebuild b/sci-libs/m4ri/m4ri-20200125.ebuild index 3b265a53a4ce..adf6e85765c9 100644 --- a/sci-libs/m4ri/m4ri-20200125.ebuild +++ b/sci-libs/m4ri/m4ri-20200125.ebuild @@ -6,7 +6,7 @@ EAPI=7 inherit flag-o-matic toolchain-funcs DESCRIPTION="Method of four russian for inversion (M4RI)" -HOMEPAGE="https://bitbucket.org/malb/m4ri" +HOMEPAGE="https://github.com/malb/m4ri" SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz" LICENSE="GPL-2+" diff --git a/sci-libs/m4ri/metadata.xml b/sci-libs/m4ri/metadata.xml index 189a75d32cd2..b31730792145 100644 --- a/sci-libs/m4ri/metadata.xml +++ b/sci-libs/m4ri/metadata.xml @@ -28,6 +28,6 @@ </longdescription> <upstream> - <remote-id type="bitbucket">malb/m4ri</remote-id> + <remote-id type="github">malb/m4ri</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/m4rie/m4rie-20200115-r1.ebuild b/sci-libs/m4rie/m4rie-20200115-r1.ebuild index f89f9de0c3d0..60d518b539d8 100644 --- a/sci-libs/m4rie/m4rie-20200115-r1.ebuild +++ b/sci-libs/m4rie/m4rie-20200115-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit autotools DESCRIPTION="Fast dense matrix arithmetic over GF(2^e) for 2 <= e <= 16" -HOMEPAGE="https://bitbucket.org/malb/m4rie/" +HOMEPAGE="https://github.com/malb/m4rie" SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz" LICENSE="GPL-2+" diff --git a/sci-libs/m4rie/metadata.xml b/sci-libs/m4rie/metadata.xml index 0c2d7316d127..37eece3977cd 100644 --- a/sci-libs/m4rie/metadata.xml +++ b/sci-libs/m4rie/metadata.xml @@ -25,6 +25,6 @@ </longdescription> <upstream> - <remote-id type="bitbucket">malb/m4rie</remote-id> + <remote-id type="github">malb/m4rie</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/mathgl/Manifest b/sci-libs/mathgl/Manifest index ed743f578265..9a1cf0f5c874 100644 --- a/sci-libs/mathgl/Manifest +++ b/sci-libs/mathgl/Manifest @@ -1,2 +1,3 @@ DIST STIX_font.tgz 2450541 BLAKE2B f725eb0264d9c3cb7c32a935e8857c4a21cb905a1dc6c9cc8a16408afdc7dd9b6fcd312a8c2f77aff5484605a39a9ee36e86ad0234adb5d6bcc5c8839101194c SHA512 c9124ec552074c98f15d6d3572a063598ca6bc598e3e78dcb5a5d57ae3928b5327a1374635f428ea1cefc9e51ee1d1aa9bd6ba9a306429fc6965140251d368b5 DIST mathgl-2.4.4.tar.gz 23917716 BLAKE2B 11d36195c65b11f0eedbc1c946f600fd33bdc6ab8d3ff95c65634300527b2e06ffbb6615e4425896b87435fdb45bfad806f00e79edd26af4ab67bf223695d5cf SHA512 6955cb3630b4c17ab7eeb7542569a7fba653f592640f30700988abe340ecb17f09f1cbcd3903232797e9debc9f74ba2ea1f76f51935749bc8dec5e05951bb573 +DIST mathgl-8.0.1.tar.gz 23979834 BLAKE2B 275301c945ea15a38d1c75fd509c126425080b811403d5a8c8e864c8a975b914b5f0909bdc2c0de2feb84638ef0655694cd4d0c2aec8fb537c937147d81608c9 SHA512 1ff3023f1bbd7bfd84202777a0166a8d4255a020a07f3650b9858929345bc8a2ceea4db155d2c93ba32b762d2304474276290a9edac99fda70fb4b5bc12982c2 diff --git a/sci-libs/mathgl/files/mathgl-libharu2.4.patch b/sci-libs/mathgl/files/mathgl-libharu2.4.patch new file mode 100644 index 000000000000..fb0acb5da547 --- /dev/null +++ b/sci-libs/mathgl/files/mathgl-libharu2.4.patch @@ -0,0 +1,25 @@ +diff -up mathgl-8.0.1/src/prc.cpp.libharu2.4 mathgl-8.0.1/src/prc.cpp +--- mathgl-8.0.1/src/prc.cpp.libharu2.4 2022-01-11 13:48:53.000000000 -0700 ++++ mathgl-8.0.1/src/prc.cpp 2022-10-05 21:10:18.640050969 -0600 +@@ -36,6 +36,7 @@ + #include <hpdf.h>
+ #include <hpdf_u3d.h>
+ #include <hpdf_annotation.h>
++#include <hpdf_version.h>
+ #endif // MGL_HAVE_PDF
+
+
+@@ -959,7 +960,12 @@ void MGL_EXPORT mgl_write_prc(HMGL gr, c + HPDF_U3D_SetDefault3DView(u3d, "DefaultView");
+
+ // Create annotation
+- annot = HPDF_Page_Create3DAnnot (page, rect, u3d );
++ annot
++#if HPDF_VERSION_ID >= 20400
++ = HPDF_Page_Create3DAnnot (page, rect, HPDF_FALSE, HPDF_FALSE, u3d, NULL);
++#else
++ = HPDF_Page_Create3DAnnot (page, rect, u3d );
++#endif
+
+ // Enable toolbar
+ HPDF_Dict action = (HPDF_Dict)HPDF_Dict_GetItem (annot, "3DA", HPDF_OCLASS_DICT);
diff --git a/sci-libs/mathgl/mathgl-8.0.1.ebuild b/sci-libs/mathgl/mathgl-8.0.1.ebuild new file mode 100644 index 000000000000..bc9909e31c95 --- /dev/null +++ b/sci-libs/mathgl/mathgl-8.0.1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +WX_GTK_VER="3.2-gtk3" + +inherit cmake wxwidgets multilib flag-o-matic xdg + +DESCRIPTION="Math Graphics Library" +HOMEPAGE="https://mathgl.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3+" +SLOT="0/7.5.0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc fltk gif glut gsl hdf hdf5 jpeg mpi octave opengl openmp pdf + png qt5 static-libs threads wxwidgets zlib" + +LANGS="ru" +for l in ${LANGS}; do + IUSE+=" l10n_${l}" +done +unset l + +RDEPEND=" + virtual/opengl + fltk? ( x11-libs/fltk:1 ) + gif? ( media-libs/giflib ) + glut? ( media-libs/freeglut ) + gsl? ( >=sci-libs/gsl-2:= ) + hdf? ( sci-libs/hdf ) + hdf5? ( >=sci-libs/hdf5-1.8[mpi=] ) + jpeg? ( virtual/jpeg:0 ) + octave? ( >=sci-mathematics/octave-3.4.0 ) + openmp? ( sys-cluster/openmpi ) + pdf? ( media-libs/libharu ) + png? ( media-libs/libpng:0 ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) + zlib? ( sys-libs/zlib )" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( app-text/texi2html virtual/texi2dvi ) + octave? ( dev-lang/swig )" + +REQUIRED_USE=" + mpi? ( hdf5 ) + openmp? ( !threads ) + png? ( zlib ) + pdf? ( png )" + +pkg_setup() { + use mpi && export CC=mpicc CXX=mpicxx +} + +PATCHES=( + # From Fedora + "${FILESDIR}"/${PN}-libharu2.4.patch +) + +src_prepare() { + # Prevent sandbox violation + sed -i -e 's/update-mime-database/true/' udav/CMakeLists.txt || die + sed -i -e 's/update-desktop-database/true/' udav/CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + use wxwidgets && setup-wxwidgets unicode + + local mycmakeargs=() + if use hdf; then + mycmakeargs+=( + -DHDF4_INCLUDE_DIR="${EPREFIX}/usr/include" + ) + fi + mycmakeargs+=( + # No clue about this option: + # option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'") + -DMathGL_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" + -Denable-all-docs=$(usex doc) + -Denable-fltk=$(usex fltk) + -Denable-gif=$(usex gif) + -Denable-glut=$(usex glut) + -Denable-gsl=$(usex gsl) + -Denable-hdf4=$(usex hdf) + -Denable-hdf5=$(usex hdf5) + -Denable-jpeg=$(usex jpeg) + -Denable-mpi=$(usex mpi) + -Denable-octave=$(usex octave) + -Denable-opengl=$(usex opengl) + -Denable-openmp=$(usex openmp) + -Denable-pdf=$(usex pdf) + -Denable-png=$(usex png) + -Denable-qt4=OFF + -Denable-qt5=$(usex qt5) + -Denable-qt5asqt=$(usex qt5) + -Denable-pthread=$(usex threads) + -Denable-pthr-widget=$(usex threads) + -Denable-python=OFF + -Denable-wx=$(usex wxwidgets) + -Denable-zlib=$(usex zlib) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + dodoc README* *.txt AUTHORS + if ! use static-libs; then + rm "${ED}"/usr/$(get_libdir)/*.a || die + fi + if use qt5 ; then + local lang + insinto /usr/share/udav + for lang in ${LANGS} ; do + use l10n_${lang} && doins udav/udav_${lang}.qm + done + fi + if use octave ; then + insinto /usr/share/${PN}/octave + doins "${CMAKE_BUILD_DIR}"/lang/${PN}.tar.gz + fi +} + +pkg_postinst() { + if use octave; then + octave <<-EOF + pkg install ${EROOT}/usr/share/${PN}/octave/${PN}.tar.gz + EOF + fi + xdg_pkg_postinst +} + +pkg_prerm() { + if use octave; then + octave <<-EOF + pkg uninstall ${PN} + EOF + fi +} diff --git a/sci-libs/metis/metis-5.2.1-r2.ebuild b/sci-libs/metis/metis-5.2.1-r2.ebuild index 27c288c50a65..9c8ab6aafe58 100644 --- a/sci-libs/metis/metis-5.2.1-r2.ebuild +++ b/sci-libs/metis/metis-5.2.1-r2.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}/METIS-${PV}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos" IUSE="double-precision examples int64 openmp" PATCHES=( diff --git a/sci-libs/mpfi/mpfi-1.5.4.ebuild b/sci-libs/mpfi/mpfi-1.5.4.ebuild index 80f3bc6e283a..76afa306787b 100644 --- a/sci-libs/mpfi/mpfi-1.5.4.ebuild +++ b/sci-libs/mpfi/mpfi-1.5.4.ebuild @@ -9,7 +9,9 @@ DESCRIPTION="Multiple precision interval arithmetic library based on MPFR" HOMEPAGE="http://perso.ens-lyon.fr/nathalie.revol/software.html" SRC_URI="https://gforge.inria.fr/frs/download.php/file/38111/${P}.tgz" -LICENSE="GPL-2" +# COPYING is GPL-3, COPYING.LESSER is LGPL-3, source file headers +# are LGPL-2.1+ +LICENSE="GPL-3 LGPL-3 LGPL-2.1+" SLOT="0" KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest index c6c25e69d50e..bae5000b682d 100644 --- a/sci-libs/netcdf/Manifest +++ b/sci-libs/netcdf/Manifest @@ -1,2 +1 @@ -DIST netcdf-4.8.1.tar.gz 18957280 BLAKE2B 05fc6cd10cb5cbb11dc077b9a884fbc63c4cb840b241e782702da58ad9831fba065a6f1e97c2be092437735d39658482285850a00618d0582d6e4728d64c4402 SHA512 c97207867abf10d414abf34624268710f5b812c26c38f97e73afe00558b3f07917331fbc7fdb9e70b09813acf15a9a09bae2c432a3266ce10a791b9472f87a42 DIST netcdf-c-4.9.2.tar.gz 7142536 BLAKE2B b24135070d2f1f0b53fe738f8839039547eceba16d36905bb8cd7be983ce0c1127b7b01ae37dbde50087aa82fd56f00fab9bfa75c7d94fd4478031bb8a6da247 SHA512 7a96bcf673d5a9e1537d660aaf085a1dfaefc7dfb0fc96358462d92e7bbfe541184583681797e6a54d11b8588504b7d8a9b0b9bd850eecd02ed73aa2eb5ffa0d diff --git a/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch b/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch deleted file mode 100644 index afeff7e3fbd0..000000000000 --- a/sci-libs/netcdf/files/netcdf-4.8.1-big-endian-build.patch +++ /dev/null @@ -1,24 +0,0 @@ -Later version for 4.8.1 grabbed from Debian: -https://sources.debian.org/patches/netcdf/1:4.8.1-1/byteswap.patch/ - -Earlier version used: -https://github.com/DennisHeimbigner/netcdf-c/commit/6f86660da86f279cad1f2804cf3242767de27630.patch -https://github.com/Unidata/netcdf-c/issues/1687 -https://bugs.gentoo.org/772863 - -Description: Add forward declarations for byteswap8 & byteswap4. -Author: Dennis Heimbigner -Bug: https://github.com/Unidata/netcdf-c/issues/1687 - ---- a/libdispatch/dfilter.c -+++ b/libdispatch/dfilter.c -@@ -20,6 +20,9 @@ - #include "hdf5internal.h" - #endif - -+static void byteswap8(unsigned char*); -+static void byteswap4(unsigned char*); -+ - /* - Unified filter related code - */ diff --git a/sci-libs/netcdf/metadata.xml b/sci-libs/netcdf/metadata.xml index acecc3ab2966..710afdc8ff08 100644 --- a/sci-libs/netcdf/metadata.xml +++ b/sci-libs/netcdf/metadata.xml @@ -16,7 +16,6 @@ <use> <flag name="dap">Support for remote data access with the built-in OPeNDAP client</flag> <flag name="hdf">Add support for the Hierarchical Data Format v.4 <pkg>sci-libs/hdf</pkg></flag> - <flag name="tools">Build the utilities nccopy, ncgen and ncdump</flag> </use> <upstream> <remote-id type="github">Unidata/netcdf-c</remote-id> diff --git a/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild b/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild deleted file mode 100644 index 003e1303571f..000000000000 --- a/sci-libs/netcdf/netcdf-4.8.1-r1.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake flag-o-matic - -DESCRIPTION="Scientific library and interface for array oriented data access" -HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/" -SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN}-c-${PV}" - -LICENSE="UCAR-Unidata" -# SONAME of libnetcdf.so -SLOT="0/19" -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 -riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="+dap doc examples hdf +hdf5 mpi szip test tools" -RESTRICT="!test? ( test )" - -RDEPEND="dev-libs/libxml2 - dap? ( net-misc/curl:0= ) - hdf? ( - sci-libs/hdf:0= - sci-libs/hdf5:0= - virtual/jpeg - ) - hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - doc? ( app-doc/doxygen[dot] )" - -REQUIRED_USE=" - test? ( tools ) - szip? ( hdf5 ) - mpi? ( hdf5 )" - -PATCHES=( - "${FILESDIR}/${PN}-4.8.1-big-endian-build.patch" - "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch" -) - -src_prepare() { - # skip test that requires network - sed -i -e '/run_get_hdf4_files/d' hdf4_test/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - use mpi && export CC=mpicc - - # Temporary workaround for test breakage - # https://github.com/Unidata/netcdf-c/issues/1983 - # bug #827042 - append-flags -fno-strict-aliasing - - local mycmakeargs=( - -DENABLE_DAP_REMOTE_TESTS=OFF - # Enable for >4.8.1 (not yet in a release) - #-DENABLE_LIBXML2=ON - -DBUILD_UTILITIES=$(usex tools) - -DENABLE_DAP=$(usex dap) - -DENABLE_DOXYGEN=$(usex doc) - -DENABLE_EXAMPLES=$(usex examples) - -DENABLE_HDF4=$(usex hdf) - -DENABLE_NETCDF_4=$(usex hdf5) - -DENABLE_TESTS=$(usex test) - ) - - cmake_src_configure -} - -src_test() { - # fails parallel tests: bug #621486 - cmake_src_test -j1 -} diff --git a/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild b/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild deleted file mode 100644 index d4e17743df68..000000000000 --- a/sci-libs/netcdf/netcdf-4.8.1-r2.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake flag-o-matic - -DESCRIPTION="Scientific library and interface for array oriented data access" -HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/" -SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN}-c-${PV}" - -LICENSE="UCAR-Unidata" -# SONAME of libnetcdf.so -SLOT="0/19" -KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 -riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="+dap doc examples hdf +hdf5 mpi szip test tools" -RESTRICT="!test? ( test )" - -RDEPEND="dev-libs/libxml2 - dap? ( net-misc/curl:0= ) - hdf? ( - media-libs/libjpeg-turbo:= - sci-libs/hdf:0= - sci-libs/hdf5:0= - ) - hdf5? ( sci-libs/hdf5:0=[hl(+),mpi=,szip=,zlib] )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - doc? ( app-doc/doxygen[dot] )" - -REQUIRED_USE=" - test? ( tools ) - szip? ( hdf5 ) - mpi? ( hdf5 )" - -PATCHES=( - "${FILESDIR}/${PN}-4.8.1-big-endian-build.patch" - "${FILESDIR}/${PN}-4.7.4-big-endian-test.patch" -) - -src_prepare() { - # skip test that requires network - sed -i -e '/run_get_hdf4_files/d' hdf4_test/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - use mpi && export CC=mpicc - - # Temporary workaround for test breakage - # https://github.com/Unidata/netcdf-c/issues/1983 - # bug #827042 - append-flags -fno-strict-aliasing - - local mycmakeargs=( - -DENABLE_DAP_REMOTE_TESTS=OFF - # Enable for >4.8.1 (not yet in a release) - #-DENABLE_LIBXML2=ON - -DBUILD_UTILITIES=$(usex tools) - -DENABLE_DAP=$(usex dap) - -DENABLE_DOXYGEN=$(usex doc) - -DENABLE_EXAMPLES=$(usex examples) - -DENABLE_HDF4=$(usex hdf) - -DENABLE_NETCDF_4=$(usex hdf5) - -DENABLE_TESTS=$(usex test) - ) - - cmake_src_configure -} - -src_test() { - # fails parallel tests: bug #621486 - cmake_src_test -j1 -} - -src_install() { - cmake_src_install - - # bug #827188 - sed -i -e "s:${EPREFIX}/usr/$(get_libdir)/libdl.so;:dl;:" "${ED}/usr/$(get_libdir)/cmake/netCDF/netCDFTargets.cmake" || die -} diff --git a/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch b/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch new file mode 100644 index 000000000000..239e0bd3a56a --- /dev/null +++ b/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt 2023-09-01 12:19:40.772172388 +0200 ++++ b/CMakeLists.txt 2023-09-01 12:19:53.422188861 +0200 +@@ -58,7 +58,7 @@ + # Required to use /std:c++17 or higher on Windows + # For other platforms, set C++11 as standard for the whole project + if(NOT MSVC) +- set(CMAKE_CXX_STANDARD 11) ++ set(CMAKE_CXX_STANDARD 14) + else() + string(APPEND CMAKE_CXX_FLAGS " /std:c++17") + endif() diff --git a/sci-libs/onnx/onnx-1.13.1.ebuild b/sci-libs/onnx/onnx-1.13.1-r1.ebuild index cee6ddd5c494..1de081f5931b 100644 --- a/sci-libs/onnx/onnx-1.13.1.ebuild +++ b/sci-libs/onnx/onnx-1.13.1-r1.ebuild @@ -22,6 +22,8 @@ BDEPEND=" ${PYTHON_DEPS} " +PATCHES=( "${FILESDIR}"/${PN}-1.14.0-cxx_14.patch ) + src_configure() { local mycmakeargs=( -DONNX_USE_PROTOBUF_SHARED_LIBS=ON diff --git a/sci-libs/onnx/onnx-1.14.0-r2.ebuild b/sci-libs/onnx/onnx-1.14.0-r2.ebuild new file mode 100644 index 000000000000..f3f43c3fddd3 --- /dev/null +++ b/sci-libs/onnx/onnx-1.14.0-r2.ebuild @@ -0,0 +1,60 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_OPTIONAL=1 +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 cmake + +DESCRIPTION="Open Neural Network Exchange (ONNX)" +HOMEPAGE="https://github.com/onnx/onnx" +SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~riscv" +IUSE="python" +RESTRICT="test" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + python? ( + ${PYTHON_DEPS} + dev-python/protobuf-python[${PYTHON_USEDEP}] + ) + dev-libs/protobuf:= +" +DEPEND="${RDEPEND}" + +BDEPEND="python? ( + ${DISTUTILS_DEPS} +)" + +PATCHES=( "${FILESDIR}"/${P}-cxx_14.patch ) + +src_prepare() { + cmake_src_prepare + use python && distutils-r1_src_prepare +} + +src_configure() { + mycmakeargs=( + -DONNX_USE_PROTOBUF_SHARED_LIBS=ON + -DONNX_USE_LITE_PROTO=ON + ) + cmake_src_configure + use python && distutils-r1_src_configure +} + +src_compile() { + cmake_src_compile + use python && CMAKE_ARGS="${mycmakeargs[@]}" distutils-r1_src_compile +} + +src_install() { + cmake_src_install + use python && distutils-r1_src_install +} diff --git a/sci-libs/onnx/onnx-1.14.0.ebuild b/sci-libs/onnx/onnx-1.14.0.ebuild deleted file mode 100644 index 866f8a5e90fd..000000000000 --- a/sci-libs/onnx/onnx-1.14.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) -inherit python-any-r1 cmake - -DESCRIPTION="Open Neural Network Exchange (ONNX)" -HOMEPAGE="https://github.com/onnx/onnx" -SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz - -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~riscv" -RESTRICT="test" - -DEPEND="" -RDEPEND="${DEPEND} - dev-libs/protobuf:=" -BDEPEND=" - ${PYTHON_DEPS} -" - -src_configure() { - local mycmakeargs=( - -DONNX_USE_PROTOBUF_SHARED_LIBS=ON - ) - cmake_src_configure -} diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest index 95fc46d6f9d5..7517619835d4 100644 --- a/sci-libs/openblas/Manifest +++ b/sci-libs/openblas/Manifest @@ -1,4 +1,3 @@ -DIST openblas-0.3.18.tar.gz 12619822 BLAKE2B 38a5e7b861eb0063a4494c1cfb6f7f5723741437ecdd5cb1fb42645eb73bceb472b3a8c11eec3d0ba4f676981ac89de4ff1ee0d7ea42d1e234746f34ce8fb6b8 SHA512 df9a14026a61bdc5285636bfd7a52dce244d24fcf4a0c870ef4e58b8b50e412849828ca5aeac2a2435f635e78e60559762e8bae22ea7bc5dff2e865a96d81152 -DIST openblas-0.3.19.tar.gz 12706050 BLAKE2B c29aa27faaf18e3330087f8d2ebed733f53878266d6865239dfbb1624a113f3cabc988bbfcc18a0aa5d971697bc68bb267795ef24e2d8e0e8d50f802cb817b57 SHA512 1fcbcfefb7744894b0b0c83c6071b342086ca311dc67f5c2745812d61dcc9d31ef7dd5e1215dfb2731ae7197d497dbdf8f8b26a432eb07d41a7db0983eb86a33 -DIST openblas-0.3.20.tar.gz 12742441 BLAKE2B 9ae808e2a7da39e28dbe26c7feb5da3c70275f3b48bd68455c22e3b16fc1f2d10b9d84c9593acff2c837fc1514f21f2bbc0e87708075c5fe13514d0d47cf0b5a SHA512 0742d40b74b11b781021280fd627fa5798e6856b49f2ba1111a5927aac1a7823bcb8162187555f4cf3a4dd7eadf5b1f2a4685c0b5e189847b2869166d1bc7391 +DIST OpenBLAS-0.3.25.tar.gz 24073168 BLAKE2B c2a173b50f6931e7782c7d429487abd4b1a4ed05aec4f08febbc5cc73b9ed5cb36c9e308bf7cb89ce116b1c25556615d2384087cf7d1b489a4784901951558bc SHA512 69bcf8082575b01ce1734fc9d33454314964a7e81ff29a7c1a764af3083ac0dc24289fd72bbe22c9583398bda7b658d6e4ab1d5036e43412745f0be3c2185b3c DIST openblas-0.3.21.tar.gz 23729571 BLAKE2B 678bfb13ead69045e7d4d840bbcaed884d9ebedded5425cfa1f55e3d85bda31a3eb43dbbf9f07099d0d198f97ae68ef3b3b2b78aa1bd5b4999dd729dc08f7e28 SHA512 4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5 +DIST openblas-0.3.23.tar.gz 23950794 BLAKE2B 8394e09c682bba10450248cbbe090bb81c26661eac7d238942055ae0eecce752c8a3481af905de9efe20fe635f2c4a0e06af83bb64c998ab410e4cdc56751a47 SHA512 ea64c693e57eb63cc2a88e4d6ab2d8cf9ab84ae6a15048fb12090a3570dd41053e62e99c1ff9d3e02dd67ca93233591ab41b8c017d06585d0a69222e1ad3023f diff --git a/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch b/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch deleted file mode 100644 index 2745d26cb3a5..000000000000 --- a/sci-libs/openblas/files/openblas-0.3.20-fix-loong.patch +++ /dev/null @@ -1,178 +0,0 @@ -https://github.com/xianyi/OpenBLAS/pull/3626, rebased on top of v0.3.20. - -From: WANG Xuerui <xen0n@gentoo.org> -Date: Fri, 13 May 2022 15:26:33 +0800 -Subject: [PATCH 1/3] Move LoongArch make rules to Makefile.loongarch64 - ---- a/Makefile.loongarch64 -+++ b/Makefile.loongarch64 -@@ -1,3 +1,4 @@ --ifdef BINARY64 --else -+ifeq ($(CORE), LOONGSON3R5) -+CCOMMON_OPT += -march=loongarch64 -mabi=lp64 -+FCOMMON_OPT += -march=loongarch64 -mabi=lp64 - endif ---- a/Makefile.system -+++ b/Makefile.system -@@ -886,13 +886,6 @@ ifeq ($(OSNAME), AIX) - BINARY_DEFINED = 1 - endif - --ifeq ($(ARCH), loongarch64) --ifeq ($(CORE), LOONGSON3R5) --CCOMMON_OPT += -march=loongarch64 -mabi=lp64 --FCOMMON_OPT += -march=loongarch64 -mabi=lp64 --endif --endif -- - endif - - ifndef BINARY_DEFINED -From: WANG Xuerui <xen0n@gentoo.org> -Date: Fri, 13 May 2022 15:53:22 +0800 -Subject: [PATCH 2/3] Probe for old-world LASX flavor on LoongArch and use - generic DGEMM kernel otherwise - -See: https://bugs.gentoo.org/844013 ---- a/Makefile.system -+++ b/Makefile.system -@@ -1683,6 +1683,7 @@ export TARGET_CORE - export NO_AVX512 - export NO_AVX2 - export BUILD_BFLOAT16 -+export NO_LASX - - export SBGEMM_UNROLL_M - export SBGEMM_UNROLL_N ---- a/c_check -+++ b/c_check -@@ -270,6 +270,37 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) { - } - } - -+$no_lasx = 0; -+if (($architecture eq "loongarch64")) { -+ eval "use File::Temp qw(tempfile)"; -+ if ($@){ -+ warn "could not load PERL module File::Temp, so could not check compiler compatibility with the LoongArch LASX extension"; -+ # Assume no LASX, because currently LASX is only present in vendor -+ # toolchains, undocumented nor upstreamed. -+ $no_lasx = 1; -+ } else { -+ # Old-world assembly flavor: LASX registers named "$xrNN", different -+ # from the ISA manual which suggests "$xNN". This is the flavor we -+ # currently support. -+ # -+ # As the LASX ISA manual is not out yet, we cannot predict what the -+ # new-world flavor would look like, so do not probe flavor for now. -+ # The compiler flags are also unsuitable for new-world gcc. -+ ($fh,$tmpf) = tempfile( SUFFIX => '.c' , UNLINK => 1 ); -+ $code = '"xvld $xr0, $a0, 0\n"'; -+ print $fh "int main(void){ __asm__ volatile($code); }\n"; -+ $args = " -march=loongarch64 -mabi=lp64 -mlasx -c -o $tmpf.o $tmpf"; -+ my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null"); -+ system(@cmd) == 0; -+ if ($? != 0) { -+ $no_lasx = 1; -+ } else { -+ $no_lasx = 0; -+ } -+ unlink("$tmpf.o"); -+ } -+} -+ - $c11_atomics = 0; - if ($data =~ /HAVE_C11/) { - eval "use File::Temp qw(tempfile)"; -@@ -393,6 +424,7 @@ print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1; - print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1; - print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1; - print MAKEFILE "NO_AVX2=1\n" if $no_avx2 eq 1; -+print MAKEFILE "NO_LASX=1\n" if $no_lasx eq 1; - print MAKEFILE "OLDGCC=1\n" if $oldgcc eq 1; - - $os =~ tr/[a-z]/[A-Z]/; ---- a/kernel/loongarch64/KERNEL.LOONGSON3R5 -+++ b/kernel/loongarch64/KERNEL.LOONGSON3R5 -@@ -1,3 +1,7 @@ -+ifeq ($(NO_LASX), 1) -+# No LASX support in compiler, unable to consume the optimized version -+# leave out DGEMMKERNEL to pull in the generic version -+else - DGEMMKERNEL = dgemm_kernel_16x4.S - DGEMMINCOPY = dgemm_ncopy_16.S - DGEMMITCOPY = dgemm_tcopy_16.S -@@ -7,6 +11,7 @@ DGEMMINCOPYOBJ = dgemm_incopy.o - DGEMMITCOPYOBJ = dgemm_itcopy.o - DGEMMONCOPYOBJ = dgemm_oncopy.o - DGEMMOTCOPYOBJ = dgemm_otcopy.o -+endif - - DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c - DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c -From: WANG Xuerui <xen0n@gentoo.org> -Date: Fri, 13 May 2022 16:23:46 +0800 -Subject: [PATCH 3/3] Fix ABI CFLAGS setting on new-world LoongArch - -See: https://bugs.gentoo.org/844013 ---- a/Makefile.loongarch64 -+++ b/Makefile.loongarch64 -@@ -1,4 +1,13 @@ - ifeq ($(CORE), LOONGSON3R5) --CCOMMON_OPT += -march=loongarch64 -mabi=lp64 --FCOMMON_OPT += -march=loongarch64 -mabi=lp64 -+CCOMMON_OPT += -march=loongarch64 -+FCOMMON_OPT += -march=loongarch64 -+ -+ifeq ($(LOONGARCH_CC_FLAVOR), NEW) -+CCOMMON_OPT += -mabi=lp64d -+FCOMMON_OPT += -mabi=lp64d -+endif -+ifeq ($(LOONGARCH_CC_FLAVOR), OLD) -+CCOMMON_OPT += -mabi=lp64 -+FCOMMON_OPT += -mabi=lp64 -+endif - endif ---- a/Makefile.system -+++ b/Makefile.system -@@ -1683,6 +1683,7 @@ export TARGET_CORE - export NO_AVX512 - export NO_AVX2 - export BUILD_BFLOAT16 -+export LOONGARCH_CC_FLAVOR - export NO_LASX - - export SBGEMM_UNROLL_M ---- a/c_check -+++ b/c_check -@@ -270,6 +270,21 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) { - } - } - -+$loongarch_cc_flavor = ""; -+if (($architecture eq "loongarch64")) { -+ # Currently there are only 2 flavors: new-world and old-world. -+ # They differ in ABI names accepted, so check it to avoid creating temp -+ # files. -+ $args = " -mabi=lp64d -E -o - /dev/null"; -+ my @cmd = ("$compiler_name $flags $args >/dev/null 2>/dev/null"); -+ system(@cmd) == 0; -+ if ($? != 0) { -+ $loongarch_cc_flavor = "OLD"; -+ } else { -+ $loongarch_cc_flavor = "NEW"; -+ } -+} -+ - $no_lasx = 0; - if (($architecture eq "loongarch64")) { - eval "use File::Temp qw(tempfile)"; -@@ -424,6 +439,7 @@ print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1; - print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1; - print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1; - print MAKEFILE "NO_AVX2=1\n" if $no_avx2 eq 1; -+print MAKEFILE "LOONGARCH_CC_FLAVOR=$loongarch_cc_flavor\n" if $architecture eq "loongarch64"; - print MAKEFILE "NO_LASX=1\n" if $no_lasx eq 1; - print MAKEFILE "OLDGCC=1\n" if $oldgcc eq 1; - diff --git a/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch b/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch deleted file mode 100644 index a386a0b38467..000000000000 --- a/sci-libs/openblas/files/openblas-0.3.20-fix-riscv.patch +++ /dev/null @@ -1,99 +0,0 @@ -Bug: https://bugs.gentoo.org/837806 -From https://github.com/xianyi/OpenBLAS/pull/3613 - -From: Han Gao <gaohan@uniontech.com> -Date: Wed, 27 Apr 2022 01:34:55 +0800 -Subject: [PATCH 1/2] Fix other arch build in detect. - -When CORE is empty, use -march=loongson3a. Fix it. - -Signed-off-by: Han Gao <gaohan@uniontech.com> ---- a/Makefile.system -+++ b/Makefile.system -@@ -847,7 +847,7 @@ CCOMMON_OPT += -mabi=32 - BINARY_DEFINED = 1 - endif - --ifeq ($(CORE), $(filter $(CORE),LOONGSON3R3 LOONGSON3R4)) -+ifneq (, $(filter $(CORE),LOONGSON3R3 LOONGSON3R4)) - CCOMMON_OPT += -march=loongson3a - FCOMMON_OPT += -march=loongson3a - endif - -From: Han Gao <gaohan@uniontech.com> -Date: Wed, 27 Apr 2022 02:29:43 +0800 -Subject: [PATCH 2/2] Fix riscv64 arch detect - -Signed-off-by: Han Gao <gaohan@uniontech.com> ---- a/cpuid_riscv64.c -+++ b/cpuid_riscv64.c -@@ -1,5 +1,5 @@ - /***************************************************************************** --Copyright (c) 2011-2014, The OpenBLAS Project -+Copyright (c) 2011-2022, The OpenBLAS Project - All rights reserved. - - Redistribution and use in source and binary forms, with or without -@@ -13,9 +13,9 @@ modification, are permitted provided that the following conditions are - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -- 3. Neither the name of the OpenBLAS project nor the names of -- its contributors may be used to endorse or promote products -- derived from this software without specific prior written -+ 3. Neither the name of the OpenBLAS project nor the names of -+ its contributors may be used to endorse or promote products -+ derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -@@ -70,16 +70,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - /* or implied, of The University of Texas at Austin. */ - /*********************************************************************/ - --#define CPU_UNKNOWN 0 --#define CPU_C910V 1 -+#define CPU_GENERIC 0 -+#define CPU_C910V 1 - - static char *cpuname[] = { -- "UNKOWN", -+ "RISCV64_GENERIC", - "C910V" - }; - - int detect(void){ -- return CPU_UNKNOWN; -+ return CPU_GENERIC; - } - - char *get_corename(void){ -@@ -98,7 +98,7 @@ void get_subdirname(void){ - } - - void get_cpuconfig(void){ -- printf("#define UNKNOWN\n"); -+ printf("#define %s\n", cpuname[detect()]); - printf("#define L1_DATA_SIZE 65536\n"); - printf("#define L1_DATA_LINESIZE 32\n"); - printf("#define L2_SIZE 512488\n"); ---- a/getarch.c -+++ b/getarch.c -@@ -1731,7 +1731,7 @@ int main(int argc, char *argv[]){ - #ifdef FORCE - printf("CORE=%s\n", CORENAME); - #else --#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) -+#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv) - printf("CORE=%s\n", get_corename()); - #endif - #endif -@@ -1879,7 +1879,7 @@ printf("ELF_VERSION=2\n"); - #ifdef FORCE - printf("#define CHAR_CORENAME \"%s\"\n", CORENAME); - #else --#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) -+#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv) - printf("#define CHAR_CORENAME \"%s\"\n", get_corename()); - #endif - #endif diff --git a/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch b/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch new file mode 100644 index 000000000000..ce0487a6b2c0 --- /dev/null +++ b/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch @@ -0,0 +1,67 @@ +From 281e834566a06f1c756d262dc31e809faaf8933f Mon Sep 17 00:00:00 2001 +From: Guillaume Horel <guillaume.horel@gmail.com> +Date: Thu, 30 Mar 2023 15:15:25 -0400 +Subject: [PATCH 1/2] do not pass -j flag to the MAKE variable + +--- + getarch.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/getarch.c b/getarch.c +index 937a8db68c..87384c0840 100644 +--- a/getarch.c ++++ b/getarch.c +@@ -1930,15 +1930,15 @@ printf("ELF_VERSION=2\n"); + + #ifdef MAKE_NB_JOBS + #if MAKE_NB_JOBS > 0 +- printf("MAKE += -j %d\n", MAKE_NB_JOBS); ++ printf("MAKEFLAGS += -j %d\n", MAKE_NB_JOBS); + #else + // Let make use parent -j argument or -j1 if there + // is no make parent + #endif + #elif NO_PARALLEL_MAKE==1 +- printf("MAKE += -j 1\n"); ++ printf("MAKEFLAGS += -j 1\n"); + #else +- printf("MAKE += -j %d\n", get_num_cores()); ++ printf("MAKEFLAGS += -j %d\n", get_num_cores()); + #endif + + break; + +From 397108fba299c87ce17957452d57469af914f516 Mon Sep 17 00:00:00 2001 +From: Guillaume Horel <guillaume.horel@gmail.com> +Date: Fri, 31 Mar 2023 09:22:40 -0400 +Subject: [PATCH 2/2] serialize shared prerequisites + +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 144b3400db..3c4b8948af 100644 +--- a/Makefile ++++ b/Makefile +@@ -40,9 +40,9 @@ LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast -O -Og -Os,$(LAPACK_FFLAGS)) + SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test + + .PHONY : all libs netlib $(RELA) test ctest shared install +-.NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test ++.NOTPARALLEL : shared + +-all :: libs netlib $(RELA) tests shared ++all :: tests + @echo + @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))" + @echo +@@ -150,7 +150,7 @@ ifeq ($(OSNAME), CYGWIN_NT) + endif + endif + +-tests : libs netlib $(RELA) shared ++tests : shared + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) + touch $(LIBNAME) + ifndef NO_FBLAS diff --git a/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch b/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch new file mode 100644 index 000000000000..4d200d3b3960 --- /dev/null +++ b/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch @@ -0,0 +1,40 @@ +From b3b59749a0df9c2375f1c99adb8552f698eba6d6 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Thu, 6 Jul 2023 15:54:30 -0400 +Subject: [PATCH] interface/Makefile: add shared library targets. + +Gentoo patch for shared library support. +--- + interface/Makefile | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/interface/Makefile b/interface/Makefile +index 2ac9663..63bcb24 100644 +--- a/interface/Makefile ++++ b/interface/Makefile +@@ -2384,3 +2384,22 @@ cblas_zgeadd.$(SUFFIX) cblas_zgeadd.$(PSUFFIX) : zgeadd.c + cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PSUFFIX) : xerbla.c + $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) + ++##### ++shared-blas-lapack: libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3 ++ ++# The list of prerequisite is created by comparing with NETLIB BLAS public API. ++libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB) ++ ++libcblas.so.3: $(CSBLAS1OBJS) $(CSBLAS2OBJS) $(CSBLAS3OBJS) $(CDBLAS1OBJS) $(CDBLAS2OBJS) $(CDBLAS3OBJS) $(CCBLAS1OBJS) $(CCBLAS2OBJS) $(CCBLAS3OBJS) $(CZBLAS1OBJS) $(CZBLAS2OBJS) $(CZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libcblas.so.3 -L.. -lopenblas $(EXTRALIB) ++ ++# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects ++liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ ../lapack-netlib/SRC/*.o -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB) ++ ++liblapacke.so.3: liblapack.so.3 ++ $(CC) $(LDFLAGS) -shared -o $@ `find ../lapack-netlib/LAPACKE -name "*.o"` -Wl,-soname,liblapacke.so.3 -L.. -lopenblas $(EXTRALIB) ++ ++clean:: ++ rm -f libblas.so.3 libcblas.so.3 liblapack.so.3 +-- +2.39.3 + diff --git a/sci-libs/openblas/openblas-0.3.18.ebuild b/sci-libs/openblas/openblas-0.3.18.ebuild deleted file mode 100644 index 31488ab8cb0d..000000000000 --- a/sci-libs/openblas/openblas-0.3.18.ebuild +++ /dev/null @@ -1,199 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic fortran-2 toolchain-funcs - -DESCRIPTION="Optimized BLAS library based on GotoBLAS2" -HOMEPAGE="http://xianyi.github.io/OpenBLAS/" -SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/OpenBLAS-${PV} - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test" -REQUIRED_USE="?? ( openmp pthread )" -RESTRICT="!test? ( test )" - -RDEPEND=" - eselect-ldso? ( - >=app-eselect/eselect-blas-0.2 - >=app-eselect/eselect-lapack-0.2 - ) -" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch" -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - - elog "This software has a massive number of options that" - elog "are configurable and it is *impossible* for all of" - elog "those to fit inside any manageable ebuild." - elog "The Gentoo provided package has enough to build" - elog "a fully optimized library for your targeted CPU." - elog "You can set the CPU target using the environment" - elog "variable - OPENBLAS_TARGET or it will be detected" - elog "automatically from the target toolchain (supports" - elog "cross compilation toolchains)." - elog "You can control the maximum number of threads" - elog "using OPENBLAS_NTHREAD, default=64 and number of " - elog "parallel calls to allow before further calls wait" - elog "using OPENBLAS_NPARALLEL, default=8." -} - -pkg_setup() { - fortran-2_pkg_setup - - # List of most configurable options - Makefile.rule - - # https://github.com/xianyi/OpenBLAS/pull/2663 - tc-export CC FC LD AR AS RANLIB - - # HOSTCC is used for scripting - export HOSTCC="$(tc-getBUILD_CC)" - - # threading options - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - USE_THREAD=0 - if use openmp; then - USE_THREAD=1; USE_OPENMP=1; - elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; - fi - export USE_THREAD USE_OPENMP - - # We need to filter these while building the library, and not just - # while building the test suite. Will hopefully get fixed upstream: - # https://github.com/xianyi/OpenBLAS/issues/2657 - use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all" - - # disable submake with -j and default optimization flags - # in Makefile.system - # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT... - export MAKE_NB_JOBS=-1 \ - COMMON_OPT=" " \ - FCOMMON_OPT=" " - - # Target CPU ARCH options - # generally detected automatically from cross toolchain - use dynamic && \ - export DYNAMIC_ARCH=1 \ - NO_AFFINITY=1 \ - TARGET=GENERIC - - export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \ - NUM_THREADS=${OPENBLAS_NTHREAD:-64} - - # setting OPENBLAS_TARGET to override auto detection - # in case the toolchain is not enough to detect - # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt - if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then - export TARGET="${OPENBLAS_TARGET}" - fi - - export NO_STATIC=1 - - BUILD_RELAPACK=1 - if ! use relapack; then - BUILD_RELAPACK=0 - fi - - export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK -} - -src_prepare() { - default - - # Disable tests by default - sed -e "/^all ::/s/tests //" -i Makefile || die - - # if 64bit-index is needed, create second library - # with LIBPREFIX=libopenblas64 - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi -} - -src_compile() { - default - cd interface || die - emake shared-blas-lapack - - if use index-64bit; then - emake -C"${S}-index-64bit" \ - INTERFACE64=1 \ - LIBPREFIX=libopenblas64 - fi -} - -src_test() { - emake tests -} - -src_install() { - emake install DESTDIR="${D}" \ - OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \ - OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) - - dodoc GotoBLAS_*.txt *.md Changelog.txt - - if use index-64bit; then - dolib.so "${S}-index-64bit"/libopenblas64*.so* - fi - - if use eselect-ldso; then - insinto /usr/$(get_libdir)/blas/openblas/ - doins interface/libblas.so.3 - dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so - doins interface/libcblas.so.3 - dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so - - insinto /usr/$(get_libdir)/lapack/openblas/ - doins interface/liblapack.so.3 - dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so - doins interface/liblapacke.so.3 - dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so - fi -} - -pkg_postinst() { - use eselect-ldso || return - local libdir=$(get_libdir) me="openblas" - - # check blas - eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me} - local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) - if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then - eselect blas set ${libdir} ${me} - elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." - else - elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." - elog "To use blas [${me}] implementation, you have to issue (as root):" - elog "\t eselect blas set ${libdir} ${me}" - fi - - # check lapack - eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me} - local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) - if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then - eselect lapack set ${libdir} ${me} - elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." - else - elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." - elog "To use lapack [${me}] implementation, you have to issue (as root):" - elog "\t eselect lapack set ${libdir} ${me}" - fi -} - -pkg_postrm() { - if use eselect-ldso; then - eselect blas validate - eselect lapack validate - fi -} diff --git a/sci-libs/openblas/openblas-0.3.19.ebuild b/sci-libs/openblas/openblas-0.3.19.ebuild deleted file mode 100644 index 31488ab8cb0d..000000000000 --- a/sci-libs/openblas/openblas-0.3.19.ebuild +++ /dev/null @@ -1,199 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic fortran-2 toolchain-funcs - -DESCRIPTION="Optimized BLAS library based on GotoBLAS2" -HOMEPAGE="http://xianyi.github.io/OpenBLAS/" -SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/OpenBLAS-${PV} - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test" -REQUIRED_USE="?? ( openmp pthread )" -RESTRICT="!test? ( test )" - -RDEPEND=" - eselect-ldso? ( - >=app-eselect/eselect-blas-0.2 - >=app-eselect/eselect-lapack-0.2 - ) -" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch" -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - - elog "This software has a massive number of options that" - elog "are configurable and it is *impossible* for all of" - elog "those to fit inside any manageable ebuild." - elog "The Gentoo provided package has enough to build" - elog "a fully optimized library for your targeted CPU." - elog "You can set the CPU target using the environment" - elog "variable - OPENBLAS_TARGET or it will be detected" - elog "automatically from the target toolchain (supports" - elog "cross compilation toolchains)." - elog "You can control the maximum number of threads" - elog "using OPENBLAS_NTHREAD, default=64 and number of " - elog "parallel calls to allow before further calls wait" - elog "using OPENBLAS_NPARALLEL, default=8." -} - -pkg_setup() { - fortran-2_pkg_setup - - # List of most configurable options - Makefile.rule - - # https://github.com/xianyi/OpenBLAS/pull/2663 - tc-export CC FC LD AR AS RANLIB - - # HOSTCC is used for scripting - export HOSTCC="$(tc-getBUILD_CC)" - - # threading options - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - USE_THREAD=0 - if use openmp; then - USE_THREAD=1; USE_OPENMP=1; - elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; - fi - export USE_THREAD USE_OPENMP - - # We need to filter these while building the library, and not just - # while building the test suite. Will hopefully get fixed upstream: - # https://github.com/xianyi/OpenBLAS/issues/2657 - use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all" - - # disable submake with -j and default optimization flags - # in Makefile.system - # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT... - export MAKE_NB_JOBS=-1 \ - COMMON_OPT=" " \ - FCOMMON_OPT=" " - - # Target CPU ARCH options - # generally detected automatically from cross toolchain - use dynamic && \ - export DYNAMIC_ARCH=1 \ - NO_AFFINITY=1 \ - TARGET=GENERIC - - export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \ - NUM_THREADS=${OPENBLAS_NTHREAD:-64} - - # setting OPENBLAS_TARGET to override auto detection - # in case the toolchain is not enough to detect - # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt - if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then - export TARGET="${OPENBLAS_TARGET}" - fi - - export NO_STATIC=1 - - BUILD_RELAPACK=1 - if ! use relapack; then - BUILD_RELAPACK=0 - fi - - export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK -} - -src_prepare() { - default - - # Disable tests by default - sed -e "/^all ::/s/tests //" -i Makefile || die - - # if 64bit-index is needed, create second library - # with LIBPREFIX=libopenblas64 - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi -} - -src_compile() { - default - cd interface || die - emake shared-blas-lapack - - if use index-64bit; then - emake -C"${S}-index-64bit" \ - INTERFACE64=1 \ - LIBPREFIX=libopenblas64 - fi -} - -src_test() { - emake tests -} - -src_install() { - emake install DESTDIR="${D}" \ - OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \ - OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) - - dodoc GotoBLAS_*.txt *.md Changelog.txt - - if use index-64bit; then - dolib.so "${S}-index-64bit"/libopenblas64*.so* - fi - - if use eselect-ldso; then - insinto /usr/$(get_libdir)/blas/openblas/ - doins interface/libblas.so.3 - dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so - doins interface/libcblas.so.3 - dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so - - insinto /usr/$(get_libdir)/lapack/openblas/ - doins interface/liblapack.so.3 - dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so - doins interface/liblapacke.so.3 - dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so - fi -} - -pkg_postinst() { - use eselect-ldso || return - local libdir=$(get_libdir) me="openblas" - - # check blas - eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me} - local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) - if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then - eselect blas set ${libdir} ${me} - elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." - else - elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." - elog "To use blas [${me}] implementation, you have to issue (as root):" - elog "\t eselect blas set ${libdir} ${me}" - fi - - # check lapack - eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me} - local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) - if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then - eselect lapack set ${libdir} ${me} - elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." - else - elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." - elog "To use lapack [${me}] implementation, you have to issue (as root):" - elog "\t eselect lapack set ${libdir} ${me}" - fi -} - -pkg_postrm() { - if use eselect-ldso; then - eselect blas validate - eselect lapack validate - fi -} diff --git a/sci-libs/openblas/openblas-0.3.21.ebuild b/sci-libs/openblas/openblas-0.3.23.ebuild index 8684438c1a7a..7664d34d5737 100644 --- a/sci-libs/openblas/openblas-0.3.21.ebuild +++ b/sci-libs/openblas/openblas-0.3.23.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit fortran-2 toolchain-funcs +inherit flag-o-matic fortran-2 toolchain-funcs DESCRIPTION="Optimized BLAS library based on GotoBLAS2" HOMEPAGE="https://github.com/xianyi/OpenBLAS" @@ -26,8 +26,9 @@ RDEPEND=" BDEPEND="virtual/pkgconfig" PATCHES=( - "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch" + "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch" "${FILESDIR}/${PN}-0.3.21-fix-loong.patch" + "${FILESDIR}/${PN}-0.3.23-parallel-make.patch" ) pkg_pretend() { @@ -53,6 +54,9 @@ pkg_setup() { # List of most configurable options - Makefile.rule + # not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128 + filter-lto + # https://github.com/xianyi/OpenBLAS/pull/2663 tc-export CC FC LD AR AS RANLIB @@ -118,9 +122,8 @@ src_prepare() { } src_compile() { - default - cd interface || die - emake shared-blas-lapack + emake shared + use eselect-ldso && emake -C interface shared-blas-lapack if use index-64bit; then emake -C"${S}-index-64bit" \ diff --git a/sci-libs/openblas/openblas-0.3.20.ebuild b/sci-libs/openblas/openblas-0.3.25-r1.ebuild index 029ace6cd509..c32ecf3ad4d7 100644 --- a/sci-libs/openblas/openblas-0.3.20.ebuild +++ b/sci-libs/openblas/openblas-0.3.25-r1.ebuild @@ -1,14 +1,15 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit flag-o-matic fortran-2 toolchain-funcs +MY_P=OpenBLAS-${PV} DESCRIPTION="Optimized BLAS library based on GotoBLAS2" HOMEPAGE="https://github.com/xianyi/OpenBLAS" -SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/OpenBLAS-${PV} +SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} LICENSE="BSD" SLOT="0" @@ -26,9 +27,7 @@ RDEPEND=" BDEPEND="virtual/pkgconfig" PATCHES=( - "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch" - "${FILESDIR}/${PN}-0.3.20-fix-riscv.patch" - "${FILESDIR}/${PN}-0.3.20-fix-loong.patch" + "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch" ) pkg_pretend() { @@ -50,87 +49,84 @@ pkg_pretend() { } pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + fortran-2_pkg_setup +} - # List of most configurable options - Makefile.rule +src_prepare() { + default + + # TODO: Unbundle lapack like Fedora does? + # https://src.fedoraproject.org/rpms/openblas/blob/rawhide/f/openblas-0.2.15-system_lapack.patch + + # Don't build the tests as part of "make all". We'll do + # it explicitly later if the test phase is enabled. + sed -i -e "/^all :: tests/s: tests::g" Makefile || die + + # If 64bit-index is needed, create second library with LIBPREFIX=libopenblas64 + if use index-64bit; then + cp -aL "${S}" "${S}-index-64bit" || die + fi +} + +src_configure() { + # List of most configurable options is in Makefile.rule. + + # Not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128 + filter-lto - # https://github.com/xianyi/OpenBLAS/pull/2663 tc-export CC FC LD AR AS RANLIB # HOSTCC is used for scripting export HOSTCC="$(tc-getBUILD_CC)" - # threading options - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - USE_THREAD=0 + # Threading options + export USE_THREAD=0 + export USE_OPENMP=0 if use openmp; then - USE_THREAD=1; USE_OPENMP=1; + USE_THREAD=1 + USE_OPENMP=1 elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; + USE_THREAD=1 + USE_OPENMP=0 fi - export USE_THREAD USE_OPENMP - # We need to filter these while building the library, and not just - # while building the test suite. Will hopefully get fixed upstream: - # https://github.com/xianyi/OpenBLAS/issues/2657 - use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all" - - # disable submake with -j and default optimization flags - # in Makefile.system + # Disable submake with -j and default optimization flags in Makefile.system # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT... - export MAKE_NB_JOBS=-1 \ - COMMON_OPT=" " \ - FCOMMON_OPT=" " - - # Target CPU ARCH options - # generally detected automatically from cross toolchain - use dynamic && \ - export DYNAMIC_ARCH=1 \ - NO_AFFINITY=1 \ - TARGET=GENERIC - - export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \ - NUM_THREADS=${OPENBLAS_NTHREAD:-64} - - # setting OPENBLAS_TARGET to override auto detection - # in case the toolchain is not enough to detect + export MAKE_NB_JOBS=-1 COMMON_OPT=" " FCOMMON_OPT=" " + + # Target CPU ARCH options generally detected automatically from cross toolchain + # + # TODO: Rename USE=dynamic -> USE=cpudetection like dev-libs/gmp, media-video/ffmpeg? + # (may want to then restrict bindist w/ USE=-cpudetection.) + if use dynamic ; then + export DYNAMIC_ARCH=1 NO_AFFINITY=1 TARGET=GENERIC + fi + + export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} NUM_THREADS=${OPENBLAS_NTHREAD:-64} + + # Allow setting OPENBLAS_TARGET to override auto detection in case the + # toolchain is not enough to detect. # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then export TARGET="${OPENBLAS_TARGET}" fi export NO_STATIC=1 - - BUILD_RELAPACK=1 - if ! use relapack; then - BUILD_RELAPACK=0 - fi - - export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK -} - -src_prepare() { - default - - # Disable tests by default - sed -e "/^all ::/s/tests //" -i Makefile || die - - # if 64bit-index is needed, create second library - # with LIBPREFIX=libopenblas64 - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi + export BUILD_RELAPACK=$(usex relapack 1 0) + export PREFIX="${EPREFIX}/usr" } src_compile() { - default - cd interface || die - emake shared-blas-lapack + emake shared + + use eselect-ldso && emake -C interface shared-blas-lapack if use index-64bit; then - emake -C"${S}-index-64bit" \ - INTERFACE64=1 \ - LIBPREFIX=libopenblas64 + emake -C "${S}-index-64bit" \ + INTERFACE64=1 \ + LIBPREFIX=libopenblas64 shared fi } @@ -140,8 +136,8 @@ src_test() { src_install() { emake install DESTDIR="${D}" \ - OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \ - OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) + OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \ + OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) dodoc GotoBLAS_*.txt *.md Changelog.txt @@ -152,15 +148,15 @@ src_install() { if use eselect-ldso; then insinto /usr/$(get_libdir)/blas/openblas/ doins interface/libblas.so.3 - dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so + dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/openblas/libblas.so doins interface/libcblas.so.3 - dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so + dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/openblas/libcblas.so insinto /usr/$(get_libdir)/lapack/openblas/ doins interface/liblapack.so.3 - dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so + dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/openblas/liblapack.so doins interface/liblapacke.so.3 - dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so + dosym -r /usr/$(get_libdir)/liblapacke.so.3 /usr/$(get_libdir)/lapack/openblas/liblapacke.so fi } diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch b/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch new file mode 100644 index 000000000000..45aeb449ac73 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch @@ -0,0 +1,97 @@ +From 4351ac37b19bf43ff9a8f21e5126deb7f43f751e Mon Sep 17 00:00:00 2001 +From: Violet Purcell <vimproved@inventati.org> +Date: Tue, 11 Jul 2023 16:13:32 -0400 +Subject: [PATCH] Fix building with musl + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -554,6 +554,10 @@ OCCT_IS_PRODUCT_REQUIRED (CSF_EIGEN CAN_USE_EIGEN) + # define CSF variable + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf") + ++# Check for execinfo.h ++include(CheckIncludeFile) ++CHECK_INCLUDE_FILE("execinfo.h" HAS_EXECINFO_H) ++ + # Tcl (mandatory for Draw Harness) + if (USE_TCL) + message (STATUS "Info: TCL is used by OCCT") +--- a/src/OSD/OSD_MemInfo.cxx ++++ b/src/OSD/OSD_MemInfo.cxx +@@ -184,12 +184,16 @@ void OSD_MemInfo::Update() + #endif + #endif + ++ #if defined(__GLIBC__) + #ifdef HAS_MALLINFO2 + const struct mallinfo2 aMI = mallinfo2(); + #else + const struct mallinfo aMI = mallinfo(); + #endif + myCounters[MemHeapUsage] = aMI.uordblks; ++ #else ++ myCounters[MemHeapUsage] = 0; ++ #endif + } + + if (!IsActive (MemVirtual) +--- a/src/OSD/OSD_signal.cxx ++++ b/src/OSD/OSD_signal.cxx +@@ -758,7 +758,7 @@ typedef void (* SIG_PFV) (int); + + #include <signal.h> + +-#if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__) ++#if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__) && defined(__GLIBC__) + #include <sys/signal.h> + #endif + +@@ -974,7 +974,7 @@ static void SegvHandler(const int theSignal, + //======================================================================= + void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal) + { +-#if defined (__linux__) ++#if defined (__linux__) && defined(__GLIBC__) + feclearexcept (FE_ALL_EXCEPT); + if (theFloatingSignal) + { +@@ -1007,7 +1007,7 @@ void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal) + //======================================================================= + Standard_Boolean OSD::ToCatchFloatingSignals() + { +-#if defined (__linux__) ++#if defined (__linux__) && defined(__GLIBC__) + return (fegetexcept() & _OSD_FPX) != 0; + #else + return Standard_False; +--- a/src/Standard/Standard_StackTrace.cxx ++++ b/src/Standard/Standard_StackTrace.cxx +@@ -29,7 +29,7 @@ + //#include <unwind.h> + #elif defined(__QNX__) + //#include <backtrace.h> // requires linking to libbacktrace +-#elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) ++#elif defined (HAS_EXECINFO_H) + #include <execinfo.h> + #elif defined(_WIN32) && !defined(OCCT_UWP) + +@@ -313,7 +313,7 @@ Standard_Boolean Standard::StackTrace (char* theBuffer, + Message::SendTrace ("Standard::StackTrace() is not implemented for this CPU architecture"); + return false; + #endif +-#else ++#elif defined (HAS_EXECINFO_H) + const int aTopSkip = theNbTopSkip + 1; // skip this function call and specified extra number + int aNbTraces = theNbTraces + aTopSkip; + void** aStackArr = (void** )alloca (sizeof(void*) * aNbTraces); +@@ -360,5 +360,7 @@ Standard_Boolean Standard::StackTrace (char* theBuffer, + strcat (theBuffer, "\n============="); + } + return true; ++#else ++ return false; + #endif + } +-- +2.41.0 + diff --git a/sci-libs/opencascade/opencascade-7.6.3-r1.ebuild b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild index 82352ba3e3a2..0ea3c5736c42 100644 --- a/sci-libs/opencascade/opencascade-7.6.3-r1.ebuild +++ b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -69,6 +69,7 @@ PATCHES=( "${FILESDIR}"/${PN}-7.6.2-avoid-pre-stripping-binaries.patch "${FILESDIR}"/${PN}-7.5.3-tbb-2021.patch "${FILESDIR}"/${PN}-7.7.0-build-against-vtk-9.2.patch + "${FILESDIR}"/${PN}-7.7.0-musl.patch ) src_prepare() { diff --git a/sci-libs/opencascade/opencascade-7.7.0-r1.ebuild b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild index c22348558869..87f8035f70d2 100644 --- a/sci-libs/opencascade/opencascade-7.7.0-r1.ebuild +++ b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild @@ -49,6 +49,7 @@ RDEPEND=" " DEPEND=" ${RDEPEND} + x11-base/xorg-proto json? ( dev-libs/rapidjson ) vtk? ( dev-libs/utfcpp ) " @@ -64,6 +65,7 @@ PATCHES=( "${FILESDIR}"/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch "${FILESDIR}"/${PN}-7.7.0-avoid-pre-stripping-binaries.patch "${FILESDIR}"/${PN}-7.7.0-build-against-vtk-9.2.patch + "${FILESDIR}"/${PN}-7.7.0-musl.patch ) src_prepare() { diff --git a/sci-libs/openlibm/openlibm-0.8.0.ebuild b/sci-libs/openlibm/openlibm-0.8.0.ebuild index ba45cbd625fb..3d2362897851 100644 --- a/sci-libs/openlibm/openlibm-0.8.0.ebuild +++ b/sci-libs/openlibm/openlibm-0.8.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,6 +9,7 @@ DESCRIPTION="High quality system independent, open source libm" HOMEPAGE="https://github.com/JuliaLang/openlibm" SRC_URI="https://github.com/JuliaMath/openlibm/archive/v${PV}.tar.gz -> ${P}.tar.gz" +IUSE="static-libs" LICENSE="public-domain MIT ISC BSD-2 LGPL-2.1+" # See https://abi-laboratory.pro/index.php?view=timeline&l=openlibm SLOT="0/4" @@ -16,9 +17,10 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" src_prepare() { default - sed -e "/^OLM_LIBS :=/s/^/#/" \ - -e "/install: /s/install-static//" \ - -i Makefile || die + sed -e "/^OLM_LIBS :=/s/^/#/" -i Makefile || die + if ! use static-libs ; then + sed -e "/install: /s/install-static//" -i Makefile || die + fi } src_configure() { diff --git a/sci-libs/p4est/Manifest b/sci-libs/p4est/Manifest index 2a5552e304f3..ec900fcf2092 100644 --- a/sci-libs/p4est/Manifest +++ b/sci-libs/p4est/Manifest @@ -1 +1,3 @@ -DIST p4est-2.8.tar.gz 2655761 BLAKE2B 0637045bca3525d5d737010865c06d1273c6ecf848ab5ca55d1f19156550b7d7676c4f8d7c7a71b1fc70381dc7912cdca1e5405bb0af948180f75da1a3b1f343 SHA512 599faad177ce21f917e4ddfd969d6ef8c1f08b1e701cbdb9d4a1aa6dfd927176468afe757d018b9b7ded6a9ce165cd6fe78e0688b22cf6b9975cbd85d6f45d3c +DIST libsc-2.3.6.tar.gz 346618 BLAKE2B 6da88f1eec572a5d30ebef5e17554874e3d88d124fbbb7582092bd43a85a547f130a5406ffd40f86d564c95a3e600b2eb854ee0378b8e0c2d755a7d45d55ff1e SHA512 9037ebeebcf84d1dc3026172ee3fd3182729fbdbdadb478e8c05670b17bd3e2f3b192bac9a509bd99312c5f944a10fb7eb0636e8c7bd133b30677eb5ead6d117 +DIST p4est-2.3.6.tar.gz 2645384 BLAKE2B f6763e6a5b8b371eeead8a9d6481ea63e01ec5f13ea0dd9748aeaaec5551d39ac5d73f75f92275bfe61370e578ba1b1d0940c569e48fbd83997eaad4ab65b088 SHA512 99df91ee9d351cc889a532764096428e3f575c5f71199fca9f217c3dac5030a263308aa9c698476e7a12774d0751409f27e70ac2e9cd27847b2345b3f909b195 +DIST p4est-2.8.5.tar.gz 2721258 BLAKE2B 07fd70f5b7ce0d2dcdc0d913cd9ae7920272a0e459c7db7f9d180b592570a5232c7d2bd03547eec3333dcdc6fdc83adcce30c71eb9c44ab6e6b9b9a314707471 SHA512 22b5a9bbfb51e972f4b93a90f5fa0f9557770ccbe357044b5bb97b31d02783affef188cde38c86bb4ece31ba23ce47e4eb95a6e7c5f02d11549cf986e85f68a0 diff --git a/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch b/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch new file mode 100644 index 000000000000..a3209d5064fb --- /dev/null +++ b/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile.am b/Makefile.am +index e8b7e67..1817e37 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,7 +2,6 @@ + # This file is part of p4est. + # Makefile.am in toplevel directory + +-ACLOCAL_AMFLAGS = -I config @P4EST_SC_AMFLAGS@ + if P4EST_SC_MK_USE + @P4EST_SC_MK_INCLUDE@ + endif diff --git a/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch b/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch new file mode 100644 index 000000000000..40f032c109b7 --- /dev/null +++ b/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch @@ -0,0 +1,13 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index b30f0e3..2c636f9 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -82,7 +82,7 @@ src_libp4est_la_SOURCES = \ + src_libp4est_la_CPPFLAGS = $(AM_CPPFLAGS) $(P4EST_CPPFLAGS) + ## This is the official API versioning scheme of libtool. Please see: + ## Read https://www.gnu.org/software/libtool/manual/libtool.html#Versioning +-src_libp4est_la_LDFLAGS = -version-info 1:0:0 ++src_libp4est_la_LDFLAGS = -release $(VERSION) + src_libp4est_la_LIBADD = @P4EST_SC_LDADD@ + LDADD += src/libp4est.la @P4EST_SC_LDADD@ + EXTRA_src_libp4est_la_DEPENDENCIES = @P4EST_SC_LDADD@ diff --git a/sci-libs/p4est/files/p4est-2.8-set_version.patch b/sci-libs/p4est/files/p4est-2.8-set_version.patch deleted file mode 100644 index b24f265f496b..000000000000 --- a/sci-libs/p4est/files/p4est-2.8-set_version.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/cmake/git.cmake b/cmake/git.cmake -index dd6009e..7c5c8f3 100644 ---- a/cmake/git.cmake -+++ b/cmake/git.cmake -@@ -1,36 +1,3 @@ - # --- extract version from Git - --set(PROJECT_VERSION 0.0.0) --find_program(GIT_VERSION_GEN NAMES git-version-gen -- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) --if(GIT_VERSION_GEN) -- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball_version -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- RESULT_VARIABLE _err -- OUTPUT_VARIABLE git_version -- OUTPUT_STRIP_TRAILING_WHITESPACE) --endif() --if(_err EQUAL 0) -- if(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(PROJECT_VERSION ${_major}.${_minor}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(PROJECT_VERSION ${_major}) -- endif() --endif() -+set(PROJECT_VERSION 2.8.3) - -diff --git a/cmake/p4est_config.h.in b/cmake/p4est_config.h.in -index 72645dd..7560dcc 100644 ---- a/cmake/p4est_config.h.in -+++ b/cmake/p4est_config.h.in -@@ -135,7 +135,7 @@ - #define P4EST_PACKAGE_NAME "p4est" - - /* Define to the full name and version of this package. */ --#define P4EST_PACKAGE_STRING "p4est 2.0.94-00da" -+#define P4EST_PACKAGE_STRING "p4est 2.8.0" - - /* Define to the one symbol short name of this package. */ - #define P4EST_PACKAGE_TARNAME "p4est" -@@ -144,16 +144,16 @@ - #define P4EST_PACKAGE_URL "" - - /* Define to the version of this package. */ --#define P4EST_PACKAGE_VERSION "2.0.94-00da" -+#define P4EST_PACKAGE_VERSION "2.8.0" - - /* Version number of package */ --#define P4EST_VERSION "2.0.94-00da" -+#define P4EST_VERSION "2.8.0" - - /* Package major version */ - #define P4EST_VERSION_MAJOR 2 - - /* Package minor version */ --#define P4EST_VERSION_MINOR 0 -+#define P4EST_VERSION_MINOR 8 - - /* Package point version */ --#define P4EST_VERSION_POINT 94-00da -+#define P4EST_VERSION_POINT 0 diff --git a/sci-libs/p4est/files/p4est-2.8-fix_build_system.patch b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch index e1f86165d5f9..0063acf9c5c1 100644 --- a/sci-libs/p4est/files/p4est-2.8-fix_build_system.patch +++ b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3226f2e..8bc5074 100644 +index 78c02bf..d1b2094 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/ @@ -11,14 +11,14 @@ index 3226f2e..8bc5074 100644 include(CTest) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) -@@ -76,8 +78,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_BINARY_DIR}/include/ +@@ -68,8 +70,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_BINARY_DIR}/include/ install(TARGETS p4est - EXPORT ${PROJECT_NAME}Targets -- ARCHIVE DESTINATION lib -- LIBRARY DESTINATION lib) -+ ARCHIVE DESTINATION ${library_reldir} -+ LIBRARY DESTINATION ${library_reldir}) - - #--- p8est + EXPORT ${PROJECT_NAME}-targets +-ARCHIVE DESTINATION lib +-LIBRARY DESTINATION lib ++ARCHIVE DESTINATION ${library_reldir} ++LIBRARY DESTINATION ${library_reldir} + RUNTIME DESTINATION bin + ) diff --git a/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch b/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch new file mode 100644 index 000000000000..8202a4007ede --- /dev/null +++ b/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d1b2094..e5fe188 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -104,9 +104,8 @@ endif(BUILD_TESTING) + # --- packaging + + install(FILES +-${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindSC.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindP4EST.cmake +-DESTINATION cmake) ++DESTINATION ${library_reldir}/cmake/P4est) + + include(cmake/pkgconf.cmake) + include(cmake/install.cmake) +diff --git a/cmake/install.cmake b/cmake/install.cmake +index f4f92c4..0f31976 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -4,7 +4,7 @@ include(CMakePackageConfigHelpers) + + configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake +-INSTALL_DESTINATION cmake ++INSTALL_DESTINATION ${library_reldir}/cmake/P4est + ) + + write_basic_package_version_file( +@@ -14,13 +14,13 @@ COMPATIBILITY SameMajorVersion + + install(EXPORT ${PROJECT_NAME}-targets + NAMESPACE ${PROJECT_NAME}:: +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/P4est + ) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}ConfigVersion.cmake +-DESTINATION cmake ++DESTINATION ${library_reldir}/cmake/P4est + ) + + # --- CPack diff --git a/sci-libs/p4est/files/p4est-2.8.5-set_version.patch b/sci-libs/p4est/files/p4est-2.8.5-set_version.patch new file mode 100644 index 000000000000..061081a0da9e --- /dev/null +++ b/sci-libs/p4est/files/p4est-2.8.5-set_version.patch @@ -0,0 +1,49 @@ +diff --git a/cmake/git.cmake b/cmake/git.cmake +index f88e984..f04f52b 100644 +--- a/cmake/git.cmake ++++ b/cmake/git.cmake +@@ -1,39 +1,5 @@ +-# --- extract version from Git +- +-set(PROJECT_MAJOR 0) +-set(PROJECT_MINOR 0) +-set(PROJECT_PATCH 0) +-set(PROJECT_VERSION 0.0.0) +-find_program(GIT_VERSION_GEN NAMES git-version-gen +- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) +-if(GIT_VERSION_GEN) +- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball-version +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- RESULT_VARIABLE _err +- OUTPUT_VARIABLE git_version +- OUTPUT_STRIP_TRAILING_WHITESPACE) +-endif() +-if(_err EQUAL 0) +- if(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}.999) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_PATCH "${CMAKE_MATCH_3}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_MINOR "${CMAKE_MATCH_2}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}) +- elseif(git_version MATCHES +- "^(0|[1-9][0-9]*)") +- set(PROJECT_MAJOR "${CMAKE_MATCH_1}") +- set(PROJECT_VERSION ${PROJECT_MAJOR}) +- endif() +-endif() ++set(git_version 2.8.5) ++set(PROJECT_MAJOR 2) ++set(PROJECT_MINOR 8) ++set(PROJECT_PATCH 5) ++set(PROJECT_VERSION 2.8.5) diff --git a/sci-libs/p4est/files/p4est-9999-set_version.patch b/sci-libs/p4est/files/p4est-9999-set_version.patch deleted file mode 100644 index 0820b001d8cd..000000000000 --- a/sci-libs/p4est/files/p4est-9999-set_version.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/cmake/git.cmake b/cmake/git.cmake -index dd6009e..7c5c8f3 100644 ---- a/cmake/git.cmake -+++ b/cmake/git.cmake -@@ -1,36 +1,3 @@ - # --- extract version from Git - --set(PROJECT_VERSION 0.0.0) --find_program(GIT_VERSION_GEN NAMES git-version-gen -- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH) --if(GIT_VERSION_GEN) -- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball_version -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- RESULT_VARIABLE _err -- OUTPUT_VARIABLE git_version -- OUTPUT_STRIP_TRAILING_WHITESPACE) --endif() --if(_err EQUAL 0) -- if(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}.999) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(_patch "${CMAKE_MATCH_3}") -- set(PROJECT_VERSION ${_major}.${_minor}.${_patch}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(_minor "${CMAKE_MATCH_2}") -- set(PROJECT_VERSION ${_major}.${_minor}) -- elseif(git_version MATCHES -- "^(0|[1-9][0-9]*)") -- set(_major "${CMAKE_MATCH_1}") -- set(PROJECT_VERSION ${_major}) -- endif() --endif() -+set(PROJECT_VERSION 9999.0.0) - - diff --git a/sci-libs/p4est/metadata.xml b/sci-libs/p4est/metadata.xml index f29f22e517cb..c58dd131de04 100644 --- a/sci-libs/p4est/metadata.xml +++ b/sci-libs/p4est/metadata.xml @@ -17,6 +17,7 @@ processor cores. </longdescription> <use> <flag name="vtk-binary">Enable binary vtk output. If disabled vtk files will be written in ASCII text format.</flag> + <flag name="romio">Build with support for the ROMIO MPI-IO component</flag> </use> <upstream> <remote-id type="github">cburstedde/libsc</remote-id> diff --git a/sci-libs/p4est/p4est-2.3.6.ebuild b/sci-libs/p4est/p4est-2.3.6.ebuild new file mode 100644 index 000000000000..27b596c41c15 --- /dev/null +++ b/sci-libs/p4est/p4est-2.3.6.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..3} ) + +inherit autotools flag-o-matic lua-single toolchain-funcs + +DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees" +HOMEPAGE="http://www.p4est.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI=" + https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2+" +SLOT="0" + +# TODO petsc +IUSE="debug doc examples mpi openmp romio threads +vtk-binary" +REQUIRED_USE="${LUA_REQUIRED_USE} + romio? ( mpi )" + +RDEPEND="${LUA_DEPS} + ~sci-libs/libsc-${PV}[${LUA_SINGLE_USEDEP},mpi=,openmp=,romio=,threads=] + sys-apps/util-linux + virtual/blas + virtual/lapack + mpi? ( virtual/mpi[romio=] )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.3-fix_aclocal.patch + "${FILESDIR}"/${PN}-2.3.6-override_soname.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + lua-single_pkg_setup +} + +src_prepare() { + default + + # Inject libsc to get all parts of the build system... + if ! [[ ${PV} = *9999* ]]; then + rmdir "${S}/sc" || die "rmdir failed" + mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed" + fi + + # Inject a version number into the build system + echo "${PV}" > "${S}"/.tarball-version + + AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config" + eautoreconf + + sed -i \ + "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \ + "${S}"/configure || die "sed failed" + + sed -i \ + "s#lib/libsc\.la#$(get_libdir)/libsc\.so#" \ + "${S}"/configure || die "sed failed" +} + +src_configure() { + # avoid underlinkage + append-libs -lsc + + local myeconfargs=( + --disable-static + $(use_enable debug) + $(use_enable mpi) + $(use_enable openmp) + $(use_enable romio mpiio) + $(use_enable threads pthread) + $(use_enable vtk-binary) + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" + --with-sc="${ESYSROOT}/usr" + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + use doc && dodoc -r doc/* + + if use examples + then + docinto examples + dodoc -r example/* + docompress -x /usr/share/doc/${PF}/examples + else + # Remove compiled example binaries in case of -examples: + rm -r "${ED}"/usr/bin || die "rm failed" + fi + + # Fix wrong installation paths: + dodir /usr/share/p4est + mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed" + mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed" + rmdir "${ED}"/etc/ || die "rmdir failed" + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sci-libs/p4est/p4est-2.8-r1.ebuild b/sci-libs/p4est/p4est-2.8.5-r3.ebuild index 10b3de8b3e22..253f6ee31911 100644 --- a/sci-libs/p4est/p4est-2.8-r1.ebuild +++ b/sci-libs/p4est/p4est-2.8.5-r3.ebuild @@ -1,14 +1,14 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake toolchain-funcs DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees" HOMEPAGE="http://www.p4est.org/" -LIBSC_VERSION="2.8.3" +LIBSC_VERSION="${PV}" if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -38,10 +38,9 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${P}-fix_build_system.patch "${FILESDIR}"/${P}-set_version.patch + "${FILESDIR}"/${P}-fix_cmake_path.patch ) -S="${WORKDIR}/${PN}-2.8" - pkg_pretend() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } @@ -51,6 +50,10 @@ pkg_setup() { } src_configure() { + # avoid using debug codepaths that are manually enabled with the + # RelWithDebInfo build type + local CMAKE_BUILD_TYPE="Release" + local mycmakeargs=( -Dmpi="$(usex mpi)" -Dopenmp="$(usex openmp)" @@ -63,8 +66,9 @@ src_configure() { src_install() { cmake_src_install - rm "${ED}"/usr/lib/cmake/Modules/FindSC.cmake || die "rm failed" - mkdir -p "${ED}"/usr/share/doc/${P} - mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${P}/ || die "mv failed" + [ ! "$(get_libdir)" = "lib" ] && mv "${ED}"/usr/{lib,$(get_libdir)}/pkgconfig || die "mv failed" + + mkdir -p "${ED}"/usr/share/doc/${PF} + mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed" rm -r "${ED}"/usr/share/docs || die "rm failed" } diff --git a/sci-libs/p4est/p4est-9999.ebuild b/sci-libs/p4est/p4est-9999.ebuild deleted file mode 100644 index 41605b7be0f7..000000000000 --- a/sci-libs/p4est/p4est-9999.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake toolchain-funcs - -DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees" -HOMEPAGE="http://www.p4est.org/" - -LIBSC_VERSION="2.8.3" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="GPL-2+" -SLOT="0" - -# TODO petsc -IUSE="debug doc examples mpi openmp threads +vtk-binary" - -RDEPEND=" - ~sci-libs/libsc-${LIBSC_VERSION}[mpi=,openmp=,threads=] - sys-apps/util-linux - virtual/blas - virtual/lapack - mpi? ( virtual/mpi[romio] )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-2.8-fix_build_system.patch - "${FILESDIR}"/${P}-set_version.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -src_configure() { - local mycmakeargs=( - -Dmpi="$(usex mpi)" - -Dopenmp="$(usex openmp)" - -Dlibrary_reldir="$(get_libdir)" - ) - - cmake_src_configure -} - -src_install() { - cmake_src_install - - rm "${ED}"/usr/lib/cmake/Modules/FindSC.cmake || die "rm failed" - mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${P}/ || die "mv failed" - rm -r "${ED}"/usr/share/docs || die "rm failed" -} diff --git a/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild index e1d14fde942f..48a2e554f84a 100644 --- a/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild +++ b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/ParMETIS-${COMMIT}" LICENSE="all-rights-reserved" SLOT="0" -KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86 ~amd64-linux" IUSE="examples openmp pcre" RESTRICT="mirror bindist" diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest index 782cbdef89d3..114740b9cb03 100644 --- a/sci-libs/plplot/Manifest +++ b/sci-libs/plplot/Manifest @@ -1 +1,2 @@ DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8 +DIST plplot_5.15.0+dfsg2-6.debian.tar.xz 73416 BLAKE2B 2f0a9be0aea6d77b2c538f53a509636a6edca59eb930b7885da7ba915a0324d3cbe0e4b0ffe33a2a552ec7b8b679931e9eaa3e4810372b05ac3c0901ea9c6ee9 SHA512 0d64352eb08cb5bb003e8eac11c73533f6ecd08ad542cce002474d20ba4a899fd54b77f96b5e53656b551180fa693da820e7c40b18d6d43e20ea2c7377c36c69 diff --git a/sci-libs/plplot/plplot-5.15.0_p6.ebuild b/sci-libs/plplot/plplot-5.15.0_p6.ebuild new file mode 100644 index 000000000000..7608ead0153c --- /dev/null +++ b/sci-libs/plplot/plplot-5.15.0_p6.ebuild @@ -0,0 +1,296 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER=3.2-gtk3 +FORTRAN_NEEDED=fortran +LUA_COMPAT=( lua5-1 ) +PYTHON_COMPAT=( python3_{9..11} ) +# fails with ninja, due to USE=java missing swig output dependencies +CMAKE_MAKEFILE_GENERATOR=emake + +inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 lua-single python-single-r1 virtualx wxwidgets + +DESCRIPTION="Multi-language scientific plotting library" +HOMEPAGE="https://plplot.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P/_p*}.tar.gz + mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}+dfsg2-${PV/*_p}.debian.tar.xz" +S="${WORKDIR}/${P/_p*}" + +LICENSE="LGPL-2" +SLOT="0/14" # SONAME of libplplot.so +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + +IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf + png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + qt5? ( dynamic ) + test? ( latex ) + tk? ( tcl ) +" + +RESTRICT=" + !test? ( test ) + octave? ( test ) +" + +RDEPEND=" + cairo? ( x11-libs/cairo:0=[svg(+)?,X] ) + gd? ( media-libs/gd:2=[jpeg?,png?] ) + java? ( >=virtual/jre-1.8:* ) + latex? ( + app-text/ghostscript-gpl + virtual/latex-base + ) + lua? ( ${LUA_DEPS} ) + ocaml? ( + dev-lang/ocaml:= + dev-ml/camlidl:= + ) + octave? ( sci-mathematics/octave:0= ) + pdf? ( media-libs/libharu:0= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] ) + ') + ) + qhull? ( media-libs/qhull:0= ) + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtprintsupport:5 + ) + shapefile? ( sci-libs/shapelib:0= ) + tcl? ( + dev-lang/tcl:0= + dev-tcltk/itcl:0= + tk? ( + dev-lang/tk:0= + dev-tcltk/itk + ) + ) + truetype? ( + media-fonts/freefont + media-libs/lasi:0= + gd? ( media-libs/gd:2=[truetype] ) + ) + wxwidgets? ( + x11-libs/wxGTK:${WX_GTK_VER}=[X] + x11-libs/agg:0=[truetype?] + ) + X? ( + x11-libs/libX11:0= + x11-libs/libXau:0= + x11-libs/libXdmcp:0= + )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + java? ( + >=virtual/jdk-1.8:* + dev-lang/swig + ) + lua? ( dev-lang/swig ) + ocaml? ( dev-ml/findlib ) + octave? ( >=dev-lang/swig-3.0.12 ) + python? ( dev-lang/swig ) + test? ( + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + ) +" + +pkg_setup() { + use python && python-single-r1_pkg_setup + use lua && lua-single_pkg_setup + use java && java-pkg-opt-2_pkg_setup + use fortran && fortran-2_pkg_setup +} + +src_prepare() { + use wxwidgets && setup-wxwidgets + cmake_src_prepare + + # Debian patches + for p in $(<"${WORKDIR}"/debian/patches/series) ; do + eapply -p1 "${WORKDIR}/debian/patches/${p}" + done + + # avoid installing license + sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die + + # prexify hard-coded /usr/include in cmake modules + sed -i \ + -e "s:/usr/include:${EPREFIX}/usr/include:g" \ + -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \ + -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + cmake/modules/*.cmake || die + + # change default install directories for doc and examples + local f + while IFS="" read -d $'\0' -r f; do + sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die + done < <(find "${S}" -name CMakeLists.txt -print0) + + sed -i \ + -e 's:${VERSION}::g' \ + -e "s:doc/\${PACKAGE}:doc/${PF}:" \ + cmake/modules/instdirs.cmake || die + + java-utils-2_src_prepare +} + +src_configure() { + # - don't build doc, it pulls in a whole stack of horrible dependencies + # - Bindings: + # * Ada is a mess in Gentoo, don't use + # * D has been removed from Gentoo, don't use + # * Qt4 has been disabled, as it is deprecated and unsupported upstream + # - DPLD_* drivers need to use ON/OFF instead of the usex defaults yes/no, as + # the testsuite performs a string comparison to determine which tests to run + + # Octave bindings now require C++11 support, #609980 + append-cxxflags -std=c++11 + + local mycmakeargs=( + # The build system does not honour CMAKE_INSTALL_LIBDIR as a + # relative dir, which is against the spirit of GNUInstallDirs, #610066 + -DCMAKE_INSTALL_LIBDIR="${EPREFIX}"/usr/$(get_libdir) + + ## Features + -DBUILD_DOC=OFF + -DBUILD_DOX_DOC=OFF + -DUSE_RPATH=OFF + -DPREBUILT_DOC=$(usex doc) + -DHAVE_SHAPELIB=$(usex shapefile) + -DWITH_FREETYPE=$(usex truetype) + -DPL_HAVE_PTHREAD=$(usex threads) + -DPL_HAVE_QHULL=$(usex qhull) + -DPLPLOT_USE_QT5=$(usex qt5) + + ## Tests + -DBUILD_TEST=$(usex test) + + ## Bindings + -DENABLE_ada=OFF + -DENABLE_d=OFF + -DENABLE_ocaml=$(usex ocaml) + -DENABLE_pyqt4=OFF + -DENABLE_cxx=$(usex cxx) + -DENABLE_DYNDRIVERS=$(usex dynamic) + -DENABLE_fortran=$(usex fortran) + -DENABLE_java=$(usex java) + -DENABLE_lua=$(usex lua) + -DENABLE_octave=$(usex octave) + -DENABLE_python=$(usex python) + -DENABLE_qt=$(usex qt5) + -DENABLE_tcl=$(usex tcl) + -DENABLE_itcl=$(usex tcl) + -DENABLE_tk=$(usex tk) + -DENABLE_itk=$(usex tk) + -DENABLE_wxwidgets=$(usex wxwidgets) + + ## Drivers + -DPLD_cgm=OFF + -DPLD_gif=OFF + -DPLD_jpeg=OFF + -DPLD_plmeta=OFF + -DPLD_png=OFF + -DPLD_pstex=OFF + -DPLD_wxpng=OFF + -DPLD_mem=ON + -DPLD_null=ON + -DPLD_wingcc=ON + # Cairo + $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON") + -DPLD_epscairo=$(usex cairo ON OFF) + -DPLD_extcairo=$(usex cairo ON OFF) + -DPLD_memcairo=$(usex cairo ON OFF) + -DPLD_pdfcairo=$(usex cairo ON OFF) + -DPLD_pngcairo=$(usex cairo ON OFF) + -DPLD_pscairo=$(usex cairo ON OFF) + -DPLD_svgcairo=$(usex cairo ON OFF) + -DPLD_xcairo=$(usex cairo ON OFF) + # LaTeX + -DPLD_ps=$(usex latex ON OFF) + # PDF + -DPLD_pdf=$(usex pdf ON OFF) + # Qt + -DPLD_aqt=$(usex qt5 ON OFF) + -DPLD_bmpqt=$(usex qt5 ON OFF) + -DPLD_epsqt=$(usex qt5 ON OFF) + -DPLD_extqt=$(usex qt5 ON OFF) + -DPLD_jpgqt=$(usex qt5 ON OFF) + -DPLD_memqt=$(usex qt5 ON OFF) + -DPLD_pdfqt=$(usex qt5 ON OFF) + -DPLD_pngqt=$(usex qt5 ON OFF) + -DPLD_ppmqt=$(usex qt5 ON OFF) + -DPLD_qtwidget=$(usex qt5 ON OFF) + -DPLD_svgqt=$(usex qt5 ON OFF) + -DPLD_tiffqt=$(usex qt5 ON OFF) + # SVG + -DPLD_svg=$(usex svg ON OFF) + # Tk + -DPLD_ntk=$(usex tk ON OFF) + -DPLD_tk=$(usex tk ON OFF) + -DPLD_tkwin=$(usex tk ON OFF) + # Truetype + -DPLD_psttf=$(usex truetype ON OFF) + # Wx + -DPLD_wxwidgets=$(usex wxwidgets ON OFF) + # X + -DPLD_xfig=$(usex X ON OFF) + -DPLD_xwin=$(usex X ON OFF) + ) + + use truetype && mycmakeargs+=( + -DPL_FREETYPE_FONT_PATH="${EPREFIX}"/usr/share/fonts/freefont + ) + use shapefile && mycmakeargs+=( + -DSHAPELIB_INCLUDE_DIR="${EPREFIX}"/usr/include/libshp + ) + use lua && mycmakeargs+=( + -DREQUIRED_LUA_VERSION=$(lua_get_version) + ) + use ocaml && mycmakeargs+=( + -DOCAML_INSTALL_DIR="$(ocamlc -where)" + ) + use python && mycmakeargs+=( + -DENABLE_pyqt5=$(usex qt5) + ) + + cmake_src_configure + + # clean up bloated pkg-config files (help linking properly on prefix) + sed -i \ + -e "/Cflags/s:-I\(${EPREFIX}\|\)/usr/include[[:space:]]::g" \ + -e "/Libs/s:-L\(${EPREFIX}\|\)/usr/lib\(64\|\)[[:space:]]::g" \ + -e "s:${LDFLAGS}::g" \ + "${BUILD_DIR}"/pkgcfg/*pc || die +} + +src_test() { + virtx cmake_src_test +} + +src_install() { + cmake_src_install + + if use examples; then + docompress -x /usr/share/doc/${PF}/examples + else + rm -r "${ED}"/usr/share/doc/${PF}/examples || die + fi + + use python && python_optimize + + if use java; then + java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar + java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/libplplotjavac_wrap.so + fi +} diff --git a/sci-libs/primegen/files/primegen-0.97-main-rettype.patch b/sci-libs/primegen/files/primegen-0.97-main-rettype.patch new file mode 100644 index 000000000000..660dc193ab2b --- /dev/null +++ b/sci-libs/primegen/files/primegen-0.97-main-rettype.patch @@ -0,0 +1,13 @@ +Adding return type to main function +Bug: https://bugs.gentoo.org/898288 +--- a/eratspeed.c ++++ b/eratspeed.c +@@ -402,7 +402,7 @@ void countit() + timing t; + timing told; + +-main() ++int main() + { + int L = 1; + diff --git a/sci-libs/primegen/primegen-0.97-r3.ebuild b/sci-libs/primegen/primegen-0.97-r3.ebuild new file mode 100644 index 000000000000..5ee9dfed93fb --- /dev/null +++ b/sci-libs/primegen/primegen-0.97-r3.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Small, fast library to generate primes in order" +HOMEPAGE="https://cr.yp.to/primegen.html" +SRC_URI="https://cr.yp.to/primegen/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" + +PATCHES=( + "${FILESDIR}"/${P}-man.patch + "${FILESDIR}"/${P}-missing-headers.patch + "${FILESDIR}"/${P}-respect-ar-ranlib.patch + "${FILESDIR}"/${PN}-0.97-main-rettype.patch +) + +src_prepare() { + default + + local file + while IFS="" read -d $'\0' -r file; do + sed -i -e 's:\(primegen.a\):lib\1:' "${file}" || die + done < <(find . -type f -print0) + mkdir usr || die +} + +src_configure() { + # Fixes bug #161015 + append-flags -fsigned-char + echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS}" > conf-cc || die + echo "${S}/usr" > conf-home || die + echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die + tc-export AR RANLIB +} + +src_test() { + [[ $(./primes 1 100000000 | md5sum ) == "4e2b0027288a27e9c99699364877c9db "* ]] || die "test failed" +} + +src_install() { + dobin primegaps primes primespeed + doman primegaps.1 primes.1 primespeed.1 primegen.3 + dolib.a libprimegen.a + # include the 2 typedefs to avoid collision (bug #248327) + sed -i \ + -e "s/#include \"uint32.h\"/$(grep typedef uint32.h)/" \ + -e "s/#include \"uint64.h\"/$(grep typedef uint64.h)/" \ + primegen.h || die + + doheader primegen.h + dodoc BLURB CHANGES README TODO +} diff --git a/sci-libs/proj/Manifest b/sci-libs/proj/Manifest index 12b085cd9ca8..0fb70532f15f 100644 --- a/sci-libs/proj/Manifest +++ b/sci-libs/proj/Manifest @@ -1,5 +1,4 @@ -DIST proj-9.1.1.tar.gz 5311995 BLAKE2B d51652f649ac97f419740e30facd86b04ee0872197d235aecc9d8fd50c18340bc7969a4a78c33f28753fc8b5556e7e8bdc47e0b6a9d9971e214575481cf25c0b SHA512 b9d19a999e063e465579eb86da3fd2aa32fd894f0d15ba178733bcbad92246b3b3ea1811a276cd556874e171a5ba7cfd678ce563c0b8626c6db9349a64c04726 -DIST proj-9.2.0.tar.gz 5521397 BLAKE2B e3793c619b662a22c1e63d38885dae012256d798f7acde4e29f2021502c45b32eff1e0025c2418b8eea38c30ed15b6baba375ca52b07f3d416aae53e5bfaef1e SHA512 b9c5c72ba2ff1ab4b3c34ab43da411613d27e5206d38c734909fd7a8ab84a113f25a85633c1da1d35af5de22534e3d82f5a66edae52547d3016b51c3bf53f771 DIST proj-9.2.1.tar.gz 5536575 BLAKE2B e08dc370cfac2c6358e1b28e44f3893c75e07fd64a4235041edf836885d31af33605673486edb122cec8aa13a2c564156c429a68e5045de52d8ea970d2e440f1 SHA512 5640e9bd4ea24a0e0b1521c90b8f709b64b9ee357190aaf08af0cff5df68ae93bdfb27211bde5c50340b067fc218b4f2aa8fb998ed2852ebeb2c2ad0ac4629ef -DIST proj-data-1.12.tar.gz 611423889 BLAKE2B 5376f041aae1a23668a0cae79f4deadff29aad80a1187f837cd5c62c21dc49738fc598c52825f5d8575cd135b55c188d9456b5da72adc6a507fa778f0cad6596 SHA512 788d7c3ad70dd7aab21824ff189dd0cddc28b7e64999f6a9953d7af95f9fabab7143b0f1c3bed19d5deb8f3e3a7be62723fc5fda778fcaefab0ab6d449db5def +DIST proj-9.3.0.tar.gz 5559825 BLAKE2B 83916294411a35094a2dbc89b1f219eff9b9baa4df6322a51a1965979044a36b4f1b75a99ea96fed8f59937ac000337a3e2e8ad4d9e1ef2ae929ccb7e06654b0 SHA512 1a79a7eaab0859cf615141723b68d6dd7b88390c3e590df12ec0d4c58ba69574863e5892d8108818dbc7e8abbf0b6372496228c02411d506b7169f732ff5cd57 DIST proj-data-1.13.tar.gz 709788173 BLAKE2B 33a487f327d2b35acfd6c7c12286bcd6e338c3459540482f968ef7038d78cea9d1519d89ba979f493e007fa961e0eb955889bf2348a235705ec3b71abf1e31c1 SHA512 14eca1b47dad913de608babc73708a35da8bb614c5374e990564a32549998a16e90d4c548f2dac0cd555fc8a4a645eeaf649db929cc38906bee1050e378a662e +DIST proj-data-1.15.tar.gz 727387470 BLAKE2B 03d5b69214e23741ae214ff18f523542247fdca5c301891616be6b79c8a916bf762d0a7ee3983cee62236bc0d4d1b5fc93151164b134db220d4582b15a84e8d7 SHA512 4007c639d5c9f0422652315e8d69527eb39e3d045cef3537361e16c61c9aae76d69e3eb7efefead04793350b8502114eec740efe970f25fbbee2db449b2e3694 diff --git a/sci-libs/proj/proj-9.1.1-r1.ebuild b/sci-libs/proj/proj-9.1.1-r1.ebuild deleted file mode 100644 index fa1a13f83779..000000000000 --- a/sci-libs/proj/proj-9.1.1-r1.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -# Check https://proj.org/download.html for latest data tarball -PROJ_DATA="proj-data-1.12.tar.gz" -DESCRIPTION="PROJ coordinate transformation software" -HOMEPAGE="https://proj.org/" -SRC_URI="https://download.osgeo.org/proj/${P}.tar.gz - https://download.osgeo.org/proj/${PROJ_DATA}" - -LICENSE="MIT" -# Changes on every major release -SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="curl test +tiff" - -RESTRICT="!test? ( test )" - -RDEPEND="dev-db/sqlite:3 - curl? ( net-misc/curl ) - tiff? ( media-libs/tiff:= )" -DEPEND="${RDEPEND} - test? ( dev-cpp/gtest )" - -src_unpack() { - unpack ${P}.tar.gz - - cd "${S}"/data || die - mv README README.DATA || die - - unpack ${PROJ_DATA} -} - -src_configure() { - local mycmakeargs=( - -DBUILD_TESTING=$(usex test) - -DBUILD_PROJSYNC=$(usex curl) - -DENABLE_CURL=$(usex curl) - -DENABLE_TIFF=$(usex tiff) - ) - - use test && mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) - - cmake_src_configure -} - -src_test() { - local myctestargs=( - # proj_test_cpp_api: https://lists.osgeo.org/pipermail/proj/2019-September/008836.html - # testprojinfo: Also related to map data? - -E "(proj_test_cpp_api|testprojinfo)" - ) - - cmake_src_test -} - -src_install() { - cmake_src_install - - cd data || die - dodoc README.DATA - - find "${ED}" -name '*.la' -type f -delete || die -} diff --git a/sci-libs/proj/proj-9.2.1.ebuild b/sci-libs/proj/proj-9.2.1.ebuild index 816fcfaec6bf..ac5e5df3f04d 100644 --- a/sci-libs/proj/proj-9.2.1.ebuild +++ b/sci-libs/proj/proj-9.2.1.ebuild @@ -17,7 +17,7 @@ SRC_URI=" LICENSE="MIT" # Changes on every major release SLOT="0/$(ver_cut 1)" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="curl test +tiff" RESTRICT="!test? ( test )" diff --git a/sci-libs/proj/proj-9.2.0.ebuild b/sci-libs/proj/proj-9.3.0.ebuild index 816fcfaec6bf..d161662887a4 100644 --- a/sci-libs/proj/proj-9.2.0.ebuild +++ b/sci-libs/proj/proj-9.3.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 inherit cmake # Check https://proj.org/download.html for latest data tarball -PROJ_DATA="proj-data-1.13.tar.gz" +PROJ_DATA="proj-data-1.15.tar.gz" DESCRIPTION="PROJ coordinate transformation software" HOMEPAGE="https://proj.org/" SRC_URI=" diff --git a/sci-libs/pyshp/pyshp-2.3.1-r1.ebuild b/sci-libs/pyshp/pyshp-2.3.1-r1.ebuild new file mode 100644 index 000000000000..813c53e427ef --- /dev/null +++ b/sci-libs/pyshp/pyshp-2.3.1-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{9..11} ) + +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 + +DESCRIPTION="Pure Python read/write support for ESRI Shapefile format" +HOMEPAGE="https://pypi.org/project/pyshp/" +# pypi tarballs are missing test data +#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" +SRC_URI="https://github.com/GeospatialPython/${PN}/archive/${PV}.tar.gz -> ${P}..gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( dev-python/pytest[${PYTHON_USEDEP}] )" + +python_test() { + epytest test_shapefile.py -m "not network" || die +} diff --git a/sci-libs/pytorch/pytorch-2.0.1.ebuild b/sci-libs/pytorch/pytorch-2.0.1-r1.ebuild index b778dcb357c3..11f7d447a1e1 100644 --- a/sci-libs/pytorch/pytorch-2.0.1.ebuild +++ b/sci-libs/pytorch/pytorch-2.0.1-r1.ebuild @@ -7,7 +7,7 @@ DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{9..11} ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_EXT=1 -inherit distutils-r1 +inherit distutils-r1 prefix DESCRIPTION="Tensors and Dynamic neural networks in Python" HOMEPAGE="https://pytorch.org/" @@ -49,6 +49,8 @@ src_prepare() { tools/setup_helpers/env.py \ || die distutils-r1_src_prepare + + hprefixify tools/setup_helpers/env.py } src_compile() { diff --git a/sci-libs/rocBLAS/Manifest b/sci-libs/rocBLAS/Manifest index e067ceef0a6c..f17d3a47c686 100644 --- a/sci-libs/rocBLAS/Manifest +++ b/sci-libs/rocBLAS/Manifest @@ -2,3 +2,4 @@ DIST rocBLAS-5.0.2-Tensile-asm_full-navi22.tar.gz 1110323 BLAKE2B 80fab97c6f89fc DIST rocBLAS-5.4.2-Tensile-asm_full-navi22.tar.gz 1057686 BLAKE2B aa755595bbcd48775713f1d94c18b9bfa6464cae97653dd5beda9e4ed600802b62c4159e6edef7fbd4c92e629bbda1c284e6c48e096c7eaf22bbaad86bdcdace SHA512 cdc928528e7ce5bcc3ae32ec18e3aee48533f24e77c1e42f6e0398858eefebd52b8812caabe01a0ef7fa552e00118b862e025f1675a9642b009f1e38efbcdd53 DIST rocm-rocBLAS-5.1.3.tar.gz 13741546 BLAKE2B af10d8cb69bee44ef5aab2dc350e1d9f3b6fddb3a840c17230c4b55b2649a4724c9f2e58c1eafdb3e2716eea016a72a35c3ddb498881b1ce682d780baa8d8b07 SHA512 5ab71838fdd0e9c5848cbf28a19d113353b619a878d8c7d05f64feb32faae2054169c95ed6e9dd6b05a2e807b57229dd2c361c4d289b6e6f17c196558640890f DIST rocm-rocBLAS-5.4.2.tar.gz 15938434 BLAKE2B 14ebafa944fdac443800bb7f9b16f8ecf0f420b168d3c6534f68ad7d14bf058a4cc1673fce8f4b9be53e4a6c1cf05011e01853cd901bce0b59827d2aca4d029f SHA512 e62bb80457c1e89454885499bdce9d60beecd706806724418983c78c65c2ae303550f9670b5a6e71dae6a61c0e42b223ab01b36b8406430731ebcbff54c4a8f4 +DIST rocm-rocBLAS-5.7.1.tar.gz 55389700 BLAKE2B 9e58b1d29c8a04aa58ce17fdd9b0c2504934261851619dc5b696a04e8c6a79e7c44d86a6db7a9c76a434d76593de8c191cba6f163cf398d01cfc001e5fa32b5a SHA512 cfc73f6c490595a3c153c2ac2a3cb5926c48c2c19baa07ff3dcdf3a7ccaed82cfdff64ed5a3be64c349cb43d654d4b104d9090e2ec9f2061049d6a4921c07722 diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch new file mode 100644 index 000000000000..c5c5d4750393 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch @@ -0,0 +1,132 @@ +Allow rocBLAS to load the compatible kernels when running on +architectures compatible with those ISAs. + +Based on patch from Cordell Bloor <cgmb@slerp.xyz> +https://salsa.debian.org/rocm-team/rocblas/-/blob/master/debian/patches/0012-expand-isa-compatibility.patch + +--- a/library/src/handle.cpp ++++ b/library/src/handle.cpp +@@ -21,6 +21,7 @@ + * ************************************************************************ */ + #include "handle.hpp" + #include <cstdarg> ++#include <cstring> + #include <limits> + #ifdef WIN32 + #include <windows.h> +@@ -77,6 +78,31 @@ static inline int getActiveArch(int deviceId) + { + hipDeviceProp_t deviceProperties; + hipGetDeviceProperties(&deviceProperties, deviceId); ++ // coerce to compatible arch ++ switch(deviceProperties.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ deviceProperties.gcnArch = 900; ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ deviceProperties.gcnArch = 1010; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ deviceProperties.gcnArch = 1030; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + return deviceProperties.gcnArch; + } + +--- a/library/src/rocblas_auxiliary.cpp ++++ b/library/src/rocblas_auxiliary.cpp +@@ -24,6 +24,7 @@ + #include "logging.hpp" + #include "rocblas-auxiliary.h" + #include <cctype> ++#include <cstring> + #include <cstdlib> + #include <memory> + #include <string> +@@ -1285,6 +1286,31 @@ std::string rocblas_internal_get_arch_name() + hipGetDevice(&deviceId); + hipDeviceProp_t deviceProperties; + hipGetDeviceProperties(&deviceProperties, deviceId); ++ // coerce to compatible arch ++ switch(deviceProperties.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ deviceProperties.gcnArch = 900; ++ std::strcpy(deviceProperties.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ deviceProperties.gcnArch = 1010; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ deviceProperties.gcnArch = 1030; ++ std::strcpy(deviceProperties.gcnArchName, "gfx1030"); ++ break; ++ } + return ArchName<hipDeviceProp_t>{}(deviceProperties); + } + +--- a/library/src/tensile_host.cpp ++++ b/library/src/tensile_host.cpp +@@ -45,6 +45,7 @@ extern "C" void rocblas_shutdown(); + #include <Tensile/hip/HipUtils.hpp> + #include <atomic> + #include <complex> ++#include <cstring> + #include <exception> + #include <future> + #include <iomanip> +@@ -837,6 +838,31 @@ namespace + + hipDeviceProp_t prop; + HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId)); ++ // coerce to compatible arch ++ switch(prop.gcnArch) ++ { ++ case 902: ++ case 909: ++ case 912: ++ prop.gcnArch = 900; ++ std::strcpy(prop.gcnArchName, "gfx900"); ++ break; ++ case 1011: ++ case 1012: ++ case 1013: ++ prop.gcnArch = 1010; ++ std::strcpy(prop.gcnArchName, "gfx1010"); ++ break; ++ case 1031: ++ case 1032: ++ case 1033: ++ case 1034: ++ case 1035: ++ case 1036: ++ prop.gcnArch = 1030; ++ std::strcpy(prop.gcnArchName, "gfx1030"); ++ break; ++ } + + m_deviceProp = std::make_shared<hipDeviceProp_t>(prop); + diff --git a/sci-libs/rocBLAS/rocBLAS-5.1.3-r3.ebuild b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild index 7027067623c7..94c7e5177af0 100644 --- a/sci-libs/rocBLAS/rocBLAS-5.1.3-r3.ebuild +++ b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild @@ -23,7 +23,7 @@ REQUIRED_USE="${ROCM_REQUIRED_USE}" RESTRICT="!test? ( test )" BDEPEND=" - dev-util/rocm-cmake:${SLOT} + dev-util/rocm-cmake dev-util/Tensile:${SLOT} " diff --git a/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild b/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild new file mode 100644 index 000000000000..e1f9a4b8e8f0 --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-5.7.1-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs" +DOCS_DEPEND="media-gfx/graphviz" +ROCM_VERSION=${PV} +inherit cmake docs edo multiprocessing rocm + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +RESTRICT="!test? ( test )" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-util/rocm-cmake-5.3 + dev-util/Tensile:${SLOT} + dev-python/joblib + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + dev-util/hip + test? ( + virtual/blas + dev-cpp/gtest + sys-libs/libomp + ) + benchmark? ( + virtual/blas + sys-libs/libomp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch + ) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die +} + +src_configure() { + addpredict /dev/random + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DTensile_LOGIC="asm_full" + -DTensile_COMPILER="hipcc" + -DTensile_LIBRARY_FORMAT="msgpack" + -DTensile_CODE_OBJECT_VERSION="default" + -DTensile_ROOT="${EPREFIX}/usr/share/Tensile" + -DBUILD_WITH_TENSILE=ON + -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + -DTensile_CPU_THREADS=$(makeopts_jobs) + -DBUILD_WITH_PIP=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" + export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" + edob ./${PN,,}-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi +} diff --git a/sci-libs/rocFFT/Manifest b/sci-libs/rocFFT/Manifest index f93c38954772..b850aef411dd 100644 --- a/sci-libs/rocFFT/Manifest +++ b/sci-libs/rocFFT/Manifest @@ -1 +1,2 @@ DIST rocFFT-5.1.3.tar.gz 845470 BLAKE2B 86060ce4f8612869fedc5bc92ed6a5bb7fbc539b26c7f5ab0ded5406ab6c340f64116782285d040824e54557af87d9ddb6f907fd1550b80c3da903d3c1d5e5c0 SHA512 175402856bd4753e74ce14326569be99221e21d0ce675e007900f6982c53e1566ad0b060eec545e0f17ff4dc4811688cc1003dc986226205ee95ee6f22d1ca43 +DIST rocFFT-5.7.1.tar.gz 1192841 BLAKE2B 58f880f7ff866f85af70666d17e8b1a3ac8e63e853520546f746d74cecd805687fd689367a09d2b1ec4e1059b44b858377dce362cd4cae91cb85aad7c3185c00 SHA512 48467589cb4bc1334a4074bacc6a726c850dc2a79ef82622301d61c4269fb81c0b2b9fce56d72bddca584d1797a8634d243a9a6b8cf943e687b2b0f5c931116f diff --git a/sci-libs/rocFFT/metadata.xml b/sci-libs/rocFFT/metadata.xml index 825327b204eb..5774b6a548d7 100644 --- a/sci-libs/rocFFT/metadata.xml +++ b/sci-libs/rocFFT/metadata.xml @@ -5,10 +5,6 @@ <email>sci@gentoo.org</email> <name>Gentoo Science Project</name> </maintainer> - <maintainer type="person"> - <email>candrews@gentoo.org</email> - <name>Craig Andrews</name> - </maintainer> <maintainer type="person" proxied="yes"> <email>gentoo@holzke.net</email> <name>Wilfried Holzke</name> diff --git a/sci-libs/rocFFT/rocFFT-5.1.3.ebuild b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild index af9d3e7fad22..8d4bed88c3a0 100644 --- a/sci-libs/rocFFT/rocFFT-5.1.3.ebuild +++ b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..10} ) +PYTHON_COMPAT=( python3_{9..11} ) ROCM_VERSION=${PV} inherit cmake check-reqs edo multiprocessing python-r1 rocm @@ -36,7 +36,7 @@ BDEPEND=" test? ( dev-cpp/gtest dev-libs/boost >=sci-libs/fftw-3 sys-libs/libomp ) >=dev-util/cmake-3.22 - dev-util/rocm-cmake:${SLOT} + dev-util/rocm-cmake " CHECKREQS_DISK_BUILD="7G" @@ -80,7 +80,7 @@ pkg_setup() { src_prepare() { sed -e "s/PREFIX rocfft//" \ -e "/rocm_install_symlink_subdir/d" \ - -e "/<INSTALL_INTERFACE/s,include,include/rocFFT," \ + -e "/<INSTALL_INTERFACE/s,include,include/rocfft," \ -i library/src/CMakeLists.txt || die sed -e "/rocm_install_symlink_subdir/d" \ @@ -107,7 +107,8 @@ src_configure() { -DCMAKE_SKIP_RPATH=On -DAMDGPU_TARGETS="$(get_amdgpu_flags)" -Wno-dev - -DCMAKE_INSTALL_INCLUDEDIR="include/rocFFT/" + -DCMAKE_INSTALL_INCLUDEDIR="include/rocfft/" + -DROCM_SYMLINK_LIBS=OFF -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) -DBUILD_CLIENTS_SELFTEST=$(usex test ON OFF) -DPYTHON3_EXE=${EPYTHON} diff --git a/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild b/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild new file mode 100644 index 000000000000..ae6759ee212d --- /dev/null +++ b/sci-libs/rocFFT/rocFFT-5.7.1-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +ROCM_VERSION=${PV} + +inherit cmake check-reqs edo multiprocessing python-r1 rocm + +DESCRIPTION="Next generation FFT implementation for ROCm" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocFFT" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocFFT/archive/rocm-${PV}.tar.gz -> rocFFT-${PV}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +# RDEPEND: perfscripts? dev-python/plotly[${PYTHON_USEDEP}] # currently masked by arch/amd64/x32/package.mask +RDEPEND=" +perfscripts? ( + >=media-gfx/asymptote-2.61 + dev-texlive/texlive-latex + dev-tex/latexmk + sys-apps/texinfo + dev-python/sympy[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] ) +${PYTHON_DEPS}" + +DEPEND="dev-util/hip + ${PYTHON_DEPS}" + +BDEPEND=" + test? ( + dev-cpp/gtest + dev-libs/boost + >=sci-libs/fftw-3 + sys-libs/libomp + sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}] + ) + >=dev-util/cmake-3.22 + dev-util/rocm-cmake + dev-db/sqlite +" + +CHECKREQS_DISK_BUILD="7G" + +IUSE="benchmark perfscripts test" +REQUIRED_USE="perfscripts? ( benchmark ) ${PYTHON_REQUIRED_USE} ${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +S="${WORKDIR}/rocFFT-rocm-${PV}" + +PATCHES=() + +required_mem() { + if use test; then + echo "52G" + else + if [[ -n "${AMDGPU_TARGETS}" ]]; then + # count how many archs user specified in ${AMDGPU_TARGETS} + local NARCH=$(($(awk -F";" '{print NF-1}' <<< "${AMDGPU_TARGETS}" || die)+1)) + else + # The default number of AMDGPU_TARGETS for rocFFT-4.3.0. May change in the future. + local NARCH=7 + fi + echo "$(($(makeopts_jobs)*${NARCH}*25+2200))M" # A linear function estimating how much memory required + fi +} + +pkg_pretend() { + return # leave the disk space check to pkg_setup phase +} + +pkg_setup() { + export CHECKREQS_MEMORY=$(required_mem) + check-reqs_pkg_setup + python_setup +} + +src_prepare() { + sed -e "s/PREFIX rocfft//" \ + -e "/rocm_install_symlink_subdir/d" \ + -i library/src/CMakeLists.txt || die + + sed -e "/rocm_install_symlink_subdir/d" \ + -e "$!N;s:PREFIX\n[ ]*rocfft:# PREFIX rocfft\n:;P;D" \ + -i library/src/device/CMakeLists.txt || die + + if use perfscripts; then + pushd scripts/perf || die + sed -e "/\/opt\/rocm/d" -e "/rocmversion/s,rocm_info.strip(),\"${PV}\"," -i perflib/specs.py || dir + sed -e "/^top/,+1d" -i rocfft-perf suites.py || die + sed -e "s,perflib,${PN}_perflib,g" -i rocfft-perf suites.py perflib/*.py || die + sed -e "/^top = /s,__file__).*$,\"${EPREFIX}/usr/share/${PN}-perflib\")," \ + -i perflib/pdf.py perflib/generators.py || die + popd + fi + + cmake_src_prepare +} + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -Wno-dev + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_RIDER=$(usex benchmark ON OFF) + -DSQLITE_USE_SYSTEM_PACKAGE=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}/clients/staging" || die + export LD_LIBRARY_PATH=${BUILD_DIR}/library/src/:${BUILD_DIR}/library/src/device + edob ./${PN,,}-test + edob ./${PN,,}-selftest +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}"/clients/staging || die + dobin *rider + fi + + if use perfscripts; then + cd "${S}"/scripts/perf || die + python_foreach_impl python_doexe rocfft-perf + python_moduleinto ${PN}_perflib + python_foreach_impl python_domodule perflib/*.py + insinto /usr/share/${PN}-perflib + doins *.asy suites.py + fi +} diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest index 37d940a49b1c..f23f73c59466 100644 --- a/sci-libs/rocPRIM/Manifest +++ b/sci-libs/rocPRIM/Manifest @@ -1 +1,2 @@ DIST rocPRIM-5.1.3.tar.gz 374510 BLAKE2B ab6960e7bd2159ac7a0d72ba6d594684f8d47028eca0940eabd35b346ac3d432a734ec575ee71341f339a9d0dead10dfafe81fb651a3b7da681aa900a5132d0e SHA512 54e14f2b40795153b862a64c9b3d336f35feccfda725daad75fae356b0147c577735884b65218c26c370ebec710af0f84aeef3103067a50db077cf9e24d2b64a +DIST rocPRIM-5.7.1.tar.gz 535649 BLAKE2B 469bf59b5c92c37df96f58bac5a6559dc2cb879e5f82e539881d79bda57d23c25a9b114466042258e87862a88cd53d260155d7785c9a69a1800b0d05e931f56d SHA512 b2f0bc07dbc5cd111dd513f6c05dbc533908c52ea99caf77d6a4dd35db2b28f98c80006bd1f50a232873eab00b70e54231c38bfd1035c8845029d53690fd5e71 diff --git a/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch b/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch new file mode 100644 index 000000000000..84e3e7875ee8 --- /dev/null +++ b/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch @@ -0,0 +1,29 @@ +This patch allows to HSA_OVERRIDE_GFX_VERSION environment variable (library just crashes otherwise) +--- a/rocprim/include/rocprim/device/config_types.hpp ++++ b/rocprim/include/rocprim/device/config_types.hpp +@@ -197,15 +197,21 @@ constexpr bool prefix_equals(const char* lhs, const char* rhs, std::size_t n) + constexpr target_arch get_target_arch_from_name(const char* const arch_name, const std::size_t n) + { + constexpr const char* target_names[] +- = {"gfx803", "gfx900", "gfx906", "gfx908", "gfx90a", "gfx1030", "gfx1102"}; ++ = {"gfx803", ++ "gfx900", "gfx902", "gfx909", "gfx912", ++ "gfx906", ++ "gfx908", ++ "gfx90a", ++ "gfx1030", "gfx1031", "gfx1032", "gfx1033", "gfx1034", "gfx1035", "gfx1036", ++ "gfx1100", "gfx1101", "gfx1102", "gfx1103", "gfx1150", "gfx1151"}; + constexpr target_arch target_architectures[] = { + target_arch::gfx803, +- target_arch::gfx900, ++ target_arch::gfx900, target_arch::gfx900, target_arch::gfx900, target_arch::gfx900, + target_arch::gfx906, + target_arch::gfx908, + target_arch::gfx90a, +- target_arch::gfx1030, +- target_arch::gfx1102, ++ target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, ++ target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, + }; + static_assert(sizeof(target_names) / sizeof(target_names[0]) + == sizeof(target_architectures) / sizeof(target_architectures[0]), diff --git a/sci-libs/rocPRIM/metadata.xml b/sci-libs/rocPRIM/metadata.xml index 3ec1b04cf301..6d29bd1f8901 100644 --- a/sci-libs/rocPRIM/metadata.xml +++ b/sci-libs/rocPRIM/metadata.xml @@ -5,10 +5,6 @@ <email>sci@gentoo.org</email> <name>Gentoo Science Project</name> </maintainer> - <maintainer type="person"> - <email>candrews@gentoo.org</email> - <name>Craig Andrews</name> - </maintainer> <maintainer type="person" proxied="yes"> <email>gentoo@holzke.net</email> <name>Wilfried Holzke</name> diff --git a/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild b/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild new file mode 100644 index 000000000000..3353023628db --- /dev/null +++ b/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +inherit cmake rocm + +DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated code on ROCm" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocPRIM" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-${PV}.tar.gz -> rocPRIM-${PV}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND="dev-util/hip + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest )" +BDEPEND="dev-util/rocm-cmake + >=dev-util/cmake-3.22" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/rocPRIM-rocm-${PV}" + +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch ) + +src_prepare() { + # "hcc" is depcreated, new platform ist "rocclr" + sed -e "/HIP_PLATFORM STREQUAL/s,hcc,rocclr," -i cmake/VerifyCompiler.cmake || die + + # Install according to FHS + sed -e "/PREFIX rocprim/d" \ + -e "/INSTALL_INTERFACE/s,rocprim/include,include/rocprim," \ + -e "/DESTINATION/s,rocprim/include,include," \ + -e "/rocm_install_symlink_subdir(rocprim)/d" \ + -i rocprim/CMakeLists.txt || die + + # disable downloading googletest and googlebenchmark + sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die + + # remove GIT dependency + sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die + + # install benchmark files + if use benchmark; then + sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \ + -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die + fi + + eapply_user + cmake_src_prepare +} + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + # uses HMM to fit tests to default <512M iGPU VRAM + MAKEOPTS="-j1" ROCPRIM_USE_HMM="1" cmake_src_test +} diff --git a/sci-libs/rocRAND/Manifest b/sci-libs/rocRAND/Manifest index 0016770f25d1..9c1124f37a03 100644 --- a/sci-libs/rocRAND/Manifest +++ b/sci-libs/rocRAND/Manifest @@ -1,2 +1,4 @@ DIST hipRAND-de941a7eb9ede2a862d719cd3ca23234a3692d07.tar.gz 80820 BLAKE2B f2894187455cf1da70c486e9efc336a01dc53589c56afe994858b2344c1e74e8d35260f70ad9cd80c5da1103dd9e98da6f5f2bf8e1ddf97023effc8a434a76ce SHA512 cdc70799ddca456c37c2a65875b98acff74800aa2b4f28d77b27c38c32428dd5edb2837bf88bfb6fcc32bdae7f2b27f1b547831bad98101b04959b7ba6b74a85 DIST rocRAND-5.1.3.tar.gz 11729425 BLAKE2B f61aaedb7b72ceba3868a2069c93db1e2cd88a7a0188a9d5a33f520af3b42235c0dca62495460fd5e7abbca5fe7acc01acfdc90e53ae9a6e45128df5da472f49 SHA512 12859e52b79e40fcd1fb97d0915c191bbbc24e31e00aac4dbeecb625f9978a00ece3d7a42d0f9d37516031c1fbeb66e14dcd476ea83fe32fb13e0dd5c3964a28 +DIST rocRAND-5.6.0.tar.gz 23189913 BLAKE2B 2418a90c323f483d1f92630df7134bc060b9052f580259924e79680a7ec37857574973dda69dc3c28fdd5b88a5fc1d29757ed637fcde0730c53b9a5f09668aba SHA512 cccd26a6b80a7705644803a85dad3a43de3f4e2f73f964f2b5aa410f71d3782b68d6cc1ad60b7f7be5193a94098ed3fa25cad30c3acbc141522cdd738d3328a5 +DIST rocRAND-5.7.1.tar.gz 23189653 BLAKE2B c70ab6f3b718c2430394f63b93bee15fa72daae704883fdb203b98b0dc4763b46bc27886af64c48bf4ebe8da9b919158b8cd346f70f9b76bf0492ce3b2c1e20e SHA512 4d74bce9fbd3cb45e3f057d38df747270c6986fea7ad524f7a88109b6a53a4ea5dcd60d4bbf2364888501e9444245fb6898bb79fccad0e37b61e819e8c4ed863 diff --git a/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch b/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch new file mode 100644 index 000000000000..e0a4b8d66ae1 --- /dev/null +++ b/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch @@ -0,0 +1,38 @@ +commit 3b24ff660f83e18cadd3da272f182aaf8f98a755 +Author: Liam Wrubleski <Liam.Wrubleski@amd.com> +Date: Mon Jan 24 13:49:52 2022 -0700 + + Revert symlinks + +diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt +index 17a8c4c..89322d8 100644 +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -60,27 +60,6 @@ rocm_install( + "${CMAKE_BINARY_DIR}/library/include" + ) + +-# Create symlinks +-if(WIN32) +- set(SYMLINK_COMMAND "file(COPY \${SRC} DESTINATION \${DEST_DIR})" ) +-else() +- set(SYMLINK_COMMAND "execute_process(COMMAND ln -sf \${SRC_REL} \${DEST})" ) +-endif() +-set(INSTALL_SYMLINK_COMMAND " +- set(SRC_DIR \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/include/rocrand) +- file(GLOB_RECURSE FILES RELATIVE \${SRC_DIR} \${SRC_DIR}/*) +- foreach(FILE \${FILES}) +- set(SRC \${SRC_DIR}/\${FILE}) +- set(DEST \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/rocrand/include/\${FILE}) +- get_filename_component(DEST_DIR \${DEST} DIRECTORY) +- file(MAKE_DIRECTORY \${DEST_DIR}) +- file(RELATIVE_PATH SRC_REL \${DEST_DIR} \${SRC}) +- message(STATUS \"symlink: \${SRC_REL} -> \${DEST}\") +- ${SYMLINK_COMMAND} +- endforeach() +-") +-rocm_install(CODE "${INSTALL_SYMLINK_COMMAND}") +- + set(FORTRAN_SRCS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/rocrand/src/fortran") + configure_file( + src/rocrand-fortran-config.cmake.in diff --git a/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch b/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch new file mode 100644 index 000000000000..e80155f24da7 --- /dev/null +++ b/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch @@ -0,0 +1,33 @@ +commit d79e778080766cf359d6658367e1c7ce0668daa4 +Author: Benda Xu <orv@debian.org> +Date: Sat Jul 29 23:03:22 2023 +0800 + + sobol*_direction_vector_generator.cpp: include stdint.h for uint*_t + + Reference: https://gcc.gnu.org/gcc-13/porting_to.html + Signed-off-by: Benda Xu <heroxbd@gentoo.org> + +diff --git a/tools/sobol32_direction_vector_generator.cpp b/tools/sobol32_direction_vector_generator.cpp +index 16c4354..eb316c7 100644 +--- a/tools/sobol32_direction_vector_generator.cpp ++++ b/tools/sobol32_direction_vector_generator.cpp +@@ -20,6 +20,7 @@ + + #include <iostream> + #include <fstream> ++#include <cstdint> + #include <string> + #include <iomanip> + +diff --git a/tools/sobol64_direction_vector_generator.cpp b/tools/sobol64_direction_vector_generator.cpp +index e520903..ecdbdc4 100644 +--- a/tools/sobol64_direction_vector_generator.cpp ++++ b/tools/sobol64_direction_vector_generator.cpp +@@ -20,6 +20,7 @@ + + #include <iostream> + #include <fstream> ++#include <cstdint> + #include <string> + #include <iomanip> + diff --git a/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch b/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch new file mode 100644 index 000000000000..566ef5a1c45a --- /dev/null +++ b/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch @@ -0,0 +1,59 @@ +Upstream: https://github.com/ROCmSoftwarePlatform/rocRAND/pull/372 + +commit 78c5631acd58d218af0c61af5acc57e9f47bc9c7 +Author: Benda Xu <orv@debian.org> +Date: Sat Jul 29 23:03:22 2023 +0800 + + sobol*_direction_vector_generator.cpp: include stdint.h for uint*_t + + Reference: https://gcc.gnu.org/gcc-13/porting_to.html + Signed-off-by: Benda Xu <heroxbd@gentoo.org> + +diff --git a/tools/scrambled_sobol32_direction_vector_generator.cpp b/tools/scrambled_sobol32_direction_vector_generator.cpp +index 5623704..7addf4d 100644 +--- a/tools/scrambled_sobol32_direction_vector_generator.cpp ++++ b/tools/scrambled_sobol32_direction_vector_generator.cpp +@@ -21,6 +21,7 @@ + #include "../library/include/rocrand/rocrand_sobol32_precomputed.h" + #include <fstream> + #include <iomanip> ++#include <cstdint> + #include <iostream> + #include <string> + +diff --git a/tools/scrambled_sobol64_direction_vector_generator.cpp b/tools/scrambled_sobol64_direction_vector_generator.cpp +index 0aecd3e..4189006 100644 +--- a/tools/scrambled_sobol64_direction_vector_generator.cpp ++++ b/tools/scrambled_sobol64_direction_vector_generator.cpp +@@ -21,6 +21,7 @@ + #include "../library/include/rocrand/rocrand_sobol64_precomputed.h" + #include <fstream> + #include <iomanip> ++#include <cstdint> + #include <iostream> + #include <string> + +diff --git a/tools/sobol32_direction_vector_generator.cpp b/tools/sobol32_direction_vector_generator.cpp +index 16c4354..eb316c7 100644 +--- a/tools/sobol32_direction_vector_generator.cpp ++++ b/tools/sobol32_direction_vector_generator.cpp +@@ -20,6 +20,7 @@ + + #include <iostream> + #include <fstream> ++#include <cstdint> + #include <string> + #include <iomanip> + +diff --git a/tools/sobol64_direction_vector_generator.cpp b/tools/sobol64_direction_vector_generator.cpp +index e520903..ecdbdc4 100644 +--- a/tools/sobol64_direction_vector_generator.cpp ++++ b/tools/sobol64_direction_vector_generator.cpp +@@ -20,6 +20,7 @@ + + #include <iostream> + #include <fstream> ++#include <cstdint> + #include <string> + #include <iomanip> + diff --git a/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch b/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch new file mode 100644 index 000000000000..84b58266220c --- /dev/null +++ b/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch @@ -0,0 +1,16 @@ +Fix crashes due to unaligned allocations in heap with new of structs when AVX2 or AVX512 is used. +This patch takes the simplest approach just shifts responsibility to the standard. +Similar approach in Eigen is named defined as: EIGEN_HAS_CXX17_OVERALIGN. + +Upstream bug: https://github.com/ROCmSoftwarePlatform/rocRAND/issues/403 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,7 +119,7 @@ endif() + option(DISABLE_WERROR "Disable building with Werror" ON) + + # Build CXX flags +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + if(DISABLE_WERROR) diff --git a/sci-libs/rocRAND/metadata.xml b/sci-libs/rocRAND/metadata.xml index dfea5b6e3584..4add606d2dbe 100644 --- a/sci-libs/rocRAND/metadata.xml +++ b/sci-libs/rocRAND/metadata.xml @@ -5,10 +5,6 @@ <email>sci@gentoo.org</email> <name>Gentoo Science Project</name> </maintainer> - <maintainer type="person"> - <email>candrews@gentoo.org</email> - <name>Craig Andrews</name> - </maintainer> <maintainer type="person" proxied="yes"> <email>gentoo@holzke.net</email> <name>Wilfried Holzke</name> diff --git a/sci-libs/rocRAND/rocRAND-5.1.3.ebuild b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild index 26ca0c5042b1..f5f90b407482 100644 --- a/sci-libs/rocRAND/rocRAND-5.1.3.ebuild +++ b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,6 +20,9 @@ IUSE="benchmark test" REQUIRED_USE="${ROCM_REQUIRED_USE}" RESTRICT="!test? ( test )" +PATCHES=( "${FILESDIR}"/${PN}-5.1.3_stdint-gcc13.patch + "${FILESDIR}"/${PN}-5.1.3_no-symlink.patch ) + RDEPEND="dev-util/hip" DEPEND="${RDEPEND} dev-util/rocm-cmake @@ -35,8 +38,6 @@ src_prepare() { # change installed include and lib dir, and avoid symlink overwrite the installed headers # avoid setting RPATH sed -r -e "s:(hip|roc)rand/lib:\${CMAKE_INSTALL_LIBDIR}:" \ - -e "s:(hip|roc)rand/include:include/\1rand:" \ - -e '/\$\{INSTALL_SYMLINK_COMMAND\}/d' \ -e "/INSTALL_RPATH/d" -i library/CMakeLists.txt || die # remove GIT dependency @@ -54,6 +55,7 @@ src_configure() { -DCMAKE_SKIP_RPATH=On -DAMDGPU_TARGETS="$(get_amdgpu_flags)" -DBUILD_HIPRAND=ON + -DROCM_SYMLINK_LIBS=OFF -DBUILD_TEST=$(usex test ON OFF) -DBUILD_BENCHMARK=$(usex benchmark ON OFF) ) diff --git a/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild b/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild new file mode 100644 index 000000000000..29a49e44991e --- /dev/null +++ b/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="Generate pseudo-random and quasi-random numbers" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocRAND" +SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}"/${PN}-5.4.2_stdint-gcc13.patch ) + +RDEPEND="dev-util/hip" +DEPEND="${RDEPEND} + dev-util/rocm-cmake + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest )" +BDEPEND="dev-util/rocm-cmake + >=dev-util/cmake-3.22" + +S="${WORKDIR}/rocRAND-rocm-${PV}" + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_HIPRAND=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/library" + MAKEOPTS="-j1" cmake_src_test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}"/benchmark + dobin benchmark_rocrand_* + fi +} diff --git a/sci-libs/rocRAND/rocRAND-5.7.1.ebuild b/sci-libs/rocRAND/rocRAND-5.7.1.ebuild new file mode 100644 index 000000000000..2a55cae507fe --- /dev/null +++ b/sci-libs/rocRAND/rocRAND-5.7.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="Generate pseudo-random and quasi-random numbers" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocRAND" +SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2_stdint-gcc13.patch + "${FILESDIR}"/${PN}-5.7.1_fix_generator_alignment.patch +) + +RDEPEND="dev-util/hip" +DEPEND="${RDEPEND} + dev-util/rocm-cmake + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest )" +BDEPEND="dev-util/rocm-cmake + >=dev-util/cmake-3.22" + +S="${WORKDIR}/rocRAND-rocm-${PV}" + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_HIPRAND=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/library" + # uses HMM to fit tests to default <512M iGPU VRAM + MAKEOPTS="-j1" ROCRAND_USE_HMM="1" cmake_src_test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}"/benchmark + dobin benchmark_rocrand_* + fi +} diff --git a/sci-libs/rocSOLVER/Manifest b/sci-libs/rocSOLVER/Manifest index 24a5bc028509..99692f483643 100644 --- a/sci-libs/rocSOLVER/Manifest +++ b/sci-libs/rocSOLVER/Manifest @@ -1 +1,3 @@ DIST rocSOLVER-5.1.3.tar.gz 545627 BLAKE2B 2cca24a1310efba7f8c66d1614fb50704221ebc8aa50d6aba11083baf9a7427575642fd28218ce80f8a7b83d3406348c2dd18373fb32e533509d01d37cf06927 SHA512 38e7a4ed6b67e83960ad3416d1008f82f895d19dc85427cd6f9c76f00b1ce18f78a4dd73d1ab53ffe81588890cd5545315029e903e2e09b85d6cfb854d405753 +DIST rocSOLVER-5.4.2.tar.gz 674866 BLAKE2B 0628353d567da92e3f7c3a11e19859329f3ea916184d554ee9c7172084ee4698c93408f397f493331d4dc47d833c56ead41bb4445081ba9ac73809ca0478770c SHA512 b3a60c65a18c3864568e1e0b1524850eb1b322f6005cf8a2763c9b457e43e03c8ce74be1d13f3cc3adef1f6ac979f54fb903831f4a60447a9a915a40dcbe5ff6 +DIST rocSOLVER-5.7.1.tar.gz 1859403 BLAKE2B f7a40494deda9dd66f2fb2f57e13665688e89e1f82733701ec60a520bc4b9f7d5899ada618a37e73baa3a910757be4f11d5fced5d4d2ad82c56918b34d265511 SHA512 78e0a2b5b069378696afebf5e3e023449b3d7705aa79099eb7721c142d7525255825b41bf413324c33178091315e3909980a1bf0cbb66e0891c85e757858ee1c diff --git a/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch new file mode 100644 index 000000000000..3e0ef897b71e --- /dev/null +++ b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch @@ -0,0 +1,34 @@ +commit bafa8f30b6f83d5f02bb65bb47b2943a0cb3c290 +Author: Cory Bloor <Cordell.Bloor@amd.com> +Date: Wed Jan 25 14:52:35 2023 -0700 + + Fix use of fmt 9.0 and later in logging test (#515) + + The implicitly defined formatter that rocsolver was using for + std::filesystem::path has been removed from fmt 9.0 and later. + + This change doesn't actually fix compatibility with the official + fmt 9.0 or 9.1 releases, because those releases are still + incompatible with HIP. However, the change is sufficient for using + rocsolver with fmt@9 from Spack (because the fix has been backported). + +diff --git a/clients/gtest/logging_gtest.cpp b/clients/gtest/logging_gtest.cpp +index e4f594a..da7ae04 100644 +--- a/clients/gtest/logging_gtest.cpp ++++ b/clients/gtest/logging_gtest.cpp +@@ -1,5 +1,5 @@ + /* ************************************************************************ +- * Copyright (c) 2022 Advanced Micro Devices, Inc. ++ * Copyright (c) 2022-2023 Advanced Micro Devices, Inc. + * ************************************************************************ */ + + #include <cstdlib> +@@ -49,7 +49,7 @@ protected: + { + if(HasFailure() && std::getenv("ROCSOLVER_TEST_DEBUG")) + fmt::print(stderr, "ROCSOLVER_TEST_DEBUG is set so {} was not removed.\n", +- log_filepath); ++ log_filepath.string()); + else + EXPECT_TRUE(fs::remove(log_filepath)); + } diff --git a/sci-libs/rocSOLVER/metadata.xml b/sci-libs/rocSOLVER/metadata.xml index 344dd1337031..da8fc11173b1 100644 --- a/sci-libs/rocSOLVER/metadata.xml +++ b/sci-libs/rocSOLVER/metadata.xml @@ -12,6 +12,9 @@ <email>xgreenlandforwyy@gmail.com</email> <name>Yiyang Wu</name> </maintainer> + <upstream> + <remote-id type="github">ROCmSoftwarePlatform/rocSOLVER</remote-id> + </upstream> <use> <flag name="test">Perform rocsolver-test to compare the result between rocSOLVER and system LAPACK.</flag> <flag name="benchmark">Build and install rocsolver-bench.</flag> diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild index e2db9aba2a19..11cedfb8deff 100644 --- a/sci-libs/rocSOLVER/rocSOLVER-5.1.3.ebuild +++ b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,8 +19,8 @@ IUSE="test benchmark" REQUIRED_USE="${ROCM_REQUIRED_USE}" RDEPEND="dev-util/hip - sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] - =dev-libs/libfmt-8* + sci-libs/rocBLAS[${ROCM_USEDEP}] + dev-libs/libfmt benchmark? ( virtual/blas )" DEPEND="${RDEPEND}" BDEPEND="test? ( dev-cpp/gtest diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild new file mode 100644 index 000000000000..8088b8523a68 --- /dev/null +++ b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake edo rocm + +DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +IUSE="test benchmark" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND="dev-util/hip + sci-libs/rocBLAS[${ROCM_USEDEP}] + dev-libs/libfmt + benchmark? ( virtual/blas )" +DEPEND="${RDEPEND}" +BDEPEND="test? ( dev-cpp/gtest + >=dev-util/cmake-3.22 + virtual/blas )" + +PATCHES=( "${FILESDIR}"/${PN}-5.4.2-libfmt9.patch ) + +RESTRICT="!test? ( test )" + +S=${WORKDIR}/${PN}-rocm-${PV} + +src_configure() { + # avoid sandbox violation + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -Wno-dev + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_SAMPLES=NO + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dobin clients/staging/rocsolver-bench + fi +} diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild new file mode 100644 index 000000000000..a5e339aa71ab --- /dev/null +++ b/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake edo rocm + +DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +IUSE="test benchmark" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND="dev-util/hip + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}] + dev-libs/libfmt + benchmark? ( virtual/blas )" +DEPEND="${RDEPEND}" +BDEPEND="test? ( dev-cpp/gtest + >=dev-util/cmake-3.22 + virtual/blas )" + +RESTRICT="!test? ( test )" + +S=${WORKDIR}/${PN}-rocm-${PV} + +src_configure() { + # avoid sandbox violation + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -Wno-dev + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_SAMPLES=NO + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dobin clients/staging/rocsolver-bench + fi +} diff --git a/sci-libs/rocSPARSE/Manifest b/sci-libs/rocSPARSE/Manifest index d9c178411520..793510341e5c 100644 --- a/sci-libs/rocSPARSE/Manifest +++ b/sci-libs/rocSPARSE/Manifest @@ -1,4 +1,5 @@ DIST rocSPARSE-5.1.3.tar.gz 943788 BLAKE2B f9d5fc34d74bc10f3e5bd0a18da41fe9b35a2f01aca3a74979960958fd0e7648fca96493ba9d767119a452dd75ede0733959d0d4bae84615b7a1ff212c8412a3 SHA512 735aa210bbdc3f31b0ed4defe0288606e255788e877f24ed25506d780552a779305fe5bfd692a3e720e9b286073894300fcbcf161d41e1b23abf2110a9536bf3 +DIST rocSPARSE-5.7.1.tar.gz 1167162 BLAKE2B 20ed88c87afbb041a31aa8bf867dca7ee670af093347c9c6a68b0750e70c796e7cfd599f84a58de2b8038f7681524bcb5909230fc340d1575dae3b72089ec650 SHA512 cd48884c51fcddcb26c42920cf477999160b3f06da4ab182f746a18d1fe54f697d89b1e470c550bd2330b26fb596d4a5baadf64366145e0d07f3fd8891f9af59 DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03 DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0 DIST rocSPARSE_Chevron2.tar.gz 3210636 BLAKE2B 919bc19931cbcb32c09e6b623c9d3890400895dfd65e83845d351a8e3dd8b30ef43374c3c0ca3ee9708c81b5fb8886f1a4adbea6086495f08f9498f19a2279d5 SHA512 22b71deddec4f1af5b239d4065089230cf70e521102803a77ab3f16b34a0d69534817e54d81dfa7f8d1f299932c0f0424237baeb3d8289bcfffa4b902b00e256 diff --git a/sci-libs/rocSPARSE/metadata.xml b/sci-libs/rocSPARSE/metadata.xml index 41fbe64032ab..f4e399df67a8 100644 --- a/sci-libs/rocSPARSE/metadata.xml +++ b/sci-libs/rocSPARSE/metadata.xml @@ -5,10 +5,6 @@ <email>sci@gentoo.org</email> <name>Gentoo Science Project</name> </maintainer> - <maintainer type="person"> - <email>candrews@gentoo.org</email> - <name>Craig Andrews</name> - </maintainer> <maintainer type="person" proxied="yes"> <email>gentoo@holzke.net</email> <name>Wilfried Holzke</name> diff --git a/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild new file mode 100644 index 000000000000..72ab49658a90 --- /dev/null +++ b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r1.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) +ROCM_VERSION=${PV} + +inherit cmake edo python-any-r1 toolchain-funcs rocm + +DESCRIPTION="Basic Linear Algebra Subroutines for sparse computation" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSPARSE" + +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-${PV}.tar.gz -> rocSPARSE-${PV}.tar.gz +test? ( +https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> ${PN}_amazon0312.tar.gz +https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> ${PN}_Chebyshev4.tar.gz +https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> ${PN}_sme3Dc.tar.gz +https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> ${PN}_webbase-1M.tar.gz +https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> ${PN}_rma10.tar.gz +https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> ${PN}_bibd_22_8.tar.gz +https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> ${PN}_mac_econ_fwd500.tar.gz +https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> ${PN}_mc2depi.tar.gz +https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> ${PN}_scircuit.tar.gz +https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> ${PN}_ASIC_320k.tar.gz +https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> ${PN}_bmwcra_1.tar.gz +https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> ${PN}_nos1.tar.gz +https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> ${PN}_nos2.tar.gz +https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> ${PN}_nos3.tar.gz +https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> ${PN}_nos4.tar.gz +https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> ${PN}_nos5.tar.gz +https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> ${PN}_nos6.tar.gz +https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> ${PN}_nos7.tar.gz +https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> ${PN}_shipsec1.tar.gz +https://sparse.tamu.edu/MM/Cote/mplate.tar.gz -> ${PN}_mplate.tar.gz +https://sparse.tamu.edu/MM/Bai/qc2534.tar.gz -> ${PN}_qc2534.tar.gz +https://sparse.tamu.edu/MM/Chevron/Chevron2.tar.gz -> ${PN}_Chevron2.tar.gz +https://sparse.tamu.edu/MM/Chevron/Chevron3.tar.gz -> ${PN}_Chevron3.tar.gz +https://sparse.tamu.edu/MM/Chevron/Chevron4.tar.gz -> ${PN}_Chevron4.tar.gz +)" + +LICENSE="MIT" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" +SLOT="0/$(ver_cut 1-2)" + +RDEPEND="dev-util/hip + sci-libs/rocPRIM:${SLOT}" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + dev-cpp/gtest + >=dev-util/cmake-3.22 + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') +) +benchmark? ( app-admin/chrpath ) +" + +RESTRICT="!test? ( test )" + +S="${WORKDIR}/rocSPARSE-rocm-${PV}" + +PATCHES=( +) + +python_check_deps() { + if use test; then + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" + fi +} + +src_prepare() { + sed -e "s/PREFIX rocsparse//" \ + -e "/<INSTALL_INTERFACE/s,include,include/rocsparse," \ + -e "/rocm_install_symlink_subdir(rocsparse)/d" \ + -e "s:rocsparse/include:include/rocsparse:" \ + -i "${S}/library/CMakeLists.txt" || die + + # remove GIT dependency + sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die + + # Fix install path + sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die + + # use python interpreter specifyied by python-any-r1 + sed -e "/COMMAND ..\/common\/rocsparse_gentest.py/s,COMMAND ,COMMAND ${EPYTHON} ," -i clients/tests/CMakeLists.txt || die + + cmake_src_prepare + + # Test need download data from https://sparse.tamu.edu (or other mirror site), check MD5, unpack and convert them into csr format + # This process is handled default by ${S}/cmake/ClientMatrices.cmake, but should be the responsibility of portage. + if use test; then + mkdir -p "${BUILD_DIR}"/clients/matrices + # compile and use the mtx2csr converter. Do not use any optimization flags, because it causes error! + edo $(tc-getCXX) deps/convert.cpp -o deps/convert + find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 | + while IFS= read -r -d '' mtxfile; do + destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).csr + ebegin "Converting ${mtxfile} to ${destination}" + deps/convert ${mtxfile} ${destination} + eend $? + done + fi +} + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=On + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DCMAKE_INSTALL_INCLUDEDIR="include/rocsparse" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}/clients/staging" || die + LD_LIBRARY_PATH="${BUILD_DIR}/library" edob ./${PN,,}-test +} + +src_install() { + cmake_src_install + + # rm unwanted copy + rm -rf "${ED}/usr/rocsparse" || die + + if use benchmark; then + cd "${BUILD_DIR}" || die + dobin clients/staging/rocsparse-bench + fi +} diff --git a/sci-libs/rocThrust/Manifest b/sci-libs/rocThrust/Manifest index 586b8f1b9260..5c109bf5006a 100644 --- a/sci-libs/rocThrust/Manifest +++ b/sci-libs/rocThrust/Manifest @@ -1 +1,2 @@ DIST rocThrust-5.1.3.tar.gz 1186518 BLAKE2B 2defe71247915940917438d4f0d0a811dca7de39e5168248968fa9c165b81d94b0e20f3df9b84db1fbdcd2eb87942dec5d3adbbe1a699eb51eeb4e1b2f0a88d0 SHA512 189c70343a410cf3f3c1589ef24c68a38b5270d8780d15261a124b8250f279a3c3c7afef38e6310d57cb1741b3ee75f0b4ac0bb9dfcf4a4fb0e7e6c0516faf74 +DIST rocThrust-5.7.1.tar.gz 1122808 BLAKE2B 41a5d57d03c7f95baf861b772c9513c7fbc26eee8a2f388897eb9b9f9fad3cdad81e2a79932c5b9a6d88b4e1596bf64e59e01337943a036ddb792f7b352ecd31 SHA512 52a9640808f0ed78ae2d6f25e741af59ae4e977535a0431f16c0fa1ee9a395e6f389cf29e61c02ac274cf16fcd193e5df6fb2edc340059ab282ed7cd877fc8b4 diff --git a/sci-libs/rocThrust/metadata.xml b/sci-libs/rocThrust/metadata.xml index 20ece3c2955e..61a33c63bbf4 100644 --- a/sci-libs/rocThrust/metadata.xml +++ b/sci-libs/rocThrust/metadata.xml @@ -4,10 +4,6 @@ <maintainer type="project"> <email>sci@gentoo.org</email> </maintainer> - <maintainer type="person"> - <email>candrews@gentoo.org</email> - <name>Craig Andrews</name> - </maintainer> <maintainer type="person" proxied="yes"> <email>gentoo@holzke.net</email> <name>Wilfried Holzke</name> diff --git a/sci-libs/rocThrust/rocThrust-5.7.1.ebuild b/sci-libs/rocThrust/rocThrust-5.7.1.ebuild new file mode 100644 index 000000000000..68d0b7198b14 --- /dev/null +++ b/sci-libs/rocThrust/rocThrust-5.7.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="HIP back-end for the parallel algorithm library Thrust" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocThrust" +SRC_URI="https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-${PV}.tar.gz -> rocThrust-${PV}.tar.gz" + +LICENSE="Apache-2.0" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/hip + sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}] + test? ( dev-cpp/gtest )" +DEPEND="${RDEPEND}" +BDEPEND=">=dev-util/cmake-3.22" + +S="${WORKDIR}/rocThrust-rocm-${PV}" + +PATCHES=( "${FILESDIR}/${PN}-4.0-operator_new.patch" ) + +src_prepare() { + sed -e "/PREFIX rocthrust/d" \ + -e "/DESTINATION/s:rocthrust/include/thrust:include/thrust:" \ + -e "/rocm_install_symlink_subdir(rocthrust)/d" \ + -e "/<INSTALL_INTERFACE/s:rocthrust/include/:include/:" -i thrust/CMakeLists.txt || die + + sed -e "s:\${CMAKE_INSTALL_INCLUDEDIR}:&/rocthrust:" \ + -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die + + # disable downloading googletest and googlebenchmark + sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die + + # remove GIT dependency + sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die + + eapply_user + cmake_src_prepare +} + +src_configure() { + addpredict /dev/kfd + addpredict /dev/dri/ + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARKS=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + CXX=hipcc cmake_src_configure +} + +src_test() { + check_amdgpu + # uses HMM to fit tests to default <512M iGPU VRAM + MAKEOPTS="-j1" ROCTHRUST_USE_HMM="1" cmake_src_test +} + +src_install() { + cmake_src_install + + use benchmark && dobin "${BUILD_DIR}"/benchmarks/benchmark_thrust_bench +} diff --git a/sci-libs/rosetta-db/Manifest b/sci-libs/rosetta-db/Manifest deleted file mode 100644 index 324cee198870..000000000000 --- a/sci-libs/rosetta-db/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST rosetta3.4_database.tgz 212443671 BLAKE2B 92aeb833bab050f8122dc9fdbff153cb27c4993bea4e55dddfd5a2628c7e5fd55ac5da3d8b132a2e3fe83e1a9b6b417ad361eef2afffa3792b2d15de31ddd051 SHA512 c057cabcc95e6ff2278517e04d0fe8c7968a5c29d17ceb7bc75ac6e655b0a798d4ca819b313616c69b6cc18252c12b9af083d9cab9d4e30dac4c32db2f058b81 diff --git a/sci-libs/rosetta-db/metadata.xml b/sci-libs/rosetta-db/metadata.xml deleted file mode 100644 index e490bcb8aa87..000000000000 --- a/sci-libs/rosetta-db/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>sci-chemistry@gentoo.org</email> - <name>Gentoo Chemistry Project</name> - </maintainer> -</pkgmetadata> diff --git a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild b/sci-libs/rosetta-db/rosetta-db-3.4.ebuild deleted file mode 100644 index bc043d1e1ae7..000000000000 --- a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit vcs-clean - -MY_PN="${PN%-db}" -MY_P="${MY_PN}${PV}_database" - -DESCRIPTION="Essential database for rosetta" -HOMEPAGE="http://www.rosettacommons.org" -SRC_URI="${MY_P}.tgz" - -LICENSE="rosetta" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RESTRICT="fetch binchecks strip" - -S="${WORKDIR}"/${MY_PN}_database - -pkg_nofetch() { - einfo "Go to ${HOMEPAGE} and get ${A}" - einfo "which must be placed into your DISTDIR directory." -} - -src_install() { - esvn_clean - insinto /usr/share/${PN} - doins -r * - - cat >> "${T}"/41rosetta-db <<- EOF - ROSETTA3_DB="${EPREFIX}/usr/share/${PN}" - EOF - doenvd "${T}"/41rosetta-db -} diff --git a/sci-libs/rtree/rtree-1.0.0.ebuild b/sci-libs/rtree/rtree-1.0.0.ebuild index 2892a9c457f2..ffa872d759b3 100644 --- a/sci-libs/rtree/rtree-1.0.0.ebuild +++ b/sci-libs/rtree/rtree-1.0.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYPI_PN=${PN^} @@ -15,7 +15,7 @@ HOMEPAGE="https://rtree.readthedocs.io" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 ~x86" RDEPEND=" sci-libs/libspatialindex diff --git a/sci-libs/safetensors/Manifest b/sci-libs/safetensors/Manifest new file mode 100644 index 000000000000..e53939334466 --- /dev/null +++ b/sci-libs/safetensors/Manifest @@ -0,0 +1,41 @@ +DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f +DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 +DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff +DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8 +DIST itoa-1.0.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31 +DIST libc-0.2.141.crate 671145 BLAKE2B c0e37825ac3fba376e942a0e2c2aeefcab384b24c50a453d1948376cecb3f953d59735e37aef8a9ca7ae707fc6b4818823fae7330f213bf084e5460a82dd3ed5 SHA512 29d81f440d62fa1c9f7983c38138994e61f4897761a50a4f14abce1ced85a8994c6f0cc0ce86f77113b74495e36ddbebae6627f0b94c44621620a395a6723cdd +DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990 +DIST memmap2-0.5.10.crate 26847 BLAKE2B 1cf50f710ffedcebade4f131b8c3103b036778b320da671305c0244077743c53da155d444bcc4d0eece294234bb6e86bffe67da67aaf12a116573c64ce0ebc50 SHA512 39bd2734ce4f16c7f5a5e771f9ef92272b26f511421d5f39dfd2aaca072400ee38f2cd38352005c0c8c359095131770ce1c14570790bfe19ce6a17f711deff8a +DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe +DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904 +DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c +DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0 +DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03 +DIST pyo3-0.18.2.crate 418755 BLAKE2B a45c27639d9c4c5a4e017b7e8d7580aba285ee11295f344809e30ac23b70e4541f2cb765dfeee20fdf4d441e1449f5cad4bd6308a52822eea3595305081d4b77 SHA512 b97ebc10939418d7fe3d6219921875cc7253f3aa7cd9d06b1486f8757c6d102377eb851b3a669c670423af2c80e389b736f0ce04a6cecb716c952413d06fe434 +DIST pyo3-build-config-0.18.2.crate 29138 BLAKE2B ad37bacda5f0e5c8eaf382b3371de251b83c721dc2378a0bd3700462bb65273bcd4277589084f6af0a2959f17b370fe5e6a5699c8689107220333c57387bf0ae SHA512 01f544938d83a8283f5101f69673f8a39d2052186e7c712709be25c5ae17a11e7d68c2fd9b4bc7661fff9343ebf3ccc196c1259321061f048c59696692601ae1 +DIST pyo3-ffi-0.18.2.crate 62903 BLAKE2B 31e52b73705c1e5f44e419f314b1674a722a604fb52be5d5e5ff2ae9881ec9f204c1f51760570ed4c210ea530bd9295a27beaf9b5631ef02370d42d3e4c0be18 SHA512 495dcf45154ce89b8cd3a3fe193938e199465cf510df1713f7ad82e0a138ac2f8f1b73ec80f8af72f79a4ed26a9f4e4e93d52357ad4f41a213ec0c7b602734b9 +DIST pyo3-macros-0.18.2.crate 7173 BLAKE2B dfa5792be03b3b1164471ef9ff4ee672fe8e57d0fc169ca04da1542d86262e7e526be079e303b8a4899bfa4b0680d38604f80263c71b33ead5bf0a60871f473c SHA512 a2c367b4b1556b16304ef0da4ed8961cc760d259da9fbdabf791ac910de4f1e9f193227f10ea4215a52c701bd0ee92311dc91d272b9364017e2f6ebde5698f72 +DIST pyo3-macros-backend-0.18.2.crate 48722 BLAKE2B 662822ae71702cb7d173c1ac7ead49cecde0dc4545bc3f5f30fd9ef7fab5537c13509bc8f18b2a8d05d7fa7f6fc8d0378a44d67b85edadfdf6ca153fc698a7d4 SHA512 433d9287bf3cdf84291c8d04ca5b24ecab2186379db554d6b2cf271e8716a890dcdc0717b2a00267e85dc637520559ef8e883bde2e2b16dd8cd580c1468c2dc3 +DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5 +DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27 +DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13 +DIST safetensors-0.3.1.gh.tar.gz 71846 BLAKE2B d32fcd6afa34550c4b7cec2d09d84f967c2fb1a589ef7e38d1e443c74b008d31476d458a3862064c0ad90f54c70f6bedd170e6903f290164beda24662deb4c58 SHA512 483f90f8a1377dbdcd0ac9488014474da2ff197a981cf41602758b002d87ce75fa68b221b94374501f108820ee59eeb70a53811b012150bcf224e880c6749b98 +DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d +DIST serde-1.0.160.crate 77010 BLAKE2B 45d2585bd7e5dcd368b72c29046bd595c577826da4aea6d019adaf07d23adc096db7aba952037dfdac9dbf08a1e92ababd44cc784ace557fe2cfe83beca446cf SHA512 b03eb453ac01a483843829952462de4e8f6d0fa4a244d38a6f476a911e2e991a508121265befd108134ae7cce8a7a40c4d217f80f3e025f9a612a0bf80862306 +DIST serde_derive-1.0.160.crate 55081 BLAKE2B 851cbd173bd758d46c9f545f05a17f65f7b0a2cd353cc75a985072e3772ca6d8395b63208d845dfba231d7cb5fcee97ec0df0bd0df010096577d618fad8bffb0 SHA512 14b2a2ad7131efa7ec95d5a6e7633a9d1e991b046c0b00cce9c3681edd73cb53ff477aa52a430d8465aa8b362696244ea80f12ffbf0e6f98e35605fe4c60f407 +DIST serde_json-1.0.95.crate 144618 BLAKE2B beb05d7c37fcbacf4cc7dc04380e818a144a81e20e09ac9aecf6488bc18b142713bd1e9c7bc2ff4d10dd2385ccd280207cd992380bde4616db54f0852141eb0f SHA512 ff9f3f9e9a0e07956923bbac02288915c31f5ee24fc618808bfd4aa4b36ec40ec8d0e4426d926bdbcd019c9a4a6608dff5a651bf92dc5663eaf69c7c060223ba +DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae +DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d +DIST syn-2.0.14.crate 240699 BLAKE2B 7807bf1dcf5c19dab814fad916a5b8167324627406b7113bff7501c12b3e460e803a0e6b06f08047979d2d6af103ac60aacb4e98c9258d12e0e693e44001500a SHA512 a1cb1a427f7fe5bc5f1d130be93aff673e933e9ce971324d010ad883bc1a91c81d3467641762498bb7cc4c1ee3d1aa2301bdb68e8b0e81b014f99d91b824039a +DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f +DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088 +DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a +DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47 +DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9 +DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1 +DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63 +DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c +DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804 +DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f +DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3 +DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788 diff --git a/sci-libs/safetensors/metadata.xml b/sci-libs/safetensors/metadata.xml new file mode 100644 index 000000000000..313819f5fd44 --- /dev/null +++ b/sci-libs/safetensors/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>tupone@gentoo.org</email> + <name>Tupone Alfredo</name> + </maintainer> + <upstream> + <remote-id type="pypi">safetensors</remote-id> + <remote-id type="github">huggingface/safetensors</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-libs/safetensors/safetensors-0.3.1-r2.ebuild b/sci-libs/safetensors/safetensors-0.3.1-r2.ebuild new file mode 100644 index 000000000000..20984e779dac --- /dev/null +++ b/sci-libs/safetensors/safetensors-0.3.1-r2.ebuild @@ -0,0 +1,107 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 + +CRATES=" + autocfg-1.1.0 + bitflags-1.3.2 + cfg-if-1.0.0 + indoc-1.0.9 + itoa-1.0.6 + libc-0.2.141 + lock_api-0.4.9 + memmap2-0.5.10 + memoffset-0.8.0 + once_cell-1.17.1 + parking_lot-0.12.1 + parking_lot_core-0.9.7 + proc-macro2-1.0.56 + pyo3-0.18.2 + pyo3-build-config-0.18.2 + pyo3-ffi-0.18.2 + pyo3-macros-0.18.2 + pyo3-macros-backend-0.18.2 + quote-1.0.26 + redox_syscall-0.2.16 + ryu-1.0.13 + scopeguard-1.1.0 + serde-1.0.160 + serde_derive-1.0.160 + serde_json-1.0.95 + smallvec-1.10.0 + syn-1.0.109 + syn-2.0.14 + target-lexicon-0.12.6 + unicode-ident-1.0.8 + unindent-0.1.11 + windows-sys-0.45.0 + windows-targets-0.42.2 + windows_aarch64_gnullvm-0.42.2 + windows_aarch64_msvc-0.42.2 + windows_i686_gnu-0.42.2 + windows_i686_msvc-0.42.2 + windows_x86_64_gnu-0.42.2 + windows_x86_64_gnullvm-0.42.2 + windows_x86_64_msvc-0.42.2 +" + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 cargo + +DESCRIPTION="Simple, safe way to store and distribute tensors" +HOMEPAGE=" + https://pypi.org/project/safetensors/ + https://huggingface.co/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + $(cargo_crate_uris)" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/lib/.*" +RESTRICT="test" #depends on single pkg ( pytorch ) + +RDEPEND=" +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/h5py[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +S="${WORKDIR}"/${P}/bindings/python + +src_prepare() { + distutils-r1_src_prepare + rm tests/test_{tf,paddle,flax}_comparison.py || die + rm benches/test_{pt,tf,paddle,flax}.py || die +} + +src_configure() { + cargo_src_configure + distutils-r1_src_configure +} + +python_compile() { + cargo_src_compile + distutils-r1_python_compile +} + +src_compile() { + distutils-r1_src_compile +} + +src_install() { + distutils-r1_src_install +} diff --git a/sci-libs/scikit-image/Manifest b/sci-libs/scikit-image/Manifest index 66003042df98..8b42da1c8888 100644 --- a/sci-libs/scikit-image/Manifest +++ b/sci-libs/scikit-image/Manifest @@ -1 +1,2 @@ DIST scikit-image-0.19.3.tar.gz 22232287 BLAKE2B 855584be0e69ac6e0dc7a17a68a1bca6843b471073e63d098b4933bc301eab5246d4cd2b444960de7fcd37012b66f7ba8cd6030ac485a7ab3aa1d36501aef0c7 SHA512 cda1699200e19155da13e313eb129771b7bb895913e552b959a3374267fe4f73c33d5e6e2fa2d49326903c901925797e46b9f05342a78c5332df1c266d37471a +DIST scikit_image-0.22.0.tar.gz 22685018 BLAKE2B 7d0a65f75f5a58211e21501d6cc6a638f1d36e9a2198a3ad9ff2f230890496c41d5e6cdaed02bbaa62f26aa57fd24fc993656cbdfc2c9c9750147d0f325e56f1 SHA512 4b8c097cd5465f57b1c0879363fe3bdc0941decf2d1f8a881f13f2b7f3207c425f3a0cdcb4be0eed7b33d3ac2f3f8b1835d1cfa69cd3fa2ff5e0be11385fef48 diff --git a/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild b/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild index ce0e6d1aafb2..625518acb25e 100644 --- a/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild +++ b/sci-libs/scikit-image/scikit-image-0.19.3-r1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm64 ~x86" RESTRICT="test" RDEPEND=" diff --git a/sci-libs/scikit-image/scikit-image-0.22.0.ebuild b/sci-libs/scikit-image/scikit-image-0.22.0.ebuild new file mode 100644 index 000000000000..d68a0d7c6de0 --- /dev/null +++ b/sci-libs/scikit-image/scikit-image-0.22.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=meson-python +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Image processing routines for SciPy" +HOMEPAGE=" + https://scikit-image.org/ + https://github.com/scikit-image/scikit-image/ + https://pypi.org/project/scikit-image/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND=" + >=dev-python/imageio-2.27[${PYTHON_USEDEP}] + >=dev-python/lazy_loader-0.3[${PYTHON_USEDEP}] + >=dev-python/networkx-2.8[${PYTHON_USEDEP}] + >=dev-python/numpy-1.22[${PYTHON_USEDEP}] + >=dev-python/pillow-9.0.1[${PYTHON_USEDEP}] + >=dev-python/scipy-1.8[sparse(+),${PYTHON_USEDEP}] + >=dev-python/tifffile-2022.8.12[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" + +DOCS=( CONTRIBUTORS.txt RELEASE.txt ) + +distutils_enable_tests pytest +# There is a programmable error in your configuration file: +#distutils_enable_sphinx doc/source dev-python/numpydoc dev-python/myst-parser + +python_test() { + # This needs to be run in the install dir + cd "${WORKDIR}/${PN//-/_}-${PV}-${EPYTHON//./_}/install/usr/lib/${EPYTHON}/site-packages/skimage" || die + distutils-r1_python_test +} + +pkg_postinst() { + optfeature "FITS io capability" dev-python/astropy + optfeature "GTK" dev-python/pygtk + optfeature "Parallel computation" dev-python/dask + optfeature "io plugin providing most standard formats" dev-python/imread + optfeature "plotting" dev-python/matplotlib + optfeature "wavelet transformations" dev-python/pywavelets + optfeature "io plugin providing a wide variety of formats, including specialized formats using in medical imaging." dev-python/simpleitk +} diff --git a/sci-libs/scikit-learn/Manifest b/sci-libs/scikit-learn/Manifest index 9751f4cfb522..c61f3cb4a30b 100644 --- a/sci-libs/scikit-learn/Manifest +++ b/sci-libs/scikit-learn/Manifest @@ -1 +1,2 @@ DIST scikit-learn-1.1.2.gh.tar.gz 7104556 BLAKE2B e67e1deddf5a1134b57a146e8271a406cb257ffc92c9719e90f5b9d98e711b68bc67e3367660ecaad61aaec1794bb8999b4dd00b7d56e21eca8fcb2ee72cc9aa SHA512 58789c1e607d7de3339fa3b8928553ca96cef93e8da8fd13612aa78e5ebde8e6a55e3bf7845f9a45b78ed77da6a219d08d2c26318b602f937e0e3debd239293e +DIST scikit-learn-1.3.2.gh.tar.gz 7650823 BLAKE2B 170699917f46d6d3f4b9ebc314bc1ec45687dad0a4aec5d2cee6e288b5dbe508bad6dd80406501f289a33593c6482067393e9dc28155f85a4872a34523bf4199 SHA512 a3799e9b39b755a50ba225f836904a378f7d83a08274c614d0485e4d4d4a7b0c7adba2dbb6612f2ccb4e5167f872214a2853eff69d767dc70f52369bda7a230b diff --git a/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild b/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild index e498e32de5a9..8ec24c955368 100644 --- a/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild +++ b/sci-libs/scikit-learn/scikit-learn-1.1.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) inherit distutils-r1 @@ -15,7 +15,7 @@ SRC_URI="https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz -> ${ LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" IUSE="examples" # Fatal Python error: Segmentation fault @@ -28,18 +28,21 @@ DEPEND=" RDEPEND=" ${DEPEND} dev-python/wheel[${PYTHON_USEDEP}] - dev-python/cython[${PYTHON_USEDEP}] dev-python/joblib[${PYTHON_USEDEP}] dev-python/numpy[${PYTHON_USEDEP}] dev-python/scipy[${PYTHON_USEDEP}] dev-python/threadpoolctl[${PYTHON_USEDEP}] " +# <cython-3: https://bugs.gentoo.org/911369 +BDEPEND=" + <dev-python/cython-3[${PYTHON_USEDEP}] +" distutils_enable_tests pytest # For some reason this wants to use urllib to fetch things from the internet # distutils_enable_sphinx doc \ # dev-python/matplotlib \ -# dev-python/memory_profiler \ +# dev-python/memory-profiler \ # dev-python/numpydoc \ # dev-python/pandas \ # dev-python/pillow \ diff --git a/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild b/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild new file mode 100644 index 000000000000..d810dd650090 --- /dev/null +++ b/sci-libs/scikit-learn/scikit-learn-1.3.2-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 + +DESCRIPTION="Machine learning library for Python" +HOMEPAGE="https://scikit-learn.org/stable/" +SRC_URI="https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos" +IUSE="examples" + +DEPEND=" + virtual/blas:= + virtual/cblas:= +" +RDEPEND=" + ${DEPEND} + dev-python/wheel[${PYTHON_USEDEP}] + >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}] + >=dev-python/scipy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/threadpoolctl-2.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}] + dev-python/cython[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest +# For some reason this wants to use urllib to fetch things from the internet +# distutils_enable_sphinx doc \ +# dev-python/matplotlib \ +# dev-python/memory-profiler \ +# dev-python/numpydoc \ +# dev-python/pandas \ +# dev-python/pillow \ +# dev-python/seaborn \ +# dev-python/sphinx-gallery \ +# dev-python/sphinx-prompt \ +# sci-libs/scikit-image + +python_test() { + # This needs to be run in the install dir + cd "${WORKDIR}/${P}-${EPYTHON//./_}/install/usr/lib/${EPYTHON}/site-packages/sklearn" || die + distutils-r1_python_test +} + +python_install_all() { + find "${S}" -name \*LICENSE.txt -delete || die + distutils-r1_python_install_all + use examples && dodoc -r examples +} diff --git a/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch new file mode 100644 index 000000000000..65fc26f3eed1 --- /dev/null +++ b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-numpy-1.24.patch @@ -0,0 +1,22 @@ +diff --git a/skopt/space/transformers.py b/skopt/space/transformers.py +index 68892952..87cc3b68 100644 +--- a/skopt/space/transformers.py ++++ b/skopt/space/transformers.py +@@ -259,7 +259,7 @@ def transform(self, X): + if (self.high - self.low) == 0.: + return X * 0. + if self.is_int: +- return (np.round(X).astype(np.int) - self.low) /\ ++ return (np.round(X).astype(np.int64) - self.low) /\ + (self.high - self.low) + else: + return (X - self.low) / (self.high - self.low) +@@ -272,7 +272,7 @@ def inverse_transform(self, X): + raise ValueError("All values should be greater than 0.0") + X_orig = X * (self.high - self.low) + self.low + if self.is_int: +- return np.round(X_orig).astype(np.int) ++ return np.round(X_orig).astype(np.int64) + return X_orig + + diff --git a/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch new file mode 100644 index 000000000000..8cf8cff9479f --- /dev/null +++ b/sci-libs/scikit-optimize/files/scikit-optimize-0.9.0-scikit-learn-1.2.0.patch @@ -0,0 +1,104 @@ +diff --git a/skopt/learning/forest.py b/skopt/learning/forest.py +index 096770c1d..ebde568f5 100644 +--- a/skopt/learning/forest.py ++++ b/skopt/learning/forest.py +@@ -27,7 +27,7 @@ def _return_std(X, trees, predictions, min_variance): + ------- + std : array-like, shape=(n_samples,) + Standard deviation of `y` at `X`. If criterion +- is set to "mse", then `std[i] ~= std(y | X[i])`. ++ is set to "squared_error", then `std[i] ~= std(y | X[i])`. + + """ + # This derives std(y | x) as described in 4.3.2 of arXiv:1211.0906 +@@ -61,9 +61,9 @@ class RandomForestRegressor(_sk_RandomForestRegressor): + n_estimators : integer, optional (default=10) + The number of trees in the forest. + +- criterion : string, optional (default="mse") ++ criterion : string, optional (default="squared_error") + The function to measure the quality of a split. Supported criteria +- are "mse" for the mean squared error, which is equal to variance ++ are "squared_error" for the mean squared error, which is equal to variance + reduction as feature selection criterion, and "mae" for the mean + absolute error. + +@@ -194,7 +194,7 @@ class RandomForestRegressor(_sk_RandomForestRegressor): + .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001. + + """ +- def __init__(self, n_estimators=10, criterion='mse', max_depth=None, ++ def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None, + min_samples_split=2, min_samples_leaf=1, + min_weight_fraction_leaf=0.0, max_features='auto', + max_leaf_nodes=None, min_impurity_decrease=0., +@@ -228,20 +228,20 @@ def predict(self, X, return_std=False): + Returns + ------- + predictions : array-like of shape = (n_samples,) +- Predicted values for X. If criterion is set to "mse", ++ Predicted values for X. If criterion is set to "squared_error", + then `predictions[i] ~= mean(y | X[i])`. + + std : array-like of shape=(n_samples,) + Standard deviation of `y` at `X`. If criterion +- is set to "mse", then `std[i] ~= std(y | X[i])`. ++ is set to "squared_error", then `std[i] ~= std(y | X[i])`. + + """ + mean = super(RandomForestRegressor, self).predict(X) + + if return_std: +- if self.criterion != "mse": ++ if self.criterion != "squared_error": + raise ValueError( +- "Expected impurity to be 'mse', got %s instead" ++ "Expected impurity to be 'squared_error', got %s instead" + % self.criterion) + std = _return_std(X, self.estimators_, mean, self.min_variance) + return mean, std +@@ -257,9 +257,9 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor): + n_estimators : integer, optional (default=10) + The number of trees in the forest. + +- criterion : string, optional (default="mse") ++ criterion : string, optional (default="squared_error") + The function to measure the quality of a split. Supported criteria +- are "mse" for the mean squared error, which is equal to variance ++ are "squared_error" for the mean squared error, which is equal to variance + reduction as feature selection criterion, and "mae" for the mean + absolute error. + +@@ -390,7 +390,7 @@ class ExtraTreesRegressor(_sk_ExtraTreesRegressor): + .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001. + + """ +- def __init__(self, n_estimators=10, criterion='mse', max_depth=None, ++ def __init__(self, n_estimators=10, criterion='squared_error', max_depth=None, + min_samples_split=2, min_samples_leaf=1, + min_weight_fraction_leaf=0.0, max_features='auto', + max_leaf_nodes=None, min_impurity_decrease=0., +@@ -425,19 +425,19 @@ def predict(self, X, return_std=False): + Returns + ------- + predictions : array-like of shape=(n_samples,) +- Predicted values for X. If criterion is set to "mse", ++ Predicted values for X. If criterion is set to "squared_error", + then `predictions[i] ~= mean(y | X[i])`. + + std : array-like of shape=(n_samples,) + Standard deviation of `y` at `X`. If criterion +- is set to "mse", then `std[i] ~= std(y | X[i])`. ++ is set to "squared_error", then `std[i] ~= std(y | X[i])`. + """ + mean = super(ExtraTreesRegressor, self).predict(X) + + if return_std: +- if self.criterion != "mse": ++ if self.criterion != "squared_error": + raise ValueError( +- "Expected impurity to be 'mse', got %s instead" ++ "Expected impurity to be 'squared_error', got %s instead" + % self.criterion) + std = _return_std(X, self.estimators_, mean, self.min_variance) + return mean, std diff --git a/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild b/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild new file mode 100644 index 000000000000..694cd3ffafeb --- /dev/null +++ b/sci-libs/scikit-optimize/scikit-optimize-0.9.0-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..11} ) +inherit distutils-r1 pypi + +DESCRIPTION="Sequential model-based optimization library" +HOMEPAGE="https://scikit-optimize.github.io/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/joblib-0.11[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/matplotlib-2.0.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}] + >=dev-python/scipy-0.19.1[${PYTHON_USEDEP}] + >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}] +" + +PATCHES=( + # https://github.com/scikit-optimize/scikit-optimize/pull/1187 + "${FILESDIR}/${P}-numpy-1.24.patch" + # https://github.com/scikit-optimize/scikit-optimize/pull/1184/files + "${FILESDIR}/${P}-scikit-learn-1.2.0.patch" +) + +distutils_enable_tests pytest +# No such file or directory: image/logo.png +#distutils_enable_sphinx doc \ +# dev-python/numpydoc \ +# dev-python/sphinx-issues \ +# dev-python/sphinx-gallery diff --git a/sci-libs/spqr/Manifest b/sci-libs/spqr/Manifest index 2463ac3152e2..40d8a7aec0c2 100644 --- a/sci-libs/spqr/Manifest +++ b/sci-libs/spqr/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST spqr-2.0.9.tar.bz2 2161068 BLAKE2B a662983d2543a65ce36a367749db5585308acb56b016f69a35c46a84e9c12a678f57a3cfd459cc2e887fff2819b00f99981efaadb73831f1b4c54cbef5e1c367 SHA512 54b203e0d68b266473b8a2b7b3b3a55476df54a3ebd5748b70faa7bad1d0a5a7387197f0674ba5f9a5d45887daa736117f8d6ffbbc2eb02482b3374a3babf721 diff --git a/sci-libs/spqr/metadata.xml b/sci-libs/spqr/metadata.xml index d4b1f066575e..ca887f817722 100644 --- a/sci-libs/spqr/metadata.xml +++ b/sci-libs/spqr/metadata.xml @@ -19,4 +19,7 @@ <flag name="tbb">Enable multithreading with the Intel Threads Building Block <pkg>dev-cpp/tbb</pkg></flag> </use> +<upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> +</upstream> </pkgmetadata> diff --git a/sci-libs/spqr/spqr-2.0.9-r2.ebuild b/sci-libs/spqr/spqr-2.0.9-r3.ebuild index 725a9490aa41..b63bdbe966ea 100644 --- a/sci-libs/spqr/spqr-2.0.9-r2.ebuild +++ b/sci-libs/spqr/spqr-2.0.9-r3.ebuild @@ -20,7 +20,7 @@ BDEPEND="virtual/pkgconfig # spqr links to metis directly, too. DEPEND=" virtual/lapack - >=sci-libs/cholmod-2[lapack,partition?] + =sci-libs/cholmod-3*[lapack,partition?] partition? ( >=sci-libs/metis-5.1.0 ) tbb? ( <dev-cpp/tbb-2021:= )" RDEPEND="${DEPEND}" diff --git a/sci-libs/spqr/spqr-3.0.3.ebuild b/sci-libs/spqr/spqr-3.0.3.ebuild new file mode 100644 index 000000000000..2ccb6181a12e --- /dev/null +++ b/sci-libs/spqr/spqr-3.0.3.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib toolchain-funcs + +Sparse_PV="7.0.0" +Sparse_P="SuiteSparse-${Sparse_PV}" +DESCRIPTION="Multithreaded multifrontal sparse QR factorization library" +HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html" +SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz" + +LICENSE="GPL-2+" +SLOT="0/3" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc openmp test" +RESTRICT="!test? ( test )" + +DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV} + >=sci-libs/amd-3.0.3 + >=sci-libs/colamd-3.0.3 + >=sci-libs/cholmod-4.0.3 + virtual/blas" +RDEPEND="${DEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +S="${WORKDIR}/${Sparse_P}/${PN^^}" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +multilib_src_configure() { + local mycmakeargs=( + -DNSTATIC=ON + -DNOPENMP=$(usex openmp OFF ON) + -DDEMO=$(usex test) + ) + cmake_src_configure +} + +multilib_src_test() { + # Run demo files + ./qrsimple < "${S}"/Matrix/ash219.mtx || die "failed testing" + ./qrsimplec < "${S}"/Matrix/ash219.mtx || die "failed testing" + ./qrsimple < "${S}"/Matrix/west0067.mtx || die "failed testing" + ./qrsimplec < "${S}"/Matrix/west0067.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a2.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/r2.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a04.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a2.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/west0067.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/c2.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a0.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/lfat5b.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/bfwa62.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/LFAT5.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/b1_ss.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/bcspwr01.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/lpi_galenet.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/lpi_itest6.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/ash219.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a4.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/s32.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/c32.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/lp_share1b.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/a1.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/GD06_theory.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/GD01_b.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/Tina_AskCal_perm.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/Tina_AskCal.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/GD98_a.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/Ragusa16.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/young1c.mtx || die "failed testing" + ./qrdemo < "${S}"/Matrix/lp_e226_transposed.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a2.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/r2.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a04.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a2.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/west0067.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/c2.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a0.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/lfat5b.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/bfwa62.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/LFAT5.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/b1_ss.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/bcspwr01.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/lpi_galenet.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/lpi_itest6.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/ash219.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a4.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/s32.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/c32.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/lp_share1b.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/a1.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/GD06_theory.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/GD01_b.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/Tina_AskCal_perm.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/Tina_AskCal.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/GD98_a.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/Ragusa16.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/young1c.mtx || die "failed testing" + ./qrdemoc < "${S}"/Matrix/lp_e226_transposed.mtx || die "failed testing" +} + +multilib_src_install() { + if use doc; then + pushd "${S}/Doc" + emake clean + rm -rf *.pdf + emake + popd + DOCS="${S}/Doc/*.pdf" + fi + cmake_src_install +} diff --git a/sci-libs/spr/spr-3.3.2.ebuild b/sci-libs/spr/spr-3.3.2.ebuild index 5c35b6b55302..3b639a0e109b 100644 --- a/sci-libs/spr/spr-3.3.2.ebuild +++ b/sci-libs/spr/spr-3.3.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,7 +6,7 @@ EAPI=6 inherit autotools DESCRIPTION="Statistical analysis and machine learning library" -HOMEPAGE="http://statpatrec.sourceforge.net/" +HOMEPAGE="https://statpatrec.sourceforge.net/" SRC_URI="mirror://sourceforge/statpatrec/${P^^}.tar.gz" LICENSE="GPL-2" diff --git a/sci-libs/stellarsolver/Manifest b/sci-libs/stellarsolver/Manifest index 851d88078164..5b8e51985b49 100644 --- a/sci-libs/stellarsolver/Manifest +++ b/sci-libs/stellarsolver/Manifest @@ -1 +1 @@ -DIST stellarsolver-2.4.tar.gz 23402982 BLAKE2B 6eb9dafdf2a209afba10c09f7e7c0f6832a4399cd67c6ed3e4eb87ba98f2163ee8cbb342490314246c77d13581d1c0547817b6ab3c292685f3c496fa305f320d SHA512 f397ddafd3bb4774ac89e95673f67c4fef40ea0be842555608d95978ee26949b21b16cc984e00e936eda2ceca316f604b784b44844cf37ad1e44a5ef8d7e75f8 +DIST stellarsolver-2.5.tar.gz 23402988 BLAKE2B ec1ab428413104a329128e3e90883884eedf2c031fb4f3f5a8ab7579243a7b7a496579f3127ad0324176cf825d02a417e1538272b931a87090f1373adf0d1239 SHA512 003522ac0b4130e0ca16ccb617743e3716aa2a182ad63abfb901ea0b47c28a745e8ca1e5b7874d17636ff948b1ebc055277557f89a159e425af7d2a64f513fe8 diff --git a/sci-libs/stellarsolver/stellarsolver-2.4.ebuild b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild index 1473c730ee95..1473c730ee95 100644 --- a/sci-libs/stellarsolver/stellarsolver-2.4.ebuild +++ b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild diff --git a/sci-libs/suitesparseconfig/Manifest b/sci-libs/suitesparseconfig/Manifest index 7474afad0356..23d23ac03bc7 100644 --- a/sci-libs/suitesparseconfig/Manifest +++ b/sci-libs/suitesparseconfig/Manifest @@ -1 +1,2 @@ +DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e DIST suitesparseconfig-5.4.0.tar.bz2 257352 BLAKE2B 3832e34281c742a7d704dde866c53c742420486d782075e047b605fb2062d77353cda8670138c4bef62c73d16e123a8a74f65272a01766f124c1e53f9ba32e9d SHA512 e91f60f426b73add473c6341e30512b8fbe65b7850cd83f3852e78f1e74ce067b7ae1577ccc795698e680a841a9d32c2ca073651a4fe95f0b723578721aec874 diff --git a/sci-libs/suitesparseconfig/metadata.xml b/sci-libs/suitesparseconfig/metadata.xml index 58f40fb53a98..c79fd37845bc 100644 --- a/sci-libs/suitesparseconfig/metadata.xml +++ b/sci-libs/suitesparseconfig/metadata.xml @@ -9,4 +9,7 @@ SuiteSparse_config is a set of configuration files for the SuiteSparse matrix libraries from CISE at University of Florida. It contains some headers and makefiles. </longdescription> + <upstream> + <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id> + </upstream> </pkgmetadata> diff --git a/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild b/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild index c149d7225fb8..0de6728aeb82 100644 --- a/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild +++ b/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild @@ -13,7 +13,7 @@ SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2" # SuiteSparse_config directory". LICENSE="public-domain" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" IUSE="static-libs" multilib_src_configure() { diff --git a/sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild b/sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild new file mode 100644 index 000000000000..01afb6d2266d --- /dev/null |