mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-06 19:40:10 +02:00
Abort build when using unity builds with 7.21/7.22
This may help prevent some broken yabridge builds.
This commit is contained in:
@@ -8,6 +8,20 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
# Changed
|
||||
|
||||
- The yabridge builds on the GitHub releases page now have the unity build
|
||||
option disabled. This _may_ work around the same Wine bug
|
||||
[#53912](https://bugs.winehq.org/show_bug.cgi?id=53912) mentioned in the last
|
||||
release, as the issue has not yet been fixed for Wine 7.22. But since this is
|
||||
a low level bug within Wine, there's no guarantee that everything will work
|
||||
correctly. If you still experience crashes or freezes with yabridge, then do
|
||||
consider
|
||||
[downgrading](https://github.com/robbert-vdh/yabridge#downgrading-wine) back
|
||||
to Wine Staging 7.20.
|
||||
- Yabridge's build system now errors out when doing unity builds with compiling
|
||||
with Wine 7.21 and 7.22.
|
||||
|
||||
# Fixed
|
||||
|
||||
- Changed the behavior when setting window positions for yabridge's editor. This
|
||||
@@ -16,6 +30,12 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
redraw GUI, and especially with window managers that send excessive events on
|
||||
window movement like in Cinnamon and XFCE.
|
||||
|
||||
### Packaging notes
|
||||
|
||||
- The `--unity=on` build option should be removed for the time being as this
|
||||
together with the VST3 SDK triggers the above mentioned [Wine
|
||||
bug](https://bugs.winehq.org/show_bug.cgi?id=53912).
|
||||
|
||||
## [5.0.1] - 2022-11-14
|
||||
|
||||
# Fixed
|
||||
|
||||
@@ -818,13 +818,17 @@ The following dependencies are included in the repository as a Meson wrap:
|
||||
to allow Winelib compilation
|
||||
- Version 1.1.1 of the [CLAP headers](https://github.com/free-audio/clap).
|
||||
|
||||
The project can then be compiled with the command below. You can remove or
|
||||
The project can then be compiled with the command below. ~~You can remove or
|
||||
change the unity size argument if building takes up too much RAM, or you can
|
||||
disable unity builds completely by getting rid of `--unity=on` at the cost of
|
||||
slightly longer build times.
|
||||
slightly longer build times.~~ This build command used to contain the
|
||||
`--unity=on --unity-size=1000` option to reduce compile times and to allow for
|
||||
better optimization. These options have temporarily been removed as they'll
|
||||
result in a non-functional yabridge when used with Wine 7.21 and 7.22 due to
|
||||
Wine bug [#53912](https://bugs.winehq.org/show_bug.cgi?id=53912).
|
||||
|
||||
```shell
|
||||
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000
|
||||
meson setup build --buildtype=release --cross-file=cross-wine.conf
|
||||
ninja -C build
|
||||
```
|
||||
|
||||
|
||||
+13
@@ -165,6 +165,19 @@ if wine_version.returncode() == 0
|
||||
message('- Using legacy winedbg argument quoting')
|
||||
compiler_options += '-DWINEDBG_LEGACY_ARGUMENT_QUOTING'
|
||||
endif
|
||||
# If the bug is not fixed in time for Wine 7.23, which is probably won't be,
|
||||
# then this conditional won't be effective anymore for already released
|
||||
# yabridge builds. But it may prevent some incorrectly packaged yabridge
|
||||
# builds in the meantime.
|
||||
if wine_version.stdout().version_compare('>=7.21') and \
|
||||
wine_version.stdout().version_compare('<7.23') and \
|
||||
get_option('unity') == 'on'
|
||||
error('This version of Wine contains a bug that may cause yabridge to freeze ' +
|
||||
'or crash on startup when the --unity=true option is enabled. ' +
|
||||
'Remove this error from the meson.build file at your own risk if you ' +
|
||||
'want to keep using unity builds.\n\n' +
|
||||
'https://bugs.winehq.org/show_bug.cgi?id=53912')
|
||||
endif
|
||||
else
|
||||
warning('Unable to determine the current Wine version')
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user