commit: bc548f0a2baeb857d848bb16ed6662ceda9dd713 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Tue Apr 15 06:30:09 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sun Apr 20 11:42:53 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc548f0a
dev-util/bpf-linker: New package, 0.9.14 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-util/bpf-linker/Manifest | 4 ++ dev-util/bpf-linker/bpf-linker-0.9.14.ebuild | 82 ++++++++++++++++++++++++++++ dev-util/bpf-linker/metadata.xml | 11 ++++ 3 files changed, 97 insertions(+) diff --git a/dev-util/bpf-linker/Manifest b/dev-util/bpf-linker/Manifest new file mode 100644 index 000000000000..3654e23d399c --- /dev/null +++ b/dev-util/bpf-linker/Manifest @@ -0,0 +1,4 @@ +DIST bpf-linker-0.9.14-crates.tar.xz 14190616 BLAKE2B 5384062cb678ef2ec19401fddb023a30fb9ae02f8e7f656ac82ac1061ba32cbde448baafa27e73938901e7d1a049a9d7eaea8ddfe0e40b96c3004865a108102c SHA512 095674241b50069d62789ce875fe6b3df2351e77f538c4f740a0388b68f6c26e25268c4ef41ca13d53b974c615a12595a82bfcde7a7e287c3e8a00cee44ed60a +DIST bpf-linker-0.9.14.gh.tar.gz 47526 BLAKE2B cb6a9d1fadff1554d9ad69934e3d22ef325f38ea3c97410e1c155e8d88835aaeb485e9c06c6ada3e975881190fe8c50fc0ecdf2921dbc83abd0f7873e1a08001 SHA512 0c5e530f8b94dbd4a290a92c11a4a99c4b92c8ee6b6dc6f00c25d5dcb43fa44c7a62d12e8a10edae2078b78cf7141363060b08cb6b98a5026dbaeb60d7c95bf1 +DIST compiler_builtins-0.1.146.crate 212475 BLAKE2B 9036a9e643ad310932c7943ce5e41c53029f08e604e8ed0a6255d49cf98ecea832dd19ffd109c34a83873880f1c281dc5991bf3f34b9e04f6e9562d40926fd48 SHA512 51db04a4e2b7fbc8a7b7407d57a9c82884f9950f5937cf422d14d4c53bc6b942d90e443857cf0c363b0365202713ecbaea3977e9c1cf534c54b041a1f6efd409 +DIST compiletest-rs-cb121796a041255ae0afcd9c2766bee4ebfd54f0.gh.tar.gz 60800 BLAKE2B 30ca17a8420b6dc19e299e7d18a536b480c19bfdc5bc8237107f8ce2d9f009cfe73bda11f9f0cda009f0608d2259a83333470e5d9bb00b7aeafbaa85454a725a SHA512 5d5ca47a712dd5e6593e6debba272f35da220ec3411e504d1dcac0162f5dfb209068f1465e7bc7e1ffe9c3a2f6d2cb4e5b00b33d43536e3dcd2b6622d8f69361 diff --git a/dev-util/bpf-linker/bpf-linker-0.9.14.ebuild b/dev-util/bpf-linker/bpf-linker-0.9.14.ebuild new file mode 100644 index 000000000000..e61f716dff4d --- /dev/null +++ b/dev-util/bpf-linker/bpf-linker-0.9.14.ebuild @@ -0,0 +1,82 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Extra crates required at runtime via rustc-build-sysroot crate. +# Note: versions are locked in /usr/lib/rust/*/lib/rustlib/src/rust/library/Cargo.lock. +CRATES=" + compiler_builtins@0.1.146 +" + +# Implied by crates above. +RUST_MIN_VER=1.86.0 +RUST_MAX_VER=1.86.0 + +declare -A GIT_CRATES=( + [compiletest_rs]='https://github.com/Manishearth/compiletest-rs;cb121796a041255ae0afcd9c2766bee4ebfd54f0;compiletest-rs-%commit%' +) + +# https://crates.io/crates/llvm-sys#llvm-compatibility +LLVM_COMPAT=( {20..21} ) +RUST_REQ_USE="llvm_targets_BPF" + +inherit cargo llvm-r2 + +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" +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() { + cargo_src_configure --no-default-features + + # note: this needs to be updated to match llvm crate version + export LLVM_SYS_201_PREFIX="$(get_llvm_prefix -d)" + # the package requires BPF target that is only available in nightly + export RUSTC_BOOTSTRAP=1 +} diff --git a/dev-util/bpf-linker/metadata.xml b/dev-util/bpf-linker/metadata.xml new file mode 100644 index 000000000000..aac43fdab9cf --- /dev/null +++ b/dev-util/bpf-linker/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mgo...@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <upstream> + <remote-id type="github">aya-rs/bpf-linker</remote-id> + </upstream> +</pkgmetadata>