Add dxvk 1.5.1

master
Marko Semet 2020-01-15 02:39:02 +01:00
parent a6b0f2d251
commit c69c6a48af
7 changed files with 159 additions and 0 deletions

View File

@ -0,0 +1,5 @@
#! /usr/bin/env bash
# Args: <builder-args> [<repo>]
CONF_PATH="$(dirname "$0")" &&
"$CONF_PATH/versions.py" "$CONF_PATH/build_amd64.sh" " $1" "$2"

View File

@ -0,0 +1,4 @@
#! /usr/bin/env bash
# Args: <file> <build-args> [<repo>]
exec "$(dirname "$0")/build_extension.sh" "$1" x86_64 "$2" "$3"

View File

@ -0,0 +1,14 @@
#! /usr/bin/env bash
# Args: <file> <arch> <builder-args> [<repo>]
if [ -z "VERBOSE" ]; then
HASH_MODULE_ARGS="-v"
else
HASH_MODULE_ARGS=""
fi
CONF_PATH="$(dirname "$0")" &&
"$CONF_PATH/../../../tools/hash_modules.py" $HASH_MODULE_ARGS --require-build "$1" "$2" &&
exec "$CONF_PATH/../../../tools/build.sh" "$1" "$2" "$3" "$4"
echo 'No build required.'

View File

@ -0,0 +1,83 @@
build-extension: true
id: de.marko10_000.winebarrels.Platform.ExtensionsV2.DXVK_{{VERSION}}
branch: "v2.0"
sdk: de.marko10_000.winebarrels.WineSdk
runtime: de.marko10_000.winebarrels.Wine
runtime-version: "5.0-rc5"
separate-locales: false
sdk-extensions:
- de.marko10_000.winebarrels.Platform.ExtensionsV2.MinGW
build-options:
prefix: /usr/wine_extensions/v2/DXVK_{{VERSION}}
env:
C_INCLUDE_PATH: /usr/wine_extensions/v2/DXVK_{{VERSION}}/include
CPLUS_INCLUDE_PATH: /usr/wine_extensions/v2/DXVK_{{VERSION}}/include
prepend-ld-library-path: /usr/wine_extensions/v2/DXVK_{{VERSION}}/lib
ldflags: -L/usr/wine_extensions/v2/DXVK_{{VERSION}}/lib
ldflags-override: true
modules:
# Prepare
- name: test-arch
buildsystem: simple
build-commands:
- false
skip-arches:
- x86_64
- i386
- name: glslang
sources:
- type: archive
url: https://github.com/KhronosGroup/glslang/archive/master-tot.tar.gz
sha256: 51074cce1ab877513457fe5acc9dd8b60023b070d34e7dd51f18342a1f23b355
buildsystem: cmake-ninja
builddir: true
cleanup:
- "*"
# 32bit dxvk
- name: dxvk-32bit
sources: &DXVK_SOURCES
- type: archive
url: {{SOURCE}}
sha256: {{SOURCE_SHA256}}
buildsystem: meson
config-opts:
- --cross-file=../build-win32.txt
- --buildtype=release
builddir: true
build-options:
prefix: /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp
env:
PATH: "/usr/wine_extensions/v2/DXVK_{{VERSION}}/bin:/usr/wine_extensions/v2/MinGW/bin:/usr/bin"
post-install:
- mkdir /usr/wine_extensions/v2/DXVK_{{VERSION}}/x32
- cp -rav /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp/bin/. /usr/wine_extensions/v2/DXVK_{{VERSION}}/x32
- rm -rf /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp
- /usr/wine_extensions/v2/MinGW/bin/i686-w64-mingw32-strip --strip-debug /usr/wine_extensions/v2/DXVK_{{VERSION}}/x32/*
- cp -av ../setup_dxvk.sh /usr/wine_extensions/v2/DXVK_{{VERSION}}
only-arches:
- x86_64
- i386
# 64bit dxvk
- name: dxvk-64bit
sources: *DXVK_SOURCES
buildsystem: meson
config-opts:
- --cross-file=../build-win64.txt
- --buildtype=release
builddir: true
build-options:
prefix: /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp
env:
PATH: "/usr/wine_extensions/v2/DXVK_{{VERSION}}/bin:/usr/wine_extensions/v2/MinGW/bin:/usr/bin"
post-install:
- mkdir /usr/wine_extensions/v2/DXVK_{{VERSION}}/x64
- cp -rav /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp/bin/. /usr/wine_extensions/v2/DXVK_{{VERSION}}/x64
- rm -rf /usr/wine_extensions/v2/DXVK_{{VERSION}}/tmp
- /usr/wine_extensions/v2/MinGW/bin/x86_64-w64-mingw32-strip --strip-debug /usr/wine_extensions/v2/DXVK_{{VERSION}}/x64/*
- cp -av ../setup_dxvk.sh /usr/wine_extensions/v2/DXVK_{{VERSION}}
only-arches:
- x86_64

View File

@ -0,0 +1,10 @@
#! /usr/bin/env bash
# Args: <repo>
if [ -z "$1" ]; then
echo "Arg 1 is missing."
exit 1
fi
VERSION="1_5_1" &&
flatpak build-commit-from --disable-fsync --no-update-summary "--src-repo=$1" "--src-ref=runtime/de.marko10_000.winebarrels.Platform.ExtensionsV2.DXVK_$VERSION/x86_64/v2.0" "$1" "runtime/de.marko10_000.winebarrels.Platform.ExtensionsV2.DXVK/x86_64/v2.0"

View File

@ -0,0 +1,3 @@
"1_5_1":
SOURCE: https://github.com/doitsujin/dxvk/archive/v1.5.1.tar.gz
SOURCE_SHA256: 205e4e122607f3d6d5e249b480cae8564f82435ca6b399bad7285a93b42aa6ae

View File

@ -0,0 +1,40 @@
#! /usr/bin/env python3
if __name__ == "__main__":
import argparse
import os
import subprocess
import sys
import tempfile
import yaml
parser = argparse.ArgumentParser(description="Run script for all versions.")
parser.add_argument("script", metavar="script", type=str, nargs=1,
help="The script to run with the config file as argument.")
parser.add_argument("args", metavar="args", nargs='*', help="Args to add aditional.")
args = parser.parse_args()
# Load configuration
ownPath = os.path.split(sys.argv[0])[0]
filePath = os.path.join(ownPath, "dxvk.yaml")
fileData = open(filePath, "r").read()
config = yaml.load(open(os.path.join(ownPath, "sources.yaml"), "r").read(), Loader=yaml.SafeLoader)
# Run script for each version
for version, i in config.items():
# Gen config file
tmp = fileData.replace("{{VERSION}}", version)
for jID, j in i.items():
tmp = tmp.replace("{{" + jID + "}}", j)
# Generate config file
outFile = tempfile.mktemp(".yaml")
with open(outFile, "w") as f:
f.write(tmp)
# Call script
try:
subprocess.call([args.script[0], outFile] + args.args)
finally:
os.remove(outFile)