wine

advanced-customization

# 'Wine-to-rule-them-all' - Wine-TkG advanced config file

##
##   This config file contains advanced settings for your build.
##   For the basic configuration, see ../customization.cfg
##

#### NON-MAKEPKG OPTIONS (Won't affect makepkg builds) ####

# Set to true to disable versioning in the installation path of your builds. To change the base name of your build dir, see _PKGNAME_OVERRIDE option.
_nomakepkg_nover="false"


#### MAKEPKG-ONLY OPTIONS (Will ONLY affect makepkg builds) ####

# Set to "true" to add rt prio capability to wineserver
_allow_server_rt_prio="false"

# Set to "true" to add net raw capability to wineserver & wine preloaders
# Notably fixes empty pings on BF4 that may lead to kicks on some servers
_allow_wine_net_raw="true"


#### COMPILER/BUILD OPTIONS ####

# External config file to use - If the given file exists in path, it will override default config (customization.cfg) - Default is ~/.config/frogminer/wine-tkg.cfg
_EXT_CONFIG_PATH=~/.config/frogminer/wine-tkg.cfg

# Set to a string of your choice to override the default dynamic pkgname. Example: "awkward_frog" will result in "wine-tkg-git-awkward_frog" pkgname. You can also use "none" to only get a plain "wine-tkg-git" pkgname.
# On non-makepkg builds, it'll change the base name of the build's dir in a similar fashion.
_PKGNAME_OVERRIDE=""

# Custom compiler root dirs - Leave empty to use system compilers
# Example: CUSTOM_MINGW_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/mingw-mostlyportable-9.2.0"
# Example: CUSTOM_GCC_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0"
CUSTOM_MINGW_PATH=""
CUSTOM_GCC_PATH=""

# Set to true to use custom flags defined by _GCC_FLAGS and _LD_FLAGS. All CPU threads will also be used for building independently of your settings.
# Setting this to false will use your system-wide makepkg flags set in /etc/makepkg.conf (not recommended).
_LOCAL_OPTIMIZED="true"
# Custom GCC flags to use instead of system-wide makepkg flags set in /etc/makepkg.conf. Default is "-pipe -O2 -ftree-vectorize". Don't use -march=native if you want to share your builds accross different machines!
_GCC_FLAGS="-O2 -ftree-vectorize -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types -Wno-error=int-conversion"
# Custom LD flags to use instead of system-wide makepkg flags set in /etc/makepkg.conf. Default is "-pipe -O2 -ftree-vectorize".
_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"
# Same as _GCC_FLAGS but for cross-compiled binaries.
_CROSS_FLAGS="-O2 -ftree-vectorize -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types -Wno-error=int-conversion"
# Same as _LD_FLAGS but for cross-compiled binaries.
_CROSS_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"

# By default, tests are disabled to speed up compilation. If you need them for development purposes, set to "true"
_ENABLE_TESTS="false"

# Strip libs for smaller footprint (--strip-unneeded) - Not recommended for debugging
_pkg_strip="true"

# Set to "debug" to enable incremental building for debugging/development. Set to "false" to skip cleanups. Default "true" will enable housecleaning and sanity tasks.
_NUKR="true"

# Set to "true" to generate patchsets for each parts of the tree patching steps, found in `src/wine source dir` (default src/wine-mirror-git)
# 01-reverts - 02-pre-staging - 03-staging - 04-post-staging - 05-hotfixes - 06-userpatches - 07-tags-n-polish
_generate_patchsets="false"

# Set to "true" to log compiler warnings and errors to a debug.log file
_log_errors_to_file="false"

# Set to "true" to disable usage of 32-bit unix libs and disable 32-bit apps support.
# Set to "wow64" to use Wine 8.0+ experimental WoW64 (32on64) for 32-bit apps.
# Default is "false".
_NOLIB32="wow64"

