From 047c57cb23701aa51c17add89c1640e7ec2cc08b Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Wed, 14 May 2025 17:19:59 +0200 Subject: [PATCH] dev-util/xdelta: new package It's from Gentoo commit 91137d52c4f6307b512c6f447236bc75e8f8b3ec. Signed-off-by: Mathieu Tortuyaux --- .../portage-stable/dev-util/xdelta/Manifest | 2 + .../xdelta/files/xdelta-1.1.4-glib2.patch | 221 ++++++++++++++++++ .../xdelta/files/xdelta-1.1.4-gzip.patch | 59 +++++ .../xdelta/files/xdelta-1.1.4-m4.patch | 11 + .../xdelta/files/xdelta-1.1.4-pkgconfig.patch | 113 +++++++++ .../dev-util/xdelta/metadata.xml | 12 + .../dev-util/xdelta/xdelta-1.1.4-r4.ebuild | 43 ++++ .../dev-util/xdelta/xdelta-3.0.11-r1.ebuild | 39 ++++ 8 files changed, 500 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-glib2.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-gzip.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-m4.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-pkgconfig.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/metadata.xml create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-1.1.4-r4.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.0.11-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/Manifest new file mode 100644 index 0000000000..5ad02861c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/Manifest @@ -0,0 +1,2 @@ +DIST xdelta-1.1.4.tar.gz 423529 BLAKE2B b565f82ba0504118b74127096939e5699ea312be5c6c8a345abfcf0fb01b45e759abe595b33619b2714671e2f0307d603366a1f7a6b1fb5a786378716a51df6b SHA512 eef45f7977e9a7f490b881f33ab8a948cc5eff9300ea850cc30062905c8e883c104961f075f56f7ce8e385142c35de168aef1e0b8169bda66786ea4bee33168b +DIST xdelta3-3.0.11.tar.gz 683605 BLAKE2B bc33c9d6a3bb21bc52d72bba54f5e2b1058ea8d7cd7474aaf6dbdc27e165e0fbea644c584402f5bbc8ace7cd6a3aefae18588a659418f93eb041168545363bf4 SHA512 41c48e28f92ad50a737cf0acac150fe17d1132e9a652c482d751c8c4e745c6922d576a183eeabae343a1a238ed8c53353e537977628c86eb599ab3d1c01e7c52 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-glib2.patch b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-glib2.patch new file mode 100644 index 0000000000..916b3ee2c0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-glib2.patch @@ -0,0 +1,221 @@ +Nicked from http://cvs.fedoraproject.org/viewvc/devel/xdelta/xdelta-1.1.4-glib2.patch + + +--- xdelta-1.1.4pre1/libedsio/edsio.c.glib2 2007-01-29 14:55:10.000000000 +0100 ++++ xdelta-1.1.4pre1/libedsio/edsio.c 2007-01-29 14:56:52.000000000 +0100 +@@ -179,9 +179,9 @@ + } + } + +- while (g_queue_get_size (queued) > 0) ++ while (g_queue_get_length (queued) > 0) + { +- DelayedEvent* de = g_queue_pop (queued); ++ DelayedEvent* de = g_queue_pop_head (queued); + + for (i = 0; i < all_event_watchers->len; i += 1) + { +@@ -211,7 +211,7 @@ + de->def = def; + de->msg = out->str; + +- g_queue_push (queued, de); ++ g_queue_push_tail (queued, de); + + g_ptr_array_add (free_strings, out); + } +@@ -1482,129 +1482,3 @@ + g_free (source); + } + +-/* Missing glib stuff +- */ +- +-GQueue * +-g_queue_new (void) +-{ +- GQueue *q = g_new (GQueue, 1); +- +- q->list = q->list_end = NULL; +- q->list_size = 0; +- +- return q; +-} +- +- +-void +-g_queue_free (GQueue *q) +-{ +- if (q) +- { +- if (q->list) +- g_list_free (q->list); +- g_free (q); +- } +-} +- +- +-guint +-g_queue_get_size (GQueue *q) +-{ +- return (q == NULL) ? 0 : q->list_size; +-} +- +- +-void +-g_queue_push_front (GQueue *q, gpointer data) +-{ +- if (q) +- { +- q->list = g_list_prepend (q->list, data); +- +- if (q->list_end == NULL) +- q->list_end = q->list; +- +- q->list_size++; +- } +-} +- +- +-void +-g_queue_push_back (GQueue *q, gpointer data) +-{ +- if (q) +- { +- q->list_end = g_list_append (q->list_end, data); +- +- if (! q->list) +- q->list = q->list_end; +- else +- q->list_end = q->list_end->next; +- +- q->list_size++; +- } +-} +- +- +-gpointer +-g_queue_pop_front (GQueue *q) +-{ +- gpointer data = NULL; +- +- if ((q) && (q->list)) +- { +- GList *node; +- +- node = q->list; +- data = node->data; +- +- if (! node->next) +- { +- q->list = q->list_end = NULL; +- q->list_size = 0; +- } +- else +- { +- q->list = node->next; +- q->list->prev = NULL; +- q->list_size--; +- } +- +- g_list_free_1 (node); +- } +- +- return data; +-} +- +- +-gpointer +-g_queue_pop_back (GQueue *q) +-{ +- gpointer data = NULL; +- +- if ((q) && (q->list)) +- { +- GList *node; +- +- node = q->list_end; +- data = node->data; +- +- if (! node->prev) +- { +- q->list = q->list_end = NULL; +- q->list_size = 0; +- } +- else +- { +- q->list_end = node->prev; +- q->list_end->next = NULL; +- q->list_size--; +- } +- +- g_list_free_1 (node); +- } +- +- return data; +-} +--- xdelta-1.1.4pre1/libedsio/edsio.h.glib2 2007-01-29 14:54:38.000000000 +0100 ++++ xdelta-1.1.4pre1/libedsio/edsio.h 2007-01-29 14:55:00.000000000 +0100 +@@ -481,49 +481,6 @@ + + #endif + +-/* Missing glib stuff +- */ +- +-typedef struct _GQueue GQueue; +- +-struct _GQueue +-{ +- GList *list; +- GList *list_end; +- guint list_size; +-}; +- +-/* Queues +- */ +- +-GQueue * g_queue_new (void); +-void g_queue_free (GQueue *q); +-guint g_queue_get_size (GQueue *q); +-void g_queue_push_front (GQueue *q, gpointer data); +-void g_queue_push_back (GQueue *q, gpointer data); +-gpointer g_queue_pop_front (GQueue *q); +-gpointer g_queue_pop_back (GQueue *q); +- +-#define g_queue_empty(queue) \ +- ((((GQueue *)(queue)) && ((GQueue *)(queue))->list) ? FALSE : TRUE) +- +-#define g_queue_peek_front(queue) \ +- ((((GQueue *)(queue)) && ((GQueue *)(queue))->list) ? \ +- ((GQueue *)(queue))->list->data : NULL) +- +-#define g_queue_peek_back(queue) \ +- ((((GQueue *)(queue)) && ((GQueue *)(queue))->list_end) ? \ +- ((GQueue *)(queue))->list_end->data : NULL) +- +-#define g_queue_index(queue,ptr) \ +- ((((GQueue *)(queue)) && ((GQueue *)(queue))->list) ? \ +- g_list_index (((GQueue *)(queue))->list, (ptr)) : -1) +- +-#define g_queue_push g_queue_push_back +-#define g_queue_pop g_queue_pop_front +-#define g_queue_peek g_queue_peek_front +- +- + #ifdef __cplusplus + } + #endif +--- xdelta-1.1.4pre1/configure.in.glib2 2007-01-29 14:58:06.000000000 +0100 ++++ xdelta-1.1.4pre1/configure.in 2007-01-29 14:59:18.000000000 +0100 +@@ -71,8 +71,8 @@ + top_srcdir_absolute=`cd $srcdir; pwd` + AC_SUBST(top_srcdir_absolute) + +-AM_PATH_GLIB(1.2.8,, +- AC_MSG_ERROR(Test for GLIB failed. Download it from ftp://ftp.gtk.org/pub/gtk/v1.2/)) ++AM_PATH_GLIB_2_0(2.10.0,, ++ AC_MSG_ERROR(Test for GLIB2.0 failed. Download it from ftp://ftp.gtk.org/pub/gtk/v2.10/)) + + dnl AC_CHECK_LIB(z, gzsetparams, */ + dnl AC_CHECK_HEADER(zlib.h,, */ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-gzip.patch b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-gzip.patch new file mode 100644 index 0000000000..67696da730 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-gzip.patch @@ -0,0 +1,59 @@ +https://bugs.gentoo.org/919228 + +--- a/test/xdeltatest.c ++++ b/test/xdeltatest.c +@@ -512,7 +512,7 @@ run_command (TestProfile *tp, int zlevel, int slevel, File* from, File* to, File + if (zlevel > 0 && starts_with (tp->name, "diff")) + { + Patch *patch = read_patch (out, & sbuf); +- gzFile *rewrite = gzopen (out->name, diff_gzargs); ++ gzFile rewrite = gzopen (out->name, diff_gzargs); + + if (! rewrite) fail (); + +diff --git a/xdelta-1.1.4/xdmain.c b/../../xdelta-1.1.4.new/xdmain.c +index b1abc74..9c27195 100755 +--- a/xdmain.c ++++ b/xdmain.c +@@ -179,6 +179,7 @@ struct _XdFileHandle + guint narrow_high; + guint current_pos; + FILE* in; ++ gzFile zin; + gboolean (* in_read) (XdFileHandle* handle, void* buf, gint nbyte); + gboolean (* in_close) (XdFileHandle* handle); + gboolean in_compressed; +@@ -520,7 +521,7 @@ xd_gzwrite (XdFileHandle* fh, const void* buf, gint nbyte) + static gboolean + xd_gzread (XdFileHandle* fh, void* buf, gint nbyte) + { +- return gzread (fh->in, buf, nbyte) == nbyte; ++ return gzread (fh->zin, buf, nbyte) == nbyte; + } + + static gboolean +@@ -532,7 +533,7 @@ xd_gzclose (XdFileHandle* fh) + static gboolean + xd_gzrclose (XdFileHandle* fh) + { +- return gzclose (fh->in) == Z_OK; ++ return gzclose (fh->zin) == Z_OK; + } + + static void +@@ -1022,13 +1023,13 @@ xd_handle_narrow (XdFileHandle* fh, guint low, guint high, gboolean compressed) + } + + g_assert (fh->fd >= 0); +- fh->in = gzdopen (dup (fh->fd), "rb"); ++ fh->zin = gzdopen (dup (fh->fd), "rb"); + fh->in_read = &xd_gzread; + fh->in_close = &xd_gzrclose; + fh->in_compressed = TRUE; + fh->current_pos = 0; + +- if (! fh->in) ++ if (! fh->zin) + { + xd_error ("gzdopen failed: %s\n", g_strerror (errno)); + return -1; diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-m4.patch b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-m4.patch new file mode 100644 index 0000000000..ad8c99de59 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-m4.patch @@ -0,0 +1,11 @@ +--- xdelta-1.1.3/xdelta.m4.aclocal 2004-10-20 00:20:47.875648144 +0200 ++++ xdelta-1.1.3/xdelta.m4 2004-10-20 00:21:47.205628616 +0200 +@@ -4,7 +4,7 @@ + dnl AM_PATH_XDELTA([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) + dnl Test for XDELTA, and define XDELTA_CFLAGS and XDELTA_LIBS, if "gmodule" or + dnl +-AC_DEFUN(AM_PATH_XDELTA, ++AC_DEFUN([AM_PATH_XDELTA], + [dnl + dnl Get the cflags and libraries from the xdelta-config script + dnl diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-pkgconfig.patch b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-pkgconfig.patch new file mode 100644 index 0000000000..bb509b8d43 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/files/xdelta-1.1.4-pkgconfig.patch @@ -0,0 +1,113 @@ +Nicked from http://cvs.fedoraproject.org/viewvc/devel/xdelta/xdelta-1.1.3-pkgconfig.patch + +--- /dev/null 2006-05-17 14:47:01.398050000 +0200 ++++ xdelta-1.1.3/xdelta.pc.in 2006-05-30 16:00:55.000000000 +0200 +@@ -0,0 +1,13 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++pkgdatadir=@pkgdatadir@ ++ ++Name: xdelta ++Description: A binary file delta generator and an RCS replacement library. ++Version: @VERSION@ ++Requires: glib-2.0 ++Libs: -L${libdir} -lxdelta -ledsio ++Cflags: -I${includedir} ++ +--- /dev/null 2006-05-17 14:47:01.398050000 +0200 ++++ xdelta-1.1.3/xdelta-config 2006-05-30 16:04:22.000000000 +0200 +@@ -0,0 +1,60 @@ ++#!/bin/bash ++# ++# Simple wrapper around pkg-config to replace /usr/bin/-config scripts ++# ++# Copyright 2006 Red Hat, Inc. ++# Jeremy Katz ++ ++CFGPATH=$(basename $0) ++MODULE=${CFGPATH%-config} ++ ++usage() { ++ pkg-config --help ++ exit 1 ++} ++ ++if [ $# -lt 1 ]; then ++ usage 1>&2 ++fi ++ ++ARGS="" ++ ++while test $# -gt 0; do ++ case $1 in ++ --version) ++ ARGS="$ARGS --modversion" ++ ;; ++ --cflags) ++ ARGS="$ARGS --cflags" ++ ;; ++ --libs) ++ ARGS="$ARGS --libs" ++ ;; ++ --libdir*) ++ ARGS="$ARGS --libs-only-L" ++ ;; ++ --includedir*) ++ ARGS="$ARGS --cflags-only-I" ++ ;; ++ --prefix*) ++ ARGS="$ARGS --variable=prefix" ++ ;; ++ --exec-prefix*) ++ ARGS="$ARGS --variable=exec_prefix" ++ ;; ++ --module*) ++ if echo $1 | grep -q '=' ; then ++ MODULE=`echo $1 | sed 's/^--module=//'` ++ else ++ MODULE=$2 ++ shift ++ fi ++ ;; ++ *) ++ usage 1>&2 ++ ;; ++ esac ++ shift ++done ++ ++pkg-config $ARGS $MODULE +--- xdelta-1.1.3/Makefile.am.pkgconfig 2006-05-30 16:00:55.000000000 +0200 ++++ xdelta-1.1.3/Makefile.am 2006-05-30 16:00:55.000000000 +0200 +@@ -27,6 +27,9 @@ + m4datadir = $(datadir)/aclocal + m4data_DATA = xdelta.m4 + ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = xdelta.pc ++ + ## $Format: "libxdelta_la_LDFLAGS = -version-info $LibCurrent$:$LibRevision$:$LibAge$" $ + libxdelta_la_LDFLAGS = -version-info 2:0:0 + +--- xdelta-1.1.3/configure.in.pkgconfig 2006-05-30 16:00:55.000000000 +0200 ++++ xdelta-1.1.3/configure.in 2006-05-30 16:00:55.000000000 +0200 +@@ -63,6 +63,8 @@ + AC_HEADER_STDC + AC_PROG_MAKE_SET + ++PKG_PROG_PKG_CONFIG ++ + AC_CHECK_FUNCS(gettimeofday) + AC_HEADER_TIME + +@@ -83,7 +85,7 @@ + doc/Makefile + test/Makefile + djgpp/Makefile +- xdelta-config ++ xdelta.pc + libedsio/Makefile + libedsio/edsio-comp, + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/metadata.xml new file mode 100644 index 0000000000..f01eaf4508 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/metadata.xml @@ -0,0 +1,12 @@ + + + + + mgorny@gentoo.org + Michał Górny + + + xdelta + jmacd/xdelta-devel + + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-1.1.4-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-1.1.4-r4.ebuild new file mode 100644 index 0000000000..c324bb650d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-1.1.4-r4.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Computes changes between binary or text files and creates deltas" +HOMEPAGE="https://xdelta.googlecode.com/" +SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm64 ~hppa ppc ppc64 sparc x86" + +RDEPEND=">=dev-libs/glib-2 + >=sys-libs/zlib-1.1.4:=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-m4.patch" + "${FILESDIR}/${P}-glib2.patch" + "${FILESDIR}/${P}-pkgconfig.patch" + "${FILESDIR}/${P}-gzip.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + tc-export CC + econf --disable-static +} + +src_install() { + default + + # no static archives + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.0.11-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.0.11-r1.ebuild new file mode 100644 index 0000000000..ca61eeba12 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.0.11-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2002-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P=xdelta3-${PV} + +DESCRIPTION="Computes changes between binary or text files and creates deltas" +HOMEPAGE="http://xdelta.org/" +SRC_URI="https://github.com/jmacd/xdelta-gpl/releases/download/v${PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="3" +KEYWORDS="~alpha amd64 ~arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" +IUSE="examples lzma" + +RDEPEND="lzma? ( app-arch/xz-utils:= )" +DEPEND="${RDEPEND}" + +src_configure() { + econf $(use_with lzma liblzma) +} + +src_compile() { + # avoid building tests + emake xdelta3 +} + +src_test() { + emake xdelta3regtest + ./xdelta3regtest || die +} + +src_install() { + emake DESTDIR="${D}" install-binPROGRAMS install-man1 + dodoc draft-korn-vcdiff.txt README.md + use examples && dodoc -r examples +}