diff options
| author | root <root@alpha.trunkmasters.com> | 2026-09-16 03:04:44 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-09-16 03:04:44 -0500 |
| commit | 687a263b5212436c1ced6387f36d785b0a34599f (patch) | |
| tree | 0196c232ff96b66c09be11acb466add8ce44899e /sci-libs | |
| parent | afe8b68a6636c2d8e95d0710f831470d59ab2790 (diff) | |
| download | baldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.tar.gz baldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.tar.xz baldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.zip | |
Adding metadata
Diffstat (limited to 'sci-libs')
| -rw-r--r-- | sci-libs/cantera/Manifest | 3 | ||||
| -rw-r--r-- | sci-libs/cantera/cantera-3.0.1-r1.ebuild | 147 | ||||
| -rw-r--r-- | sci-libs/cantera/cantera-3.0.1-r2.ebuild | 149 | ||||
| -rw-r--r-- | sci-libs/cantera/cantera-3.1.0-r1.ebuild | 156 | ||||
| -rw-r--r-- | sci-libs/cantera/cantera-3.2.0-r1.ebuild (renamed from sci-libs/cantera/cantera-3.1.0.ebuild) | 18 | ||||
| -rw-r--r-- | sci-libs/cantera/cantera-3.2.0-r2.ebuild (renamed from sci-libs/cantera/cantera-3.2.0.ebuild) | 16 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.0.0_env.patch | 37 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.0.1_add_fmt11_support.patch | 46 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.0.1_fix_fmt_with_c++20.patch | 323 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.1.0_enable_py3.14_packaging.patch | 12 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.2.0_env.patch (renamed from sci-libs/cantera/files/cantera-3.1.0_env.patch) | 0 | ||||
| -rw-r--r-- | sci-libs/cantera/files/cantera-3.2.0_fix_species_slicing_error_numpy-2.4.patch | 48 | ||||
| -rw-r--r-- | sci-libs/gdal/Manifest | 3 | ||||
| -rw-r--r-- | sci-libs/gdal/gdal-3.13.3.ebuild | 529 |
14 files changed, 593 insertions, 894 deletions
diff --git a/sci-libs/cantera/Manifest b/sci-libs/cantera/Manifest index b822b61eeaf8..323ce4337481 100644 --- a/sci-libs/cantera/Manifest +++ b/sci-libs/cantera/Manifest @@ -1,5 +1,2 @@ -DIST cantera-3.0.1.tar.gz 2451841 BLAKE2B b05771021a81d5266dfed382e2a6357e5b70653c6d9cfb5f03a6755095f4f8f4e7c0f78b79e0bf131c01fefce46bbc647c790ee412b6457c515cda39d4fc3054 SHA512 fa993b33867c6c0a0ca539f52116c4cdea739dfcd30deb5d2f66042f290f7f2f60112d7a37c38fbd8a38a119e5af00a7a85fd80b6e36388202b666be0ddd7715 -DIST cantera-3.1.0.tar.gz 2605640 BLAKE2B 6912b4e6b96ff71f02484a8fa051f8d34d0fc24c933e08e129531c6fe10e80fea74fcf6a6f7b00736de7b6ed5d4ab483f37a51b532d9bf154646546a8856e2a2 SHA512 0400a01ed0e244e6a34c9c04ffd5174ce6632c713c9bf003ab96e22b6f5a62713ee6a7eb07d7ae614e9f4e303e17df7fd234d66a48e43e46ede0246bb2bac52b -DIST cantera-3.1.0_example_data.tar.gz 244545 BLAKE2B c341a7d530ad2486660b1dfe870f6ddd49280101bc7e98d3a88dea3aaaab0ae6c25383746f688164a04385a462a513f706d0ee248a675806de22df467d4f074f SHA512 a6171a106460f8b7a84bf825db38826444c30f921ba27896a50e1b52177550deaa5f66e11f6f91a2b91c4023e3dfb55b46233d2b6176afa771154dd81f8b34ab DIST cantera-3.2.0.tar.gz 2817937 BLAKE2B 5e6058fb57c05315661f6298f6f4384d266510221e1bc5c8b2b7041b11a6fab0d588c87d05c61543a87ac98fea01763f68614c25948783e8fa17a2a3a7ca2846 SHA512 d587029567ebc4685d03c811fbcc56f676e2f29270b8cb69d22e2518911db2bdfe40c7683d822c09c0a723925479b247beae44a3edc07c86a48e67d2bad628b8 DIST cantera-3.2.0_example_data.tar.gz 260526 BLAKE2B 2c1ff2430bc42867e6dc41cb0677382139fed152e022cae0b94597f8962181d1c46013818344429114584826c7e6dbe58fd9854a5f3d46fd966fe9fb248cb207 SHA512 940a16f69975b7171d56a1d8c89bc0d8e2e306e8be041974bdd33f4061dca4c172555d1886785f294f3b009856b4112e95870c4b891a9153529c94747fca936f diff --git a/sci-libs/cantera/cantera-3.0.1-r1.ebuild b/sci-libs/cantera/cantera-3.0.1-r1.ebuild deleted file mode 100644 index 995ad38e3f58..000000000000 --- a/sci-libs/cantera/cantera-3.0.1-r1.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -FORTRAN_NEEDED=fortran -FORTRAN_STANDARD="77 90" - -inherit flag-o-matic fortran-2 python-single-r1 scons-utils toolchain-funcs - -DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport" -HOMEPAGE="https://www.cantera.org" -SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~x86" -IUSE="fortran hdf5 lapack +python test" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} -" - -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/eigen:= - dev-cpp/yaml-cpp - hdf5? ( sci-libs/highfive ) - !lapack? ( sci-libs/sundials:0= ) - lapack? ( - >=sci-libs/sundials-6.5.0:0=[lapack?] - virtual/lapack - ) - python? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/ruamel-yaml[${PYTHON_USEDEP}] - ') - ) -" - -DEPEND=" - ${RDEPEND} - dev-libs/boost:= - <dev-libs/libfmt-11 - 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}/${PN}-3.0.0_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() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://github.com/Cantera/cantera/issues/1783 - filter-lto - - 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/cantera-3.0.1-r2.ebuild b/sci-libs/cantera/cantera-3.0.1-r2.ebuild deleted file mode 100644 index 186dd6aa4323..000000000000 --- a/sci-libs/cantera/cantera-3.0.1-r2.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -FORTRAN_NEEDED=fortran -FORTRAN_STANDARD="77 90" - -inherit flag-o-matic fortran-2 python-single-r1 scons-utils toolchain-funcs - -DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport" -HOMEPAGE="https://www.cantera.org" -SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="fortran hdf5 lapack +python test" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} -" - -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/eigen:= - dev-cpp/yaml-cpp - hdf5? ( sci-libs/highfive ) - !lapack? ( sci-libs/sundials:0= ) - lapack? ( - >=sci-libs/sundials-6.5.0:0=[lapack?] - virtual/lapack - ) - python? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/ruamel-yaml[${PYTHON_USEDEP}] - ') - ) -" - -DEPEND=" - ${RDEPEND} - dev-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}/${PN}-3.0.0_env.patch" - "${FILESDIR}/${P}_fix_fmt_with_c++20.patch" - "${FILESDIR}/${P}_add_fmt11_support.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() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://github.com/Cantera/cantera/issues/1783 - filter-lto - - scons_vars=( - AR="$(tc-getAR)" - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - cc_flags="${CXXFLAGS}" - cxx_flags="-std=c++20" - 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/cantera-3.1.0-r1.ebuild b/sci-libs/cantera/cantera-3.1.0-r1.ebuild deleted file mode 100644 index 0fc970724500..000000000000 --- a/sci-libs/cantera/cantera-3.1.0-r1.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) - -FORTRAN_NEEDED=fortran -FORTRAN_STANDARD="77 90" - -inherit flag-o-matic 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/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://github.com/Cantera/cantera-example-data/archive/refs/tags/v${PV}.tar.gz -> ${P}_example_data.tar.gz -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="fortran hdf5 lapack +python test" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} -" - -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/eigen:= - dev-cpp/yaml-cpp - hdf5? ( sci-libs/highfive ) - !lapack? ( sci-libs/sundials:0= ) - lapack? ( - >=sci-libs/sundials-6.5.0:0=[lapack?] - virtual/lapack - ) - python? ( - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/ruamel-yaml[${PYTHON_USEDEP}] - ') - ) -" - -DEPEND=" - ${RDEPEND} - dev-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}/${PN}-3.1.0_env.patch" - "${FILESDIR}/${PN}-3.1.0_enable_py3.14_packaging.patch" -) - -src_unpack() { - default - mv -T "${WORKDIR}/${PN}-example-data-${PV}" "${S}"/data/example_data || die -} - -pkg_setup() { - fortran-2_pkg_setup - python-single-r1_pkg_setup -} - -## Full list of configuration options of Cantera is presented here: -## https://cantera.org/3.1/develop/compiling/config-options.html -src_configure() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://github.com/Cantera/cantera/issues/1783 - filter-lto - - scons_vars=( - AR="$(tc-getAR)" - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - cc_flags="${CXXFLAGS}" - cxx_flags="-std=c++20" - 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="y" python_cmd="${EPYTHON}" ) - else - scons_targets+=( python_package="n" ) - 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/cantera-3.1.0.ebuild b/sci-libs/cantera/cantera-3.2.0-r1.ebuild index 02c67e8444ca..698174ef9d09 100644 --- a/sci-libs/cantera/cantera-3.1.0.ebuild +++ b/sci-libs/cantera/cantera-3.2.0-r1.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 ~x86" -IUSE="fortran hdf5 lapack +python test" +IUSE="fortran hdf5 +python test" RESTRICT="!test? ( test )" REQUIRED_USE=" @@ -31,15 +31,11 @@ RDEPEND=" ${PYTHON_DEPS} dev-cpp/eigen:= dev-cpp/yaml-cpp + sci-libs/sundials:0= hdf5? ( sci-libs/highfive ) - !lapack? ( sci-libs/sundials:0= ) - lapack? ( - >=sci-libs/sundials-6.5.0:0=[lapack?] - virtual/lapack - ) python? ( $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] + <dev-python/numpy-2.4.0[${PYTHON_USEDEP}] dev-python/ruamel-yaml[${PYTHON_USEDEP}] ') ) @@ -47,6 +43,7 @@ RDEPEND=" DEPEND=" ${RDEPEND} + >=app-text/doxygen-1.13.0[dot] dev-libs/boost:= dev-libs/libfmt python? ( @@ -69,7 +66,7 @@ DEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-3.1.0_env.patch" + "${FILESDIR}/${P}_env.patch" ) src_unpack() { @@ -83,7 +80,7 @@ pkg_setup() { } ## Full list of configuration options of Cantera is presented here: -## https://cantera.org/3.1/develop/compiling/config-options.html +## https://cantera.org/3.2/develop/compiling/config-options.html src_configure() { # -Werror=odr, -Werror=lto-type-mismatch # https://github.com/Cantera/cantera/issues/1783 @@ -102,19 +99,18 @@ src_configure() { renamed_shared_libraries="no" use_pch="no" ## In some cases other order can break the detection of right location of Boost: ## + system_blas_lapack="n" 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=( diff --git a/sci-libs/cantera/cantera-3.2.0.ebuild b/sci-libs/cantera/cantera-3.2.0-r2.ebuild index a039c7321082..59367dd6d172 100644 --- a/sci-libs/cantera/cantera-3.2.0.ebuild +++ b/sci-libs/cantera/cantera-3.2.0-r2.ebuild @@ -19,8 +19,8 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~x86" -IUSE="fortran hdf5 lapack +python test" +KEYWORDS="~amd64 ~x86" +IUSE="fortran hdf5 +python test" RESTRICT="!test? ( test )" REQUIRED_USE=" @@ -31,12 +31,8 @@ RDEPEND=" ${PYTHON_DEPS} dev-cpp/eigen:= dev-cpp/yaml-cpp + sci-libs/sundials:0= hdf5? ( sci-libs/highfive ) - !lapack? ( sci-libs/sundials:0= ) - lapack? ( - >=sci-libs/sundials-6.5.0:0=[lapack?] - virtual/lapack - ) python? ( $(python_gen_cond_dep ' dev-python/numpy[${PYTHON_USEDEP}] @@ -70,7 +66,8 @@ DEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-3.1.0_env.patch" + "${FILESDIR}/${P}_env.patch" + "${FILESDIR}/${P}_fix_species_slicing_error_numpy-2.4.patch" ) src_unpack() { @@ -103,19 +100,18 @@ src_configure() { renamed_shared_libraries="no" use_pch="no" ## In some cases other order can break the detection of right location of Boost: ## + system_blas_lapack="n" 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=( diff --git a/sci-libs/cantera/files/cantera-3.0.0_env.patch b/sci-libs/cantera/files/cantera-3.0.0_env.patch deleted file mode 100644 index cfc2874250e4..000000000000 --- a/sci-libs/cantera/files/cantera-3.0.0_env.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -Naur a/SConstruct b/SConstruct ---- a/SConstruct -+++ b/SConstruct -@@ -819,7 +819,7 @@ - toolchain = ["default"] - - env = Environment(tools=toolchain+["textfile", "subst", "recursiveInstall", "UnitsInterfaceBuilder", "wix", "gch"], -- ENV={"PATH": os.environ["PATH"]}, -+ ENV={'PATH': os.environ['PATH'], 'CCACHE_DIR': os.environ.get('CCACHE_DIR','')}, - toolchain=toolchain, - **extraEnvArgs) - -@@ -970,11 +974,7 @@ - env["CPU"] = get_processor_name() - logger.info(f"Compiling on {env['CPU']!r}") - --try: -- env["git_commit"] = get_command_output("git", "rev-parse", "--short", "HEAD") -- logger.info(f"Building Cantera from git commit {env['git_commit']!r}") --except (subprocess.CalledProcessError, FileNotFoundError): -- env["git_commit"] = "unknown" -+env["git_commit"] = "unknown" - - # Print values of all build options: - # the (updated) "cantera.conf" combines all options that were specified by the user -diff -Naur a/src/SConscript b/src/SConscript ---- a/src/SConscript -+++ b/src/SConscript -@@ -89,7 +89,7 @@ - shim = pyenv.SharedObject("extensions/pythonShim.cpp") - pylibname = f"../lib/cantera_python{pyenv['py_version_short'].replace('.', '_')}" - lib = build(pyenv.SharedLibrary(pylibname, shim, SPAWN=get_spawn(pyenv))) -- install("$inst_shlibdir", lib) -+ install("$inst_shlibdir/cantera", lib) - - - # build the Cantera static library diff --git a/sci-libs/cantera/files/cantera-3.0.1_add_fmt11_support.patch b/sci-libs/cantera/files/cantera-3.0.1_add_fmt11_support.patch deleted file mode 100644 index 7e0d5333a105..000000000000 --- a/sci-libs/cantera/files/cantera-3.0.1_add_fmt11_support.patch +++ /dev/null @@ -1,46 +0,0 @@ -This is upstream patch with removed changes for "doc/sphinx/develop/compiling/dependencies.md" file -Upstream issue: https://github.com/Cantera/cantera/issues/1735 -Gentoo issue: https://bugs.gentoo.org/945800 - -From c8f190928fd7a074944f0f4c58661f84a282a35e Mon Sep 17 00:00:00 2001 -From: Ray Speth <speth@mit.edu> -Date: Wed, 24 Jul 2024 20:12:18 -0400 -Subject: [PATCH] Add support for fmt 11.0 - -Resolves #1735 ---- - SConstruct | 2 +- - doc/sphinx/develop/compiling/dependencies.md | 2 +- - include/cantera/base/fmt.h | 8 ++++++++ - 3 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/SConstruct b/SConstruct -index 3863fe3a32..0b607ac891 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -216,7 +216,7 @@ config_options = [ - options with spaces, for example, "cxx_flags='-g -Wextra -O3 --std=c++14'" - """, - { -- "cl": "/EHsc /std:c++17", -+ "cl": "/EHsc /std:c++17 /utf-8", - "default": "-std=c++17" - }), - Option( -diff --git a/include/cantera/base/fmt.h b/include/cantera/base/fmt.h -index 1e0b3a0423..6b4d734fe3 100644 ---- a/include/cantera/base/fmt.h -+++ b/include/cantera/base/fmt.h -@@ -42,4 +42,12 @@ void fmt_append(fmt::memory_buffer& b, const std::string& tmpl, Args... args) { - } - #endif - -+#if FMT_VERSION > 100000 -+ #if CT_USE_SYSTEM_FMT -+ #include <fmt/ranges.h> -+ #else -+ #include <fmt/join.h> -+ #endif -+#endif -+ - #endif diff --git a/sci-libs/cantera/files/cantera-3.0.1_fix_fmt_with_c++20.patch b/sci-libs/cantera/files/cantera-3.0.1_fix_fmt_with_c++20.patch deleted file mode 100644 index 3b6b3da50a53..000000000000 --- a/sci-libs/cantera/files/cantera-3.0.1_fix_fmt_with_c++20.patch +++ /dev/null @@ -1,323 +0,0 @@ -This is upstream patch. -Upstream issue: https://github.com/Cantera/cantera/issues/1711 - -From edc8243577020b7dd6cd0fd85285cc8ca043b5ea Mon Sep 17 00:00:00 2001 -From: Ray Speth <speth@mit.edu> -Date: Wed, 19 Jun 2024 00:09:02 -0400 -Subject: [PATCH] Fix usage of fmt when compiling in C++20 mode - -Resolves #1711 ---- - include/cantera/base/AnyMap.h | 6 ++-- - include/cantera/base/ctexceptions.h | 2 +- - include/cantera/base/fmt.h | 8 ++--- - include/cantera/base/global.h | 8 ++--- - src/base/AnyMap.cpp | 4 +-- - src/base/SolutionArray.cpp | 51 ++++++++++++++++------------- - src/thermo/PureFluidPhase.cpp | 2 +- - src/thermo/ThermoPhase.cpp | 2 +- - 8 files changed, 46 insertions(+), 37 deletions(-) - -diff --git a/include/cantera/base/AnyMap.h b/include/cantera/base/AnyMap.h -index 81ac0071a7..b1f0747f33 100644 ---- a/include/cantera/base/AnyMap.h -+++ b/include/cantera/base/AnyMap.h -@@ -746,7 +746,8 @@ class InputFileError : public CanteraError - : CanteraError( - procedure, - formatError( -- (sizeof...(args) == 0) ? message : fmt::format(message, args...), -+ (sizeof...(args) == 0) ? message -+ : fmt::format(fmt::runtime(message), args...), - node.m_line, node.m_column, node.m_metadata)) - { - } -@@ -761,7 +762,8 @@ class InputFileError : public CanteraError - : CanteraError( - procedure, - formatError2( -- (sizeof...(args) == 0) ? message : fmt::format(message, args...), -+ (sizeof...(args) == 0) ? message -+ : fmt::format(fmt::runtime(message), args...), - node1.m_line, node1.m_column, node1.m_metadata, - node2.m_line, node2.m_column, node2.m_metadata)) - { -diff --git a/include/cantera/base/ctexceptions.h b/include/cantera/base/ctexceptions.h -index fb21d3ef22..476e16bf46 100644 ---- a/include/cantera/base/ctexceptions.h -+++ b/include/cantera/base/ctexceptions.h -@@ -86,7 +86,7 @@ class CanteraError : public std::exception - if (sizeof...(args) == 0) { - msg_ = msg; - } else { -- msg_ = fmt::format(msg, args...); -+ msg_ = fmt::format(fmt::runtime(msg), args...); - } - } - -diff --git a/include/cantera/base/fmt.h b/include/cantera/base/fmt.h -index 8341be115e..f613e17b31 100644 ---- a/include/cantera/base/fmt.h -+++ b/include/cantera/base/fmt.h -@@ -26,13 +26,13 @@ - - #if FMT_VERSION < 80000 - template <typename... Args> --void fmt_append(fmt::memory_buffer& b, Args... args) { -- format_to(b, args...); -+void fmt_append(fmt::memory_buffer& b, const std::string& tmpl, Args... args) { -+ format_to(b, tmpl, args...); - } - #else - template <typename... Args> --void fmt_append(fmt::memory_buffer& b, Args... args) { -- format_to(fmt::appender(b), args...); -+void fmt_append(fmt::memory_buffer& b, const std::string& tmpl, Args... args) { -+ format_to(fmt::appender(b), fmt::runtime(tmpl), args...); - } - #endif - -diff --git a/include/cantera/base/global.h b/include/cantera/base/global.h -index c0092c43ee..aa0f636754 100644 ---- a/include/cantera/base/global.h -+++ b/include/cantera/base/global.h -@@ -176,7 +176,7 @@ void writelog(const string& fmt, const Args&... args) { - if (sizeof...(args) == 0) { - writelog_direct(fmt); - } else { -- writelog_direct(fmt::format(fmt, args...)); -+ writelog_direct(fmt::format(fmt::runtime(fmt), args...)); - } - } - -@@ -228,7 +228,7 @@ void warn_deprecated(const string& method, const string& msg, const Args&... arg - if (sizeof...(args) == 0) { - _warn_deprecated(method, msg); - } else { -- _warn_deprecated(method, fmt::format(msg, args...)); -+ _warn_deprecated(method, fmt::format(fmt::runtime(msg), args...)); - } - } - -@@ -253,7 +253,7 @@ void warn(const string& warning, const string& method, - if (sizeof...(args) == 0) { - _warn(warning, method, msg); - } else { -- _warn(warning, method, fmt::format(msg, args...)); -+ _warn(warning, method, fmt::format(fmt::runtime(msg), args...)); - } - } - -@@ -268,7 +268,7 @@ void warn_user(const string& method, const string& msg, const Args&... args) { - if (sizeof...(args) == 0) { - _warn("Cantera", method, msg); - } else { -- _warn("Cantera", method, fmt::format(msg, args...)); -+ _warn("Cantera", method, fmt::format(fmt::runtime(msg), args...)); - } - } - -diff --git a/src/base/AnyMap.cpp b/src/base/AnyMap.cpp -index 84d74c1358..b35aabb8c3 100644 ---- a/src/base/AnyMap.cpp -+++ b/src/base/AnyMap.cpp -@@ -164,7 +164,7 @@ string formatDouble(double x, long int precision) - size_t last; - string s0; - if (useExp) { -- s0 = fmt::format(fmt::format("{:.{}e}", x, precision)); -+ s0 = fmt::format(fmt::runtime(fmt::format("{:.{}e}", x, precision))); - // last digit of significand - last = s0.size() - 5; - if (s0[last + 1] == 'e') { -@@ -195,7 +195,7 @@ string formatDouble(double x, long int precision) - if (s0[last - 1] == '0') { - s1 = s0; // Recycle original string - } else if (useExp) { -- s1 = fmt::format(fmt::format("{:.{}e}", x, precision - 2)); -+ s1 = fmt::format(fmt::runtime(fmt::format("{:.{}e}", x, precision - 2))); - } else { - s1 = fmt::format("{:.{}f}", x, precision - log10x - 2); - } -diff --git a/src/base/SolutionArray.cpp b/src/base/SolutionArray.cpp -index 4819aaa756..986c3e2373 100644 ---- a/src/base/SolutionArray.cpp -+++ b/src/base/SolutionArray.cpp -@@ -232,17 +232,19 @@ vector<string> doubleColumn(string name, const vector<double>& comp, - if (csize <= rows) { - for (const auto& val : comp) { - data.push_back(val); -- raw.push_back(boost::trim_copy(fmt::format(notation, val))); -+ raw.push_back(boost::trim_copy(fmt::format(fmt::runtime(notation), val))); - } - } else { - dots = (rows + 1) / 2; - for (int row = 0; row < dots; row++) { - data.push_back(comp[row]); -- raw.push_back(boost::trim_copy(fmt::format(notation, comp[row]))); -+ raw.push_back(boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row]))); - } - for (int row = csize - rows / 2; row < csize; row++) { - data.push_back(comp[row]); -- raw.push_back(boost::trim_copy(fmt::format(notation, comp[row]))); -+ raw.push_back(boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row]))); - } - } - -@@ -292,17 +294,17 @@ vector<string> doubleColumn(string name, const vector<double>& comp, - // all entries are integers - notation = fmt::format(" {{:>{}.0f}}", over + maxLen); - } -- maxLen = fmt::format(notation, 0.).size(); -+ maxLen = fmt::format(fmt::runtime(notation), 0.).size(); - - // assemble output - string section = fmt::format("{{:>{}}}", maxLen); -- vector<string> col = {fmt::format(section, name)}; -+ vector<string> col = {fmt::format(fmt::runtime(section), name)}; - int count = 0; - for (const auto& val : data) { -- col.push_back(fmt::format(notation, val)); -+ col.push_back(fmt::format(fmt::runtime(notation), val)); - count++; - if (count == dots) { -- col.push_back(fmt::format(section, "...")); -+ col.push_back(fmt::format(fmt::runtime(section), "...")); - } - } - return col; -@@ -320,7 +322,8 @@ vector<string> integerColumn(string name, const vector<long int>& comp, - if (csize <= rows) { - for (const auto& val : comp) { - data.push_back(val); -- string formatted = boost::trim_copy(fmt::format(notation, val)); -+ string formatted = boost::trim_copy( -+ fmt::format(fmt::runtime(notation), val)); - if (formatted[0] == '-') { - formatted = formatted.substr(1); - } -@@ -330,7 +333,8 @@ vector<string> integerColumn(string name, const vector<long int>& comp, - dots = (rows + 1) / 2; - for (int row = 0; row < dots; row++) { - data.push_back(comp[row]); -- string formatted = boost::trim_copy(fmt::format(notation, comp[row])); -+ string formatted = boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row])); - if (formatted[0] == '-') { - formatted = formatted.substr(1); - } -@@ -338,7 +342,8 @@ vector<string> integerColumn(string name, const vector<long int>& comp, - } - for (int row = csize - rows / 2; row < csize; row++) { - data.push_back(comp[row]); -- string formatted = boost::trim_copy(fmt::format(notation, comp[row])); -+ string formatted = boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row])); - if (formatted[0] == '-') { - formatted = formatted.substr(1); - } -@@ -356,13 +361,13 @@ vector<string> integerColumn(string name, const vector<long int>& comp, - } - - // assemble output -- vector<string> col = {fmt::format(notation, name)}; -+ vector<string> col = {fmt::format(fmt::runtime(notation), name)}; - int count = 0; - for (const auto& val : data) { -- col.push_back(fmt::format(notation, val)); -+ col.push_back(fmt::format(fmt::runtime(notation), val)); - count++; - if (count == dots) { -- col.push_back(fmt::format(notation, "..")); -+ col.push_back(fmt::format(fmt::runtime(notation), "..")); - } - } - return col; -@@ -381,31 +386,33 @@ vector<string> stringColumn(string name, const vector<string>& comp, - for (const auto& val : comp) { - data.push_back(val); - maxLen = std::max(maxLen, -- boost::trim_copy(fmt::format(notation, val)).size()); -+ boost::trim_copy(fmt::format(fmt::runtime(notation), val)).size()); - } - } else { - dots = (rows + 1) / 2; - for (int row = 0; row < dots; row++) { - data.push_back(comp[row]); - maxLen = std::max(maxLen, -- boost::trim_copy(fmt::format(notation, comp[row])).size()); -+ boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row])).size()); - } - for (int row = csize - rows / 2; row < csize; row++) { - data.push_back(comp[row]); - maxLen = std::max(maxLen, -- boost::trim_copy(fmt::format(notation, comp[row])).size()); -+ boost::trim_copy( -+ fmt::format(fmt::runtime(notation), comp[row])).size()); - } - } - - // assemble output - notation = fmt::format(" {{:>{}}}", maxLen); -- vector<string> col = {fmt::format(notation, name)}; -+ vector<string> col = {fmt::format(fmt::runtime(notation), name)}; - int count = 0; - for (const auto& val : data) { -- col.push_back(fmt::format(notation, val)); -+ col.push_back(fmt::format(fmt::runtime(notation), val)); - count++; - if (count == dots) { -- col.push_back(fmt::format(notation, "...")); -+ col.push_back(fmt::format(fmt::runtime(notation), "...")); - } - } - return col; -@@ -443,8 +450,8 @@ vector<string> formatColumn(string name, const AnyValue& comp, int rows, int wid - - // assemble output - string notation = fmt::format(" {{:>{}}}", maxLen); -- repr = fmt::format(notation, repr); -- vector<string> col = {fmt::format(notation, name)}; -+ repr = fmt::format(fmt::runtime(notation), repr); -+ vector<string> col = {fmt::format(fmt::runtime(notation), name)}; - if (size <= rows) { - for (int row = 0; row < size; row++) { - col.push_back(repr); -@@ -454,7 +461,7 @@ vector<string> formatColumn(string name, const AnyValue& comp, int rows, int wid - for (int row = 0; row < dots; row++) { - col.push_back(repr); - } -- col.push_back(fmt::format(notation, "...")); -+ col.push_back(fmt::format(fmt::runtime(notation), "...")); - for (int row = size - rows / 2; row < size; row++) { - col.push_back(repr); - } -diff --git a/src/thermo/PureFluidPhase.cpp b/src/thermo/PureFluidPhase.cpp -index 65e27c52d7..3e45009422 100644 ---- a/src/thermo/PureFluidPhase.cpp -+++ b/src/thermo/PureFluidPhase.cpp -@@ -393,7 +393,7 @@ string PureFluidPhase::report(bool show_thermo, double threshold) const - - string one_property = fmt::format("{{:>{}}} {{:<.5g}} {{}}\n", name_width); - -- string two_prop_header = "{} {:^15} {:^15}\n"; -+ constexpr auto two_prop_header = "{} {:^15} {:^15}\n"; - string kg_kmol_header = fmt::format( - two_prop_header, blank_leader, "1 kg", "1 kmol" - ); -diff --git a/src/thermo/ThermoPhase.cpp b/src/thermo/ThermoPhase.cpp -index 31b2c0ee9f..2b3993be35 100644 ---- a/src/thermo/ThermoPhase.cpp -+++ b/src/thermo/ThermoPhase.cpp -@@ -1291,7 +1291,7 @@ string ThermoPhase::report(bool show_thermo, double threshold) const - - string one_property = fmt::format("{{:>{}}} {{:<.5g}} {{}}\n", name_width); - -- string two_prop_header = "{} {:^15} {:^15}\n"; -+ constexpr auto two_prop_header = "{} {:^15} {:^15}\n"; - string kg_kmol_header = fmt::format( - two_prop_header, blank_leader, "1 kg", "1 kmol" - ); diff --git a/sci-libs/cantera/files/cantera-3.1.0_enable_py3.14_packaging.patch b/sci-libs/cantera/files/cantera-3.1.0_enable_py3.14_packaging.patch deleted file mode 100644 index 1ecaa421028a..000000000000 --- a/sci-libs/cantera/files/cantera-3.1.0_enable_py3.14_packaging.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff '--color=auto' -Naur a/SConstruct b/SConstruct ---- a/SConstruct -+++ b/SConstruct -@@ -182,7 +182,7 @@ - # Python Package Settings - python_min_version = parse_version("3.8") - # Newest Python version not supported/tested by Cantera --python_max_version = parse_version("3.14") -+python_max_version = parse_version("3.15") - # The string is used to set python_requires in setup.cfg.in - py_requires_ver_str = f">={python_min_version},<{python_max_version}" - diff --git a/sci-libs/cantera/files/cantera-3.1.0_env.patch b/sci-libs/cantera/files/cantera-3.2.0_env.patch index 31766f1afb13..31766f1afb13 100644 --- a/sci-libs/cantera/files/cantera-3.1.0_env.patch +++ b/sci-libs/cantera/files/cantera-3.2.0_env.patch diff --git a/sci-libs/cantera/files/cantera-3.2.0_fix_species_slicing_error_numpy-2.4.patch b/sci-libs/cantera/files/cantera-3.2.0_fix_species_slicing_error_numpy-2.4.patch new file mode 100644 index 000000000000..2c2c019223ec --- /dev/null +++ b/sci-libs/cantera/files/cantera-3.2.0_fix_species_slicing_error_numpy-2.4.patch @@ -0,0 +1,48 @@ +The patch is based on upstream commits: +https://github.com/Cantera/cantera/commit/7f7f37255dfa561c518061a816d9e4ed67dfe1a4 +https://github.com/Cantera/cantera/commit/3d86636ee4c231def3097d117f9679e83a1f6dde +The upstream issue: +https://github.com/Cantera/cantera/issues/2114 + +diff '--color=auto' -Naur a/interfaces/cython/cantera/solutionbase.pyx b/interfaces/cython/cantera/solutionbase.pyx +--- a/interfaces/cython/cantera/solutionbase.pyx ++++ b/interfaces/cython/cantera/solutionbase.pyx +@@ -54,7 +54,7 @@ + cxx_soln.get().setKinetics(newKinetics(stringify("none"))) + cxx_soln.get().setTransportModel(stringify("none")) + _assign_Solution(self, cxx_soln, True) +- self._selected_species = np.ndarray(0, dtype=np.uint64) ++ self._selected_species = np.ndarray(0, dtype=np.intp) + + def _cinit(self, infile="", name="", adjacent=(), origin=None, yaml=None, + thermo=None, species=(), kinetics=None, reactions=(), **kwargs): +@@ -82,7 +82,7 @@ + _assign_Solution(self, CxxNewSolution(), True) + self._init_parts(thermo, species, kinetics, transport, adjacent, reactions) + +- self._selected_species = np.ndarray(0, dtype=np.uint64) ++ self._selected_species = np.ndarray(0, dtype=np.intp) + + def __init__(self, *args, **kwargs): + if isinstance(self, Transport) and kwargs.get("init", True): +@@ -395,9 +395,8 @@ + def __set__(self, species): + if isinstance(species, (str, int)): + species = (species,) +- self._selected_species.resize(len(species)) +- for i,spec in enumerate(species): +- self._selected_species[i] = self.species_index(spec) ++ selection = [self.species_index(spec) for spec in species] ++ self._selected_species = np.array(selection, dtype=np.intp) + + def __getstate__(self): + """Save complete information of the current phase for pickling.""" +@@ -480,7 +479,7 @@ + + cdef _SolutionBase soln = cls(init=False) + _assign_Solution(soln, cxx_soln, True) +- soln._selected_species = np.ndarray(0, dtype=np.uint64) ++ soln._selected_species = np.ndarray(0, dtype=np.intp) + + cdef InterfacePhase iface + if isinstance(soln, Interface): diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest index 16331f5cf9fa..b72f3e8c1d16 100644 --- a/sci-libs/gdal/Manifest +++ b/sci-libs/gdal/Manifest @@ -4,6 +4,9 @@ DIST gdal-3.13.1.tar.xz 9957916 BLAKE2B 582bea82ed21059c8b3348f91806842f0ee5337e DIST gdal-3.13.1.tar.xz.sig 566 BLAKE2B f60b2c5dd5bd55c84aabf5f0f5b2189f2793c49eab7083fe79c308697ade74c2e374beff2a78d6d80c75a74aa47dc3360f3a6bd63191bfdba9b51b77d449690d SHA512 6fa6a8c1bcfb0e69135702d4ee46aa70d0623bd0db933c6844691b08a2a4bbc94fea70ed0c0c1bc0906c551b20186e369cff48eab971fec7c49f82b1305d9b36 DIST gdal-3.13.2.tar.xz 9989660 BLAKE2B 6c22f3a19b28c67c03db83b8138283955371d1a939a1cfdeadd2fa646fa8fb760961f227ba4c819cb2386bc372371352a8c5e45c35ed552d91738590cee22013 SHA512 cef8ff877006dc3c112012edcb8c164e47b2295fca1985ba84e21588f4457aeb1ec9b33487291b2f72686c6d06ecf6144cc6d03fee553caa7ce7165094e88344 DIST gdal-3.13.2.tar.xz.sig 566 BLAKE2B a94d69384c2631e921cfcb9172ebc10daaa3d0f20ab43a9c1c11760d404fa2687870f5da8322ab7464beeabf5ef8560e3eb05ca8f1100deb20518ae4fbd54ce5 SHA512 7efe2dd6d0758a3782bad2acb8c4e5e6eff19e2cef256c4bee4e368b4656c767b288c662852e239bc05bd0afd7d35cc1feeb701bf6137b27dd23f1e7166be9e6 +DIST gdal-3.13.3.tar.xz 9982976 BLAKE2B 21e35a6318321155df27a2c55a4ca6b98f9a724ff7c5cb68866428ba6675aa017f21de1a3f1562cf506e288e23748520c87e0184a495147eb4d91ffc0e534c72 SHA512 e557a38a8bc0f2f1e40c0ca980db00ed22137a610dfdb16d19b18ce12100916bfa5c1fa75d702eb2e26a4e98cf868c2229551bfe2784d6e1131451f758b205dd +DIST gdal-3.13.3.tar.xz.sig 566 BLAKE2B 43ba8ef43ac30f52589e01d5ad6a29932ef3204e9dd0b28fa23b391410e33d5c37a0edaad2cfd9f6a7c233f0ae3021caa24a08597abbecfeb9b54e72bdb2f19c SHA512 fcb0176abdd48b1a7e98ba8c6aa7edf5444eeb85686c4a413100421df182e39af40ccd1659f0a04c11b8da1102b2d78c48ed669163b387ca00faf160bcb7b05d DIST gdalautotest-3.12.4.zip 23266101 BLAKE2B 4425fed6d5a17ae0a222a37e581923015054141d236f15b71179cd55efc0fcee7ec1b572e9af2c2a6c9cf54807a0753e90b7b9cd6d7fbd8ca93beab5a8b75cb2 SHA512 19eef02db070ddf71c213311e702f4a15b2d3dc86a55de6edb22d38396bc477c2da0634035e3186c5172e94bed526b6057e2e8a6c17b4d786ada116ceef41aba DIST gdalautotest-3.13.1.zip 23833294 BLAKE2B c2669145d7b40a5797b1dc6ba3796a1cf8036e2b0af9c50e37165770689f28861ecf0c28a243adf7682b88db668e07c83394b5248abc6f349ce5ab8fc092f41d SHA512 52b7e0769d6dae1cb2c25dd1095a17c7189fe4c917ba5a3da4df28ff6aef52fa31be98fff5e1cefd29952d1dae070b56ed54ce5165a014111ef77ba225eb69d4 DIST gdalautotest-3.13.2.zip 23847042 BLAKE2B 87c1c40050b360a537b7904c79f63532977d824677c40211f7ca62b83d519a0a52fd78cd26def01d2edfe7dc9d1797827688615781e9fc94ef5190e5b8c0a930 SHA512 c940abc2ea0953c9a6065cce139346aad97e525ee7355826d919d81048f3aacda3f0ea06e563e35a444dd22c1566bfe33430c13deab276794374a2c59859fa20 +DIST gdalautotest-3.13.3.zip 23847761 BLAKE2B 6ab9b5a733d49f06fad93216427fb34c368d002afc7bae31402dd6ec31dcd847be32cb2fe8b5ecad0b28cf83d0899e5b8e01b5dbd6fb4e769e4362751b8e693d SHA512 4f235718cdeac3a00a69f3b0b1d6942fd5380443164ac0d0bd2910a9a96735db97e6058222276f8b5be0474e2826c4fc13e9f1fce2d9717f46697341f76e624a diff --git a/sci-libs/gdal/gdal-3.13.3.ebuild b/sci-libs/gdal/gdal-3.13.3.ebuild new file mode 100644 index 000000000000..a09accb85816 --- /dev/null +++ b/sci-libs/gdal/gdal-3.13.3.ebuild @@ -0,0 +1,529 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{13..14} ) +inherit cmake distutils-r1 flag-o-matic java-pkg-opt-2 unpacker verify-sig + +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 + test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.zip ) + verify-sig? ( https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz.sig ) +" + +LICENSE="BSD Info-ZIP MIT" +SLOT="0/39" # subslot is libgdal.so.<SONAME> (and GDAL_SOVERSION in gdal.cmake) +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE=" + archive armadillo avif blosc cryptopp +curl cpu_flags_arm_neon 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 exprtk fits geos gif gml hdf5 heif java jpeg2k jpegxl lerc + libaec libdeflate lz4 lzma mongodb +muparser mysql netcdf odbc openexr oracle + parquet pdf png postgres python qhull spatialite sqlite system-tiff test +tools + webp xls zstd +" + +# jpegxl isn't supported for system tiff +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) + jpegxl? ( !system-tiff ) +" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libxml2:2= + dev-libs/openssl:= + media-libs/libjpeg-turbo:= + >=sci-libs/proj-6.0.0:=[tiff] + virtual/minizip:= + archive? ( app-arch/libarchive:= ) + armadillo? ( sci-libs/armadillo:=[lapack] ) + avif? ( media-libs/libavif:= ) + blosc? ( dev-libs/c-blosc:= ) + cryptopp? ( dev-libs/crypto++:= ) + 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:* + ) + jpeg2k? ( media-libs/openjpeg:2= ) + jpegxl? ( media-libs/libjxl:= ) + lerc? ( media-libs/lerc:= ) + libaec? ( sci-libs/libaec:= ) + libdeflate? ( app-arch/libdeflate ) + lz4? ( app-arch/lz4:= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mongodb? ( dev-libs/mongo-cxx-driver:= ) + muparser? ( dev-cpp/muParser:= ) + mysql? ( dev-db/mysql-connector-c:= ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + openexr? ( media-libs/openexr:= ) + oracle? ( dev-db/oracle-instantclient:= ) + parquet? ( dev-libs/apache-arrow:=[compute,dataset,parquet,lz4?,zlib,zstd?] ) + pdf? ( app-text/poppler:= ) + png? ( media-libs/libpng:= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + qhull? ( media-libs/qhull:= ) + spatialite? ( dev-db/spatialite ) + sqlite? ( + >=dev-db/sqlite-3.31:3 + dev-libs/libpcre2:= + ) + system-tiff? ( + media-libs/tiff:=[jpeg] + >=sci-libs/libgeotiff-1.5.1-r1:= + ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${COMMON_DEPEND} + java? ( >=virtual/jre-1.8:* ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${COMMON_DEPEND} + exprtk? ( dev-cpp/exprtk ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + virtual/pkgconfig + java? ( + >=dev-java/ant-1.10.14-r3:0 + dev-lang/swig + ) + python? ( + ${DISTUTILS_DEPS} + dev-lang/swig + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + test? ( + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}] + dev-python/pytest-env[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + parquet? ( dev-python/pyarrow[parquet,${PYTHON_USEDEP}] ) + ) + ') + ) + test? ( app-arch/unzip ) + verify-sig? ( sec-keys/openpgp-keys-gdal ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gdal.asc + +QA_CONFIG_IMPL_DECL_SKIP=( + _wstat64 # Windows LFS +) + +EPYTEST_PLUGINS=( pytest-env ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +# distutils_enable_tests unconditionally touches BDEPEND + +pkg_setup() { + use java && java-pkg-opt-2_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${P}.tar.xz" "${DISTDIR}/${P}.tar.xz.sig" + fi + + # unpacker mishandles .sig files + unpack ${P}.tar.xz + use test && unpack_zip gdalautotest-${PV}.zip +} + +src_prepare() { + if use test ; then + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die + fi + java-pkg-opt-2_src_prepare + cmake_src_prepare +} + +python_configure_all() { + local -x BUILD_DIR="${S}_python" + # Generate required files with cmake and then use distutils-r1 to generate wheels + # https://github.com/OSGeo/gdal/issues/9965#issuecomment-2159222393 + mycmakeargs+=( -DBUILD_PYTHON_BINDINGS=ON ) + cmake_src_configure + cmake_build python_generated_files + cmake_build generate_gdal_version_h + sed -E -e "/(library_dirs|include_dirs) =/ { s|${BUILD_DIR}|${cmake_build_dir}| } " \ + -i "${BUILD_DIR}/swig/python/setup.py" || die +} + +src_configure() { + # sanity check subslot to give a friendly reminder to would-be drive by bumpers + local detected_soversion + detected_soversion="$(sed -n -e 's/set(GDAL_SOVERSION \(.*\))/\1/p' gdal.cmake)" + if [[ "${SLOT#0/}" != "${detected_soversion}" ]]; then + die "Subslot ${SLOT#0/} doesn't match upstream specified set(GDAL_SOVERSION ${detected_soversion}) in gdal.cmake." + fi + + # ODR violations + filter-lto + + local mycmakeargs=( + # https://gdal.org/en/stable/development/building_from_source.html + + -DBUILD_APPS=$(usex tools) + -DBUILD_TESTING=$(usex test) + -DENABLE_GNM=ON + -DENABLE_IPO=OFF + -DENABLE_PAM=ON # Persistent Auxiliary Metadata (not Pluggable Authentication Modules!) + -DOGR_ENABLE_DRIVER_SQLITE=$(usex sqlite) + -DGDAL_ENABLE_PLUGINS=OFF + -DGDAL_ENABLE_PLUGINS_NO_DEPS=OFF + -DGDAL_BUILD_OPTIONAL_DRIVERS=ON + -DOGR_BUILD_OPTIONAL_DRIVERS=ON + -DGDAL_USE_EXTERNAL_LIBS=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -DUSE_CCACHE=OFF + -DUSE_PRECOMPILED_HEADERS=OFF + + # bug #844874 and bug #845150 + -DCMAKE_INSTALL_INCLUDEDIR="include/gdal" + + -DGDAL_FIND_PACKAGE_PROJ_MODE=CONFIG + + # 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. + # + # See cmake/helpers/CheckDependentLibraries.cmake for options + # *_*_package(Option) -> GDAL_USE_OPTION + -DGDAL_USE_ADBCDRIVERMANAGER=OFF + -DGDAL_USE_ARCHIVE=$(usex archive) + -DGDAL_USE_ARMADILLO=$(usex armadillo) + -DGDAL_USE_AVIF=$(usex avif) + -DGDAL_USE_ARROW=$(usex parquet) + -DGDAL_USE_BASISU=OFF + -DGDAL_USE_BLOSC=$(usex blosc) + -DGDAL_USE_BRUNSLI=OFF + -DGDAL_USE_CRNLIB=OFF + -DGDAL_USE_CFITSIO=$(usex fits) + -DGDAL_USE_CURL=$(usex curl) + -DGDAL_USE_CRYPTOPP=$(usex cryptopp) + -DGDAL_USE_DEFLATE=$(usex libdeflate) # complements zlib + -DGDAL_USE_ECW=OFF + -DGDAL_USE_EXPAT=ON + -DGDAL_USE_EXPRTK=$(usex exprtk) + -DGDAL_USE_FILEGDB=OFF + -DGDAL_USE_FREEXL=$(usex xls) + -DGDAL_USE_FYBA=OFF + + -DGDAL_USE_GEOTIFF=$(usex system-tiff) + -DGDAL_USE_GEOTIFF_INTERNAL=$(usex !system-tiff) + + -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=ON # bug #965329 + + # 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=$(usex jpegxl) + -DGDAL_USE_JXL_THREADS=$(usex jpegxl) + -DGDAL_USE_KDU=OFF + -DGDAL_USE_KEA=OFF + -DGDAL_USE_LERC=$(usex lerc) + -DGDAL_USE_LIBAEC=$(usex libaec) + -DGDAL_USE_LIBKML=OFF + -DGDAL_USE_LIBLZMA=$(usex lzma) + -DGDAL_USE_LIBQB3=OFF + -DGDAL_USE_LIBXML2=ON + -DGDAL_USE_LZ4=$(usex lz4) # FIXME + -DGDAL_USE_MONGOCXX=$(usex mongodb) + -DGDAL_USE_MRSID=OFF + -DGDAL_USE_MSSQL_NCLI=OFF + -DGDAL_USE_MSSQL_ODBC=OFF + -DGDAL_USE_MUPARSER=$(usex muparser) + -DGDAL_USE_MYSQL=$(usex mysql) + -DGDAL_USE_NETCDF=$(usex netcdf) + -DGDAL_USE_ODBC=$(usex odbc) + -DGDAL_USE_ODBCCPP=OFF + + # unpackaged + -DGDAL_USE_OPENCAD=OFF + -DGDAL_USE_OPENCAD_INTERNAL=ON + + -DGDAL_USE_OPENDRIVE=OFF + -DGDAL_USE_OPENEXR=$(usex openexr) + -DGDAL_USE_OPENJPEG=$(usex jpeg2k) + -DGDAL_USE_OPENSSL=ON + -DGDAL_USE_ORACLE=$(usex oracle) + -DGDAL_USE_PARQUET=$(usex parquet) + -DGDAL_USE_PCRE2=ON + -DGDAL_USE_PDFIUM=OFF + + # Enable internal implementation so that tests pass with the use disabled + -DGDAL_USE_PNG=$(usex png) + -DGDAL_USE_PNG_INTERNAL=$(usex !png) + + -DGDAL_USE_PODOFO=OFF + -DGDAL_USE_POPPLER=$(usex pdf) + -DGDAL_USE_POSTGRESQL=$(usex postgres) + -DGDAL_USE_QHULL=$(usex qhull) + -DGDAL_USE_RASTERLITE2=OFF + + # upstream recommends using the internal implementation + # bug #935567 + -DGDAL_USE_SHAPELIB=OFF + -DGDAL_USE_SHAPELIB_INTERNAL=ON + + -DGDAL_USE_SPATIALITE=$(usex spatialite) + -DGDAL_USE_SQLITE3=$(usex sqlite) + -DGDAL_USE_SFCGAL=OFF + -DGDAL_USE_TEIGHA=OFF + + -DGDAL_USE_TIFF=$(usex system-tiff) + -DGDAL_USE_TIFF_INTERNAL=$(usex !system-tiff) + + -DGDAL_USE_WEBP=$(usex webp) + -DGDAL_USE_XERCESC=$(usex gml) + -DGDAL_USE_ZLIB=ON + -DGDAL_USE_ZSTD=$(usex zstd) + + # Bindings + -DBUILD_PYTHON_BINDINGS=OFF # handled separately + -DBUILD_JAVA_BINDINGS=$(usex java) + # bug #845369 + -DBUILD_CSHARP_BINDINGS=OFF + + # Handled differently from x86 + # First checks if the platform supports neon and if it supports the option will be available + # See SSE2NEON_COMPILES in CMakeLists.txt and gdal.cmake + -DGDAL_ENABLE_ARM_NEON_OPTIMIZATIONS=$(usex cpu_flags_arm_neon) + ) + + if use x86 || use amd64 ; then + mycmakeargs+=( + # 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. + # + # check_compiler_machine_option(flag <instruction set>) -> -Dtest_<instruction set> + -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) + ) + fi + + if use test ; then + mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON ) + fi + + cmake_src_configure + + local cmake_build_dir="${BUILD_DIR}" + use python && distutils-r1_src_configure +} + +python_compile() { + pushd "${S}_python/swig/python" >/dev/null || die + distutils-r1_python_compile + popd >/dev/null || die +} + +src_compile() { + cmake_src_compile + + local -x PATH="${BUILD_DIR}/apps:${PATH}" + local -x LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" + use python && distutils-r1_src_compile +} + +python_test() { + local -x GDAL_DATA="${S}/data" + + # note: testpaths in pytest.ini will fight EPYTEST_IGNORE + EPYTEST_IGNORE=( + # network-sandbox and deselecting tests turns into whac-a-mole with their interdependencies + "gcore/vsis3.py" + # All tests require network-sandbox + "ogr/ogr_ngw.py" + ) + + use !muparser && EPYTEST_IGNORE+=( "gdrivers/vrtpansharpen.py" ) + use !pdf && EPYTEST_IGNORE+=( "gdrivers/pdf.py" ) + + EPYTEST_DESELECT=( + # network-sandbox + "gcore/basic_test.py::test_hint_http" + "gcore/tiff_read.py::test_tiff_read_strace_check" + "gcore/vsioss.py::test_vsioss_6" + "gdrivers/gdalhttp.py::test_http_ssl_verifystatus" + "gdrivers/hdf5multidim.py::test_hdf5_multimdim_eos_grid_dimension_list" + "gdrivers/jp2openjpeg.py::test_jp2openjpeg_45" + "gdrivers/vrtrawlink.py::test_vrtrawlink_GDAL_VRT_RAWRASTERBAND_ALLOWED_SOURCE_ONLY_REMOTE_accepted" + "gdrivers/wms.py::test_wms_8" + "gdrivers/zarr_driver.py::test_zarr_write_error_at_close_on_array" + "gdrivers/zarr_driver.py::test_zarr_write_error_at_close_on_group" + "ogr/ogr_csv.py::test_ogr_csv_schema_override" + "ogr/ogr_geojson.py::test_ogr_geojson_schema_override" + "ogr/ogr_gml.py::test_ogr_gml_type_override" + "ogr/ogr_gmlas.py::test_ogr_gmlas_billion_laugh" + "ogr/ogr_gmlas.py::test_ogr_gmlas_datetime" + "ogr/ogr_parquet.py::test_ogr_parquet_coordinate_epoch" + "ogr/ogr_parquet.py::test_ogr_parquet_crs_identification_on_write" + "ogr/ogr_parquet.py::test_ogr_parquet_edges" + "ogr/ogr_parquet.py::test_ogr_parquet_geoarrow" + "ogr/ogr_parquet.py::test_ogr_parquet_geometry_types" + "ogr/ogr_parquet.py::test_ogr_parquet_polygon_orientation" + "ogr/ogr_sqlite.py::test_ogr_sqlite_schema_override" + "pyscripts/test_validate_geoparquet.py::test_validate_geoparquet_ok" + "utilities/test_gdalinfo_lib.py::test_gdalinfo_lib_2" + "utilities/test_gdalinfo_lib.py::test_gdalinfo_lib_5" + "utilities/test_gdalinfo_lib.py::test_gdalinfo_lib_json_color_table_and_rat" + "utilities/test_ogrinfo_lib.py::test_ogrinfo_lib_extent3D" + "utilities/test_ogrinfo_lib.py::test_ogrinfo_lib_json_relationships" + "utilities/test_ogrinfo_lib.py::test_ogrinfo_lib_json_validate" + + # sandbox interferes with strace? + "gcore/basic_test.py::test_basic_test_strace_non_existing_file" + + # Breaks due to other deselects. + "ogr/ogr_gpkg.py::test_ogr_gpkg_immutable" + "ogr/ogr_gpkg.py::test_ogr_gpkg_nolock" + "ogr/ogr_parquet.py::test_ogr_parquet_read_large_binary_or_string_for_geometry" + "ogr/ogr_parquet.py::test_ogr_parquet_write_arrow_rewind_polygon" + "ogr/ogr_parquet.py::test_ogr_parquet_bbox_float32" + "ogr/ogr_sqlite.py::test_ogr_sqlite_34" + + # Fails on new poppler versions due to checksum check + "gdrivers/pdf.py::test_pdf_extra_rasters[POPPLER]" + + # flaky + "gdrivers/kmlsuperoverlay.py::test_kmlsuperoverlay_8" + ) + + if use !armadillo; then + EPYTEST_DESELECT+=( + # AssertionError: (1634, (3456541.352648813, 5640759.820845713, 0.0)) + "gcore/transformer.py::test_transformer_tps_precision" + ) + fi + + if use !sqlite; then + EPYTEST_DESELECT+=( + # implicit sqlite requirement for the test (or the wms (curl) driver)? + "gdrivers/ogcapi.py::test_ogr_ogcapi_vector_tiles" + # expects sqlite being enabled in a warning message + "utilities/test_gdalalg_vector_rasterize.py::test_gdalalg_vector_rasterize" + ) + fi + + pushd "${S}_python/autotest" >/dev/null || die + # https://github.com/OSGeo/gdal/tree/v3.11.3/autotest#gdals-tests-are-not-independent + # So run directories separately with reruns to maximise chances without excluding every test + # + # See pytest_dirs in autotest/CMakeLists.txt. + # benchmark excluded on purpose as it uses pytest-benchmark + # gdrivers excluded as its especially flaky with excluding tests + # gnm excluded as you need to exclude 99% of it leaving only one or two tests + local failures=() + for pytest_dir in alg gcore gdrivers ogr osr pyscripts utilities; do + nonfatal epytest ${pytest_dir} + [[ ${?} != 0 ]] && failures+=( ${pytest_dir} ) + done + popd >/dev/null || die + + if [[ ${#failures} -gt 0 ]]; then + die "pytest failures: ${failures[@]}" + fi +} + +src_test() { + local -x GDAL_RUN_SLOW_TESTS=0 + local -x GDAL_DOWNLOAD_TEST_DATA=0 # tests relying on downloaded data **may** be skipped + + cmake_src_test + + local -x PATH="${BUILD_DIR}/apps:${PATH}" + local -x LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" + use python && distutils-r1_src_test +} + +python_install() { + pushd "${S}_python/swig/python" >/dev/null || die + distutils-r1_python_install + popd >/dev/null || die +} + +src_install() { + cmake_src_install + + if use java; then + # Move the native library into the proper place for Gentoo. The + # library in ${ED} has already had its RPATH fixed, so we use it + # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so. + java-pkg_doso "${ED}/usr/$(get_libdir)/jni/libgdalalljni.so" + rm -rf "${ED}/usr/$(get_libdir)/jni" || die + fi + + use python && distutils-r1_src_install +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + if use tools; then + elog "gdal info --formats" + else + elog "gdal-config --formats" + fi + + 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 +} |
