commit:     76b28ad1b38d068a8fa1ae76f1253186584c6f63
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 27 21:32:46 2024 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Apr 27 21:49:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76b28ad1

media-libs/libgpod: Patch to support libplist-2.3

Closes: https://bugs.gentoo.org/926995
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../libgpod/files/libgpod-0.8.3-plist-2.3.patch    | 31 +++++++++
 media-libs/libgpod/libgpod-0.8.3-r7.ebuild         | 79 ++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/media-libs/libgpod/files/libgpod-0.8.3-plist-2.3.patch 
b/media-libs/libgpod/files/libgpod-0.8.3-plist-2.3.patch
new file mode 100644
index 000000000000..6baa712c9a96
--- /dev/null
+++ b/media-libs/libgpod/files/libgpod-0.8.3-plist-2.3.patch
@@ -0,0 +1,31 @@
+diff -Naur a/tools/ipod-lockdown.c b/tools/ipod-lockdown.c
+--- a/tools/ipod-lockdown.c    2013-07-10 14:57:39.000000000 +0100
++++ b/tools/ipod-lockdown.c    2024-04-27 22:28:10.334056758 +0100
+@@ -100,7 +100,7 @@
+       plist_get_string_val(ptr, &str);
+       if (str != NULL) {
+           ptr = plist_new_string(str);
+-          plist_dict_insert_item(value, "SerialNumber", ptr);
++          plist_dict_set_item(value, "SerialNumber", ptr);
+           free(str);
+       }
+ 
+@@ -112,15 +112,15 @@
+       plist_get_string_val(ptr, &str);
+       if (str != NULL) {
+           ptr = plist_new_string(str);
+-          plist_dict_insert_item(value, "VisibleBuildID", ptr);
++          plist_dict_set_item(value, "VisibleBuildID", ptr);
+           free(str);
+       }
+ 
+       ptr = plist_new_string(uuid);
+-      plist_dict_insert_item(value, "FireWireGUID", ptr);
++      plist_dict_set_item(value, "FireWireGUID", ptr);
+ 
+       ptr = plist_new_string(uuid);
+-      plist_dict_insert_item(value, "UniqueDeviceID", ptr);
++      plist_dict_set_item(value, "UniqueDeviceID", ptr);
+ 
+       plist_to_xml(value, &xml, &xml_length);
+ 

diff --git a/media-libs/libgpod/libgpod-0.8.3-r7.ebuild 
b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild
new file mode 100644
index 000000000000..87203a063b15
--- /dev/null
+++ b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools 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 ~ppc ~riscv ~x86"
+IUSE="+gtk ios +udev"
+
+RDEPEND="
+       >=app-pda/libplist-2.3:=
+       >=dev-db/sqlite-3:3
+       >=dev-libs/glib-2.16:2
+       dev-libs/libxml2:2
+       sys-apps/sg3_utils:0=
+       gtk? ( x11-libs/gdk-pixbuf:2 )
+       ios? ( app-pda/libimobiledevice:= )
+       udev? ( virtual/udev )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       dev-libs/libxslt
+       dev-util/intltool
+       dev-build/gtk-doc-am
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+
+DOCS=( AUTHORS NEWS README{,.overview,.sqlite,.SysInfo} TROUBLESHOOTING )
+
+PATCHES=(
+       "${FILESDIR}"/${P}-comment.patch # bug 537968
+       "${FILESDIR}"/${P}-segfault.patch # bug 565052
+       "${FILESDIR}"/${P}-pkgconfig_overlinking.patch
+       "${FILESDIR}"/${P}-implicit-int.patch
+       "${FILESDIR}"/${P}-plist-2.3.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-pygobject
+               --disable-static
+               --without-hal
+               --without-mono
+               --without-python
+               --with-udev-dir="$(get_udevdir)"
+               $(use_enable gtk gdk-pixbuf)
+               $(use_with ios libimobiledevice)
+               $(use_enable udev)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+       rm "${ED}"/usr/$(get_libdir)/pkgconfig/libgpod-sharp.pc || die
+       use udev && rmdir "${ED}"/tmp || die
+       find "${ED}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+       use udev && udev_reload
+}
+
+pkg_postrm() {
+       use udev && udev_reload
+}

Reply via email to