From 9198f78b8e436fac98e97a8879eeb2a3f3a645c5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 04:27:39 +0100 Subject: [PATCH] removed obsolete python requirement; added patches from Arch Linux; added debug package [release 0.8.3-3mamba;Sun Oct 31 2021] --- ...Segmentation-fault-when-opening-ipod.patch | 43 ++++++++++++ libgpod-0.8.3-pkgconfig_overlinking.patch | 11 +++ libgpod-0.8.3-swig.patch | 14 ++++ libgpod-0.8.3-udev.patch | 15 ++++ libgpod.spec | 68 +++++++++---------- 5 files changed, 117 insertions(+), 34 deletions(-) create mode 100644 libgpod-0.8.3-Segmentation-fault-when-opening-ipod.patch create mode 100644 libgpod-0.8.3-pkgconfig_overlinking.patch create mode 100644 libgpod-0.8.3-swig.patch create mode 100644 libgpod-0.8.3-udev.patch diff --git a/libgpod-0.8.3-Segmentation-fault-when-opening-ipod.patch b/libgpod-0.8.3-Segmentation-fault-when-opening-ipod.patch new file mode 100644 index 0000000..727f18b --- /dev/null +++ b/libgpod-0.8.3-Segmentation-fault-when-opening-ipod.patch @@ -0,0 +1,43 @@ +From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001 +From: phantomjinx +Date: Sat, 9 Aug 2014 19:57:10 +0100 +Subject: [PATCH] #323 Segmentation fault when opening ipod +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* Patch submitted in bug report from François Melchior / James Burton +--- + src/itdb_itunesdb.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c +index 4cc771a..1e85476 100644 +--- 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; +@@ -1175,11 +1176,12 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data) + + 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; + +-- +2.12.2 + diff --git a/libgpod-0.8.3-pkgconfig_overlinking.patch b/libgpod-0.8.3-pkgconfig_overlinking.patch new file mode 100644 index 0000000..a5dafb2 --- /dev/null +++ b/libgpod-0.8.3-pkgconfig_overlinking.patch @@ -0,0 +1,11 @@ +diff -up libgpod-0.8.2/libgpod-1.0.pc.in.pkgconfig_overlinking libgpod-0.8.2/libgpod-1.0.pc.in +--- libgpod-0.8.2/libgpod-1.0.pc.in.pkgconfig_overlinking 2011-04-15 03:37:34.000000000 -0500 ++++ libgpod-0.8.2/libgpod-1.0.pc.in 2012-08-10 13:53:00.294631805 -0500 +@@ -6,6 +6,6 @@ includedir=@includedir@ + Name: libgpod + Description: A library to manipulate songs and playlists stored on an ipod + Version: @VERSION@ +-Requires: glib-2.0 >= 2.8.0 gobject-2.0 @GDKPIXBUF_REQ@ @LIBIMOBILEDEVICE_REQ@ ++Requires.private: glib-2.0 >= 2.8.0 gobject-2.0 @GDKPIXBUF_REQ@ @LIBIMOBILEDEVICE_REQ@ + Libs: -L${libdir} -lgpod + Cflags: -I${includedir}/gpod-1.0 diff --git a/libgpod-0.8.3-swig.patch b/libgpod-0.8.3-swig.patch new file mode 100644 index 0000000..23e49c5 --- /dev/null +++ b/libgpod-0.8.3-swig.patch @@ -0,0 +1,14 @@ +--- libgpod-0.8.3/bindings/python/gpod.i.in 2015-02-12 08:43:11.058975384 +0100 ++++ libgpod-0.8.3/bindings/python/gpod.i.in.orig 2015-02-12 08:44:08.185561253 +0100 +@@ -298,9 +298,11 @@ PyObject* sw_get_photo(GList *list, gint + %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. ++*/ + typedef char gchar; + + %typemap(in) time_t { diff --git a/libgpod-0.8.3-udev.patch b/libgpod-0.8.3-udev.patch new file mode 100644 index 0000000..819728e --- /dev/null +++ b/libgpod-0.8.3-udev.patch @@ -0,0 +1,15 @@ +--- tools/90-libgpod.rules.in~ 2011-07-24 06:03:29.000000000 -0500 ++++ tools/90-libgpod.rules.in 2019-10-15 15:50:28.279770507 -0500 +@@ -16,10 +16,10 @@ + + + # "iPods" using the afc protocol (iPhone, iPod Touch, ...) +-ACTION=="add|change", ENV{USBMUX_SUPPORTED}=="1", IMPORT{program}+="@udevdir@/iphone-set-info", GOTO="libgpod_end" ++ACTION=="add|change", ENV{USBMUX_SUPPORTED}=="1", IMPORT{program}=="@udevdir@/iphone-set-info", GOTO="libgpod_end" + # with a new enough usbmuxd, the rule below is not useful since it will + # take care of setting USBMUX_SUPPORTED for all supported devices. Keep + # this rule for now until distros ship a new enough usbmuxd +-ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a]", IMPORT{program}+="@udevdir@/iphone-set-info" ++ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a]", IMPORT{program}=="@udevdir@/iphone-set-info" + + LABEL="libgpod_end" diff --git a/libgpod.spec b/libgpod.spec index e6f980f..a2938a0 100644 --- a/libgpod.spec +++ b/libgpod.spec @@ -1,44 +1,38 @@ %define majver %(echo %version | cut -d. -f1-2) Name: libgpod Version: 0.8.3 -Release: 2mamba +Release: 3mamba Summary: A shared library to access the contents of an iPod Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco -URL: http://www.gtkpod.org/libgpod.html +URL: https://github.com/fadingred/libgpod Source: http://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-%{majver}/libgpod-%{version}.tar.bz2 -Patch0: %{name}-0.8.0-blue_nano_8g.patch +Patch0: libgpod-0.8.0-blue_nano_8g.patch +Patch1: libgpod-0.8.3-Segmentation-fault-when-opening-ipod.patch +Patch2: libgpod-0.8.3-pkgconfig_overlinking.patch +Patch3: libgpod-0.8.3-swig.patch +Patch4: libgpod-0.8.3-udev.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: gtk-doc -BuildRequires: gtk-sharp-devel -BuildRequires: libdbus-devel -BuildRequires: libgcrypt-devel +BuildRequires: gtk-sharp2-devel +BuildRequires: libgdk-pixbuf-devel BuildRequires: libglib-devel -BuildRequires: libgnutls-devel -BuildRequires: libgpg-error-devel -BuildRequires: libgtk-devel BuildRequires: libimobiledevice-devel +BuildRequires: liblzma-devel +BuildRequires: libopenssl-devel BuildRequires: libplist-devel -BuildRequires: libpython-devel -BuildRequires: libselinux-devel -%ifarch %{ix86} x86_64 -BuildRequires: libsmbios-devel -%endif +BuildRequires: libsg3_utils-devel BuildRequires: libsqlite-devel -BuildRequires: libstdc++6-devel -BuildRequires: libtasn1-devel +BuildRequires: libudev-devel BuildRequires: libusb-devel BuildRequires: libusbmuxd-devel -BuildRequires: libuuid-devel BuildRequires: libxml2-devel BuildRequires: libz-devel ## AUTOBUILDREQ-END -BuildRequires: libplist-devel >= 1.11-1mamba -BuildConflicts:hal-devel +BuildRequires: libplist-devel >= 2.2.0 BuildRequires: libimobiledevice-devel >= 1.1.4 BuildRequires: intltool BuildRequires: gettext-devel @@ -46,10 +40,8 @@ BuildRequires: libgdk-pixbuf-devel BuildRequires: perl-XML-Parser BuildRequires: libtag-devel BuildRequires: libffi-devel -BuildRequires: python-mutagen BuildRequires: mono-devel BuildRequires: swig -BuildRoot: %{_tmppath}/%{name}-%{version}-root %description libgpod is a shared library to access the contents of an iPod. @@ -72,17 +64,24 @@ Requires: gtk-doc %description apidocs Libgpod API documentation. +%debug_package + %prep %setup -q #%patch0 -p1 +%patch1 -p1 -b .Segmentation-fault-when-opening-ipod +%patch2 -p1 -b .pkgconfig_overlinking +%patch3 -p1 -b .swig +%patch4 -p0 -b .udev +sed -e 's|libplist >= 1.0|libplist-2.0 >= 2.2|' -i configure.ac # support libplist 2.2 +autoreconf -f -i %build -# FIXME: mono bindings don't build on x86_64 -#./autogen.sh -%configure --enable-gtk-doc \ -%ifarch x86_64 - --without-mono -%endif +%configure \ + --enable-gtk-doc \ + --with-udev-dir=%{_prefix}/lib/udev \ + --enable-udev \ + --with-python=no %make @@ -104,14 +103,12 @@ rm -f %{buildroot}%{_libdir}/libgpod.a %defattr(-,root,root) %{_bindir}/ipod-read-sysinfo-extended %{_libdir}/libgpod.so.* -%ifnarch x86_64 %{_libdir}/libgpod/libgpod-sharp-test.exe* %{_libdir}/libgpod/libgpod-sharp.dll* -%endif -/lib/udev/iphone-set-info -/lib/udev/ipod-set-info -/lib/udev/rules.d/90-libgpod.rules -%{python_sitearch}/gpod/* +%{_prefix}/lib/udev/iphone-set-info +%{_prefix}/lib/udev/ipod-set-info +%{_prefix}/lib/udev/rules.d/90-libgpod.rules +#%{python_sitearch}/gpod/* %doc AUTHORS COPYING %files devel @@ -129,6 +126,9 @@ rm -f %{buildroot}%{_libdir}/libgpod.a %{_datadir}/gtk-doc/html/libgpod/ %changelog +* Sun Oct 31 2021 Silvan Calarco 0.8.3-3mamba +- removed obsolete python requirement; added patches from Arch Linux; added debug package + * Fri Sep 05 2014 Silvan Calarco 0.8.3-2mamba - rebuilt by autoport with build requirements: libplist-devel>=1.11-1mamba