diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 00d4f95d24..09b99ad147 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -293,6 +293,7 @@ dev-libs/tree-sitter dev-libs/tree-sitter-bash dev-libs/userspace-rcu dev-libs/xmlsec +dev-libs/xxhash dev-libs/yajl dev-perl/File-Slurper @@ -671,6 +672,7 @@ sys-fs/btrfs-progs sys-fs/cryptsetup sys-fs/dosfstools sys-fs/e2fsprogs +sys-fs/erofs-utils sys-fs/fuse sys-fs/fuse-common sys-fs/fuse-overlayfs diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild index 0d8be10a14..f6812c1f75 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-devel/sdk-depends/sdk-depends-0.0.1.ebuild @@ -46,6 +46,7 @@ DEPEND=" sys-firmware/edk2-bin sys-fs/btrfs-progs sys-fs/cryptsetup + sys-fs/erofs-utils dev-perl/Parse-Yapp dev-util/pkgcheck " diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords index 5a492c6d65..7eb67dc025 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/targets/sdk/package.accept_keywords @@ -1 +1,5 @@ # 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/Manifest new file mode 100644 index 0000000000..1ea2e70343 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/metadata.xml new file mode 100644 index 0000000000..63e48a416a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/metadata.xml @@ -0,0 +1,12 @@ + + + + + amadio@gentoo.org + Guilherme Amadio + + + Cyan4973/xxHash + https://github.com/Cyan4973/xxHash/issues + + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.2.ebuild new file mode 100644 index 0000000000..1a4ff1b570 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.2.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild new file mode 100644 index 0000000000..ef8732bc66 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xxhash/xxhash-0.8.3.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/Manifest new file mode 100644 index 0000000000..07b48fc200 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.10.ebuild new file mode 100644 index 0000000000..a55ac845ea --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.10.ebuild @@ -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[@]}" +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.4.ebuild new file mode 100644 index 0000000000..a55ac845ea --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/erofs-utils-1.8.4.ebuild @@ -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[@]}" +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/metadata.xml new file mode 100644 index 0000000000..15abb558de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/erofs-utils/metadata.xml @@ -0,0 +1,13 @@ + + + + + xen0n@gentoo.org + WANG Xuerui + + + Builds erofsfuse (requires sys-fs/fuse). + Use app-arch/libdeflate rather than virtual/zlib for handling deflate compression. + Enables UUID support via sys-apps/util-linux. + +