You are not logged in.

#1 2008-06-14 00:48:56

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

[Request] GJay -- Need Arch pkgnames for some .debs

I'm having a little trouble building GJay, because on the website it only lists the names of the debian packages needed, and I am not sure what the Arch equivalents are. I am quite fine with making the rest of the PKGBUILD once I know that though... This is what I have so far.

pkgname=gjay
pkgver=0.2.8.3
pkgrel=1
pkgdesc="A tool for analyzing music collections to generating a great-sounding playlist."
arch=(i686)
url="http://gjay.sourceforge.net"
license=('GPL')
groups=()
depends=('mp3info' 'mpg321' 'vorbis-tools' 'xmms')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=($pkgname-$pkgver.tar.gz)
noextract=()
md5sums=() #generate with 'makepkg -g'

build() {
  cd "$startdir/src/$pkgname-$pkgver"

  ./configure --prefix=/usr
  make || return 1
  make DESTDIR="$startdir/pkg" install
}

# vim:set ts=2 sw=2 et:

Offline

#2 2008-06-14 01:39:36

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Well here's libgtk... I would hate to have to make a package for this, with all the deps. http://packages.debian.org/etch/libgtk2.0-0

If there isn't an arch package for that one at least, I think I'm scrapping it...

Offline

#3 2008-06-14 03:34:35

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Daenyth wrote:

Well here's libgtk... I would hate to have to make a package for this, with all the deps. http://packages.debian.org/etch/libgtk2.0-0

If there isn't an arch package for that one at least, I think I'm scrapping it...

The Arch package for that is gtk2.

Offline

#4 2008-06-14 07:32:59

coarseSand
Member
From: Ottawa, Canada
Registered: 2008-02-11
Posts: 203

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Glad I'm not going to be working on it since I'm an AUR nub, and GJay lacks an autoconf feature, but here's where I've gotten the PKGBUILD to. Also needs an edited Makefile to change the prefix to /usr.

pkgname=gjay
pkgver=0.2.8.3
pkgrel=1
pkgdesc="A tool for analyzing music collections to generating a great-sounding playlist."
arch=(i686)
url="http://gjay.sourceforge.net"
license=('GPL')
groups=()
depends=('mp3info' 'mpg321' 'vorbis-tools' 'xmms' 'gtk2' 'gsl')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
source=(http://internap.dl.sourceforge.net/sourceforge/gjay/$pkgname-$pkgver.tar.gz)
noextract=()
md5sums=('fd7bdf8505c13aa538fe59ef4366332c')

build() {
  cd "$startdir/src/$pkgname-$pkgver"

  make || return 1
  make DESTDIR="$startdir/pkg" install
}

That includes all of the libraries GJay says it needs to build, but I'm getting this error with every build:

gjay_xmms.c:29: error: static declaration of 'xmms_session' follows non-static declaration
gjay.h:46: error: previous declaration of 'xmms_session' was here
make: *** [gjay_xmms.o] Error 1
make: *** Waiting for unfinished jobs....
ui.c: In function 'daemon_pipe_input':
ui.c:262: error: label at end of compound statement
analysis.c:89: error: static declaration of 'analyze_song' follows non-static declaration
analysis.h:76: error: previous declaration of 'analyze_song' was here
analysis.c: In function 'ui_pipe_input':
analysis.c:334: error: label at end of compound statement
prefs.c: In function 'data_start_element':
prefs.c:338: error: label at end of compound statement
prefs.c: In function 'data_text':
prefs.c:424: error: label at end of compound statement
make: *** [ui.o] Error 1
make: *** [prefs.o] Error 1
make: *** [analysis.o] Error 1
mp3.c: In function 'write_tag':
mp3.c:412: warning: pointer targets in passing argument 2 of 'strncat' differ in signedness
mp3.c: In function 'get_id3_tags':
mp3.c:443: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
mp3.c:447: warning: pointer targets in passing argument 1 of 'strcasecmp' differ in signedness
mp3.c:484: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness

Good luck to you Daenyth, as I don't know my way around C yet.

Edit: Figures the one thing I typo is your username.

Last edited by coarseSand (2008-06-14 07:34:09)


vim? EMACS? Pssh, I code in Scribus.

Offline

#5 2008-06-14 15:10:25

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Add :
options=('!makeflags')

And change:
make DESTDIR="$startdir/pkg" install
to:
make prefix="$startdir/pkg/usr" install

That should fix at least some(maybe all) of these errors.

Offline

#6 2008-06-14 15:52:21

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Hm, There are lots of missing break; statements at the end of case statements.  Please test

pkgname=gjay
pkgver=0.2.8.3
pkgrel=1
pkgdesc="A tool for analyzing music collections to generating a great-sounding playlist."
arch=(i686)
url="http://gjay.sourceforge.net"
license=('GPL')
depends=('mp3info' 'mpg123' 'vorbis-tools' 'xmms' 'gsl' 'gtk2')
options=('!makeflags')
install=
source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz break.patch)
md5sums=('fd7bdf8505c13aa538fe59ef4366332c' '3542a8f20ba5d18faaa6d30840f4c8a6')

