diff --git a/dev-cpp/safeint/Manifest b/dev-cpp/safeint/Manifest new file mode 100644 index 0000000000..114e557924 --- /dev/null +++ b/dev-cpp/safeint/Manifest @@ -0,0 +1 @@ +DIST safeint-3.0.28a.tar.gz 589772 BLAKE2B e3fb1f9f43034f86d044a25063fc0762ba73326ed2917a382e48b765d36d919397b97ca548901fa76d645a3b8c1408367ab92533d75a156ffcf8bf78554e7e12 SHA512 04f3d4202b7069f2970811311c422b48225466887768a1f1fcdc9417e2b6a1ebd64f83ee86abe25e667e7945b011b5ef7ce2bbc83ce8e518fc4bf609fa52d77c diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch b/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch new file mode 100644 index 0000000000..076f5ef3cb --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch @@ -0,0 +1,26 @@ +From: Pavel Sobolev +Subject: [PATCH] Install the library. + +Bug: https://github.com/dcleblanc/SafeInt/issues/67 + +Signed-off-by: Pavel Sobolev + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,4 +26,14 @@ add_subdirectory(Test/ClangTest) + add_subdirectory(Test/GccTest) + add_subdirectory(Test/MsvcTest) + +-enable_testing() +\ No newline at end of file ++enable_testing() ++ ++add_library(SafeInt INTERFACE) ++target_include_directories(SafeInt INTERFACE .) ++ ++include(GNUInstallDirs) ++install( ++ FILES SafeInt.hpp safe_math.h safe_math_impl.h ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++install(FILES LICENSE DESTINATION "${CMAKE_INSTALL_DOCDIR}") diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch b/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch new file mode 100644 index 0000000000..fb8fd28dfc --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch @@ -0,0 +1,25 @@ +From: Pavel Sobolev +Subject: [PATCH] Make tests optional. + +Signed-off-by: Pavel Sobolev + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,11 +22,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) + # - Intel (not regularly tested) + # other compilers on a best effort + +-add_subdirectory(Test/ClangTest) +-add_subdirectory(Test/GccTest) +-add_subdirectory(Test/MsvcTest) ++include(CTest) + +-enable_testing() ++if (BUILD_TESTING) ++ add_subdirectory(Test/ClangTest) ++ add_subdirectory(Test/GccTest) ++ add_subdirectory(Test/MsvcTest) ++endif() + + add_library(SafeInt INTERFACE) + target_include_directories(SafeInt INTERFACE .) diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch b/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch new file mode 100644 index 0000000000..11ae15a0c7 --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch @@ -0,0 +1,41 @@ +From: Pavel Sobolev +Subject: [PATCH] Remove broken tests. + +Bug: https://github.com/dcleblanc/SafeInt/issues/55 + +Signed-off-by: Pavel Sobolev + +--- a/Test/GccTest/CMakeLists.txt ++++ b/Test/GccTest/CMakeLists.txt +@@ -105,15 +105,6 @@ else() + + target_compile_options(CompileTest_gcc PUBLIC -Wall) + +- add_executable(CompileTest_gcc17 +- ../CompileTest.cpp +- ../ConstExpr.cpp +- ../CleanCompile.cpp +- ../../SafeInt.hpp +- ) +- +- target_compile_options(CompileTest_gcc17 PUBLIC -Wall -std=c++17) +- + add_executable(CompileTest_gcc14 + ../CompileTest.cpp + ../ConstExpr.cpp +@@ -132,15 +123,6 @@ else() + + target_compile_options(CompileTest_gcc14_NoEH PUBLIC -Wall -std=c++14 -fno-exceptions) + +- add_executable(CompileTest_gcc98 +- ../CompileTest.cpp +- ../ConstExpr.cpp +- ../CleanCompile.cpp +- ../../SafeInt.hpp +- ) +- +- target_compile_options(CompileTest_gcc98 PUBLIC -D SAFEINT_USE_CPLUSCPLUS_98 -Wall -std=c++98 -fno-exceptions) +- + add_executable(safe_math_test_gcc + ../c_safe_math/safe_math_test.c + ../c_safe_math/safe_math_test.h diff --git a/dev-cpp/safeint/metadata.xml b/dev-cpp/safeint/metadata.xml new file mode 100644 index 0000000000..1558bf4d00 --- /dev/null +++ b/dev-cpp/safeint/metadata.xml @@ -0,0 +1,12 @@ + + + + + contact@paveloom.dev + Pavel Sobolev + + + https://github.com/dcleblanc/SafeInt/issues + dcleblanc/SafeInt + + diff --git a/dev-cpp/safeint/safeint-3.0.28a.ebuild b/dev-cpp/safeint/safeint-3.0.28a.ebuild new file mode 100644 index 0000000000..e260a6393e --- /dev/null +++ b/dev-cpp/safeint/safeint-3.0.28a.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A class library for C++ that manages integer overflows" +HOMEPAGE="https://github.com/dcleblanc/SafeInt" +SRC_URI="https://github.com/dcleblanc/SafeInt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/SafeInt-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-3.0.28a-install-the-library.patch" + "${FILESDIR}/${PN}-3.0.28a-make-tests-optional.patch" + "${FILESDIR}/${PN}-3.0.28a-remove-broken-tests.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} diff --git a/gnome-extra/iio-sensor-proxy/Manifest b/gnome-extra/iio-sensor-proxy/Manifest index e1909db86b..3106ed88cb 100644 --- a/gnome-extra/iio-sensor-proxy/Manifest +++ b/gnome-extra/iio-sensor-proxy/Manifest @@ -1,3 +1 @@ -DIST iio-sensor-proxy-3.3.tar.bz2 57499 BLAKE2B 36d5a65af77e3c3940ab29016c2e65ff664e4cd71a3a350f9dfd256f8d3433ba5401f378c0eb99c63d11818c9bc50da784fd9cb271f86f63bdbbc32514d89f35 SHA512 e706ce5edfdf7f6184f073a20dab7ab942d3fad6f0900d710466ec956c2f0544f3db55cf1a6b51536205b95cceab3dcfcc835c947a804d33d276f8d36e760ad5 -DIST iio-sensor-proxy-3.5.tar.bz2 60157 BLAKE2B e6b70e5d99a1a1e0935f86ecbed614b3859757a573897e03d0112509b166cb5ac4a80f31531c81f740efd22c937d921c2c05ec201f381c39efd9aa40855ecb26 SHA512 96fbbf163053689c61488181db474c1ff8e66090b3f9c2710b1c7fbfa92ec0bfb25088c7af74bcda568b397cd5c5c9350851d005463398bdf91e13f52e5fb88f DIST iio-sensor-proxy-3.7.tar.bz2 64610 BLAKE2B 0c79b53abbdf2c026aff14502b06b11774fe4477c3ae9133abefb80f8097edc4a634869e2029567a470304d68e65424b1deb77a92a6bb5b7e118bcfc2e00d590 SHA512 f66465a05c4e28fc7db9bcc950915e4740089f834f87414a8b09b0e5605e8ed29f72e0d8084a241f8051c27f4109d300a1d7781c28429d3a82c907761b2bb783 diff --git a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.3.ebuild b/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.3.ebuild deleted file mode 100644 index 2e3b530e5f..0000000000 --- a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.3.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit xdg gnome2-utils meson udev - -DESCRIPTION="IIO sensors to D-Bus proxy" -HOMEPAGE="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/" -SRC_URI="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="+systemd" -RESTRICT="test" - -RDEPEND=" - dev-libs/glib:* - gnome-base/gnome-common - >=dev-libs/libgudev-237 - systemd? ( - !sys-apps/openrc - sys-apps/systemd - ) - virtual/udev -" - -DEPEND=" - ${RDEPEND} - dev-build/gtk-doc-am - virtual/pkgconfig -" - -src_install() { - meson_src_install -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - udev_reload -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.5.ebuild b/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.5.ebuild deleted file mode 100644 index 36618a8161..0000000000 --- a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.5.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit xdg gnome2-utils meson udev - -DESCRIPTION="IIO sensors to D-Bus proxy" -HOMEPAGE="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/" -SRC_URI="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="systemd" - -RDEPEND=" - dev-libs/glib:* - gnome-base/gnome-common - >=sys-auth/polkit-0.91 - >=dev-libs/libgudev-237 - systemd? ( - !sys-apps/openrc - sys-apps/systemd - ) - virtual/udev -" - -DEPEND=" - ${RDEPEND} - dev-build/gtk-doc-am - virtual/pkgconfig -" - -src_prepare() { - if use !systemd ; then - # patch out call of systemd directory - eapply "${FILESDIR}/no-systemd.patch" - fi - eapply_user -} - -src_install() { - meson_src_install - doinitd "${FILESDIR}/iio-sensor-proxy" -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update - udev_reload -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.7.ebuild b/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.7.ebuild index 36618a8161..1bbff00e7b 100644 --- a/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.7.ebuild +++ b/gnome-extra/iio-sensor-proxy/iio-sensor-proxy-3.7.ebuild @@ -54,4 +54,5 @@ pkg_postinst() { pkg_postrm() { xdg_pkg_postrm gnome2_schemas_update + udev_reload } diff --git a/media-libs/opencomposite/Manifest b/media-libs/opencomposite/Manifest new file mode 100644 index 0000000000..b45f89d60b --- /dev/null +++ b/media-libs/opencomposite/Manifest @@ -0,0 +1,2 @@ +DIST OpenXR-SDK-91a8a8d9d70f4b469bca0726122c3b5a6096010e.tar.gz 740669 BLAKE2B 0a3ae5164707de4e663b19613716dcfff4fcb242803ed50f54fa54e852dc12f753e0f7a69844f2f17516b8e976b362ff821fb9dbbd3882732ba8610836874d21 SHA512 64d8e7a3071b890836b90e87967541428a6cf50b9767584d8177cbee5e95bf97008645704cf206f15de4113b72d3ead050f6e1799235af2039fcfc1c55d16944 +DIST opencomposite-1.0.1521.tar.bz2 1174816 BLAKE2B 6f29589c215591bbcd25264bfc46ce81deb7e231ced939a46530fc1eafcdfe61cff672396d092c9363f1c7f4efb7f0a25ef0cdf3377e9aded209fe5318ac7679 SHA512 c847eba0172143bcd7a64d59472071ff3e3e7c32d7600963608c9656d3ef5b157a8ab39c04b4854b80bffba9e04bc9657448e2a597f29773a8f1e3c9c6fdbfa0 diff --git a/media-libs/opencomposite/opencomposite-1.0.1521.ebuild b/media-libs/opencomposite/opencomposite-1.0.1521.ebuild new file mode 100644 index 0000000000..c28f8017b1 --- /dev/null +++ b/media-libs/opencomposite/opencomposite-1.0.1521.ebuild @@ -0,0 +1,75 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="OpenVR over OpenXR compatibility layer" +HOMEPAGE="https://gitlab.com/znixian/OpenOVR" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/znixian/OpenOVR.git" + EGIT_BRANCH="openxr" +else + KEYWORDS="~amd64" + OPENXR_COMMIT=91a8a8d9d70f4b469bca0726122c3b5a6096010e + SRC_URI=" + https://gitlab.com/znixian/OpenOVR/-/archive/${PV}/OpenOVR-${PV}.tar.bz2 -> ${P}.tar.bz2 + https://github.com/KhronosGroup/OpenXR-SDK/archive/${OPENXR_COMMIT}.tar.gz -> OpenXR-SDK-${OPENXR_COMMIT}.tar.gz + " + S="${WORKDIR}/OpenOVR-${PV}" +fi + +LICENSE="GPL-3 Apache-2.0 MIT" +SLOT="0" + +DEPEND=" + dev-lang/python + dev-util/vulkan-headers + media-libs/glm + media-libs/libglvnd[${MULTILIB_USEDEP},X] + media-libs/openxr-loader[${MULTILIB_USEDEP}] + virtual/glu[${MULTILIB_USEDEP}] +" +RDEPEND="${DEPEND}" + +if [[ ${PV} != 9999 ]] ; then +src_unpack() +{ + default_src_unpack + mv --no-target-directory "${WORKDIR}/OpenXR-SDK-${OPENXR_COMMIT}" "${S}/libs/openxr-sdk" +} +fi + +multilib_src_configure() +{ + # Installing to /usr would not work with Steam bacause pressure vessel + # sandbox mounts /usr as /run/host/usr and openvr path would point to a + # non-existing location. + # + # Pressure vessel would need to be fixed and patch the location + # as it does for vulkan and other similar configuration files. + local mycmakeargs=( + "-DCMAKE_INSTALL_PREFIX=/opt" + # Required for Proton: https://gitlab.com/znixian/OpenOVR/-/issues/416 + "-DUSE_SYSTEM_OPENXR=OFF" + "-DUSE_SYSTEM_GLM=ON" + ) + cmake_src_configure +} + +multilib_src_install() +{ + cmake_src_install + + insinto /opt/OpenComposite + doins "${FILESDIR}/openvrpaths.vrpath" +} + +pkg_postinst() +{ + elog "For applications to use OpenComposite, symlink" + elog "~/.config/openvr/openvrpaths.vrpath to /opt/OpenComposite/openvrpaths.vrpath." +} diff --git a/media-libs/opencomposite/opencomposite-9999.ebuild b/media-libs/opencomposite/opencomposite-9999.ebuild index 503616143a..c28f8017b1 100644 --- a/media-libs/opencomposite/opencomposite-9999.ebuild +++ b/media-libs/opencomposite/opencomposite-9999.ebuild @@ -14,6 +14,12 @@ if [[ ${PV} == 9999 ]]; then EGIT_BRANCH="openxr" else KEYWORDS="~amd64" + OPENXR_COMMIT=91a8a8d9d70f4b469bca0726122c3b5a6096010e + SRC_URI=" + https://gitlab.com/znixian/OpenOVR/-/archive/${PV}/OpenOVR-${PV}.tar.bz2 -> ${P}.tar.bz2 + https://github.com/KhronosGroup/OpenXR-SDK/archive/${OPENXR_COMMIT}.tar.gz -> OpenXR-SDK-${OPENXR_COMMIT}.tar.gz + " + S="${WORKDIR}/OpenOVR-${PV}" fi LICENSE="GPL-3 Apache-2.0 MIT" @@ -29,6 +35,14 @@ DEPEND=" " RDEPEND="${DEPEND}" +if [[ ${PV} != 9999 ]] ; then +src_unpack() +{ + default_src_unpack + mv --no-target-directory "${WORKDIR}/OpenXR-SDK-${OPENXR_COMMIT}" "${S}/libs/openxr-sdk" +} +fi + multilib_src_configure() { # Installing to /usr would not work with Steam bacause pressure vessel diff --git a/media-libs/sonic/Manifest b/media-libs/sonic/Manifest new file mode 100644 index 0000000000..1bc4f4b7d3 --- /dev/null +++ b/media-libs/sonic/Manifest @@ -0,0 +1 @@ +DIST sonic-0.2.0_p20250419.tar.gz 5361929 BLAKE2B 45a981320f1ec45e0ca2d976e4f14bf5f89899045881a0957deb1ad8cdd34d09c0b8ff7faceb20f2824196c91a971fc2a33612981ca720ba73bd35238daf0274 SHA512 3710441ae1b8f6a3c97f178bd82f1310bcdb06fc99115c263945a9c8f63827e39382e6df1fb1f223f8ecb018fb5df32a23e3b2e8a7efed9982b5919c3a903a33 diff --git a/media-libs/sonic/metadata.xml b/media-libs/sonic/metadata.xml new file mode 100644 index 0000000000..99da3af86e --- /dev/null +++ b/media-libs/sonic/metadata.xml @@ -0,0 +1,12 @@ + + + + + contact@paveloom.dev + Pavel Sobolev + + + https://github.com/waywardgeek/sonic/issues + waywardgeek/sonic + + diff --git a/media-libs/sonic/sonic-0.2.0_p20250419.ebuild b/media-libs/sonic/sonic-0.2.0_p20250419.ebuild new file mode 100644 index 0000000000..a38c4aa300 --- /dev/null +++ b/media-libs/sonic/sonic-0.2.0_p20250419.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_COMMIT="fda30fba867c08c82dbbecbcc72120652e40d5cb" + +DESCRIPTION="Simple library to speed up or slow down speech" +HOMEPAGE="https://github.com/waywardgeek/sonic" +SRC_URI="https://github.com/waywardgeek/sonic/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/${PN}-${EGIT_COMMIT}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +src_install() { + emake \ + DESTDIR="${ED}" \ + LIBDIR="/usr/$(get_libdir)" \ + install +} diff --git a/media-sound/piper/Manifest b/media-sound/piper/Manifest new file mode 100644 index 0000000000..21e00c50d9 --- /dev/null +++ b/media-sound/piper/Manifest @@ -0,0 +1,2 @@ +DIST espeak-ng-1.52.0_p20250322.tar.gz 17815706 BLAKE2B d285492afe81c8cbbb744ff3394022e8fbdff3444ec2cd6a8d315afbdaa35e0238071cd49bcd868f69254223867cbb0e5e28bb778584e0ad072c50f3f81ac4f5 SHA512 1dbdb49441437989811b7bd1177c9c5d5baff229f7214e31e38c40bac7c86d3b94cb10ed5b387e0b81a20b26b4666a91bd62cfad3dcd505343573ffe3fd68b09 +DIST piper-1.3.0.tar.gz 4394089 BLAKE2B 79859b4ed0e709f12e4b62bd561c450a706ebd3683d4569da540ad54e068807071108aa542734ad1a0e009c3bfc953f8c4593834cb9cba46c0e18e3ec280ec3b SHA512 31a549c1f15fa784120285b4f14df2c0b98d437b20e0a4958b0f13d01d13ae9fe3df0f9658560e95515abdd9d44abe9efd9f8c92c24844bece2e7c5ad0bfc306 diff --git a/media-sound/piper/metadata.xml b/media-sound/piper/metadata.xml new file mode 100644 index 0000000000..93d21b5603 --- /dev/null +++ b/media-sound/piper/metadata.xml @@ -0,0 +1,15 @@ + + + + + contact@paveloom.dev + Pavel Sobolev + + + Enable server support + + + https://github.com/OHF-Voice/piper1-gpl/issues + OHF-Voice/piper1-gpl + + diff --git a/media-sound/piper/piper-1.3.0.ebuild b/media-sound/piper/piper-1.3.0.ebuild new file mode 100644 index 0000000000..2c1b93d78b --- /dev/null +++ b/media-sound/piper/piper-1.3.0.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 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_{11..13} ) + +inherit distutils-r1 + +ESPEAK_NG_COMMIT="212928b394a96e8fd2096616bfd54e17845c48f6" + +DESCRIPTION="Fast and local neural text-to-speech engine" +HOMEPAGE="https://github.com/OHF-Voice/piper1-gpl" +SRC_URI=" + https://github.com/OHF-Voice/piper1-gpl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/espeak-ng/espeak-ng/archive/${ESPEAK_NG_COMMIT}.tar.gz -> espeak-ng-1.52.0_p20250322.tar.gz +" + +S="${WORKDIR}/piper1-gpl-${PV}" +ESPEAK_NG="${WORKDIR}/espeak-ng-${ESPEAK_NG_COMMIT}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="server" + +RDEPEND=" + media-libs/sonic + sci-libs/onnxruntime[python,${PYTHON_USEDEP}] + + server? ( dev-python/flask[${PYTHON_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-python/scikit-build[${PYTHON_USEDEP}] +" + +# Both of the packages below install `/usr/bin/piper`, and +# `app-misc/piper` also installs a Python module with the same name +DEPEND+=" + !!app-misc/piper + !!net-proxy/piper +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # See https://github.com/espeak-ng/espeak-ng/issues/2048 + sed 's/160/1024/' -i "${ESPEAK_NG}/src/libespeak-ng/speech.h" || die + + sed \ + -e "s|GIT_REPOSITORY.*|SOURCE_DIR ${ESPEAK_NG}|" \ + -e 's|GIT_TAG.*|DOWNLOAD_COMMAND ""|' \ + -i CMakeLists.txt || die +} + +src_install() { + distutils-r1_src_install + + dodoc "${ED}/usr/COPYING" + rm "$_" +} diff --git a/sci-libs/dlpack/Manifest b/sci-libs/dlpack/Manifest new file mode 100644 index 0000000000..7ea4318314 --- /dev/null +++ b/sci-libs/dlpack/Manifest @@ -0,0 +1 @@ +DIST dlpack-1.1.tar.gz 198915 BLAKE2B 6e354e1a76f3dd289935c4aaea2707723117ffc7a15f4c51dec6c241a7e02661cc9c2cf46930226fa77eb18cc689801abaecf8b073423f0785f817f2e56fb5e9 SHA512 ff24ddf8a138f20aeede2708327d8239bd3cc4e2223a6fbce1589638dd2d844827ce6af1d3eb1a14165e608f424f5d4ff358c5f55600b150083c6c8b83e35afd diff --git a/sci-libs/dlpack/dlpack-1.1.ebuild b/sci-libs/dlpack/dlpack-1.1.ebuild new file mode 100644 index 0000000000..cb9dd0b68f --- /dev/null +++ b/sci-libs/dlpack/dlpack-1.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Common in-memory tensor structure" +HOMEPAGE="https://github.com/dmlc/dlpack" +SRC_URI="https://github.com/dmlc/dlpack/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( + app-text/doxygen + dev-python/breathe + dev-python/pydata-sphinx-theme + dev-python/sphinx +)" + +PATCHES=( + "${FILESDIR}/${PN}-1.1-dont-turn-warnings-into-errors-when-building-docs.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_DOCS=$(usex doc) + -DBUILD_MOCK=$(usex test) + ) + + cmake_src_configure +} diff --git a/sci-libs/dlpack/files/dlpack-1.1-dont-turn-warnings-into-errors-when-building-docs.patch b/sci-libs/dlpack/files/dlpack-1.1-dont-turn-warnings-into-errors-when-building-docs.patch new file mode 100644 index 0000000000..61f80f81c1 --- /dev/null +++ b/sci-libs/dlpack/files/dlpack-1.1-dont-turn-warnings-into-errors-when-building-docs.patch @@ -0,0 +1,16 @@ +From: Pavel Sobolev +Subject: [PATCH] Don't turn warnings into errors when building docs. + +Signed-off-by: Pavel Sobolev + +--- a/docs/CMakeLists.txt ++++ b/docs/CMakeLists.txt +@@ -29,7 +29,7 @@ set(doxygen_xml_builddir ${doxygen_output_dir}/xml) + add_custom_target(Sphinx ALL + COMMAND ${SPHINX_EXECUTABLE} -b html + -Dbreathe_projects.dlpack=${doxygen_xml_builddir} +- ${sphinx_source} ${sphinx_build} -WT --keep-going ++ ${sphinx_source} ${sphinx_build} -T --keep-going + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating documentation with Sphinx" + VERBATIM) diff --git a/sci-libs/dlpack/metadata.xml b/sci-libs/dlpack/metadata.xml new file mode 100644 index 0000000000..6872f976b4 --- /dev/null +++ b/sci-libs/dlpack/metadata.xml @@ -0,0 +1,12 @@ + + + + + contact@paveloom.dev + Pavel Sobolev + + + https://github.com/dmlc/dlpack/issues + dmlc/dlpack + + diff --git a/sci-libs/onnxruntime/Manifest b/sci-libs/onnxruntime/Manifest new file mode 100644 index 0000000000..89747bca66 --- /dev/null +++ b/sci-libs/onnxruntime/Manifest @@ -0,0 +1,2 @@ +DIST eigen-3.4.0_p20250216.tar.bz2 2272941 BLAKE2B c86764a5c31b978d09f9f8f458a982fb16c2cdfd053e0c7a371fbe5b9c64bead42c25fb7d4cb795eb5ee7ff1800bb51fac6783ad0881dd69dee5d463ccd213e3 SHA512 3c9fab41bde1ee4b8f5ba21c991a75cc73e104cdb48f3377b5fc51afae8cbb5e891c39e4fd998c5263178a8962b09d9d907b9d125dfddc50bc2ec5171917d6b8 +DIST onnxruntime-1.22.2.tar.gz 241423673 BLAKE2B 831728ace1daed40793076703ac35260b0143d5ff3041eef57c08feb32d520ff363e4fc351551dbf713c62f30990f7dec24fee380d3aa36ec6d7303318f2f198 SHA512 af123f6374f522715caab28c8147882a7f1787e6616cb7226efd2fb02fd5935a7263c523d694e5dd1ea7971cdb2e71f939218231c2d18a8baba3e97171c3ef0b diff --git a/sci-libs/onnxruntime/files/onnxruntime-1.22.2-add-a-missing-include-of-cstdint.patch b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-add-a-missing-include-of-cstdint.patch new file mode 100644 index 0000000000..f18a79de9e --- /dev/null +++ b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-add-a-missing-include-of-cstdint.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev +Subject: [PATCH] Add a missing include of `cstdint`. + +Signed-off-by: Pavel Sobolev + +--- a/onnxruntime/core/optimizer/transpose_optimization/optimizer_api.h ++++ b/onnxruntime/core/optimizer/transpose_optimization/optimizer_api.h +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + + namespace onnx_transpose_optimization { diff --git a/sci-libs/onnxruntime/files/onnxruntime-1.22.2-relax-the-dependency-on-flatbuffers.patch b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-relax-the-dependency-on-flatbuffers.patch new file mode 100644 index 0000000000..5a927c64b9 --- /dev/null +++ b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-relax-the-dependency-on-flatbuffers.patch @@ -0,0 +1,100 @@ +From: Pavel Sobolev +Subject: [PATCH] Relax the dependency on `flatbuffers`. + +Signed-off-by: Pavel Sobolev + +--- a/onnxruntime/core/flatbuffers/schema/ort.fbs.h ++++ b/onnxruntime/core/flatbuffers/schema/ort.fbs.h +@@ -6,13 +6,6 @@ + + #include "core/common/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + namespace onnxruntime { + namespace fbs { + +--- a/onnxruntime/core/flatbuffers/schema/ort_training_checkpoint.fbs.h ++++ b/onnxruntime/core/flatbuffers/schema/ort_training_checkpoint.fbs.h +@@ -6,13 +6,6 @@ + + #include "core/common/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + #include "ort.fbs.h" + + namespace onnxruntime { +--- a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/External/DirectMLHelpers/DmlGraphDesc_generated.h ++++ b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/External/DirectMLHelpers/DmlGraphDesc_generated.h +@@ -6,13 +6,6 @@ + + #include "core/common/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + #include "OperatorFieldTypes_generated.h" + + namespace dml { +--- a/onnxruntime/core/providers/dml/DmlExecutionProvider/src/External/DirectMLHelpers/OperatorFieldTypes_generated.h ++++ b/onnxruntime/core/providers/dml/DmlExecutionProvider/src/External/DirectMLHelpers/OperatorFieldTypes_generated.h +@@ -6,13 +6,6 @@ + + #include "core/common/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + namespace dml { + namespace ir { + namespace operatorFieldTypes { +--- a/onnxruntime/lora/adapter_format/adapter_schema.fbs.h ++++ b/onnxruntime/lora/adapter_format/adapter_schema.fbs.h +@@ -5,13 +5,6 @@ + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + namespace onnxruntime { + namespace adapters { + +--- a/onnxruntime/test/flatbuffers/flatbuffers_utils_test.fbs.h ++++ b/onnxruntime/test/flatbuffers/flatbuffers_utils_test.fbs.h +@@ -7,13 +7,6 @@ + // manual edit to use wrapper in core/common + #include "core/common/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 5 && +- FLATBUFFERS_VERSION_REVISION == 26, +- "Non-compatible flatbuffers version included"); +- + // manual edit to set include path for this + #include "core/flatbuffers/schema/ort.fbs.h" diff --git a/sci-libs/onnxruntime/files/onnxruntime-1.22.2-use-system-libraries.patch b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-use-system-libraries.patch new file mode 100644 index 0000000000..e5eeee3af4 --- /dev/null +++ b/sci-libs/onnxruntime/files/onnxruntime-1.22.2-use-system-libraries.patch @@ -0,0 +1,226 @@ +From: Pavel Sobolev +Subject: [PATCH] Use system libraries. + +Everything, except for Eigen3. + +Signed-off-by: Pavel Sobolev + +--- a/cmake/external/abseil-cpp.cmake ++++ b/cmake/external/abseil-cpp.cmake +@@ -28,7 +28,7 @@ onnxruntime_fetchcontent_declare( + URL_HASH SHA1=${DEP_SHA1_abseil_cpp} + EXCLUDE_FROM_ALL + PATCH_COMMAND ${ABSL_PATCH_COMMAND} +- FIND_PACKAGE_ARGS 20240722 NAMES absl ++ FIND_PACKAGE_ARGS NAMES absl REQUIRED + ) + + onnxruntime_fetchcontent_makeavailable(abseil_cpp) +--- a/cmake/external/onnxruntime_external_deps.cmake ++++ b/cmake/external/onnxruntime_external_deps.cmake +@@ -40,7 +40,7 @@ onnxruntime_fetchcontent_declare( + URL ${DEP_URL_re2} + URL_HASH SHA1=${DEP_SHA1_re2} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES re2 ++ FIND_PACKAGE_ARGS NAMES re2 REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(re2) + +@@ -68,7 +68,7 @@ if (onnxruntime_BUILD_UNIT_TESTS) + URL ${DEP_URL_googletest} + URL_HASH SHA1=${DEP_SHA1_googletest} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 1.14.0...<2.0.0 NAMES GTest ++ FIND_PACKAGE_ARGS 1.14.0...<2.0.0 NAMES GTest REQUIRED + ) + FetchContent_MakeAvailable(googletest) + endif() +@@ -84,7 +84,7 @@ if (onnxruntime_BUILD_BENCHMARKS) + URL ${DEP_URL_google_benchmark} + URL_HASH SHA1=${DEP_SHA1_google_benchmark} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES benchmark ++ FIND_PACKAGE_ARGS NAMES benchmark REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(google_benchmark) + endif() +@@ -102,7 +102,7 @@ if(onnxruntime_USE_MIMALLOC) + URL ${DEP_URL_mimalloc} + URL_HASH SHA1=${DEP_SHA1_mimalloc} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES mimalloc ++ FIND_PACKAGE_ARGS NAMES mimalloc REQUIRED + ) + FetchContent_MakeAvailable(mimalloc) + endif() +@@ -191,7 +191,7 @@ onnxruntime_fetchcontent_declare( + URL_HASH SHA1=${DEP_SHA1_protobuf} + PATCH_COMMAND ${ONNXRUNTIME_PROTOBUF_PATCH_COMMAND} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES Protobuf protobuf ++ FIND_PACKAGE_ARGS NAMES Protobuf protobuf REQUIRED + ) + + set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests" FORCE) +@@ -271,7 +271,7 @@ onnxruntime_fetchcontent_declare( + URL ${DEP_URL_date} + URL_HASH SHA1=${DEP_SHA1_date} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 3...<4 NAMES date ++ FIND_PACKAGE_ARGS 3...<4 NAMES date REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(date) + +@@ -285,7 +285,7 @@ if(NOT TARGET Boost::mp11) + mp11 + URL ${DEP_URL_mp11} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES Boost ++ FIND_PACKAGE_ARGS NAMES Boost REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(mp11) + if(NOT TARGET Boost::mp11) +@@ -302,7 +302,7 @@ onnxruntime_fetchcontent_declare( + URL ${DEP_URL_json} + URL_HASH SHA1=${DEP_SHA1_json} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 3.10 NAMES nlohmann_json ++ FIND_PACKAGE_ARGS 3.10 NAMES nlohmann_json REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(nlohmann_json) + +@@ -366,7 +366,7 @@ if (CPUINFO_SUPPORTED) + URL_HASH SHA1=${DEP_SHA1_pytorch_cpuinfo} + EXCLUDE_FROM_ALL + PATCH_COMMAND ${Patch_EXECUTABLE} -p1 < ${PROJECT_SOURCE_DIR}/patches/cpuinfo/9bb12d342fd9479679d505d93a478a6f9cd50a47.patch +- FIND_PACKAGE_ARGS NAMES cpuinfo ++ FIND_PACKAGE_ARGS NAMES cpuinfo REQUIRED + ) + else() + onnxruntime_fetchcontent_declare( +@@ -374,7 +374,7 @@ if (CPUINFO_SUPPORTED) + URL ${DEP_URL_pytorch_cpuinfo} + URL_HASH SHA1=${DEP_SHA1_pytorch_cpuinfo} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES cpuinfo ++ FIND_PACKAGE_ARGS NAMES cpuinfo REQUIRED + ) + endif() + set(ONNXRUNTIME_CPUINFO_PROJ pytorch_cpuinfo) +@@ -392,7 +392,7 @@ if(onnxruntime_USE_CUDA) + URL_HASH SHA1=${DEP_SHA1_microsoft_gsl} + PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1064.patch + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL ++ FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL REQUIRED + ) + else() + onnxruntime_fetchcontent_declare( +@@ -400,14 +400,14 @@ else() + URL ${DEP_URL_microsoft_gsl} + URL_HASH SHA1=${DEP_SHA1_microsoft_gsl} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL ++ FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL REQUIRED + ) + endif() + set(GSL_TARGET "Microsoft.GSL::GSL") + set(GSL_INCLUDE_DIR "$") + onnxruntime_fetchcontent_makeavailable(GSL) + +-find_path(safeint_SOURCE_DIR NAMES "SafeInt.hpp") ++find_path(safeint_SOURCE_DIR NAMES "SafeInt.hpp" REQUIRED) + if(NOT safeint_SOURCE_DIR) + unset(safeint_SOURCE_DIR) + onnxruntime_fetchcontent_declare( +@@ -449,10 +449,14 @@ onnxruntime_fetchcontent_declare( + URL_HASH SHA1=${DEP_SHA1_flatbuffers} + PATCH_COMMAND ${ONNXRUNTIME_FLATBUFFERS_PATCH_COMMAND} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 23.5.9 NAMES Flatbuffers flatbuffers ++ FIND_PACKAGE_ARGS 23.5.9 NAMES Flatbuffers flatbuffers REQUIRED + ) + + onnxruntime_fetchcontent_makeavailable(flatbuffers) ++if(TARGET flatbuffers::flatbuffers_shared AND NOT TARGET flatbuffers::flatbuffers) ++ message(STATUS "Aliasing flatbuffers::flatbuffers to flatbuffers::flatbuffers_shared") ++ add_library(flatbuffers::flatbuffers ALIAS flatbuffers::flatbuffers_shared) ++endif() + if(NOT flatbuffers_FOUND) + if(NOT TARGET flatbuffers::flatbuffers) + add_library(flatbuffers::flatbuffers ALIAS flatbuffers) +@@ -514,7 +514,7 @@ onnxruntime_fetchcontent_declare( + URL_HASH SHA1=${DEP_SHA1_onnx} + PATCH_COMMAND ${ONNXRUNTIME_ONNX_PATCH_COMMAND} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES ONNX onnx ++ FIND_PACKAGE_ARGS NAMES ONNX onnx REQUIRED + ) + if (NOT onnxruntime_MINIMAL_BUILD) + onnxruntime_fetchcontent_makeavailable(onnx) +@@ -597,7 +597,7 @@ if(onnxruntime_ENABLE_DLPACK) + URL ${DEP_URL_dlpack} + URL_HASH SHA1=${DEP_SHA1_dlpack} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES dlpack ++ FIND_PACKAGE_ARGS NAMES dlpack REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(dlpack) + endif() +@@ -610,7 +610,7 @@ if(onnxruntime_ENABLE_TRAINING OR (onnxruntime_ENABLE_TRAINING_APIS AND onnxrunt + URL ${DEP_URL_cxxopts} + URL_HASH SHA1=${DEP_SHA1_cxxopts} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES cxxopts ++ FIND_PACKAGE_ARGS NAMES cxxopts REQUIRED + ) + set(CXXOPTS_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) + set(CXXOPTS_BUILD_TESTS OFF CACHE BOOL "" FORCE) +--- a/cmake/external/pybind11.cmake ++++ b/cmake/external/pybind11.cmake +@@ -6,7 +6,7 @@ onnxruntime_fetchcontent_declare( + URL ${DEP_URL_pybind11} + URL_HASH SHA1=${DEP_SHA1_pybind11} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS 2.13 NAMES pybind11 ++ FIND_PACKAGE_ARGS 2.13 NAMES pybind11 REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(pybind11_project) + +--- a/cmake/external/wil.cmake ++++ b/cmake/external/wil.cmake +@@ -8,7 +8,7 @@ onnxruntime_fetchcontent_declare( + URL ${DEP_URL_microsoft_wil} + URL_HASH SHA1=${DEP_SHA1_microsoft_wil} + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES wil ++ FIND_PACKAGE_ARGS NAMES wil REQUIRED + ) + + if(WIN32) +--- a/cmake/external/xnnpack.cmake ++++ b/cmake/external/xnnpack.cmake +@@ -17,11 +17,11 @@ if(CMAKE_ANDROID_ARCH_ABI STREQUAL armeabi-v7a) + endif() + + # pthreadpool depends on fxdiv +-onnxruntime_fetchcontent_declare(fxdiv URL ${DEP_URL_fxdiv} URL_HASH SHA1=${DEP_SHA1_fxdiv} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES fxdiv) ++onnxruntime_fetchcontent_declare(fxdiv URL ${DEP_URL_fxdiv} URL_HASH SHA1=${DEP_SHA1_fxdiv} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES fxdiv REQUIRED) + onnxruntime_fetchcontent_makeavailable(fxdiv) + set(FXDIV_SOURCE_DIR ${fxdiv_SOURCE_DIR}) + +-onnxruntime_fetchcontent_declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES unofficial-pthreadpool) ++onnxruntime_fetchcontent_declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_SHA1_pthreadpool} EXCLUDE_FROM_ALL FIND_PACKAGE_ARGS NAMES unofficial-pthreadpool REQUIRED) + onnxruntime_fetchcontent_makeavailable(pthreadpool) + + # --- Determine target processor +@@ -84,7 +84,7 @@ endif() + onnxruntime_fetchcontent_declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} + PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch + EXCLUDE_FROM_ALL +- FIND_PACKAGE_ARGS NAMES xnnpack ++ FIND_PACKAGE_ARGS NAMES xnnpack REQUIRED + ) + onnxruntime_fetchcontent_makeavailable(googlexnnpack) + set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) diff --git a/sci-libs/onnxruntime/metadata.xml b/sci-libs/onnxruntime/metadata.xml new file mode 100644 index 0000000000..caaaa86ad2 --- /dev/null +++ b/sci-libs/onnxruntime/metadata.xml @@ -0,0 +1,12 @@ + + + + + contact@paveloom.dev + Pavel Sobolev + + + https://github.com/microsoft/onnxruntime/issues + microsoft/onnxruntime + + diff --git a/sci-libs/onnxruntime/onnxruntime-1.22.2.ebuild b/sci-libs/onnxruntime/onnxruntime-1.22.2.ebuild new file mode 100644 index 0000000000..c8b5bb9039 --- /dev/null +++ b/sci-libs/onnxruntime/onnxruntime-1.22.2.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cmake edo flag-o-matic python-r1 + +EIGEN_COMMIT="1d8b82b0740839c0de7f1242a3585e3390ff5f33" + +DESCRIPTION="Cross-platform, high performance ML inferencing and training accelerator" +HOMEPAGE=" + https://onnxruntime.ai + https://github.com/microsoft/onnxruntime +" +SRC_URI=" + https://github.com/microsoft/onnxruntime/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_COMMIT}/eigen-${EIGEN_COMMIT}.tar.bz2 -> + eigen-3.4.0_p20250216.tar.bz2 +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="python test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-cpp/abseil-cpp:= + dev-libs/cpuinfo + dev-libs/protobuf:= + dev-libs/re2:= + sci-ml/onnx[disableStaticReg] + + python? ( + ${PYTHON_DEPS} + dev-python/coloredlogs[${PYTHON_USEDEP}] + dev-python/flatbuffers[${PYTHON_USEDEP}] + >=dev-python/numpy-2[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/protobuf[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/ms-gsl + dev-cpp/nlohmann_json + dev-cpp/safeint + dev-libs/boost + dev-libs/date + dev-libs/flatbuffers + + python? ( + dev-python/pybind11[${PYTHON_USEDEP}] + sci-libs/dlpack + ) +" +BDEPEND=" + ${PYTHON_DEPS} + + test? ( + dev-cpp/gtest + + python? ( dev-python/pytest[${PYTHON_USEDEP}] ) + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-1.22.2-add-a-missing-include-of-cstdint.patch" + "${FILESDIR}/${PN}-1.22.2-relax-the-dependency-on-flatbuffers.patch" + "${FILESDIR}/${PN}-1.22.2-use-system-libraries.patch" +) + +CMAKE_USE_DIR="${S}/cmake" + +src_configure() { + # Python is used at build time unconditionally + python_setup + + local mycmakeargs=( + -Donnxruntime_BUILD_SHARED_LIB=on + + -Donnxruntime_BUILD_UNIT_TESTS=$(usex test) + -Donnxruntime_ENABLE_PYTHON=$(usex python) + + # This is required until a newer version of Eigen3 comes out + -DFETCHCONTENT_SOURCE_DIR_EIGEN3="${WORKDIR}/eigen-${EIGEN_COMMIT}" + + # This makes it possible for `find_path` to find the `onnx-ml.proto` file + -DCMAKE_INCLUDE_PATH="$(python_get_sitedir)" + + -Wno-dev + ) + + append-ldflags -Wl,-z,noexecstack + cmake_src_configure +} + +# Adapted from `run_onnxruntime_tests` in `tools/ci_build/build.py` +python_test() { + cd "${S}/cmake_build" || die + epytest --pyargs \ + onnxruntime_test_python.py \ + onnxruntime_test_python_backend.py \ + onnxruntime_test_python_mlops.py \ + onnxruntime_test_python_sparse_matmul.py +} + +src_test() { + export GTEST_FILTER="*:-ActivationOpNoInfTest.Softsign" + cmake_src_test + + if use python ; then + python_test + fi +} + +# There is some custom logic in `setup.py` +python_install() { + cd "${S}/cmake_build" || die + edo ${EPYTHON} ../setup.py install \ + --prefix="${EPREFIX}/usr" \ + --root="${D}" + + libs=( + "libonnxruntime.so.${PV}" + "libonnxruntime_providers_shared.so" + ) + for lib in "${libs[@]}"; do + ln -fsr "${ED}/usr/$(get_libdir)/${lib}" "${D}/$(python_get_sitedir)/onnxruntime/capi/${lib}" + done + + rm -rf "${D}/$(python_get_sitedir)"/*.egg-info + python_optimize +} + +src_install() { + cmake_src_install + + if use python ; then + python_foreach_impl python_install + fi +}