Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

err: virtual: virtual_setup_exception stack overflow #13

Closed
wants to merge 22 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 17 additions & 57 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ env:
CXX: clang++
CPATH: /usr/local/include
LIBRARY_PATH: /usr/local/lib
CFLAGS: -O3 -Wno-deprecated-declarations -Wno-format -Wno-incompatible-pointer-types -Wno-implicit-function-declaration -Wno-int-conversion
CROSSCFLAGS: -O3 -Wno-deprecated-declarations -Wno-format -Wno-incompatible-pointer-types -Wno-implicit-function-declaration -Wno-int-conversion
CFLAGS: -O3
CROSSCFLAGS: -O3 -Wno-error=incompatible-pointer-types -Wno-error=int-conversion
LDFLAGS: -Wl,-ld_classic -Wl,-headerpad_max_install_names -Wl,-rpath,@loader_path/../../ -Wl,-rpath,/usr/local/lib
MACOSX_DEPLOYMENT_TARGET: 10.14
WINE_CONFIGURE: $GITHUB_WORKSPACE/configure
BUILDROOT: $GITHUB_WORKSPACE/build
WINE_INSTALLROOT: install
WINE_MONO: https://github.com/madewokherd/wine-mono/releases/download/wine-mono-7.4.1/wine-mono-7.4.1-x86.tar.xz
WINE_MONO: https://github.com/madewokherd/wine-mono/releases/download/wine-mono-9.0.0/wine-mono-9.0.0-x86.tar.xz

jobs:
build:
Expand All @@ -28,6 +28,12 @@ jobs:
- name: Use Xcode 15
run: sudo xcode-select -switch /Applications/Xcode_15.2.app/Contents/Developer

- name: ffmpeg
continue-on-error: true
run: brew install ffmpeg@6



- name: Install Homebrew Packages
continue-on-error: true
run: |
Expand All @@ -36,10 +42,6 @@ jobs:
"bison"
"pkg-config"
"gcenx/wine/cx-llvm"

# Utilities (DXVK)
"jq"

# Dependencies
"freetype"
"gettext"
Expand All @@ -49,41 +51,31 @@ jobs:
"molten-vk"
"winetricks"
)

brew install "${REQUIRED_PACKAGES[@]}"

- name: Install mingw
continue-on-error: true
run: |
# As of mingw-w64 12, brew uses UCRT instead of MSVCRT
# Wine will fail to build with UCRT, so we must rollback.

curl -L https://raw.githubusercontent.com/Homebrew/homebrew-core/31209a399a7b40bf2cd3abd7aee2715547ccd5bd/Formula/m/mingw-w64.rb > mingw-w64.rb && brew install mingw-w64.rb
rm mingw-w64.rb

- name: Echo Libs [DEBUG]
run: |
echo "Brew Libs"
ls $(brew --prefix)/lib

echo "FFmpeg Libs"
ls $(brew --prefix ffmpeg@6)/lib

echo "GStreamer Libs"
ls $(brew --prefix gstreamer)/lib/gstreamer-1.0

- name: Add bison & cx-llvm to $PATH
run: |
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
echo "$(brew --prefix cx-llvm)/bin" >> $GITHUB_PATH

- name: Configure wine64
run: |
set -x

export ac_cv_lib_soname_MoltenVK="libMoltenVK.dylib"
export ac_cv_lib_soname_vulkan=""

mkdir -p ${{ env.BUILDROOT }}/wine64
pushd ${{ env.BUILDROOT }}/wine64
${{ env.WINE_CONFIGURE }} \
Expand Down Expand Up @@ -122,13 +114,11 @@ jobs:
--with-vulkan \
--without-x
popd

- name: Build wine64
run: |
pushd ${{ env.BUILDROOT }}/wine64
make -j$(sysctl -n hw.ncpu 2>/dev/null)
popd

- name: Install wine64
run: |
pushd ${{ env.BUILDROOT }}/wine64
Expand All @@ -138,10 +128,8 @@ jobs:
- name: Configure wine32on64
run: |
set -x

export ac_cv_lib_soname_MoltenVK="libMoltenVK.dylib"
export ac_cv_lib_soname_vulkan=""

mkdir -p ${{ env.BUILDROOT }}/wine32on64
pushd ${{ env.BUILDROOT }}/wine32on64
${{ env.WINE_CONFIGURE }} \
Expand Down Expand Up @@ -184,36 +172,28 @@ jobs:
--with-wine64=${{ env.BUILDROOT }}/wine64 \
--without-x
popd

- name: Build wine32on64
run: |
pushd ${{ env.BUILDROOT }}/wine32on64
make -j$(sysctl -n hw.ncpu 2>/dev/null)
popd

