dev-libs/xxhash,sys-fs/erofs-utils: Add from Gentoo

These packages are needed for building erofs sysexts using
systemd-repart. Also add erofs-utils to SDK deps.

Signed-off-by: Daniel Zatovic <daniel.zatovic@gmail.com>
This commit is contained in:
Daniel Zatovic 2025-11-04 13:59:53 +00:00
parent 4b3ae28dfb
commit 89da3cc75c
11 changed files with 262 additions and 0 deletions

View File

@ -293,6 +293,7 @@ dev-libs/tree-sitter
dev-libs/tree-sitter-bash dev-libs/tree-sitter-bash
dev-libs/userspace-rcu dev-libs/userspace-rcu
dev-libs/xmlsec dev-libs/xmlsec
dev-libs/xxhash
dev-libs/yajl dev-libs/yajl
dev-perl/File-Slurper dev-perl/File-Slurper
@ -671,6 +672,7 @@ sys-fs/btrfs-progs
sys-fs/cryptsetup sys-fs/cryptsetup
sys-fs/dosfstools sys-fs/dosfstools
sys-fs/e2fsprogs sys-fs/e2fsprogs
sys-fs/erofs-utils
sys-fs/fuse sys-fs/fuse
sys-fs/fuse-common sys-fs/fuse-common
sys-fs/fuse-overlayfs sys-fs/fuse-overlayfs

View File

@ -46,6 +46,7 @@ DEPEND="
sys-firmware/edk2-bin sys-firmware/edk2-bin
sys-fs/btrfs-progs sys-fs/btrfs-progs
sys-fs/cryptsetup sys-fs/cryptsetup
sys-fs/erofs-utils
dev-perl/Parse-Yapp dev-perl/Parse-Yapp
dev-util/pkgcheck dev-util/pkgcheck
" "

View File

@ -1 +1,5 @@
# Temporarily put the SDK version ahead for sd-json support in Dracut. # Temporarily put the SDK version ahead for sd-json support in Dracut.
# Needed for building signed sysexts with systemd-repart
dev-libs/xxhash
sys-fs/erofs-utils

View File

