summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/Manifest.gzbin17027 -> 17373 bytes
-rw-r--r--app-arch/createrepo_c/Manifest5
-rw-r--r--app-arch/createrepo_c/createrepo_c-0.20.1-r1.ebuild70
-rw-r--r--app-arch/createrepo_c/createrepo_c-9999.ebuild65
-rw-r--r--app-arch/createrepo_c/files/createrepo_c-0.20.1-use-gio-instead-of-cp.patch229
-rw-r--r--app-arch/createrepo_c/metadata.xml11
-rw-r--r--app-arch/drpm/Manifest5
-rw-r--r--app-arch/drpm/drpm-0.5.1.ebuild48
-rw-r--r--app-arch/drpm/drpm-9999.ebuild46
-rw-r--r--app-arch/drpm/files/drpm-0.5.1-c99.patch18
-rw-r--r--app-arch/drpm/metadata.xml18
-rw-r--r--app-arch/zchunk/Manifest4
-rw-r--r--app-arch/zchunk/metadata.xml15
-rw-r--r--app-arch/zchunk/zchunk-1.2.3.ebuild27
-rw-r--r--app-arch/zchunk/zchunk-9999.ebuild27
15 files changed, 587 insertions, 1 deletions
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index 422bf9449c5d..ade5f53409db 100644
--- a/app-arch/Manifest.gz
+++ b/app-arch/Manifest.gz
Binary files differ
diff --git a/app-arch/createrepo_c/Manifest b/app-arch/createrepo_c/Manifest
index a7b7f29efcf7..29cd4f369829 100644
--- a/app-arch/createrepo_c/Manifest
+++ b/app-arch/createrepo_c/Manifest
@@ -1,4 +1,7 @@
AUX createrepo_c-0.20.1-Include-rpm-rpmstring.h-for-rasprintf.patch 547 BLAKE2B 5d7379d00759d693a1fca50c060b619a4d9c7696c00c8512fc06f52b1c9af34408106954d9dadfd6b88ac6f94e4de6c23cdba4b4a4c97952859ed32b024f315c SHA512 d9b6c315ac6591077b11574699196c7b1c671140f3278c075db6c5c4c46e2fc4b40ca33ced258e7439d0ce7039f422a0b528ba0d490cd04f9312324b001dd6c0
+AUX createrepo_c-0.20.1-use-gio-instead-of-cp.patch 7174 BLAKE2B 0c9c70cb137e749f15cc9b3ed905c09234c29ed6f5062278c542382be34fadec6430c3efe9d5baa0d0f76d9a004167a72caf388281fff621a0639ebf215786e8 SHA512 94e82ff327030ae72eb4f07010ef52b03cb0ac1830b176ce438adfec9c2bbacc94c9661ac362e758489e799dbd9b467799933cb77f1fbf6a7823798c7bbf2311
DIST createrepo_c-0.20.1.tar.gz 614968 BLAKE2B 8eb35c121e1beaa960310d10bfe616799b3a6b13d99f1e8c9d4077975cc929c9f786dec7d26a17d7efbd1859e2e7d8a614147c36a0a82c87f1c1c1a652afa6f3 SHA512 54a2cc7c7cd3f3b9a0c23cd8c136ae1331e7fa7cc995189088e7e6f2276c78b2b84e21c2a2b93f4528b5e9e4018dd6525262c8aaba3bc8a1412a51dfafd101f7
+EBUILD createrepo_c-0.20.1-r1.ebuild 1561 BLAKE2B e54b99c0e37586814d5e140acc121d31cc81c429c15160670b59d731a6d554ae9cb20c0dc8a037dea632a7bd663d230a835ddf9d058b3d7dbbc8931854d6838e SHA512 5c2a53a91d36912eb21cf7822b85fb9256949bb58c5969290ab5e59f71e8226758b58f4cc75ffd41614a329ef57d2949bb45a19e50ecd392ed6d7f3e95a54ae1
EBUILD createrepo_c-0.20.1.ebuild 978 BLAKE2B 0206efeb167f932d0565005e5d8e274d4251adf4dd8d46672a9652906b2f901d459103b3beac7eecf7f79a50d4c81afa19c27b3a989b4f45612f76a281bb7ddd SHA512 18e5a7aab9240fcb8026d0a25709dcccb57fe1c4781895e1e649b673a913b11f8dd7d3d2ff9c8347644707f0a4147bf47d7d99a8ad1a9af36ad3e3e4fe489c26
-MISC metadata.xml 456 BLAKE2B 3a11a7c27b90c9b0fbefa878722da0c6d79a63c6e2f0a913a7ab1b409746cd7ab6c35631d9d19c3b0ed76e20bf02e63d4bff77ae46da0663cd096334bdc7f92b SHA512 65bc8020ece881e15fb1a0c9da195033bc0cdd780508500688ba500eab54359a9aa6f21bb071613c6cf240977ed52f94472c18869df538ac04caa2732fbd1e08
+EBUILD createrepo_c-9999.ebuild 1436 BLAKE2B 4383e35a05f083c7796646afb032d3c77e67aa002941c144ed86727a65f84cafbbc2d999d794220a41eb170b6f29f622f3c8aad2f16e5ad26ba36b5b515d76f8 SHA512 4076a55fa4c0a1fdc5f641453840a6255880f85323c322677ce781648713d586f8e694a5d75d061f57c4e3beb49185c9b98189cc399ab79073976ef658e153b5
+MISC metadata.xml 828 BLAKE2B 13ea8960341f448e8abb558701208a46dd0150ec12080efc456a51949120c46bf7621adb8591d6ed52be7ccee7572d924dfa764209ed442be74eb5b6a9f153db SHA512 9c6dbdad0aff7e4f2d309f1352848f75a4d59f7069bc7b46bc3d013e72d56bad6411051b2763e6dc644e6041ac291422de8afa6a2d4fcb49847f31267cb9f78d
diff --git a/app-arch/createrepo_c/createrepo_c-0.20.1-r1.ebuild b/app-arch/createrepo_c/createrepo_c-0.20.1-r1.ebuild
new file mode 100644
index 000000000000..9bd81ca8f784
--- /dev/null
+++ b/app-arch/createrepo_c/createrepo_c-0.20.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C implementation of createrepo"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
+else
+ SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="legacy test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/drpm
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zchunk
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ net-misc/curl
+ sys-apps/file
+ sys-libs/libmodulemd
+ sys-libs/zlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-Include-rpm-rpmstring.h-for-rasprintf.patch"
+ "${FILESDIR}/${P}-use-gio-instead-of-cp.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DRPM=ON
+ # As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
+ -DENABLE_PYTHON=OFF
+ # Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
+ -DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
+ -DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
+ -DWITH_LIBMODULEMD=ON
+ -DWITH_ZCHUNK=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # Tests have a magic target!
+ use test && cmake_src_compile tests
+}
+
+src_test() {
+ "${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
+}
diff --git a/app-arch/createrepo_c/createrepo_c-9999.ebuild b/app-arch/createrepo_c/createrepo_c-9999.ebuild
new file mode 100644
index 000000000000..da19ee9ac2f3
--- /dev/null
+++ b/app-arch/createrepo_c/createrepo_c-9999.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C implementation of createrepo"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
+else
+ SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="legacy test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/drpm
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zchunk
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ net-misc/curl
+ sys-apps/file
+ sys-libs/libmodulemd
+ sys-libs/zlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DRPM=ON
+ # As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
+ -DENABLE_PYTHON=OFF
+ # Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
+ -DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
+ -DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
+ -DWITH_LIBMODULEMD=ON
+ -DWITH_ZCHUNK=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # Tests have a magic target!
+ use test && cmake_src_compile tests
+}
+
+src_test() {
+ "${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
+}
diff --git a/app-arch/createrepo_c/files/createrepo_c-0.20.1-use-gio-instead-of-cp.patch b/app-arch/createrepo_c/files/createrepo_c-0.20.1-use-gio-instead-of-cp.patch
new file mode 100644
index 000000000000..c0b92d6b9994
--- /dev/null
+++ b/app-arch/createrepo_c/files/createrepo_c-0.20.1-use-gio-instead-of-cp.patch
@@ -0,0 +1,229 @@
+https://github.com/rpm-software-management/createrepo_c/pull/341
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Thu, 26 Jan 2023 01:48:16 +1100
+Subject: [PATCH 1/3] Add `cr_gio_cp` and deprecate `cr_cp`
+
+It's preferable to use glib gio to copy files rather than
+rely on the behaviour of the system cp binary.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,7 +32,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+ SET(G_LOG_DOMAIN "C_CREATEREPOLIB")
+
+ # Find necessary libraries
+-
++find_package(PkgConfig)
+ find_package(BZip2 REQUIRED)
+ find_package(CURL REQUIRED)
+ find_package(LibXml2 REQUIRED)
+@@ -40,6 +40,7 @@ find_package(OpenSSL REQUIRED)
+ find_package(ZLIB REQUIRED)
+
+ pkg_check_modules(GLIB2 REQUIRED glib-2.0)
++pkg_check_modules(GIO REQUIRED gio-2.0)
+ pkg_check_modules(GTHREAD2 REQUIRED gthread-2.0)
+ pkg_check_modules(LZMA REQUIRED liblzma)
+ pkg_check_modules(SQLITE3 REQUIRED sqlite3)
+@@ -57,6 +58,7 @@ ENDIF()
+ include_directories(${BZIP2_INCLUDE_DIRS})
+ include_directories(${CURL_INCLUDE_DIRS})
+ include_directories(${GLIB2_INCLUDE_DIRS})
++include_directories(${GIO_INCLUDE_DIRS})
+ include_directories(${LIBXML2_INCLUDE_DIR})
+ include_directories(${OPENSSL_INCLUDE_DIR})
+ include_directories(${ZLIB_INCLUDE_DIR})
+@@ -154,4 +156,3 @@ ADD_SUBDIRECTORY (src)
+ ADD_SUBDIRECTORY (doc)
+ ENABLE_TESTING()
+ ADD_SUBDIRECTORY (tests EXCLUDE_FROM_ALL)
+-
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -70,6 +70,7 @@ ADD_LIBRARY(libcreaterepo_c ${createrepo_c_library_type} ${createrepo_c_SRCS})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${GLIB2_LIBRARIES})
++TARGET_LINK_LIBRARIES(libcreaterepo_c ${GIO_LIBRARIES})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMAGIC_LIBRARIES})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMODULEMD_LIBRARIES})
+ TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES})
+--- a/src/helpers.c
++++ b/src/helpers.c
+@@ -19,6 +19,7 @@
+
+ #include <glib.h>
+ #include <glib/gstdio.h>
++#include <gio/gio.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <time.h>
+@@ -448,10 +449,9 @@ cr_old_metadata_retention(const char *old_repo,
+ continue;
+ }
+
+- // COPY!
+- cr_cp(full_path,
+- new_full_path,
+- CR_CP_RECURSIVE|CR_CP_PRESERVE_ALL,
++ cr_gio_cp(g_file_new_for_path(full_path),
++ g_file_new_for_path(new_full_path),
++ G_FILE_COPY_ALL_METADATA,
+ NULL,
+ &tmp_err);
+
+@@ -476,5 +476,3 @@ cr_old_metadata_retention(const char *old_repo,
+
+ return ret;
+ }
+-
+-
+--- a/src/misc.c
++++ b/src/misc.c
+@@ -21,6 +21,7 @@
+
+ #include <glib/gstdio.h>
+ #include <glib.h>
++#include <gio/gio.h>
+ #include <arpa/inet.h>
+ #include <assert.h>
+ #include <curl/curl.h>
+@@ -794,8 +795,6 @@ cr_download(CURL *in_handle,
+ return CRE_OK;
+ }
+
+-
+-
+ gboolean
+ cr_better_copy_file(const char *src, const char *in_dst, GError **err)
+ {
+@@ -820,7 +819,6 @@ cr_better_copy_file(const char *src, const char *in_dst, GError **err)
+ return TRUE;
+ }
+
+-
+ int
+ cr_remove_dir_cb(const char *fpath,
+ G_GNUC_UNUSED const struct stat *sb,
+@@ -856,7 +854,7 @@ gboolean
+ cr_move_recursive(const char *srcDir, const char *dstDir, GError **err)
+ {
+ if (rename(srcDir, dstDir) == -1) {
+- if (!cr_cp(srcDir, dstDir, CR_CP_RECURSIVE, NULL, err))
++ if (!cr_gio_cp(g_file_new_for_path(srcDir), g_file_new_for_path(dstDir), G_FILE_COPY_ALL_METADATA, NULL, err))
+ return FALSE;
+ return (cr_remove_dir(srcDir, err) == CRE_OK);
+ }
+@@ -1425,6 +1423,44 @@ cr_cp(const char *src,
+ return ret;
+ }
+
++gboolean
++cr_gio_cp(GFile *src,
++ GFile *dst,
++ GFileCopyFlags flags,
++ GCancellable *cancellable,
++ GError **err)
++{
++ assert(src);
++ assert(dst);
++ assert(!err || *err == NULL);
++
++ GFileType type = g_file_query_file_type(src, G_FILE_QUERY_INFO_NONE, NULL);
++
++ if (type == G_FILE_TYPE_DIRECTORY) {
++ g_file_make_directory(dst, cancellable, err);
++ g_file_copy_attributes(src, dst, flags, cancellable, err);
++
++ GFileEnumerator *enumerator = g_file_enumerate_children(src, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NONE, cancellable, err);
++ for (GFileInfo *info = g_file_enumerator_next_file(enumerator, cancellable, err); info != NULL; info = g_file_enumerator_next_file(enumerator, cancellable, err)) {
++ const char *relative_path = g_file_info_get_name(info);
++ cr_gio_cp(
++ g_file_resolve_relative_path(src, relative_path),
++ g_file_resolve_relative_path(dst, relative_path),
++ flags, cancellable, err);
++ }
++ } else if (type == G_FILE_TYPE_REGULAR) {
++ g_file_copy(src, dst, flags, cancellable, NULL, NULL, err);
++ }
++
++ if (err != NULL) {
++ return TRUE;
++ }
++ else {
++ return FALSE;
++ }
++
++}
++
+ gboolean
+ cr_rm(const char *path,
+ cr_RmFlags flags,
+--- a/src/misc.h
++++ b/src/misc.h
+@@ -26,6 +26,7 @@ extern "C" {
+
+ #include <glib.h>
+ #include <string.h>
++#include <gio/gio.h>
+ #include <curl/curl.h>
+ #include "compression_wrapper.h"
+ #include "xml_parser.h"
+@@ -449,7 +450,7 @@ typedef enum {
+ preserve the all attributes (if possible) */
+ } cr_CpFlags;
+
+-/** Recursive copy of directory (works on files as well)
++/** Wrapper for cp
+ * @param src Source (supports wildcards)
+ * @param dst Destination (supports wildcards)
+ * @param flags Flags
+@@ -461,6 +462,20 @@ cr_cp(const char *src,
+ const char *dst,
+ cr_CpFlags flags,
+ const char *working_directory,
++ GError **err) __attribute__ ((deprecated ("please use `cr_gio_cp` instead")));
++
++/** Recursive copy of directory (works on files as well)
++ * @param src Source (supports wildcards)
++ * @param dst Destination (supports wildcards)
++ * @param flags Flags
++ * @param cancellable Can this be cancelled by another thread?
++ * @param err GError **
++ */
++gboolean
++cr_gio_cp(GFile *src,
++ GFile *dst,
++ GFileCopyFlags flags,
++ GCancellable *cancellable,
+ GError **err);
+
+ typedef enum {
+
+From 9fa5809150d2021186d4a822c38d5488cd4986dc Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Fri, 27 Jan 2023 18:17:23 +1100
+Subject: [PATCH 2/3] Add to AUTHORS
+
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -10,3 +10,4 @@ Neal Gompa <ngompa13@gmail.com>
+ Ralph Bean <rbean@redhat.com>
+ Frank Schreiner <schreiner@suse.de>
+ Daniel Alley <dalley@redhat.com>
++Matt Jolly <matt.jolly@footclan.ninja>
+
+From e6769f0e343cbeea1beee703b984307634691677 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Fri, 27 Jan 2023 20:06:21 +1100
+Subject: [PATCH 3/3] Update minimum CMake version
+
+Modern CMake warns of deprecation of <2.8.12, let's use that instead
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ PROJECT (createrepo_c C)
+-CMAKE_MINIMUM_REQUIRED (VERSION 2.8.10)
++CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)
+
+ include(GNUInstallDirs)
+
diff --git a/app-arch/createrepo_c/metadata.xml b/app-arch/createrepo_c/metadata.xml
index 142bf59db6a8..d3f01feb9062 100644
--- a/app-arch/createrepo_c/metadata.xml
+++ b/app-arch/createrepo_c/metadata.xml
@@ -5,10 +5,21 @@
<email>jaco@uls.co.za</email>
<name>Jaco Kroon</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>Matt.Jolly@footclan.ninja</email>
+ <name>Matt Jolly</name>
+ </maintainer>
<maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="legacy">Build with support for legacy weakdeps and hashes (not recommended!)</flag>
+ </use>
<upstream>
<remote-id type="github">rpm-software-management/createrepo_c</remote-id>
</upstream>
diff --git a/app-arch/drpm/Manifest b/app-arch/drpm/Manifest
new file mode 100644
index 000000000000..da7f59c2d8ea
--- /dev/null
+++ b/app-arch/drpm/Manifest
@@ -0,0 +1,5 @@
+AUX drpm-0.5.1-c99.patch 577 BLAKE2B b3356702f5acbfd19338c4fa00dc9a04bf896ca002b728e59bdd05326f7053ea688e56ce78b2a60d026fe90c73e4dbd83e256b9f8513035cf9a1335d19ab7bc4 SHA512 cd46f911bea051979de4e9fb633a4d5179f870af32de5bc8f487bc201bc3be18ccfc0838a12233920fe6acc0a917b2804d9d0e3f67c7bf4f7d87808ef97d3fe5
+DIST drpm-0.5.1.tar.gz 138766 BLAKE2B dd64d925fa0e3975e2ca6f87fcddf10e376241d6b69a0f682cc5d6c006ef6aba7c021bcb98d049f4ce171b1561f36a07701e9eb47e0ac3c8315ee2d6d774c7c7 SHA512 5d4be3148075c6e0c560f97169a14e669a01ed48ef9228d8fc299b54da653ddec1110971a5b2bf455cc72cd1538d8c95e817428f73dd1d7ce07773822c05b3c5
+EBUILD drpm-0.5.1.ebuild 1020 BLAKE2B 80333d0c2bcdfeff82db852e63ecbcea2bbc78e397b5d13da09eb4c997ecffdbd9b5fb28b936d203945f15502910a9ac97260183ae02e62afca67e2972cfc9a8 SHA512 2da92edd368fb7d9eee1f6cf9e92091ecfcb07e6190e893d9db748e24a6ef1d51807d6116341e21fcdcee42468d3a5fe1cd098ab5d5b8d72b5f392f54e2605fa
+EBUILD drpm-9999.ebuild 978 BLAKE2B 6a877cbaa779a00fe8fe580ced07806f58cf01c19cedef1064870d4fe35a57de19b8e88f628dcaa5de42609f83eb3d77544e4b0d2ba6127c3563012642c3b406 SHA512 25260fe9a18b75d272dd148159d8d880797b4960ca61fe94b537fb3ada4ff99bc8b61cfd2bc187ddfcb08175de3eb7ac86ab2842a206ab4730454e772032aafe
+MISC metadata.xml 623 BLAKE2B e76fda9b7e7e5e63fef82fcb80872ef84ed4adc68c07e812db5d5b460a55b467f525bdf0f1e8ab86b1de1b192067cf47ea0e2cc2e1cec8c814f01d20d7237216 SHA512 e55feb7f5b8c63a0bacfc4aca64d4684e196fb41f850e8c3fb64449ce8ce91603dc8bbdb5c916b47ac2d1cf78148d16b3fd8cd789cd4afea320ac9f8f9d019d3
diff --git a/app-arch/drpm/drpm-0.5.1.ebuild b/app-arch/drpm/drpm-0.5.1.ebuild
new file mode 100644
index 000000000000..8cb80e38d855
--- /dev/null
+++ b/app-arch/drpm/drpm-0.5.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for making, reading and applying deltarpm packages"
+HOMEPAGE="https://github.com/rpm-software-management/drpm"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
+else
+ SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="lzip test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/rpm
+ app-arch/xz-utils
+ dev-libs/openssl:=
+ sys-libs/zlib
+ lzip? ( app-arch/lzlib )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}
+ test? ( dev-util/cmocka )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-c99.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
+ -DWITH_ZSTD=$(usex zstd ON OFF)
+ -DENABLE_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/drpm/drpm-9999.ebuild b/app-arch/drpm/drpm-9999.ebuild
new file mode 100644
index 000000000000..668173c3e540
--- /dev/null
+++ b/app-arch/drpm/drpm-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for making, reading and applying deltarpm packages"
+HOMEPAGE="https://github.com/rpm-software-management/drpm"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
+else
+ SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="lzip test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/rpm
+ app-arch/xz-utils
+ dev-libs/openssl:=
+ sys-libs/zlib
+ lzip? ( app-arch/lzlib )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}
+ test? ( dev-util/cmocka )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
+ -DWITH_ZSTD=$(usex zstd ON OFF)
+ -DENABLE_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/drpm/files/drpm-0.5.1-c99.patch b/app-arch/drpm/files/drpm-0.5.1-c99.patch
new file mode 100644
index 000000000000..208284f53cff
--- /dev/null
+++ b/app-arch/drpm/files/drpm-0.5.1-c99.patch
@@ -0,0 +1,18 @@
+https://github.com/rpm-software-management/drpm/commit/0bde9b7711a2fa8b811830cadfc979365f9362c6
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 12 Jan 2023 08:17:19 +0100
+Subject: [PATCH] C99 compatibility fix for drpm_write.c
+
+Include <string.h> for various string functions. This avoids
+implicit function declarations and resulting build failures with
+future compilers.
+--- a/src/drpm_write.c
++++ b/src/drpm_write.c
+@@ -23,6 +23,7 @@
+
+ #include <stdio.h>
+ #include <stdint.h>
++#include <string.h>
+ #include <fcntl.h>
+ #include <openssl/md5.h>
+ #include <rpm/rpmlib.h>
diff --git a/app-arch/drpm/metadata.xml b/app-arch/drpm/metadata.xml
new file mode 100644
index 000000000000..b43a6f0c5f62
--- /dev/null
+++ b/app-arch/drpm/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>Matt.Jolly@footclan.ninja</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="lzip">Enable <pkg>app-arch/lzip</pkg> decompression support via <pkg>app-arch/lzlib</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">rpm-software-management/drpm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/zchunk/Manifest b/app-arch/zchunk/Manifest
new file mode 100644
index 000000000000..a508eb4c20ba
--- /dev/null
+++ b/app-arch/zchunk/Manifest
@@ -0,0 +1,4 @@
+DIST zchunk-1.2.3.tar.gz 1508271 BLAKE2B 7432289f3730083d0634c32f03d1daf2570c21e94ebab0aabeee4527f7ba56aef5cc567dfdb8ede701bea5d0cda4f248f0cf0fdb04e4f5ee1effb888a2907ec9 SHA512 5e46d8c3e36034de8424937cdfac59acdfaf332203e6e5d8b290614cbbe0340998d53b0583b0ef93189f41dc89219a75f50572757ebcea9abd83bd9aad861a73
+EBUILD zchunk-1.2.3.ebuild 569 BLAKE2B c9681269bf4802fb0a1018ecd814b2f6c8da2e747d0e7c10a99f7e0b0963fa82a2688a162e6b96375f1311e5d80ee6c69ccc151e8253386a2b802fadb7ef660d SHA512 938f2e7e8a190708900e4dc74691453902f9332d82bb8445f05ee7d2c20c6d7c155d2903b6c425d0ec5d72fc87a39a0b643700cfb79d0e7a24b2f355f19acf92
+EBUILD zchunk-9999.ebuild 569 BLAKE2B c9681269bf4802fb0a1018ecd814b2f6c8da2e747d0e7c10a99f7e0b0963fa82a2688a162e6b96375f1311e5d80ee6c69ccc151e8253386a2b802fadb7ef660d SHA512 938f2e7e8a190708900e4dc74691453902f9332d82bb8445f05ee7d2c20c6d7c155d2903b6c425d0ec5d72fc87a39a0b643700cfb79d0e7a24b2f355f19acf92
+MISC metadata.xml 481 BLAKE2B f6888c5e64deafa0b7f52a0f1b4c611c610108d91b7f8fd831f49ebc5fe67e5fae1c57e7bef2c1a51510b9beab33ace6aaa25bf6f88ce0d10f39d7c8479b7d06 SHA512 16d3ff19941ec61f62377ea01af9cfa0bc428e05f21610105ab02b3f9ad9464a28e74f2709249014f1720e7c2dd13cc8b3b7d02a880d8a785231af29d7e7b5c2
diff --git a/app-arch/zchunk/metadata.xml b/app-arch/zchunk/metadata.xml
new file mode 100644
index 000000000000..40e1e399be6c
--- /dev/null
+++ b/app-arch/zchunk/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>Matt.Jolly@footclan.ninja</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zchunk/zchunk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/zchunk/zchunk-1.2.3.ebuild b/app-arch/zchunk/zchunk-1.2.3.ebuild
new file mode 100644
index 000000000000..76677dce82f5
--- /dev/null
+++ b/app-arch/zchunk/zchunk-1.2.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="File format designed for highly efficient deltas with good compression"
+HOMEPAGE="https://github.com/zchunk/zchunk"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
+else
+ SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+DEPEND="
+ app-arch/zstd:=
+ net-misc/curl
+ dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"
diff --git a/app-arch/zchunk/zchunk-9999.ebuild b/app-arch/zchunk/zchunk-9999.ebuild
new file mode 100644
index 000000000000..76677dce82f5
--- /dev/null
+++ b/app-arch/zchunk/zchunk-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="File format designed for highly efficient deltas with good compression"
+HOMEPAGE="https://github.com/zchunk/zchunk"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
+else
+ SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+DEPEND="
+ app-arch/zstd:=
+ net-misc/curl
+ dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"