- name: Install wine32on64
run: |
pushd ${{ env.BUILDROOT }}/wine32on64
make install-lib DESTDIR="$GITHUB_WORKSPACE/${{ env.WINE_INSTALLROOT }}"
popd

- name: Grab Verbs From Winetricks
run: |
curl -L -o verbs.txt https://raw.githubusercontent.com/Winetricks/winetricks/master/files/verbs/all.txt

- name: Create Final Package
run: |
mkdir -p Libraries/DXVK
mkdir -p Libraries/Wine

cp -a ${{ env.WINE_INSTALLROOT }}/. Libraries/Wine/

rm -rf Libraries/Wine/share/man

cp -a $(brew --prefix winetricks)/bin/winetricks Libraries
cp -a verbs.txt Libraries
cp -a DXVK Libraries

- name: Copy External Libs
run: |
LIBS=(
Expand Down Expand Up @@ -257,17 +237,17 @@ jobs:
"libMoltenVK"
"libnettle.8"
"libogg.0"
"libopenvino.2410"
"libopenvino_c.2410"
"libopenvino_onnx_frontend.2410"
"libopenvino_paddle_frontend.2410"
"libopenvino_pytorch_frontend.2410"
"libopenvino_tensorflow_frontend.2410"
"libopenvino_tensorflow_lite_frontend.2410"
"libopenvino.2420"
"libopenvino_c.2420"
"libopenvino_onnx_frontend.2420"
"libopenvino_paddle_frontend.2420"
"libopenvino_pytorch_frontend.2420"
"libopenvino_tensorflow_frontend.2420"
"libopenvino_tensorflow_lite_frontend.2420"
"liborc-0.4.0"
"libp11-kit.0"
"libpcre2-8.0"
"libpostproc.57"

"libpng16.16"
"libpugixml.1"
"librav1e.0.7"
Expand Down Expand Up @@ -297,7 +277,6 @@ jobs:
"libzimg.2"
"libzmq.5"
)

FFMPEG_LIBS=(
"libavfilter.9"
"libavformat.60"
Expand All @@ -307,7 +286,6 @@ jobs:
"libswresample.4"
"libswscale.7"
)

GSTREAMER_LIBS=(
"libgstapplemedia"
"libgstasf"
Expand All @@ -329,36 +307,27 @@ jobs:
"libgstvideoparsersbad"
"libgstwavparse"
)

for i in "${LIBS[@]}"
do
cp -Lr $(brew --prefix)/lib/"$i".dylib Libraries/Wine/lib
done

for i in "${FFMPEG_LIBS[@]}"
do
cp -Lr $(brew --prefix ffmpeg@6)/lib/"$i".dylib Libraries/Wine/lib
done

mkdir Libraries/Wine/lib/gstreamer-1.0

for i in "${GSTREAMER_LIBS[@]}"
do
cp -Lr $(brew --prefix gstreamer)/lib/gstreamer-1.0/"$i".dylib Libraries/Wine/lib/gstreamer-1.0
done

cp -a $(brew --prefix gstreamer)/lib/gstreamer-1.0/include Libraries/Wine/lib/gstreamer-1.0

# Fixup brew dylib LCs

