obsolete cleanup 2

This commit is contained in:
TheK0tYaRa 2025-09-27 08:04:35 +03:00
parent 0054db520c
commit a57673c7a1
262 changed files with 194 additions and 27353 deletions

View file

@ -1,3 +1,8 @@
#!/usr/bin/env fish
git rm -rf (equery meta (echo */(tree ./* | grep -oE '^├── .+$' | string replace '├── ' '' ) | string split ' ') | grep -o '/var/db/repos/gentoo/.*/.*' | grep -oE '[a-zA-Z-]*/[a-zA-Z-]*$')
git rm -rf (equery meta */* | grep -o '/var/db/repos/gentoo/.*/.*' | grep -oE '[a-zA-Z-]*/[a-zA-Z-]*$')
for pkg in (./ebuild-repo-tools.py list obsolete)
ls $pkg
equery meta $pkg
end

View file

@ -1 +0,0 @@
DIST cppgir-0_p20240102.tar.bz2 102421 BLAKE2B f0b1ac871e7fc662c5c2aeb24cb8cb4f8570ae832f4ac6afdadb3c811f4ebc91862f8571133dfb9314fa994449b4d7cc4344f7a8a2aabcaa395d793bc4ca3655 SHA512 67778c6dec24a9afd848241c768af9fd3c9098e00ba168ebe5d776f3b5086b2489c38247a6441c99f7971dd53315e2758fe38c21fced44d857dc064e66f50731

View file

@ -1,46 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic
DESCRIPTION="GObject-Introspection C++ binding wrapper generator"
HOMEPAGE="https://gitlab.com/mnauw/cppgir"
MY_PV="4c16bffe646af52b7112785cda8112d761f95860"
SRC_URI="https://gitlab.com/mnauw/cppgir/-/archive/${MY_PV}/cppgir-${MY_PV}.tar.bz2 -> ${P}.tar.bz2"
S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
IUSE="doc test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/boost:=
dev-libs/libfmt:=
"
DEPEND="${RDEPEND}
dev-cpp/expected-lite
"
BDEPEND="
doc? ( app-text/ronn-ng )
test? ( dev-libs/glib )
"
src_configure() {
local mycmakeargs=(
-DBUILD_DOC=$(usex doc)
-DBUILD_TESTING=$(usex test)
-DBUILD_EXAMPLES=no
-DINTERNAL_EXPECTED=no
)
append-cppflags \
-UDEFAULT_GIRPATH \
-DDEFAULT_GIRPATH="${EPREFIX}/usr/share:${EPREFIX}/usr/local/share"
cmake_src_configure
}

View file

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>esteve.varela@gmail.com</email>
<name>Esteve Varela Colominas</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="gitlab">mnauw/cppgir</remote-id>
<bugs-to>https://gitlab.com/mnauw/cppgir/-/issues</bugs-to>
</upstream>
</pkgmetadata>

View file

@ -1,4 +0,0 @@
DIST falcosecurity-libs-0.17.3.tar.gz 4425090 BLAKE2B 3d6300bba2303715581d9b35f63e453f85a3889fa93233d3b1ca69f6ba92b33e0a7d90bbd160b765487b44771a1d94f5a1fb380cf4e5130506a885471dddb7e7 SHA512 05707c404bdd45c2e944b903dbbc1e5e0e5991a3d4cbe9ea357efb35b5ad0c4ede7cdd7b056a7dde2543cc2c0b8d5d3b42606202128b7287a80a1da686de169e
DIST falcosecurity-libs-0.19.0.tar.gz 4499949 BLAKE2B 4d165f3b023183abf527a2243f601ca7e6929e882ab854901ff98c3441b6bee61f9bb5d3af8974953423fa46d3968872b7f9dbfb1d81d6ad78202442e5f8d9b7 SHA512 5b011c804b07bf2f3eb6a6d7e8c9ef4e54bcc8d74116020e887465aba3dec737bdf8fc854778a8230f7e23e87da29423c6320a8054873eb5c9c957ce40ef3825
DIST sysdig-0.38.1.tar.gz 67528905 BLAKE2B 9b0e0f337bf64df200b44f7e23c64d00477d6ebfb2bc995dcb04951c8e25fb9274431022b8fa54f54851436f063b79d1268045ba686e97fb0195922bc8dfcf28 SHA512 17275c029368b203ec590cf448a33275bd6c20b81be77edcd393f1a3c04e6c4714c7286b6268823bb0c629d52a88cd97f7b3ef588bd10a000b65de23eb5b5a45
DIST sysdig-0.39.0.tar.gz 85742724 BLAKE2B 7e6414b3b87bd4cc43ede8c28f99ebd385a63b0efd711d6648b832d64d518bbfe7ddb2bff469232933413a2807d4df66775c8d57072d9e80aeffb5b2dd5690fd SHA512 d43c816d4c29cc283d3247ac0ac3591b8adea7a08194a80b4e530f0c45730a824d16eda7b07bb70e4658cbae0f851fbb67ec880eedf33477bf5bfc911d8a7936

View file

@ -1,21 +0,0 @@
Do not attempt to link against libanl on musl.
Bug: https://bugs.gentoo.org/929907
Bug: https://github.com/falcosecurity/libs/issues/1948
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
--- libs-0.17.2/userspace/libsinsp/CMakeLists.txt~ 2024-06-14 11:38:50.000000000 +0200
+++ libs-0.17.2/userspace/libsinsp/CMakeLists.txt 2024-07-05 00:18:03.326406540 +0200
@@ -258,8 +258,8 @@ if(NOT WIN32)
)
if(NOT MUSL_OPTIMIZED_BUILD)
- target_link_libraries(sinsp INTERFACE rt anl)
- list(APPEND SINSP_PKGCONFIG_LIBRARIES rt anl)
+ target_link_libraries(sinsp INTERFACE rt)
+ list(APPEND SINSP_PKGCONFIG_LIBRARIES rt)
endif()
else()

View file

@ -1,32 +0,0 @@
Sanitize the scap loader script to not attempt driver downloads or compilation
by default, which would not work anyway as sysdig does not host prebuilt modules
for Gentoo.
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
--- sysdig-0.38.0/scripts/scap-driver-loader.in~ 2024-06-17 11:14:55.000000000 +0200
+++ sysdig-0.38.0/scripts/scap-driver-loader.in 2024-06-17 11:14:55.000000000 +0200
@@ -662,8 +662,8 @@ print_usage() {
echo "Options:"
echo " --help show brief help"
echo " --clean try to remove an already present driver installation"
- echo " --compile try to compile the driver locally (default true)"
- echo " --download try to download a prebuilt driver (default true)"
+ echo " --compile try to compile the driver locally (default false)"
+ echo " --download try to download a prebuilt driver (default false)"
echo " --source-only skip execution and allow sourcing in another script"
echo ""
echo "Environment variables:"
@@ -770,11 +770,6 @@ while test $# -gt 0; do
esac
done
-if [ -z "$has_opts" ]; then
- ENABLE_COMPILE="yes"
- ENABLE_DOWNLOAD="yes"
-fi
-
if [ -z "$source_only" ]; then
echo "* Running scap-driver-loader for: driver version=${DRIVER_VERSION}, arch=${ARCH}, kernel release=${KERNEL_RELEASE}, kernel version=${KERNEL_VERSION}"

View file

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>holger@applied-asynchrony.com</email>
<name>Holger Hoffstätte</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="bpf">Enable the BPF probe as alternative event source
to <pkg>dev-debug/scap-driver</pkg>.</flag>
<flag name="modules">Build kernel modules needed for tracing local
events. Disable this only if you intend to use sysdig purely
to work with dumpfiles.</flag>
</use>
<upstream>
<remote-id type="github">draios/sysdig</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,131 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( luajit )
inherit bash-completion-r1 cmake flag-o-matic lua-single
DESCRIPTION="A system exploration and troubleshooting tool"
HOMEPAGE="https://sysdig.com/"
# The version of falcosecurity-libs required by sysdig as source tree
LIBS_VERSION="0.17.3"
SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> falcosecurity-libs-${LIBS_VERSION}.tar.gz"
# The driver version as found in cmake/modules/driver.cmake
DRIVER_VERSION="7.2.0+driver"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="+modules"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RDEPEND="${LUA_DEPS}
dev-cpp/abseil-cpp:=
dev-cpp/tbb:=
dev-cpp/yaml-cpp:=
dev-libs/jsoncpp:=
dev-libs/libb64:=
dev-libs/protobuf:=
dev-libs/re2:=
dev-libs/uthash
net-libs/grpc:=
net-misc/curl
sys-libs/ncurses:=
sys-libs/zlib:=
virtual/libelf:="
DEPEND="${RDEPEND}
dev-cpp/nlohmann_json
dev-cpp/valijson
virtual/os-headers"
# pin the driver to the falcosecurity-libs version
PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )"
PATCHES=( "${FILESDIR}/${PV}-scap-loader.patch" )
src_prepare() {
# manually apply patches to falcosecurity-libs dependency
pushd "${WORKDIR}/libs-${LIBS_VERSION}"
# musl has no libanl (#929227)
if [ ${ELIBC} == "musl" ] ; then
eapply "${FILESDIR}/${PV}-libs-no-libanl.patch" || die
fi
popd
# do not build with debugging info
sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die
# fix the driver version
sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die
cmake_src_prepare
}
src_configure() {
# known problems with strict aliasing:
# https://github.com/falcosecurity/libs/issues/1964
append-flags -fno-strict-aliasing
local mycmakeargs=(
# do not build the kernel driver
-DBUILD_DRIVER=OFF
# libscap examples are not installed or really useful
-DBUILD_LIBSCAP_EXAMPLES=OFF
# do not build internal libs as shared
-DBUILD_SHARED_LIBS=OFF
# do not build eBPF driver for now
-DBUILD_SYSDIG_MODERN_BPF=OFF
# set driver version to prevent downloading (don't ask..)
-DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver
-DDRIVER_VERSION=${DRIVER_VERSION}
# point sysdig to the libs tree
-DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}
# explicitly set sysdig version - required for some reason
-DSYSDIG_VERSION=${PV}
# do not use bundled dependencies for sysdig
-DUSE_BUNDLED_DEPS=OFF
# do not use bundled dependencies for falcosecurity-libs
-DUSE_BUNDLED_B64=OFF
-DUSE_BUNDLED_JSONCPP=OFF
-DUSE_BUNDLED_RE2=OFF
-DUSE_BUNDLED_TBB=OFF
-DUSE_BUNDLED_VALIJSON=OFF
# set valijson include path to prevent downloading
-DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include
# enable chisels
-DWITH_CHISEL=ON
)
cmake_src_configure
}
src_install() {
cmake_src_install
# remove driver headers
rm -r "${ED}"/usr/src || die
# remove libscap/libsinsp headers & libs (see #938187)
rm -r "${ED}"/usr/include/sysdig || die
rm -r "${ED}"/usr/$(get_libdir) || die
# move bashcomp to the proper location
dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die
rm -r "${ED}"/usr/etc || die
}

View file

@ -1,169 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
LUA_COMPAT=( luajit )
inherit bash-completion-r1 cmake flag-o-matic linux-info llvm-r1 lua-single
DESCRIPTION="A system exploration and troubleshooting tool"
HOMEPAGE="https://sysdig.com/"
# The version of falcosecurity-libs required by sysdig as source tree
LIBS_VERSION="0.19.0"
LIBS="falcosecurity-libs-${LIBS_VERSION}"
SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> ${LIBS}.tar.gz"
# The driver version as found in cmake/modules/driver.cmake or alternatively
# as git tag on the $LIBS_VERSION of falcosecurity-libs.
DRIVER_VERSION="7.3.0+driver"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="bpf +modules"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RDEPEND="${LUA_DEPS}
dev-cpp/abseil-cpp:=
dev-cpp/tbb:=
dev-cpp/yaml-cpp:=
dev-libs/jsoncpp:=
dev-libs/libb64:=
bpf? ( >=dev-libs/libbpf-1.1:= )
dev-libs/protobuf:=
dev-libs/re2:=
dev-libs/uthash
net-libs/grpc:=
net-misc/curl
sys-libs/ncurses:=
sys-libs/zlib:=
virtual/libelf:="
DEPEND="${RDEPEND}
dev-cpp/nlohmann_json
dev-cpp/valijson
bpf? ( $(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
')
)
virtual/os-headers"
BDEPEND="bpf? ( dev-util/bpftool )"
# pin the driver to the falcosecurity-libs version
PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )"
PATCHES=(
"${FILESDIR}/0.38.1-scap-loader.patch"
)
pkg_pretend() {
if use bpf; then
local CONFIG_CHECK="
~BPF
~BPF_EVENTS
~BPF_JIT
~BPF_SYSCALL
~FTRACE_SYSCALLS
~HAVE_EBPF_JIT
"
check_extra_config
fi
}
pkg_setup() {
use bpf && llvm-r1_pkg_setup
}
src_prepare() {
# do not build with debugging info
sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die
# fix the driver version
sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die
cmake_src_prepare
}
src_configure() {
# known problems with strict aliasing:
# https://github.com/falcosecurity/libs/issues/1964
append-flags -fno-strict-aliasing
local mycmakeargs=(
# do not build the kernel driver
-DBUILD_DRIVER=OFF
# libscap examples are not installed or really useful
-DBUILD_LIBSCAP_EXAMPLES=OFF
# do not build internal libs as shared
-DBUILD_SHARED_LIBS=OFF
# build BPF probe depending on USE
-DBUILD_SYSDIG_MODERN_BPF:BOOL=$(usex bpf)
# set driver version to prevent downloading (don't ask..)
-DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver
-DDRIVER_VERSION=${DRIVER_VERSION}
# point sysdig to the libs tree
-DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}
# explicitly set sysdig version - required for some reason
-DSYSDIG_VERSION=${PV}
# do not use bundled dependencies for sysdig
-DUSE_BUNDLED_DEPS=OFF
# do not use bundled dependencies for falcosecurity-libs
-DUSE_BUNDLED_B64=OFF
-DUSE_BUNDLED_JSONCPP=OFF
-DUSE_BUNDLED_RE2=OFF
-DUSE_BUNDLED_TBB=OFF
-DUSE_BUNDLED_VALIJSON=OFF
# set valijson include path to prevent downloading
-DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include
# enable chisels
-DWITH_CHISEL=ON
)
cmake_src_configure
}
src_install() {
cmake_src_install
# remove driver headers
rm -r "${ED}"/usr/src || die
# remove libscap/libsinsp headers & libs (see #938187)
rm -r "${ED}"/usr/include/sysdig || die
rm -r "${ED}"/usr/$(get_libdir) || die
# move bashcomp to the proper location
dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die
rm -r "${ED}"/usr/etc || die
}
pkg_postinst() {
if use bpf; then
elog
elog "You have enabled the 'modern BPF' probe."
elog "This eBPF-based event source is an alternative to the traditional"
elog "scap kernel module."
elog
elog "To use it, start sysdig/csysdig with '--modern-bpf'."
elog
fi
}

View file

@ -1,42 +0,0 @@
DIST dotnet-sdk-6.0.417-linux-arm.tar.gz 182268907 BLAKE2B fef6b9845d6ba6fd19cbe580f3a868ad48872fc919d119123886a9c975281ed0ab407cfe24421da1fb6bc6cc907c3d693278e0a3ab05f4382c10203095710c6e SHA512 f14d5d24d6611139cff313275599923856307c3afe57d2439eb95e2a89da5fb54fdb6ce5b0d7a243f2d031af4eb0c277ce1914725f8b9dcff4002fcc05489f08
DIST dotnet-sdk-6.0.417-linux-arm64.tar.gz 179979647 BLAKE2B 069d6afc216b6ed3ebe3093e933f88af4d51f6a994fc4aeaae85658583a5cabf5e8ab08a0e1cfe53f7f19743769a9183b9e3d64b5464d6d96288ba51d983f261 SHA512 39cada75d9b92797de304987437498d853e1a525b38fa72d0d2949932a092fcf6036b055678686db42682b5b79cdc5ec5995cb01aa186762e081eb1ed38d2364
DIST dotnet-sdk-6.0.417-linux-musl-arm.tar.gz 182168816 BLAKE2B b5e149074cb6076e03aaa90545d3916c072e9d1c46f6831633786658424fb8cbf12e72c3f497cb49755696668acb027534606152514f09d3417336aa7eb44eab SHA512 86bff3ab8cecfd16f3d9d26da87b6cbeffd2041d474c56602ee5d77f6883fa64cfe85a19291fdc5afaab438fa5871e366f754b211ece161887f53c637473b661
DIST dotnet-sdk-6.0.417-linux-musl-arm64.tar.gz 180078950 BLAKE2B cfc3c11ce237da87aa1a85d06fa9d2c10c606c6642f56310729e26cf1701e774918de49d738dd636b9e970db2e62b9926f5a7d5b71308d1baba28376457f5baf SHA512 0b3504a026d580303d4524ab3558e9e45b8785d2b7c3f4c7dba52ff4e3abe9fdc8d186227f7f3327b698c5799f38b8743ad7b14517395b5c7ad38d858e0e29df
DIST dotnet-sdk-6.0.417-linux-musl-x64.tar.gz 185652013 BLAKE2B 70995eabd48fe756aa3af38202f29a476fae513b6cd4643e374f1a9a7da35e14af3b1f6daa347b7c07a7ca46582f849a7b7bc6fa505085045bbf8dab38d06d9c SHA512 caa0dbe8e9ca3ebdb5d98dd68b7d5606b70a0d8d586ff906f0a9e761155f26a2c7d70cd71eb5d48901342913985f862ac01f7142c717eefffb98fb5576bb1067
DIST dotnet-sdk-6.0.417-linux-x64.tar.gz 186250370 BLAKE2B 7a285c81cfa5e153aa8971b44b484204be982c7a2dad548cf5e518a22509a07d5599b93b09b2df3cefdc9d35132d274d0b860f003c4aab0c5aed4a9ad9dc372c SHA512 997caff60dbad7259db7e3dd89886fc86b733fa6c1bd3864c8199f704eb24ee59395e327c43bb7c0ed74e57ec412bd616ea26f02f8f8668d04423d6f8e0a8a33
DIST dotnet-sdk-7.0.404-linux-arm.tar.gz 214327326 BLAKE2B 42e171b1b0abfed3d587dd4ac29966804be50e9dd01a7ff2a2d3929731ae5c55608f3bbfafb59385fe67b793e3c08a12bc0ccd39bef2b323bfffa86f1d7d224c SHA512 25a5a4ba918be181fbe58b4e5c5b385c4825837ed0e3778b01754c35f0d2651ec71873697f8781e91adad9177c366a179c34378418d4736366c978115ca0a32b
DIST dotnet-sdk-7.0.404-linux-arm64.tar.gz 213920418 BLAKE2B 980a5f685290d5cffc6478e4add36cb3848b5893d33665348496c0dff000cd30437799a7a57d3d9d2d891a8c27f8880b909e21e1812446f44681d66e1840dd6f SHA512 b7131829d08dadbfd3b55a509e2d9a9de90b7447e27187bd717cebf1b134bd0ddfcb9285032f2ce08bd427487125e8b3e9cdc99b7f92436901e803e65f1581de
DIST dotnet-sdk-7.0.404-linux-musl-arm.tar.gz 214217752 BLAKE2B 32d392dfd4d4e60b3a3fc1d6dcd0ab6fe888fdf2776e234835af26842299f28bae69f106c50affe82da648c707453a0bfd0864714d19dacc4aef679b91968185 SHA512 fdd975f762ff757f81b0cb9eb0063c32cd46d8c0fc45a1e29f1bffef2756b31cc725313e1e9b29c4908f0e7027970e594217af01cc909a0db0adec2384b6b916
DIST dotnet-sdk-7.0.404-linux-musl-arm64.tar.gz 213918271 BLAKE2B a310e95905ccb65506318c10fa4d492baf822dd143ac3ded8e9212ab0f304e188d0728deeeb03a0d34d3ab95e88fbc2d4fd4d727c2841bdd9401cf27396edf4b SHA512 209f29d23945d61d8d2bce57ed120b970ffdde7a23fcd397602e4755ff4be6ace2284d42297708e7cb2ef8a2f569885b0595b218e01b84b923c76c58fee1adb4
DIST dotnet-sdk-7.0.404-linux-musl-x64.tar.gz 218631734 BLAKE2B 4dc1d752cbb6c60d494be3b8fd9e1bdebdca0f48e5c61cea2948ca384c9136b87612cfd89a77cd9960b4a660061c3f2791ce8be1987edade2d0c70e28b325d1d SHA512 db21720eadc79fadf62332cf0a10bbf8c83a96521b25967e69ce54a14a16d9098abb9c8d2c263170332a30ccd0fd1eca92129a1e9fc3c3460fc265ace38bb04c
DIST dotnet-sdk-7.0.404-linux-x64.tar.gz 219088775 BLAKE2B 5b743021dd2209228fea77c7b63dc423ce70f1e8bae317dca0d3cd4e62ea4f770b790ca64dd15173281ef8224fce6fc211b57fe5460ce0ed427afe4b2a064c1a SHA512 f5c122044e9a107968af1a534051e28242f45307c3db760fbb4f3a003d92d8ea5a856ad4c4e8e4b88a3b6a825fe5e3c9e596c9d2cfa0eca8d5d9ee2c5dad0053
DIST dotnet-sdk-8.0.106-linux-arm.tar.gz 208974475 BLAKE2B f081fae8997e0d34e83de4a192ca7869c78d1e4eb31bc07d053c23b6577b65f33720428c362b12aeaa67a443f76a56410a0ee97e9682639c7cc9ca3693f9f85f SHA512 ebedfc205f9301890c78c4176d1a6f910890cf224e7ac34fd69f798d663550e36c3a2a057111304aaeecea31bfd496007ebbae4a51f33cd674588f42d8b3df9a
DIST dotnet-sdk-8.0.106-linux-arm64.tar.gz 208853029 BLAKE2B b0fe93b920f168490ca40debb320746f20f0372fa9fdcd16a6092ebcbd8ae8eadade5e86bca2fe04d6211b2cbc6b49452e4e666b3c2d4a7b41b6b1a23ee32afc SHA512 e8f735d20d79b20d24ce5b2f7c25c60604cb6b694b6572488c654cbf14a4d99c269f64f4ca23ab78aefaedf14f35a0ae1f33adf6afac5556e2ebd22ec73e04eb
DIST dotnet-sdk-8.0.106-linux-musl-arm.tar.gz 209248865 BLAKE2B 68fa57d4cebd7ff5903786fa8e1b7a7d66b5c9e75f9993b3b65692eade9fb67fa0c4fbaf48dc49d815c8043225962e218036811b68e71db2d7436a09b505dad5 SHA512 0d149ee7d5e3557d631ff96fff06e7bbf01cc80041d9a378cd8633f5304ba8351b3d25f7b889d68ae245329fd9cd86d9475cac5ca3a157e5fd98c18420857edf
DIST dotnet-sdk-8.0.106-linux-musl-arm64.tar.gz 209116519 BLAKE2B 543cc6b7fe8e7f295bf72cc39dc92a68d1b5d24e77d7083853495f27dd9e993a635598448f9a3f9dd84232c8af70b623ea6c3d27fb277288a09bdc7c740d763c SHA512 605fd1210a69fe1e933b64cb0377bda7e7fcfab17854069e252d444431260292d1470dbe645acc68e7ebec52985893497bfde9ba25a03794dbff9987437b2b45
DIST dotnet-sdk-8.0.106-linux-musl-x64.tar.gz 213814352 BLAKE2B 48bff3e97b53249fc33c79fa1630197e6dc51ec5c962060335b2a5bc2ac27ae451a83669ac364eb3c30c4e69e36a7659e52e165bb0b25511f0d2791e0d8a22be SHA512 ac5cbd009cb29624f6a686fe476ed9a6ad290aa22d9a613f2e14f35076f251e3e3ec6b7b1d1760daf5efff5e2d673654770bb9ab0761326a71dc7e190deb63ab
DIST dotnet-sdk-8.0.106-linux-x64.tar.gz 213776097 BLAKE2B ee629c5b85e87306da989f8f9df4e00b46b57ff0014accfdd8de31c3ee548ec8886a602acb45a64a2db194807f403b440e7c2190e50daf0e002d43160e7d42d2 SHA512 06eecc146b16eef0654fb4fd17faec06c6dc1b7236acc7e4a33e4b13cbea1d725faeb9eda41a0c12e65ec4c89d6624971429ca223638387c66f1d3e4dcd1407b
DIST dotnet-sdk-8.0.107-linux-arm.tar.gz 209085051 BLAKE2B 9c8c43acb174d3cb34c2c6381185d03274704853299d9fb316961c20e485722a3cc815ab8fdf4df05fc9b43d2f2ee7e84c284ff5306ecc2b2f7d2270d4355379 SHA512 782065b4bf96901c91448412bb22fba27958e8812caba0a02cf8dbf2333f7320ba2c1eecbef4859f4034eb80d04bdb853a1836e1d284bdf5f623c7416dfc9861
DIST dotnet-sdk-8.0.107-linux-arm64.tar.gz 208873804 BLAKE2B a684603d3ef888c8322af2636e7c1b1bfcb0d7f3f84b2a24875d2c3b22cfbc360b3ca630e68fc742e128e6173d73f6d377331977d6fa59af4c17e3f05de99091 SHA512 ab487873827677f44efe4372e0c325a48f339008d00307876e1e56795bc006be1770e8b1f9581c7197ea1bf857eae525aca18934591f603363f8fe9e021e7b2a
DIST dotnet-sdk-8.0.107-linux-musl-arm.tar.gz 209094033 BLAKE2B ecc7f6ea32a71ecbf53840829ce6becf4859d0229e846a9c1d239ec5cfcb73c9c91e28ad2f1d7e5b9a84d30805287a4f064d0a30710877d99b743d3b37171241 SHA512 e6e6325c6292bf435a0771c33eaf330dc132a11372ea6d12427f5a6c24cb6db260d95b1dfbba3c232cf9d5166f61192a05c7e3be4210a05a6687634fb0a887c6
DIST dotnet-sdk-8.0.107-linux-musl-arm64.tar.gz 208907068 BLAKE2B 0ee7875279dd37572c6d0b6360d76efa1078ffd8a67822c587a60e9ca50fee6c35418d7ddb92f182d2bbc8fc2c11bb015ea2790e668103b9f6c486b3414169d6 SHA512 5b99a07607cae652e4b392c17a7856ffb5df939e95d741d07c385d422e5511394567b5102213da1dc65183680d0e908d83c43c95b14bfabec305ca7731d9d676
DIST dotnet-sdk-8.0.107-linux-musl-x64.tar.gz 213639420 BLAKE2B ee877963955c1ae23b69c3fce1b2ab1d799b646e5917d5a1eb19e707bfeacd0118fca79a91993b97a40aafdacffe259a5c94b303c0b277e3202d2bfc75a99b33 SHA512 f25c95f9acff4db16593541fda517c32477eb618dc9ad5b3983a4ab5bd62fdd3c03c7d9f56afe1132aff5137bbdc4161e0b83f7c8101cb1766b82ed4072becef
DIST dotnet-sdk-8.0.107-linux-x64.tar.gz 213608643 BLAKE2B 716886da2c5a2190dc81e031b9e439eb31f6318418fdf47d487f3aacad99368f642f13d80aa6dd961517939d3e7e6f59efc4563a5ac62c4d7fc3a798e709e32a SHA512 10e0fbdc589e5e0de4fb0fe0e9c839bb2257c51948037a224d4358b8328b6791014ab4cb164beb617c83531a6ed774acb37b08e4a1b53f165e3eb853fd41a959
DIST dotnet-sdk-8.0.108-linux-arm.tar.gz 208945195 BLAKE2B e5e2c06ef316da57b7fb39fdd7fa6865b1d5b9040ba1f89cda67bb8bb0039f6c8f41beafc1c180e0317b92c5dcdff21212b2ae312a675b5b48cc50f74efb5abd SHA512 fafa8564b34b524b4209e1047ce7cf1190a5d42e7ba1b13524f5de602b075e630cdd229567f14eb2f0ae6c96ac910ae9dbb4fc4e528df958c9d31471341eedca
DIST dotnet-sdk-8.0.108-linux-arm64.tar.gz 208922242 BLAKE2B 76cc7262e503ebec87e665aa393dad704e8a38ce5c4b886c204ef96a9be18935ecc80b59f04c49a81cda152641bbbe17ba41120e4f56d0ce70e679808aafaa16 SHA512 6cc723f2b139d19b2e17da5936698d388a5b64638b75ef78c40c407ed3cfd3dea745c2916f03efc9e66479fc55d608eb3a89305727ecdb1c999b183b58de258d
DIST dotnet-sdk-8.0.108-linux-musl-arm.tar.gz 209001685 BLAKE2B 3f788ab4a10c7372942764150b1e3845fa54bb253095d6ab303ad93bd69dc2c9038c49d7b2d5c132979c15ad70040394d9c8d5fe34fbba092e99a99c4c0e653d SHA512 efb308d81ac1020962f14d03e7ca9419a2901a0846120e07cd95c65407fe2981a26360c2ffea141d80581aac6d2c36a7379c76c07b2fb37d4efb836905f8ff68
DIST dotnet-sdk-8.0.108-linux-musl-arm64.tar.gz 209077243 BLAKE2B 1b2ca78c62c16dd50aee5946276eb3f578433fa20c6a18d391049dd7adffd8099191c1709e4d913337254cbf2fc063d68ea8f46b7c726f38cfddd7ec60f46cfa SHA512 e7009ba373b043ccb469557271ac8ae518ab9c9b5b364e9841d8b97305b6036f33240e672e7c483798616a233429748d5038fdfd336352b82060afd645747045
DIST dotnet-sdk-8.0.108-linux-musl-x64.tar.gz 213832674 BLAKE2B fdd7b4c442f1ee2aa410275222892d5845946b125c60c63c6da968cf5efef65550ac4f92f764e6f09e10ce519ea995c7387fb17b83442317aa01f0d9cb405553 SHA512 744715501de3946f06cd316f35cabc0e363e0af651044c976708c0d48d4eb0d09489d92cceb283c751b2eed0e293ceaaabddcbabf7c25e21d658ebff9dc304aa
DIST dotnet-sdk-8.0.108-linux-x64.tar.gz 213752759 BLAKE2B d2e2218e3770d023e2661b9b54e9fdb81ed1512cf08808216282cca9a064de23da5c2f5bc32b7e91e95a381656da7ddf6d5593bd01fe3f6297441174ed3769be SHA512 5666ddf6fa9b65deaba4d7c5fcc2e2d56f631c4f5f6fb2a9f5919af0616ab2b420b12a828becc2e4b8628a76ac3dae824b55abde5c6d5ac59ee131d7eceae7c2
DIST dotnet-sdk-9.0.101-linux-arm.tar.gz 204796826 BLAKE2B 980060407fe72d06a78d069d749429128ef04af99cb08c32dca951eff7622da8725bde8c08eeff2bcf5d6bcfc0584cbd0162fe6c66dc35cfd5f7ff663a49701a SHA512 cdf8989d02e4a6aa21e68081e956318c94c601583a757d5eb433919ebe7fa518f207aa0f58a09ee28cf95f445c486386c229de69891433a4a29145ef596aa1a4
DIST dotnet-sdk-9.0.101-linux-arm64.tar.gz 205271787 BLAKE2B 9b65c5d7b1c9dfe254305f6fc95dfb6ba8aaf138ab6c7db2e635250a3cab8f3369fa3b431d4c1f2e463b13fb90e786dd064bbb3f9d3090e2d4a7f0530fa972e2 SHA512 c5f9c17dded5101cb4b65ad1033ae4d82fc5b04303bdce4eb61a6dc47efa84202bd726d05caf117e536a01bd78ad773b8d23cbf43bc655e5eb9912b12078e0b1
DIST dotnet-sdk-9.0.101-linux-musl-arm.tar.gz 204932960 BLAKE2B ff45915cc58e2c5adf9a43119d0dbf10cc7a1e621947f926f8c5fd8b34facebe1d10e199e382e95f67d76e88a5fc74df265657cc0bf7ff9863132784de543d78 SHA512 7e6560e69b83b9e64961e91155f8585421c3a2ce76897871d386492c623e9280f66f2284dc49362bc38739e48172523ce54b2269524437394ea3e908728a0118
DIST dotnet-sdk-9.0.101-linux-musl-arm64.tar.gz 205372709 BLAKE2B 7dc36729384f4b701c89a57de5deb99f3382abc7b644ff896a8b606bf73f122461a12ac1ab12ca9472dfa3bc214a9c332d7123ff03a7fa51405e533c85f7341f SHA512 6a6d6a6d6dfbdacb48374c0ac9bdb1c93781f3970c8778b0bee1f159a22b00176868264e605331fef833cb9fed829b4ffd414276d0d1140a8b0e257195c2f374
DIST dotnet-sdk-9.0.101-linux-musl-x64.tar.gz 210448851 BLAKE2B 36ff6a5d671950d44a39456f2812004074697e8990e4576fa00480cd826c85671a12710c4eaadd846b0c738220efd4e1c03e07529b0bb468b5352f368001ceee SHA512 3f4e14fb7b52dfb57b1e31cb5973e6e0a338f7f030f12b3082d3b55f12f9587ddf4926a7c5fcf86b7671397e44f8e5c20fb949d70e9a7dd0dc27be73a548dffc
DIST dotnet-sdk-9.0.101-linux-x64.tar.gz 210346874 BLAKE2B 3695630974f5f8bde4a3b2071072e4afbb848446db0161c061ed59e11b56073af38493256cfdea41cc6692a040dd180cc9af4302af55789a491e72f96741c0f5 SHA512 91b37efd64242e5f1f3c2025d183eb34e17f3a9271c5602f29ddf794845eee103723ef955ed869788ebf5a731e8ddc69328799c92c64cb118e1328d259a6ad01
DIST dotnet-sdk-9.0.102-linux-arm.tar.gz 205235672 BLAKE2B 359e8c18382874b7b0910f4a97eca3141f9ab806c427b971b45df8a7a73d4b93936dac01a5e7e45fa5857d476ed6afa89c2471e7f4b95f5c47c98dbab3abf50f SHA512 2c4c69d46c3e57ed990518a9d82963665d835c66a57da54b9d21e22c2a20e8018020dcb190eef54dfe68c001fcce385361eb2bd29896311a1683599ff9e6a777
DIST dotnet-sdk-9.0.102-linux-arm64.tar.gz 205648559 BLAKE2B 858500dfc5d13f862a20cb5d68af8f36a949d293098a8d196c9c026f8a9369506c21b8724082cba5bc5eecd6903e97c46e9083408762dcb59d1c098e6bd93559 SHA512 cb78931dcbb948a504891f112f11215f2792d169f0a0b53eaa81c03fc4ba78d31a91c60a41809ae6e2ddcae8640085a159e492035cedfda68d265bbeb4bf8b2e
DIST dotnet-sdk-9.0.102-linux-musl-arm.tar.gz 205458058 BLAKE2B d6db6f5725a3fb7e99ba38c96a9f0e4da70bb3b9ebb455665922fd8bab3f0a0add75f1e5a3c43393e53a87a0a9e4bce71d98d13148872d8bbed14be2c1cc5c07 SHA512 e363e3d4edca93830d18bcebd41e01bf2856b095ae70e1a24b0533abb0a507e4c1f1542ff3046c285689318dac7e2b5c71a166bcb5933a8ab68d800bf3eedf03
DIST dotnet-sdk-9.0.102-linux-musl-arm64.tar.gz 205773161 BLAKE2B 0a939d986d15dbc215785529faef8aaca045026469e4cc5ead736cdb764e67882e91b08626d33452ecbd0c95f7834574c9d2685a34c3de491b8b4c96e9e53b8f SHA512 5da98e46c280e21c3734a0c9081e7ddb78ad62775a51a129b42a6f021330d263a875da2f44a7aafe8156e7c9ae0f9bb21b502057692b360f2afe0882f0e61132
DIST dotnet-sdk-9.0.102-linux-musl-x64.tar.gz 210712549 BLAKE2B b9eaed3f609a75704e8707b69643b0539e2d10ecd69443f8e6feb6197315fe993de8c14a2543f58ac64c91480e0acff2e20647f7dacc46c830d12b517dbd4663 SHA512 60e091854d17da9a6011569f0a4819eac72ce6fe06d01757feeb83ad56c17645fa438257631ecbbf6ee94ac3a973eff9ad4d3e12deadda3eb41c1b69ca8d5308
DIST dotnet-sdk-9.0.102-linux-x64.tar.gz 210604728 BLAKE2B fb95b1694a2e54bb05f323d546c4077b8e574ba39ffe8b3bdf33d72fa6e45b2dd13d38eb52b08ddcf1fe143fa596a3ca1647b980f8de7e43fea316b8b6eca1a7 SHA512 f093507ef635c3f8e572bf7b6ea7e144b85ccf6b7c6f914d3f182f782200a6088728663df5c9abe0638c9bd273fde3769ec824a6516f5fce734c4a4664ce3099

View file

@ -1,145 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.25"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz )
)
arm? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz )
)
arm64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz )
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
KEYWORDS="amd64 arm arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,156 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.14"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz )
)
arm? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz )
)
arm64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz )
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
KEYWORDS="amd64 arm arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.25
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,158 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.6"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz )
)
arm? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz )
)
arm64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz )
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# See bug https://bugs.gentoo.org/932377
KEYWORDS="amd64 arm arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.31
~dev-dotnet/dotnet-runtime-nugets-7.0.20
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,158 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.7"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz )
)
arm? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz )
)
arm64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz )
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# See bug https://bugs.gentoo.org/932377
KEYWORDS="amd64 arm ~arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.32
~dev-dotnet/dotnet-runtime-nugets-7.0.20
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,158 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.8"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz )
)
arm? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz )
)
arm64? (
elibc_glibc? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz )
elibc_musl? ( https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz )
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# See bug https://bugs.gentoo.org/932377
KEYWORDS="~amd64 ~arm ~arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.33
~dev-dotnet/dotnet-runtime-nugets-7.0.20
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,171 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.0"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz
)
)
arm? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz
)
)
arm64? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz
)
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# See bug https://bugs.gentoo.org/932377
KEYWORDS="amd64 arm arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.36
~dev-dotnet/dotnet-runtime-nugets-7.0.20
~dev-dotnet/dotnet-runtime-nugets-8.0.11
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,171 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SDK_SLOT="$(ver_cut 1-2)"
RUNTIME_SLOT="${SDK_SLOT}.1"
DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
amd64? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz
)
)
arm? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz
)
)
arm64? (
elibc_glibc? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz
)
elibc_musl? (
https://builds.dotnet.microsoft.com/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz
)
)
"
S="${WORKDIR}"
LICENSE="MIT"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# See bug https://bugs.gentoo.org/932377
KEYWORDS="~amd64 ~arm ~arm64"
# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
# bug https://bugs.gentoo.org/923430
RESTRICT="splitdebug strip"
CURRENT_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
"
EXTRA_NUGETS_DEPEND="
~dev-dotnet/dotnet-runtime-nugets-6.0.36
~dev-dotnet/dotnet-runtime-nugets-7.0.20
~dev-dotnet/dotnet-runtime-nugets-8.0.12
"
NUGETS_DEPEND="
${CURRENT_NUGETS_DEPEND}
${EXTRA_NUGETS_DEPEND}
"
RDEPEND="
app-crypt/mit-krb5:0/0
dev-libs/icu
dev-util/lttng-ust:0/2.13
sys-libs/zlib:0/1
"
BDEPEND="
dev-util/patchelf
"
IDEPEND="
app-eselect/eselect-dotnet
"
PDEPEND="
${NUGETS_DEPEND}
"
QA_PREBUILT="*"
MUSL_BAD_LINKS=(
apphost
createdump
dotnet
libSystem.Globalization.Native.so
libSystem.IO.Compression.Native.so
libSystem.Native.so
libSystem.Net.Security.Native.so
libSystem.Security.Cryptography.Native.OpenSsl.so
libclrgc.so
libclrjit.so
libcoreclr.so
libcoreclrtraceptprovider.so
libdbgshim.so
libhostfxr.so
libhostpolicy.so
libmscordaccore.so
libmscordbi.so
libnethost.so
singlefilehost
)
MUSL_BAD_SONAMES=(
libc.musl-aarch64.so.1
libc.musl-armv7.so.1
libc.musl-x86_64.so.1
)
src_prepare() {
default
# Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760
if use elibc_musl ; then
local musl_bad_link
local musl_bad_link_path
local musl_bad_soname
for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do
while read -r musl_bad_link_path ; do
# Skip if file either does not end with ".so" or is not executable.
# Using "case" here for easier matching in case we have to add
# a special exception.
case "${musl_bad_link_path}" in
*.so )
:
;;
* )
if [[ ! -x "${musl_bad_link_path}" ]] ; then
continue
fi
;;
esac
einfo "Fixing musl libc link for ${musl_bad_link_path}"
for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do
patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die
done
patchelf --add-needed libc.so "${musl_bad_link_path}" || die
done < <(find . -type f -name "${musl_bad_link}")
done
fi
# Remove static libraries, bug https://bugs.gentoo.org/825774
find ./packs -type f -name "libnethost.a" -delete || die
}
src_install() {
local dest="opt/${PN}-${SDK_SLOT}"
dodir "${dest%/*}"
# Create a magic workloads file, bug #841896
local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400
local workloads="metadata/workloads/${SDK_SLOT}.${featureband}"
mkdir -p "${S}/${workloads}" || die
touch "${S}/${workloads}/userlocal" || die
mv "${S}" "${ED}/${dest}" || die
mkdir "${S}" || die
fperms 0755 "/${dest}"
dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}"
}
pkg_postinst() {
eselect dotnet update ifunset
}
pkg_postrm() {
eselect dotnet update ifunset
}

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>dotnet@gentoo.org</email>
<name>Gentoo Dotnet Project</name>
</maintainer>
<upstream>
<doc>https://learn.microsoft.com/en-us/dotnet/</doc>
<remote-id type="github">dotnet/sdk</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,5 +0,0 @@
DIST zig-0.13.0-llvm-18.1.8-r6-fix.patch 45968 BLAKE2B a07c47b22b079d324b200fe84af5c89ffe51a1c81f50ca894a80f9f9db51a9d4119ae51c2e4e84a9b4f0111b2b809978b88adca42480ee800693afbd78f47387 SHA512 148b3f4807763dfb6a4d4e201890fa8204deaf73e620a8b592dfa03b997bc16ed01ea26e4d85f242473e91ccc45b1a06af22f786851f8e26cec1ac821b14efdc
DIST zig-0.13.0.tar.xz 17220728 BLAKE2B f4bbacc2012950c556bebc28fc322fc6424bf20fe118e8362373336b6460e514028978584087f6e7f25ed8b8e6991610edce625676a1dd80c1975c5f9ef48775 SHA512 6f5f31f4ba71a11d8b16c7a5a613e124095e503fa6b02d2b77e5b177674c739287e81d98d96dc261fed24bc836caf196f71c3fcc7a6518387df86ba9e03df4dd
DIST zig-0.13.0.tar.xz.minisig 312 BLAKE2B 2d061257c9c75f9c36b01cfb08dcd2040538a125b9ea2cae8617ae5496e685b165933ce8981494419522b7e19b51fc69a651ecaa4a8930753acf2e4ae3d6e00f SHA512 21c6139c06cba6c5e23a3305fed0c0f1b9b32d9140bd686c26365ce0279d5f53cd081894eaba29f0c1ed51b2e831edf7bd4ae6a7eaee5018a252e312e9b65507
DIST zig-0.14.0.tar.xz 17772188 BLAKE2B 139a9d48c0a324f64633c71c7d572a60f817d11be9ea0c5cd837cdb78239969be581e51403b75790bbb95cc9c0111bd966134d4f2652863bb2a3f61d65afa531 SHA512 046462526ec16d56e8dcead8f8b680e99101090766c443f512f308c25860e8416f6fb2be15d4a387baa94f63a6fea6255374874c1ccf19144facbc02226a503b
DIST zig-0.14.0.tar.xz.minisig 312 BLAKE2B aba72ba97a978a84e9a938d2641c089a2c5f577041b8a777b9d4b8f7ee2d0b13cd03ccafcd5b4e627ba5fdff6592ca4ead2afa111b4cb769b66ed584b6e085e2 SHA512 a5d0946f136b2a28efbfde77f6052cd8745147df64bb70ed30d1d79bad27a52af451631750d592134e1933763ebe5e24215459481864bec0a969c1730527dc2c

