summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/xdelta/ChangeLog8
-rw-r--r--dev-util/xdelta/files/digest-xdelta-1.1.3-r33
-rw-r--r--dev-util/xdelta/files/xdelta-1.1.3-glib2.patch227
-rw-r--r--dev-util/xdelta/xdelta-1.1.3-r3.ebuild39
4 files changed, 276 insertions, 1 deletions
diff --git a/dev-util/xdelta/ChangeLog b/dev-util/xdelta/ChangeLog
index 40f47cee6eac..0bff71713a46 100644
--- a/dev-util/xdelta/ChangeLog
+++ b/dev-util/xdelta/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/xdelta
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/ChangeLog,v 1.28 2007/08/13 20:51:36 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/ChangeLog,v 1.29 2007/10/13 15:02:34 drac Exp $
+
+*xdelta-1.1.3-r3 (13 Oct 2007)
+
+ 13 Oct 2007; Samuli Suominen <drac@gentoo.org>
+ +files/xdelta-1.1.3-glib2.patch, +xdelta-1.1.3-r3.ebuild:
+ Upgrade from GLIB1 to 2.
13 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org>
xdelta-1.1.3-r2.ebuild:
diff --git a/dev-util/xdelta/files/digest-xdelta-1.1.3-r3 b/dev-util/xdelta/files/digest-xdelta-1.1.3-r3
new file mode 100644
index 000000000000..1dafeff410a5
--- /dev/null
+++ b/dev-util/xdelta/files/digest-xdelta-1.1.3-r3
@@ -0,0 +1,3 @@
+MD5 08e964c28541605b6fe61c0dd6595516 xdelta-1.1.3.tar.gz 242101
+RMD160 ba0470678f8f466229fcfce851b40f66010b63e1 xdelta-1.1.3.tar.gz 242101
+SHA256 f1c9c40afa3101f9cca15ebb91d888d2a1592555e5b66ddd592b0bacff94eddf xdelta-1.1.3.tar.gz 242101
diff --git a/dev-util/xdelta/files/xdelta-1.1.3-glib2.patch b/dev-util/xdelta/files/xdelta-1.1.3-glib2.patch
new file mode 100644
index 000000000000..62ce506122ce
--- /dev/null
+++ b/dev-util/xdelta/files/xdelta-1.1.3-glib2.patch
@@ -0,0 +1,227 @@
+--- xdelta-1.1.3/libedsio/edsio.h.glib2 2001-06-12 05:16:41.000000000 +0200
++++ xdelta-1.1.3/libedsio/edsio.h 2006-05-29 16:45:35.000000000 +0200
+@@ -480,49 +480,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.3/libedsio/edsio.c.glib2 2001-09-24 08:48:52.000000000 +0200
++++ xdelta-1.1.3/libedsio/edsio.c 2006-05-29 16:45:35.000000000 +0200
+@@ -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);
+ }
+@@ -1481,130 +1481,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.3/configure.in.glib2 2006-05-29 16:46:35.000000000 +0200
++++ xdelta-1.1.3/configure.in 2006-05-29 16:46:38.000000000 +0200
+@@ -71,13 +71,13 @@
+ 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/))
+
+ AC_CHECK_LIB(z, gzsetparams,
+- AC_CHECK_HEADER(zlib.h,,
+- AC_MSG_ERROR(ZLIB headers not found)),
+- AC_MSG_ERROR(ZLIB library not found))
++ [AC_CHECK_HEADER(zlib.h,,
++ AC_MSG_ERROR(ZLIB headers not found))],
++ [AC_MSG_ERROR(ZLIB library not found)])
+
+ AC_OUTPUT(Makefile
+ doc/Makefile
diff --git a/dev-util/xdelta/xdelta-1.1.3-r3.ebuild b/dev-util/xdelta/xdelta-1.1.3-r3.ebuild
new file mode 100644
index 000000000000..fdb441df6c98
--- /dev/null
+++ b/dev-util/xdelta/xdelta-1.1.3-r3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/xdelta/xdelta-1.1.3-r3.ebuild,v 1.1 2007/10/13 15:02:34 drac Exp $
+
+inherit autotools eutils toolchain-funcs
+
+DESCRIPTION="Computes changes between binary or text files and creates deltas"
+HOMEPAGE="http://xdelta.sourceforge.net"
+SRC_URI="mirror://sourceforge/xdelta/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=dev-libs/glib-2
+ >=sys-libs/zlib-1.1.4"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-freegen.patch
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+ epatch "${FILESDIR}"/${P}-64bit.patch
+ epatch "${FILESDIR}"/${P}-glib2.patch
+ eautoreconf
+}
+
+src_compile() {
+ tc-export CC
+ econf
+ emake || die "emake failed."
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc AUTHORS ChangeLog NEWS README
+}