diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /sci-physics/yoda | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'sci-physics/yoda')
| -rw-r--r-- | sci-physics/yoda/Manifest | 3 | ||||
| -rw-r--r-- | sci-physics/yoda/files/yoda-1.9.9-configure.patch | 56 | ||||
| -rw-r--r-- | sci-physics/yoda/files/yoda-2.1.2-testbinestimate.patch | 30 | ||||
| -rw-r--r-- | sci-physics/yoda/files/yoda-2.1.3-stdvector.patch | 173 | ||||
| -rw-r--r-- | sci-physics/yoda/metadata.xml | 28 | ||||
| -rw-r--r-- | sci-physics/yoda/yoda-1.9.10.ebuild | 112 | ||||
| -rw-r--r-- | sci-physics/yoda/yoda-2.1.2.ebuild | 113 | ||||
| -rw-r--r-- | sci-physics/yoda/yoda-2.1.3.ebuild | 113 | ||||
| -rw-r--r-- | sci-physics/yoda/yoda-9999.ebuild | 111 |
9 files changed, 739 insertions, 0 deletions
diff --git a/sci-physics/yoda/Manifest b/sci-physics/yoda/Manifest new file mode 100644 index 000000000000..04739894f225 --- /dev/null +++ b/sci-physics/yoda/Manifest @@ -0,0 +1,3 @@ +DIST YODA-1.9.10.tar.bz2 1278729 BLAKE2B f6ae9b579d79b6be62e9644e327f0b449882c0f1a0efaac09ac97eae90a2ced10bf2b13447d75390552b3e4d8c128e7a33184bf8b2d308236f828e611df6d7a4 SHA512 54a455a1b2772ea3201477d4dddcf0c92c85bfee8825d8726d62331ebacb37fc8d1f6e02cdfe592722f2a747a46786d2bdb3c36cc982794a30b25e718d32e998 +DIST YODA-2.1.2.tar.bz2 1022526 BLAKE2B 75f13b04b66b632c66e2442f8bf8ccdb23ce15eec88e9b26a7924d0dc0e4ca80be0eadaf032aeec489a48b2b21beb9656d4f8fdf03ece02dca81133e23850d8d SHA512 39c21f97333c98744006d39903c3cdfd617a8ab6fc253f08412898e8998678963912bd6c6fb0b7bb58e162f48658606d9cdb891f12bc64ff730b158292ff9a85 +DIST YODA-2.1.3.tar.bz2 1033195 BLAKE2B 14065f1bc9a149206e07b80551740b59d8701106cb787ef5c1e1846590d819fd544fe5949859018f3c36daecebdb255308904091eb33b82eb6796a0b43c770f2 SHA512 8424746078434f0fedc405f35d89638bdf01a1f1e49dfed8a8da98682f3d9561356d9eea7cdc22898a861bc980c000e75cc4e63ed9e15670e53b2f15760cf813 diff --git a/sci-physics/yoda/files/yoda-1.9.9-configure.patch b/sci-physics/yoda/files/yoda-1.9.9-configure.patch new file mode 100644 index 000000000000..47872f64097a --- /dev/null +++ b/sci-physics/yoda/files/yoda-1.9.9-configure.patch @@ -0,0 +1,56 @@ +From a9267acfaadf93cd4fbe6d5a91e766bfb3bf154a Mon Sep 17 00:00:00 2001 +From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> +Date: Fri, 15 Mar 2024 20:36:32 +0000 +Subject: [PATCH 1/2] Fix configure failure for uncommon shells + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 86de6b35..e9db8ee7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -131,11 +131,11 @@ if test x$enable_pyext = xyes; then + enable_pyext=no + fi + fi +-AM_CONDITIONAL(ENABLE_PYEXT, [test x$enable_pyext == xyes]) ++AM_CONDITIONAL(ENABLE_PYEXT, [test x$enable_pyext = xyes]) + + + ## Cython checks +-if test x$enable_pyext == xyes; then ++if test x$enable_pyext = xyes; then + AM_CHECK_CYTHON([0.24], [:], [:]) + if test x$CYTHON_FOUND = xyes; then + AC_PATH_PROGS(CYTHON, [$CYTHON cython-$PYTHON_VERSION cython$PYTHON_VERSION cython-$PYTHON_MAJOR_VERSION cython$PYTHON_MAJOR_VERSION cython]) +-- +GitLab + + +From 62f321a54d83a3937d5061759ca04b97aa8e2616 Mon Sep 17 00:00:00 2001 +From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> +Date: Fri, 15 Mar 2024 20:41:19 +0000 +Subject: [PATCH 2/2] Update configure.ac + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e9db8ee7..6a8a34cb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -194,7 +194,7 @@ AC_CONFIG_FILES([yodaenv.sh yoda.pc]) + + AC_OUTPUT + +-if test x$enable_pyext == xyes; then ++if test x$enable_pyext = xyes; then + cat <<EOF + + ************************************************************ +-- +GitLab + diff --git a/sci-physics/yoda/files/yoda-2.1.2-testbinestimate.patch b/sci-physics/yoda/files/yoda-2.1.2-testbinestimate.patch new file mode 100644 index 000000000000..9e6f1cbb103b --- /dev/null +++ b/sci-physics/yoda/files/yoda-2.1.2-testbinestimate.patch @@ -0,0 +1,30 @@ +https://gitlab.com/hepcedar/yoda/-/merge_requests/387 +From 12c3786635875ebf3e7c969248654191736b660a Mon Sep 17 00:00:00 2001 +From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> +Date: Sat, 20 Dec 2025 19:46:34 +0100 +Subject: [PATCH] fix rounding uncertainty on bin edge in tests + +Closes: https://gitlab.com/hepcedar/yoda/-/issues/151 +--- + tests/TestBinEstimators.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/TestBinEstimators.cc b/tests/TestBinEstimators.cc +index 14fb9f5e..e89cccf3 100644 +--- a/tests/TestBinEstimators.cc ++++ b/tests/TestBinEstimators.cc +@@ -40,7 +40,10 @@ auto testLogEst() { + est2.estindex( 0.) == 0 && + est2.estindex( 1.) == 1 && + est2.estindex( 5.) == 1 && +- est2.estindex( 10.) == 2 && ++ est2.estindex( 9.9) == 1 && ++ // amd64 vs x86 rounding can give different results here ++ (est2.estindex(10.) == 1 || est2.estindex( 10.) == 2) && ++ est2.estindex(10.1) == 2 && + est2.estindex(100.) == 2); + } + +-- +GitLab + diff --git a/sci-physics/yoda/files/yoda-2.1.3-stdvector.patch b/sci-physics/yoda/files/yoda-2.1.3-stdvector.patch new file mode 100644 index 000000000000..5dd1bc78aae8 --- /dev/null +++ b/sci-physics/yoda/files/yoda-2.1.3-stdvector.patch @@ -0,0 +1,173 @@ +From 22c3cfbd04bdd7ef31db0800f9fa8d5a7f637e2e Mon Sep 17 00:00:00 2001 +From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> +Date: Mon, 25 May 2026 12:55:59 +0200 +Subject: [PATCH 1/2] Use namespace std and remove std:: prefixes + +--- + tests/TestBinnedStorage.cc | 35 ++++++++++++++++++----------------- + 1 file changed, 18 insertions(+), 17 deletions(-) + +diff --git a/tests/TestBinnedStorage.cc b/tests/TestBinnedStorage.cc +index 4ce8a18c..b61a078a 100644 +--- a/tests/TestBinnedStorage.cc ++++ b/tests/TestBinnedStorage.cc +@@ -9,18 +9,19 @@ + #include <vector> + + using namespace YODA; ++using namespace std; + +-using DStrAxis = Axis<std::string>; ++using DStrAxis = Axis<string>; + using CDblAxis = Axis<double>; + using DIntAxis = Axis<int>; + + using BinningT = Binning<DStrAxis, CDblAxis, DIntAxis>; + + template <typename T> +-using StorageT = BinnedStorage<T, std::string, double, int>; ++using StorageT = BinnedStorage<T, string, double, int>; + + template <size_t N, typename T> +-using FillableT = FillableStorage<N, T, std::string, double, int>; ++using FillableT = FillableStorage<N, T, string, double, int>; + + auto constructors() { + BinningT binning({"test1", "test2"}, {1., 2., 3., 4.}, {1, 2, 3, 4, 5}); +@@ -63,7 +64,7 @@ auto adapterConstructors() { + auto binStorage2 = FillableT<3, double>(binning, adapter1); + auto binStorage3 = FillableT<3, TestClass>(binning, adapter2); + +- binStorage3.fill({"test1", 1.5, 1}, std::make_index_sequence<3>()); ++ binStorage3.fill({"test1", 1.5, 1}, make_index_sequence<3>()); + + FillableT<3, TestClass>::BinType& bin = binStorage3.binAt({"test1", 1.5, 1}); + +@@ -83,10 +84,10 @@ auto set() { + } + + auto binsVectorWrapper() { +- auto binning = std::make_shared<BinningT>( ++ auto binning = make_shared<BinningT>( + BinningT({"test1", "test2"}, {1., 2., 3., 4.}, {1, 2, 3, 4, 5})); + using BinT = Bin<3, int, BinningT>; +- std::vector<BinT> bins; ++ vector<BinT> bins; + + bins.reserve(100); + for(size_t i = 0; i < 100; i++){ +@@ -94,9 +95,9 @@ auto binsVectorWrapper() { + } + + /// @note Must be sorted. +- std::vector<size_t> hiddenBins = {0, 9, 15, 87}; ++ vector<size_t> hiddenBins = {0, 9, 15, 87}; + +- auto vecWrapper = BinsVecWrapper<std::vector<BinT>>(bins, hiddenBins); ++ auto vecWrapper = BinsVecWrapper<vector<BinT>>(bins, hiddenBins); + + for (auto& bin : vecWrapper) { + for (auto& i : hiddenBins) { +@@ -178,8 +179,8 @@ auto dbnAdapter() { + + auto binStorage = FillableT<3, Dbn<3>>(binning); + +- binStorage.fill({"test1", 1.4, 1}, std::make_index_sequence<3>(), 2.0, 1.0); +- binStorage.fill({"test1", 1.6, 1}, std::make_index_sequence<3>(), 2.0, 1.0); ++ binStorage.fill({"test1", 1.4, 1}, make_index_sequence<3>(), 2.0, 1.0); ++ binStorage.fill({"test1", 1.6, 1}, make_index_sequence<3>(), 2.0, 1.0); + + auto& bin = binStorage.binAt({"test1", 1.4, 1}); + +@@ -190,7 +191,7 @@ auto shape() { + vector<string> sedges{"A", "B", "C"}; + vector<double> dedges{1.,2.,3.,4.}; + vector<int> iedges{1,2,3,4,5,6,7}; +- using BinStorageT = BinnedStorage<double, std::string, double, int>; ++ using BinStorageT = BinnedStorage<double, string, double, int>; + BinStorageT storage(sedges, dedges, iedges); + const bool res1 = storage.shape() == vector<size_t>{3, 3, 7}; + const bool res2 = storage.shape(true) == vector<size_t>{4, 5, 8}; +@@ -198,10 +199,10 @@ auto shape() { + } + + auto getBins() { +- using BinStorageT = BinnedStorage<double, std::string, double>; ++ using BinStorageT = BinnedStorage<double, string, double>; + BinStorageT binnedStorage1({"test1", "test2"}, { 1.0, 2.0, 3.0}); + +- std::vector<size_t> overflowIndices = {0, 1, 2, 3, 6, 9, 10, 11}; ++ vector<size_t> overflowIndices = {0, 1, 2, 3, 6, 9, 10, 11}; + + auto binsVec1 = binnedStorage1.bins(); + +@@ -213,11 +214,11 @@ auto getBins() { + + /// @note Double curly braces to construct temporary axes, because + /// there is no constructor defined to work with arguments +- /// of std::initializer_list<T> and std::initializer_list<std::initializer_list<T>> ++ /// of initializer_list<T> and initializer_list<initializer_list<T>> + /// type. Intermediate axis is created. + /*BinStorageT binnedStorage2({{"test1", "test2"}}, {{{1., 2.}, {3., 4.}}}); + +- std::vector<size_t> hiddenBinIndices = {4, 5}; /// {0,1} + 2*2 ++ vector<size_t> hiddenBinIndices = {4, 5}; /// {0,1} + 2*2 + + auto binsVec2 = binnedStorage2.bins(true); + +@@ -231,7 +232,7 @@ auto getBins() { + } + + auto mergeBins() { +- using BinStorageT = BinnedStorage<double, std::string, double>; ++ using BinStorageT = BinnedStorage<double, string, double>; + BinStorageT binnedStorage1({"test1", "test2"}, {1., 2., 3.}); + BinStorageT binnedStorage2({"test1", "test2"}, {1., 2., 3., 4., 5., 6.}); + +@@ -248,7 +249,7 @@ auto mergeBins() { + } + + auto binnedStorageOperators() { +- using BinStorageT = BinnedStorage<double, std::string, double>; ++ using BinStorageT = BinnedStorage<double, string, double>; + BinStorageT binnedStorage1({"test1", "test2"}, {1., 2., 3.}); + BinStorageT binnedStorage2({"test1", "test2"}, {1., 2., 3., 4., 5., 6.}); + +-- +GitLab + + +From a34335f7058152218ba35a5c2af13780c1c6524f Mon Sep 17 00:00:00 2001 +From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> +Date: Mon, 25 May 2026 14:01:46 +0200 +Subject: [PATCH 2/2] rename: set -> setFunction + +--- + tests/TestBinnedStorage.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/TestBinnedStorage.cc b/tests/TestBinnedStorage.cc +index b61a078a..9382f40f 100644 +--- a/tests/TestBinnedStorage.cc ++++ b/tests/TestBinnedStorage.cc +@@ -71,7 +71,7 @@ auto adapterConstructors() { + return CHECK_TEST_RES(bin.counter == 1); + } + +-auto set() { ++auto setFunction() { + BinningT binning({"test1", "test2"}, {1., 2., 3., 4.}, {1, 2, 3, 4, 5}); + + auto binStorage = FillableT<3, TestClass>(binning, [](...){}); +@@ -285,7 +285,7 @@ auto testBinnedStorage() { + return CHECK_TEST_RES( + (constructors() == EXIT_SUCCESS) && + (adapterConstructors() == EXIT_SUCCESS) && +- (set() == EXIT_SUCCESS) && ++ (setFunction() == EXIT_SUCCESS) && + (binsVectorWrapper() == EXIT_SUCCESS) && + (binSpaceCharacteristics() == EXIT_SUCCESS) && + (arithmeticWrapper() == EXIT_SUCCESS) && +-- +GitLab + diff --git a/sci-physics/yoda/metadata.xml b/sci-physics/yoda/metadata.xml new file mode 100644 index 000000000000..a50ed4254d55 --- /dev/null +++ b/sci-physics/yoda/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>apn-pucky@gentoo.org</email> + <name>Alexander Puck Neuwirth</name> + </maintainer> + <maintainer type="project"> + <email>sci-physics@gentoo.org</email> + <name>Gentoo Physics Project</name> + </maintainer> + <longdescription> + Yet more Objects for Data Analysis is a small set of data analysis + (specifically histogramming) classes being developed by MCnet + members as a lightweight common system for MC event generator + validation analyses, particularly as the core histogramming system + in Rivet. + </longdescription> + <use> + <flag name="root">Adds support for <pkg>sci-physics/root</pkg> + </flag> + <flag name="highfive">Build with <pkg>sci-libs/highfive</pkg> and <pkg>sci-libs/hdf5</pkg> + </flag> + <flag name="eigen">Build with <pkg>dev-cpp/eigen</pkg> + </flag> + </use> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/sci-physics/yoda/yoda-1.9.10.ebuild b/sci-physics/yoda/yoda-1.9.10.ebuild new file mode 100644 index 000000000000..90a4b247f7d4 --- /dev/null +++ b/sci-physics/yoda/yoda-1.9.10.ebuild @@ -0,0 +1,112 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 autotools python-single-r1 optfeature + +DESCRIPTION="Yet more Objects for (High Energy Physics) Data Analysis" +HOMEPAGE="https://yoda.hepforge.org/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/hepcedar/yoda" +else + SRC_URI="https://yoda.hepforge.org/downloads?f=${P^^}.tar.bz2 -> ${P^^}.tar.bz2" + S="${WORKDIR}/${P^^}" + KEYWORDS="~amd64" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="root test +python +zlib" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) root? ( python )" + +RDEPEND=" + root? ( sci-physics/root:=[${PYTHON_SINGLE_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + python? ( + $(python_gen_cond_dep ' + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.9-configure.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + # reconf due to python3_10 patch + eautoreconf +} + +src_configure() { + # we need to use the prefix cython here + econf --disable-static \ + $(use_enable root) \ + $(use_enable python pyext) \ + $(use_with zlib zlib "${ESYSROOT}/usr") \ + $(usex python CYTHON="${ESYSROOT}/usr/bin/cython") +} + +src_test() { + # PYTESTS and SHTESTS both require python tools + if use python; then + emake check + else + emake check PYTESTS= SHTESTS= NO_PYTHON=1 + fi +} + +src_install() { + emake install DESTDIR="${ED}" + + if use python ; then + newbashcomp "${ED}"/etc/bash_completion.d/${PN}-completion ${PN} + bashcomp_alias ${PN} ${PN}-config + bashcomp_alias ${PN} ${PN}stack \ + aida2flat \ + ${PN}diff \ + ${PN}cnv \ + ${PN}hist \ + ${PN}-config \ + ${PN}2flat \ + ${PN}scale \ + ${PN}2root \ + ${PN}cmp \ + ${PN}merge \ + ${PN}plot \ + aida2${PN} \ + ${PN}ls \ + ${PN}envelope \ + ${PN}2aida + fi + + rm "${ED}"/etc/bash_completion.d/${PN}-completion || die + + use python && python_optimize + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + optfeature "plotting support" virtual/latex-base dev-python/matplotlib +} diff --git a/sci-physics/yoda/yoda-2.1.2.ebuild b/sci-physics/yoda/yoda-2.1.2.ebuild new file mode 100644 index 000000000000..78267727f58d --- /dev/null +++ b/sci-physics/yoda/yoda-2.1.2.ebuild @@ -0,0 +1,113 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 python-single-r1 optfeature autotools + +DESCRIPTION="Yet more Objects for (High Energy Physics) Data Analysis" +HOMEPAGE="https://yoda.hepforge.org/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/hepcedar/yoda" + EGIT_BRANCH="main" +else + SRC_URI="https://yoda.hepforge.org/downloads?f=${P^^}.tar.bz2 -> ${P^^}.tar.bz2" + S="${WORKDIR}/${P^^}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="test +highfive +python +zlib" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-cpp/yaml-cpp + highfive? ( + sci-libs/highfive + sci-libs/hdf5[cxx] + ) + python? ( ${PYTHON_DEPS} ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + python? ( + $(python_gen_cond_dep ' + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-testbinestimate.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + # reconf due to 9999 version + eautoreconf +} + +src_configure() { + # we need to use the prefix cython here + econf --disable-static \ + --with-yaml-cpp="${EPREFIX}/usr" \ + $(use_enable highfive h5) \ + $(use_with highfive highfive "${ESYSROOT}/usr") \ + $(use_enable python pyext) \ + $(use_with zlib zlib "${ESYSROOT}/usr") \ + $(usex python CYTHON="${ESYSROOT}/usr/bin/cython") +} + +src_test() { + # PYTESTS and SHTESTS both require python tools + if use python; then + emake check + else + emake check PYTESTS= SHTESTS= NO_PYTHON=1 + fi +} + +src_install() { + default + + if use python ; then + newbashcomp "${ED}"/etc/bash_completion.d/${PN}-completion ${PN}-config + bashcomp_alias ${PN}-config \ + ${PN}ls \ + ${PN}diff \ + ${PN}merge \ + ${PN}stack \ + ${PN}scale \ + ${PN}plot \ + ${PN}envelope \ + ${PN}cnv \ + ${PN}2root + rm "${ED}"/etc/bash_completion.d/${PN}-completion || die + python_optimize + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + optfeature "root conversion" sci-physics/root + optfeature "latex plotting support" virtual/latex-base + optfeature "python plotting support" dev-python/matplotlib +} diff --git a/sci-physics/yoda/yoda-2.1.3.ebuild b/sci-physics/yoda/yoda-2.1.3.ebuild new file mode 100644 index 000000000000..9cabaf05bd01 --- /dev/null +++ b/sci-physics/yoda/yoda-2.1.3.ebuild @@ -0,0 +1,113 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 python-single-r1 optfeature autotools + +DESCRIPTION="Yet more Objects for (High Energy Physics) Data Analysis" +HOMEPAGE="https://yoda.hepforge.org/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/hepcedar/yoda" + EGIT_BRANCH="main" +else + SRC_URI="https://yoda.hepforge.org/downloads?f=${P^^}.tar.bz2 -> ${P^^}.tar.bz2" + S="${WORKDIR}/${P^^}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="test +highfive +python +zlib" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-cpp/yaml-cpp + highfive? ( + sci-libs/highfive + sci-libs/hdf5[cxx] + ) + python? ( ${PYTHON_DEPS} ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + python? ( + $(python_gen_cond_dep ' + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-stdvector.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + # reconf due to 9999 version + eautoreconf +} + +src_configure() { + # we need to use the prefix cython here + econf --disable-static \ + --with-yaml-cpp="${EPREFIX}/usr" \ + $(use_enable highfive h5) \ + $(use_with highfive highfive "${ESYSROOT}/usr") \ + $(use_enable python pyext) \ + $(use_with zlib zlib "${ESYSROOT}/usr") \ + $(usex python CYTHON="${ESYSROOT}/usr/bin/cython") +} + +src_test() { + # PYTESTS and SHTESTS both require python tools + if use python; then + emake check + else + emake check PYTESTS= SHTESTS= NO_PYTHON=1 + fi +} + +src_install() { + default + + if use python ; then + newbashcomp "${ED}"/etc/bash_completion.d/${PN}-completion ${PN}-config + bashcomp_alias ${PN}-config \ + ${PN}ls \ + ${PN}diff \ + ${PN}merge \ + ${PN}stack \ + ${PN}scale \ + ${PN}plot \ + ${PN}envelope \ + ${PN}cnv \ + ${PN}2root + rm "${ED}"/etc/bash_completion.d/${PN}-completion || die + python_optimize + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + optfeature "root conversion" sci-physics/root + optfeature "latex plotting support" virtual/latex-base + optfeature "python plotting support" dev-python/matplotlib +} diff --git a/sci-physics/yoda/yoda-9999.ebuild b/sci-physics/yoda/yoda-9999.ebuild new file mode 100644 index 000000000000..25ca71b9e31a --- /dev/null +++ b/sci-physics/yoda/yoda-9999.ebuild @@ -0,0 +1,111 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +inherit bash-completion-r1 python-single-r1 optfeature autotools + +DESCRIPTION="Yet more Objects for (High Energy Physics) Data Analysis" +HOMEPAGE="https://yoda.hepforge.org/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/hepcedar/yoda" + EGIT_BRANCH="main" +else + SRC_URI="https://yoda.hepforge.org/downloads?f=${P^^}.tar.bz2 -> ${P^^}.tar.bz2" + S="${WORKDIR}/${P^^}" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0/${PV}" +IUSE="test +eigen +highfive +python +zlib" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-cpp/yaml-cpp + eigen? ( dev-cpp/eigen:3= ) + highfive? ( + sci-libs/highfive + sci-libs/hdf5[cxx] + ) + python? ( ${PYTHON_DEPS} ) + zlib? ( virtual/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + python? ( + $(python_gen_cond_dep ' + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}] + ') + test? ( + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + ') + ) + ) +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + # reconf due to 9999 version + eautoreconf +} + +src_configure() { + # we need to use the prefix cython here + econf --disable-static \ + --with-yaml-cpp="${EPREFIX}/usr" \ + $(use_with eigen eigen "${EPREFIX}/usr/include/eigen3") \ + $(use_enable highfive h5) \ + $(use_with highfive highfive "${ESYSROOT}/usr") \ + $(use_enable python pyext) \ + $(use_with zlib zlib "${ESYSROOT}/usr") \ + $(usex python CYTHON="${ESYSROOT}/usr/bin/cython") +} + +src_test() { + # PYTESTS and SHTESTS both require python tools + if use python; then + emake check + else + emake check PYTESTS= SHTESTS= NO_PYTHON=1 + fi +} + +src_install() { + default + + if use python ; then + newbashcomp "${ED}"/etc/bash_completion.d/${PN}-completion ${PN}-config + bashcomp_alias ${PN}-config \ + ${PN}ls \ + ${PN}diff \ + ${PN}merge \ + ${PN}stack \ + ${PN}scale \ + ${PN}plot \ + ${PN}envelope \ + ${PN}cnv \ + ${PN}2root + rm "${ED}"/etc/bash_completion.d/${PN}-completion || die + python_optimize + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + optfeature "root conversion" sci-physics/root + optfeature "latex plotting support" virtual/latex-base + optfeature "python plotting support" dev-python/matplotlib +} |