View file

@ -1,32 +0,0 @@
From: Eric Joldasov <bratishkaerik@landless-city.net>
Skip standalone test "stack_iterator" that fail on Gentoo Linux x86_64.
Fails in ReleaseSafe, ReleaseFast and ReleaseSmall, but not in Debug.
Reported to upstream here https://github.com/ziglang/zig/issues/19944 .
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
diff --git a/test/standalone/stack_iterator/shared_lib_unwind.zig b/test/standalone/stack_iterator/shared_lib_unwind.zig
index 57513a49c6..75fddb04c9 100644
--- a/test/standalone/stack_iterator/shared_lib_unwind.zig
+++ b/test/standalone/stack_iterator/shared_lib_unwind.zig
@@ -35,6 +35,7 @@ extern fn frame0(
) void;
pub fn main() !void {
+ if (true) return;
// Disabled until the DWARF unwinder bugs on .aarch64 are solved
if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return;
diff --git a/test/standalone/stack_iterator/unwind.zig b/test/standalone/stack_iterator/unwind.zig
index 69c463a0c1..40963af63d 100644
--- a/test/standalone/stack_iterator/unwind.zig
+++ b/test/standalone/stack_iterator/unwind.zig
@@ -87,6 +87,7 @@ noinline fn frame0(expected: *[4]usize, unwound: *[4]usize) void {
}
pub fn main() !void {
+ if (true) return;
// Disabled until the DWARF unwinder bugs on .aarch64 are solved
if (builtin.omit_frame_pointer and comptime builtin.target.isDarwin() and builtin.cpu.arch == .aarch64) return;

View file

@ -1,28 +0,0 @@
# https://github.com/ziglang/zig/pull/20001
# https://github.com/Jiboo/zig/commit/856fe4af
Author: Jean-Baptiste "Jiboo" Lepesme <lepesme.jb@gmail.com>
Date: Sun, 19 May 2024 15:02:42 +0200
IoUring: fix an issue in tests where InvalidVersion might get thrown by
skipKernelLessThan, due to some kernel versions not being SemVer compliant.
diff --git a/lib/std/os/linux/IoUring.zig b/lib/std/os/linux/IoUring.zig
index 3bf3c077fc3b..b2a4da486907 100644
--- a/lib/std/os/linux/IoUring.zig
+++ b/lib/std/os/linux/IoUring.zig
@@ -3883,7 +3883,13 @@ inline fn skipKernelLessThan(required: std.SemanticVersion) !void {
}
const release = mem.sliceTo(&uts.release, 0);
- var current = try std.SemanticVersion.parse(release);
+ // Strips potential extra, as kernel version might not be semver compliant, example "6.8.9-300.fc40.x86_64"
+ const extra_index = std.mem.indexOfAny(u8, release, "-+");
+ const stripped = release[0..(extra_index orelse release.len)];
+ // Make sure the input don't rely on the extra we just stripped
+ try testing.expect(required.pre == null and required.build == null);
+
+ var current = try std.SemanticVersion.parse(stripped);
current.pre = null; // don't check pre field
if (required.order(current) == .gt) return error.SkipZigTest;
}

View file

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>bratishkaerik@landless-city.net</email>
<name>Eric Joldasov</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="debug">Build with debug extensions enabled.</flag>
<flag name="llvm">Build with LLVM backend and extensions enabled.</flag>
</use>
<upstream>
<remote-id type="github">ziglang/zig</remote-id>
<bugs-to>https://github.com/ziglang/zig/issues</bugs-to>
</upstream>
</pkgmetadata>

View file

@ -1,276 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
ZIG_SLOT="$(ver_cut 1-2)"
ZIG_OPTIONAL=1
inherit check-reqs cmake flag-o-matic edo llvm-r1 toolchain-funcs zig
DESCRIPTION="A robust, optimal, and maintainable programming language"
HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ziglang/zig.git"
inherit git-r3
else
VERIFY_SIG_METHOD=minisig
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
inherit verify-sig
SRC_URI="
https://ziglang.org/download/${PV}/${P}.tar.xz
verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch
"
KEYWORDS="~amd64 ~arm ~arm64"
BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
fi
# project itself: MIT
# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
# Files that are unnecessary for cross-compilation are removed by upstream
# and therefore their licenses (if any special) are not included.
# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
# lib/libc/musl: MIT BSD-2
# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
SLOT="${ZIG_SLOT}"
IUSE="doc +llvm"
REQUIRED_USE="
!llvm? ( !doc )
llvm? ( ${LLVM_REQUIRED_USE} )
"
# Used by both "cmake" and "zig" eclasses.
BUILD_DIR="${WORKDIR}/${P}_build"
# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
# (non-LLVM backends don't require these)
# They are not required "on their own", so please don't add them here.
# You can check https://github.com/ziglang/zig-bootstrap in future, to see
# options that are passed to LLVM CMake building (excluding "static" ofc).
DEPEND="
llvm? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/lld:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}[zstd]
')
)
"
BDEPEND+="
${DEPEND}
"
RDEPEND="${DEPEND}"
IDEPEND="app-eselect/eselect-zig"
DOCS=( "README.md" "doc/build.zig.zon.md" )
PATCHES=(
"${FILESDIR}/zig-0.13.0-test-std-kernel-version.patch"
"${FILESDIR}/zig-0.13.0-skip-test-stack_iterator.patch"
"${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch"
)
# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1
QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
# Zig uses self-hosted compiler only
CHECKREQS_MEMORY="4G"
pkg_setup() {
# Skip detecting zig executable.
ZIG_EXE="not-applicable" ZIG_VER="${PV}" zig_pkg_setup
declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
if use llvm; then
tc-is-cross-compiler && die "USE=llvm is not yet supported when cross-compiling"
llvm-r1_pkg_setup
fi
check-reqs_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
fi
fi
zig_src_unpack
}
src_prepare() {
if use llvm; then
cmake_src_prepare
else
# Sync with zig_src_prepare
default_src_prepare
mkdir -p "${BUILD_DIR}" || die
einfo "BUILD_DIR: \"${BUILD_DIR}\""
# "--system" mode is not used during bootstrap.
fi
# Remove "limit memory usage" flags, it's already verified by
# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
# according to CI OOM failures, which are not applicable to normal Gentoo build.
sed -i -e '/\.max_rss = .*,/d' build.zig || die
}
src_configure() {
# Has no effect on final binary and only causes failures during bootstrapping.
filter-lto
# Used during bootstrapping. stage1/stage2 have limited functionality
# and can't resolve native target, so we pass target in exact form.
declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})"
# Note that if we are building with CMake, "my_zbs_args"
# are used only after compiling zig2.
local my_zbs_args=(
--zig-lib-dir "${S}/lib/"
--prefix "${ZIG_SYS_INSTALL_DEST}/"
--prefix-lib-dir lib/
# These are built separately
-Dno-langref
-Dstd-docs=false
--release=fast
)
if use llvm; then
my_zbs_args+=(
-Denable-llvm=true
-Dstatic-llvm=false
-Dconfig_h="${BUILD_DIR}/config.h"
)
else
my_zbs_args+=(
-Denable-llvm=false
)
fi
zig_src_configure
if use llvm; then
# Build for native only, it's for zig2 (build-time executable)
# LLVM from BDEPEND
local mycmakeargs=(
-DZIG_SHARED_LLVM=ON
-DZIG_USE_LLVM_CONFIG=ON
-DZIG_TARGET_TRIPLE=native
-DZIG_TARGET_MCPU=native
-DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}"
-DCMAKE_PREFIX_PATH="$(get_llvm_prefix -b)"
-DCMAKE_INSTALL_PREFIX="${ZIG_SYS_INSTALL_DEST}"
)
cmake_src_configure
fi
}
src_compile() {
if use llvm; then
cmake_build zig2
else
cd "${BUILD_DIR}" || die
ln -s "${S}/stage1/" . || die
ln -s "${S}/src/" . || die
ln -s "${S}/lib/" . || die
local native_cc="$(tc-getBUILD_CC)"
"${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed"
ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap
fi
cd "${BUILD_DIR}" || die
ZIG_EXE="./zig2" zig_src_compile --prefix stage3/
./stage3/bin/zig env || die "Zig compilation failed"
if use doc; then
ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/
fi
}
src_test() {
if has_version -b app-emulation/qemu; then
ewarn "QEMU executable was found on your building system."
ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for"
ewarn "foreign architectures, Zig tests might fail."
ewarn "In this case, please disable qemu-binfmt and try again."
fi
cd "${BUILD_DIR}" || die
# XXX: When we pass a libc installation to Zig, it will fail to find
# the bundled libraries for targets like aarch64-macos and
# *-linux-musl. Zig doesn't run binaries for these targets when
# -Dskip-non-native is passed, but they are still compiled, so
# the test will fail. There's no way to disable --libc once passed,
# so we need to strip it from ZBS_ARGS.
# See: https://github.com/ziglang/zig/issues/22383
local args_backup=("${ZBS_ARGS[@]}")
for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do
if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then
unset ZBS_ARGS[i]
unset ZBS_ARGS[i+1]
break
fi
done
ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native
ZBS_ARGS=("${args_backup[@]}")
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" )
ZIG_EXE="./zig2" zig_src_install
cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die
mv lib/zig/ lib2/ || die
rm -rf lib/ || die
mv lib2/ lib/ || die
dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV}
}
pkg_postinst() {
eselect zig update ifunset || die
elog "Starting from 0.12.0, Zig no longer installs"
elog "precompiled standard library documentation."
elog "Instead, you can call \`zig std\` to compile it on-the-fly."
elog "It reflects all edits in standard library automatically."
elog "See \`zig std --help\` for more information."
elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works"
if ! use llvm; then
elog "Currently, Zig built without LLVM support lacks some"
elog "important features such as most optimizations, @cImport, etc."
elog "They are listed under \"Building from Source without LLVM\""
elog "section of the README file from \"/usr/share/doc/${PF}\" ."
fi
}
pkg_postrm() {
eselect zig update ifunset
}

View file

@ -1,356 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
ZIG_SLOT="$(ver_cut 1-2)"
ZIG_OPTIONAL=1
inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig
DESCRIPTION="A robust, optimal, and maintainable programming language"
HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ziglang/zig.git"
inherit git-r3
else
VERIFY_SIG_METHOD=minisig
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
inherit verify-sig
SRC_URI="
https://ziglang.org/download/${PV}/${P}.tar.xz
verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
https://codeberg.org/BratishkaErik/distfiles/releases/download/dev-lang%2Fzig-${PV}/${P}-llvm-18.1.8-r6-fix.patch
"
KEYWORDS="~amd64 ~arm ~arm64"
BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
fi
# project itself: MIT
# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
# Files that are unnecessary for cross-compilation are removed by upstream
# and therefore their licenses (if any special) are not included.
# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
# lib/libc/musl: MIT BSD-2
# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
SLOT="${ZIG_SLOT}"
IUSE="debug doc +llvm"
REQUIRED_USE="
!llvm? ( !doc )
llvm? ( ${LLVM_REQUIRED_USE} )
"
# Used by both "cmake" and "zig" eclasses.
BUILD_DIR="${WORKDIR}/${P}_build"
# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
# (non-LLVM backends don't require these)
# They are not required "on their own", so please don't add them here.
# You can check https://github.com/ziglang/zig-bootstrap in future, to see
# options that are passed to LLVM CMake building (excluding "static" ofc).
LLVM_DEPEND="$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/lld:${LLVM_SLOT}[zstd]
llvm-core/llvm:${LLVM_SLOT}[zstd]
')"
BDEPEND+=" llvm? ( ${LLVM_DEPEND} )"
DEPEND="llvm? ( ${LLVM_DEPEND} )"
RDEPEND="${DEPEND}"
IDEPEND="app-eselect/eselect-zig"
DOCS=( "README.md" "doc/build.zig.zon.md" )
PATCHES=(
"${FILESDIR}/zig-0.13.0-test-std-kernel-version.patch"
"${FILESDIR}/zig-0.13.0-skip-test-stack_iterator.patch"
"${DISTDIR}/${P}-llvm-18.1.8-r6-fix.patch"
)
# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1
QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
# Zig uses self-hosted compiler only
CHECKREQS_MEMORY="4G"
pkg_setup() {
# Skip detecting zig executable.
declare -r -g ZIG_VER="${PV}"
ZIG_EXE="not-applicable" zig_pkg_setup
declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
if use llvm; then
[[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup
fi
# Requires running stage3 which is built for cross-target.
if use doc && tc-is-cross-compiler; then
die "USE=doc is not yet supported when cross-compiling"
fi
check-reqs_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
fi
fi
zig_src_unpack
}
src_prepare() {
if use llvm; then
cmake_src_prepare
else
# Sync with zig_src_prepare
default_src_prepare
mkdir -p "${BUILD_DIR}" || die
einfo "BUILD_DIR: \"${BUILD_DIR}\""
# "--system" mode is not used during bootstrap.
fi
# Remove "limit memory usage" flags, it's already verified by
# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
# according to CI OOM failures, which are not applicable to normal Gentoo build.
sed -i -e '/\.max_rss = .*,/d' build.zig || die
}
src_configure() {
# Has no effect on final binary and only causes failures during bootstrapping.
filter-lto
# Used during bootstrapping. stage1/stage2 have limited functionality
# and can't resolve native target, so we pass target in exact form.
declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})"
# Note that if we are building with CMake, "my_zbs_args"
# are used only after compiling zig2.
local my_zbs_args=(
--zig-lib-dir "${S}/lib/"
--prefix "${ZIG_SYS_INSTALL_DEST}/"
--prefix-lib-dir lib/
# These are built separately
-Dno-langref=true
-Dstd-docs=false
# More commands and options if "debug" is enabled.
-Ddebug-extensions=$(usex debug true false)
# More asserts and so on by default if "debug" is enabled.
--release=$(usex debug safe fast)
)
# Scenarios of compilation:
# With LLVM, native:
# CMake:
# * generate "config.h" for LLVM libraries and build "zigcpp"
# * build "zig2" using common "config.h" and "zigcpp"
# build.zig:
# * build "stage3" using common "config.h" and "zigcpp"
# With LLVM, cross-compiled:
# CMake:
# * generate cross-target "config.h" for LLVM libraries from ESYSROOT
# and build cross-target "zigcpp", and stash them away
# * generate native "config.h" for LLVM libraries from BROOT and
# build native "zigcpp"
# * build native "zig2" using native "config.h" and "zigcpp"
# build.zig:
# * build cross-target "stage3" using stashed "config.h" and "zigcpp"
# Without LLVM:
# bootstrap.c:
# * build native "zig2"
# build.zig:
# * build (cross-)target "stage3"
if use llvm; then
my_zbs_args+=(
-Denable-llvm=true
-Dstatic-llvm=false
-Dconfig_h="${BUILD_DIR}/config.h"
)
else
my_zbs_args+=(
-Denable-llvm=false
)
fi
zig_src_configure
if use llvm; then
local mycmakeargs=(
-DZIG_SHARED_LLVM=ON
-DZIG_USE_LLVM_CONFIG=ON
-DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}"
# Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and
# CMAKE_INSTALL_PREFIX because we build up to zig2 max,
# after that "zig build" is used to compile stage3.
# Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup"
# and "llvm_cbuild_setup" already set PATH in such way
# that suitable llvm-config is found and used in
# "cmake/Findllvm.cmake", and "cmake.eclass" help with
# cross-compilation pathes for "Findclang" and "Findlld".
# CMP0144, Zig has own packages with these names, so ignore
# LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup".
-DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF
)
if tc-is-cross-compiler; then
# Enable cross-compilation for CMake when filling "config.h"
# and building "zigcpp". They would be used for stage3 build.
# Here we are using LLVM from ESYSROOT/DEPEND.
# Uses script llvm-config.
# Isolate PATH changes in subshell so that it would not
# affect next `cmake_src_configure` with BROOT/BDEPEND.
(
llvm_chost_setup
cmake_src_configure
cmake_build zigcpp
)
mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die
mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die
rm -rf "${BUILD_DIR}" || die
fi
# Force disable cross-compilation for CMake when building "zig2".
# Here we are using LLVM from BROOT/BDEPEND.
# Uses native llvm-config.
# Isolate environment changes in subshell so that it would not
# affect next phases.
(
export BUILD_CFLAGS="${CFLAGS}"
export BUILD_CXXFLAGS="${CXXFLAGS}"
export BUILD_CPPFLAGS="${CPPFLAGS}"
export BUILD_LDFLAGS="${LDFLAGS}"
tc-env_build
unset SYSROOT
export CHOST="${CBUILD:-${CHOST}}"
strip-unsupported-flags
cmake_src_configure
)
fi
}
src_compile() {
if use llvm; then
cmake_build zig2
if tc-is-cross-compiler; then
rm -rf "${BUILD_DIR}/zigcpp/" || die
rm -f "${BUILD_DIR}/config.h" || die
mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die
mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die
fi
else
cd "${BUILD_DIR}" || die
ln -s "${S}/stage1/" . || die
ln -s "${S}/src/" . || die
ln -s "${S}/lib/" . || die
local native_cc="$(tc-getBUILD_CC)"
"${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed"
ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap
fi
cd "${BUILD_DIR}" || die
ZIG_EXE="./zig2" zig_src_compile --prefix stage3/
# Requires running stage3 which is built for cross-target.
if ! tc-is-cross-compiler; then
./stage3/bin/zig env || die "Zig compilation failed"
if use doc; then
ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/
fi
fi
}
src_test() {
if has_version -b app-emulation/qemu; then
ewarn "QEMU executable was found on your building system."
ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for"
ewarn "foreign architectures, Zig tests might fail."
ewarn "In this case, please disable qemu-binfmt and try again."
fi
cd "${BUILD_DIR}" || die
# XXX: When we pass a libc installation to Zig, it will fail to find
# the bundled libraries for targets like aarch64-macos and
# *-linux-musl. Zig doesn't run binaries for these targets when
# -Dskip-non-native is passed, but they are still compiled, so
# the test will fail. There's no way to disable --libc once passed,
# so we need to strip it from ZBS_ARGS.
# See: https://github.com/ziglang/zig/issues/22383
local args_backup=("${ZBS_ARGS[@]}")
for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do
if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then
unset ZBS_ARGS[i]
unset ZBS_ARGS[i+1]
break
fi
done
ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native
ZBS_ARGS=("${args_backup[@]}")
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" )
ZIG_EXE="./zig2" zig_src_install
cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die
mv lib/zig/ lib2/ || die
rm -rf lib/ || die
mv lib2/ lib/ || die
dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV}
}
pkg_postinst() {
eselect zig update ifunset || die
elog "Starting from 0.12.0, Zig no longer installs"
elog "precompiled standard library documentation."
elog "Instead, you can call \`zig std\` to compile it on-the-fly."
elog "It reflects all edits in standard library automatically."
elog "See \`zig std --help\` for more information."
elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works"
if ! use llvm; then
elog "Currently, Zig built without LLVM support lacks some"
elog "important features such as most optimizations, @cImport, etc."
elog "They are listed under \"Building from Source without LLVM\""
elog "section of the README file from \"/usr/share/doc/${PF}\" ."
fi
}
pkg_postrm() {
eselect zig update ifunset
}

View file

@ -1,352 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
ZIG_SLOT="$(ver_cut 1-2)"
ZIG_OPTIONAL=1
inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig
DESCRIPTION="A robust, optimal, and maintainable programming language"
HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ziglang/zig.git"
inherit git-r3
else
VERIFY_SIG_METHOD=minisig
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
inherit verify-sig
SRC_URI="
https://ziglang.org/download/${PV}/${P}.tar.xz
verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
"
KEYWORDS="~amd64 ~arm ~arm64"
BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
fi
# project itself: MIT
# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
# Files that are unnecessary for cross-compilation are removed by upstream
# and therefore their licenses (if any special) are not included.
# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
# lib/libc/musl: MIT BSD-2
# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
SLOT="${ZIG_SLOT}"
IUSE="debug doc +llvm"
REQUIRED_USE="
!llvm? ( !doc )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!llvm? ( test )"
# Used by both "cmake" and "zig" eclasses.
BUILD_DIR="${WORKDIR}/${P}_build"
# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
# (non-LLVM backends don't require these)
# They are not required "on their own", so please don't add them here.
# You can check https://github.com/ziglang/zig-bootstrap in future, to see
# options that are passed to LLVM CMake building (excluding "static" ofc).
LLVM_DEPEND="$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/lld:${LLVM_SLOT}[zstd]
llvm-core/llvm:${LLVM_SLOT}[zstd]
')"
BDEPEND+=" llvm? ( ${LLVM_DEPEND} )"
DEPEND="llvm? ( ${LLVM_DEPEND} )"
RDEPEND="${DEPEND}"
IDEPEND="app-eselect/eselect-zig"
DOCS=( "README.md" "doc/build.zig.zon.md" )
# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1
QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
# Zig uses self-hosted compiler only
CHECKREQS_MEMORY="4G"
pkg_setup() {
# Skip detecting zig executable.
declare -r -g ZIG_VER="${PV}"
ZIG_EXE="not-applicable" zig_pkg_setup
declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
if use llvm; then
[[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup
fi
# Requires running stage3 which is built for cross-target.
if use doc && tc-is-cross-compiler; then
die "USE=doc is not yet supported when cross-compiling"
fi
check-reqs_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
fi
fi
zig_src_unpack
}
src_prepare() {
if use llvm; then
cmake_src_prepare
else
# Sync with zig_src_prepare
default_src_prepare
mkdir -p "${BUILD_DIR}" || die
einfo "BUILD_DIR: \"${BUILD_DIR}\""
# "--system" mode is not used during bootstrap.
fi
# Remove "limit memory usage" flags, it's already verified by
# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
# according to CI OOM failures, which are not applicable to normal Gentoo build.
sed -i -e '/\.max_rss = .*,/d' build.zig || die
}
src_configure() {
# Has no effect on final binary and only causes failures during bootstrapping.
filter-lto
# Used during bootstrapping. stage1/stage2 have limited functionality
# and can't resolve native target, so we pass target in exact form.
declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})"
# Note that if we are building with CMake, "my_zbs_args"
# are used only after compiling zig2.
local my_zbs_args=(
--zig-lib-dir "${S}/lib/"
--prefix "${ZIG_SYS_INSTALL_DEST}/"
--prefix-lib-dir lib/
# These are built separately
-Dno-langref=true
-Dstd-docs=false
# More commands and options if "debug" is enabled.
-Ddebug-extensions=$(usex debug true false)
# More asserts and so on by default if "debug" is enabled.
--release=$(usex debug safe fast)
)
# Scenarios of compilation:
# With LLVM, native:
# CMake:
# * generate "config.h" for LLVM libraries and build "zigcpp"
# * build "zig2" using common "config.h" and "zigcpp"
# build.zig:
# * build "stage3" using common "config.h" and "zigcpp"
# With LLVM, cross-compiled:
# CMake:
# * generate cross-target "config.h" for LLVM libraries from ESYSROOT
# and build cross-target "zigcpp", and stash them away
# * generate native "config.h" for LLVM libraries from BROOT and
# build native "zigcpp"
# * build native "zig2" using native "config.h" and "zigcpp"
# build.zig:
# * build cross-target "stage3" using stashed "config.h" and "zigcpp"
# Without LLVM:
# bootstrap.c:
# * build native "zig2"
# build.zig:
# * build (cross-)target "stage3"
if use llvm; then
my_zbs_args+=(
-Denable-llvm=true
-Dstatic-llvm=false
-Dconfig_h="${BUILD_DIR}/config.h"
)
else
my_zbs_args+=(
-Denable-llvm=false
)
fi
zig_src_configure
if use llvm; then
local mycmakeargs=(
-DZIG_SHARED_LLVM=ON
-DZIG_USE_LLVM_CONFIG=ON
-DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}"
# Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and
# CMAKE_INSTALL_PREFIX because we build up to zig2 max,
# after that "zig build" is used to compile stage3.
# Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup"
# and "llvm_cbuild_setup" already set PATH in such way
# that suitable llvm-config is found and used in
# "cmake/Findllvm.cmake", and "cmake.eclass" help with
# cross-compilation pathes for "Findclang" and "Findlld".
# CMP0144, Zig has own packages with these names, so ignore
# LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup".
-DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF
)
if tc-is-cross-compiler; then
# Enable cross-compilation for CMake when filling "config.h"
# and building "zigcpp". They would be used for stage3 build.
# Here we are using LLVM from ESYSROOT/DEPEND.
# Uses script llvm-config.
# Isolate PATH changes in subshell so that it would not
# affect next `cmake_src_configure` with BROOT/BDEPEND.
(
llvm_chost_setup
cmake_src_configure
cmake_build zigcpp
)
mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die
mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die
rm -rf "${BUILD_DIR}" || die
fi
# Force disable cross-compilation for CMake when building "zig2".
# Here we are using LLVM from BROOT/BDEPEND.
# Uses native llvm-config.
# Isolate environment changes in subshell so that it would not
# affect next phases.
(
export BUILD_CFLAGS="${CFLAGS}"
export BUILD_CXXFLAGS="${CXXFLAGS}"
export BUILD_CPPFLAGS="${CPPFLAGS}"
export BUILD_LDFLAGS="${LDFLAGS}"
tc-env_build
unset SYSROOT
export CHOST="${CBUILD:-${CHOST}}"
strip-unsupported-flags
cmake_src_configure
)
fi
}
src_compile() {
if use llvm; then
cmake_build zig2
if tc-is-cross-compiler; then
rm -rf "${BUILD_DIR}/zigcpp/" || die
rm -f "${BUILD_DIR}/config.h" || die
mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die
mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die
fi
else
cd "${BUILD_DIR}" || die
ln -s "${S}/stage1/" . || die
ln -s "${S}/src/" . || die
ln -s "${S}/lib/" . || die
local native_cc="$(tc-getBUILD_CC)"
"${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed"
ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap
fi
cd "${BUILD_DIR}" || die
ZIG_EXE="./zig2" zig_src_compile --prefix stage3/
# Requires running stage3 which is built for cross-target.
if ! tc-is-cross-compiler; then
./stage3/bin/zig env || die "Zig compilation failed"
if use doc; then
ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/
fi
fi
}
src_test() {
if has_version -b app-emulation/qemu; then
ewarn "QEMU executable was found on your building system."
ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for"
ewarn "foreign architectures, Zig tests might fail."
ewarn "In this case, please disable qemu-binfmt and try again."
fi
cd "${BUILD_DIR}" || die
# XXX: When we pass a libc installation to Zig, it will fail to find
# the bundled libraries for targets like aarch64-macos and
# *-linux-musl. Zig doesn't run binaries for these targets when
# -Dskip-non-native is passed, but they are still compiled, so
# the test will fail. There's no way to disable --libc once passed,
# so we need to strip it from ZBS_ARGS.
# See: https://github.com/ziglang/zig/issues/22383
local args_backup=("${ZBS_ARGS[@]}")
for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do
if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then
unset ZBS_ARGS[i]
unset ZBS_ARGS[i+1]
break
fi
done
# Run tests with Debug mode by default, like upstream does in CI,
# full test suite with other modes is in a sad state right now...
ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native --release=debug
ZBS_ARGS=("${args_backup[@]}")
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" )
ZIG_EXE="./zig2" zig_src_install
cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die
mv lib/zig/ lib2/ || die
rm -rf lib/ || die
mv lib2/ lib/ || die
dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV}
}
pkg_postinst() {
eselect zig update ifunset || die
elog "Starting from 0.12.0, Zig no longer installs"
elog "precompiled standard library documentation."
elog "Instead, you can call \`zig std\` to compile it on-the-fly."
elog "It reflects all edits in standard library automatically."
elog "See \`zig std --help\` for more information."
elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works"
if ! use llvm; then
elog "Currently, Zig built without LLVM support lacks some"
elog "important features such as most optimizations, @cImport, etc."
elog "They are listed under \"Building from Source without LLVM\""
elog "section of the README file from \"/usr/share/doc/${PF}\" ."
fi
}
pkg_postrm() {
eselect zig update ifunset
}

View file

