You are not logged in.
Pages: 1
After downloading GTKPod I've created an ArchPackage for other people to be able to use this very nice iPod interface. Since this is my first package for ArchLinux I am unsure if creating a topic here is the preffered way of anouncing newly created packages and if the PKGBUILD is fully correct and complete
I am therefore interested in your comments on this PKGBUILD
# Maintainer: Spider.007 <mail@spider007.net>
# Contributor: Spider.007 <mail@spider007.net>
pkgname=gtkpod
pkgver=0.80
pkgrel=2
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2. It allows you to upload songs and playlists to your iPod. It supports ID3 tag editing, multiple charsets for ID3 tags, detects duplicate songs, allows offline modification of the database with later synchronisation, and more."
url="http://$pkgname.sf.net"
groups=
provides=
depends=('gtk2')
source=("http://heanet.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-$pkgrel.tar.gz")
md5sums=('50cc19b1a535df4c37e588baa08bf3c4')
build() {
cd $startdir/src/$pkgname-$pkgver-$pkgrel
./configure --prefix=/opt/$pkgname
make || return 1
make prefix=$startdir/pkg/opt/$pkgname install
I chose to put the application in /opt; can someone tell me if this is indeed the preferred location for applications? By using variables for both the url and the source I am able to quickly create PKGBUILD files for SourceForge packages. Please let me know if I can improve in this file
Package updated somewhere further down in this topic (thanks Pajaro):
pkgname=gtkpod
pkgver=0.85.0
pkgrel=1
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2."
url="http://$pkgname.sf.net"
depends=('gtk2' 'libid3tag' 'bash' 'x-server' 'mpeg4ip')
source=("http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('ca870acf255dd240a02d387485940c3c')
build() {
cd $startdir/src/$pkgname-$pkgver
patch src/mp4file.c < ../../mp4file.c.diff
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
Offline
I ran makepkg on the build and got this
[root@bill gtkpod]# makepkg
./PKGBUILD: line 23: syntax error: unexpected end of file
==> Making package: gtkpod (Fri Sep 24 13:20:14 PDT 2004)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
==> Using local copy of gtkpod-0.80-2.tar.gz
==> Validating source files with MD5sums
gtkpod-0.80-2.tar.gz ... Passed
==> Extracting Sources...
==> tar --use-compress-program=gzip -xf gtkpod-0.80-2.tar.gz
==> Removing existing pkg/ directory...
==> Starting build()...
/usr/bin/makepkg: line 552: build: command not found
==> ERROR: Build Failed. Aborting...
And I have precisely no idea what it means. Assuming i get it working, thanks very much for making this.
Offline
He forgot a "{"
# Maintainer: Spider.007 <mail@spider007.net>
# Contributor: Spider.007 <mail@spider007.net>
pkgname=gtkpod
pkgver=0.80
pkgrel=2
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2. It allows you to upload songs and playlists to your iPod. It supports ID3 tag editing, multiple charsets for ID3 tags, detects duplicate songs, allows offline modification of the database with later synchronisation, and more."
url="http://$pkgname.sf.net"
groups=
provides=
depends=('gtk2')
source=("http://heanet.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-$pkgrel.tar.gz")
md5sums=('50cc19b1a535df4c37e588baa08bf3c4')
build() {
cd $startdir/src/$pkgname-$pkgver-$pkgrel
./configure --prefix=/opt/$pkgname
make || return 1
make prefix=$startdir/pkg/opt/$pkgname install
}
Offline
Thanks a lot. Now I can stop using Windows completely. However, I noticed you missed a dependency, libid3tag. heres a fixed build.
# Maintainer: Spider.007 <mail@spider007.net>
# Contributor: Spider.007 <mail@spider007.net>
pkgname=gtkpod
pkgver=0.80
pkgrel=2
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2. It allows you to upload songs and playlists to your iPod. It supports ID3 tag editing, multiple charsets for ID3 tags, detects duplicate songs, allows offline modification of the database with later synchronisation, and more."
url="http://$pkgname.sf.net"
groups=
provides=
depends=('gtk2' 'libid3tag')
source=("http://heanet.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-$pkgrel.tar.gz")
md5sums=('50cc19b1a535df4c37e588baa08bf3c4')
build() {
cd $startdir/src/$pkgname-$pkgver-$pkgrel
./configure --prefix=/opt/$pkgname
make || return 1
make prefix=$startdir/pkg/opt/$pkgname install
}
Offline
You can clean the PKGBUILD be removing the
groups=
provides=
entries since they are not used.
The /opt directory is usually used for big self-contained applications like kde, gnome,openoffice... I don't know if it's the case here so it might be better to install in /usr. Just a suggestion.
To check for dependencies you can use, namcap
namcap PKGBUILD gtkpod-0.80-2.pkg.tar.gz
Sometime, it miss some dependencies but it's a useful tool.
Offline
I chose to put the application in /opt; can someone tell me if this is indeed the preferred location for applications?
No, it's not. opt is for very large groups of files - such as kde and gnome. I have not looked at this, but I am assuming it is a very small amount of files - 3-5 max.... it should be installed in /usr/bin with configuration in somthing like /etc/gtkpod
when in doubt, check the packages documentation
Offline
Instead of --prefix=/opt
try
--prefix=/usr/
Offline
I have made my own PKGBUILD for this, and it seems to work well.
It is installed in /usr, since /opt is for large self contained packages (kde, gnome, mozilla*, etc)
I also cleaned up the dependencies.
It is uploaded to incoming as gtkpod-0.80-2.src.tar.gz
PKGBUILD
# Maintainer: Joshua Rubin <joshua@cybertron.cc>
pkgname=gtkpod
pkgver=0.80
pkgrel=2
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2."
url="http://$pkgname.sf.net"
depends=('gtk2' 'libid3tag' 'bash' 'x-server')
source=("http://heanet.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-$pkgrel.tar.gz")
md5sums=('50cc19b1a535df4c37e588baa08bf3c4')
build() {
cd $startdir/src/$pkgname-$pkgver-$pkgrel
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
Offline
Good point, thanks.
Offline
Updated PKGBUILD for 0.85.0. The build has changed a bit, this PKGBUILD addresses that.
pkgname=gtkpod
pkgver=0.85.0
pkgrel=1
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2."
url="http://$pkgname.sf.net"
depends=('gtk2' 'libid3tag' 'bash' 'x-server')
source=("http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('ca870acf255dd240a02d387485940c3c')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
If you develop an ear for sounds that are musical it is like developing an ego. You begin to refuse sounds that are not musical and that way cut yourself off from a good deal of experience.
- John Cage
Offline
0.85 has been in my repo for quite a while already, thanks though!
Offline
miasma,
what is the url to your repo? yesterday I just updated the tur list and pacman cannot find gtkpod
Offline
gtkpod is missing aac support.
Offline
aac = mp4
Offline
gktpod PKGBUILD with mp4 depency added.
pkgname=gtkpod
pkgver=0.85.0
pkgrel=1
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2."
url="http://$pkgname.sf.net"
depends=('gtk2' 'libid3tag' 'bash' 'x-server' 'mpeg4ip')
source=("http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('ca870acf255dd240a02d387485940c3c')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
mpeg4ip PKGBUILD (mp4 support)
pkgname=mpeg4ip
pkgver=1.2
pkgrel=1
pkgdesc="MP4 support"
url="http://mpeg4ip.sourceforge.net/"
license=""
depends=()
makedepends=()
conflicts=()
replaces=()
backup=()
install=
source=(http://internap.dl.sourceforge.net/sourceforge/mpeg4ip/$pkgname-$pkgver.tar.gz)
md5sums=()
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}
Offline
ops, build of gtkpod with mp4v2 support failed:
mp4file.c: In function `mp4_get_file_info':
mp4file.c:230: error: "PACKAGE" no ha estat declarat aquí (primer us en aquesta funció)
mp4file.c:230: error: (Cada identificador no declarat solament es reporta una vegada
mp4file.c:230: error: per a cada funció en la qual apareix.)
mp4file.c: In function `mp4_write_file_info':
mp4file.c:349: error: "PACKAGE" no ha estat declarat aquí (primer us en aquesta funció)
make[2]: *** [mp4file.o] Error 1
make[2]: Leaving directory `/var/abs.local/gtkpod/src/gtkpod-0.85.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs.local/gtkpod/src/gtkpod-0.85.0'
make: *** [all] Error 2
==> ERROR: Build Failed. Aborting...
Offline
fixed:
PKGBUILD:
pkgname=gtkpod
pkgver=0.85.0
pkgrel=1
pkgdesc="gtkpod is a platform independent GUI for Apple's iPod using GTK2."
url="http://$pkgname.sf.net"
depends=('gtk2' 'libid3tag' 'bash' 'x-server' 'mpeg4ip')
source=("http://dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('ca870acf255dd240a02d387485940c3c')
build() {
cd $startdir/src/$pkgname-$pkgver
patch src/mp4file.c < ../../mp4file.c.diff
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
mp4file.c.diff
in order to work you will have to replace "< " with "<", one space, one tab and 4 spaces.
230c230
< gtkpod_warning (_("'%s' does not appear to be a mp4 audio file.n"),
---
> gtkpod_warning (("'%s' does not appear to be a mp4 audio file.n"),
240c240
< _("Could not open '%s' for reading, or file is not an mp4 file.n"),
---
> ("Could not open '%s' for reading, or file is not an mp4 file.n"),
349c349
< gtkpod_warning (_("'%s' does not appear to be a mp4 audio file.n"),
---
> gtkpod_warning (("'%s' does not appear to be a mp4 audio file.n"),
360c360
< _("Could not open '%s' for writing, or file is not an mp4 file.n"),
---
> ("Could not open '%s' for writing, or file is not an mp4 file.n"),
Offline
you know, i've really noticed the miasma likes to make pkgs, but more so i've noticed he likes to take other peoples PKGBUILDS put his name on it and change one thing and put it in his repo - i don't like that very much - we all make mistakes duplicating someone elses PKGBUILDs sometimes but i think this is a bit out of order
Offline
btw: it would be nice if you would update you first post, this way you don't have to search for the latest PKGBUILD
Offline
mpeg4ip doesn't build for me :S
anyone have a working pkg file or a working build?
Offline
I solved my problem with the mpeg4ip thing, sry to say Pajaro that your build was pretty bad. Here's a complete pkgbuild with md5sums, dependancies and correct build script. Also, I'll host this pkg and gtkpod (and possibly gnupod if I feel the need) in my repo simply because it takes so long to build...
pkgname=mpeg4ip
pkgver=1.2
pkgrel=1
pkgdesc="MP4 support"
url="http://mpeg4ip.sourceforge.net/"
depends=('x-server' 'lame' 'faac' 'gtk2' 'alsa-lib' 'libid3tag' 'faad2' 'id3lib' 'sdl' 'libvorbis')
source=(http://voxel.dl.sourceforge.net/sourceforge/mpeg4ip/$pkgname-$pkgver.tar.gz)
md5sums=('d9c687ec1aaddf17f6462ed5bd35e5d3')build() {
cd $startdir/src/$pkgname-$pkgver
./bootstrap --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}
Offline
Pages: 1