build() {
  cd "$startdir/src/$pkgname-$pkgver"
  patch -p1 < ../break.patch || return 1
  make || return 1
  install -d $startdir/pkg/usr/bin || return 1
  install -d $startdir/pkg/usr/share/$pkgname/icons || return 1

  make PREFIX="$startdir/pkg/usr" install || return 1
}

together with break.patch

diff -ruN gjay-0.2.8.3.orig/Makefile gjay-0.2.8.3.new/Makefile
--- gjay-0.2.8.3.orig/Makefile    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/Makefile    2008-06-14 17:44:53.000000000 +0200
@@ -1,4 +1,4 @@
-PREFIX = /usr/local
+PREFIX = /usr
 CC = gcc
 LINK = $(CC)
 CFLAGS = -g -Wall `pkg-config --cflags gtk+-2.0`
@@ -39,7 +39,7 @@
     mp3.o
 
 
-INSTALL = /usr/bin/install -o root -g root -m
+INSTALL = /bin/install -o root -g root -m
 
 all: $(TARGET) 
 
diff -ruN gjay-0.2.8.3.orig/analysis.c gjay-0.2.8.3.new/analysis.c
--- gjay-0.2.8.3.orig/analysis.c    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/analysis.c    2008-06-14 17:42:41.000000000 +0200
@@ -332,6 +332,7 @@
         }
         break;
     default:
+      break;
         // Do nothing
     }
     return TRUE;
diff -ruN gjay-0.2.8.3.orig/analysis.h gjay-0.2.8.3.new/analysis.h
--- gjay-0.2.8.3.orig/analysis.h    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/analysis.h    2008-06-14 17:41:34.000000000 +0200
@@ -73,7 +73,7 @@
 
 
 /* Mutex lock for analysis data */
-extern song          * analyze_song;
+static song          * analyze_song;
 extern int             analyze_percent;
 
 /* Analysis.c */
diff -ruN gjay-0.2.8.3.orig/gjay.h gjay-0.2.8.3.new/gjay.h
--- gjay-0.2.8.3.orig/gjay.h    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/gjay.h    2008-06-14 17:40:17.000000000 +0200
@@ -43,7 +43,7 @@
 
 /* State */
 extern gjay_mode mode;
-extern gint      xmms_session;
+static gint      xmms_session;
 
 /* User options */
 extern gint      verbosity;
diff -ruN gjay-0.2.8.3.orig/prefs.c gjay-0.2.8.3.new/prefs.c
--- gjay-0.2.8.3.orig/prefs.c    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/prefs.c    2008-06-14 17:32:12.000000000 +0200
@@ -336,6 +336,7 @@
                 prefs.rating_cutoff = TRUE;
             break;
         default:
+      break;
         }
     }
 }    
@@ -422,6 +423,7 @@
         prefs.time = atoi(buffer);
         break;
     default:
+      break;
     }
     *element = PE_LAST;
 }
diff -ruN gjay-0.2.8.3.orig/ui.c gjay-0.2.8.3.new/ui.c
--- gjay-0.2.8.3.orig/ui.c    2008-06-14 17:29:56.000000000 +0200
+++ gjay-0.2.8.3.new/ui.c    2008-06-14 17:36:07.000000000 +0200
@@ -260,6 +260,7 @@
         explore_animate_stop();
         break;
     default:
+      break;
         // Do nothing
     }    
     return TRUE;

Last edited by Stefan Husmann (2008-06-14 15:54:24)

Offline

#7 2008-06-14 17:07:23

coarseSand
Member
From: Ottawa, Canada
Registered: 2008-02-11
Posts: 203

Re: [Request] GJay -- Need Arch pkgnames for some .debs

GJay builds successfully on i686 under Stefan's PKGBUILD. Nice work man.

Edit: We have another issue however. Even with mpg123 installed, which says it contains mpg321 which GJay requires, GJay whines about not being able to find mpg321 in the user's $PATH and can't do any song analysis.

Last edited by coarseSand (2008-06-14 18:10:59)


vim? EMACS? Pssh, I code in Scribus.

Offline

#8 2008-06-14 21:20:11

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: [Request] GJay -- Need Arch pkgnames for some .debs

coarseSand wrote:

Edit: We have another issue however. Even with mpg123 installed, which says it contains mpg321 which GJay requires, GJay whines about not being able to find mpg321 in the user's $PATH and can't do any song analysis.

If that can't be fixed by configuring gjay, add a symlink:
# ln -s /usr/bin/mpg123 /usr/bin/mpg321

If you want that symlink to be added to the mpg123 packages, submit a bug report.

Offline

#9 2008-06-14 21:33:23

Daenyth
Forum Fellow
From: Boston, MA
Registered: 2008-02-24
Posts: 1,244

Re: [Request] GJay -- Need Arch pkgnames for some .debs

I think it would be better to patch gjay to look for mpg321 instead, assuming they are option compatible... Though I don't have strong feelings on this. Also feel a bit stupid about the gtk thing...

I must say, I am incredibly impressed with all that you've done in one day getting this to work!

Offline

#10 2008-06-17 16:57:39

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: [Request] GJay -- Need Arch pkgnames for some .debs

Sorry my mistake. The gjay homepage tells to use mpg321, not mpg123. So there should be no need to patch, but to change the dependency.

Offline

Board footer

Powered by FluxBB