@ -1,352 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
ZIG_SLOT="$(ver_cut 1-2)"
ZIG_OPTIONAL=1
inherit check-reqs cmake flag-o-matic edo llvm-r2 toolchain-funcs zig
DESCRIPTION="A robust, optimal, and maintainable programming language"
HOMEPAGE="https://ziglang.org/ https://github.com/ziglang/zig/"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/ziglang/zig.git"
inherit git-r3
else
VERIFY_SIG_METHOD=minisig
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub
inherit verify-sig
SRC_URI="
https://ziglang.org/download/${PV}/${P}.tar.xz
verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig )
"
KEYWORDS="~amd64 ~arm ~arm64"
BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )"
fi
# project itself: MIT
# There are bunch of projects under "lib/" folder that are needed for cross-compilation.
# Files that are unnecessary for cross-compilation are removed by upstream
# and therefore their licenses (if any special) are not included.
# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )
# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain
# lib/libc/musl: MIT BSD-2
# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND
# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+
LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+"
SLOT="${ZIG_SLOT}"
IUSE="debug doc +llvm"
REQUIRED_USE="
!llvm? ( !doc )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!llvm? ( test )"
# Used by both "cmake" and "zig" eclasses.
BUILD_DIR="${WORKDIR}/${P}_build"
# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend.
# (non-LLVM backends don't require these)
# They are not required "on their own", so please don't add them here.
# You can check https://github.com/ziglang/zig-bootstrap in future, to see
# options that are passed to LLVM CMake building (excluding "static" ofc).
LLVM_DEPEND="$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/lld:${LLVM_SLOT}[zstd]
llvm-core/llvm:${LLVM_SLOT}[zstd]
')"
BDEPEND+=" llvm? ( ${LLVM_DEPEND} )"
DEPEND="llvm? ( ${LLVM_DEPEND} )"
RDEPEND="${DEPEND}"
IDEPEND="app-eselect/eselect-zig"
DOCS=( "README.md" "doc/build.zig.zon.md" )
# zig.eclass does not set this for us since we use ZIG_OPTIONAL=1
QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig"
# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118
# Zig uses self-hosted compiler only
CHECKREQS_MEMORY="4G"
pkg_setup() {
# Skip detecting zig executable.
declare -r -g ZIG_VER="${PV}"
ZIG_EXE="not-applicable" zig_pkg_setup
declare -r -g ZIG_SYS_INSTALL_DEST="${EPREFIX}/usr/$(get_libdir)/zig/${PV}"
if use llvm; then
[[ ${MERGE_TYPE} != binary ]] && llvm_cbuild_setup
fi
# Requires running stage3 which is built for cross-target.
if use doc && tc-is-cross-compiler; then
die "USE=doc is not yet supported when cross-compiling"
fi
check-reqs_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.minisig}
fi
fi
zig_src_unpack
}
src_prepare() {
if use llvm; then
cmake_src_prepare
else
# Sync with zig_src_prepare
default_src_prepare
mkdir -p "${BUILD_DIR}" || die
einfo "BUILD_DIR: \"${BUILD_DIR}\""
# "--system" mode is not used during bootstrap.
fi
# Remove "limit memory usage" flags, it's already verified by
# CHECKREQS_MEMORY and causes unneccessary errors. Upstream set them
# according to CI OOM failures, which are not applicable to normal Gentoo build.
sed -i -e '/\.max_rss = .*,/d' build.zig || die
}
src_configure() {
# Has no effect on final binary and only causes failures during bootstrapping.
filter-lto
# Used during bootstrapping. stage1/stage2 have limited functionality
# and can't resolve native target, so we pass target in exact form.
declare -r -g ZIG_HOST_AS_TARGET="$(zig-utils_c_env_to_zig_target "${CBUILD:-${CHOST}}" "${CFLAGS}"})"
# Note that if we are building with CMake, "my_zbs_args"
# are used only after compiling zig2.
local my_zbs_args=(
--zig-lib-dir "${S}/lib/"
--prefix "${ZIG_SYS_INSTALL_DEST}/"
--prefix-lib-dir lib/
# These are built separately
-Dno-langref=true
-Dstd-docs=false
# More commands and options if "debug" is enabled.
-Ddebug-extensions=$(usex debug true false)
# More asserts and so on by default if "debug" is enabled.
--release=$(usex debug safe fast)
)
# Scenarios of compilation:
# With LLVM, native:
# CMake:
# * generate "config.h" for LLVM libraries and build "zigcpp"
# * build "zig2" using common "config.h" and "zigcpp"
# build.zig:
# * build "stage3" using common "config.h" and "zigcpp"
# With LLVM, cross-compiled:
# CMake:
# * generate cross-target "config.h" for LLVM libraries from ESYSROOT
# and build cross-target "zigcpp", and stash them away
# * generate native "config.h" for LLVM libraries from BROOT and
# build native "zigcpp"
# * build native "zig2" using native "config.h" and "zigcpp"
# build.zig:
# * build cross-target "stage3" using stashed "config.h" and "zigcpp"
# Without LLVM:
# bootstrap.c:
# * build native "zig2"
# build.zig:
# * build (cross-)target "stage3"
if use llvm; then
my_zbs_args+=(
-Denable-llvm=true
-Dstatic-llvm=false
-Dconfig_h="${BUILD_DIR}/config.h"
)
else
my_zbs_args+=(
-Denable-llvm=false
)
fi
zig_src_configure
if use llvm; then
local mycmakeargs=(
-DZIG_SHARED_LLVM=ON
-DZIG_USE_LLVM_CONFIG=ON
-DZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}"
# Don't set ZIG_TARGET_TRIPLE, ZIG_TARGET_MCPU and
# CMAKE_INSTALL_PREFIX because we build up to zig2 max,
# after that "zig build" is used to compile stage3.
# Don't set CMAKE_PREFIX_PATH because "llvm_chost_setup"
# and "llvm_cbuild_setup" already set PATH in such way
# that suitable llvm-config is found and used in
# "cmake/Findllvm.cmake", and "cmake.eclass" help with
# cross-compilation pathes for "Findclang" and "Findlld".
# CMP0144, Zig has own packages with these names, so ignore
# LLVM_ROOT, Clang_ROOT, LLD_ROOT from "llvm_chost_setup".
-DCMAKE_FIND_USE_PACKAGE_ROOT_PATH=OFF
)
if tc-is-cross-compiler; then
# Enable cross-compilation for CMake when filling "config.h"
# and building "zigcpp". They would be used for stage3 build.
# Here we are using LLVM from ESYSROOT/DEPEND.
# Uses script llvm-config.
# Isolate PATH changes in subshell so that it would not
# affect next `cmake_src_configure` with BROOT/BDEPEND.
(
llvm_chost_setup
cmake_src_configure
cmake_build zigcpp
)
mv "${BUILD_DIR}/config.h" "${T}/target_config.h" || die
mv "${BUILD_DIR}/zigcpp/" "${T}/target_zigcpp/" || die
rm -rf "${BUILD_DIR}" || die
fi
# Force disable cross-compilation for CMake when building "zig2".
# Here we are using LLVM from BROOT/BDEPEND.
# Uses native llvm-config.
# Isolate environment changes in subshell so that it would not
# affect next phases.
(
export BUILD_CFLAGS="${CFLAGS}"
export BUILD_CXXFLAGS="${CXXFLAGS}"
export BUILD_CPPFLAGS="${CPPFLAGS}"
export BUILD_LDFLAGS="${LDFLAGS}"
tc-env_build
unset SYSROOT
export CHOST="${CBUILD:-${CHOST}}"
strip-unsupported-flags
cmake_src_configure
)
fi
}
src_compile() {
if use llvm; then
cmake_build zig2
if tc-is-cross-compiler; then
rm -rf "${BUILD_DIR}/zigcpp/" || die
rm -f "${BUILD_DIR}/config.h" || die
mv "${T}/target_zigcpp/" "${BUILD_DIR}/zigcpp/" || die
mv "${T}/target_config.h" "${BUILD_DIR}/config.h" || die
fi
else
cd "${BUILD_DIR}" || die
ln -s "${S}/stage1/" . || die
ln -s "${S}/src/" . || die
ln -s "${S}/lib/" . || die
local native_cc="$(tc-getBUILD_CC)"
"${native_cc}" -o bootstrap "${S}/bootstrap.c" || die "Zig's bootstrap.c compilation failed"
ZIG_HOST_TARGET_TRIPLE="${ZIG_HOST_AS_TARGET}" CC="${native_cc}" edo ./bootstrap
fi
cd "${BUILD_DIR}" || die
ZIG_EXE="./zig2" zig_src_compile --prefix stage3/
# Requires running stage3 which is built for cross-target.
if ! tc-is-cross-compiler; then
./stage3/bin/zig env || die "Zig compilation failed"
if use doc; then
ZIG_EXE="./stage3/bin/zig" zig_src_compile langref --prefix docgen/
fi
fi
}
src_test() {
if has_version -b app-emulation/qemu; then
ewarn "QEMU executable was found on your building system."
ewarn "If you have qemu-binfmt (binfmt_misc) hooks enabled for"
ewarn "foreign architectures, Zig tests might fail."
ewarn "In this case, please disable qemu-binfmt and try again."
fi
cd "${BUILD_DIR}" || die
# XXX: When we pass a libc installation to Zig, it will fail to find
# the bundled libraries for targets like aarch64-macos and
# *-linux-musl. Zig doesn't run binaries for these targets when
# -Dskip-non-native is passed, but they are still compiled, so
# the test will fail. There's no way to disable --libc once passed,
# so we need to strip it from ZBS_ARGS.
# See: https://github.com/ziglang/zig/issues/22383
local args_backup=("${ZBS_ARGS[@]}")
for ((i = 0; i < ${#ZBS_ARGS[@]}; i++)); do
if [[ "${ZBS_ARGS[i]}" == "--libc" ]]; then
unset ZBS_ARGS[i]
unset ZBS_ARGS[i+1]
break
fi
done
# Run tests with Debug mode by default, like upstream does in CI,
# full test suite with other modes is in a sad state right now...
ZIG_EXE="./stage3/bin/zig" zig_src_test -Dskip-non-native --release=debug
ZBS_ARGS=("${args_backup[@]}")
}
src_install() {
use doc && local HTML_DOCS=( "${BUILD_DIR}/docgen/doc/langref.html" )
ZIG_EXE="./zig2" zig_src_install
cd "${D}/${ZIG_SYS_INSTALL_DEST}" || die
mv lib/zig/ lib2/ || die
rm -rf lib/ || die
mv lib2/ lib/ || die
dosym -r "${ZIG_SYS_INSTALL_DEST}/bin/zig" /usr/bin/zig-${PV}
}
pkg_postinst() {
eselect zig update ifunset || die
elog "Starting from 0.12.0, Zig no longer installs"
elog "precompiled standard library documentation."
elog "Instead, you can call \`zig std\` to compile it on-the-fly."
elog "It reflects all edits in standard library automatically."
elog "See \`zig std --help\` for more information."
elog "More details here: https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works"
if ! use llvm; then
elog "Currently, Zig built without LLVM support lacks some"
elog "important features such as most optimizations, @cImport, etc."
elog "They are listed under \"Building from Source without LLVM\""
elog "section of the README file from \"/usr/share/doc/${PF}\" ."
fi
}
pkg_postrm() {
eselect zig update ifunset
}

View file

@ -1,90 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
inherit cmake llvm-r1 prefix
MY_P=llvm-project-rocm-${PV}
components=( "amd/comgr" )
DESCRIPTION="Radeon Open Compute Code Object Manager"
HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}/${components[0]}"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
"${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
"${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch"
"${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch"
"${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
"${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch"
"${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch"
)
RDEPEND="
dev-libs/rocm-device-libs:${SLOT}
llvm-core/clang-runtime:=
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/lld:${LLVM_SLOT}=
')
dev-util/hipcc:${SLOT}
"
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
src_unpack() {
if [[ ${PV} == *9999 ]] ; then
git-r3_fetch
git-r3_checkout '' . '' "${components[@]}"
else
archive="${MY_P}.tar.gz"
ebegin "Unpacking from ${archive}"
tar -x -z -o \
-f "${DISTDIR}/${archive}" \
"${components[@]/#/${MY_P}/}" || die
eend ${?}
fi
}
src_prepare() {
sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch)
cmake_src_prepare
# Replace @CLANG_RESOURCE_DIR@ in patches
local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die
}
src_configure() {
local mycmakeargs=(
-DLLVM_DIR="$(get_llvm_prefix)"
-DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
-DBUILD_TESTING=$(usex test ON OFF)
)
# Prevent CMake from finding systemwide hip, which breaks tests
use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
cmake_src_configure
}
src_test() {
local CMAKE_SKIP_TESTS=(
comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
)
cmake_src_test
}

View file

@ -1,94 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
inherit cmake llvm-r1 prefix
MY_P=llvm-project-rocm-${PV}
components=( "amd/comgr" )
DESCRIPTION="Radeon Open Compute Code Object Manager"
HOMEPAGE="https://github.com/ROCm/llvm-project/tree/amd-staging/amd/comgr"
if [[ $PV == 9999 ]]; then
SRC_URI="TODO"
else
SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
fi
S="${WORKDIR}/${MY_P}/${components[0]}"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
"${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
"${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch"
"${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch"
"${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
"${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch"
"${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch"
)
RDEPEND="
dev-libs/rocm-device-libs:${SLOT}
llvm-core/clang-runtime:=
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/lld:${LLVM_SLOT}=
')
dev-util/hipcc:${SLOT}
"
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
src_unpack() {
if [[ ${PV} == *9999 ]] ; then
git-r3_fetch
git-r3_checkout '' . '' "${components[@]}"
else
archive="${MY_P}.tar.gz"
ebegin "Unpacking from ${archive}"
tar -x -z -o \
-f "${DISTDIR}/${archive}" \
"${components[@]/#/${MY_P}/}" || die
eend ${?}
fi
}
src_prepare() {
sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix)\")," -i src/comgr-env.cpp || die
eapply $(prefixify_ro "${FILESDIR}"/${PN}-6.3.2-rocm_path.patch)
cmake_src_prepare
# Replace @CLANG_RESOURCE_DIR@ in patches
local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die
}
src_configure() {
local mycmakeargs=(
-DLLVM_DIR="$(get_llvm_prefix)"
-DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
-DBUILD_TESTING=$(usex test ON OFF)
)
# Prevent CMake from finding systemwide hip, which breaks tests
use test && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_hip=ON )
cmake_src_configure
}
src_test() {
local CMAKE_SKIP_TESTS=(
comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
)
cmake_src_test
}

View file

@ -1,5 +0,0 @@
DIST roct-thunk-interface-5.7.1.tar.gz 665529 BLAKE2B 407601d45976ad66e85999c53bcaa62fefa2ea823e1d3296a9aabe8b6a9c915776344de4499fcf6f9ee80193201308b27b387a7225aca5d2cc7e294143eefacd SHA512 c0dc449c8b713ac543f6cd6c876ea0f160dcb1a5c4a52a2b1364fcae0039e9fe195e4223a2644d7d3a7fbc2a48166e798d15b9088e2097b65974e2ba5e48bdcf
DIST roct-thunk-interface-6.1.1.tar.gz 666377 BLAKE2B b30d733fb769f7169e97b8a28eaa61c84205aec06b55d662d24f159a3c84190f3252f090413769e56eb621abc789fae521cb7b26d7cdac952ff1e4e120707bc9 SHA512 2c579606d2ced9f8b5e32841db745819771b7d6ce0cef90b818e3710470e30c7715540125d99ed5ea13c4e672d5af6d8ad2dd5975ef76cab7ba993d86cf74eb4
DIST roct-thunk-interface-6.1.2.tar.gz 666380 BLAKE2B ffff2405bbb95a6908670a23cf6090147a5669f8ab0c999047203731c99c511738a33ac8d3fc0f0e5432e3744e948ec3fe658d6a578ecc63606c8a5662025b0a SHA512 083b1a865608016f78c094a27ece3858072e72d80e1322e7cef22261222a0f868d3b72ebfcd80a11e4719e90d3d3fc7b0c683aed77714f54f520bb126b13ab7c
DIST roct-thunk-interface-6.3.2.tar.gz 2260102 BLAKE2B 706cd4cc61c3007aec2b7822c02a7c98399454b366f2a2c221ae53ea3ee4c288c47c7fcfbe8f1cbd38d071ab5c90a2d79c054a0b0d2a2f6892a051b843794d32 SHA512 0326242deae601275d71fb268781735b117e713e73b1bcac2fd732828d993dee5840dec011fdc4350be2afdbc8266b6d1b65d5dff0d465a5b9c9cc091a5c645c
DIST roct-thunk-interface-6.3.3.tar.gz 2260073 BLAKE2B bca4a1809a90a4009b7f1f6e97764ab2f6d235b1c8d16d0417309c6484b2449ff807d248fe05e97867a10e660a86345c442a055081faefa17bbdf6a55b981867 SHA512 5b59d817f0fe5c87cb6eb639c8d1b8e5814b7b236eb961c9b7e2ade81163710b4cebb63f45cdf508a9ae6eb5dc380a63c09b9aa44cb082fe2b85c727efed8061

View file

@ -1,13 +0,0 @@
The built hsakmt library is right under BUILD_DIR, not BUILD_DIR/lib
===================================================================
--- a/tests/kfdtest/CMakeLists.txt
+++ b./tests/kfdtest/CMakeLists.txt
@@ -117,7 +117,7 @@ else()
endif()
if( DEFINED LIBHSAKMT_PATH )
- set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/lib )
+ set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/ )
set ( HSAKMT_LIBRARIES hsakmt )
endif()

View file

@ -1,31 +0,0 @@
https://github.com/ROCm/ROCT-Thunk-Interface/pull/102
From 6d7d48bb6843405aac2777388edf4c7c2a6f9dc3 Mon Sep 17 00:00:00 2001
From: Yiyang Wu <xgreenlandforwyy@gmail.com>
Date: Tue, 30 Apr 2024 13:35:08 +0800
Subject: [PATCH] Allow linking libLLVM dynamic library rather than separate
components
---
tests/kfdtest/CMakeLists.txt | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/kfdtest/CMakeLists.txt b/tests/kfdtest/CMakeLists.txt
index 9d1172e..ccad7f4 100644
--- a/tests/kfdtest/CMakeLists.txt
+++ b/tests/kfdtest/CMakeLists.txt
@@ -154,7 +154,11 @@ include_directories(${LLVM_INCLUDE_DIRS})
separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
add_definitions(${LLVM_DEFINITIONS_LIST})
-llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support)
+if (LLVM_LINK_LLVM_DYLIB)
+ set(llvm_libs LLVM)
+else()
+ llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support)
+endif()
include_directories(${PROJECT_SOURCE_DIR}/gtest-1.6.0)
include_directories(${PROJECT_SOURCE_DIR}/include)
--
2.44.0

View file

@ -1,20 +0,0 @@
Issue: https://github.com/ROCm/ROCT-Thunk-Interface/issues/103
===================================================================
--- ROCT-Thunk-Interface-rocm-6.1.1.orig/tests/kfdtest/scripts/kfdtest.exclude
+++ ROCT-Thunk-Interface-rocm-6.1.1/tests/kfdtest/scripts/kfdtest.exclude
@@ -63,6 +63,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\
# failures can be found
# NOTE: If you update this alphabetical listing, add the corresponding JIRA ticket for reference
#
+# KFDIPCTest.BasicTest are not compatible with upstream amdgpu kernel module
# KFDQMTest.GPUDoorbellWrite fails intermittently (KFD-318)
# KFDQMTest.mGPUShareBO (KFD-334)
# KFDHWSTest.* (SWDEV-193035)
@@ -72,6 +73,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\
# KFDDBGTest.SuspendQueues (SWDEV-417850)
# KFDDBGTest.HitAddressWatch (SWDEV-420281)
TEMPORARY_BLACKLIST_ALL_ASICS=\
+"KFDIPCTest.BasicTest:"\
"KFDQMTest.GPUDoorbellWrite:"\
"KFDQMTest.mGPUShareBO:"\
"KFDQMTest.SdmaEventInterrupt:"\

View file

@ -1,14 +0,0 @@
Add header for llvm_shutdown.
Backports https://github.com/ROCm/ROCT-Thunk-Interface/commit/8bb5764ee1c4e3a8dc7588b597831389b4481345
--- a/tests/kfdtest/src/Assemble.cpp
+++ b/tests/kfdtest/src/Assemble.cpp
@@ -69,6 +69,9 @@
#else
#include <llvm/Support/TargetRegistry.h>
#endif
+#if LLVM_VERSION_MAJOR > 18
+#include "llvm/Support/ManagedStatic.h"
+#endif
#include <linux/elf.h>
#include "OSWrapper.hpp"

View file

@ -1,14 +0,0 @@
diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
index dc17215..964f3d0 100644
--- a/src/libhsakmt.ver
+++ b/src/libhsakmt.ver
@@ -75,6 +75,9 @@ hsaKmtSetXNACKMode;
hsaKmtGetXNACKMode;
hsaKmtOpenSMI;
hsaKmtExportDMABufHandle;
+hsaKmtWaitOnMultipleEvents_Ext;
+hsaKmtReplaceAsanHeaderPage;
+hsaKmtWaitOnEvent_Ext;
local: *;
};

View file

@ -1,61 +0,0 @@
Upstream PR: https://github.com/ROCm/ROCT-Thunk-Interface/pull/96
Bug: https://github.com/ROCm/ROCT-Thunk-Interface/issues/65
--- a/src/globals.c
+++ b/src/globals.c
@@ -32,5 +32,9 @@ unsigned long kfd_open_count;
unsigned long system_properties_count;
pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER;
bool is_dgpu;
+
+#ifndef PAGE_SIZE
int PAGE_SIZE;
+#endif
+
int PAGE_SHIFT;
--- a/src/libhsakmt.h
+++ b/src/libhsakmt.h
@@ -62,7 +62,11 @@ extern HsaVersionInfo kfd_version_info;
do { if ((minor) > kfd_version_info.KernelInterfaceMinorVersion)\
return HSAKMT_STATUS_NOT_SUPPORTED; } while (0)
+/* Might be defined in limits.h on platforms where it is constant (used by musl) */
+/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */
+#ifndef PAGE_SIZE
extern int PAGE_SIZE;
+#endif
extern int PAGE_SHIFT;
/* VI HW bug requires this virtual address alignment */
--- a/src/openclose.c
+++ b/src/openclose.c
@@ -116,7 +116,9 @@ static void clear_after_fork(void)
static inline void init_page_size(void)
{
+#ifndef PAGE_SIZE
PAGE_SIZE = sysconf(_SC_PAGESIZE);
+#endif
PAGE_SHIFT = ffs(PAGE_SIZE) - 1;
}
--- a/src/topology.c
+++ b/src/topology.c
@@ -32,6 +32,7 @@
#include <string.h>
#include <unistd.h>
#include <ctype.h>
+#include <limits.h>
#include <errno.h>
#include <sys/sysinfo.h>
@@ -1369,6 +1370,10 @@ static int topology_create_temp_cpu_cache_list(int node,
* which can be present twice in the string above. 29 is for the prefix
* and the +6 is for the cache suffix
*/
+#ifndef MAXNAMLEN
+/* MAXNAMLEN is the BSD name for NAME_MAX. glibc aliases this as NAME_MAX, but not musl */
+#define MAXNAMLEN NAME_MAX
+#endif
const uint32_t MAXPATHSIZE = 29 + MAXNAMLEN + (MAXNAMLEN + 6);
cpu_cacheinfo_t *p_temp_cpu_ci_list; /* a list of cpu_ci */
char path[MAXPATHSIZE], node_dir[MAXPATHSIZE];

View file

@ -1,26 +0,0 @@
https://github.com/ROCm/ROCT-Thunk-Interface/pull/102
From 8385d8795b994f31e00e651dc4f41e18d82ff968 Mon Sep 17 00:00:00 2001
From: Yiyang Wu <xgreenlandforwyy@gmail.com>
Date: Tue, 30 Apr 2024 15:07:12 +0800
Subject: [PATCH] hsaKmtCheckRuntimeDebugSupport should be visible for kfdtest
---
src/debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/debug.c b/src/debug.c
index 932e829..67c32c8 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -268,7 +268,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtDbgAddressWatch(HSAuint32 NodeId,
#define HSA_RUNTIME_ENABLE_MAX_MAJOR 1
#define HSA_RUNTIME_ENABLE_MIN_MINOR 13
-HSAKMT_STATUS hsaKmtCheckRuntimeDebugSupport(void) {
+HSAKMT_STATUS HSAKMTAPI hsaKmtCheckRuntimeDebugSupport(void) {
HsaNodeProperties node = {0};
HsaSystemProperties props = {0};
HsaVersionInfo versionInfo = {0};
--
2.44.0

View file

@ -1,12 +0,0 @@
https://github.com/ROCm/ROCR-Runtime/issues/263
--- a/src/libhsakmt.ver
+++ b/src/libhsakmt.ver
@@ -89,6 +89,8 @@ hsaKmtPcSamplingDestroy;
hsaKmtPcSamplingStart;
hsaKmtPcSamplingStop;
hsaKmtPcSamplingSupport;
+hsaKmtCreateQueueExt;
+hsaKmtRegisterGraphicsHandleToNodesExt;
local: *;
};

View file

@ -1,71 +0,0 @@
Fix error: 'hsakmt_page_size' undeclared (musl-only)
Upstream bug: https://github.com/ROCm/ROCR-Runtime/issues/267
--- a/src/libhsakmt.h
+++ b/src/libhsakmt.h
@@ -64,14 +64,15 @@ extern HsaVersionInfo hsakmt_kfd_version_info;
do { if ((minor) > hsakmt_kfd_version_info.KernelInterfaceMinorVersion)\
return HSAKMT_STATUS_NOT_SUPPORTED; } while (0)
+extern int hsakmt_page_size;
+extern int hsakmt_page_shift;
+
/* Might be defined in limits.h on platforms where it is constant (used by musl) */
/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */
#ifndef PAGE_SIZE
-extern int hsakmt_page_size;
#define PAGE_SIZE hsakmt_page_size
#endif
#ifndef PAGE_SHIFT
-extern int hsakmt_page_shift;
#define PAGE_SHIFT hsakmt_page_shift
#endif
--- a/tests/kfdtest/src/KFDTestUtilQueue.cpp
+++ b/tests/kfdtest/src/KFDTestUtilQueue.cpp
@@ -57,13 +57,13 @@ class AsyncMPSQ {
void PlacePacketOnNode(PacketList &packetList, int node, TSPattern tsp);
/* Run the packets placed on nodes and return immediately.*/
- void Submit(void) { ASSERT_NE((HSAuint64)m_queue, NULL); m_queue->SubmitPacket(); }
+ void Submit(void) { ASSERT_NE(m_queue, nullptr); m_queue->SubmitPacket(); }
/* Return only when all packets are consumed.
* If there is any packet issues some IO operations, wait these IO to complete too.
*/
void Wait(void) {
- ASSERT_NE((HSAuint64)m_queue, NULL);
+ ASSERT_NE(m_queue, nullptr);
m_queue->Wait4PacketConsumption(m_event, std::max((unsigned int)6000, g_TestTimeOut));
}
@@ -244,7 +244,7 @@ HSAuint64 AsyncMPSQ::Report(int indexOfPacket, HSAuint64 &begin, HSAuint64 &end)
if (m_ts_pattern == HEAD_TAIL)
indexOfPacket = 0;
- EXPECT_NE((HSAuint64)m_ts, NULL)
+ EXPECT_NE(m_ts, nullptr)
<< " Error " << ++error << ": No timestamp buf!" << std::endl;
/* m_ts_count is equal to packets count + 1, see PlacePacketOnNode().
* So the max index of a packet is m_ts_count - 2.
--- a/tests/kfdtest/src/OSWrapper.hpp
+++ b/tests/kfdtest/src/OSWrapper.hpp
@@ -23,6 +23,8 @@
#include <stdlib.h>
#include <stdint.h>
+#include <limits.h>
+#include <sys/user.h>
#include <string>
#include "KFDTestFlags.hpp"
@@ -33,10 +35,8 @@
#ifndef PAGE_SIZE
#define PAGE_SIZE (1<<12)
-#define PAGE_SHIFT (12)
#endif
#ifndef PAGE_SHIFT
-#define PAGE_SIZE (1<<12)
#define PAGE_SHIFT (12)
#endif

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>gentoo@holzke.net</email>
<name>Wilfried Holzke</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">ROCm/ROCT-Thunk-Interface</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,44 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake linux-info
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
inherit git-r3
else
SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl"
DEPEND="${RDEPEND}"
BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
CMAKE_BUILD_TYPE=Release
PATCHES=(
"${FILESDIR}/${PN}-5.7.0-functions.patch"
"${FILESDIR}/${PN}-5.7.1-musl.patch"
)
src_prepare() {
sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
)
cmake_src_configure
}

View file

@ -1,81 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ROCM_SKIP_GLOBALS=1
inherit cmake linux-info rocm
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/"
inherit git-r3
else
SRC_URI="https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/ROCm/ROCT-Thunk-Interface"
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl
x11-libs/libdrm[video_cards_amdgpu]"
DEPEND="${RDEPEND}
test? ( llvm-core/llvm
dev-cpp/gtest )"
IUSE="test"
RESTRICT="!test? ( test )"
CMAKE_BUILD_TYPE=Release
PATCHES=(
"${FILESDIR}/${PN}-5.7.1-musl.patch"
"${FILESDIR}/${PN}-6.1.0-visibility.patch"
"${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch"
"${FILESDIR}/kfdtest-6.1.0-libpath.patch"
"${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
)
test_wrapper() {
local S="$1"
shift 1
local CMAKE_USE_DIR="${S}"
local BUILD_DIR="${S}_build"
cd "${S}" || die
$@
}
src_prepare() {
sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
)
cmake_src_configure
if use test; then
export LIBHSAKMT_PATH="${BUILD_DIR}"
test_wrapper "${S}/tests/kfdtest" cmake_src_configure
fi
}
src_compile() {
cmake_src_compile
if use test; then
LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
fi
}
src_test() {
check_amdgpu
TESTDIR="${S}/tests/kfdtest_build/"
cd "${TESTDIR}" || die
PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
}

View file

@ -1,87 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
ROCM_SKIP_GLOBALS=1
inherit cmake linux-info llvm-r1 rocm
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/"
inherit git-r3
else
SRC_URI="https://github.com/ROCm/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/ROCm/ROCT-Thunk-Interface"
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl
x11-libs/libdrm[video_cards_amdgpu]"
DEPEND="${RDEPEND}
test? (
$(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
dev-cpp/gtest
)"
IUSE="test"
RESTRICT="!test? ( test )"
CMAKE_BUILD_TYPE=Release
PATCHES=(
"${FILESDIR}/${PN}-5.7.1-musl.patch"
"${FILESDIR}/${PN}-6.1.0-visibility.patch"
"${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch"
"${FILESDIR}/kfdtest-6.1.0-libpath.patch"
"${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
)
test_wrapper() {
local S="$1"
shift 1
local CMAKE_USE_DIR="${S}"
local BUILD_DIR="${S}_build"
cd "${S}" || die
$@
}
src_prepare() {
sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
)
cmake_src_configure
if use test; then
export LIBHSAKMT_PATH="${BUILD_DIR}"
local mycmakeargs=(
-DLLVM_DIR="$(get_llvm_prefix)"
)
test_wrapper "${S}/tests/kfdtest" cmake_src_configure
fi
}
src_compile() {
cmake_src_compile
if use test; then
LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
fi
}
src_test() {
check_amdgpu
TESTDIR="${S}/tests/kfdtest_build/"
cd "${TESTDIR}" || die
PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
}

View file

@ -1,92 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
ROCM_SKIP_GLOBALS=1
inherit cmake linux-info llvm-r1 rocm
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
inherit git-r3
S="${WORKDIR}/${P}/libhsakmt"
else
SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/libhsakmt"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt"
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl
x11-libs/libdrm[video_cards_amdgpu]"
DEPEND="${RDEPEND}
test? (
$(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
dev-cpp/gtest
)"
IUSE="test"
RESTRICT="!test? ( test )"
CMAKE_BUILD_TYPE=Release
PATCHES=(
"${FILESDIR}/${PN}-6.3.0-functions.patch"
"${FILESDIR}/${PN}-6.3.0-musl.patch"
"${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
"${FILESDIR}/kfdtest-6.2.4-fix-llvm-header.patch"
)
test_wrapper() {
local S="$1"
shift 1
local CMAKE_USE_DIR="${S}"
local BUILD_DIR="${S}_build"
cd "${S}" || die
$@
}
src_prepare() {
sed -e "s/get_version ( \"1.0.0\" )/get_version ( \"${PV}\" )/" -i CMakeLists.txt || die
# https://github.com/ROCm/ROCR-Runtime/issues/263
sed -e "s/\${HSAKMT_TARGET} STATIC/\${HSAKMT_TARGET}/" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DBUILD_SHARED_LIBS=ON
)
cmake_src_configure
if use test; then
export LIBHSAKMT_PATH="${BUILD_DIR}"
local mycmakeargs=(
-DLLVM_DIR="$(get_llvm_prefix)"
)
test_wrapper "${S}/tests/kfdtest" cmake_src_configure
fi
}
src_compile() {
cmake_src_compile
if use test; then
LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
fi
}
src_test() {
check_amdgpu
TESTDIR="${S}/tests/kfdtest_build/"
cd "${TESTDIR}" || die
PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
}

View file

@ -1,92 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
ROCM_SKIP_GLOBALS=1
inherit cmake linux-info llvm-r1 rocm
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
inherit git-r3
S="${WORKDIR}/${P}/libhsakmt"
else
SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/libhsakmt"
KEYWORDS="~amd64"
fi
DESCRIPTION="Radeon Open Compute Thunk Interface"
HOMEPAGE="https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt"
CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
RDEPEND="sys-process/numactl
x11-libs/libdrm[video_cards_amdgpu]"
DEPEND="${RDEPEND}
test? (
$(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
dev-cpp/gtest
)"
IUSE="test"
RESTRICT="!test? ( test )"
CMAKE_BUILD_TYPE=Release
PATCHES=(
"${FILESDIR}/${PN}-6.3.0-functions.patch"
"${FILESDIR}/${PN}-6.3.0-musl.patch"
"${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
"${FILESDIR}/kfdtest-6.2.4-fix-llvm-header.patch"
)
test_wrapper() {
local S="$1"
shift 1
local CMAKE_USE_DIR="${S}"
local BUILD_DIR="${S}_build"
cd "${S}" || die
$@
}
src_prepare() {
sed -e "s/get_version ( \"1.0.0\" )/get_version ( \"${PV}\" )/" -i CMakeLists.txt || die
# https://github.com/ROCm/ROCR-Runtime/issues/263
sed -e "s/\${HSAKMT_TARGET} STATIC/\${HSAKMT_TARGET}/" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
-DBUILD_SHARED_LIBS=ON
)
cmake_src_configure
if use test; then
export LIBHSAKMT_PATH="${BUILD_DIR}"
local mycmakeargs=(
-DLLVM_DIR="$(get_llvm_prefix)"
)
test_wrapper "${S}/tests/kfdtest" cmake_src_configure
fi
}
src_compile() {
cmake_src_compile
if use test; then
LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
fi
}
src_test() {
check_amdgpu
TESTDIR="${S}/tests/kfdtest_build/"
cd "${TESTDIR}" || die
PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
}

View file

@ -1 +0,0 @@
DIST c2ffi-18.1.0.20240926.tar.gz 44577 BLAKE2B 53017254fe51ec55d23ebc658679cec405783255cc29b65aea5bf4c447d9dd6658aa5834bb7757de1bc50832eabdb2ee3bc7a07edd64b78a5d1aa9d41c5155e9 SHA512 1b5c5260e855bf9d6bd4b1b222ed1ac4405151cdff63623cbe72211b33c2f1bd33f40ef6e4877b0f75eaccc1eaa4ac93fd97a3b0469f05aa59f710bab804340c

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>h.judt@gmx.at</email>
<name>Harald Judt</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">rpav/c2ffi</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,2 +0,0 @@
DIST pyinstaller-4.2.tar.gz 3596102 BLAKE2B 2b273c043c4b584741cb4a4a2ef1df5b4305c775155f7195d2441b7dd69d169b768143d11141df6e0b3a27400f4f978460f0c923192c21695c26d0189a2b8855 SHA512 54acf059756cbbaa37fb559e9691dc8b3af77f7f57885f8fb142050662769f9138477686d0b768274f23166d2d327b4f9d4924b7077cdf1736790d7e2a3e161d
DIST pyinstaller-5.8.0.tar.gz 2369800 BLAKE2B 94a4e235632fb875f076782993c91efc50759c5af20dc0092853a8e47df6d217030c90732d1d2bcbc8ee8fd5b4a70804043fc0a48afd90decf78c1fae86c86f0 SHA512 571c050eedd10f15ef8b57d9ec1a8b95a78ca7fe09b0cfbabc30e4cf7ba1a6f9c227df1178730f7fde28d023d5513481ce1867d6a8bd9441eca6463b8f27034c

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>svdm-gentoo@protonmail.com</email>
<name>Simon van der Maas</name>
</maintainer>
</pkgmetadata>

View file

@ -1,19 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Bundles a Python application and all its dependencies into a single package."
HOMEPAGE="https://pypi.org/project/pyinstaller/"
SRC_URI="https://files.pythonhosted.org/packages/b4/83/9f6ff034650abe9778c9a4f86bcead63f89a62acf02b1b47fc2bfc6bf8dd/${P}.tar.gz"
LICENSE="GPL-2+-with-Pyinstaller-Bootloader-exception"
SLOT="0"
KEYWORDS="~amd64"
QA_PRESTRIPPED="usr/lib/python.*/site-packages/PyInstaller/bootloader/Linux-.*/run.*"

View file

@ -1,19 +0,0 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Bundles a Python application and all its dependencies into a single package."
HOMEPAGE="https://pypi.org/project/pyinstaller/"
SRC_URI="https://files.pythonhosted.org/packages/63/20/cfb61921d7db3e8473440091ac99ae900357f26197502ab7ec9ff6473ca5/${P}.tar.gz"
LICENSE="GPL-2+-with-Pyinstaller-Bootloader-exception"
SLOT="0"
KEYWORDS="~amd64"
QA_PRESTRIPPED="usr/lib/python.*/site-packages/PyInstaller/bootloader/Linux-.*/run.*"

View file

@ -1 +0,0 @@
DIST pyside-pyside-setup-6.8.2.gh.tar.gz 19305680 BLAKE2B d4da8ec63d35714bf4418cdc9ff5921fe554c1635a7c5c467657b64c2140208b4bba57fc9932f0f96426e1d15c124209b0b29eb9340261d34eed194128a03545 SHA512 30691d27afaeaa3117e68b60745918d9697c8d9e4ee8941eaab51995cb5128c56d44964511f2db731f448bf32219160032e4a4cd4773d3fccc4de8c0e509d1c1

View file

@ -1,10 +0,0 @@
diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt
index 2e4c701..6792258 100644
--- a/sources/pyside6/CMakeLists.txt
+++ b/sources/pyside6/CMakeLists.txt
@@ -41,5 +41,3 @@ if(BUILD_TESTS)
endif()
add_subdirectory(doc)
-
-add_subdirectory(qtexampleicons)

View file

@ -1,17 +0,0 @@
diff --git a/build_scripts/wheel_override.py b/build_scripts/wheel_override.py
index b389bb8..71de230 100644
--- a/build_scripts/wheel_override.py
+++ b/build_scripts/wheel_override.py
@@ -20,9 +20,9 @@ try:
from packaging import tags
from wheel import __version__ as wheel_version
- from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
- from wheel.bdist_wheel import get_abi_tag, get_platform
- from wheel.bdist_wheel import safer_name as _safer_name
+ from wheel._bdist_wheel import bdist_wheel as _bdist_wheel
+ from wheel._bdist_wheel import get_abi_tag, get_platform
+ from wheel._bdist_wheel import safer_name as _safer_name
wheel_module_exists = True
except Exception as e:

View file

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="proxy">
<email>nowa@gentoo.org</email>
<name>Nowa Ammerlaan</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>waebbl-gentoo@posteo.net</email>
<name>Bernd Waibel</name>
</maintainer>
<use>
<flag name="3d">Build Qt3DCore, Qt3DAnimation, Qt3DExtras, Qt3DInput, Qt3DLogic, and Qt3DRender modules</flag>
<flag name="bluetooth">Build QtBluetooth module</flag>
<flag name="charts">Build QtCharts module</flag>
<flag name="concurrent">Build QtConcurrent module</flag>
<flag name="core">Build QtCore module, if disable then only shiboken will be built</flag>
<flag name="designer">Build QtDesigner and QtUiTools modules</flag>
<flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag>
<flag name="gui">Build QtGui module</flag>
<flag name="help">Build QtHelp module</flag>
<flag name="httpserver">Build QtHttpServer module</flag>
<flag name="location">Build QtLocation module</flag>
<flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Build QtNetwork module</flag>
<flag name="network-auth">Build QtNetworkAuth module</flag>
<flag name="nfc">Build QtNfc module</flag>
<flag name="numpy">Build with support for <pkg>dev-python/numpy</pkg></flag>
<flag name="pdfium">Build QtPdf module</flag>
<flag name="positioning">Build QtPositioning module</flag>
<flag name="printsupport">Build QtPrintSupport module</flag>
<flag name="qml">Build QtQml module</flag>
<flag name="quick">Build QtQuick and QtQuickWidgets modules</flag>
<flag name="quick3d">Build QtQuick3D and QtQuickWidgets modules</flag>
<flag name="scxml">Build QtScxml module</flag>
<flag name="sensors">Build QtSensors module</flag>
<flag name="serialbus">Build QtSerialBus modules</flag>
<flag name="serialport">Build QtSerialPort modules</flag>
<flag name="spatialaudio">Build QtSpatialAudio module</flag>
<flag name="speech">Build QtTextToSpeech module</flag>
<flag name="sql">Build QtSql module</flag>
<flag name="svg">Build QtSvg module</flag>
<flag name="remoteobjects">Build QtRemoteObjects module</flag>
<flag name="testlib">Build QtTest module</flag>
<flag name="tools">Build PySide Tools</flag>
<flag name="uitools">Build UITools module</flag>
<flag name="webchannel">Build QtWebChannel module</flag>
<flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag>
<flag name="websockets">Build QtWebSockets module</flag>
<flag name="webview">Build QtWebView module</flag>
<flag name="widgets">Build QtWidgets module</flag>
<flag name="xml">Build QtXml module</flag>
</use>
<upstream>
<remote-id type="pypi">PySide6</remote-id>
<remote-id type="pypi">shiboken6</remote-id>
<remote-id type="github">qtproject/pyside-pyside-setup</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,493 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
LLVM_COMPAT=( 20 )
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
inherit distutils-r1 llvm-r1 qmake-utils virtualx
MY_PN=pyside-pyside-setup
MY_P=${MY_PN}-${PV}
DESCRIPTION="Python bindings for the Qt framework"
HOMEPAGE="https://wiki.qt.io/PySide6"
SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )"
SLOT="6/${PV}"
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
# If a flag enables multiple Qt modules, they should be ordered
# according to their dependencies, e.g. for 3d, 3DCore must be first.
# Widgets for various modules are handled as a special case later
declare -A QT_MODULES=(
["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras"
["bluetooth"]="Bluetooth"
["charts"]="Charts"
["+concurrent"]="Concurrent"
["+core"]="Core"
["+dbus"]="DBus"
["designer"]="Designer"
["+gui"]="Gui"
["help"]="Help"
["httpserver"]="HttpServer"
["location"]="Location"
["multimedia"]="Multimedia" # plus widgets
["network-auth"]="NetworkAuth"
["+network"]="Network"
["nfc"]="Nfc"
["+opengl"]="OpenGL" # plus widgets
["pdfium"]="Pdf" # plus widgets
["positioning"]="Positioning"
["+printsupport"]="PrintSupport"
["qml"]="Qml"
["quick3d"]="Quick3D"
["quick"]="Quick" # plus widgets
["remoteobjects"]="RemoteObjects"
["scxml"]="Scxml"
["sensors"]="Sensors"
["serialbus"]="SerialBus"
["serialport"]="SerialPort"
["spatialaudio"]="SpatialAudio"
["+sql"]="Sql"
["svg"]="Svg" # plus widgets
["speech"]="TextToSpeech"
["+testlib"]="Test"
["uitools"]="UiTools"
["webchannel"]="WebChannel"
["webengine"]="WebEngineCore" # plus widgets and quick
["websockets"]="WebSockets"
["webview"]="WebView"
["+widgets"]="Widgets"
["+xml"]="Xml"
)
# Manually reextract these requirements on version bumps by running the
# following one-liner from within "${S}":
# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
declare -A QT_REQUIREMENTS=(
["3d"]="gui network opengl"
["bluetooth"]="core"
["charts"]="core gui widgets"
["concurrent"]="core"
["dbus"]="core"
["designer"]="widgets"
["gles2-only"]="gui"
["gui"]="core"
["help"]="widgets"
["httpserver"]="core concurrent network websockets"
["location"]="core positioning"
["multimedia"]="core gui network"
["network-auth"]="network"
["network"]="core"
["nfc"]="core"
["opengl"]="gui"
["pdfium"]="core gui network"
["positioning"]="core"
["printsupport"]="widgets"
["qml"]="network"
["quick"]="gui network qml opengl"
["quick3d"]="gui network qml quick"
["remoteobjects"]="core network"
["scxml"]="core"
["sensors"]="core"
["serialbus"]="core network serialport"
["serialport"]="core"
["spatialaudio"]="core gui network multimedia"
["speech"]="core multimedia"
["sql"]="widgets"
["svg"]="gui"
["testlib"]="widgets"
["uitools"]="widgets"
["webchannel"]="core"
["webengine"]="core gui network printsupport quick webchannel"
["websockets"]="network"
["webview"]="gui"
["widgets"]="gui"
["xml"]="core"
)
IUSE="${!QT_MODULES[@]} debug doc gles2-only numpy test tools"
RESTRICT="!test? ( test )"
# majority of QtQml tests require QtQuick support
REQUIRED_USE="
test? (
qml? ( quick )
)
"
for requirement in ${!QT_REQUIREMENTS[@]}; do
REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) "
done
# Minimal supported version of Qt.
QT_PV="$(ver_cut 1-3)*:6"
# WebEngine needs sound support, so enable either pulseaudio or alsa
RDEPEND="
=dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
charts? ( =dev-qt/qtcharts-${QT_PV} )
designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] )
gui? (
=dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
x11-libs/libxkbcommon
)
help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] )
httpserver? ( =dev-qt/qthttpserver-${QT_PV} )
location? ( =dev-qt/qtlocation-${QT_PV} )
multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] )
network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] )
pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
positioning? ( =dev-qt/qtpositioning-${QT_PV} )
printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] )
quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] )
remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} )
scxml? ( =dev-qt/qtscxml-${QT_PV} )
sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
speech? ( =dev-qt/qtspeech-${QT_PV} )
serialbus? ( =dev-qt/qtserialbus-${QT_PV} )
serialport? ( =dev-qt/qtserialport-${QT_PV} )
svg? ( =dev-qt/qtsvg-${QT_PV} )
testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
tools? (
=dev-qt/qtbase-${QT_PV}
=dev-qt/qtdeclarative-${QT_PV}[qmlls]
=dev-qt/qttools-${QT_PV}[assistant,designer,linguist]
dev-python/pkginfo[${PYTHON_USEDEP}]
)
uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] )
webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
webengine? ( || (
=dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
=dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
)
)
websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
webview? ( =dev-qt/qtwebview-${QT_PV} )
!dev-python/pyside:0
!dev-python/shiboken6
!dev-python/pyside6-tools
"
DEPEND="${RDEPEND}
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
dev-util/vulkan-headers
test? ( =dev-qt/qtbase-${QT_PV}[gui] )
" # testlib is toggled by the gui flag on qtbase
BDEPEND="
dev-build/cmake
dev-python/distro[${PYTHON_USEDEP}]
dev-util/patchelf
doc? (
>=dev-libs/libxml2-2.6.32
>=dev-libs/libxslt-1.1.19
media-gfx/graphviz
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/myst-parser[${PYTHON_USEDEP}]
)
numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
"
PATCHES=(
# Needs porting to newer wheel and setuptools
"${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch"
# References files not present in our dev-qt/qtbase
"${FILESDIR}/${P}-no-qtexampleicons.patch" # TODO: remove in 6.8.3
)
# Build system duplicates system libraries. TODO: fix
QA_PREBUILT=(
"/usr/lib/python*/site-packages/PySide6/*"
)
python_prepare_all() {
distutils-r1_python_prepare_all
# Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
# or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
# Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
# subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
# currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
# the largest version specifier that exists under the "/usr/lib/clang/"
# subdirectory. This assumption is false in edge cases, including when
# users downgrade from newer Clang versions but fail to remove those
# versions with "emerge --depclean". See also:
# https://github.com/leycec/raiagent/issues/85
#
# Sadly, the clang-* family of functions exported by the "toolchain-funcs"
# eclass are defective, returning nonsensical placeholder strings if the
# end user has *NOT* explicitly configured their C++ compiler to be Clang.
# PySide6 does *NOT* care whether the end user has done so or not, as
# PySide6 unconditionally requires Clang in either case. See also:
# https://bugs.gentoo.org/619490
sed -e \
's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \
-i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
# blacklist.txt works like XFAIL
cat <<- EOF >> build_history/blacklist.txt || die
# segfaults with QOpenGLContext::create
[pysidetest::qapp_like_a_macro_test]
linux
# Tries to execute pip install
[pyside6-deploy::test_pyside6_deploy]
linux
[pyside6-android-deploy::test_pyside6_android_deploy]
linux
EOF
if ! use numpy; then
cat <<- EOF >> build_history/blacklist.txt || die
# Requires numpy support to pass
[sample::array_numpy]
linux
[sample::nontypetemplate]
linux
[QtGui::qpainter_test]
linux
EOF
fi
}
python_configure_all() {
ENABLED_QT_MODULES=()
# The order matters, dependencies must come first so process
# REQUIRED_USE and recursively enable modules
enable_qt_mod() {
local flag=${1}
local modules=${QT_MODULES[${flag}]}
if [[ -z ${modules} ]]; then
die "incorrect flag=${flag}, not registered"
fi
local dependencies=${QT_REQUIREMENTS[${flag//+}]}
if [[ -n ${dependencies} ]]; then
local depflag
for depflag in ${dependencies}; do
if use ${depflag}; then
if [[ -z ${QT_MODULES[${depflag}]} ]]; then
depflag=+${depflag}
fi
enable_qt_mod ${depflag}
else
die "${depflag} is required but not enabled"
fi
done
fi
if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then
ENABLED_QT_MODULES+=( ${modules} )
fi
}
# Enable specified qt modules
local flag
for flag in ${!QT_MODULES[@]}; do
if use ${flag//+}; then
enable_qt_mod ${flag}
fi
done
# Special cases
if use widgets; then
use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets )
use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets )
use pdfium && ENABLED_QT_MODULES+=( PdfWidgets )
use quick && ENABLED_QT_MODULES+=( QuickWidgets )
use svg && ENABLED_QT_MODULES+=( SvgWidgets )
use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets )
fi
if use quick; then
use webengine && ENABLED_QT_MODULES+=( WebEngineQuick )
use testlib && ENABLED_QT_MODULES+=( QuickTest )
fi
# Arguments listed in options.py
MAIN_DISTUTILS_ARGS=(
--cmake="${EPREFIX}/usr/bin/cmake"
--ignore-git
--limited-api=no
--module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")"
--no-strip
--no-size-optimization
--openssl="${EPREFIX}/usr/bin/openssl"
--qt=$(ver_cut 1-3)
--qtpaths=$(qt6_get_bindir)/qtpaths
--verbose-build
$(usex debug "--debug" "--relwithdebinfo")
$(usex doc "--build-docs" "--skip-docs")
$(usex numpy "--enable-numpy-support" "--disable-numpy-support")
$(usex test "--build-tests --use-xvfb" "")
$(usex tools "" "--no-qt-tools")
)
}
python_compile() {
DISTUTILS_ARGS=(
"${MAIN_DISTUTILS_ARGS[@]}"
--build-type=shiboken6
)
distutils-r1_python_compile
DISTUTILS_ARGS=(
"${MAIN_DISTUTILS_ARGS[@]}"
--reuse-build
--build-type=shiboken6-generator
)
distutils-r1_python_compile
# If no pyside modules enabled, build just shiboken
if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
DISTUTILS_ARGS=(
"${MAIN_DISTUTILS_ARGS[@]}"
--reuse-build
--shiboken-target-path="$(find "${BUILD_DIR}/build" -type d -name cmake)/../../"
--build-type=pyside6
)
distutils-r1_python_compile
fi
# Link libraries to the usual location for backwards compatibility
pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null ||
die
mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die
local lib
for lib in */*.cpython-*.so
do
local base=${lib##*/}
ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" ||
die
done
for lib in */*.cpython-*.so.$(ver_cut 1-2)
do
local base=${lib##*/}
ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" ||
die
done
for lib in */*.so*; do
ln -s "../../$(python_get_sitedir)/${lib}" \
"${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die
done
popd >/dev/null || die
# Symlinks for compatibility with pypi wheels
local dir
if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]]
then
pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \
>/dev/null || die
mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die
for dir in doc glue typesystems; do
ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \
"${BUILD_DIR}/install/usr/share/PySide6/${dir}" ||
die
done
popd >/dev/null || die
fi
mkdir -p "${BUILD_DIR}/install/usr/include"
for dir in PySide6 shiboken6_generator; do
if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]]
then
ln -s "../../$(python_get_sitedir)/${dir}/include" \
"${BUILD_DIR}/install/usr/include/${dir//_generator}" ||
die
fi
done
# Install misc files from inner install dir
find "${BUILD_DIR}"/build/*/install -type f \
-name libPySidePlugin.so -exec \
mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
-exec \
cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
|| die
for dir in cmake pkgconfig; do
find "${BUILD_DIR}"/build/*/install -type d -name ${dir} \
-exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \
|| die
done
# Uniquify the pkgconfigs file for the current Python target,
# preserving an unversioned "shiboken6.pc" file arbitrarily
# associated with the last Python target.
if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]]
then
sed -e 's~prefix=.*~prefix=/usr~g' \
-e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
-e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \
-e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \
-i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die
cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die
fi
if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]]
then
sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
-e 's~prefix=.*~prefix=/usr~g' \
-e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
-e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \
-e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \
-e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \
-e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \
-e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \
-i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die
cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die
fi
sed \
-e "s~/lib/libshiboken6\.cpython~/$(get_libdir)/libshiboken6\.cpython~g" \
-e "s~/lib/libpyside6\.cpython~/$(get_libdir)/libpyside6\.cpython~g" \
-e "s~/lib/libpyside6qml\.cpython~/$(get_libdir)/libpyside6qml\.cpython~g" \
-e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
local file
for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake
do
local base=${file##*/}
ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" ||
die
done
}
python_test() {
# figure out the build dir
local build_dir build_classifier
build_dir=$(ls -d "${BUILD_DIR}"/build/qfp-*/build/)
build_classifier="${build_dir##${BUILD_DIR}/build/qfp-}"
build_classifier="${build_dir%%/build}"
# Otherwise it picks the last built directory breaking assumption for multi target builds
mkdir -p build_history/9999-99-99_999999/ || die
cat <<- EOF > build_history/9999-99-99_999999/build_dir.txt || die
${build_dir}
${build_classifier}
EOF
virtx ${EPYTHON} testrunner.py test --projects=shiboken6 $(usev core '--projects=pyside6') ||
die "Tests failed with ${EPYTHON}"
}
pkg_preinst() {
# Avoid symlinks being blocked by directories
rm -rf "${EROOT}/usr/include/"{PySide6,shiboken6} || die
rm -rf "${EROOT}/usr/share/PySide6" || die
}

