summaryrefslogtreecommitdiff
path: root/extra/grip
diff options
context:
space:
mode:
Diffstat (limited to 'extra/grip')
-rw-r--r--extra/grip/PKGBUILD24
-rw-r--r--extra/grip/grip-3.3.1-invalid-genre-size.patch30
2 files changed, 46 insertions, 8 deletions
diff --git a/extra/grip/PKGBUILD b/extra/grip/PKGBUILD
index 02ad244fb..d12cfc08c 100644
--- a/extra/grip/PKGBUILD
+++ b/extra/grip/PKGBUILD
@@ -1,22 +1,30 @@
-# $Id: PKGBUILD 57044 2009-10-31 11:06:52Z allan $
+# $Id: PKGBUILD 137616 2011-09-10 05:34:08Z eric $
# Maintainer: tobias <tobias@archlinux.org>
# Contributor: Todd Musall <tmusall@comcast.net>
pkgname=grip
pkgver=3.3.1
-pkgrel=8
+pkgrel=9
pkgdesc="A cd-player and ripper for the Gnome desktop"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://nostatic.org/grip/"
depends=('vte' 'curl' 'libgnomeui' 'id3lib' 'cdparanoia')
-install=grip.install
-source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('4b4233999b9f2bc85c711092553ea9aa')
+optdepends=('yelp: to display the help and notices')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz \
+ grip-3.3.1-invalid-genre-size.patch)
+md5sums=('4b4233999b9f2bc85c711092553ea9aa'
+ '046448be7d1580e86a2211cd8661d855')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/grip-3.3.1-invalid-genre-size.patch"
+ sed -i '/[.] conftest[.]id3/s: c: ./c:' configure
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make || return 1
- make DESTDIR=${pkgdir} install
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/grip/grip-3.3.1-invalid-genre-size.patch b/extra/grip/grip-3.3.1-invalid-genre-size.patch
new file mode 100644
index 000000000..c826fc6e2
--- /dev/null
+++ b/extra/grip/grip-3.3.1-invalid-genre-size.patch
@@ -0,0 +1,30 @@
+http://bugs.gentoo.org/285105
+
+--- grip-3.3.1/src/id3.c
++++ grip-3.3.1/src/id3.c
+@@ -252,8 +252,8 @@
+
+ if ( frames[ i ] ) {
+ char *c_data = NULL;
+- char gen[ 5 ] = "( )";
+- char trk[ 4 ] = " ";
++ char gen[ 6 ] = "( )"; /* max unsigned char: 255 */
++ char trk[ 3 ] = " "; /* max CDDA tracks: 99 */
+
+ switch( frameids[ i ] ) {
+ case ID3FID_TITLE:
+@@ -278,12 +278,12 @@
+
+ case ID3FID_CONTENTTYPE:
+ c_data = gen;
+- sprintf( gen, "(%d)", genre ); /* XXX */
++ snprintf( gen, 6, "(%d)", genre );
+ break;
+
+ case ID3FID_TRACKNUM:
+ c_data = trk;
+- sprintf( trk, "%d", tracknum ); /* XXX */
++ snprintf( trk, 3, "%d", tracknum );
+ break;
+
+ default: