diff --git a/dev-util/bpf-linker/Manifest b/dev-util/bpf-linker/Manifest index 25e1f7eeed991..8635040c2499e 100644 --- a/dev-util/bpf-linker/Manifest +++ b/dev-util/bpf-linker/Manifest @@ -1,5 +1,7 @@ DIST bpf-linker-0.10.3-crates.tar.xz 12312560 BLAKE2B 5ad449327cc682cb918eac80c4fcb511d3dc1957aa8893aab466b4119a396a3731e152626191ea2fa454bddb16b2475284da021a86502967a6ad2a03a140fee6 SHA512 9e533c56bf84372962f053af78621de91b4ef4ab4706d06bbefa5792f9aa71b6e7a5ce81032f82216df9282df7815c360e7759bc01c1ea84358e09b35284ef24 DIST bpf-linker-0.10.3.gh.tar.gz 74134 BLAKE2B 76de2861d3c5d6a1c0374d793d686231c1944386fc6ab56a5e2778ae63fc93404d4a5be0868a6f3af631055f9744587e7c0a194b2b187b2808f78d7e7158b173 SHA512 420b4bb6e9f949647f5bd8fc425e12066f888d0059f5fcd6ee4f2ecc5f01dadb3b4c965527624cc2c743569b2e3e9175cd5df473e2ebad68c17519400517ba7c +DIST bpf-linker-0.10.4-crates.tar.xz 12318408 BLAKE2B c1d1914d9e74936ccb7f1eaa9d783db4885b8733eacc43173c3bbe10234eab1781ec61076bac0b7fac990dfdb36e59002433250043518e346426a85ca8264efa SHA512 71aad82089155a4c12937b4cb5790ac00fc81e77d27739af663a47f56ff1539f811347d5db3672e03a2e7c69bd6fa482f127d5acc29897a7b429f0a5ecb740f1 +DIST bpf-linker-0.10.4.gh.tar.gz 160769 BLAKE2B 0fb911dea079645fee154fe3536558830d488c304bc8d7ef8f986beff2ea0f697cc21e8540b463c2d8badcba6f389e386b7a7db715e3005f47b03af8c007248f SHA512 3cedabb00a705068f0b8d4d0bf3a2fe752e3429f4d4909367b1b66977034602430a7d8d01e73a104bcfef8d70416b888b3207700e27bf9775b4ccc321300c708 DIST bpf-linker-0.9.15-crates.tar.xz 16330432 BLAKE2B b22ecf0efe6a0dbcd76d4468f3ba674851fd41a9a3a2f71cc4f6c2f1cfcbb69043c49ae28fce441cb3972f6a7bcaa7d1aa51f78b3acb3ca67add23573c81de70 SHA512 32c172cb84999cbf9eed73bc2988fd805cf6e028349884e0af006e828374ffef3a2d47033501115dfd32641927fd7f679132c3a57c8dc475d709fab91a05b625 DIST bpf-linker-0.9.15.gh.tar.gz 53754 BLAKE2B 91554e366b4981a28a74a154258970702d8a259ea8ca3ce48d510e8b87978d8dd438505aec1a53a1c7b4d7c3e48ae3a996b03271f7e10f2dcf328e80188e432a SHA512 8c55eb0d46ca4229a1d23333b38a3d9b6dc2e21e3d720a9f7b57e0a1435c895e3829ed370d2d25fec8d5bf41fd75543a6cb493d78f4bddc1d903c831e13b9784 DIST compiler_builtins-0.1.146.crate 212475 BLAKE2B 9036a9e643ad310932c7943ce5e41c53029f08e604e8ed0a6255d49cf98ecea832dd19ffd109c34a83873880f1c281dc5991bf3f34b9e04f6e9562d40926fd48 SHA512 51db04a4e2b7fbc8a7b7407d57a9c82884f9950f5937cf422d14d4c53bc6b942d90e443857cf0c363b0365202713ecbaea3977e9c1cf534c54b041a1f6efd409 diff --git a/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild b/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild new file mode 100644 index 0000000000000..84782bb92de46 --- /dev/null +++ b/dev-util/bpf-linker/bpf-linker-0.10.4.ebuild @@ -0,0 +1,80 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER=1.90.0 +CRATES=" +" + +declare -A GIT_CRATES=( + [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;02b122626320f562914710bada39e637f051c7bb;compiletest-rs-%commit%' +) + +LLVM_COMPAT=( {20..22} ) +RUST_REQ_USE="llvm_targets_BPF(+),rust_sysroots_bpf(-)" +RUST_NEEDS_LLVM=1 + +inherit cargo llvm-r1 toolchain-funcs + +DESCRIPTION="Simple BPF static linker" +HOMEPAGE="https://github.com/aya-rs/bpf-linker/" +SRC_URI=" + https://github.com/aya-rs/bpf-linker/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + https://github.com/gentoo-crate-dist/bpf-linker/releases/download/v${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( MIT Apache-2.0 )" +# Dependent crate licenses +LICENSE+=" + ISC MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF] + ') +" +RDEPEND=" + ${DEPEND} + ${RUST_DEPEND} +" +BDEPEND=" + test? ( + dev-util/btfdump + ) +" + +QA_FLAGS_IGNORED=/usr/bin/bpf-linker + +pkg_setup() { + rust_pkg_setup +} + +src_prepare() { + default + + # replace upstream crate substitution with our crate substitution, sigh + local ct_dep=$(grep ^compiletest_rs "${ECARGO_HOME}"/config.toml || die) + sed -i -e "/compiletest_rs/s;^.*$;${ct_dep};" Cargo.toml || die +} + +src_configure() { + local myfeatures=( + "llvm-${LLVM_SLOT}" + ) + cargo_src_configure --no-default-features + + export "LLVM_PREFIX"="$(get_llvm_prefix -d)" + + if [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then + export LLVM_SYS_LIBCPP=c++ + fi +}