View file

@ -1 +0,0 @@
DIST qttools-everywhere-src-6.8.2.tar.xz 10297596 BLAKE2B b8dc80718246e5bc72ef5c76c176f0b4bf264d387d22c49c03695a218ce295a946fd2cf84bf45d6a11752875a681d9bde27a33f7f5cb148e9a3c53f167996de0 SHA512 ad448af0656640a712eefe81fc4291209dec27fe10d42dfb68c7c31e65003653fb3821996f44c50d8ab4371853a18cfc0b4032f7876ce6c75d0fb9b4fe91ca27

View file

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>qt@gentoo.org</email>
<name>Gentoo Qt Project</name>
</maintainer>
<use>
<flag name="assistant">Build Qt Assistant and the QtHelp module</flag>
<flag name="clang">Enable using libclang for code parsing (linguist/qdoc)</flag>
<flag name="designer">Build Qt Designer</flag>
<flag name="distancefieldgenerator">Build Qt Distance Field Generator</flag>
<flag name="linguist">Build Qt Linguist (GUI requires USE=widgets)</flag>
<flag name="pixeltool">Build Qt Pixeltool</flag>
<flag name="qdbus">Build the Qt D-Bus Interface (D-Bus Viewer requires USE=widgets)</flag>
<flag name="qdoc">Build Qt Documentation Generator</flag>
<flag name="qml">Build QML/QtQuick bindings and imports</flag>
<flag name="qmlls">Build the QtHelp plugin for the QML language server</flag>
<flag name="qtattributionsscanner">Build Qt Source Code Attribution Scanner</flag>
<flag name="qtdiag">Build Qt Diag</flag>
<flag name="qtplugininfo">Build Qt Plugin Info</flag>
<flag name="widgets">Enable QtWidgets support</flag>
</use>
<upstream>
<bugs-to>https://bugreports.qt.io/</bugs-to>
<doc>https://doc.qt.io/</doc>
<remote-id type="github">qt/qttools</remote-id>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View file

@ -1,157 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum
LLVM_OPTIONAL=1
# behaves very badly when qttools is not already installed, also
# other issues to handle (clang tests flaky depending on version,
# and 3rdparty/ tries to FetchContent gtest)
QT6_RESTRICT_TESTS=1
inherit desktop llvm-r2 optfeature qt6-build
DESCRIPTION="Qt Tools Collection"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
IUSE="
+assistant clang designer distancefieldgenerator gles2-only +linguist
opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
qtplugininfo vulkan +widgets zstd
"
# note that some tools do not *require* widgets but will skip a sub-tool
# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
REQUIRED_USE="
assistant? ( widgets )
clang? ( ${LLVM_REQUIRED_USE} )
designer? ( qml widgets )
distancefieldgenerator? ( qml widgets )
pixeltool? ( widgets )
qdoc? ( clang qml )
qmlls? ( assistant qml )
"
RDEPEND="
~dev-qt/qtbase-${PV}:6[widgets?]
assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] )
clang? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=
')
)
designer? (
~dev-qt/qtbase-${PV}:6[network,xml,zstd=]
zstd? ( app-arch/zstd:= )
)
qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] )
widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
"
DEPEND="
${RDEPEND}
qtdiag? (
vulkan? ( dev-util/vulkan-headers )
)
"
src_configure() {
use clang && llvm_chost_setup
local mycmakeargs=(
# prevent the clang test as it can abort due to bug #916098
$(cmake_use_find_package clang WrapLibClang)
$(cmake_use_find_package qml Qt6Qml)
$(cmake_use_find_package widgets Qt6Widgets)
$(qt_feature assistant)
$(qt_feature clang)
$(qt_feature designer)
$(qt_feature distancefieldgenerator)
$(qt_feature linguist)
$(qt_feature pixeltool)
$(qt_feature qdbus)
$(qt_feature qdoc)
$(qt_feature qtattributionsscanner)
$(qt_feature qtdiag)
$(qt_feature qtplugininfo)
# TODO?: package litehtml, but support for latest releases seem
# to lag behind and bundled may work out better for now
# https://github.com/litehtml/litehtml/issues/266
$(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
# USE=qmlls' help plugin may be temporary, upstream has plans to split
# QtHelp into another package so that qtdeclarative can depend on it
# without a circular dependency with qttools
$(cmake_use_find_package qmlls Qt6QmlLSPrivate)
)
qt6-build_src_configure
}
src_install() {
qt6-build_src_install
if use widgets; then #914766
use designer || use distancefieldgenerator || use pixeltool &&
newicon src/designer/src/designer/images/designer.png designer6.png
if use assistant; then
make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \
'Qt;Development;Documentation' \
'Comment=Tool for viewing online documentation in Qt help file format'
newicon src/assistant/assistant/images/assistant-128.png assistant6.png
fi
if use designer; then
make_desktop_entry designer6 'Qt 6 Designer' designer6 \
'Qt;Development;GUIDesigner' \
'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets'
fi
if use distancefieldgenerator; then
# no icon, sharing with designer which fits letter-wise
make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \
'Qt;Development' \
'Comment=Tool for pregenerating the font cache of Qt applications'
fi
if use linguist; then
make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
'Qt;Development;Translation' \
'Comment=Tool for translating Qt applications'
newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
fi
if use pixeltool; then
# no icon, not fitting but share with designer for now
make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \
'Qt;Development' \
'Comment=Tool for zooming in the desktop area pointed by the cursor'
fi
if use qdbus; then
make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \
'Qt;Development' \
'Comment=Tool that lets introspect D-Bus objects and messages'
newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
fi
# hack: make_destop_entry does not support overriding DESCRIPTION
find "${ED}" -type f -name "*.desktop" \
-exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
fi
}
pkg_postinst() {
use assistant &&
optfeature "Qt documentation viewable in assistant" \
'dev-qt/qt-docs:6[qch]' #602296
}

View file

@ -1,157 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum
LLVM_OPTIONAL=1
# behaves very badly when qttools is not already installed, also
# other issues to handle (clang tests flaky depending on version,
# and 3rdparty/ tries to FetchContent gtest)
QT6_RESTRICT_TESTS=1
inherit desktop llvm-r2 optfeature qt6-build
DESCRIPTION="Qt Tools Collection"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="
+assistant clang designer distancefieldgenerator gles2-only +linguist
opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
qtplugininfo vulkan +widgets zstd
"
# note that some tools do not *require* widgets but will skip a sub-tool
# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
REQUIRED_USE="
assistant? ( widgets )
clang? ( ${LLVM_REQUIRED_USE} )
designer? ( qml widgets )
distancefieldgenerator? ( qml widgets )
pixeltool? ( widgets )
qdoc? ( clang qml )
qmlls? ( assistant qml )
"
RDEPEND="
~dev-qt/qtbase-${PV}:6[widgets?]
assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] )
clang? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=
')
)
designer? (
~dev-qt/qtbase-${PV}:6[network,xml,zstd=]
zstd? ( app-arch/zstd:= )
)
qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] )
widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
"
DEPEND="
${RDEPEND}
qtdiag? (
vulkan? ( dev-util/vulkan-headers )
)
"
src_configure() {
use clang && llvm_chost_setup
local mycmakeargs=(
# prevent the clang test as it can abort due to bug #916098
$(cmake_use_find_package clang WrapLibClang)
$(cmake_use_find_package qml Qt6Qml)
$(cmake_use_find_package widgets Qt6Widgets)
$(qt_feature assistant)
$(qt_feature clang)
$(qt_feature designer)
$(qt_feature distancefieldgenerator)
$(qt_feature linguist)
$(qt_feature pixeltool)
$(qt_feature qdbus)
$(qt_feature qdoc)
$(qt_feature qtattributionsscanner)
$(qt_feature qtdiag)
$(qt_feature qtplugininfo)
# TODO?: package litehtml, but support for latest releases seem
# to lag behind and bundled may work out better for now
# https://github.com/litehtml/litehtml/issues/266
$(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
# USE=qmlls' help plugin may be temporary, upstream has plans to split
# QtHelp into another package so that qtdeclarative can depend on it
# without a circular dependency with qttools
$(cmake_use_find_package qmlls Qt6QmlLSPrivate)
)
qt6-build_src_configure
}
src_install() {
qt6-build_src_install
if use widgets; then #914766
use designer || use distancefieldgenerator || use pixeltool &&
newicon src/designer/src/designer/images/designer.png designer6.png
if use assistant; then
make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \
'Qt;Development;Documentation' \
'Comment=Tool for viewing online documentation in Qt help file format'
newicon src/assistant/assistant/images/assistant-128.png assistant6.png
fi
if use designer; then
make_desktop_entry designer6 'Qt 6 Designer' designer6 \
'Qt;Development;GUIDesigner' \
'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets'
fi
if use distancefieldgenerator; then
# no icon, sharing with designer which fits letter-wise
make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \
'Qt;Development' \
'Comment=Tool for pregenerating the font cache of Qt applications'
fi
if use linguist; then
make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
'Qt;Development;Translation' \
'Comment=Tool for translating Qt applications'
newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
fi
if use pixeltool; then
# no icon, not fitting but share with designer for now
make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \
'Qt;Development' \
'Comment=Tool for zooming in the desktop area pointed by the cursor'
fi
if use qdbus; then
make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \
'Qt;Development' \
'Comment=Tool that lets introspect D-Bus objects and messages'
newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
fi
# hack: make_destop_entry does not support overriding DESCRIPTION
find "${ED}" -type f -name "*.desktop" \
-exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
fi
}
pkg_postinst() {
use assistant &&
optfeature "Qt documentation viewable in assistant" \
'dev-qt/qt-docs:6[qch]' #602296
}

View file

@ -1,157 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum
LLVM_OPTIONAL=1
# behaves very badly when qttools is not already installed, also
# other issues to handle (clang tests flaky depending on version,
# and 3rdparty/ tries to FetchContent gtest)
QT6_RESTRICT_TESTS=1
inherit desktop llvm-r2 optfeature qt6-build
DESCRIPTION="Qt Tools Collection"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="
+assistant clang designer distancefieldgenerator gles2-only +linguist
opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
qtplugininfo vulkan +widgets zstd
"
# note that some tools do not *require* widgets but will skip a sub-tool
# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
REQUIRED_USE="
assistant? ( widgets )
clang? ( ${LLVM_REQUIRED_USE} )
designer? ( qml widgets )
distancefieldgenerator? ( qml widgets )
pixeltool? ( widgets )
qdoc? ( clang qml )
qmlls? ( assistant qml )
"
RDEPEND="
~dev-qt/qtbase-${PV}:6[widgets?]
assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] )
clang? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=
')
)
designer? (
~dev-qt/qtbase-${PV}:6[network,xml,zstd=]
zstd? ( app-arch/zstd:= )
)
qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] )
widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
"
DEPEND="
${RDEPEND}
qtdiag? (
vulkan? ( dev-util/vulkan-headers )
)
"
src_configure() {
use clang && llvm_chost_setup
local mycmakeargs=(
# prevent the clang test as it can abort due to bug #916098
$(cmake_use_find_package clang WrapLibClang)
$(cmake_use_find_package qml Qt6Qml)
$(cmake_use_find_package widgets Qt6Widgets)
$(qt_feature assistant)
$(qt_feature clang)
$(qt_feature designer)
$(qt_feature distancefieldgenerator)
$(qt_feature linguist)
$(qt_feature pixeltool)
$(qt_feature qdbus)
$(qt_feature qdoc)
$(qt_feature qtattributionsscanner)
$(qt_feature qtdiag)
$(qt_feature qtplugininfo)
# TODO?: package litehtml, but support for latest releases seem
# to lag behind and bundled may work out better for now
# https://github.com/litehtml/litehtml/issues/266
$(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
# USE=qmlls' help plugin may be temporary, upstream has plans to split
# QtHelp into another package so that qtdeclarative can depend on it
# without a circular dependency with qttools
$(cmake_use_find_package qmlls Qt6QmlLSPrivate)
)
qt6-build_src_configure
}
src_install() {
qt6-build_src_install
if use widgets; then #914766
use designer || use distancefieldgenerator || use pixeltool &&
newicon src/designer/src/designer/images/designer.png designer6.png
if use assistant; then
make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \
'Qt;Development;Documentation' \
'Comment=Tool for viewing online documentation in Qt help file format'
newicon src/assistant/assistant/images/assistant-128.png assistant6.png
fi
if use designer; then
make_desktop_entry designer6 'Qt 6 Designer' designer6 \
'Qt;Development;GUIDesigner' \
'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets'
fi
if use distancefieldgenerator; then
# no icon, sharing with designer which fits letter-wise
make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \
'Qt;Development' \
'Comment=Tool for pregenerating the font cache of Qt applications'
fi
if use linguist; then
make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
'Qt;Development;Translation' \
'Comment=Tool for translating Qt applications'
newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
fi
if use pixeltool; then
# no icon, not fitting but share with designer for now
make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \
'Qt;Development' \
'Comment=Tool for zooming in the desktop area pointed by the cursor'
fi
if use qdbus; then
make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \
'Qt;Development' \
'Comment=Tool that lets introspect D-Bus objects and messages'
newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
fi
# hack: make_destop_entry does not support overriding DESCRIPTION
find "${ED}" -type f -name "*.desktop" \
-exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
fi
}
pkg_postinst() {
use assistant &&
optfeature "Qt documentation viewable in assistant" \
'dev-qt/qt-docs:6[qch]' #602296
}

View file

@ -1,157 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 ) # see .cmake.conf for minimum
LLVM_OPTIONAL=1
# behaves very badly when qttools is not already installed, also
# other issues to handle (clang tests flaky depending on version,
# and 3rdparty/ tries to FetchContent gtest)
QT6_RESTRICT_TESTS=1
inherit desktop llvm-r2 optfeature qt6-build
DESCRIPTION="Qt Tools Collection"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="
+assistant clang designer distancefieldgenerator gles2-only +linguist
opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag
qtplugininfo vulkan +widgets zstd
"
# note that some tools do not *require* widgets but will skip a sub-tool
# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6)
REQUIRED_USE="
assistant? ( widgets )
clang? ( ${LLVM_REQUIRED_USE} )
designer? ( qml widgets )
distancefieldgenerator? ( qml widgets )
pixeltool? ( widgets )
qdoc? ( clang qml )
qmlls? ( assistant qml )
"
RDEPEND="
~dev-qt/qtbase-${PV}:6[widgets?]
assistant? ( ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] )
clang? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=
')
)
designer? (
~dev-qt/qtbase-${PV}:6[network,xml,zstd=]
zstd? ( app-arch/zstd:= )
)
qdbus? ( ~dev-qt/qtbase-${PV}:6[dbus,xml] )
qml? ( ~dev-qt/qtdeclarative-${PV}:6[widgets?] )
qmlls? ( ~dev-qt/qtdeclarative-${PV}:6[qmlls] )
qtdiag? ( ~dev-qt/qtbase-${PV}:6[network,gles2-only=,vulkan=] )
widgets? ( ~dev-qt/qtbase-${PV}:6[opengl=] )
"
DEPEND="
${RDEPEND}
qtdiag? (
vulkan? ( dev-util/vulkan-headers )
)
"
src_configure() {
use clang && llvm_chost_setup
local mycmakeargs=(
# prevent the clang test as it can abort due to bug #916098
$(cmake_use_find_package clang WrapLibClang)
$(cmake_use_find_package qml Qt6Qml)
$(cmake_use_find_package widgets Qt6Widgets)
$(qt_feature assistant)
$(qt_feature clang)
$(qt_feature designer)
$(qt_feature distancefieldgenerator)
$(qt_feature linguist)
$(qt_feature pixeltool)
$(qt_feature qdbus)
$(qt_feature qdoc)
$(qt_feature qtattributionsscanner)
$(qt_feature qtdiag)
$(qt_feature qtplugininfo)
# TODO?: package litehtml, but support for latest releases seem
# to lag behind and bundled may work out better for now
# https://github.com/litehtml/litehtml/issues/266
$(usev assistant -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=ON)
# USE=qmlls' help plugin may be temporary, upstream has plans to split
# QtHelp into another package so that qtdeclarative can depend on it
# without a circular dependency with qttools
$(cmake_use_find_package qmlls Qt6QmlLSPrivate)
)
qt6-build_src_configure
}
src_install() {
qt6-build_src_install
if use widgets; then #914766
use designer || use distancefieldgenerator || use pixeltool &&
newicon src/designer/src/designer/images/designer.png designer6.png
if use assistant; then
make_desktop_entry assistant6 'Qt 6 Assistant' assistant6 \
'Qt;Development;Documentation' \
'Comment=Tool for viewing online documentation in Qt help file format'
newicon src/assistant/assistant/images/assistant-128.png assistant6.png
fi
if use designer; then
make_desktop_entry designer6 'Qt 6 Designer' designer6 \
'Qt;Development;GUIDesigner' \
'Comment=WYSIWYG tool for designing and building graphical user interfaces with QtWidgets'
fi
if use distancefieldgenerator; then
# no icon, sharing with designer which fits letter-wise
make_desktop_entry qdistancefieldgenerator6 'Qt 6 Distance Field Generator' designer6 \
'Qt;Development' \
'Comment=Tool for pregenerating the font cache of Qt applications'
fi
if use linguist; then
make_desktop_entry linguist6 'Qt 6 Linguist' linguist6 \
'Qt;Development;Translation' \
'Comment=Tool for translating Qt applications'
newicon src/linguist/linguist/images/icons/linguist-128-32.png linguist6.png
fi
if use pixeltool; then
# no icon, not fitting but share with designer for now
make_desktop_entry pixeltool6 'Qt 6 Pixel Tool' designer6 \
'Qt;Development' \
'Comment=Tool for zooming in the desktop area pointed by the cursor'
fi
if use qdbus; then
make_desktop_entry qdbusviewer6 'Qt 6 QDBusViewer' qdbusviewer6 \
'Qt;Development' \
'Comment=Tool that lets introspect D-Bus objects and messages'
newicon src/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer6.png
fi
# hack: make_destop_entry does not support overriding DESCRIPTION
find "${ED}" -type f -name "*.desktop" \
-exec sed -i "/^Comment=${DESCRIPTION}/d" -- {} + || die
fi
}
pkg_postinst() {
use assistant &&
optfeature "Qt documentation viewable in assistant" \
'dev-qt/qt-docs:6[qch]' #602296
}

View file

@ -1,115 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic llvm-r1 meson python-any-r1
DESCRIPTION="Tool to extract code content from source files"
HOMEPAGE="https://github.com/SUSE/clang-extract"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git"
inherit git-r3
else
CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc"
SRC_URI="
https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz
"
S="${WORKDIR}"/${PN}-${CLANG_EXTRACT_COMMIT}
KEYWORDS="~amd64"
fi
LICENSE="UoI-NCSA"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/zstd:=
sys-libs/zlib
virtual/libelf
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
"
RDEPEND="${DEPEND}"
BDEPEND="
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
')
test? ( ${PYTHON_DEPS} )
"
PATCHES=(
"${FILESDIR}"/${PN}-meson.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
llvm-r1_pkg_setup
}
src_prepare() {
default
# There's no need to manually add --gcc-install-dir to Clang invocations;
# we already have this setup properly via our Clang config files in
# /etc/clang.
sed -i -e '/add_project_argument.*gcc-install-dir/d' meson.build || die
# Testsuite makes some (bad) assumptions about layout
BUILD_DIR="${S}"/build
}
src_configure() {
# Use whatever CC/CXX llvm-r1 found for us, as meson.build
# asserts on GCC being used.
export CC=clang
export CXX=clang++
export PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}"
# User flags may be expecting GCC
strip-unsupported-flags
meson_src_configure
}
src_test() {
# These hacks are inspired by dev-util/clazy.
#
# clang-extract wants to be installed in the directory of the clang binary,
# so it can find the llvm/clang via relative paths.
#
# Setup the directories and symlink the system include dir for that.
local -x LLVM_ROOT="$(get_llvm_prefix)"
local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}"
mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die
ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die
mkdir -p "${BUILD_DIR}${LLVM_ROOT}/bin" || die
ln -s "${BUILD_DIR}"/clang-extract "${BUILD_DIR}${LLVM_ROOT}/bin" || die
ln -s "${BUILD_DIR}"/ce-inline "${BUILD_DIR}${LLVM_ROOT}/bin" || die
# Wrap runtest.py so we always pass -bin-path.
#
# This is gnarly but we already have to make sure it uses the
# right Python, so it was quicker to just do the bash wrapper.
mv testsuite/lib/runtest.py{,.real} || die
cat <<-EOF > testsuite/lib/runtest.py || die
#!/bin/bash
export CLANG_NO_DEFAULT_CONFIG=1
${EPYTHON} "${S}"/testsuite/lib/runtest.py.real \
-bin-path "${BUILD_DIR}${LLVM_ROOT}/bin/" \
"\$@"
EOF
chmod +x testsuite/lib/runtest.py || die
local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}"
meson_src_test
}

