rebuild libgpod

This commit is contained in:
Weng Xuetian 2017-05-31 05:26:28 +01:00
parent 2232644798
commit 53f8d5742d
4 changed files with 89 additions and 24 deletions

View File

@ -0,0 +1,43 @@
From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001
From: phantomjinx <p.g.richardson@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

View File

@ -1,41 +1,38 @@
pkgname=libgpod
pkgver=0.8.3
pkgrel=5
pkgrel=6
pkgdesc="A shared library to access the contents of an iPod"
arch=('x86_64')
license=('LGPL')
depends=('gdk-pixbuf2' 'mutagen' 'sg3_utils' 'libimobiledevice' 'libplist')
makedepends=('intltool' 'swig' 'docbook-xsl' 'pygobject2-devel')
url="http://www.gtkpod.org/libgpod/"
source=("http://downloads.sourceforge.net/sourceforge/gtkpod/${pkgname}-${pkgver}.tar.bz2"
swig_gpod.patch)
source=(https://downloads.sourceforge.net/sourceforge/gtkpod/${pkgname}-${pkgver}.tar.bz2
libgpod-0.8.2-pkgconfig_overlinking.patch
libgpod-fixswig.patch
0001-323-Segmentation-fault-when-opening-ipod.patch)
options=('!emptydirs')
md5sums=('f8a0b7a34e768e33a708e8dd172bd6f8'
'4a748ac1275ace80728702e0903555e2')
sha256sums=('638a7959d04e95f1e62abad02bd33702e4e8dfef98485ac7d9d50395c37e955d'
'02daa2b46d0cfdee14c9d96eabf903ba4638694e669c5cb0ec462076837ac2ff'
'86f7054dc53ee2aa756c98dc893af6718bbeb6361a0785a5c93a5592b8cc8cdd'
'b181131ee5b42673074f8217155b4f147623cc63dd382ee4bfa2cb81cd281b20')
prepare(){
cd "${srcdir}/${pkgname}-${pkgver}"
patch -Np0 -i ${srcdir}/swig_gpod.patch
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 "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-udev-dir=/usr/lib/udev \
--enable-udev \
--with-python=/usr/bin/python2 \
--disable-fast-install \
--disable-static \
--without-hal
make
cd $pkgname-$pkgver
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() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
#copy headers
cp -v ${srcdir}/${pkgname}-${pkgver}/src/*.h ${pkgdir}/usr/include/gpod-1.0/gpod/
cd $pkgname-$pkgver
make PREFIX=/usr DESTDIR="${pkgdir}" install
}

View File

@ -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

View File

@ -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 {