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>

Reply via email to