View file

@ -1,115 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic llvm-r1 meson python-any-r1
DESCRIPTION="Tool to extract code content from source files"
HOMEPAGE="https://github.com/SUSE/clang-extract"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git"
inherit git-r3
else
CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc"
SRC_URI="
https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz
"
S="${WORKDIR}"/${PN}-${CLANG_EXTRACT_COMMIT}
KEYWORDS="~amd64"
fi
LICENSE="UoI-NCSA"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
app-arch/zstd:=
sys-libs/zlib
virtual/libelf
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
"
RDEPEND="${DEPEND}"
BDEPEND="
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
')
test? ( ${PYTHON_DEPS} )
"
PATCHES=(
"${FILESDIR}"/${PN}-meson.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
llvm-r1_pkg_setup
}
src_prepare() {
default
# There's no need to manually add --gcc-install-dir to Clang invocations;
# we already have this setup properly via our Clang config files in
# /etc/clang.
sed -i -e '/add_project_argument.*gcc-install-dir/d' meson.build || die
# Testsuite makes some (bad) assumptions about layout
BUILD_DIR="${S}"/build
}
src_configure() {
# Use whatever CC/CXX llvm-r1 found for us, as meson.build
# asserts on GCC being used.
export CC=clang
export CXX=clang++
export PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}"
# User flags may be expecting GCC
strip-unsupported-flags
meson_src_configure
}
src_test() {
# These hacks are inspired by dev-util/clazy.
#
# clang-extract wants to be installed in the directory of the clang binary,
# so it can find the llvm/clang via relative paths.
#
# Setup the directories and symlink the system include dir for that.
local -x LLVM_ROOT="$(get_llvm_prefix)"
local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}"
mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die
ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die
mkdir -p "${BUILD_DIR}${LLVM_ROOT}/bin" || die
ln -s "${BUILD_DIR}"/clang-extract "${BUILD_DIR}${LLVM_ROOT}/bin" || die
ln -s "${BUILD_DIR}"/ce-inline "${BUILD_DIR}${LLVM_ROOT}/bin" || die
# Wrap runtest.py so we always pass -bin-path.
#
# This is gnarly but we already have to make sure it uses the
# right Python, so it was quicker to just do the bash wrapper.
mv testsuite/lib/runtest.py{,.real} || die
cat <<-EOF > testsuite/lib/runtest.py || die
#!/bin/bash
export CLANG_NO_DEFAULT_CONFIG=1
${EPYTHON} "${S}"/testsuite/lib/runtest.py.real \
-bin-path "${BUILD_DIR}${LLVM_ROOT}/bin/" \
"\$@"
EOF
chmod +x testsuite/lib/runtest.py || die
local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}"
meson_src_test
}

View file

@ -1 +0,0 @@
DIST edi-0.8.0.tar.gz 1076134 BLAKE2B b422493a1786f6dd2865adfdc88d756e7ced7681d8ccfbb6d0befcf04b035435134b168752d47dc25f86b1ee59c659a23b04b392787f8863f772e90a5f6f55fb SHA512 88d4ff3f5a4c56c3de7392024022a505907b6d6a16854254f227e457157fd7abd35eff1916842c77fcd6b81d42ec2fa15deceee632bf67d22ab272f8e755215c

View file

@ -1,64 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit llvm meson xdg
DESCRIPTION="An EFL-based IDE"
HOMEPAGE="https://www.enlightenment.org/about-edi
https://phab.enlightenment.org/w/projects/edi/
https://github.com/Enlightenment/edi"
SRC_URI="https://github.com/Enlightenment/edi/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 GPL-3 LGPL-2.1-with-linking-exception"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="clang"
RDEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] )
>=dev-libs/efl-1.22.0[eet]
clang? (
dev-util/bear
llvm-core/clang:=
)"
DEPEND="${RDEPEND}
dev-libs/check"
BDEPEND="virtual/libintl
virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/edi-0.8.0-meson-0.61.1-fix.patch )
llvm_check_deps() {
has_version "llvm-core/clang:${LLVM_SLOT}"
}
pkg_setup() {
use clang && llvm_pkg_setup
}
src_prepare() {
default
# fix a QA issue with .desktop file, https://phab.enlightenment.org/T7368
sed -i '/Version=/d' data/desktop/edi.desktop* || die
# fix 'unexpected path' QA warning
sed -i 's|share/doc/edi/|share/doc/'${PF}'/|g' doc/meson.build || die
}
src_configure() {
local emesonargs=(
$(meson_use clang bear)
$(meson_use clang libclang)
)
if use clang; then
emesonargs+=(
-D libclang-headerdir="$(llvm-config --includedir)"
-D libclang-libdir="$(llvm-config --libdir)"
)
fi
meson_src_configure
}

View file

@ -1,66 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
inherit llvm-r2 meson xdg
DESCRIPTION="An EFL-based IDE"
HOMEPAGE="https://www.enlightenment.org/about-edi
https://phab.enlightenment.org/w/projects/edi/
https://github.com/Enlightenment/edi"
SRC_URI="https://github.com/Enlightenment/edi/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 GPL-3 LGPL-2.1-with-linking-exception"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="clang"
RDEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] )
>=dev-libs/efl-1.22.0[eet]
clang? (
dev-util/bear
$(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}=')
)"
DEPEND="${RDEPEND}
dev-libs/check"
BDEPEND="virtual/libintl
virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/edi-0.8.0-meson-0.61.1-fix.patch )
llvm_check_deps() {
has_version "llvm-core/clang:${LLVM_SLOT}"
}
pkg_setup() {
use clang && llvm-r2_pkg_setup
}
src_prepare() {
default
# fix a QA issue with .desktop file, https://phab.enlightenment.org/T7368
sed -i '/Version=/d' data/desktop/edi.desktop* || die
# fix 'unexpected path' QA warning
sed -i 's|share/doc/edi/|share/doc/'${PF}'/|g' doc/meson.build || die
}
src_configure() {
local emesonargs=(
$(meson_use clang bear)
$(meson_use clang libclang)
)
if use clang; then
emesonargs+=(
-D libclang-headerdir="$(llvm-config --includedir)"
-D libclang-libdir="$(llvm-config --libdir)"
)
fi
meson_src_configure
}

View file

