Merge pull request #238991 from SuperSamus/wine-gstreamer-fix
wine: fix gstreamer on WoW builds
This commit is contained in:
commit
c077412652
3 changed files with 29 additions and 6 deletions
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, pkgArches, callPackage, makeSetupHook,
|
{ stdenv, lib, pkgArches, makeSetupHook,
|
||||||
pname, version, src, mingwGccs, monos, geckos, platforms,
|
pname, version, src, mingwGccs, monos, geckos, platforms,
|
||||||
bison, flex, fontforge, makeWrapper, pkg-config,
|
bison, flex, fontforge, makeWrapper, pkg-config,
|
||||||
nixosTests,
|
nixosTests,
|
||||||
|
@ -84,8 +84,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
||||||
++ lib.optional sdlSupport pkgs.SDL2
|
++ lib.optional sdlSupport pkgs.SDL2
|
||||||
++ lib.optional usbSupport pkgs.libusb1
|
++ lib.optional usbSupport pkgs.libusb1
|
||||||
++ lib.optionals gstreamerSupport (with pkgs.gst_all_1;
|
++ lib.optionals gstreamerSupport (with pkgs.gst_all_1;
|
||||||
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
|
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav gst-plugins-bad ])
|
||||||
(gst-plugins-bad.override { enableZbar = false; }) ])
|
|
||||||
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ]
|
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ]
|
||||||
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
|
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
|
||||||
++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ]
|
++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## build described at http://wiki.winehq.org/Wine64
|
## build described at https://wiki.winehq.org/Building_Wine#Shared_WoW64
|
||||||
|
|
||||||
source $stdenv/setup
|
source $stdenv/setup
|
||||||
preFlags="${configureFlags}"
|
preFlags="${configureFlags}"
|
||||||
|
@ -17,6 +17,26 @@ configurePhase
|
||||||
buildPhase
|
buildPhase
|
||||||
# checkPhase
|
# checkPhase
|
||||||
|
|
||||||
|
# Remove 64 bit gstreamer from PKG_CONFIG_PATH
|
||||||
|
IFS=":" read -ra LIST_ARRAY <<< "$PKG_CONFIG_PATH"
|
||||||
|
IFS=":" read -ra REMOVE_ARRAY <<< "@pkgconfig64remove@"
|
||||||
|
NEW_LIST_ARRAY=()
|
||||||
|
|
||||||
|
for ELEMENT in "${LIST_ARRAY[@]}"; do
|
||||||
|
TO_ADD=1
|
||||||
|
for REMOVE in "${REMOVE_ARRAY[@]}"; do
|
||||||
|
if [[ "$REMOVE" == "$ELEMENT" ]]; then
|
||||||
|
TO_ADD=0
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ $TO_ADD -eq 1 ]]; then
|
||||||
|
NEW_LIST_ARRAY+=("$ELEMENT")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
PKG_CONFIG_PATH=$(IFS=":"; echo "${NEW_LIST_ARRAY[*]}")
|
||||||
|
|
||||||
cd $TMP/wine-wow
|
cd $TMP/wine-wow
|
||||||
sourceRoot=`pwd`
|
sourceRoot=`pwd`
|
||||||
configureFlags="${preFlags} --with-wine64=../wine64"
|
configureFlags="${preFlags} --with-wine64=../wine64"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage, moltenvk,
|
{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage, substituteAll, moltenvk,
|
||||||
wineRelease ? "stable",
|
wineRelease ? "stable",
|
||||||
supportFlags
|
supportFlags
|
||||||
}:
|
}:
|
||||||
|
@ -34,7 +34,11 @@ in with src; {
|
||||||
geckos = [ gecko32 gecko64 ];
|
geckos = [ gecko32 gecko64 ];
|
||||||
mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ];
|
mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ];
|
||||||
monos = [ mono ];
|
monos = [ mono ];
|
||||||
buildScript = ./builder-wow.sh;
|
buildScript = substituteAll {
|
||||||
|
src = ./builder-wow.sh;
|
||||||
|
# pkgconfig has trouble picking the right architecture
|
||||||
|
pkgconfig64remove = lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ pkgs.glib pkgs.gst_all_1.gstreamer ];
|
||||||
|
};
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
mainProgram = "wine64";
|
mainProgram = "wine64";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue