[arch-commits] Commit in libgpod/trunk (2 files)

Jan de Groot jgc at archlinux.org
Sun Apr 23 22:00:01 UTC 2017


    Date: Sunday, April 23, 2017 @ 22:00:00
  Author: jgc
Revision: 294275

upgpkg: libgpod 0.8.3-5

Fix segfault (FS#45664), fix build of mono bindings (gmcs -> mcs)

Added:
  libgpod/trunk/0001-323-Segmentation-fault-when-opening-ipod.patch
Modified:
  libgpod/trunk/PKGBUILD

-----------------------------------------------------+
 0001-323-Segmentation-fault-when-opening-ipod.patch |   43 ++++++++++++++++++
 PKGBUILD                                            |   18 ++++---
 2 files changed, 54 insertions(+), 7 deletions(-)

Added: 0001-323-Segmentation-fault-when-opening-ipod.patch
===================================================================
--- 0001-323-Segmentation-fault-when-opening-ipod.patch	                        (rev 0)
+++ 0001-323-Segmentation-fault-when-opening-ipod.patch	2017-04-23 22:00:00 UTC (rev 294275)
@@ -0,0 +1,43 @@
+From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001
+From: phantomjinx <p.g.richardson at phantomjinx.co.uk>
+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
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-04-23 21:44:54 UTC (rev 294274)
+++ PKGBUILD	2017-04-23 22:00:00 UTC (rev 294275)
@@ -4,7 +4,7 @@
 
 pkgname=libgpod
 pkgver=0.8.3
-pkgrel=4
+pkgrel=5
 pkgdesc="A shared library to access the contents of an iPod"
 arch=(i686 x86_64)
 license=('LGPL')
@@ -13,25 +13,29 @@
 optdepends=('gtk-sharp-2: Mono bindings'
             'python2-gobject2: python bindings')
 url="http://www.gtkpod.org/libgpod/"
-source=(http://downloads.sourceforge.net/sourceforge/gtkpod/${pkgname}-${pkgver}.tar.bz2
+source=(https://downloads.sourceforge.net/sourceforge/gtkpod/${pkgname}-${pkgver}.tar.bz2
         libgpod-0.8.2-pkgconfig_overlinking.patch
-        libgpod-fixswig.patch)
+        libgpod-fixswig.patch
+        0001-323-Segmentation-fault-when-opening-ipod.patch)
 options=('!emptydirs')
-md5sums=('f8a0b7a34e768e33a708e8dd172bd6f8'
-         '234237b643e42a6e9dd3f5000f4cd26e'
-         'fb399cf847f21f3e315c01e14c79e815')
+sha256sums=('638a7959d04e95f1e62abad02bd33702e4e8dfef98485ac7d9d50395c37e955d'
+            '02daa2b46d0cfdee14c9d96eabf903ba4638694e669c5cb0ec462076837ac2ff'
+            '86f7054dc53ee2aa756c98dc893af6718bbeb6361a0785a5c93a5592b8cc8cdd'
+            'b181131ee5b42673074f8217155b4f147623cc63dd382ee4bfa2cb81cd281b20')
 
 prepare() {
   cd $pkgname-$pkgver
   patch -Np1 -i ../libgpod-0.8.2-pkgconfig_overlinking.patch
   patch -Np1 -i ../libgpod-fixswig.patch
+  patch -Np1 -i ../0001-323-Segmentation-fault-when-opening-ipod.patch
 }
 
 build() {
   cd $pkgname-$pkgver
-  ./configure --prefix=/usr --with-udev-dir=/usr/lib/udev \
+  MCS=/usr/bin/mcs ./configure --prefix=/usr --with-udev-dir=/usr/lib/udev \
       --enable-udev --with-python=/usr/bin/python2
   make PREFIX=/usr
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
 }
 
 package() {



More information about the arch-commits mailing list