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,
|
||||
bison, flex, fontforge, makeWrapper, pkg-config,
|
||||
nixosTests,
|
||||
|
@ -84,8 +84,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
|||
++ lib.optional sdlSupport pkgs.SDL2
|
||||
++ lib.optional usbSupport pkgs.libusb1
|
||||
++ lib.optionals gstreamerSupport (with pkgs.gst_all_1;
|
||||
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
|
||||
(gst-plugins-bad.override { enableZbar = false; }) ])
|
||||
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav gst-plugins-bad ])
|
||||
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ]
|
||||
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
|
||||
++ 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
|
||||
preFlags="${configureFlags}"
|
||||
|
@ -17,6 +17,26 @@ configurePhase
|
|||
buildPhase
|
||||
# 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
|
||||
sourceRoot=`pwd`
|
||||
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",
|
||||
supportFlags
|
||||
}:
|
||||
|
@ -34,7 +34,11 @@ in with src; {
|
|||
geckos = [ gecko32 gecko64 ];
|
||||
mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ];
|
||||
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" ];
|
||||
mainProgram = "wine64";
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue