Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-08-19 14:03:50 +00:00
29 changed files with 914 additions and 107 deletions

1
dev-cpp/safeint/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST safeint-3.0.28a.tar.gz 589772 BLAKE2B e3fb1f9f43034f86d044a25063fc0762ba73326ed2917a382e48b765d36d919397b97ca548901fa76d645a3b8c1408367ab92533d75a156ffcf8bf78554e7e12 SHA512 04f3d4202b7069f2970811311c422b48225466887768a1f1fcdc9417e2b6a1ebd64f83ee86abe25e667e7945b011b5ef7ce2bbc83ce8e518fc4bf609fa52d77c

View File

@@ -0,0 +1,26 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Install the library.
Bug: https://github.com/dcleblanc/SafeInt/issues/67
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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}")

View File

@@ -0,0 +1,25 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Make tests optional.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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 .)

View File

@@ -0,0 +1,41 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Remove broken tests.
Bug: https://github.com/dcleblanc/SafeInt/issues/55
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/dcleblanc/SafeInt/issues</bugs-to>
<remote-id type="github">dcleblanc/SafeInt</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -54,4 +54,5 @@ pkg_postinst() {
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
udev_reload
}

View File

@@ -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

View File

@@ -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."
}

View File

@@ -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

View File

@@ -0,0 +1 @@
DIST sonic-0.2.0_p20250419.tar.gz 5361929 BLAKE2B 45a981320f1ec45e0ca2d976e4f14bf5f89899045881a0957deb1ad8cdd34d09c0b8ff7faceb20f2824196c91a971fc2a33612981ca720ba73bd35238daf0274 SHA512 3710441ae1b8f6a3c97f178bd82f1310bcdb06fc99115c263945a9c8f63827e39382e6df1fb1f223f8ecb018fb5df32a23e3b2e8a7efed9982b5919c3a903a33

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/waywardgeek/sonic/issues</bugs-to>
<remote-id type="github">waywardgeek/sonic</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -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
}

View File

@@ -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

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<use>
<flag name="server">Enable server support</flag>
</use>
<upstream>
<bugs-to>https://github.com/OHF-Voice/piper1-gpl/issues</bugs-to>
<remote-id type="github">OHF-Voice/piper1-gpl</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -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 "$_"
}

1
sci-libs/dlpack/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST dlpack-1.1.tar.gz 198915 BLAKE2B 6e354e1a76f3dd289935c4aaea2707723117ffc7a15f4c51dec6c241a7e02661cc9c2cf46930226fa77eb18cc689801abaecf8b073423f0785f817f2e56fb5e9 SHA512 ff24ddf8a138f20aeede2708327d8239bd3cc4e2223a6fbce1589638dd2d844827ce6af1d3eb1a14165e608f424f5d4ff358c5f55600b150083c6c8b83e35afd

View File

@@ -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
}

View File

@@ -0,0 +1,16 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Don't turn warnings into errors when building docs.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/dmlc/dlpack/issues</bugs-to>
<remote-id type="github">dmlc/dlpack</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -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

View File

@@ -0,0 +1,15 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Add a missing include of `cstdint`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/onnxruntime/core/optimizer/transpose_optimization/optimizer_api.h
+++ b/onnxruntime/core/optimizer/transpose_optimization/optimizer_api.h
@@ -10,6 +10,7 @@
#include <string_view>
#include <unordered_map>
#include <unordered_set>
+#include <cstdint>
#include <vector>
namespace onnx_transpose_optimization {

View File

@@ -0,0 +1,100 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Relax the dependency on `flatbuffers`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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"

View File

@@ -0,0 +1,226 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use system libraries.
Everything, except for Eigen3.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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 "$<TARGET_PROPERTY:${GSL_TARGET},INTERFACE_INCLUDE_DIRECTORIES>")
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})

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/microsoft/onnxruntime/issues</bugs-to>
<remote-id type="github">microsoft/onnxruntime</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -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
}