# Set to true to disable 64-bit wine. Doing so will only build 32-bit wine and no SUPPORT for 64-bit apps. Default is "false".
_NOLIB64="false"

# Set to true to disable using mingw-gcc to build PE files on 4.9+. Will pass "--without-mingw" to wine's configuration flags.
_NOMINGW="false"

# Set to true to forcefully disable using ccache (else it'll be used if detected).
_NOCCACHE="false"

# Set to true if you do not want to compile your build after its source is ready - For source sharing/debugging
_NOCOMPILE="false"

# Set to true if you want to skip the initial prompt
_NOINITIALPROMPT="false"

# Set to true to build 64-bit and 32-bit wine in parallel (Experimental)
_SINGLE_MAKE="false"

# Optionally set additional dependencies for makepkg builds. Multiple elements should be separated by a space.
# Only affect makepkg
_user_deps=""

# Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space.
# Only affect makepkg
_user_makedeps=""

# Set to true to remove trailing patchmsg strings in logs - Useful to review the list of patches used without fluff
_nopatchmsg="false"


#### EXTERNAL INSTALLATION SETTINGS - !! ONLY AFFECTS MAKEPKG !! ####

# "opt" path
_DEFAULT_EXTERNAL_PATH="/opt"

# Set to true to disable versioning in path for external install. For example, this would strip "opt/wine-tkg-opt-git-4.0.r11.gd2a48f1a" to "opt/wine-tkg-opt-git".
_EXTERNAL_NOVER="false"


#### WINE FLAVOUR SETTINGS ####

# Set to the path of a custom wine source repo if desired. Leave empty to use official wine source.
# Use the _plain_version option (../customization.cfg) to target a specific commit for this source
# ! Make sure to disable staging if your source isn't compatible with it or it will fail to apply !
_custom_wine_source=""

# To build a local source instead of cloning from wine repos, copy the root dir of your build to wine-tkg-git/wine-tkg-git/src/ and set the variable below to the name of that dir
# Example: For a "wine-froggy" dir containing my wine source, I copy it to wine-tkg-git/wine-tkg-git/src/wine-froggy and set _localbuild="wine-froggy"
# Leave empty to use wine repos (default)
_localbuild=""

# use mirror servers (github) for plain wine and staging sources. It is usually much faster than main servers but there might be a little delay before it gets synchronized.
_github_mirrorsrc="true"

# Sets custom configure-args for 64-bit, separated by a space (example: "--without-mingw --with-vkd3d")
_configure_userargs64="--with-x --with-gstreamer --with-xattr"
# Sets custom configure-args for 32-bit, separated by a space (example: "--without-mingw --with-vkd3d")
_configure_userargs32="--with-x --with-gstreamer --with-xattr"


# esync version - https://github.com/zfigura/wine/releases - If you want to use a specific esync version. For 3.20 or higher, use "ce79346". For 3.19 to 3.17, use "b4478b7". For 3.16 and lower, use "5898a69".
# Leave empty for auto-selection depending on detected Wine version (recommended).
_esync_version=""

# Add a configurable spin count to fsync - might help performance but can introduce stability issues/hanging. Try setting WINEFSYNC_SPINCOUNT=100 envvar
_fsync_spincounts="true"

# staging
# You can optionally uncomment the _staging_userargs="" option below to disable desired wine-staging patchsets.
# For example, to disable the 'wined3d-Indexed_Vertex_Blending' patchset, the line below would look like this : _staging_userargs="-W wined3d-Indexed_Vertex_Blending"
# You can also disable multiple patchsets ('wined3d-WINED3D_RS_COLORWRITEENABLE' and 'wined3d-Indexed_Vertex_Blending' in the following example : _staging_userargs="-W wined3d-WINED3D_RS_COLORWRITEENABLE -W wined3d-Indexed_Vertex_Blending"
_staging_userargs="-W ntdll-NtAlertThreadByThreadId"

# legacy gallium nine - This is only available for 4.1-devel (prior to e24b162) and older wine versions
_use_legacy_gallium_nine="false"