@ -0,0 +1,2 @@
DIST xxhash-0.8.2.tar.gz 1141188 BLAKE2B 735408256240760778fa516e01bed428f04837eb4e059c512e924f13e4a96db6cacbbefb04dea65a37b0f25b52cf13c4927a6e7870dc8c0d45b1b955d4ba3da1 SHA512 3e3eef21432fe88bc4dd9940ccad0308fdea3537b06fa5ac0e74c1bde53413dff29c8b3fc617a8a42b9ce88fcf213311d338a31b1ce73b3729342c9e68f06c78
DIST xxhash-0.8.3.tar.gz 1147630 BLAKE2B 75923c7c5df3490062791fa02ccddfb7281b3646e2b3e4b4a0c0d611c339e07c8d9cb656777fd0fcec9cda484f7b33edf080116bb011f70d6b8299cda63afa4e SHA512 8b5c8b9aad4e869f28310b12cc314037feda81d92f26c23eaecdb35dc65042ca2e65f2e9606033e62a31bcc737a9a950500ffcbdb8677d6ab20e820ea14f2b79

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>amadio@gentoo.org</email>
<name>Guilherme Amadio</name>
</maintainer>
<upstream>
<remote-id type="github">Cyan4973/xxHash</remote-id>
<bugs-to>https://github.com/Cyan4973/xxHash/issues</bugs-to>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,43 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib-minimal toolchain-funcs
DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
HOMEPAGE="https://xxhash.com/"
SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S=${WORKDIR}/xxHash-${PV}
LICENSE="BSD-2 GPL-2+"
# https://abi-laboratory.pro/tracker/timeline/xxhash
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
src_prepare() {
default
multilib_copy_sources
}
multilib_src_compile() {
emake AR="$(tc-getAR)" CC="$(tc-getCC)"
}
multilib_src_test() {
emake CC="$(tc-getCC)" check
}
multilib_src_install() {
local emakeargs=(
DESTDIR="${D}"
PREFIX="${EPREFIX}"/usr
LIBDIR="${EPREFIX}"/usr/$(get_libdir)
)
emake "${emakeargs[@]}" install
einstalldocs
rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic multilib-minimal toolchain-funcs
DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
HOMEPAGE="https://xxhash.com/"
SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
S=${WORKDIR}/xxHash-${PV}
LICENSE="BSD-2 GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
src_prepare() {
default
multilib_copy_sources
}
src_configure() {
# Needed for -Og to be buildable, otherwise fails a/ always_inline (bug #961093)
# https://github.com/Cyan4973/xxHash?tab=readme-ov-file#binary-size-control
is-flagq '-Og' && append-cppflags -DXXH_NO_INLINE_HINTS
multilib-minimal_src_configure
}
myemake() {
emake \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
"${@}"
}
multilib_src_compile() {
myemake
}
multilib_src_test() {
# Injecting CPPFLAGS into CFLAGS is needed for test_sanity
myemake CFLAGS="${CPPFLAGS} ${CFLAGS}" check
}
multilib_src_install() {
local emakeargs=(
DESTDIR="${D}"
PREFIX="${EPREFIX}"/usr
LIBDIR="${EPREFIX}"/usr/$(get_libdir)
)
myemake "${emakeargs[@]}" install
einstalldocs
rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
}

View File

@ -0,0 +1,2 @@
DIST erofs-utils-1.8.10.tar.gz 201240 BLAKE2B 9575258115192dc0ef7999dd1fa44f619f9f62c93cfe28e3e65fd5d9a601b09acdce293552c90f51c2f7b557d8830e856d6706af6ccd98fc157b05f819d136b4 SHA512 8c7afd3db55fd4c4f7aa9fbd7ed40fa40de0bfffcee601a3f5dce823d406a32b5e939e24cd6dc336e3033e940fb16ee93f8821f627f90b10e6137113949933dd
DIST erofs-utils-1.8.4.tar.gz 187276 BLAKE2B da0d80abbfd9b2d547c30bad7647165a3500f20e5de0b5db4c54efb27ec895fd069be983193b06d35728f5a8e1490e6cd255207c76135d8978d86e1512430755 SHA512 c941b0a2ab6c650a9aa4c9cadeb277ebc87007dc51354ff013c7cb763e6e8c9d44ed9e4791730ed05088faaba8c612198b924e70f5e52019382cfdf6d2e6b677

View File

@ -0,0 +1,63 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Userspace tools for EROFS"
HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong"
IUSE="fuse libdeflate +lz4 +lzma selinux static-libs +threads +uuid +zlib +zstd"
RDEPEND="
dev-libs/xxhash:0=
fuse? ( sys-fs/fuse:0 )
lz4? ( app-arch/lz4:0= )
lzma? ( >=app-arch/xz-utils-5.4.0:0= )
selinux? ( sys-libs/libselinux:0= )
uuid? ( sys-apps/util-linux )
zlib? (
libdeflate? ( app-arch/libdeflate:0= )
!libdeflate? ( virtual/zlib:= )
)
zstd? ( app-arch/zstd:0= )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-werror
$(use_enable fuse)
$(use_with libdeflate)
$(use_enable lz4)
$(use_enable lzma)
$(use_with selinux)
$(use_enable static-libs static-fuse)
$(use_enable threads multithreading)
$(use_with uuid)
$(use_with zlib)
$(use_with zstd libzstd)
--without-qpl # not packaged
# do not use bundled xxhash; also upstream says "expected to be
# faster than the internal one"
--with-xxhash
)
econf "${myeconfargs[@]}"
}

View File

@ -0,0 +1,63 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Userspace tools for EROFS"
HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong"
IUSE="fuse libdeflate +lz4 +lzma selinux static-libs +threads +uuid +zlib +zstd"
RDEPEND="
dev-libs/xxhash:0=
fuse? ( sys-fs/fuse:0 )
lz4? ( app-arch/lz4:0= )
lzma? ( >=app-arch/xz-utils-5.4.0:0= )
selinux? ( sys-libs/libselinux:0= )
uuid? ( sys-apps/util-linux )
zlib? (
libdeflate? ( app-arch/libdeflate:0= )
!libdeflate? ( virtual/zlib:= )
)
zstd? ( app-arch/zstd:0= )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-werror
$(use_enable fuse)
$(use_with libdeflate)
$(use_enable lz4)
$(use_enable lzma)
$(use_with selinux)
$(use_enable static-libs static-fuse)
$(use_enable threads multithreading)
$(use_with uuid)
$(use_with zlib)
$(use_with zstd libzstd)
--without-qpl # not packaged
# do not use bundled xxhash; also upstream says "expected to be
# faster than the internal one"
--with-xxhash
)
econf "${myeconfargs[@]}"
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>xen0n@gentoo.org</email>
<name>WANG Xuerui</name>
</maintainer>
<use>
<flag name="fuse">Builds erofsfuse (requires <pkg>sys-fs/fuse</pkg>).</flag>
<flag name="libdeflate">Use <pkg>app-arch/libdeflate</pkg> rather than <pkg>virtual/zlib</pkg> for handling deflate compression.</flag>
<flag name="uuid">Enables UUID support via <pkg>sys-apps/util-linux</pkg>.</flag>
</use>
</pkgmetadata>