electrofelix n00b

Joined: 08 May 2010 Posts: 2
|
Posted: Mon Apr 30, 2012 10:44 pm Post subject: Getting gstreamer use flag unmasked for wine on amd64 |
|
|
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 |
|