You are not logged in.
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:
[git] | [AURpkgs] | [arch-games]
Offline
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...
[git] | [AURpkgs] | [arch-games]
Offline
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
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
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
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
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
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
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!
[git] | [AURpkgs] | [arch-games]
Offline
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