You are not logged in.
Seeing as how GStreamer needs a hell of a lot of work before it becomes something usable, but Muine is a nice music player, I decided to build Muine using the Xine backend. I figured I'd request muine-xine in the AUR, and provide the PKGBUILD myself... However, things are not working out. Here is my PKGBUILD:
pkgname=muine
pkgver=0.8.3
pkgrel=1
pkgdesc="A music player written in C#"
url="http://muine.gooeylinux.org/"
depends=('gtk-sharp-2' 'dbus-sharp=0.50' 'xine-lib>=1.0.0')
makedepends=('intltool')
install=muine.install
source=(http://muine.gooeylinux.org/$pkgname-$pkgver.tar.gz
playlistwindow.patch)
md5sums=('4e21eeb8e809bebf1e13540e44a6259d' '4850f2c745a2b4b93f20042dd21682e0')
build() {
[ "$GNOMEDIR" = "" ] && . /etc/profile.d/gnome.sh
[ "$MONO_PATH" = "" ] && . /etc/profile.d/mono.sh
# get rid of .wapi errors in fakeroot
mkdir -p $startdir/src/weird
export MONO_SHARED_DIR=$startdir/src/weird
cd $startdir/src/$pkgname-$pkgver
patch -Np0 -i $startdir/src/playlistwindow.patch || return 1
./configure --prefix=/opt/gnome --enable-xine
make || return 1
make DESTDIR=$startdir/pkg GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
install -d -m755 $startdir/pkg/opt/gnome/lib/muine/plugins
install -D -m755 plugins/*.{png,dll,xml} $startdir/pkg/opt/gnome/lib/muine/plugins/
# housecleaning
rm -rf $startdir/src/weird
}
And are the errors I get:
In file included from id3-vfs.c:23:
id3-vfs.h:27:20: error: id3tag.h: No such file or directory
cc1: warnings being treated as errors
In file included from id3-vfs.c:45:
field.h:27: warning: 'enum id3_field_type' declared inside parameter list
field.h:27: warning: its scope is only this definition or declaration, which is probably not what you want
field.h:27: warning: 'union id3_field' declared inside parameter list
field.h:28: warning: 'union id3_field' declared inside parameter list
field.h:30: warning: 'union id3_field' declared inside parameter list
field.h:32: error: syntax error before 'id3_byte_t'
field.h:35: error: syntax error before 'id3_field_render'
field.h:35: error: syntax error before 'id3_byte_t'
field.h:36: warning: type defaults to 'int' in declaration of 'id3_field_render'
field.h:36: warning: data definition has no type or storage class
id3-vfs.c:51: error: syntax error before 'id3_length_t'
id3-vfs.c:51: warning: no semicolon at end of struct or union
id3-vfs.c: In function 'query_tag':
id3-vfs.c:76: error: 'id3_byte_t' undeclared (first use in this function)
id3-vfs.c:76: error: (Each undeclared identifier is reported only once
id3-vfs.c:76: error: for each function it appears in.)
id3-vfs.c:76: error: syntax error before 'query'
id3-vfs.c:82: error: 'query' undeclared (first use in this function)
id3-vfs.c:83: warning: implicit declaration of function 'id3_tag_query'
id3-vfs.c:83: warning: nested extern declaration of 'id3_tag_query'
id3-vfs.c: At top level:
id3-vfs.c:97: error: syntax error before 'id3_length_t'
id3-vfs.c: In function 'read_tag':
id3-vfs.c:101: error: 'id3_byte_t' undeclared (first use in this function)
id3-vfs.c:101: error: 'data' undeclared (first use in this function)
id3-vfs.c:104: error: 'size' undeclared (first use in this function)
id3-vfs.c:106: error: 'iofile' undeclared (first use in this function)
id3-vfs.c:109: warning: implicit declaration of function 'id3_tag_parse'
id3-vfs.c:109: warning: nested extern declaration of 'id3_tag_parse'
id3-vfs.c:109: warning: assignment makes pointer from integer without a cast
id3-vfs.c: In function 'update_primary':
id3-vfs.c:127: error: dereferencing pointer to incomplete type
id3-vfs.c:127: error: 'ID3_TAG_EXTENDEDFLAG_TAGISANUPDATE' undeclared (first use in this function)
id3-vfs.c:128: warning: implicit declaration of function 'id3_tag_clearframes'
id3-vfs.c:128: warning: nested extern declaration of 'id3_tag_clearframes'
id3-vfs.c:130: error: dereferencing pointer to incomplete type
id3-vfs.c:131: warning: implicit declaration of function 'id3_tag_attachframe'
id3-vfs.c:131: warning: nested extern declaration of 'id3_tag_attachframe'
id3-vfs.c:131: error: dereferencing pointer to incomplete type
id3-vfs.c: At top level:
id3-vfs.c:143: error: syntax error before 'id3_length_t'
id3-vfs.c: In function 'add_tag':
id3-vfs.c:147: error: storage size of 'filetag' isn't known
id3-vfs.c:150: error: 'file' undeclared (first use in this function)
id3-vfs.c:158: error: 'length' undeclared (first use in this function)
id3-vfs.c:172: error: dereferencing pointer to incomplete type
id3-vfs.c:183: warning: implicit declaration of function 'id3_tag_delete'
id3-vfs.c:183: warning: nested extern declaration of 'id3_tag_delete'
id3-vfs.c:147: warning: unused variable 'filetag'
id3-vfs.c: In function 'search_tags':
id3-vfs.c:240: warning: implicit declaration of function 'id3_tag_findframe'
id3-vfs.c:240: warning: nested extern declaration of 'id3_tag_findframe'
id3-vfs.c:240: error: invalid use of undefined type 'struct vfstag'
id3-vfs.c:240: error: invalid use of undefined type 'struct vfstag'
id3-vfs.c:240: error: dereferencing pointer to incomplete type
id3-vfs.c:240: warning: assignment makes pointer from integer without a cast
id3-vfs.c:243: warning: implicit declaration of function 'id3_field_getint'
id3-vfs.c:243: warning: nested extern declaration of 'id3_field_getint'
id3-vfs.c:243: error: dereferencing pointer to incomplete type
id3-vfs.c: In function 'finish_file':
id3-vfs.c:300: error: invalid use of undefined type 'struct vfstag'
id3-vfs.c:300: error: dereferencing pointer to incomplete type
id3-vfs.c:301: error: invalid use of undefined type 'struct vfstag'
id3-vfs.c:301: error: dereferencing pointer to incomplete type
id3-vfs.c: In function 'new_file':
id3-vfs.c:331: warning: implicit declaration of function 'id3_tag_new'
id3-vfs.c:331: warning: nested extern declaration of 'id3_tag_new'
id3-vfs.c:331: warning: assignment makes pointer from integer without a cast
id3-vfs.c: In function 'id3_vfs_update':
id3-vfs.c:417: error: 'id3_length_t' undeclared (first use in this function)
id3-vfs.c:417: error: syntax error before 'size'
id3-vfs.c:424: error: dereferencing pointer to incomplete type
id3-vfs.c:424: error: 'ID3_TAG_OPTION_ID3V1' undeclared (first use in this function)
id3-vfs.c:426: error: 'size' undeclared (first use in this function)
id3-vfs.c:426: warning: implicit declaration of function 'id3_tag_render'
id3-vfs.c:426: warning: nested extern declaration of 'id3_tag_render'
id3-vfs.c:438: error: dereferencing pointer to incomplete type
make[3]: *** [id3-vfs.lo] Error 1
make[3]: Leaving directory `/var/abs/local/muine-xine/src/muine-0.8.3/libmuine/id3-vfs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/abs/local/muine-xine/src/muine-0.8.3/libmuine'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs/local/muine-xine/src/muine-0.8.3'
make: *** [all] Error 2
==> ERROR: Build Failed. Aborting...
Could someone fix this thing up?
(Have to ask, WTF are all those errors coming from?!)
Offline
id3-vfs.h:27:20: error: id3tag.h: No such file or directory
$ pacman -Qo /usr/include/id3tag.h
/usr/include/id3tag.h is owned by libid3tag 0.15.1b-2
Is libid3tag installed?
Offline
Uh, nope... whoops. Thanks. :oops:
Now cleaning the PKGBUILD up a lot...
Offline
Don't forget to add it as depends/makedepends.
Offline
New PKGBUILD:
pkgname=muine-xine
pkgver=0.8.3
pkgrel=1
pkgdesc="A music player written in C#"
url="http://muine.gooeylinux.org/"
depends=('gtk-sharp-2' 'dbus-sharp=0.50' 'xine-lib>=1.0.0' 'libid3tag')
makedepends=('intltool')
conflicts=('muine')
install=muine.install
source=(http://muine.gooeylinux.org/muine-$pkgver.tar.gz
playlistwindow.patch)
md5sums=('4e21eeb8e809bebf1e13540e44a6259d' '4850f2c745a2b4b93f20042dd21682e0')
build() {
[ "$GNOMEDIR" = "" ] && . /etc/profile.d/gnome.sh
[ "$MONO_PATH" = "" ] && . /etc/profile.d/mono.sh
# get rid of .wapi errors in fakeroot
mkdir -p $startdir/src/weird
export MONO_SHARED_DIR=$startdir/src/weird
cd $startdir/src/muine-$pkgver
patch -Np0 -i $startdir/src/playlistwindow.patch || return 1
./configure --prefix=/opt/gnome --enable-xine
make || return 1
make DESTDIR=$startdir/pkg GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
install -d -m755 $startdir/pkg/opt/gnome/lib/muine/plugins
install -D -m755 plugins/*.{png,dll,xml} $startdir/pkg/opt/gnome/lib/muine/plugins/
# housecleaning
rm -rf $startdir/src/weird
}
And muine.install:
pkgname=muine-xine
post_install() {
schemas=(`pacman -Ql $pkgname | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`)
export GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source`
for schema in "${schemas[@]}" ; do
opt/gnome/bin/gconftool-2 --makefile-install-rule "$schema" >/dev/null 2>&1
done
kill -s HUP `pidof /opt/gnome/bin/gconfd-2` > /dev/null 2>&1
update-desktop-database -q
echo "recreating monodoc index ... this could take a while..."
monodoc --make-search-index > /dev/null 2>&1
}
pre_upgrade() {
pre_remove $1
}
post_upgrade() {
post_install $1
}
pre_remove() {
schemas=(`pacman -Ql $pkgname | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`)
export GCONF_CONFIG_SOURCE=`opt/gnome/bin/gconftool-2 --get-default-source`
for schema in "${schemas[@]}" ; do
opt/gnome/bin/gconftool-2 --makefile-uninstall-rule "$schema" >/dev/null 2>&1
done
kill -s HUP `pidof /opt/gnome/bin/gconfd-2` >/dev/null 2>&1
}
post_remove() {
echo -e "nrecreating monodoc index ... this could take a while..."
monodoc --make-search-index > /dev/null 2>&1
update-desktop-database -q
}
op=$1
shift
$op $*
Damn working with these mono packages is annoying. Recreating the monodoc index takes bloody forever! Could someone test these and see if they work right?
Edit: made a crucial change to muine.install (pkgname=muine -> pkgname=muine-xine :oops: ), but I still get this damned error on installation:
recreating monodoc index ... this could take a while...
/var/lib/pacman/local/muine-xine-0.8.3-1/install: line 3: 8536 Aborted monodoc --make-search-index >/dev/null 2>&1
WTF?
Offline
Any help on that error? I can't seem to find the reason for it... :?
Offline
I don't see any reason not to build muine with GStreamer. The only thing that doesn't work with the muine we have in the extra repository is that it needs an extra dependency for gst-plugins-vorbis to be able to play ogg-vorbis files (muine supports the ogg container but doesn't know what to do with the audio inside it without that plugin).
GStreamer is quite flexible for audiofiles. For videofiles, I think it's not very usable at this moment: I watched some movies with totem last weekend, during the movie the video/audio synchronisation goes more and more away every minute you play. In the beginning it's fine, in the end the audio is one or 2 seconds in front of the video
Offline
Au contraire... If you're playing music, GST still sucks. Every time it switches from one song to another, it eats up scads of CPU power, pausing for several seconds and causing applications to hang. It's a wonderful concept, but right now it's slow and buggy.
So... Any help on the weird installation error that should not happen?
Offline
Well, well, well... I'll have to eat those words now. Looks like this release could turn out to be good.
Offline
Yeah, I have been waiting for this gst for awhile now
Offline
Only problem is that it's quite incompatible with GST 0.8.x apps. I'll bet that the porting is going to take a long time...
Offline
A lot of porting started a month ago when the API froze so we should be seeing 0.10 compat apps sometime soon
Offline
Yay!
Offline
Yay!
slow down gullible. Dibble rigged these forums to lock out users that post anymore than 15 posts in 5 minutes.
Offline
Gullible Jones wrote:Yay!
slow down gullible. Dibble rigged these forums to lock out users that post anymore than 15 posts in 5 minutes.
Yay!!!!!
Offline
ROFL!
(Wouldn't it be easier to just block posts that occur within less than a minute of each other? Ah well, the admins can do what the admins want to do...)
Offline