summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2016-04-03 10:10:02 +0200
committerPacho Ramos <pacho@gentoo.org>2016-04-03 10:11:15 +0200
commit9ba62cffcabd2385108311789e3e626c9435f9bd (patch)
tree40036ba47c02595b8b56dae305a28d5ed01a5c25 /media-libs/libgpod
parentdev-lang/jwasm: bump up to 2.11a (diff)
downloadgentoo-9ba62cffcabd2385108311789e3e626c9435f9bd.tar.gz
gentoo-9ba62cffcabd2385108311789e3e626c9435f9bd.tar.bz2
gentoo-9ba62cffcabd2385108311789e3e626c9435f9bd.zip
media-libs/libgpod: Fix segfault (#565052 by Julien Papasian) and build failure (#537968 by Toralf Förster).
Package-Manager: portage-2.2.28
Diffstat (limited to 'media-libs/libgpod')
-rw-r--r--media-libs/libgpod/files/libgpod-0.8.3-comment.patch15
-rw-r--r--media-libs/libgpod/files/libgpod-0.8.3-segfault.patch28
-rw-r--r--media-libs/libgpod/libgpod-0.8.3-r1.ebuild78
3 files changed, 121 insertions, 0 deletions
diff --git a/media-libs/libgpod/files/libgpod-0.8.3-comment.patch b/media-libs/libgpod/files/libgpod-0.8.3-comment.patch
new file mode 100644
index 000000000000..6099b22870bc
--- /dev/null
+++ b/media-libs/libgpod/files/libgpod-0.8.3-comment.patch
@@ -0,0 +1,15 @@
+--- a/bindings/python/gpod.i.in.orig 2015-06-20 23:15:41.000000000 -0700
++++ b/bindings/python/gpod.i.in 2015-06-20 23:16:28.000000000 -0700
+@@ -298,9 +298,9 @@
+ %include "gpod_doc.i"
+ %include "@top_builddir@/config.h"
+
+-# be nicer to decode these utf8 strings into Unicode objects in the C
+-# layer. Here we are leaving it to the Python side, and just giving
+-# them utf8 encoded Strings.
++// be nicer to decode these utf8 strings into Unicode objects in the C
++// layer. Here we are leaving it to the Python side, and just giving
++// them utf8 encoded Strings.
+ typedef char gchar;
+
+ %typemap(in) time_t {
diff --git a/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch b/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch
new file mode 100644
index 000000000000..555188149f8b
--- /dev/null
+++ b/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch
@@ -0,0 +1,28 @@
+# Patch from James Burton - https://github.com/jburton/libgpod/commit/342d49c5577682dd4fba35bfd5fb15f7287c7d5a
+--- a/src/itdb_itunesdb.c
++++ b/src/itdb_itunesdb.c
+@@ -1156,6 +1156,7 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data)
+ GHashTable *pc_dict, *track_dict;
+ GValue *to_parse;
+ GArray *array;
++ GValue value;
+ gint i;
+ guint32 mac_time;
+ guint64 *dbid;
+@@ -1174,13 +1175,14 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data)
+ playcounts = g_hash_table_new_full (g_int64_hash, g_int64_equal, g_free, g_free);
+
+ array = (GArray*)g_value_get_boxed (to_parse);
+ for (i = 0; i < array->len; i++) {
+- if (!G_VALUE_HOLDS (g_array_index (array, GValue *, i), G_TYPE_HASH_TABLE)) {
++ value = g_array_index (array, GValue, i);
++ if (!G_VALUE_HOLDS (&value, G_TYPE_HASH_TABLE)) {
+ continue;
+ }
+
+- track_dict = g_value_get_boxed (g_array_index (array, GValue *, i));
++ track_dict = g_value_get_boxed (&value);
+ if (track_dict == NULL)
+ continue;
+
+ to_parse = g_hash_table_lookup (track_dict, "persistentID");
diff --git a/media-libs/libgpod/libgpod-0.8.3-r1.ebuild b/media-libs/libgpod/libgpod-0.8.3-r1.ebuild
new file mode 100644
index 000000000000..8b28ea4c3b71
--- /dev/null
+++ b/media-libs/libgpod/libgpod-0.8.3-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils mono-env python-single-r1 udev
+
+DESCRIPTION="Shared library to access the contents of an iPod"
+HOMEPAGE="http://www.gtkpod.org/libgpod/"
+SRC_URI="mirror://sourceforge/gtkpod/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="+gtk python +udev ios mono static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=app-pda/libplist-1.0:=
+ >=dev-db/sqlite-3:3
+ >=dev-libs/glib-2.16:2
+ dev-libs/libxml2:2
+ sys-apps/sg3_utils
+ gtk? ( x11-libs/gdk-pixbuf:2 )
+ ios? ( app-pda/libimobiledevice:= )
+ python? (
+ ${PYTHON_DEPS}
+ >=media-libs/mutagen-1.8[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.8:2[${PYTHON_USEDEP}]
+ )
+ udev? ( virtual/udev )
+ mono? (
+ >=dev-lang/mono-1.9.1
+ >=dev-dotnet/gtk-sharp-2.12
+ )
+"
+DEPEND="${RDEPEND}
+ python? ( >=dev-lang/swig-1.3.24:0 )
+ dev-libs/libxslt
+ dev-util/intltool
+ dev-util/gtk-doc-am
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+DOCS="AUTHORS NEWS README* TROUBLESHOOTING"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-comment.patch #537968
+ "${FILESDIR}"/${P}-segfault.patch #565052
+)
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable udev) \
+ $(use_enable gtk gdk-pixbuf) \
+ $(use_enable python pygobject) \
+ --without-hal \
+ $(use_with ios libimobiledevice) \
+ --with-udev-dir="$(get_udevdir)" \
+ $(use_with python) \
+ $(use_with mono)
+}
+
+src_install() {
+ default
+ rmdir "${ED}"/tmp
+ prune_libtool_files --modules
+}