diff --git a/sys-fs/bcachefs-kmod/Manifest b/sys-fs/bcachefs-kmod/Manifest index 13482c665d..1800e3845f 100644 --- a/sys-fs/bcachefs-kmod/Manifest +++ b/sys-fs/bcachefs-kmod/Manifest @@ -1,2 +1,2 @@ -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 bcachefs-tools-1.31.7.tar.sign 833 BLAKE2B a8d09f2633f81e6c099d13ad2c177946eaa21baef793e3e79951f735f66ceeab3914582d29c75d3ca1e5dbede0e1ec5d96258bf0485825f81cc0d294174ac6d7 SHA512 8b0060266aea0973eadbf03bac87ccc20eb290c5f73ff9cf1ecb7849915c92e3106da420309b2915e0fa638992c8c73ceb9efa100d7199745e877c2d10e12f96 +DIST bcachefs-tools-1.31.7.tar.zst 1335291 BLAKE2B c95296d979f9bb07d28f7078a64e1c5d1e883ed29bf290bd35fb4c191921e4ee46a4b3a47e55f80bfa24af42aeb58f3c651131bdfca2832122667c99776c06b7 SHA512 2e2268c240040c3bcbaa3f81ba7da22e7502cb5584fcce50f9955fb05ba8a73808eedf1ac28b8f3a756298b819c665c9968a3309ba4d8109990efc77665dfa85 diff --git a/sys-fs/bcachefs-kmod/bcachefs-kmod-1.31.7.ebuild b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.31.7.ebuild new file mode 100644 index 0000000000..1cfdfc7d8d --- /dev/null +++ b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.31.7.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_KERNEL_MIN=6.16 +MODULES_INITRAMFS_IUSE=+initramfs +MY_PN="bcachefs-tools" +MODULE_S="module/src/${PN%-*}-${PV}" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +inherit flag-o-matic linux-mod-r1 toolchain-funcs unpacker verify-sig + +DESCRIPTION="Linux bcachefs kernel module for sys-fs/bcachefs-tools" +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" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + S="${WORKDIR}/${P}" + KEYWORDS="~amd64 ~arm64" +fi + +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" + +IUSE="debug verify-sig" + +DEPEND="~sys-fs/bcachefs-tools-${PV}" + +RDEPEND="${DEPEND} +" + +BDEPEND=">=sys-kernel/linux-headers-6.16 + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" +pkg_setup() { + local CONFIG_CHECK=" + BLOCK + CRC_OPTIMIZATIONS + EXPORTFS + CLOSURES + CRC32 + CRC64 + FS_POSIX_ACL + LZ4_COMPRESS + LZ4_DECOMPRESS + LZ4HC_COMPRESS + ZLIB_DEFLATE + ZLIB_INFLATE + ZSTD_COMPRESS + ZSTD_DECOMPRESS + CRYPTO_LIB_SHA256 + CRYPTO_LIB_CHACHA + CRYPTO_LIB_POLY1305 + KEYS + RAID6_PQ + XOR_BLOCKS + XXHASH + SYMBOLIC_ERRNAME + MIN_HEAP + XARRAY_MULTI + " + use amd64 && CONFIG_CHECK+=" + CRYPTO_CHACHA20_X86_64 + CRYPTO_POLY1305_X86_64 + " + use debug && CONFIG_CHECK+=" + DEBUG_INFO + FRAME_POINTER + !DEBUG_INFO_REDUCED + " + linux-mod-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}"/${MY_PN}-${PV}.tar.sign \ + < <(zstd -fdc "${DISTDIR}"/${MY_PN}-${PV}.tar.zst | tee >(tar -xf -)) + assert "Unpack failed" + fi + + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + else + unpacker ${MY_PN}-${PV}.tar.zst + 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 + + emake DESTDIR="${WORKDIR}" PREFIX="/module" install_dkms + sed -i "s|^#define TRACE_INCLUDE_PATH .*|#define TRACE_INCLUDE_PATH ${WORKDIR}/${MODULE_S}/src/fs/bcachefs|" \ + ../${MODULE_S}/src/fs/bcachefs/trace.h || die + sed -i '/mean_and_variance_test.o/Id' ../${MODULE_S}/src/fs/bcachefs/Makefile|| die +} + +src_compile() { + local modlist=( "bcachefs=kernel/fs/bcachefs:../${MODULE_S}:../${MODULE_S}/src/fs/bcachefs" ) + local modargs=( + KDIR=${KV_OUT_DIR} + ) + + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst +} diff --git a/sys-fs/bcachefs-kmod/metadata.xml b/sys-fs/bcachefs-kmod/metadata.xml new file mode 100644 index 0000000000..c79afb6141 --- /dev/null +++ b/sys-fs/bcachefs-kmod/metadata.xml @@ -0,0 +1,11 @@ + + + + + alex@millerson.name + Alexander Miroshnichenko + + + koverstreet/bcachefs-tools + +