# Child window support for vk - Fixes World of Final Fantasy, CEMU vulkan renderer and others - https://bugs.winehq.org/show_bug.cgi?id=45277
# Available upstream as of 21a0c158b94bfc65d4baa95095307a1db396db0c
_childwindow_fix="true"


#### GAME-SPECIFIC PATCHES ####

# The Sims 3 fix for Nvidia on older than 415.xx drivers - https://bugs.winehq.org/show_bug.cgi?id=45361
_sims3_fix="false"

# Disable staging PA patchset - Some people have had issues with the winepulse staging patchset, usually caused by pulseaudio misconfiguration (also called default configuration)
_staging_pulse_disable="false"


#### OTHER PATCHES ####

# CSMT toggle patch - Corrects the CSMT toggle to be more logical - https://github.com/wine-staging/wine-staging/pull/60/commits/ad474559590a659b3df72ec9965de20c7f51c3a8
_CSMT_toggle="true"

# GLSL toggle patch - Requires staging, ignored if legacy Gallium Nine is used. Gives the ability to use ARB shaders in winecfg, noticable stutter reduction with games using wined3d on Nvidia.
# Enabling this option will interfere with Gallium HUD
_GLSL_toggle="true"

# Disable mime-types registering
_MIME_NOPE="true"

# Disable file-open-associations registering
_FOAS_NOPE="true"

# low latency alsa patch - Requires staging. Using this patch for something else than Osu! isn't recommended and can lead to crashing - https://blog.thepoon.fr/osuLinuxAudioLatency/
_lowlatency_audio="false"

# Enable STAGING_SHARED_MEMORY by default - Depends on staging - EA Origin Client seems to dislike that option - You can set this to false and enable the feature from env var instead (STAGING_SHARED_MEMORY=1) - https://wiki.winehq.org/Wine-Staging_Environment_Variables#Shared_Memory
_stg_shared_mem_default="false"

# Nvidia hate - Prevents building of nvapi/nvapi64, nvcuda, nvcuvid and nvencodeapi/nvencodeapi64 libs. Staging only
_nvidia_hate="false"

# Optionally uncomment the line below to use Clang instead of GCC and MinGW-GCC - ! not recommended & not supported ! - It *can* be used to build older wine trees with varying results
#_NOMINGW="true" _NOCCACHE="true" && export CC="clang" && export CXX="clang++" && export CROSSCC="clang"


#### PROTON PATCHES ####

# Proton SDL Joystick support, FFB steering wheel fixes and improvements, HIDRAW access for devices that support it.
# Can break gamepad support in some games.
_sdl_joy_support="false"

# IMAGE_FILE_LARGE_ADDRESS_AWARE override - Will be force-disabled on lower than 3.19 - Useful for 32-bit games hitting address space limitations - Disable with WINE_LARGE_ADDRESS_AWARE=0
# Doesn't work properly together with WoW64 experimental mode
_large_address_aware="true"

# Proton Bcrypt patches - Fixes RDR2 online, notably - Replaces Staging's bcrypt-ECDHSecretAgreement
_proton_bcrypt="true"


#### USER PATCHES - See README in ./wine-tkg-userpatches dir for instructions ####

# Userpatches variable below must be set to true to enable userpatches support.
_user_patches="true"

# Apply all user patches without confirmation - !!! NOT RECOMMENDED !!!
_user_patches_no_confirm="false"

# Set to "false" to prompt about all non-critical hotfix patches at build time, or "ignore" to ignore all non-critical hotfix patches without confirmation
# Default ("true") will apply all non-critical hotfix patches without confirmation
_hotfixes_no_confirm="true"
# Set to false to disable staging mfplat restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
_hotfixansw_staging_mfplat=""
# Set to false to disable staging pulseaudio restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
_hotfixansw_staging_pulse=""

Uploaded by Glebux