update_dylib_paths() {
local dylib_file="$1"
local path_prefix="$2"
echo "Processing $dylib_file..."

# Extract LC_LOAD_DYLIB paths using otool
local load_dylibs=$(otool -L "$dylib_file" | grep -v "$dylib_file" | awk '{print $1}')

for path in $load_dylibs; do
if [[ $path != /usr/lib* && $path != /System/* ]]; then
# For paths not excluded, replace the prefix with @loader_path/
Expand All @@ -371,33 +340,24 @@ jobs:
fi
done
}

export -f update_dylib_paths

find Libraries/Wine/lib -maxdepth 1 -type f -name '*.dylib' -exec bash -c 'update_dylib_paths "$0" "@loader_path/"' {} \;
find Libraries/Wine/lib/gstreamer-1.0 -maxdepth 1 -type f -name '*.dylib' -exec bash -c 'update_dylib_paths "$0" "@loader_path/../"' {} \;

update_dylib_paths Libraries/Wine/lib/wine/x86_64-unix/winegstreamer.so "@rpath/"

- name: Install GPTK
run: |
ditto GPTK/redist/lib/ Libraries/Wine/lib/

- name: Copy Version .plist
run: |
cp -a WhiskyWineVersion.plist Libraries/

- name: Install WineMono
run: |
mkdir Libraries/Wine/share/wine/mono

curl -L -o mono.tar.xz ${{ env.WINE_MONO }}
tar -xzf mono.tar.xz -C Libraries/Wine/share/wine/mono

- name: Build Checksum
run: |
find ./Libraries -type f -exec shasum "{}" + > SUMS.sha

- name: Upload config64.log
if: failure()
uses: actions/upload-artifact@v4
Expand Down
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"files.associations": {
"string": "c"
}
}
1 change: 1 addition & 0 deletions GPTK/redist/lib/external/D3DMetal.framework/Headers
Binary file modified GPTK/redist/lib/external/D3DMetal.framework/Versions/A/D3DMetal
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
<key>ProjectName</key>
<string>D3DRendererMetal</string>
<key>SourceVersion</key>
<string>25011000000000</string>
<string>25012000000000</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,27 @@
</data>
<key>Resources/default.metallib</key>
<data>
LQZ8p5HlC6WNBzOhGZB0I59xJHI=
mxLJaSs2P0Djf643Kz8Va6Hx/pU=
</data>
<key>Resources/libdxccontainer.dylib</key>
<data>
sjzzc3d+CUWxeURQG95BtKO6dEE=
dXleNCH3bcxIdmB71UBOSosR8gU=
</data>
<key>Resources/libdxcompiler.dylib</key>
<data>
SosJ4ruO0UnCrmNGxE1DTPICox0=
lHo+4Eo9wSravo6lkLHUpqvaB5A=
</data>
<key>Resources/libdxilconv.dylib</key>
<data>
1HaxatZtI8A0RGYMXWqeZry18mI=
Hpc+gw3aNbYSHWTfeTWiN/PZdD0=
</data>
<key>Resources/libmetalirconverter.dylib</key>
<data>
dLIQcMwng33L6rSQaE80hAaIAQo=
FKggi67FLzSiKDkmyPmvlC9zZtM=
</data>
<key>Resources/version.plist</key>
<data>
y7JjtFeGtpaYPX0tFHQCu7bum0Y=
4hEE6t/Xe1/2UPLpQxatIwvdb7Y=
</data>
</dict>
<key>files2</key>
Expand All @@ -57,42 +57,42 @@
<dict>
<key>hash2</key>
<data>
B95I9T2lA9AsJHu/pTkKeI4k+6OqbVThfK8nIaLDl04=
imVLtLKdRqdb3F3ZR3GCutg66n2KEKgSjIVb1CyiF+c=
</data>
</dict>
<key>Resources/libdxccontainer.dylib</key>
<dict>
<key>hash2</key>
<data>
zm7gUzeEpj0QNjMTViwMmjA0EfTCy3lLfSuCuXVBBBg=
QTO36F4ebdqlZzhQj/FeY+1+JIbHRTjJoRUKvUIR+Js=
</data>
</dict>
<key>Resources/libdxcompiler.dylib</key>
<dict>
<key>hash2</key>
<data>
erzoN04l+P/qm6x+uVfL2HJYy3zbCGssSLQN27biL6g=
CiwABW6lRz/beYuRMkDZIJUEPcGHe2M1pWwJY3VWFhI=
</data>
</dict>
<key>Resources/libdxilconv.dylib</key>
<dict>
<key>hash2</key>
<data>
5FnyTvUK0kRYY7vT+F0eNy7YIg4H/aCCG9XL4DzCJpA=
ob+pR46qs/d8eEMaECmJOx6asabIiHe47o1FwEBg1u4=
</data>
</dict>
<key>Resources/libmetalirconverter.dylib</key>
<dict>
<key>hash2</key>
<data>
9OvZc+2PlPYaNiWRZ4kzxR1OnhvAjZXoiv+AWu/xfUY=
2Dfm0MTQmQoEOv7MJULEo1htoFJXD5/EeVMvS7UplpY=
</data>
</dict>
<key>Resources/version.plist</key>
<dict>
<key>hash2</key>
<data>
idHsvcSD9w+BzMvuhXYk32/rYL+mN3jfj+0bXOSuIQM=
qAJ7bqVsNX2bD5jem7+hEtMTOYGRHIXlXnAP0iB+0/E=
</data>
</dict>
</dict>
Expand Down
1 change: 1 addition & 0 deletions GPTK/redist/lib/wine/x86_64-unix/d3d9.so
Binary file added GPTK/redist/lib/wine/x86_64-windows/d3d9.dll
Binary file not shown.
4 changes: 4 additions & 0 deletions dlls/msmpeg2vdec/Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
MODULE = msmpeg2vdec.dll

SOURCES = \
main.c
27 changes: 27 additions & 0 deletions dlls/msmpeg2vdec/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/

#include "wine/debug.h"

WINE_DEFAULT_DEBUG_CHANNEL(msmpeg2vdec);

HRESULT WINAPI DllGetClassObject( REFCLSID clsid, REFIID riid, void **out )
{
FIXME( "clsid %s, riid %s, out %p stub!\n", debugstr_guid(clsid), debugstr_guid(riid), out );
return CLASS_E_CLASSNOTAVAILABLE;
}
Loading