Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Getting gstreamer use flag unmasked for wine on amd64
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
electrofelix
n00b
n00b


Joined: 08 May 2010
Posts: 2

PostPosted: Mon Apr 30, 2012 10:44 pm    Post subject: Getting gstreamer use flag unmasked for wine on amd64 Reply with quote

I'd like to see the gstreamer use flag get unmasked for 32 bit wine on amd64. I have it working with the multilib-portage overlay, but I'm not sure it what I have works correctly for the standard amd64 multilib profile.

The main problem I see is that on amd64, when checking for gstreamer, the wine configure script checks the size of type gint64, which on amd64 is defined in /usr/lib64/glib-2.0/include/glibconfig.h

Unfortunately, this file is auto-generated for each platform, so type 'gint64' is defined as "typedef signed long gint64;" on amd64 and it is "G_GNUC_EXTENSION typedef signed long long gint64;" on x86 (32bit) based on using -m32 to CPPFLAGS.

Once I tell the wine configure script to use the version of this header that is generated for 32bit, it has no problems configuring and building gstreamer support.

This all seems to work for me, as since I'm using the multilib overlay, I also have most of the gstreamer plugins installed for both ABI's (x86 and amd64).

I'm not sure whether this also works for someone using standard multilib profile on amd64 and relying on the app-emulation/emul-linux-x86-baselibs package to provide the necessary gstreamer plugins.


Would appreciate someone with the right setup to follow the steps below and see if wine compiles and runs correctly for them, and whether they get any basic codec playback

These steps create the necessary glibconfig.h
Code:

ebuild $(equery w dev-libs/glib) unpack
# should tell you which directory it unpacked to
# can also set a variable to the correct version using the following
GLIB_VERSION=$(eix --format '<installedversions:VERSION>' --pure-packages dev-libs/glib)
# switch to the work dir
cd /var/tmp/portage/dev-libs/glib-${GLIB_VERSION}/work/glib-${GLIB_VERSION}
CPPFLAGS=-m32 ./configure


Now build wine (1.5.2) and specify the 32bit version of the glibconfig.h include file be used
Code:

ebuild /usr/portage/app-emulation/wine/wine-1.5.2.ebuild prepare
cd /var/tmp/portage/app-emulation/wine-1.5.2/work/wine-1.5.2
CPPFLAGS="-I/var/tmp/portage/dev-libs/glib-${GLIB_VERSION}/work/glib-${GLIB_VERSION}" ./configure --with-gstreamer
make


Now go run it on your wineprefix, and report success or failure.


Assuming the result works for standard multilib, it would seem that some use of gstreamer for codecs with wine will just require the following:
1) The following file be added to app-emulation/emul-linux-x86-baselibs
/usr/lib32/glib-2.0/include/glibconfig.h
2) the wine ebuilds be updated so that on amd64, when building with useflag win32
CPPFLAGS="-I/usr/lib32/glib-2.0/include/glibconfig.h" or equivalent to make the build use the correct include rather than /usr/lib64/glib-2.0/include/glibconfig.h
3) unmask gsteamer use flag for wine in the amd64 mutlilib profile
_________________
"Nothing is foolproof to a sufficiently talented fool" - Unknown
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum