You are not logged in.

#1 2005-12-05 00:33:25

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

[request] Muine-xine

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

#2 2005-12-05 00:42:17

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

Re: [request] Muine-xine

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

#3 2005-12-05 01:06:32

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

Uh, nope... whoops. Thanks. :oops:

Now cleaning the PKGBUILD up a lot...

Offline

#4 2005-12-05 01:11:01

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

Re: [request] Muine-xine

Don't forget to add it as depends/makedepends. wink

Offline

#5 2005-12-05 01:21:09

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

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

#6 2005-12-05 11:58:04

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

Any help on that error? I can't seem to find the reason for it... :?

Offline

#7 2005-12-05 12:11:01

JGC
Developer
Registered: 2003-12-03
Posts: 1,664

Re: [request] Muine-xine

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 sad

Offline

#8 2005-12-05 20:41:17

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

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

#9 2005-12-05 21:35:07

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

Well, well, well... I'll have to eat those words now. Looks like this release could turn out to be good.

Offline

#10 2005-12-05 22:05:27

WillySilly
Member
Registered: 2005-01-14
Posts: 268

Re: [request] Muine-xine

Yeah, I have been waiting for this gst for awhile now

Offline

#11 2005-12-06 00:25:58

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

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

#12 2005-12-06 01:45:30

WillySilly
Member
Registered: 2005-01-14
Posts: 268

Re: [request] Muine-xine

A lot of porting started a month ago when the API froze so we should be seeing 0.10 compat apps sometime soon

Offline

#13 2005-12-06 02:54:08

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

Yay!

Offline

#14 2005-12-06 03:10:43

T-Dawg
Forum Fellow
From: Charlotte, NC
Registered: 2005-01-29
Posts: 2,736

Re: [request] Muine-xine

Gullible Jones wrote:

Yay!

slow down gullible. Dibble rigged these forums to lock out users that post anymore than 15 posts in 5 minutes.

Offline

#15 2005-12-06 03:13:41

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: [request] Muine-xine

Penguin wrote:
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

#16 2005-12-06 03:49:45

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: [request] Muine-xine

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

Board footer

Powered by FluxBB