commit: 4e88685b18a7490e9602a78d8cd23cbdde3004b5 Author: Christopher Fore <csfore <AT> posteo <DOT> net> AuthorDate: Sat Sep 27 14:11:11 2025 +0000 Commit: Matt Jolly <kangie <AT> gentoo <DOT> org> CommitDate: Thu Oct 2 09:42:12 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e88685b
sys-fs/bcachefs-tools: add 1.31.5 Added LLVM 21 to LLVM_SLOT Notes: - v1.31.1 added support for DKMS Signed-off-by: Christopher Fore <csfore <AT> posteo.net> Part-of: https://github.com/gentoo/gentoo/pull/43959 Closes: https://github.com/gentoo/gentoo/pull/43959 Signed-off-by: Matt Jolly <kangie <AT> gentoo.org> sys-fs/bcachefs-tools/Manifest | 2 + sys-fs/bcachefs-tools/bcachefs-tools-1.31.5.ebuild | 236 +++++++++++++++++++++ 2 files changed, 238 insertions(+) diff --git a/sys-fs/bcachefs-tools/Manifest b/sys-fs/bcachefs-tools/Manifest index a5a6473e575b..3061652be726 100644 --- a/sys-fs/bcachefs-tools/Manifest +++ b/sys-fs/bcachefs-tools/Manifest @@ -16,6 +16,8 @@ DIST bcachefs-tools-1.25.2.tar.sign 833 BLAKE2B c7fe1d01600beb6e4037de745ae052d1 DIST bcachefs-tools-1.25.2.tar.zst 1188546 BLAKE2B 998308b989ea66439262b7cb3c4e0d55198c55836068b842bf6e9d64db0679c7204f941148ae2ec5de5aab8c55bd1be3d2d6676dd53a5255c48aa7f87c00e723 SHA512 4b49d29be56ffde577d753a5eca195a5ef4a17b8a85b1f99c39a00737e9d8d1d06525dafd337a256628b8ab71a26e00b5d5625bd19caed8c8b3ba82609fbb1ab DIST bcachefs-tools-1.25.3.tar.sign 833 BLAKE2B a315bc55d2a84e8fcc9a2ccb5289353b60ea19a8603cd54d387f0c10ebcca285eb0a8e4a7ab39cd9622831427cadefcbc63b5a4e00e47bd6faea2adf08ed2f5a SHA512 7c29f334e50fff2545fc9e4b9623b967b1e4c36d2d6ab8ed080d6c714f8e8c62f8df3ab64dd02733e2c907f5199839676900f65b3c296b3f669204101b898478 DIST bcachefs-tools-1.25.3.tar.zst 1299950 BLAKE2B a9be39e2dbadc3e470546bee7a4e6b7a41252910356bb3a16eb09fa793e6c27fd709a47e630c3a3af45156953ee0673de21b3afcdbb49bbfd532a60e1b1c5788 SHA512 698dcacd01ef9fa41bdd712dacc5c06bd735bd9b728fe3ee1e290cfdd1f7f2e568341a516f4d3a4ef2e5a39396ff614ba66f2b2b7a6d92e95164d44271bae9fe +DIST bcachefs-tools-1.31.5.tar.sign 833 BLAKE2B 05d00a24c934e9196350c0080fd00e2226eec412c27da930194c6b4080209a7cafacd671ffb08192b992a82a35295cb5a253bac6ba7d924b06a2ffd3ffd49249 SHA512 8e99bfffa1ed24f861ba64137f20aeb3d4ad553641c558ab16460c304525462062cd995bdc7528867820f8079efd913f295ad2956adcae17b0b90f20835d6ff7 +DIST bcachefs-tools-1.31.5.tar.zst 1333803 BLAKE2B 106e611f37889976cd24926f5f3f59582f0c79e22013569c12f5851eeae6089ef9d06c5f48b5414dc270bcfe55d36c20d650ce8ec9112be9d360f2f0b09a6245 SHA512 d53679ccfcc44975aab2d6cda82b82c64300f28a1d3a48ab4d6165118222a8db97b53531743aa4f0d78d380261279515118bba8b7ecfd4f963e74f217302107c DIST bindgen-0.69.5.crate 221128 BLAKE2B b89edbf883e1bc11a074c2f37f84bb966749823a6408b9765d6a61ee1179451d67dadde41d27838e8ddc6172dee9c342429f42fbe6959ff9fd7dcbc73d7506ea SHA512 b232b906af7535f8b87198f0a4037a0f09af367e0c913575f3d16453a2c272e7d76033cb3fd12d4223ebda4a0f8130629e67c5883e026a2422db3e0659ed3c3f DIST bitfield-0.14.0.crate 16776 BLAKE2B abca546581d912133e7344f049d93b8d793de323eba7780fab162c53a244b845582ec2bd14b529b9491c363c2da6228b7de58407afc554cc718a9df8370f5535 SHA512 703d534f0684b19af68a18048ecff37367ccbe5a52a3e8d987f2420b980e4a20da9640019ca610b1a73841cbe45dbf4d6a1cfb10cf0e7d09f53199b1fcd141fe DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.31.5.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.31.5.ebuild new file mode 100644 index 000000000000..e831f981cce3 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.31.5.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] +" + +LLVM_COMPAT=( {17..21} ) +PYTHON_COMPAT=( python3_{11..14} ) +RUST_MIN_VER="1.77.0" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker verify-sig + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst + ${CARGO_CRATE_URIS} + " + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + S="${WORKDIR}/${P}" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +IUSE="fuse verify-sig" +RESTRICT="test" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" + +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + ') + elibc_musl? ( >=sys-libs/musl-1.2.5 ) + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + rust_pkg_setup + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + # Upstream signs the uncompressed tarball + if use verify-sig; then + einfo "Unpacking ${P}.tar.zst ..." + verify-sig_verify_detached - "${DISTDIR}"/${P}.tar.sign \ + < <(zstd -fdc "${DISTDIR}"/${P}.tar.zst | tee >(tar -xf -)) + assert "Unpack failed" + fi + + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + unpacker ${P}.tar.zst + cargo_src_unpack + fi + +} + +src_prepare() { + default + tc-export CC + + sed -i s/^VERSION=.*$/VERSION=${PV}/ Makefile || die + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + # This version mangles the symbolic link, + # please check if this can be removed before bumping + rm "${S}"/bcachefs + ln -s "${S}"/target/release/bcachefs bcachefs + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +}