@ -1,15 +0,0 @@
diff -Naur a/data/extra/templates/meson.build b/data/extra/templates/meson.build
--- a/data/extra/templates/meson.build 2020-04-29 16:40:58.000000000 +0300
+++ b/data/extra/templates/meson.build 2022-02-23 11:27:30.271380219 +0200
@@ -6,10 +6,9 @@
foreach skeleton_name : skeleton_names
custom_target('skeleton ' + skeleton_name,
- command : [tar, 'zcf', '@OUTPUT@', '-C',
+ command : [tar, 'zcf', '@OUTPUT@', '-C',
join_paths(meson.source_root(), 'data', 'extra', 'templates', 'skeletons'),
skeleton_name],
- input : join_paths('skeletons', skeleton_name),
output : skeleton_name + '.tar.gz',
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'templates'),
install : true,

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>juippis@gentoo.org</email>
<name>Joonas Niilola</name>
</maintainer>
<use>
<flag name="clang">
Provide integration with <pkg>llvm-core/clang</pkg> and
<pkg>dev-util/bear</pkg> for autocompletion, inline errors and
information about compilation units.
</flag>
</use>
</pkgmetadata>

View file

@ -1,5 +0,0 @@
DIST radare2-5.8.6-capstone-4.0.2.tar.gz 3439542 BLAKE2B 435729a8fef2dce6495635352101b3befe563c8404efdbb0dccabecbe2bded332221665bacdbcd9043dda72b652b6f29c0e1a548cefb8c64d5b6b9dc174ed3d9 SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e
DIST radare2-5.8.6-vector35-arm64.tar.gz 1021315 BLAKE2B 8741de83cddda878536627c0ff6be1f7d4842cf0fefeae2895fe751e39768134f6048167d5aa265169bc22b229a8b66ce37f4ef4df3abc2b3e304dc1f1fe17d1 SHA512 9b0fcf9119304e90b3fbed5e0509a819a0a561953681f5e5f408b55db3b0c962dca59c48553cffef21a56772db7871a3987f0f7c07b5538fd4b7d1af005ccdb0
DIST radare2-5.8.6-vector35-armv7.tar.gz 255278 BLAKE2B 8b5191c48fad2e7602dc2f7053f9c9ea8cca8e9bc5d68a0cdb7ccff9ecc65c5d1ff6a434e28488dbd6fb71fc7482fce08a0a69c358e5c3d6c017ac1e4cee3b21 SHA512 40c048b29856f48300d4539bc7bda38e6ceae1e8d4d9d131c4a7546b6e26b2fb96309c483b67e2c2290b06cea5fc52a7beb30557d54e89296e7734cc1ab06d10
DIST radare2-5.8.6.tar.gz 11119704 BLAKE2B da53500982894a84de0a60640622b6498d3a6cc5236d7141cbd400b76448dc53535c74eef620e13531965c855124065a7f8ccfc3d8622c4e366100dc777e5274 SHA512 cd53ed7519d485253182d8d7d414b8d0927e65dd4d0c9716d0d8819e739c8e5e39deb702d93cb5a2a9425804d9798e6eb0acb58a4b904e25a9ba4fcad2315f47
DIST radare2-testbins-1f0ea409f2af83fc4d0b685855de9d3b0f9eee41.tar.gz 125596301 BLAKE2B 55b876b09150e780359e753d26143640d410c1c15ace2e29bc06d2163657af2089c5044847f107e20256875c7ea5e7cc72460010df0c662c9da933a0388a3f0e SHA512 44662f0217871a51b856f66e876eb57b2006f6350e6bcfae6629b800197b6f30196caf2474d52881a398fd1d65c68364d870b7de692c9e9a2bd1fab493afe3d0

View file

@ -1,21 +0,0 @@
Need to unbundle capstone due to broken capstone-5 compatibility:
https://github.com/radareorg/radare2/issues/21204
https://bugs.gentoo.org/891805
diff --git a/shlr/Makefile b/shlr/Makefile
index 5626a061ff..5e8af3b99b 100644
--- a/shlr/Makefile
+++ b/shlr/Makefile
@@ -225,10 +225,7 @@ capstone-sync: capstone
capstone-clean:
-$(MAKE) -C capstone clean
-capstone: capstone-$(CS_VER).tar.gz
- tar xzvf capstone-$(CS_VER).tar.gz
- rm -rf capstone
- mv capstone-$(CS_VER) capstone
+capstone:
$(MAKE) patch-capstone
# already implemented in capstone.sh

View file

@ -1,24 +0,0 @@
diff --git a/libr/arch/p/arm/v35/Makefile b/libr/arch/p/arm/v35/Makefile
index a7a40ddb97..1ef40746ac 100644
--- a/libr/arch/p/arm/v35/Makefile
+++ b/libr/arch/p/arm/v35/Makefile
@@ -30,8 +30,7 @@ $(ALIBS): arch-arm64 arch-armv7
## ARM64
arch-arm64:
- git clone -q https://github.com/radareorg/vector35-arch-arm64 arch-arm64
- cd arch-arm64 && git checkout -q radare2-wip > /dev/null && git reset --hard $(ARCH_ARM64_COMMIT)
+ cd arch-arm64
$(V35ARM64_HOME)/arm64dis.a arm64dis.a: $(ALIBS)
rm -f arm64dis.$(EXT_AR)
@@ -40,8 +39,7 @@ $(V35ARM64_HOME)/arm64dis.a arm64dis.a: $(ALIBS)
## ARMV7
arch-armv7:
- git clone -q https://github.com/radareorg/vector35-arch-armv7 arch-armv7
- cd arch-armv7 && git checkout -q radare2 > /dev/null && git reset --hard $(ARCH_ARMV7_COMMIT)
+ cd arch-armv7
$(V35ARMV7_HOME)/armv7dis.a armv7dis.a: $(ALIBS)
rm -f armv7dis.$(EXT_AR)

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>davidroman96@gmail.com</email>
<name>David Roman</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">radareorg/radare2</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,128 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 toolchain-funcs
DESCRIPTION="unix-like reverse engineering framework and commandline tools"
HOMEPAGE="https://www.radare.org"
RADARE2_COMMIT=4ee3727c0540988ae73359beebe02b6871eb05c0
ARM64_COMMIT=c9e7242972837ac11fc94db05fabcb801a8269c9
ARMV7_COMMIT=f270a6cc99644cb8e76055b6fa632b25abd26024
BINS_COMMIT=1f0ea409f2af83fc4d0b685855de9d3b0f9eee41
CAPSTONE_VER=4.0.2
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/radareorg/radare2"
else
SRC_URI="
mirror+https://github.com/radareorg/radare2/archive/${RADARE2_COMMIT}.tar.gz -> ${P}.tar.gz
mirror+https://github.com/radareorg/vector35-arch-arm64/archive/${ARM64_COMMIT}.tar.gz -> ${P}-vector35-arm64.tar.gz
mirror+https://github.com/radareorg/vector35-arch-armv7/archive/${ARMV7_COMMIT}.tar.gz -> ${P}-vector35-armv7.tar.gz
mirror+https://codeload.github.com/capstone-engine/capstone/tar.gz/${CAPSTONE_VER} -> ${P}-capstone-${CAPSTONE_VER}.tar.gz
test? ( https://github.com/radareorg/radare2-testbins/archive/${BINS_COMMIT}.tar.gz -> radare2-testbins-${BINS_COMMIT}.tar.gz )
"
# mirror+https://github.com/radareorg/radare2/archive/${PV}.tar.xz -> ${P}.tar.xz
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="ssl test"
# Need to audit licenses of the binaries used for testing
RESTRICT="!test? ( test )" # fetch
RDEPEND="
dev-libs/libzip:=
dev-libs/xxhash
sys-apps/file
sys-libs/zlib
ssl? ( dev-libs/openssl:0= )
"
DEPEND="
${RDEPEND}
dev-util/gperf
"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${PN}-5.8.2-vector35.patch"
# Maybe temporary, https://bugs.gentoo.org/891805
"${FILESDIR}/${PN}-5.8.2-bundled-capstone.patch"
)
src_prepare() {
default
mv "${WORKDIR}/capstone-${CAPSTONE_VER}" shlr/capstone || die
# Hack for vector35 arm plugins
mv "${WORKDIR}/vector35-arch-arm64-${ARM64_COMMIT}" libr/arch/p/arm/v35/arch-arm64 || die
mv "${WORKDIR}/vector35-arch-armv7-${ARMV7_COMMIT}" libr/arch/p/arm/v35/arch-armv7 || die
if use test; then
cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}/test/bins" || die
cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}" || die
fi
# Fix hardcoded docdir for fortunes
sed -i -e "/^#define R2_FORTUNES/s/radare2/$PF/" \
libr/include/r_userconf.h.acr || die
}
src_configure() {
# Ideally these should be set by ./configure
tc-export CC AR LD OBJCOPY RANLIB
export HOST_CC=${CC}
econf \
--without-libuv \
--with-sysmagic \
--with-sysxxhash \
--with-syszip \
$(use_with ssl openssl)
}
src_test() {
ln -fs "${S}/binr/radare2/radare2" "${S}/binr/radare2/r2" || die
LDFLAGS=""
for i in "${S}"/libr/*; do
if [[ -d ${i} ]]; then
LDFLAGS+="-R${i} -L${i} "
LD_LIBRARY_PATH+=":${i}"
fi
done
export LDFLAGS LD_LIBRARY_PATH
export PKG_CONFIG_PATH="${S}/pkgcfg"
PATH="${S}/binr/radare2:${PATH}" emake -C test -k unit-tests || die
}
src_install() {
default
insinto /usr/share/zsh/site-functions
doins doc/zsh/_*
newbashcomp doc/bash_autocompletion.sh "${PN}"
bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2
# a workaround for unstable $(INSTALL) call, bug #574866
local d
for d in doc/*; do
if [[ -d ${d} ]]; then
rm -rfv "${d}" || die "failed to delete '${d}'"
fi
done
# These are not really docs. radare assumes
# uncompressed files: bug #761250
docompress -x /usr/share/doc/${PF}/fortunes.{creepy,fun,nsfw,tips}
# Create plugins directory although it's currently unsupported by radare2
keepdir "/usr/$(get_libdir)/radare2/${PV}" || die
}

188
ebuild-repo-tools.py Executable file
View file

@ -0,0 +1,188 @@
#!/usr/bin/env python3
import os
import re
import subprocess
import sys
from pathlib import Path
from portage.versions import vercmp
def get_ebuilds(repo_path):
"""Find all ebuild files in the repository."""
ebuild_files = list(Path(repo_path).glob('*/*/*.ebuild'))
packages = {}
for ebuild in ebuild_files:
category = ebuild.parent.parent.name
package_name = ebuild.parent.name
version = ebuild.name.replace(f"{package_name}-", "").replace(".ebuild", "")
if (category, package_name) not in packages:
packages[(category, package_name)] = []
packages[(category, package_name)].append((version, ebuild))
return packages
def get_upstream_info(category, package_name, repo_path):
"""Get upstream location and available versions from equery meta output."""
try:
result = subprocess.run(
['equery', 'meta', f"{category}/{package_name}"],
capture_output=True,
text=True,
check=True
)
location = None
versions = []
repo_name = None
for line in result.stdout.split('\n'):
if line.startswith('Location:'):
location = line.split(':', 1)[1].strip()
elif line.startswith('Keywords:'):
# Format: "Keywords: 3.0.67-r1:0:"
parts = line.split()
if len(parts) >= 2:
version_part = parts[1] # "3.0.67-r1:0:"
version = version_part.split(':')[0]
versions.append(version)
# Extract repository name from location path
if location:
# Location format: /var/db/repos/gentoo/sys-apps/portage
# or /var/db/repos/local/dev-util/intel_clc
path_parts = location.split('/')
if len(path_parts) >= 5 and path_parts[3] == 'repos':
repo_name = path_parts[4] # gentoo, local, etc.
# Check if this package exists in the main Gentoo repository
# or if it's only in our overlay
repo_path_abs = Path(repo_path).resolve()
location_path = Path(location) if location else None
# Package is only in our overlay if the location is within our repo
is_only_in_overlay = (location_path and
(repo_path_abs in location_path.parents or
location_path.parent.parent == repo_path_abs))
return location, versions, repo_name, is_only_in_overlay
except subprocess.CalledProcessError:
return None, [], None, False # Package might not exist upstream
except FileNotFoundError:
print("Error: equery command not found. Please install app-portage/gentoolkit.", file=sys.stderr)
sys.exit(1)
def is_version_obsolete(ebuild_version, upstream_versions, repo_path, upstream_location, is_only_in_overlay):
"""Check if ebuild version is obsolete compared to upstream versions."""
# If package only exists in our overlay, it can't be obsolete
if is_only_in_overlay:
return False
if not upstream_versions or not upstream_location:
return False
# Check if upstream location is outside our repo
upstream_path = Path(upstream_location)
repo_path_abs = Path(repo_path).resolve()
# If upstream is in our repo, skip comparison
try:
if repo_path_abs in upstream_path.parents or upstream_path == repo_path_abs:
return False
except:
pass # If path comparison fails, continue with version check
# Find the highest upstream version
if not upstream_versions:
return False
highest_upstream = upstream_versions[0]
for version in upstream_versions[1:]:
try:
if vercmp(version, highest_upstream) > 0:
highest_upstream = version
except:
continue # Skip versions that can't be compared
# Compare our version with the highest upstream
try:
return vercmp(ebuild_version, highest_upstream) < 0
except:
return False
def list_obsolete(repo_path=Path('.')):
"""Main function to list obsolete packages."""
repo_path_abs = Path(repo_path).resolve()
packages = get_ebuilds(repo_path_abs)
obsolete_packages = {}
for (category, package_name), ebuilds in packages.items():
upstream_location, upstream_versions, repo_name, is_only_in_overlay = get_upstream_info(
category, package_name, repo_path_abs
)
# Skip packages that only exist in our overlay
if is_only_in_overlay:
continue
# Skip if no upstream info or no versions found
if not upstream_location or not upstream_versions:
continue
obsolete_ebuilds = []
all_obsolete = True
for version, ebuild_path in ebuilds:
if is_version_obsolete(version, upstream_versions, repo_path_abs,
upstream_location, is_only_in_overlay):
obsolete_ebuilds.append(ebuild_path)
else:
all_obsolete = False
if obsolete_ebuilds:
if all_obsolete:
obsolete_packages[(category, package_name)] = ebuilds[0][1].parent
else:
obsolete_packages[(category, package_name)] = obsolete_ebuilds
return obsolete_packages
def main():
if len(sys.argv) < 3 or sys.argv[1] != 'list' or sys.argv[2] != 'obsolete':
print("Usage: ebuild-repo-tools.py list obsolete [REPO_PATH]")
print(" REPO_PATH: Path to the overlay repository (default: current directory)")
sys.exit(1)
repo_path = Path(sys.argv[3] if len(sys.argv) > 3 else '.')
if not os.path.exists(repo_path):
print(f"Error: Repository path '{repo_path}' does not exist.", file=sys.stderr)
sys.exit(1)
try:
obsolete = list_obsolete(repo_path)
if not obsolete:
print("No obsolete packages found.")
return
repo_path = repo_path.absolute()
for (category, package_name), paths in obsolete.items():
if isinstance(paths, Path): # Directory (all ebuilds obsolete)
print(paths.relative_to(repo_path))
else: # List of ebuild paths
for path in paths:
print(path)
except KeyboardInterrupt:
print("\nOperation cancelled by user.", file=sys.stderr)
sys.exit(1)
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
sys.exit(1)
if __name__ == '__main__':
main()

View file

@ -1,239 +0,0 @@
DIST addr2line-0.21.0.crate 40807 BLAKE2B 9796b9a1177a299797902b7f64247d81d63d3f7e0dcc1256990628e84c5f92e3094ee8d753d9b72187b9aaa73b7ca67c0217899f2226ebd1076f8d25b458475b SHA512 afde7660dda30dee240e79df1fb5b92d4572520bf17a134ef3765e2a077af9e13713952d52e27fae420109b40f6e24dbce1056687dbcbead858ffc21cc7dc69b
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
DIST advapi32-sys-0.2.0.crate 7217 BLAKE2B ef3328a3405f51afe01b4bf0dec00def432a23935fb1d26a4c577b7f4716f1018ae44ba3d738275406512cc7085fb8be9f3795a56e84349acd2af64165ddef84 SHA512 8e6bc75fcb2b91d2b8fe281d165aa8281c8ecca9ba09552f5e4cdbadc03b91db5a98789233c4dc858ee9cf8a3488f28af5a742dac50b44f6397fd14478b77618
DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
DIST anstream-0.6.14.crate 29160 BLAKE2B 1120895a51ed7a285c5d5a03d2f7e26dc956d95f39cf500ba9f547d71a62ed0326f519860ddcf8db77cb09e9119e914a62693369eca51cbf9c01ef874ade9112 SHA512 65ece20958e3fb1ed4a5ff1d45f5bfdcb942c64994a3d14eefb0dfd5b04f433f6e1b06ebff240c67ed8ff7cc01d93ca0acf8c8ea29cb41309c6c882e7c192b34
DIST anstyle-1.0.7.crate 15709 BLAKE2B 872e0ed09e7e94c6f6b812349e39f949aff4d7cbb87744ab26fe49f57a7d330e0f79447213374f7f862ea276aab2dd1077dc8df3f7c5f34079ef30c4d17eeeba SHA512 e20d49f7d148e03f7b127be7802e0b6b7a2b05720614d46c2ade5e440ce322b44ddd3a9239b897886faa03ed1cb30f947ee27d3811fa83dffba10b3975eba7ed
DIST anstyle-parse-0.2.4.crate 23069 BLAKE2B e80bd81e351326a222238b3f559020a2430ac37293e61b6b6309b37bbb8bdb78ec11ca9c0fd270098af5e5ffb2f5660cfbfda949d20fd2efd336ed1c143215b2 SHA512 c1dac475df77d090a4d2041ba40ff418abe66e93e4ddda54653bf024fb4995e431166684343509a2337bc813fe06f362d3df8a1d7d05d177cec1a488bcb9942a
DIST anstyle-query-1.0.3.crate 9742 BLAKE2B cfcba0a2773f07b9292279afd70832c5d4eb441ed61bcacdbeeda9184c63b7e01af70a8744d6efceb7f74a2c2dfa5672b873255cc1d273bd6a2d3d7ee08c2d2b SHA512 38637f49e547836a4958d9f528cb270abfc81c5ca644d6d43b0f3aaef8c6f1301a8bc30a23afec5e71722c3afe7eb0f48f9fdea88b73e36f597b74531da84226
DIST anstyle-wincon-3.0.3.crate 12179 BLAKE2B 37793975a05ad60bb2b670c208db11c5cda8a2a456242cd118748709d0a220b541b6f088676eccd19870cfb8f910d4aa1e7764393785a6db0531af4a3ffc8047 SHA512 55217c65fc9ec674e5b4dd70716a221bd108b507dce9baaeb542f0e0a47027ec7fe61f9cd3cccfda43e4a4cd785b42f13400daf89884c32d3768e48bdff2d179
DIST anyhow-1.0.83.crate 45650 BLAKE2B 522121300f10688756aac1c39e83e867e20b9f142fdc1bb87732d8a64f6bf67411f1e35542fae7aa036d9221412a29b47acc75de8a2bb019bab90fece55e2c86 SHA512 4e4b29fd0a97ac55269d23efa399a372ef6128e1909ce464f178ae91fc61dc90a5867cd2a7218205f53988aea8cff6649302f7f6f12e07d1b5d3472d4c5eaaf3
DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST backtrace-0.3.71.crate 86553 BLAKE2B 15ed93574fb9e8e28d5ad901bb1f94013b5fec7a79aa96d17f13f6f11a02d29a274ec14ce51a9f515574839aa41232e5aaf6e6fa3ad9c0483591055bd0a78c8a SHA512 5d9307757349e860fb4cab7e9ba1c9d0f1faf49ebcd935ba879b85fed2a9812786c7458abb59a742842a0796fc29ce9921cf575792402486ecdbd9a2568cdd89
DIST benchmarking-0.4.13.crate 5318 BLAKE2B 81e4246d151ad021ffa21f593b2037248625661aa577fbb70d03ecc24d6b5de7b17412a185bd316e201481e669fe89fa5922bbb9f470eac7478c722d676b82a0 SHA512 e39fcfb224f5ac2a8890134d5d5df0d9196d03bcd65dd3946259b24424d49749dd3b3a6f3b97961fdebc3255c5bc234ede40001401a0b882090bb72f2e7de4c1
DIST bindgen-0.65.1.crate 213479 BLAKE2B 91f143d6d3ca37990ff01a9f11ba43fc7808210f47143419abd2de1d4b38a4855a806476b5607aa140de77b83db1649e318f6f904338c621cb300a53a00b1b01 SHA512 f3fab122b02abe8eca4438edb220eae0066a43f6ff4459aedca6c6261e769bdbdd6c820e5b29ddbc5b5cdf8ec0bdac1a4bc374fae2772117958e7c40bc22e8f2
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
DIST block-0.1.6.crate 4077 BLAKE2B a2c11873b8cb1a1ea399ecc99ed45e5d0b9399bd88435cdea346910b8707b7da94eeef522dafa5cdb09929534472b2a096c03c373744a789962d4175fd1b110e SHA512 c278e3c0346cae423b533a8f5d6b822e788ec450c92ef0f5f559d5705764a0a11df49f0f66bb1c8af7e89bec8ec802934676b969e43f92255a38b210d0fbd710
DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
DIST btoi-0.4.3.crate 10007 BLAKE2B 60a4c0511afc23ec3bdd07a905e82b501f1000081e6dbfca9ee6a0d6aad40ade84ab09d740fbc8e9656653a7f5a9a12a68ffa732618e8dc87f9cf00a90b6d3cd SHA512 35d54183a37c8adb11838724a061b38d286a92603a557ee8b4b80dd230649a0ceb165fcab4b6e41402284f2153e18fad5c246f83d99accb2fdaa8f32f854bd22
DIST built-0.7.2.crate 21148 BLAKE2B a045171fcfdc3e58cba332ea21a0e814922ca8895d1f02033d2ed45d18685c0df06a5df9269523c7f75c4772365066d486ea0a507f9991459e0c1984c56d9ae4 SHA512 840a59423475baeff4e1c626a2117b75859f25d50de83bf7f36efd790842dc713bd7bbbf7b650f63e4442c0d8d4e5ccec08c2273d09c213d48f5ac45643ef0af
DIST bytefmt-0.1.7.crate 3814 BLAKE2B cc6f985d93ea5d4b92dccb5bc02cb1d2a30dcc869b569eff7b8dcf4c45977faf31a9b3393d8b30d79f7c81cab03a9de8167ac283b79fb15a696b395dae8d17d8 SHA512 807d84c6366cbebd6624749be101bc29e65b58d6148dfc66304c1c1876708ca3bae8ad8657401f87829cf146fd999efca0b6785b9a276441e4b9a5d43656b4b7
DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555
DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b
DIST cc-1.0.97.crate 76951 BLAKE2B ec2e65797dfe13223b64f28bf6d143e00362f8bdd14e4df3d16ec2c5b68b8c603968f8cf6e7ede95b527ef16a748775bf247e8bf11010a326bbac4b296d72eb5 SHA512 119d1769530ec2fcc643b9b4a0f2a45db6f0772e4df882b832f961824bbb41d101d4a507573b4e05b4627d647fa823e81bc66dafdde40146878616af96b24143
DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST cfg_aliases-0.1.1.crate 6009 BLAKE2B 6acfae9a89d3479f7ce1f0b5dbb13bfe27c006b936a96685606a61a06f69d17ab754a8a0d96c54213f758281c2fb32ac74d03a34e0f836dc7e438387955aac37 SHA512 238828445c5b48ca41ff88825af0a1ad30494e423bb6f89b6d5e4d26042afaa1ceb0e32041f7cddd79c3e15c6c82a1ddb9469c4b63a1ac52d4bcc1174900f880
DIST circular-0.3.0.crate 4571 BLAKE2B 4e40382b5d7df5162993e307c55981c72de69689927c257a40e6f85510c398c897e0f99962e52d466f0d6dcf869ea181cd24ebe459d4a6a32edbe08997f00fd1 SHA512 531ecc0f996188d3479c36c808f66f85e9d9a9ab462ed56a2f957b99c49176e7209067eda679e8497c2fae9421e36447ea4e770905781204172f0d8492a5b22b
DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81
DIST clap-4.5.4.crate 55401 BLAKE2B e9ece2eee6be16c366888f6140080c43a182aa758a971ab2f60fa5c8f5e00460c3e6ae6bface1f36445306265ce13d8145ac24cef833b68b2b2c32c13a7a4a00 SHA512 c1e88968a86598a6541cd8f8144909872fe71fc707dc5327293a71425f6ff9d4957491f93c36326a9f615c1cce1a453cc85740ff18e1ca571e91bf8f7a6ad7c0
DIST clap_builder-4.5.2.crate 163566 BLAKE2B 5eb81df416f3da0bb7e53c59ef4e914f03e2bb0563bb3707fbf70215f249aa523e3f5ef2205d0a8e25c23db6c6d0d344181c1c771566453505c769c55b355374 SHA512 af7eb8326a980cf461442a4dd6d224e61ae31a2fe4a45b34210a2c1f747eed49e00b6254699e82f986f441667f290a5de747b5e9d9d0360ed049504343385864
DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036
DIST colorchoice-1.0.1.crate 7895 BLAKE2B f1c841e74f01f33fa83cf41c5f0a1286ca3899239d9a188a838550abde507af374a4fe3e85934d10d28bd5eae2c7fa1f662307bd46d5dd4daa52249cb64ebb5b SHA512 3d216ba46cfcca5c52a56884ed09fe7d6d350ccb44144a60c75006582f7f9a28df21d44375a8cb304c721b9de615875675b3a03c485eb209b2a12d745fa609cd
DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6
DIST crc32fast-1.4.0.crate 38665 BLAKE2B 77398dedfa5e61357fb9abe3415ee53e45d3f1f7aaee959cbc9774f31a10ed324da2a558d20fd7c0674d450c8985b1e9c78b0b65e6ae2d9da6c873fe631c5ce7 SHA512 3e0bf1d2411ad9c651e0242c574cfda09403db24ab4b55560145ee73b31b08be45e5e12ce2db991d165ff056c7f2f67203fb2c048651f1c66ce90ec3276c455e
DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994
DIST crossbeam-channel-0.5.12.crate 90515 BLAKE2B 5a302e58411d99d52630cd154f4f642ec925af3330ced9456a16e417e2e43a37dc2b2288ccc88137a75e682e7b10ab2979f1f90c0bd42ceca8fa84c700b7dd0d SHA512 e17b0e41901b2b41e89913a0a50cd1eaacbf64cd07f454605a85781b8b1373c35bedd16ccf6b24029404a3171e0d670fc2b1474a6448d0feb40ba0e41f99019c
DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe
DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
DIST ctrlc-3.4.4.crate 14660 BLAKE2B fe7c2ca8352dbe40e60ad2c63654beafd9ad3f62483b23b3c614a22dacc8ce0edd2b94e9ec3a2472c581f6a1b8befe0952df092b4c7d34ad92414190e285e51b SHA512 c09c5bb87e4116e4f2604023d9a94afb9985678a4d02aac17baf5b5d13d0ac7321e07dd7b20ed620af9670926acdb6b78be37a56c8be171c21975d34ebf0196c
DIST dialoguer-0.11.0.crate 31286 BLAKE2B 612c7b9de482b48df6404ce31b3d9a8afbd1c8c42807f2c3bc343bd3aa16c359abc95bc879304f29c6861c93101833bf5da036eb0fe85f21be50fdc3a771f447 SHA512 7124e9943dd4fd4403200357b7d26683e7ea709ad9b0251af5d6db4dc8da2a476c6b89e7413df3a90e4279498bd54b67d8d0b161b0e5ae8ebd0bb5b5276cd612
DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
DIST dirs-next-2.0.0.crate 11689 BLAKE2B f5022bc51dd50bad4ad0fd05b159a4117aca47afbea66dc42c8306ca58f3a550165afbcf9f5f721ef5ad8d357eaff305c6f6e42789354a910d5f1d05d3b7b7c6 SHA512 6ccb732da8ccf7bf35952c22a3b0caa8238319feb0a6cd3b0957e6be12548a2ce507c69cb6d3cbd2adfb37e13e6521c6229da5999edb0e47a292a41c3ea1a766
DIST dirs-sys-next-0.1.2.crate 10681 BLAKE2B 71431533dbfd6016cc309c14a842ac8d43577abe768e69bd2caaf7d19d743f3ca95b9b0be1747077282089c64485f3d4e24bec8e56d4d883f25e494d328fbf3a SHA512 b3c40a8e93d4f9f4a890718076e14779aedd67a79da61b466788268c1eaea19aa493f043a7e410f5023a23d5509e639a6fc6681fbee30e252a601091cfffa2d5
DIST displaydoc-0.2.4.crate 23200 BLAKE2B 91b0ae7018109d407095060b6bbd6aed1cc21120bc30348e8b16b5121f7c35ab72b65e80bf97dbea6cb4ee6b4d5215e8e5c4374f92a569697bc9c862348620cd SHA512 a1de2c200584bfac640f8b84b5103d8687919cd29f59a14898e98d480f476a8e4dc06e3b929af479d536cd02186e2a9be72e6414338bc117b97bc0d160029592
DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff
DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
DIST encode_unicode-1.0.0.crate 56986 BLAKE2B 76e8915408c26bdc909e9ff2d59a1655344dcb4ca0e6accaf038434b7518f1b86554954fda8c7874285924c7d16cc81f62e68afcb8b0efc639407b558df1470b SHA512 c9a21d48ba9d50750789cb6fbe32afd903c583c9ef05a9741007dcdf64b1344735f71dd882ad71ab9e5f96f8839578ca53bca14d13d57b9e27b8cce2cd507359
DIST encoding-0.2.33.crate 88798 BLAKE2B 4163e26e6f38f7fc1d7424f1135fec1dddd2af3d6dd5f5bc6a5edc3eb3fd56af56858cc0fa5ed6a241b55882807f72f2e5d2940c9a7e5c4c6700ef905727044a SHA512 10c186e0f6ffcffeacb11a66fa39960454955b4827dba03e13d9ab5294bf14e77faa8e64956d5c3756fbb7e930081b7b301db8ad6873a6e8d44a7f9d98566e4e
DIST encoding-index-japanese-1.20141219.5.crate 91495 BLAKE2B 4deb91b0b2dd1b33bc4b43ac2ec31df0552344b1177c9e504481d62a706b1c187eb3f4e8dd78c62871aa58c86ab6e309494b1b7937843de6056f3d1a0120160c SHA512 879fa0b9a294f3a73a4b224318ce5e44bc1ad0496763a518cb9ee251a4cadeb08885df97eb72f27a1e331f36d46a96824f98b7d128d879c0639405a10e08b8e2
DIST encoding-index-korean-1.20141219.5.crate 103230 BLAKE2B f3acdd4375ddda1f6b3c070566f1a52dbbbe2384bc6be79150e4e55b88740858791d66f95040ad9f637bf13e381b9f316b14bb5617a8949bab4040b91d0d18bd SHA512 0e79eb9b01fe0354532dc7a8ca55e6332add19827905340560ef9b0e4725becda68ffedd5d18b9ac9d0c4a1b64fb337a9a31de5891b9e6469478fc974e5f9884
DIST encoding-index-simpchinese-1.20141219.5.crate 130962 BLAKE2B 3c1e498c170edaf2a954439e50b3ccc31560806063a11610c4563975810a65c64e547168674ef778beb1d1d603cd508145f3153a03748d5e8c7e79690af6e3bd SHA512 caffc2a9b77545c2cc22bfcb38c886fba21e765ef49a3cfcfff88ebd76064432638bb432cd57a7ecd23bf2ea074c400c1f043a0589e5aa28024ed3ae0f59be75
DIST encoding-index-singlebyte-1.20141219.5.crate 14950 BLAKE2B 89faf849452f0fe78b82616614f43bffaf658dd81063ae5d130ad6eb64d38e0ee8a26ab078f8c992f0c7f3e1db768e73920482f5e3bd56b0d7370c72fc93755f SHA512 648a5b9dcbdd40184b6026f6d0593df3b75c5eed554c19a199810c99aba857fccbab2acbf5b047ff42a75a6a3f6e8211a07e70e6fa4048f07144f9132af7d17a
DIST encoding-index-tradchinese-1.20141219.5.crate 120862 BLAKE2B 727a26b32f2bdec20dfeda482fad4235ca3ded489a002c27d0c26cbb9f37ea81f93f7e46ee4750dfcd7385dfc8bc55669a0a21b3acdba2a1fe91b855edd2decb SHA512 3b23213433947af7c56e9ea3e4eaf937b8083ce7e9e481b1351925a6da647be6a037b505116bab08ce73727bec75550bccb877ead6cb7fb0473bb3bd3d40833d
DIST encoding_index_tests-0.1.4.crate 1631 BLAKE2B 65151672aaa863b169b6139c8e68065ecd6ab602e8fbf8b0f68a5e2af3f34858d363e5f0602f58e4ad3169ddea83d02a0f19a6d635584521397bee63587c9fd9 SHA512 0635e6a879d59aa3373e1c0cae6f61b9bd11138691a1113f3639a1d16ba894c1554f29a6d347353f02395508be4da8a4b16b17db3339cf970a62267874fe93a6
DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
DIST errno-0.3.9.crate 10690 BLAKE2B 8deb19cf0c830ff2adebb733ab961558cb4463f256604f9c76d5c5952f34a79b70dce47e28f68f459977ef34d4821ab5d0f7e79a7a110693700f80b49ba56651 SHA512 777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a
DIST fallible-iterator-0.3.0.crate 19639 BLAKE2B 58b8fe842fd6514fa4327eacc81b157a4a9bec4ad9b8e69248c0f0aa5610dbddb9c8a72e6e6ef9fb8216e8f79e6aab439e90d4d527e35634ab222347cbe39974 SHA512 c655918fcda5deb8ce792708509e4959139f113c1006dd41b94d7073ffc204512a22cdeeee05c87534db9c414da3f4eb716e1a26970646fcb1c139a14eb8a2fa
DIST fallible-streaming-iterator-0.1.9.crate 9249 BLAKE2B cc4459b34a9ad00552a5248d090d1f25804b92838f41131e475abb83ae0b89401248feeb52a49dbffd499ccc0ba0f2f1d044f2f3e9b06662be01fe2257a4e885 SHA512 34824e2007cb944eaf54b10d6d3885bb17ef2a2976c6dd7695ff82a937cc95eb65d343dd7a5cd2fab5aa5859faae3352a9e1c78f239ff736900c1dbc3f5ef7dc
DIST fastrand-2.1.0.crate 14907 BLAKE2B f96c74c1da31bae35e5ae0a557b3cdf120099cd7f31475ff6ce0eddfd8d30baeb025cd17b661f452cc4d3fedde763621301545e28efa030b3be21d1d9ba8d0d9 SHA512 ce776a3d0fbc108017c93ce9bff7c9e7e65590acb149dcd55c2f349d2077ffdf5ac6427753732f60cd7acf141ef6f89359b2e7d9368016be53b24e8703e71104
DIST find-crate-0.6.3.crate 12092 BLAKE2B 5434dd8ba17e54ddc3d68e0fbfdb0e0a2026c0c62ed76e5b64b19d8da1963e693e43f385c41d0b7d480369705291ac67abff9aab8f2b7a84b57abd7b4732cfa4 SHA512 f7866a4f917df064277630570f987898e465dce98be548ff7535201ada88b5db71c755f00013fcfed45ffdf29fd667c90ff19999a1fb7cb183a7007bd011f899
DIST flate2-1.0.30.crate 75511 BLAKE2B c25d9ab787ef60312523d80cf277bcaae16c7e54b1deb0fc8723a3b22c2586092343db1c538d96a37690d21e52ff822a38c90e10bc554fedb75671fdff6df309 SHA512 21528f80c1709cfa764723dce012903581dbc2b63ecad194ec601fc75103307e1b2ef17479186ad895ad957c9a33c6fd666b2981382a8a68ca78dfac7cb5d578
DIST fluent-langneg-0.13.0.crate 11723 BLAKE2B bfa4ec1a3a11360d28b5291e8eed2628ca6007b8afca726ded87d630394773835b3c8aaf818376a93a60de10feab25d7784c8d2b1e34e63b660d581a37d9626d SHA512 397d0a4f3508c7f58105dbb9ef7a32c5c4ebe4a73d80d2a19930479bee325839485c8002b49fb8c55d686ec9f3ed1d26493b56825b65d60ef7fba78a1442f9d5
DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST gettext-0.4.0.crate 12223 BLAKE2B b351e521a3b553ad0038f8706d6115296488c031bd333e58d367ef9d9b0fd72808b7f92494d74d4376309941ab93f6714785f976725259b6bff66e81d618fe2c SHA512 42e54b0a75b4880aaf709d2be97dbb14dae7c782f37327e16f3d80f0a1a2b7c2fbac4e242e3f1216cb7b5a68f4058b19dd7e711b2d044b1c674d365a72fe689c
DIST gimli-0.28.1.crate 270497 BLAKE2B 4089e0f871295d464e548610ab5f0c2fd863825416109cf58ca827e482897f00eab23b795295758f1e3af16167b52c77c91df6f707f1f445984a6c4bcd68c6ef SHA512 695e46471fc07813dc4a47744458729b097f6efbfceeb57eb3db4165654e99bebb98dde2d73230b90bb5dd7c0ca0c6e77c7c3dc6f2abf70058b830a2fb386d25
DIST git2-0.18.3.crate 213009 BLAKE2B f0df4ba154d08f7e7ccd2f5bac9c41c60dd4af7c49d525b0b30fe9fc563c8fe62cf6be833e867f86d61103b946223a7cff9171aad569b8596c340deded56e419 SHA512 f74221d0d96c36d9362c762185b6715f93adc78d5b4db89a3008a2baeb4bb05d5cee2f3c53f59fec97e9a690f82ac3a4f29a1633445f63c6137512255fed48a5
DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
DIST hashlink-0.9.1.crate 28928 BLAKE2B 14276fe00fb8aa7a8183b5cedc99eb403c0a68cb662555cd51efbe55a46c864f68f3d421395f56defcd1a87576c5a38509581adb5d02b831d9aab2efdd376f9f SHA512 16189f332b9e2a71f8cf4c8b72485eb107c4a84d4bfe3c739ecea8fe5dec33ad3c796d57830b12c176bc65a2066913c809a0f7c8db83e9da1bb0c555de8d3717
DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
DIST hostname-0.4.0.crate 10632 BLAKE2B 85c1b224aa0de4c64a4c56dc284145c50bfe3ddc9063e0884de1cc994b38931552229c57dfa832e927f816df0d93d7b553bd8b4ede582939bebc36c0acf451a8 SHA512 1365d02b3c438d467cee0bb704e98b601390cfc76ff290da198d6c1e85bdd57db5ea07ed9d14b35f4b0cb3c2999eddda69667fca4b01ef3b6c4df1769f0abd21
DIST human-panic-1.2.3.crate 11443 BLAKE2B f537fec064dccbaf494983ed9ff39e3d40a3934c2e3dc4f784adf188b57a0321306c643f6042c5744290c3719388108563ae61f217b84c1c94428dcce7e32cd5 SHA512 9b4b78d53112be252872e0befcc5acdf9f3faa9a49991afb9f19c9c9d68621fdc46f9b862a904c1e484609dd9181d3da7cf495ac7cb734aae75ea0745b4b5158
DIST i18n-config-0.4.6.crate 7890 BLAKE2B 3abec6eb04d93120a89ef697cb3b3f2ecdc9cf80a2d12dd5609f2bd6db74a72d1a3a0157ed06dfd280a6b14e553583f93a4c8dbd0d474b6609af71c6f67ce84f SHA512 f82a162dad2107372d6e0c910458ecbbaad427b2cc40b25c6c6561d3a49e3b6620b63b2327e1f3a13f1d2d21bea3b0f18b20cf10c138d989b047e281e38a3d7d
DIST i18n-embed-0.14.1.crate 24987 BLAKE2B e6b4c0082e652188c9a18ed816f4cc0e295132dd5f7dcd6f7236bf62b0927690eb5cf3d3d8d00a86d9509bbeaa28df6867b61854c5a557722e1c91ba47f5331d SHA512 c34a1300815bdffadb5e86ccd671eee22def30882bf81d885f8270908100c3fa81696b7e3729f27854a4fe49aac5eacf97b69f2c9762f181e139b677fb8e9eae
DIST i18n-embed-impl-0.8.3.crate 4712 BLAKE2B fef9de75eaf4fac7d126da7c2a50774cfd8d98de72e45a72a65d6f04a8d1cd7f3be2741629c7a41406001ae7eedcb1ba18b4b22e788301327e480b0fdd9f7bb0 SHA512 4c0099cd83629b8ed89ab124f519a1100ea59e23899db7aee189ea8a5495c267bb321377e4be73684329db3138a74fd6a4b3b616c22af50a50e7ee5fcb27022c
DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
DIST intl-memoizer-0.5.2.crate 11708 BLAKE2B 54fdd1cd254ca570c3d829e2f9cc09acfe350ef73936fd663a5af46a4a4b56f7f5ff6cd46d4e922e60f700dc6ff11a106a9a3dea227ff5c166c72946f12428ba SHA512 01334436ef65fe529e9673f9bf38c995a346ddd2ef77e993e2c7ebab990ccb00c69f8847ceb8de86a6e9c625c4fd8b3c9351a50a96367919ca985eb2e962e405
DIST is-terminal-0.4.12.crate 7470 BLAKE2B 6d1db6148198299d0775539734dc62a3c7e453d621d69e01c3addeadbec4e88dde6082e4e12c7b7e8359cbd93b68c0af314d4a8df4600061a9534834699cc38a SHA512 9eb840a419f530c60d6acc52fdc9d6477818fb513bf9c3e8ab808ecd19087a52933e958a930e7a8c316d5e5a3e5beb56c34b560dddaa03c744ad37cfe6554a0f
DIST is_terminal_polyfill-1.70.0.crate 7451 BLAKE2B 9efe76f14d61a5af6d3cd30d5e64209971d4292d8d2c12f4a621ef65324a5bccbb7e1d79d5efa75ea7456431241d6325cdeaa0af802b1480c6cd9c1bc5a35994 SHA512 c07d5076978e4c5d8d6a191d8880fb62643161979c473564881feb17726cd9ac8da25c40094ff12727dbdb064fe88fbda1867120a2c3fda1051bcc39380645d6
DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
DIST jja-0.9.1.tar.gz 7808981 BLAKE2B c2e1b1b41ed0090cfb8a699843b0597b6040cc14226935dc7855aaeb6d25b8c325b8a14f856df18993e8e2919c58394f9c0a3cbbc3eb7feb47d7f5d90cdbe120 SHA512 a86f9a8f82ee628f658944abbd4241c1d9cf7e7f041e670724b9590b4d34328c976ffeb259c5b382468142f8f493a0386f4803fa7cad59be0d4d58ef5ae9bac7
DIST jobserver-0.1.31.crate 27306 BLAKE2B 08ed4a90dfdad5bd7d67b8e15cf61bccb4a9669dfe4a479680c481e7066c70d833cd199b56a4ce7d1180cc9fef565d0afe722a13a436b86326cdfc8c10fb0424 SHA512 0488e5eafc5a99583d4626ae8900d49082aa09228b35a8992d8e715b5a39aade47f51562dc4db8ac41305e069988c4c63e1c78e92d65561e3e8a09d4dfa5fe25
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
DIST libgit2-sys-0.16.2+1.7.2.crate 1773674 BLAKE2B 86eedb63c1d92a15cbe2ce735530b60abb3d915a9f6051f7a084b9f6e6402dbdbffad2a261689f5e5abc2353b7765a390eff7cb86e88e50fb4cfe4346487bb8b SHA512 45e23f66e1823c551b1f91d1466d971b05927e591684b35b75047ac5f7d23de889910b662ec403388b88a35dfd19b8ad9787481d36e10949e610aa02fcc35c40
DIST libloading-0.8.3.crate 28480 BLAKE2B b8588be0e7034e94c808490adb8ee6e81c29e962aec436a0d8f8c7617b3ba9177887ce59b95b2f0af00ab030bc77b73e0a889d8a77b84deb437245211a969c94 SHA512 af8fa5fe2428fa98177d6adfc01bcd6e701b0d77ac18c95b8b8d5abb3a6376f16241ccc71b9fe100782c73c843ca53c9bad465545d8bb7def52320dad0eecef9
DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49
DIST librocksdb-sys-0.11.0+8.1.1.crate 6270227 BLAKE2B 7ffe576e64b0476c7f1f179b4ddb2bb3c785c50fe6212f1048997e647743be1cc5095b82e780547e5ba2c8da3f41c936066319a97cb7b927d54c1ac37e3bdfd9 SHA512 e95fcaf891b5e9985b6985046201324f3c011ebda5f07d76a66709872ff245e5a0d509100832144e7b18e94e6843c23679bc0cfa7a82473a99836b79fcc8f950
DIST libsqlite3-sys-0.28.0.crate 4975624 BLAKE2B e8d9e637a9ed616372e6e9496a9a7095eea281e1496ffa5b312f632958c751d50d9051f5ad09777e23a18dec08821cf9c43a405c4ac64fbb8719820c12886b54 SHA512 4a3d16eec47c6e3e53e00232501fd50fa77f1ee1370f4ab6c984496f2f897b4acd1c15c697caa8babd635d31a946e147d5d090378615676a3b5c4a9656355016
DIST libz-sys-1.1.16.crate 3958920 BLAKE2B 1780cfc7181a3c33dd8f693ee93e46bf0f70c1958503e8eb866d6ecb6732c8ab7bec56397c5384d582680fdbd8762ae37ccca7063616f266c59a7eff7801c0db SHA512 1d6b65b5a5293d470cf8ed48293a6f8273828a0cdf096d286e777d438b2c4d076360b5492ee3c2c83b27605d51389e6a3eda7eaebfb09a6041a877a48540aef1
DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
DIST locale_config-0.3.0.crate 20808 BLAKE2B 68b0519639c816af82b941a417d4a74896033e9c5110081d495e1cc3a3e7613ddaf2a665770c6199749b89be131a35592dc4cd7cc2789928199b22205300aa9d SHA512 c7d77156e957559172f589f90405b2e9f5306041887990a60a31630af2de81c00fbba2bcdf52bd163fe431f85694dc6d2d380671f38f2724d7e4d178d89998da
DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
DIST lz4-1.24.0.crate 13361 BLAKE2B e0ebfab2aceb6817fea87d703b9c63d7248156d6ff4a051b4d41beceb0462551e9b4b7250a1bba8724fafbb90ab3618aed115d3f2f90cf184013d4eac76e93d4 SHA512 971e6265f12306ad228841ab5b72cfb80f001e57c2e3a815a8fe4a343ee2d93cfef6155ad4ff019873555b7e843ddffb1b70e22a057bb79b4688903c9407bcbc
DIST lz4-sys-1.9.4.crate 354842 BLAKE2B ced6f5f681003284d6720f3bf4af4089b991320fc1ba52a445d67ae118a573edbba9dac656a4f04dab50e3d4ea8c1b32339f3413a5e590a597c2407a963da646 SHA512 a0cd903494db1089965f5316694eb23e219002c147aad68794d57e7206aff641824e54f25f7c4cbe08bb06a63e6f5ee4c44447aa7f7057c8467872d69c6f0b06
DIST lzma-sys-0.1.20.crate 760045 BLAKE2B 1f66d32008178c218575fba12df95a2cdc448e080c0a81ef4617f35dde09f0d56c86c28050db61c2ae7b464d0eaed7dd8c59a1fa605b39ff8c329e49165cd922 SHA512 393908b4e3006e4d9948a077d84ba7f5004765c4cc0f854e04847e504a246ab9a8e761fa48d4f211a7ac08dc119d950481da1ed1a480778d6b6e9b446a697279
DIST malloc_buf-0.0.6.crate 1239 BLAKE2B baa59345fd372db162773adbb441caff1f6bad965c3681f244161deaee76282fa09b9af0d0642cd39ef35689f85f5bd7c2efb7ba8119a58e86c7cd12d81b2c6b SHA512 463b3d7666cdd7de618abf0cc4e488060c84d6d93c56d4e922169511a0b03de380ea988cd998f5a162b244088902198763351ac16dea3762f0fa0840fc29d6ed
DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
DIST memmap-0.7.0.crate 15214 BLAKE2B 44a5bde9b85b2c378fd4c6ebfaa322ef8d0076472d6c7322f7aa95b8aba3514fd5212b4429eb369d30d0327377e36c626de474ea5e1f764bd4fae595680a04f8 SHA512 3a7c7f963111c2afeaa0381aaa6a57f0f57600392693ee1807d54771bc058ea0f86ac6e8afbe858e45f9f17b685430bf256dba1126b8074ace3aafc07bc14bfa
DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432
DIST nix-0.28.0.crate 311086 BLAKE2B a07023566f04896fdb3ef8b2a1ae8dd64adaa5eb48217c58588e1b41733642e03e0637350c0ee83ac47e663c02b24d5668be751f8d199aa773de6df8b2213894 SHA512 73c0c94b360f4fc81ff07a13692b2a5b5ceda3a7203bdf1e526facabd36cdf160f0ae8fa479e31a4e4237c09bde11e9bf821aa496311cac8614f9c5626f8d69a
DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
DIST objc-0.2.7.crate 22036 BLAKE2B 14a41a5ed6beb100d68601af12914dfef67a9f580f80d70c4578ad9df98a6b4496bc3a1003dec762a27f0ae71afe2c9e8fd41ad715bdb310722c8fc092563599 SHA512 7178870c8e4e9154b4c7b4953b3164946b7ce72c956a02b9ba18889353c72be735824bd73e44a485e42ad5f97994820d9153ac684629342755a6a63711ab5988
DIST objc-foundation-0.1.1.crate 9063 BLAKE2B 876dd217b612278a522f2d08434537d468f8b0fd1efb0e58d0b58216e20f7f9fc80a5ff034ea25d9216d4d53b2d65552684ae5d5212f18d758c7937c91742a84 SHA512 976dcab4e62ad1c387a81723d70b969fb7d332e1f7dbeb2ea9a26c62fa999d91ff6d8f737ac5725a7611334862df16fa8b15765c036d7acfc3e42a745d051f34
DIST objc_id-0.1.1.crate 3258 BLAKE2B 9a74fc17235ffdd7987c2735a7a9d136376fd13355f0561b4ecf234784aed077d1ab5aa11c1a82fcee7d47d4d36e471ca4ba3e5bb725a2ed0049a5565967326f SHA512 ec36fae6f5cefda00f3e44618b3c9fe6ec8f528f70d1a95def6421704bfa128a6e5b4a32e9dd686bf6ff60c4f87fe8094aa5e1c8070bcde58b17fdc06f49f9f5
DIST object-0.32.2.crate 286994 BLAKE2B b9085200fe0107ab0f8ddd5c5ac82bc681dc6266c6503e4a803ae4dbdec775ae84ca4a736754b770d858ebb058342af45d485d4c9a41f57966ca1466de40a4c5 SHA512 5d03d998f06dc592c3be141f7163bd72a0e73396f95d22ef1e0ffbfc66489bf727a6f6fb813a32739609b619b8e34a471974b2231dcfa23df8bff52007c25a96
DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST os_info-3.8.2.crate 26400 BLAKE2B d685f62f4273a75a5820d5445892fa5878cfcf3763730c2eecdf15fee12331884d04906b7c105f437299ee01f2999f77b6a4034e94f781bf694cbad8aab82b10 SHA512 4454fb13dbec94aea5849427742856619abe77b2209dfd0a60a8f446ce5f843b423831632786eb850d0493e023977fae705d0fabff90798774d1c32366984916
DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2
DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
DIST pgcopy-0.0.2.crate 11456 BLAKE2B 791a783373c74db23d4b884d9292b2eae93678218aaa477522c56523301b93b10f4a1a03e5c8adab3aa301451214cd9f35e9d0acc0372361e502f3f9d8154962 SHA512 c74ebb471c923f62fe7daa45987ebbd0db87bce97772ed6aa72c9cf267d8255147d4bc0a3cdf2446c005a5c31795cb5e352439d577162efda6815afc8498441e
DIST pgn-reader-0.25.0.crate 65949 BLAKE2B fb7ba80e3228c0e63c9167e9b1193acd7b06aa329d8c456411677e4c6031617b33eace732840d4ac30ffc2c726097bf715ff0f1c46acc855294f9e5cba98f55b SHA512 400d2805c64b97980c62353cae7208297aee2964325e56d0cf9d1652c119d2da3ab03eaeb3af4d9c8554ee0f3fc177a30b1a7e4f87c8422fe517c2582d68a991
DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST positioned-io-0.3.3.crate 487765 BLAKE2B 05b3f09fc818d3fa17819c3893ada2833cd0697f24e59a96fb27b9cce46c5f91773b02b9bd74da986569ec2fb33f2116257613162914594e708cf0282cce6b64 SHA512 00148eacbdf4b6358afbbb7c7573dc8f95ef43920761185abc04581478f27424486f4901e597bd61fabc0916e1022c2ee3bd2b34fc5e5a399a9cb5121c07e3b3
DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
DIST prettyplease-0.2.20.crate 57809 BLAKE2B 7c0b96177508fb61f76e45cb1df901f09a48611494d807acde17fede4c62f79053a09737ab6d31562bb60edfb2edc43028e62a2c4136ed799ab247086531db46 SHA512 fd6aa2cfbbb953227653eb5cc9f48d8ae6a7120026144578a9250397511416af461fff9b3f4a0fcf565d9ae589d4c0ed7523951ef36c491270d740efb61427ec
DIST prettytable-rs-0.10.0.crate 35474 BLAKE2B cd4103eb30479830376b8ee82f2f9d26a2f974b3f2c44078d7b8c3741475eddef03dbc14a27a2329ec3204860c1389ebc0b52c68d59349cc80f8fe6ea5e4cb6d SHA512 3a77d959f03cc952b533124f299470857b67cd0857fe7afaab1058a726ffba588f533210ce75be81ce66d6c7f0e80f46b7aa1a442c60c6d316c5814cd72266eb
DIST proc-macro2-1.0.82.crate 48452 BLAKE2B c01f60b788c1395d1041d7eb55fe9519ae4e78f86e3dfa732458747767ff801fcdd5a19a81ee9a8d8cd2457eb0a2bb7cec118299a5a9a64d65b5cf06b9d81165 SHA512 3726463868483243adce01c319c1deb1ab153188f1adcb083b53bff838fa80371091bb8e20ce88709ea850ab3ef74dcd99ca5aa95fa375b330841fd4230c842d
DIST quick-csv-0.1.6.crate 263584 BLAKE2B 5f0d0737d62cd16337140c97a1da0c67cb40c4ed3d0219999aee0cfc5909d7f67ba9ae9652afabadbca45d5eea221385b65450219b3530487bab406e2fc23b43 SHA512 c520e2c1116364e2aaeea4c63e4a979f5e7156d5b68dc4b448b81a5ae4c43ee563535837c6525ae1d103774622b8ccdb444ea395ee8e2c804552db5927ac79e0
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rand_xorshift-0.3.0.crate 9121 BLAKE2B 56c29e159c0beb9c751429130e84e4666f9031b6f70e180544f9cc8f8e85d98676b861b588dbda46f2cdbd254fb908c02c6ba640d53422e6bfa1ae4e48ca5a33 SHA512 256e410e5bc08c56496c53c3d53936f3b1cfed41458b0ee8879d7aa8b95375055746ca49e29000ef847b37f01e9237f569cd000c4b281f6c78ddfc78ce439a49
DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4
DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
DIST rocksdb-0.21.0.crate 125106 BLAKE2B 7ffc8f592311921a7cec069f19e787cce20b8502c2ec7521f80f31de6c477fba6e74226feeceaffb4dcc029ee43a799de5bd0b189a0872719431e04e81ba627d SHA512 839b43ba5b91e5a7faa7e9f12dfa4c98d5b85167eca329178af3f767571ed57a22da1276709e43f1b4cdc0d51a2bd7544a97b088c0e35b5accb30174d56bf19e
DIST rusqlite-0.31.0.crate 152252 BLAKE2B 5ef8396ab6ee9f6887466e7ff856c6260f40ef85361ca451e230d8590019d6ffa4952df15abd21cf300cf51da4a6ea4e82f5dc88dfba474f2f62036cee76caa3 SHA512 6d20b015ab72d3d75c363111c0cb41feae8bff83104ebdfcb8e5efc1bfb63eb48a17f6de2e6c96cb1e916b4795fea6d58466ab0820b151b12d1dc4c29800ba66
DIST rust-embed-8.4.0.crate 903547 BLAKE2B 20f47947c357dfcd4722cb6e6c46888c3161b29774454c4b126b7dc5ce2f1e4847863f53aa3a0275319f2aefc8e269ffd6bde2f8cc6822f5a6acdaea87fb6a16 SHA512 532a678d76b49b7a8ee36649c97f00e1d60558359172b6b9719e2cee18686f1c98849ef15b0acdee101166f0984304de232f6ee206826bf69ed5a9b8c00ab5bd
DIST rust-embed-impl-8.4.0.crate 5927 BLAKE2B 48e23b5504bb101c137e3548a523d87d871a0d077b828fadc99bf3478ceb84329284f89d00da960c88e5bd76ed9d625c7ea7184fb639f85e53af48ef21c59591 SHA512 9a710c31f4e5e6af4810a1322090fdd660f07b8a34cc09f9e8ca618997ee3966792571753ea1d2067214982da8ce9653603127fc97f321cc75888eac1bdea501
DIST rust-embed-utils-8.4.0.crate 3446 BLAKE2B 82790d7865bdd81e95f90516a55056fa045c8b2a0cd423e792ce3ab7ddd9e11e9fa29f55997969cfe16cfc04f4e6506aa71030b0ec1b675bb6aad99ae1725a33 SHA512 34c578b98994c17761b972e522a68ab7cafb38acbb60b59abf5b39a862aae742561a60685af86db4b7b5f66a68c5791af3944e5b2b9951f6aad3c8ae9608705d
DIST rustc-demangle-0.1.24.crate 29047 BLAKE2B 8248b014eedb26cdc0b748544ba91b9aae9c992a6f93b4d3ac256b78f691d572f8885a3575492ea556698a241d2759743968293079ca02bb6a5f318b0ed66dd4 SHA512 eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
DIST rustc-serialize-0.3.25.crate 46114 BLAKE2B 54feaa72c7cda8aa4d4de225a99b3e2c78fa3893eef47c7666b6503e183bfd830d9693676a274e0dbf1d2f650489c4ba924ebf8650c47d11d561ec8bf8e85a11 SHA512 d7023ab949a1bcb43b3458a7bf3f6a8903a5a8e43ad87e8c635f5b1a43c72a27052b96bd9f2e9e8da4a532b5a97674850e5a11537ef8a1b17ef44017c7be1be8
DIST rustix-0.38.34.crate 365160 BLAKE2B 02513c2513ac45897b659f0d332a0dc32401d238b8fb64ad4a90ecc4d8952fb042c0bde4bf13d52630cef34e73e96dd32cf772a8601b4f6eb5e2961f0a394add SHA512 717cf26e2ec792b41819ff964888adb265a215d2b6c6e2b7a8ca1f7f793b713b853bba9cf03c2cc88b0f9a5eb1a0478faedbc05526f39bd81583e7b1f764756f
DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3
DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST serde-1.0.202.crate 77722 BLAKE2B 8c921fe39b399e0840b9e375895fb4b730bb2df126ef07d0e5701dccd58ab7fa4d111e718d116ae28c32faa7ba89a6b4dc9dfbe0db098a008484d42932bef389 SHA512 19a6906f575f98e3f92bae1b4665d15d98e8ceaeaafb5a2c993206b4556adc92a38dc7b4978b4f0a14f55a7a93c128567d011fb0e871494005b27877d7f98b9c
DIST serde_derive-1.0.202.crate 55867 BLAKE2B aac9781a405cad646ab05c39082e0e075e14d13efe0c6c7f4db895bdfd2bf508a9089b594f994730c4eb6e9eb158079a830d0b2ab990c10b7711d8df2c943feb SHA512 78da51c769eb97518da7ec42a4666931979c5dc79860c0187dcbdb8a2d73643dd060d9b3fb5bf870758d22d08af38efaf4afe42bd023c9dbeaa10f72f1181c14
DIST serde_json-1.0.117.crate 146921 BLAKE2B fda4f87c300762c24163cceb449bb27fc96b089d5ee869b89f204dbeeec704231cdea7a14bc303cb40b621288fcb1a2b03f50552767e32a73c982d459762624b SHA512 363443af23e8e03dd17c0efc94b376f0d89b596c74d70d0437471e78bc20c6beb61da59404ff150af52000162f6df728ce73475feb828c453e58ea43e66ca056
DIST serde_spanned-0.6.5.crate 8349 BLAKE2B f4f8f798ae3a02c0d5178aa12a94bd1bc08fef88b6a81d782ba07ba36fb0d89927ecf621087faf376b6e53de12f6a96e0880ce0cd01ecc31c5dab7dadc6f3ff4 SHA512 bffe2398629ae5a5a5bb6d5fc2fa0f4b94d02c96e25d1be2fb9ad95d8ca2fa9bfdeb3af11049ee9c050e497f3beca108f03020f88f6de29b208063c3898af354
DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
DIST shakmaty-0.26.0.crate 547837 BLAKE2B dc48e037d9b96389d5bd8496cc9e520c6a40d3c22430dbb937fb4d7ec28c7cfce3c946865e1f30d27f65403d23ce37ef235f4ea03e0000623953159288fd34ec SHA512 6b1ef0960781305b30d2f6df7f6f985690eb1666d503f045ed3eee861055717145ef59c2ca96b44ed17f9bbab0dd6b69c1307d9f79cf64fd5f3b2d9e53b2f328
DIST shakmaty-syzygy-0.24.0.crate 55398 BLAKE2B b9da9754b2fd640556aa1ad7696dae3436c048e2a3620663a56dfab351382002405bebf66f3f2304f994392ea1a3aafd7634cf80363b18df082fafdeab63be1b SHA512 a49b14ede985f3182b3b6744fe3a2c11eb8483f4c4ab800ae875d3f24e9536a091da81516bcccc5c8ba091ce1cc94e46afde7f3f6a818c85676fdc5fa9f0dffc
DIST shell-escape-0.1.5.crate 6847 BLAKE2B ccd71a73b217b375843d3f0a762b3f5317bc0fdc8e43380a17f25e1ffdc391de0af7b0e4472be23241a6654f5b6ab799a51bbed8da35295322002c54ad84e9a5 SHA512 848f8d47d802b82e83f113fb07f44fe962628379481d1bef9d15f2e5821a382c9928c32175652361aae9fe4c8fa5c1dc1c89350db6ef5e68691bae4a3742df93
DIST shell-words-1.1.0.crate 9871 BLAKE2B 7923b36f0ba50c17ac4eebfdda34566b615291253b7b41879b3f64b3fc1325e63948d3d44801e40748b11ddd2ab201b81d238af2a2007c7a57d71f5dcd0667f6 SHA512 05c280a8e1f65b205746560a82e397689a3b5ec934219b558ece3a25efbfdefe903f9172319240e96039b38fb2c4be6e070805aedbdfd10344d9144b9c93de00
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
DIST syn-2.0.63.crate 258075 BLAKE2B a6d0c01640925c7fc0513b0e03dadf2439a1fa488177551cb9b894dc1c7c98882287dad1883d6b1e4b22e74ac66c6eab78766f7afd1ab0e2c8aec9ea5cde4249 SHA512 22d82bd1a0206fd326d6004245fe2538db9aed2ccfb58e9dd967030d3c63ca4ee146c501e21ef854910b89bc11d09d953b6d4139df63b53584127c03d9ea6ce2
DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39
DIST term-0.7.0.crate 37082 BLAKE2B cb7947c696f71fc68bab3b25cc6cbde74b92380fdde5447399b06de99534b0cb2160963792824ac74a350444ce41a4fa16d6a9792a68d84578a15ab37ab76ca2 SHA512 9de6e836f1fd205b3b58645ec880eaabfc0fd8991e3980ef90bc6184b370a14676edb688a2a75bce412dd8ebd97345aef742afe5b964250e2b6f84e6b15b486a
DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
DIST test_bin-0.4.0.crate 7591 BLAKE2B 1e5bf3a50757abba99fc2f9d3b4f043854883ed0fab791d34b6850811348baca28944acaf85ab1490cce05de6e6b33b6e5e6e740e4616159546ba2452556ef5a SHA512 f8c6a925dad183d5dbcac116c8a3f89bda213255c05e9f3d521b51f4b26338ce2666595eda06f9b36db21c9d6effb2953a9626f39f23fe107d99e76ce4591888
DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b
DIST thiserror-1.0.60.crate 21247 BLAKE2B 433d54b0938451a4458da709576f78e957d243bd7a27619f070c05f395fa6717566fa3d40be61f85e3b95edb11391107b11be3945bc6ee8a70bb9f55c17f08e3 SHA512 4fbd8770fed56da490436a018d5bcc00075493e9772b8249e72bb7213262766574b83743469fabc602d417ca0a787ee43f539dd9f08d87e9ec73c6c65768381f
DIST thiserror-impl-1.0.60.crate 15787 BLAKE2B e83014f3cfed1e0c54d7854787a6bcc5a099af33fd14431831e607884f1658339e5e1f9d666d6d92d362a285337ac5f170c71bbdece96a343bd80007e73009d4 SHA512 607356d744e1becf7b7070878b8738d853978d28ef4a589bae739f1c3cebde90e8d70e7ec79d67588f6d024784a0fe91c21658befbfeeb71d33f5eaea9416325
DIST tikv-jemalloc-sys-0.5.4+5.3.0-patched.crate 884765 BLAKE2B 58789abe69c2a7c653fb0227aba06f814e2a0cc0d007f382a2d7fef34013022656a1d4c439bae8b86b85bf47b2b90f59ab14077af71176845c58998554fddc72 SHA512 d9c2254acb33fbae58048a978cc27173bbe3c5f1aed0c0c8ce8e86dd09e6faee80676cdced9950169758ca7298f8d5c6ead81e47909866d98bc35c7db16ea2c8
DIST tinystr-0.7.5.crate 16366 BLAKE2B 00a5eda21da581ab351dbdd2591960c027d0d1e35f00b2b1049cf78ce115b4e7f9583ebec74d0a95c79112d2b4fa60ab8440ec83646542d8c73236790c07ae8c SHA512 f6f5ee490049a3572d13305f1431d4882f201c81bacb0e0a333e949a0a955c98d3a0d347b1f31d1fc8eaeefb4690a3fe6fb18e82163b92d10b757a56bb5610c3
DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
DIST toml-0.8.12.crate 51145 BLAKE2B bbd5b7c536c16b23f26bc520298172a61a61cf72195191d1d3eddcf54ef0ceef781902ad2c0033fab5aed11229400ec537e3cf86c24645a6d111b387ca8d54c7 SHA512 dd8054e20aac5320a2a6a7d47640cc56e48c2b6db01069786382fe5ae19e9b307fe7f4811ce5b8fd283a307c0aabb2b7f57101e05edadf79636785128b5cc265
DIST toml_datetime-0.6.5.crate 10910 BLAKE2B 93a21ab2784e96ee2e6b56c7b4f733f6ac4c68c1e7d7dac3fbd8aceedb3580e25b4a9c7d9c3f9b5ed152560353b3e80906e37824956dc4ea90bc6f039768f6cb SHA512 502bdedbcbd2ac9fbaa5f4b51f2e409af185f3633f01f8845de5e3b007f2400215ddeb82ac588bc915ed5a5f9d7251ccf93fe2a57cd40fca2927f4c0966357e6
DIST toml_edit-0.22.12.crate 104416 BLAKE2B 8f1f670ae986b900e141ed359f8ec1300dd91c3b0c204c8f3d6bcb44bd11ed06dda87535a6a8b94efa604a323e2a714ddfb382633b1ee3605e1f91488d9f2e56 SHA512 723b9cf08b1262c3e28c227ab363fec0122e23c3c9854f428d1aa117dc87564be2e22f368f9ee63cfe7abafa563c2ea51c00909d44eaa067bf1fd8c985d25965
DIST tr-0.1.7.crate 7906 BLAKE2B 3330404338f8195fe416704e335a9bae92ce74d92645675a6f1cd1b96242bb3931fed75eb4eafe11f5ded55aca461307b4b02523b2b2c3bf5b584a08a9c71788 SHA512 7224f025fc1689ef564915c71e436b7a8e08ba8136ffa6b349b3a3bf28078f4ba57cff8e899d295654e90ba92fc1255e67492ac9d4e3b403f93e712685a6cf2a
DIST type-map-0.5.0.crate 3464 BLAKE2B 02eb7aec3b683842cbc2daecc5e778719a353c3f9fd24c76262c980acdac2a303b9156718bf7fc15e0ac66345bf1c04befbc218a358f55a97ae0d172390b5367 SHA512 9d35158412917abfd56833a365c32d06df1ce1b2de3411993a43a675833321d9b3120ae4432a4618a887cf087cffc3470b82786a1f67db29a90ebb7b2555012e
DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
DIST unic-langid-0.9.5.crate 8898 BLAKE2B 0b7a383b46b0f99cd708f03dd00bcef4e6066d4ae758b0f57e88968214b3f04a0067a57e794f94a2c0f366b3e8f42b4f3ba5c43cd9bdba917832a65b13a66804 SHA512 e006351fc040df380947ce60e057e130180a021dd4828c6525fe974ff2af432f9cfa024cf01e0b445fc6dab510b34d612eb27412831b1628867433a14f16587a
DIST unic-langid-impl-0.9.5.crate 89659 BLAKE2B 66679ff153caee98ccd4ed5d8c6d91238ecfda9e262cc98a9d5504eb25896ada6ca5851714e4edef973f5b1e30dbd87460d077d7874a3c293a44db553cde1d10 SHA512 a9bc573585c4fe456a42c5d097a0e74748f22ca6384317a61bb50f428e95fa3ab164ffc3f9e16634f1fd241b6c2ac892fde089469e52ca8c27766e86b9d35f33
DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828
DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
DIST unicode-width-0.1.12.crate 24062 BLAKE2B 61afd22353d46a8a77519af9b3580d75dafc7965967f7724cb740f1ee199c7742b3549ad6c67776b876dbda5b8f27c634431f68517e29a72ade1622da9fde446 SHA512 0bafd7a69bdf49c849e7c063ebf0487eca8a76244e3bc18c9a5f4609465dc0e5d482daceb6a9a6f4125b801bf7063cb8225fdb55173e5dc55e7bf278300df1b4
DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
DIST username-0.2.0.crate 1528 BLAKE2B 0135f42fb2a26fdecc6f727114d9248d2303b20f1e539d858e43ad513bdf9ca65d562414ad398817307860ec74b20caf41426ca2dbbaea5608bae571ba91519a SHA512 cefa5f7a3c1f63a58b5d10052eae7d0ea256ed95d6dafc47c46af238d673b9b0696fd11e8fe7747414ceb8da2ea49a6fb5a05aba922881e8646f4344c5d4478a
DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5
DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
DIST windows-0.52.0.crate 11843715 BLAKE2B 0d35225f5d61f71b0cb768f03825031101e05c83d7f12e05cb17b14ba28e6bc6a3d5aaee5ba07e54c1a773b6eadde4ce3523ab87e8e313e5578e2de01a3dcdc7 SHA512 8a9d443cfae3b44ab50bdffd70b70ea3b3d536f464e4beb7cfa9e15eb4e4505cbac20266b44d589bb7231790a87f473ead6d2160b8cd18d62f31b78bf61417da
DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36
DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
DIST winnow-0.6.8.crate 159453 BLAKE2B 36ae0b096ab916c1d925d51ce9b4fa072fd687022c3578debf4be852eeed046fd73003c8be2f6e3b0abbd2d3952a23100e79a8e432f516a0ddab2ac7aba4b034 SHA512 64652527221385a1278efb66d25ebbab86cb64d2f71fbf9bc9956dc548ae9d028b998f3aa851a94dba66853da7fbf1bdfcf2dae02ed60b2562869569acf2b583
DIST xz2-0.1.7.crate 23892 BLAKE2B fd4b65cc82405f28a3d9fcc3db9dbffac41ae8ec7e767f3405bc9c7e45000b529cd571f72a76e41f2fb9866e7af8ab37d9f1ab8e6f14652495d306ba0a745879 SHA512 9969ae958b157f3d49708bd00640e57fe7c3826add2871575bdac03e6064aabd28392e3062bfbb833752df374195c50b19dc6b6c08ac41455c492213fb91fc74
DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148
DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63
DIST zstd-0.13.1.crate 29805 BLAKE2B f5ad84f1a6899637a93c85dee8e3006609db0df89a8f94878881e2f21735ad0ce104a0a2391feabd5570d9461689deede14e98778d9f51f99c3393f4218a0dd3 SHA512 903edbc1713fe0822dabd4d3b014cadd59f4c9ad4f9eb8c78ca4b78b0e927dc360b9f21c7feb2e85231896543b8a6ffd7d9daa705eeb2de26f501f4f8e8c2bb1
DIST zstd-safe-7.1.0.crate 20792 BLAKE2B e12fa6387c46ad526d8831dbe1ca0dcc0d3d93043f29af2dbbebd1600ee3bb818acb6bf9d33b050a6c908ce70507686fb3e1c1377f441ac48b496cd0f1d8d391 SHA512 b9127f270c747b6f2df256fe8d2b3d50c17c55bf366ffe516315c90214952ed3c7069e14d5d37d382df9f621f385abfb6855c4c8416baccd277bff7698524044
DIST zstd-sys-2.0.10+zstd.1.5.6.crate 749088 BLAKE2B 89ec471502281a65841e1c38b313571ac0ba1d2bb3aacba11297f782db9f0f8ed9cf945b757840e7851da0b7400b8c58fc79a60f24a6535fc271d28f07b2ffe9 SHA512 588008a436a9c7751fa7c088620bf04434751e508c9a729e6840e42a14a2cc26c8ee252e8f129a5ae00eb1f76ae6ecfffaac043d854b61381d386f71d80993f9

View file

@ -1,294 +0,0 @@
# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
addr2line@0.21.0
adler@1.0.2
advapi32-sys@0.2.0
ahash@0.8.11
aho-corasick@1.1.3
anstream@0.6.14
anstyle-parse@0.2.4
anstyle-query@1.0.3
anstyle-wincon@3.0.3
anstyle@1.0.7
anyhow@1.0.83
arrayvec@0.7.4
autocfg@1.3.0
backtrace@0.3.71
benchmarking@0.4.13
bindgen@0.65.1
bitflags@1.3.2
bitflags@2.5.0
block-buffer@0.10.4
block@0.1.6
btoi@0.4.3
built@0.7.2
bytefmt@0.1.7
byteorder@1.5.0
bzip2-sys@0.1.11+1.0.8
bzip2@0.4.4
cc@1.0.97
cexpr@0.6.0
cfg-if@1.0.0
cfg_aliases@0.1.1
circular@0.3.0
clang-sys@1.7.0
clap@4.5.4
clap_builder@4.5.2
clap_lex@0.7.0
colorchoice@1.0.1
console@0.15.8
cpufeatures@0.2.12
crc32fast@1.4.0
crossbeam-channel@0.5.12
crossbeam-deque@0.8.5
crossbeam-epoch@0.9.18
crossbeam-queue@0.3.11
crossbeam-utils@0.8.19
crossbeam@0.8.4
crypto-common@0.1.6
ctrlc@3.4.4
dialoguer@0.11.0
digest@0.10.7
dirs-next@2.0.0
dirs-sys-next@0.1.2
displaydoc@0.2.4
either@1.11.0
encode_unicode@0.3.6
encode_unicode@1.0.0
encoding-index-japanese@1.20141219.5
encoding-index-korean@1.20141219.5
encoding-index-simpchinese@1.20141219.5
encoding-index-singlebyte@1.20141219.5
encoding-index-tradchinese@1.20141219.5
encoding@0.2.33
encoding_index_tests@0.1.4
equivalent@1.0.1
errno@0.3.9
fallible-iterator@0.3.0
fallible-streaming-iterator@0.1.9
fastrand@2.1.0
find-crate@0.6.3
flate2@1.0.30
fluent-langneg@0.13.0
form_urlencoded@1.2.1
generic-array@0.14.7
getrandom@0.2.15
gettext@0.4.0
gimli@0.28.1
git2@0.18.3
glob@0.3.1
hashbrown@0.14.5
hashlink@0.9.1
hermit-abi@0.3.9
hostname@0.4.0
human-panic@1.2.3
i18n-config@0.4.6
i18n-embed-impl@0.8.3
i18n-embed@0.14.1
idna@0.5.0
indexmap@2.2.6
indicatif@0.17.8
instant@0.1.12
intl-memoizer@0.5.2
is-terminal@0.4.12
is_terminal_polyfill@1.70.0
itertools@0.10.5
itertools@0.12.1
itoa@1.0.11
jobserver@0.1.31
lazy_static@1.4.0
lazycell@1.3.0
libc@0.2.154
libgit2-sys@0.16.2+1.7.2
libloading@0.8.3
libredox@0.1.3
librocksdb-sys@0.11.0+8.1.1
libsqlite3-sys@0.28.0
libz-sys@1.1.16
linux-raw-sys@0.4.13
locale_config@0.3.0
lock_api@0.4.12
log@0.4.21
lz4-sys@1.9.4
lz4@1.24.0
lzma-sys@0.1.20
malloc_buf@0.0.6
memchr@2.7.2
memmap@0.7.0
minimal-lexical@0.2.1
miniz_oxide@0.7.2
nix@0.28.0
nom@7.1.3
num-traits@0.2.19
num_cpus@1.16.0
number_prefix@0.4.0
objc-foundation@0.1.1
objc@0.2.7
objc_id@0.1.1
object@0.32.2
once_cell@1.19.0
os_info@3.8.2
parking_lot@0.12.2
parking_lot_core@0.9.10
peeking_take_while@0.1.2
percent-encoding@2.3.1
pgcopy@0.0.2
pgn-reader@0.25.0
pkg-config@0.3.30
portable-atomic@1.6.0
positioned-io@0.3.3
ppv-lite86@0.2.17
prettyplease@0.2.20
prettytable-rs@0.10.0
proc-macro2@1.0.82
quick-csv@0.1.6
quote@1.0.36
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
rand_xorshift@0.3.0
rayon-core@1.12.1
rayon@1.10.0
redox_syscall@0.5.1
redox_users@0.4.5
regex-automata@0.4.6
regex-syntax@0.8.3
regex@1.10.4
rocksdb@0.21.0
rusqlite@0.31.0
rust-embed-impl@8.4.0
rust-embed-utils@8.4.0
rust-embed@8.4.0
rustc-demangle@0.1.24
rustc-hash@1.1.0
rustc-serialize@0.3.25
rustix@0.38.34
rustversion@1.0.17
ryu@1.0.18
same-file@1.0.6
scopeguard@1.2.0
serde@1.0.202
serde_derive@1.0.202
serde_json@1.0.117
serde_spanned@0.6.5
sha2@0.10.8
shakmaty-syzygy@0.24.0
shakmaty@0.26.0
shell-escape@0.1.5
shell-words@1.1.0
shlex@1.3.0
smallvec@1.13.2
strsim@0.11.1
syn@2.0.63
tempfile@3.10.1
term@0.7.0
termtree@0.4.1
test_bin@0.4.0
textwrap@0.16.1
thiserror-impl@1.0.60
thiserror@1.0.60
tikv-jemalloc-sys@0.5.4+5.3.0-patched
tinystr@0.7.5
tinyvec@1.6.0
tinyvec_macros@0.1.1
toml@0.5.11
toml@0.8.12
toml_datetime@0.6.5
toml_edit@0.22.12
tr@0.1.7
type-map@0.5.0
typenum@1.17.0
unic-langid-impl@0.9.5
unic-langid@0.9.5
unicase@2.7.0
unicode-bidi@0.3.15
unicode-ident@1.0.12
unicode-normalization@0.1.23
unicode-width@0.1.12
url@2.5.0
username@0.2.0
utf8parse@0.2.1
uuid@1.8.0
vcpkg@0.2.15
version_check@0.9.4
walkdir@2.5.0
wasi@0.11.0+wasi-snapshot-preview1
winapi-build@0.1.1
winapi-i686-pc-windows-gnu@0.4.0
winapi-util@0.1.8
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.2.8
winapi@0.3.9
windows-core@0.52.0
windows-sys@0.52.0
windows-targets@0.52.5
windows@0.52.0
windows_aarch64_gnullvm@0.52.5
windows_aarch64_msvc@0.52.5
windows_i686_gnu@0.52.5
windows_i686_gnullvm@0.52.5
windows_i686_msvc@0.52.5
windows_x86_64_gnu@0.52.5
windows_x86_64_gnullvm@0.52.5
windows_x86_64_msvc@0.52.5
winnow@0.6.8
xz2@0.1.7
zerocopy-derive@0.7.34
zerocopy@0.7.34
zstd-safe@7.1.0
zstd-sys@2.0.10+zstd.1.5.6
zstd@0.13.1
"
LLVM_COMPAT=( 20 )
inherit cargo llvm-r1
DESCRIPTION="swiss army knife for chess file formats"
HOMEPAGE="https://git.sr.ht/~alip/jja"
if [[ "${PV}" == "9999" ]] ; then
EGIT_REPO_URI="https://git.sr.ht/~alip/${PN}"
inherit git-r3
S="${WORKDIR}/${P}"
else
SRC_URI="https://git.sr.ht/~alip/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
KEYWORDS="~amd64"
S="${WORKDIR}/${PN}-v${PV}"
fi
# rocksdb needs clang
DEPEND+="$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
sys-libs/liburing"
RDEPEND=${DEPEND}
LICENSE="GPL-3+"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016"
SLOT="0"
pkg_setup() {
llvm-r1_pkg_setup
rust_pkg_setup
}
src_unpack() {
if [[ "${PV}" == "9999" ]] ; then
git-r3_src_unpack
cargo_live_src_unpack
else
cargo_src_unpack
fi
}

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
<name>Patrick Lauer</name>
</maintainer>
</pkgmetadata>

View file

@ -1,9 +0,0 @@
DIST Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz 2288519 BLAKE2B bd11ba3ecac3bf0f6df255a4b87556092b9630c85b97cbcc2c0901d5293882da6f996e326cce8f410f8503f9e29454f0a2994c4adceb4565490d435b307d4495 SHA512 3679a087ea024a15b2d30730834345d2af3869ae012bcc5a996eed90558516d16b762010d887b9c762b5177bfc0a21b3bd29dbc4e236e067132623482068b058
DIST VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz 904841 BLAKE2B 64966d40b86197a18f86c9715acb2ea649ea6b69d3de38d9385a8130e35519036eca49b7503886123284be58d5c248dd9d7c5cb16a489c64d385439c382dcd30 SHA512 3a47a4bc81562b96f598f357b803d2219fa167e6eb87779837efa6e85fc6eaff8e1cfbdea0935117a7b3c630cc99944b94e91823eafa8a94d80b2c459f33c317
DIST dolphin-2407.tar.gz 19773792 BLAKE2B a6de162479d45e6b1cba5444df5abdeafd92773d1e49cc837dfc6c1ab45ed11d7a3f72a582ddb56d0ecc6b550d03c1a02a9389852ba438d8a9235d5ea3285d4b SHA512 8bb8459d8b653708e34d5df184d96ba9705e8c50b00d066862d4012f78b7e71938207979b3bd900dd14c35c3b6c0258bb5c8fad9ba73267188e98d8a2edfb73f
DIST dolphin-2412.tar.gz 19926717 BLAKE2B 89036561987283067a1f116aa38a94c92d0c8e3114d28a0545787f63b389cb204b265bdd4c2452ec02ca3fe90fccf5fc0fd55be3acb9b8bd346e3738f3f96767 SHA512 3025e24b4cdc8cf3493e23a7968064cb9090d622a3a830b0a964fc87af840227125de8c0f69243c7d3975fc5ea2dd0c485d870301c25e8fa078abe83ae88bca9
DIST implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz 137924 BLAKE2B c830275b05a74e8a60a7164f22c01dd9a5a35f9219736785c9cc17830dae809eb8cba65604b0388c3966d7658c9fe71cb9a8468c23d3ed17b7890581a2222cb8 SHA512 ab9935e759f38d19e6f60ed195c22018929ba46fccf783f4486346d7ffb7040b6097bc4c3d3b3577cc91f0c413684e07449a24bebf3db9c937638092c181de92
DIST mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz 14488880 BLAKE2B 5beec2de9a0999a93a4ad704f45246b551824a9ddd576a5b77e731b269fb8f7d311d1c4e2cfb217f34e22a49050498c70e52d714d9c0bb7b4e4d178f49f15c3d SHA512 782d456b7bf827591c774f146a88821b41b3b936faefddb5aee82bb0dd16ca7ad7228a1c331e1e517eac40a71cc4c94cc44bee12560946328c8433e1c6327225
DIST minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz 770054 BLAKE2B 7d5b24a5be7134ac17178869883625b28fa80a55f878231ca4156901057db72b20b4d342f8d0bb04a436fcd72d7ccbb0f79adc8503a16e1197a84f3a476da730 SHA512 f76a2cefd7d9ad47f8c3c73b3483b657fab0507605e0b29895eaec759718a65f0d2915ea7022831f3f98493891a1ab4f5035971bf09d4860abbf4cde0b091869
DIST tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz 5903179 BLAKE2B 0ef4b36cf26f3a5a544d0c739317b8cce041121b1dec58d1d9dbc3bbc892df284d80aa4c45ec1ebc332ba96b151230a5b0dbf95b95aefcf86ee7878c393eda5d SHA512 486bcf32be137dea5746117074dc51bc978290698de7831e1c4bbaa4acb56ed99fc34c38e69878a955b3e5f10f43eab07b0637164f822beae0fddd099aa0c56d
DIST zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz 2223118 BLAKE2B c79a138c31c74c291ae38a6c4d8983e0884169ced4147d7242d1a766f70777de0368ceba815ac2261bd2543dba55a6106b70f7e040fae4f200863da217f88978 SHA512 73f4e56410ae298ef211ebab52b1a0d3d5bfae91c2de3cd294b56cd0a78ab50e1203b396c7df462f360c1aaaa9392ec5625473d1e9eb084cc64bc813e28d12a1

View file

@ -1,307 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
inherit cmake llvm-r1 pax-utils xdg-utils
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
EGIT_SUBMODULES=(
Externals/mGBA/mgba
Externals/implot/implot
Externals/tinygltf/tinygltf
Externals/Vulkan-Headers
Externals/VulkanMemoryAllocator
Externals/zlib-ng/zlib-ng
Externals/minizip-ng/minizip-ng
)
else
MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51
IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d
TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b
VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72
VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816
ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f
MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70
SRC_URI="
https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz
-> implot-${IMPLOT_COMMIT}.tar.gz
https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz
-> tinygltf-${TINYGLTF_COMMIT}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz
-> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
-> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz
-> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz
https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz
-> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz
mgba? (
https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz
-> mgba-${MGBA_COMMIT}.tar.gz
)
"
KEYWORDS="amd64 ~arm64"
fi
DESCRIPTION="Gamecube and Wii game emulator"
HOMEPAGE="https://dolphin-emu.org/"
LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
SLOT="0"
IUSE="
alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba
profile pulseaudio sdl systemd telemetry test upnp vulkan
"
REQUIRED_USE="
mgba? ( gui )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/bzip2:=
>=app-arch/lz4-1.8:=
app-arch/xz-utils
>=app-arch/zstd-1.4.0:=
dev-libs/hidapi
<dev-libs/libfmt-11.1:=
>=dev-libs/libfmt-10.1
dev-libs/lzo:2
dev-libs/pugixml
dev-libs/xxhash
media-libs/cubeb
media-libs/libsfml:=
media-libs/libspng
>=net-libs/enet-1.3.18:1.3=
net-libs/mbedtls:0=
net-misc/curl
x11-libs/libX11
x11-libs/libXi
x11-libs/libXrandr
virtual/libusb:1
virtual/opengl
alsa? ( media-libs/alsa-lib )
bluetooth? ( net-wireless/bluez:= )
evdev? (
dev-libs/libevdev
virtual/udev
)
ffmpeg? ( media-video/ffmpeg:= )
gui? (
dev-qt/qtbase:6[gui,widgets]
dev-qt/qtsvg:6
)
llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') )
profile? ( dev-util/oprofile )
pulseaudio? ( media-libs/libpulse )
sdl? ( media-libs/libsdl2 )
systemd? ( sys-apps/systemd:0= )
upnp? ( net-libs/miniupnpc:= )
"
DEPEND="
${RDEPEND}
egl? ( media-libs/libglvnd )
test? ( dev-cpp/gtest )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
"
# vulkan-loader required for vulkan backend which can be selected
# at runtime.
RDEPEND+="
vulkan? ( media-libs/vulkan-loader )
"
# [directory]=license
declare -A KEEP_BUNDLED=(
# please keep this list in CMakeLists.txt order
# TODO: use system libraries
[zlib-ng]=ZLIB
[minizip-ng]=ZLIB
[Bochs_disasm]=LGPL-2.1+
[cpp-optparse]=MIT
[imgui]=MIT
[implot]=MIT
[glslang]=BSD
[tinygltf]=MIT
[FreeSurround]=GPL-2+
[soundtouch]=LGPL-2.1+
# FIXME: discord-rpc not packaged
[discord-rpc]=MIT
[mGBA]=MPL-2.0
[picojson]=BSD-2
[expr]=MIT
[rangeset]=ZLIB
[FatFs]=FatFs
[Vulkan-Headers]="|| ( Apache-2.0 MIT )"
[VulkanMemoryAllocator]=MIT
)
PATCHES=(
"${FILESDIR}"/dolphin-2407-libfmt-11-fix.patch
"${FILESDIR}"/dolphin-2407-minizip.patch
"${FILESDIR}"/dolphin-2407-fix-llvm-build.patch
)
add_bundled_licenses() {
for license in ${KEEP_BUNDLED[@]}; do
LICENSE+=" ${license}"
done
}
add_bundled_licenses
pkg_setup() {
use llvm && llvm-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != *9999 ]]; then
mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die
mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die
mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die
mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die
mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die
mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die
if use mgba; then
mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die
fi
fi
cmake_src_prepare
local s remove=()
for s in Externals/*; do
[[ -f ${s} ]] && continue
if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
remove+=( "${s}" )
fi
done
einfo "removing sources: ${remove[*]}"
rm -r "${remove[@]}" || die
# About 50% compile-time speedup
if ! use vulkan; then
sed -i -e '/Externals\/glslang/d' CMakeLists.txt || die
fi
# Remove dirty suffix: needed for netplay
sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die
}
src_configure() {
local mycmakeargs=(
-DDSPTOOL=ON
-DENABLE_ALSA=$(usex alsa)
-DENABLE_ANALYTICS=$(usex telemetry)
-DENABLE_AUTOUPDATE=OFF
-DENABLE_BLUEZ=$(usex bluetooth)
-DENABLE_CLI_TOOL=ON
-DENABLE_EGL=$(usex egl)
-DENABLE_EVDEV=$(usex evdev)
-DENABLE_LLVM=$(usex llvm)
-DENABLE_LTO=OFF # just adds -flto, user can do that via flags
-DENABLE_NOGUI=$(usex !gui)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-DENABLE_QT=$(usex gui)
-DENABLE_SDL=$(usex sdl)
-DENABLE_TESTS=$(usex test)
-DENABLE_VULKAN=$(usex vulkan)
-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-DFASTLOG=$(usex log)
-DOPROFILING=$(usex profile)
-DSTEAM=OFF
-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-DUSE_MGBA=$(usex mgba)
-DUSE_RETRO_ACHIEVEMENTS=OFF
-DUSE_UPNP=$(usex upnp)
-DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd)
# Use system libraries
-DUSE_SYSTEM_FMT=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_ENET=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_BZIP2=ON
-DUSE_SYSTEM_LIBLZMA=ON
-DUSE_SYSTEM_ZSTD=ON
-DUSE_SYSTEM_ZLIB=OFF
-DUSE_SYSTEM_MINIZIP=OFF
-DUSE_SYSTEM_LZO=ON
-DUSE_SYSTEM_LZ4=ON
-DUSE_SYSTEM_SPNG=ON
-DUSE_SYSTEM_CUBEB=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_SFML=ON
-DUSE_SYSTEM_MBEDTLS=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_ICONV=ON
-DUSE_SYSTEM_HIDAPI=ON
# Use ccache only when user did set FEATURES=ccache (or similar)
# not when ccache binary is present in system (automagic).
-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
# Undo cmake.eclass's defaults.
# All dolphin's libraries are private
# and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF
# Avoid warning spam around unset variables.
-Wno-dev
)
# System installed git shouldnt affect non live builds
[[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON )
use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF )
use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON )
use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON )
cmake_src_configure
}
src_test() {
cmake_build unittests
}
src_install() {
cmake_src_install
dodoc Readme.md
if use doc; then
dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
fi
# Add pax markings for hardened systems
pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool}
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View file

@ -1,301 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
inherit cmake llvm-r1 pax-utils xdg-utils
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
EGIT_SUBMODULES=(
Externals/mGBA/mgba
Externals/implot/implot
Externals/tinygltf/tinygltf
Externals/Vulkan-Headers
Externals/VulkanMemoryAllocator
Externals/zlib-ng/zlib-ng
Externals/minizip-ng/minizip-ng
)
else
MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51
IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d
TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b
VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72
VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816
ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f
MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70
SRC_URI="
https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz
-> implot-${IMPLOT_COMMIT}.tar.gz
https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz
-> tinygltf-${TINYGLTF_COMMIT}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz
-> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
-> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz
-> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz
https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz
-> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz
mgba? (
https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz
-> mgba-${MGBA_COMMIT}.tar.gz
)
"
KEYWORDS="~amd64 ~arm64"
fi
DESCRIPTION="Gamecube and Wii game emulator"
HOMEPAGE="https://dolphin-emu.org/"
LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
SLOT="0"
IUSE="
alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba
profile pulseaudio sdl systemd telemetry test upnp vulkan
"
REQUIRED_USE="
mgba? ( gui )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/bzip2:=
>=app-arch/lz4-1.8:=
app-arch/xz-utils
>=app-arch/zstd-1.4.0:=
dev-libs/hidapi
>=dev-libs/libfmt-10.1:=
dev-libs/lzo:2
dev-libs/pugixml
dev-libs/xxhash
media-libs/cubeb
media-libs/libsfml:=
media-libs/libspng
>=net-libs/enet-1.3.18:1.3=
net-libs/mbedtls:0=
net-misc/curl
x11-libs/libX11
x11-libs/libXi
x11-libs/libXrandr
virtual/libusb:1
virtual/opengl
alsa? ( media-libs/alsa-lib )
bluetooth? ( net-wireless/bluez:= )
evdev? (
dev-libs/libevdev
virtual/udev
)
ffmpeg? ( media-video/ffmpeg:= )
gui? (
dev-qt/qtbase:6[gui,widgets]
dev-qt/qtsvg:6
)
llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') )
profile? ( dev-util/oprofile )
pulseaudio? ( media-libs/libpulse )
sdl? ( >=media-libs/libsdl2-2.30.9 )
systemd? ( sys-apps/systemd:0= )
upnp? ( net-libs/miniupnpc:= )
"
DEPEND="
${RDEPEND}
egl? ( media-libs/libglvnd )
test? ( dev-cpp/gtest )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
"
# vulkan-loader required for vulkan backend which can be selected
# at runtime.
RDEPEND+="
vulkan? ( media-libs/vulkan-loader )
"
# [directory]=license
declare -A KEEP_BUNDLED=(
# please keep this list in CMakeLists.txt order
# TODO: use system libraries
# bug #873952
# https://github.com/dolphin-emu/dolphin/pull/13089
[zlib-ng]=ZLIB
[minizip-ng]=ZLIB
[Bochs_disasm]=LGPL-2.1+
[cpp-optparse]=MIT
[imgui]=MIT
[implot]=MIT
[glslang]=BSD
[tinygltf]=MIT
[FreeSurround]=GPL-2+
[soundtouch]=LGPL-2.1+
# FIXME: discord-rpc not packaged
[discord-rpc]=MIT
[mGBA]=MPL-2.0
[picojson]=BSD-2
[expr]=MIT
[rangeset]=ZLIB
[FatFs]=FatFs
[Vulkan-Headers]="|| ( Apache-2.0 MIT )"
[VulkanMemoryAllocator]=MIT
)
PATCHES=(
"${FILESDIR}"/dolphin-2407-minizip.patch
"${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.patch
"${FILESDIR}"/dolphin-2412-fix-build-without-retro-achievements.patch
)
add_bundled_licenses() {
for license in ${KEEP_BUNDLED[@]}; do
LICENSE+=" ${license}"
done
}
add_bundled_licenses
pkg_setup() {
use llvm && llvm-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != *9999 ]]; then
mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die
mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die
mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die
mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die
mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die
mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die
if use mgba; then
mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die
fi
fi
cmake_src_prepare
local s remove=()
for s in Externals/*; do
[[ -f ${s} ]] && continue
if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
remove+=( "${s}" )
fi
done
einfo "removing sources: ${remove[*]}"
rm -r "${remove[@]}" || die
# Remove dirty suffix: needed for netplay
sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die
}
src_configure() {
local mycmakeargs=(
-DDSPTOOL=ON
-DENABLE_ALSA=$(usex alsa)
-DENABLE_ANALYTICS=$(usex telemetry)
-DENABLE_AUTOUPDATE=OFF
-DENABLE_BLUEZ=$(usex bluetooth)
-DENABLE_CLI_TOOL=ON
-DENABLE_EGL=$(usex egl)
-DENABLE_EVDEV=$(usex evdev)
-DENABLE_LLVM=$(usex llvm)
-DENABLE_LTO=OFF # just adds -flto, user can do that via flags
-DENABLE_NOGUI=$(usex !gui)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-DENABLE_QT=$(usex gui)
-DENABLE_SDL=$(usex sdl)
-DENABLE_TESTS=$(usex test)
-DENABLE_VULKAN=$(usex vulkan)
-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-DFASTLOG=$(usex log)
-DOPROFILING=$(usex profile)
-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-DUSE_MGBA=$(usex mgba)
-DUSE_RETRO_ACHIEVEMENTS=OFF
-DUSE_UPNP=$(usex upnp)
-DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd)
# Use system libraries
-DUSE_SYSTEM_FMT=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_ENET=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_BZIP2=ON
-DUSE_SYSTEM_LIBLZMA=ON
-DUSE_SYSTEM_ZSTD=ON
-DUSE_SYSTEM_MINIZIP=OFF
-DUSE_SYSTEM_LZO=ON
-DUSE_SYSTEM_LZ4=ON
-DUSE_SYSTEM_SPNG=ON
-DUSE_SYSTEM_CUBEB=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_SFML=ON
-DUSE_SYSTEM_MBEDTLS=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_ICONV=ON
-DUSE_SYSTEM_HIDAPI=ON
# Use ccache only when user did set FEATURES=ccache (or similar)
# not when ccache binary is present in system (automagic).
-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
# Undo cmake.eclass's defaults.
# All dolphin's libraries are private
# and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF
# Avoid warning spam around unset variables.
-Wno-dev
)
# System installed git shouldnt affect non live builds
[[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON )
use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF )
use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON )
use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON )
cmake_src_configure
}
src_test() {
cmake_build unittests
}
src_install() {
cmake_src_install
dodoc Readme.md
if use doc; then
dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
fi
# Add pax markings for hardened systems
pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool}
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View file

@ -1,299 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 20 )
LLVM_OPTIONAL=1
inherit cmake llvm-r1 pax-utils xdg-utils
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
EGIT_SUBMODULES=(
Externals/mGBA/mgba
Externals/implot/implot
Externals/tinygltf/tinygltf
Externals/Vulkan-Headers
Externals/VulkanMemoryAllocator
Externals/zlib-ng/zlib-ng
Externals/minizip-ng/minizip-ng
)
else
MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51
IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d
TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b
VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72
VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816
ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f
MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70
SRC_URI="
https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz
-> implot-${IMPLOT_COMMIT}.tar.gz
https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz
-> tinygltf-${TINYGLTF_COMMIT}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz
-> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
-> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz
-> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz
https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz
-> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz
mgba? (
https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz
-> mgba-${MGBA_COMMIT}.tar.gz
)
"
KEYWORDS="~amd64 ~arm64"
fi
DESCRIPTION="Gamecube and Wii game emulator"
HOMEPAGE="https://dolphin-emu.org/"
LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
SLOT="0"
IUSE="
alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba
profile pulseaudio sdl systemd telemetry test upnp vulkan
"
REQUIRED_USE="
mgba? ( gui )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/bzip2:=
>=app-arch/lz4-1.8:=
app-arch/xz-utils
>=app-arch/zstd-1.4.0:=
dev-libs/hidapi
>=dev-libs/libfmt-10.1:=
dev-libs/lzo:2
dev-libs/pugixml
dev-libs/xxhash
media-libs/cubeb
media-libs/libsfml:=
media-libs/libspng
>=net-libs/enet-1.3.18:1.3=
net-libs/mbedtls:0=
net-misc/curl
x11-libs/libX11
x11-libs/libXi
x11-libs/libXrandr
virtual/libusb:1
virtual/opengl
alsa? ( media-libs/alsa-lib )
bluetooth? ( net-wireless/bluez:= )
evdev? (
dev-libs/libevdev
virtual/udev
)
ffmpeg? ( media-video/ffmpeg:= )
gui? (
dev-qt/qtbase:6[gui,widgets]
dev-qt/qtsvg:6
)
llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') )
profile? ( dev-util/oprofile )
pulseaudio? ( media-libs/libpulse )
sdl? ( media-libs/libsdl2 )
systemd? ( sys-apps/systemd:0= )
upnp? ( net-libs/miniupnpc:= )
"
DEPEND="
${RDEPEND}
egl? ( media-libs/libglvnd )
test? ( dev-cpp/gtest )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
"
# vulkan-loader required for vulkan backend which can be selected
# at runtime.
RDEPEND+="
vulkan? ( media-libs/vulkan-loader )
"
# [directory]=license
declare -A KEEP_BUNDLED=(
# please keep this list in CMakeLists.txt order
# TODO: use system libraries
# bug #873952
# https://github.com/dolphin-emu/dolphin/pull/13089
[zlib-ng]=ZLIB
[minizip-ng]=ZLIB
[Bochs_disasm]=LGPL-2.1+
[cpp-optparse]=MIT
[imgui]=MIT
[implot]=MIT
[glslang]=BSD
[tinygltf]=MIT
[FreeSurround]=GPL-2+
[soundtouch]=LGPL-2.1+
# FIXME: discord-rpc not packaged
[discord-rpc]=MIT
[mGBA]=MPL-2.0
[picojson]=BSD-2
[expr]=MIT
[rangeset]=ZLIB
[FatFs]=FatFs
[Vulkan-Headers]="|| ( Apache-2.0 MIT )"
[VulkanMemoryAllocator]=MIT
)
PATCHES=(
"${FILESDIR}"/dolphin-2407-minizip.patch
)
add_bundled_licenses() {
for license in ${KEEP_BUNDLED[@]}; do
LICENSE+=" ${license}"
done
}
add_bundled_licenses
pkg_setup() {
use llvm && llvm-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != *9999 ]]; then
mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die
mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die
mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die
mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die
mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die
mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die
if use mgba; then
mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die
fi
fi
cmake_src_prepare
local s remove=()
for s in Externals/*; do
[[ -f ${s} ]] && continue
if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
remove+=( "${s}" )
fi
done
einfo "removing sources: ${remove[*]}"
rm -r "${remove[@]}" || die
# Remove dirty suffix: needed for netplay
sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die
}
src_configure() {
local mycmakeargs=(
-DDSPTOOL=ON
-DENABLE_ALSA=$(usex alsa)
-DENABLE_ANALYTICS=$(usex telemetry)
-DENABLE_AUTOUPDATE=OFF
-DENABLE_BLUEZ=$(usex bluetooth)
-DENABLE_CLI_TOOL=ON
-DENABLE_EGL=$(usex egl)
-DENABLE_EVDEV=$(usex evdev)
-DENABLE_LLVM=$(usex llvm)
-DENABLE_LTO=OFF # just adds -flto, user can do that via flags
-DENABLE_NOGUI=$(usex !gui)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-DENABLE_QT=$(usex gui)
-DENABLE_SDL=$(usex sdl)
-DENABLE_TESTS=$(usex test)
-DENABLE_VULKAN=$(usex vulkan)
-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-DFASTLOG=$(usex log)
-DOPROFILING=$(usex profile)
-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-DUSE_MGBA=$(usex mgba)
-DUSE_RETRO_ACHIEVEMENTS=OFF
-DUSE_UPNP=$(usex upnp)
-DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd)
# Use system libraries
-DUSE_SYSTEM_FMT=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_ENET=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_BZIP2=ON
-DUSE_SYSTEM_LIBLZMA=ON
-DUSE_SYSTEM_ZSTD=ON
-DUSE_SYSTEM_MINIZIP=OFF
-DUSE_SYSTEM_LZO=ON
-DUSE_SYSTEM_LZ4=ON
-DUSE_SYSTEM_SPNG=ON
-DUSE_SYSTEM_CUBEB=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_SFML=ON
-DUSE_SYSTEM_MBEDTLS=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_ICONV=ON
-DUSE_SYSTEM_HIDAPI=ON
# Use ccache only when user did set FEATURES=ccache (or similar)
# not when ccache binary is present in system (automagic).
-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
# Undo cmake.eclass's defaults.
# All dolphin's libraries are private
# and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF
# Avoid warning spam around unset variables.
-Wno-dev
)
# System installed git shouldnt affect non live builds
[[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON )
use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF )
use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON )
use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON )
cmake_src_configure
}
src_test() {
cmake_build unittests
}
src_install() {
cmake_src_install
dodoc Readme.md
if use doc; then
dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
fi
# Add pax markings for hardened systems
pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool}
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View file

@ -1,27 +0,0 @@
https://github.com/dolphin-emu/dolphin/pull/12986
https://github.com/dolphin-emu/dolphin/commit/9c5cd817e39b44ff2eb68c75d9405c582207b53b
From 9c5cd817e39b44ff2eb68c75d9405c582207b53b Mon Sep 17 00:00:00 2001
From: mitaclaw <140017135+mitaclaw@users.noreply.github.com>
Date: Thu, 8 Aug 2024 09:42:14 -0700
Subject: [PATCH] CMakeLists: Fix LLVM Usage In UICommon
This compile definition was removed in 68cbd2640d4663fe29e21234dc068769cb9bc673 because it was complicated by changes in 50dc0ffbceebe0f633bd63cd4710a3e2f548d688. Thus, the LLVM disassembler would never be used in UICommon's Disassembler class.
--- a/Source/Core/UICommon/CMakeLists.txt
+++ b/Source/Core/UICommon/CMakeLists.txt
@@ -56,6 +56,7 @@ if(ENABLE_LLVM)
find_package(LLVM CONFIG)
if(LLVM_FOUND)
message(STATUS "LLVM found, enabling LLVM support in disassembler")
+ target_compile_definitions(uicommon PRIVATE HAVE_LLVM)
# Minimal documentation about LLVM's CMake functions is available here:
# https://releases.llvm.org/16.0.0/docs/CMake.html#embedding-llvm-in-your-project
# https://groups.google.com/g/llvm-dev/c/YeEVe7HTasQ?pli=1
@@ -69,6 +70,7 @@ if(ENABLE_LLVM)
llvm_config(uicommon USE_SHARED
mcdisassembler target ${LLVM_EXPAND_COMPONENTS}
)
+ target_include_directories(uicommon PRIVATE ${LLVM_INCLUDE_DIRS})
endif()
endif()

View file

@ -1,103 +0,0 @@
From f69c099c20afb5ae5262e93208f1a28e39d911f1 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Fri, 9 Aug 2024 08:54:08 +0300
Subject: [PATCH 1/2] Add support for libfmt-11
fmt::join was moved into fmt/ranges.h
--- a/Source/Core/Common/StringUtil.cpp
+++ b/Source/Core/Common/StringUtil.cpp
@@ -22,6 +22,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/CommonFuncs.h"
#include "Common/CommonPaths.h"
--- a/Source/Core/Core/HW/EXI/EXI_Device.h
+++ b/Source/Core/Core/HW/EXI/EXI_Device.h
@@ -111,7 +111,7 @@ struct fmt::formatter<ExpansionInterface::EXIDeviceType>
constexpr formatter() : EnumFormatter(names) {}
template <typename FormatContext>
- auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx)
+ auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx) const
{
if (e != ExpansionInterface::EXIDeviceType::None)
{
--- a/Source/Core/Core/NetPlayClient.cpp
+++ b/Source/Core/Core/NetPlayClient.cpp
@@ -17,6 +17,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/Assert.h"
#include "Common/CommonPaths.h"
--- a/Source/Core/Core/NetPlayServer.cpp
+++ b/Source/Core/Core/NetPlayServer.cpp
@@ -18,6 +18,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/CommonPaths.h"
#include "Common/ENet.h"
--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
@@ -7,6 +7,7 @@
#include <cmath>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include <QApplication>
#include <QClipboard>
--- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp
+++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp
@@ -25,6 +25,8 @@
#include <algorithm>
#include <sstream>
+#include <fmt/ranges.h>
+
#include "Common/CommonPaths.h"
#include "Common/Config/Config.h"
#include "Common/HttpRequest.h"
--- a/Source/Core/VideoBackends/OGL/OGLConfig.cpp
+++ b/Source/Core/VideoBackends/OGL/OGLConfig.cpp
@@ -7,6 +7,8 @@
#include <string>
#include <string_view>
+#include <fmt/ranges.h>
+
#include "Common/Assert.h"
#include "Common/GL/GLContext.h"
#include "Common/GL/GLExtensions/GLExtensions.h"
--- a/Source/Core/VideoCommon/VertexLoaderBase.cpp
+++ b/Source/Core/VideoCommon/VertexLoaderBase.cpp
@@ -11,6 +11,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/Assert.h"
#include "Common/BitUtils.h"
--- a/Source/UnitTests/Common/BitFieldTest.cpp
+++ b/Source/UnitTests/Common/BitFieldTest.cpp
@@ -1,6 +1,8 @@
// Copyright 2014 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include <fmt/ranges.h>
+
#include <gtest/gtest.h>
#include "Common/BitField.h"
--
2.45.2

View file

@ -1,18 +0,0 @@
From 18ba49ec1ece5af136a75cb63530f7d1131bf8a7 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Fri, 9 Aug 2024 09:11:21 +0300
Subject: [PATCH 2/2] minizip
--- a/Externals/minizip-ng/CMakeLists.txt
+++ b/Externals/minizip-ng/CMakeLists.txt
@@ -1,5 +1,7 @@
project(minizip C)
+include(CheckFunctionExists)
+
add_library(minizip STATIC
minizip-ng/mz.h
minizip-ng/mz_compat.c
--
2.45.2

View file

@ -1,68 +0,0 @@
https://github.com/dolphin-emu/dolphin/pull/13226
https://github.com/dolphin-emu/dolphin/commit/84ab15e020a993286329e1fc0b0e47ffc3c0a536
From 84ab15e020a993286329e1fc0b0e47ffc3c0a536 Mon Sep 17 00:00:00 2001
From: JosJuice <josjuice@gmail.com>
Date: Sun, 15 Dec 2024 18:00:14 +0100
Subject: [PATCH 1/2] AchievementManager: Add required forward declarations
This was causing compilation errors when building without
USE_RETRO_ACHIEVEMENTS.
--- a/Source/Core/Core/AchievementManager.h
+++ b/Source/Core/Core/AchievementManager.h
@@ -275,11 +275,21 @@ class AchievementManager
#include <string>
+namespace ActionReplay
+{
+struct ARCode;
+}
+
namespace DiscIO
{
class Volume;
}
+namespace Gecko
+{
+class GeckoCode;
+}
+
class AchievementManager
{
public:
https://github.com/dolphin-emu/dolphin/commit/ad24ddb6bb01ddaba19bf72e8eda5cae354701ae
From ad24ddb6bb01ddaba19bf72e8eda5cae354701ae Mon Sep 17 00:00:00 2001
From: JosJuice <josjuice@gmail.com>
Date: Sun, 15 Dec 2024 18:15:57 +0100
Subject: [PATCH 2/2] VerifyTool: Add missing USE_RETRO_ACHIEVEMENTS ifdefs
--- a/Source/Core/DolphinTool/VerifyCommand.cpp
+++ b/Source/Core/DolphinTool/VerifyCommand.cpp
@@ -133,8 +133,10 @@ int VerifyCommand(const std::vector<std::string>& args)
hashes_to_calculate.md5 = true;
else if (algorithm == "sha1")
hashes_to_calculate.sha1 = true;
+#ifdef USE_RETRO_ACHIEVEMENTS
else if (algorithm == "rchash")
rc_hash_calculate = true;
+#endif
}
if (!hashes_to_calculate.crc32 && !hashes_to_calculate.md5 && !hashes_to_calculate.sha1 &&
@@ -163,11 +165,13 @@ int VerifyCommand(const std::vector<std::string>& args)
verifier.Finish();
const DiscIO::VolumeVerifier::Result& result = verifier.GetResult();
+#ifdef USE_RETRO_ACHIEVEMENTS
// Calculate rcheevos hash
if (rc_hash_calculate)
{
rc_hash_result = AchievementManager::CalculateHash(input_file_path);
}
+#endif
// Print the report
if (!algorithm_is_set)

View file

@ -1,75 +0,0 @@
https://github.com/dolphin-emu/dolphin/commit/22dc21cca42b2eaf373ac9e1b5128c566615aa71
https://github.com/dolphin-emu/dolphin/pull/13262
From 825092ad33a2e7466e79520c1338d0bed56ca299 Mon Sep 17 00:00:00 2001
From: Ferdinand Bachmann <ferdinand.bachmann@yrlf.at>
Date: Sat, 4 Jan 2025 18:45:32 +0100
Subject: [PATCH 1/2] BBA/HLE: Fix incorrect fmt format string
--- a/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp
+++ b/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp
@@ -686,7 +686,7 @@ bool CEXIETHERNET::BuiltInBBAInterface::SendFrame(const u8* frame, u32 size)
}
default:
- ERROR_LOG_FMT(SP1, "Unsupported EtherType {#06x}", *ethertype);
+ ERROR_LOG_FMT(SP1, "Unsupported EtherType {:#06x}", *ethertype);
return false;
}
From b79bdb13c05b4fcef23cd30b210d40662d28373b Mon Sep 17 00:00:00 2001
From: Ferdinand Bachmann <ferdinand.bachmann@yrlf.at>
Date: Sat, 4 Jan 2025 18:46:04 +0100
Subject: [PATCH 2/2] Common: Fix compile failure with fmt>=11
--- a/Source/Core/Common/Logging/Log.h
+++ b/Source/Core/Common/Logging/Log.h
@@ -99,7 +99,13 @@ void GenericLogFmt(LogLevel level, LogType type, const char* file, int line, con
static_assert(NumFields == sizeof...(args),
"Unexpected number of replacement fields in format string; did you pass too few or "
"too many arguments?");
- GenericLogFmtImpl(level, type, file, line, format, fmt::make_format_args(args...));
+
+#if FMT_VERSION >= 110000
+ auto&& format_str = fmt::format_string<Args...>(format);
+#else
+ auto&& format_str = format;
+#endif
+ GenericLogFmtImpl(level, type, file, line, format_str, fmt::make_format_args(args...));
}
} // namespace Common::Log
--- a/Source/Core/Common/MsgHandler.h
+++ b/Source/Core/Common/MsgHandler.h
@@ -41,12 +41,17 @@ bool MsgAlertFmt(bool yes_no, MsgType style, Common::Log::LogType log_type, cons
static_assert(NumFields == sizeof...(args),
"Unexpected number of replacement fields in format string; did you pass too few or "
"too many arguments?");
-#if FMT_VERSION >= 90000
+#if FMT_VERSION >= 110000
+ static_assert(std::is_base_of_v<fmt::detail::compile_string, S>);
+ auto&& format_str = fmt::format_string<Args...>(format);
+#elif FMT_VERSION >= 90000
static_assert(fmt::detail::is_compile_string<S>::value);
+ auto&& format_str = format;
#else
static_assert(fmt::is_compile_string<S>::value);
+ auto&& format_str = format;
#endif
- return MsgAlertFmtImpl(yes_no, style, log_type, file, line, format,
+ return MsgAlertFmtImpl(yes_no, style, log_type, file, line, format_str,
fmt::make_format_args(args...));
}
@@ -60,7 +65,9 @@ bool MsgAlertFmtT(bool yes_no, MsgType style, Common::Log::LogType log_type, con
static_assert(NumFields == sizeof...(args),
"Unexpected number of replacement fields in format string; did you pass too few or "
"too many arguments?");
-#if FMT_VERSION >= 90000
+#if FMT_VERSION >= 110000
+ static_assert(std::is_base_of_v<fmt::detail::compile_string, S>);
+#elif FMT_VERSION >= 90000
static_assert(fmt::detail::is_compile_string<S>::value);
#else
static_assert(fmt::is_compile_string<S>::value);

View file

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<use>
<flag name="discord-presence">Enables Discord Rich Presence, show the current game on Discord</flag>
<flag name="evdev">Enable evdev input support</flag>
<flag name="llvm">Enables LLVM support, for disassembly</flag>
<flag name="log">Increase logging output</flag>
<flag name="mgba">Enables GBA controllers emulation using libmgba.</flag>
</use>
<longdescription lang="en">
Dolphin is a Gamecube and Wii emulator. Most games run perfectly or with
minor bugs. Games are playable at HD quality, with 1080p and more.
</longdescription>
<upstream>
<remote-id type="github">dolphin-emu/dolphin</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,4 +0,0 @@
DIST mangohud-0.7.2.tar.gz 14906751 BLAKE2B a88e6497d8a8bcd899fc41d555dec429a69c864a10476c1d549acead58a7fc7c5f5d14d901b75bd2aed1d8c8088a027417a74480b89501d947333d665d0567c0 SHA512 edc3e380f9f58b65ae04c970e84eec9ff3458eafb2d89b2208c0afa6978a745a634aab6b0e025996175981e80c66475ef92ffe326d31a67055895b8fd1213e63
DIST mangohud-0.8.0.tar.gz 14911988 BLAKE2B 94da2c850f616adb02478a641b6554298a4e9ce4eff7ef75c962adb180fd43ebb789c684204d11eb9194fc14c5db7fbe94045b3843b25ac7c3f1d655d4f7725f SHA512 ece0c8310789e1876b97926ddeb4305b5180460766a343c9f875c0d6342194c14e6c94ef28748b452ecdc590e174ef042283ba5ba40047070ea684c3b855cb7c
DIST vulkan-headers-1.2.158-2-meson-wrap.zip 1107 BLAKE2B 35e4bb1f7410a009243fe7d4a4ba6cede7f01e0b56ad6ff72ad30c00c2452bd6d2a4fb44ab92c296147e2506a92acc6de1f817cb5433b96d66652cbcd8885595 SHA512 30cbbb90580399839e1bba8881b9b8cc33fdeead93f37d5f3398c9d53fb3ab050ca2562fd68f376fa4ee0825ee3787f560d70d55a170c780dd575ff2eeb66efd
DIST vulkan-headers-1.2.158.tar.gz 831647 BLAKE2B 792d7e895e27c4a8fbc93fc4d9c9e696d2ceb946e745709c050c0693b77afbeb6411a4267fc59508ddeb58167d469349fedc1c5d4b4a7415b590c97248b244bc SHA512 f7aa9222f9deb1316d22deacc2c6cd85c409f0f2b2d37ecd55e0fc8466d381bbe3bed287881b993a01c5f33736e1607014f820980b7a54a3721fab6980960c91

View file

@ -1,152 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic python-single-r1 meson-multilib
MY_PV=$(ver_cut 1-3)
[[ -n "$(ver_cut 4)" ]] && MY_PV_REV="-$(ver_cut 4)"
DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more"
HOMEPAGE="https://github.com/flightlessmango/MangoHud"
VK_HEADERS_VER="1.2.158"
VK_HEADERS_MESON_WRAP_VER="2"
SRC_URI="
https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz
-> vulkan-headers-${VK_HEADERS_VER}.tar.gz
https://wrapdb.mesonbuild.com/v2/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}/get_patch
-> vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git"
else
SRC_URI+="
https://github.com/flightlessmango/MangoHud/archive/v${MY_PV}${MY_PV_REV}.tar.gz
-> ${P}.tar.gz
"
KEYWORDS="~amd64"
S="${WORKDIR}/MangoHud-${PV}"
fi
LICENSE="MIT"
SLOT="0"
IUSE="+dbus debug +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia video_cards_amdgpu test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
|| ( X wayland )
xnvctrl? ( video_cards_nvidia )
"
BDEPEND="
app-arch/unzip
dev-util/glslang
test? ( dev-util/cmocka )
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')
"
DEPEND="
${PYTHON_DEPS}
=media-libs/imgui-1*:=[opengl,vulkan,${MULTILIB_USEDEP}]
=media-libs/implot-0.16*:=[${MULTILIB_USEDEP}]
dev-libs/spdlog:=[${MULTILIB_USEDEP}]
dev-libs/libfmt:=[${MULTILIB_USEDEP}]
dev-cpp/nlohmann_json
x11-libs/libxkbcommon
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
video_cards_nvidia? (
x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}]
xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] )
)
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
mangoapp? (
=media-libs/imgui-1*[glfw]
media-libs/glfw[X(+)?,wayland(+)?]
media-libs/glew
)
"
RDEPEND="
${DEPEND}
media-libs/libglvnd[${MULTILIB_USEDEP}]
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
mangoplot? (
media-fonts/lato
$(python_gen_cond_dep '
|| (
dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}]
dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}]
dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
)
')
)
"
src_unpack() {
default
[[ -n "${MY_PV_REV}" ]] && ( mv "${WORKDIR}/MangoHud-${MY_PV}${MY_PV_REV}" "${WORKDIR}/MangoHud-${PV}" || die )
if [[ $PV == 9999 ]]; then
git-r3_src_unpack
fi
unpack vulkan-headers-${VK_HEADERS_VER}.tar.gz
unpack vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die
}
src_prepare() {
default
# replace all occurences of "#include <imgui.h>" to "#include <imgui/imgui.h>"
find . -type f -exec sed -i 's|<imgui.h>|<imgui/imgui.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui.h"|<imgui/imgui.h>|g' {} \; || die
find . -type f -exec sed -i 's|<imgui_internal.h>|<imgui/imgui_internal.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_internal.h"|<imgui/imgui_internal.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_impl_glfw.h"|<imgui/imgui_impl_glfw.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_impl_opengl3.h"|<imgui/imgui_impl_opengl3.h>|g' {} \; || die
find . -type f -exec sed -i 's|GetWindowContentRegionWidth()|GetContentRegionAvail().x|g' {} \; || die
}
multilib_src_configure() {
# workaround for lld
# https://github.com/flightlessmango/MangoHud/issues/1240
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local emesonargs=(
-Dappend_libdir_mangohud=false
-Dinclude_doc=false
-Duse_system_spdlog=enabled
$(meson_feature video_cards_nvidia with_nvml)
$(meson_feature xnvctrl with_xnvctrl)
$(meson_feature X with_x11)
$(meson_feature wayland with_wayland)
$(meson_feature dbus with_dbus)
$(meson_use mangoapp mangoapp)
$(meson_use mangoapp mangoapp_layer)
$(meson_use mangohudctl mangohudctl)
$(meson_feature mangoplot mangoplot)
)
meson_src_configure
}
pkg_postinst() {
if ! use xnvctrl; then
einfo ""
einfo "If mangohud can't get GPU load, or other GPU information,"
einfo "and you have an older Nvidia device."
einfo ""
einfo "Try enabling the 'xnvctrl' useflag."
einfo ""
fi
}

View file

@ -1,152 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic python-single-r1 meson-multilib
MY_PV=$(ver_cut 1-3)
[[ -n "$(ver_cut 4)" ]] && MY_PV_REV="-$(ver_cut 4)"
DESCRIPTION="Vulkan and OpenGL overlay for monitoring FPS, sensors, system load and more"
HOMEPAGE="https://github.com/flightlessmango/MangoHud"
VK_HEADERS_VER="1.2.158"
VK_HEADERS_MESON_WRAP_VER="2"
SRC_URI="
https://github.com/KhronosGroup/Vulkan-Headers/archive/v${VK_HEADERS_VER}.tar.gz
-> vulkan-headers-${VK_HEADERS_VER}.tar.gz
https://wrapdb.mesonbuild.com/v2/vulkan-headers_${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}/get_patch
-> vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/flightlessmango/MangoHud.git"
else
SRC_URI+="
https://github.com/flightlessmango/MangoHud/archive/v${MY_PV}${MY_PV_REV}.tar.gz
-> ${P}.tar.gz
"
KEYWORDS="~amd64"
S="${WORKDIR}/MangoHud-${PV}"
fi
LICENSE="MIT"
SLOT="0"
IUSE="+dbus debug +X xnvctrl wayland mangoapp mangohudctl mangoplot video_cards_nvidia video_cards_amdgpu test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
|| ( X wayland )
xnvctrl? ( video_cards_nvidia )
"
BDEPEND="
app-arch/unzip
dev-util/glslang
test? ( dev-util/cmocka )
$(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')
"
DEPEND="
${PYTHON_DEPS}
=media-libs/imgui-1*:=[opengl,vulkan,${MULTILIB_USEDEP}]
=media-libs/implot-0.16*:=[${MULTILIB_USEDEP}]
dev-libs/spdlog:=[${MULTILIB_USEDEP}]
dev-libs/libfmt:=[${MULTILIB_USEDEP}]
dev-cpp/nlohmann_json
x11-libs/libxkbcommon
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
video_cards_nvidia? (
x11-drivers/nvidia-drivers[${MULTILIB_USEDEP}]
xnvctrl? ( x11-drivers/nvidia-drivers[static-libs] )
)
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
mangoapp? (
=media-libs/imgui-1*[glfw]
media-libs/glfw[X(+)?,wayland(+)?]
media-libs/glew
)
"
RDEPEND="
${DEPEND}
media-libs/libglvnd[${MULTILIB_USEDEP}]
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
mangoplot? (
media-fonts/lato
$(python_gen_cond_dep '
|| (
dev-python/matplotlib[gtk3,${PYTHON_USEDEP}]
dev-python/matplotlib[qt5(-),${PYTHON_USEDEP}]
dev-python/matplotlib[qt6(-),${PYTHON_USEDEP}]
dev-python/matplotlib[wxwidgets,${PYTHON_USEDEP}]
)
')
)
"
src_unpack() {
default
[[ -n "${MY_PV_REV}" ]] && ( mv "${WORKDIR}/MangoHud-${MY_PV}${MY_PV_REV}" "${WORKDIR}/MangoHud-${PV}" || die )
if [[ $PV == 9999 ]]; then
git-r3_src_unpack
fi
unpack vulkan-headers-${VK_HEADERS_VER}.tar.gz
unpack vulkan-headers-${VK_HEADERS_VER}-${VK_HEADERS_MESON_WRAP_VER}-meson-wrap.zip
mv "${WORKDIR}/Vulkan-Headers-${VK_HEADERS_VER}" "${S}/subprojects/" || die
}
src_prepare() {
default
# replace all occurences of "#include <imgui.h>" to "#include <imgui/imgui.h>"
find . -type f -exec sed -i 's|<imgui.h>|<imgui/imgui.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui.h"|<imgui/imgui.h>|g' {} \; || die
find . -type f -exec sed -i 's|<imgui_internal.h>|<imgui/imgui_internal.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_internal.h"|<imgui/imgui_internal.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_impl_glfw.h"|<imgui/imgui_impl_glfw.h>|g' {} \; || die
find . -type f -exec sed -i 's|"imgui_impl_opengl3.h"|<imgui/imgui_impl_opengl3.h>|g' {} \; || die
find . -type f -exec sed -i 's|GetWindowContentRegionWidth()|GetContentRegionAvail().x|g' {} \; || die
}
multilib_src_configure() {
# workaround for lld
# https://github.com/flightlessmango/MangoHud/issues/1240
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local emesonargs=(
-Dappend_libdir_mangohud=false
-Dinclude_doc=false
-Duse_system_spdlog=enabled
$(meson_feature video_cards_nvidia with_nvml)
$(meson_feature xnvctrl with_xnvctrl)
$(meson_feature X with_x11)
$(meson_feature wayland with_wayland)
$(meson_feature dbus with_dbus)
$(meson_use mangoapp mangoapp)
#$(meson_use mangoapp mangoapp_layer)
$(meson_use mangohudctl mangohudctl)
$(meson_feature mangoplot mangoplot)
)
meson_src_configure
}
pkg_postinst() {
if ! use xnvctrl; then
einfo ""
einfo "If mangohud can't get GPU load, or other GPU information,"
einfo "and you have an older Nvidia device."
einfo ""
einfo "Try enabling the 'xnvctrl' useflag."
einfo ""
fi
}

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>adel.ks@zegrapher.com</email>
<name>Adel KARA SLIMANE</name>
</maintainer>
<maintainer type="person">
<email>gonegrier.duarte@gmail.com</email>
<name>Gonçalo Negrier Duarte</name>
</maintainer>
<upstream>
<remote-id type="github">flightlessmango/MangoHud</remote-id>
<bugs-to>https://github.com/flightlessmango/MangoHud/issues</bugs-to>
</upstream>
<use>
<flag name="xnvctrl">Use XNVctrl as fall back for older Nvidia devices.</flag>
<flag name="test">Run mangohud tests</flag>
<flag name="mangoapp">Build and install mangoapp and mangoapp layer</flag>
<flag name="mangohudctl">Build and install mangohudctl</flag>
<flag name="mangoplot">Install mangoplot python script</flag>
</use>
</pkgmetadata>

View file

@ -1 +0,0 @@
DIST r2modman-bin-3.1.45.tar.gz 37124043 BLAKE2B 8d089c71bd5dfce76e362a2bb86d03b310bb85ef373b1ccb985b4a0836bbc75e9688d253d78c3100b924e8bd6808c8c9a292e4906e3019a7c478f9f933a5a553 SHA512 c8f5dcad2252f362f8ddd1f09ad34c75e15a8fe76e3fbb4f636cefeb9a707931c7813cd37b32ac4cfbe4c8c61836af56c006868e11133a73d4243a6a84edd094

View file

@ -1,148 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# inherit lists eclasses to inherit functions from. For example, an ebuild
# that needs the eautoreconf function from autotools.eclass won't work
# without the following line:
#inherit autotools
#
# Eclasses tend to list descriptions of how to use their functions properly.
# Take a look at the eclass/ directory for more examples.
DESCRIPTION="A simple and easy to use mod manager for several games using Thunderstore"
HOMEPAGE="https://github.com/ebkr/r2modmanPlus"
SRC_URI="${HOMEPAGE}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
# Source directory; the dir where the sources can be found (automatically
# unpacked) inside ${WORKDIR}. The default value for S is ${WORKDIR}/${P}
# If you don't need to change it, leave the S= line out of the ebuild
# to keep it tidy.
S="${WORKDIR}/${PN}Plus-${PV}"
LICENSE="MIT"
# The SLOT variable is used to tell Portage if it's OK to keep multiple
# versions of the same package installed at the same time. For example,
# if we have a libfoo-1.2.2 and libfoo-1.3.2 (which is not compatible
# with 1.2.2), it would be optimal to instruct Portage to not remove
# libfoo-1.2.2 if we decide to upgrade to libfoo-1.3.2. To do this,
# we specify SLOT="1.2" in libfoo-1.2.2 and SLOT="1.3" in libfoo-1.3.2.
# emerge clean understands SLOTs, and will keep the most recent version
# of each SLOT and remove everything else.
# Note that normal applications should use SLOT="0" if possible, since
# there should only be exactly one version installed at a time.
# Do not use SLOT="", because the SLOT variable must not be empty.
SLOT="0"
KEYWORDS="~amd64"
# Comprehensive list of any and all USE flags leveraged in the ebuild,
# with some exceptions, e.g., ARCH specific flags like "amd64" or "ppc".
# Not needed if the ebuild doesn't use any USE flags.
IUSE=""
# A space delimited list of portage features to restrict. man 5 ebuild
# for details. Usually not needed.
#RESTRICT="strip"
# Run-time dependencies. Must be defined to whatever this depends on to run.
# Example:
# ssl? ( >=dev-libs/openssl-1.0.2q:0= )
# >=dev-lang/perl-5.24.3-r1
# It is advisable to use the >= syntax show above, to reflect what you
# had installed on your system when you tested the package. Then
# other users hopefully won't be caught without the right version of
# a dependency.
RDEPEND="
net-libs/nodejs:0/20
"
# Build-time dependencies that need to be binary compatible with the system
# being built (CHOST). These include libraries that we link against.
# The below is valid if the same run-time depends are required to compile.
DEPEND="
${RDEPEND}
sys-apps/yarn
"
# Build-time dependencies that are executed during the emerge process, and
# only need to be present in the native build system (CBUILD). Example:
#BDEPEND="virtual/pkgconfig"
#src_unpack() {
# unpack ${P}.tar.gz
#}
# The following src_configure function is implemented as default by portage, so
# you only need to call it if you need a different behaviour.
#src_configure() {
# Most open-source packages use GNU autoconf for configuration.
# The default, quickest (and preferred) way of running configure is:
#econf
#
# You could use something similar to the following lines to
# configure your package before compilation. The "|| die" portion
# at the end will stop the build process if the command fails.
# You should use this at the end of critical commands in the build
# process. (Hint: Most commands are critical, that is, the build
# process should abort if they aren't successful.)
#./configure \
# --host=${CHOST} \
# --prefix=/usr \
# --infodir=/usr/share/info \
# --mandir=/usr/share/man || die
# Note the use of --infodir and --mandir, above. This is to make
# this package FHS 2.2-compliant. For more information, see
# https://wiki.linuxfoundation.org/lsb/fhs
#}
# The following src_compile function is implemented as default by portage, so
# you only need to call it, if you need different behaviour.
src_compile() {
# emake is a script that calls the standard GNU make with parallel
# building options for speedier builds (especially on SMP systems).
# Try emake first. It might not work for some packages, because
# some makefiles have bugs related to parallelism, in these cases,
# use emake -j1 to limit make to a single process. The -j1 is a
# visual clue to others that the makefiles have bugs that have been
# worked around.
#emake
ls -la
yarn global add '@quasar/cli' || die
yarn install || die
yarn build-linux || die
}
# The following src_install function is implemented as default by portage, so
# you only need to call it, if you need different behaviour.
#src_install() {
# You must *personally verify* that this trick doesn't install
# anything outside of DESTDIR; do this by reading and
# understanding the install part of the Makefiles.
# This is the preferred way to install.
#emake DESTDIR="${D}" install
# When you hit a failure with emake, do not just use make. It is
# better to fix the Makefiles to allow proper parallelization.
# If you fail with that, use "emake -j1", it's still better than make.
# For Makefiles that don't make proper use of DESTDIR, setting
# prefix is often an alternative. However if you do this, then
# you also need to specify mandir and infodir, since they were
# passed to ./configure as absolute paths (overriding the prefix
# setting).
#emake \
# prefix="${D}"/usr \
# mandir="${D}"/usr/share/man \
# infodir="${D}"/usr/share/info \
# libdir="${D}"/usr/$(get_libdir) \
# install
# Again, verify the Makefiles! We don't want anything falling
# outside of ${D}.
#}

View file

@ -1 +0,0 @@
DIST steamtinkerlaunch-11.0.tar.gz 341943 BLAKE2B 90663ee02b820c16168f023811b2460ed435916b7fd1f8d164a85250b4b51db82efed45519b3f6e2a8880c5d6b8721fa2063a53ee0a36fdbe83fff69a32581c6 SHA512 855f2188afb6116f129e7614b0473782fdc2f448bc12d470eec09003099aead67d1562cbc0896d6d8d381c7846dd48486d7b174cb966ac581315d817917bfd1d

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<description>new maintainers welcome</description>
<name>Peter Levine</name>
<email>plevine457@gmail.com</email>
</maintainer>
<upstream>
<bugs-to>https://github.com/frostworx/steamtinkerlaunch/issues</bugs-to>
<changelog>https://github.com/frostworx/steamtinkerlaunch/wiki/Changelog</changelog>
<remote-id type="github">frostworx/steamtinkerlaunch</remote-id>
</upstream>
</pkgmetadata>

View file

@ -1,59 +0,0 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit optfeature xdg
DESCRIPTION="Wrapper script for Steam custom launch options"
HOMEPAGE="https://github.com/frostworx/steamtinkerlaunch"
SRC_URI="https://github.com/frostworx/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=
RDEPEND="
app-arch/unzip
|| ( app-editors/vim-core dev-util/xxd )
x11-apps/xprop
x11-apps/xrandr
x11-apps/xwininfo
x11-misc/xdotool
>=gnome-extra/yad-7.2
"
src_prepare() {
default
sed -e 's|PREFIX := /usr|PREFIX := $(DESTDIR)/usr|g' \
-e "s|share/doc/${PN}|share/doc/${PF}|g" \
-e '/sed "s:^PREFIX/d' \
-i Makefile || die
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "writing an strace log of the launched game" dev-util/strace
optfeature "using GameMode per game" games-util/gamemode
optfeature "using MangoHUD per game" games-util/mangohud
optfeature "using vkBasalt per game" games-util/vkbasalt
optfeature "winetricks support" app-emulation/winetricks
optfeature "playing regular games side-by-side in VR" media-gfx/vr-video-player
optfeature "using Nyrna per game" x11-misc/nyrna
optfeature "network monitoring" sys-apps/net-tools
optfeature "Boxtron support" games-engines/boxtron
optfeature "ScummVM support via Roberta" games-engines/scummvm
optfeature "wine support" virtual/wine
optfeature "GameScope support" games-util/gamescope
optfeature "Notifier" x11-libs/libnotify
optfeature "extracting the Cheat Engine setup archive" app-arch/innoextract
optfeature "a quick VR HMD presence check" sys-apps/usbutils
optfeature "extracting game names from the steam api" app-misc/jq
optfeature "scaling a custom installed game header picture and for converting game icons" media-gfx/imagemagick
optfeature "extracting SpecialK archives" app-arch/p7zip
}

View file

@ -1 +0,0 @@
DIST libadwaita-1.7.beta.tar.xz 2789192 BLAKE2B e7d2aea0624a04281f962fc6f472eff599f2e36e063cb7333cd44282f2652e75367b2a08da31dfd35a97b3312bf080888cbfc46ef4cf0964ce024dccffeb142f SHA512 6d9259276deb2d7ad6ffd6d6043b392e8a1d013b38dff0935e157bb99d8b002ba812ff7c758af59f5082aca7b19bd63f32b62b768e8e760f6ca0c9bbd2d0d5e1

View file

@ -1,71 +0,0 @@
# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit gnome.org meson python-any-r1 vala virtualx
DESCRIPTION="Building blocks for modern GNOME applications"
HOMEPAGE="https://gnome.pages.gitlab.gnome.org/libadwaita/ https://gitlab.gnome.org/GNOME/libadwaita"
LICENSE="LGPL-2.1+"
SLOT="1"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="doc +introspection test +vala"
REQUIRED_USE="vala? ( introspection )"
RDEPEND="
>=dev-libs/glib-2.76:2
>=gui-libs/gtk-4.15.2:4[introspection?]
dev-libs/appstream:=
dev-libs/fribidi
introspection? ( >=dev-libs/gobject-introspection-1.54:= )
"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
BDEPEND="
${PYTHON_DEPS}
vala? ( $(vala_depend) )
dev-util/glib-utils
sys-devel/gettext
virtual/pkgconfig
dev-lang/sassc
doc? ( dev-util/gi-docgen )
"
src_prepare() {
default
use vala && vala_setup
}
src_configure() {
local emesonargs=(
# Never use gi-docgen subproject
--wrap-mode nofallback
-Dprofiling=false
$(meson_feature introspection)
$(meson_use vala vapi)
$(meson_use doc documentation)
$(meson_use test tests)
-Dexamples=false
)
meson_src_configure
}
src_test() {
virtx meson_src_test --timeout-multiplier 2
}
src_install() {
meson_src_install
if use doc; then
insinto /usr/share/gtk-doc/html
# This will install libadwaita API docs unconditionally, but this is intentional
doins -r "${BUILD_DIR}"/doc/libadwaita-1
fi
}

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<upstream>
<remote-id type="gnome-gitlab">GNOME/libadwaita</remote-id>
</upstream>
</pkgmetadata>

Some files were not shown because too many files have changed in this diff Show more