Also bump libdav1d and turn the wrap patches into diffs. This requires
bumping the minimum meson version to 0.63, but meson 1.0 is available
pretty much everywhere now so this should be fine.
This consists of a meson option that
- sets a flag to make Aegisub read paths relative to the executable
- makes meson set up the symlinks like AppRun and .DirIcon as following
the AppDir format
and a CI workflow that builds with this option, installs to an AppDir
directory, and bundles it as an AppImage.
Modified from arch1t3cht/Aegisub#12 .
Co-authored-by: Fred Brennan <copypaste@kittens.ph>
- To allow for XAudio2 to work properly, we need to rework how does provider work since they only are used to be able to take in mono audio.
- Other providers have been dumbed down to accept single channel audio since originally aegisub only accepted 1 channel audio.
- meson.build has been modified to accommodate for xaudio, as we currently don't accept redistributable forms of xaudio, we need to work around the WinNT version.
- There has been 1 more fix to res.rc to allow for compiling on non tagged releases.
Meson 0.60.0 adds support for an "iconv" dependency that always does the
right thing for you, so that you don't need to think about it. It also
has some side advantages:
- you can do dependency fallback, and --force-fallback-for=iconv works
- it logs one line, not two, and that is "dependency found? yes or no"
Since Aegisub doesn't mandate the use of such new versions of Meson, we
cannot assume the dependency works. Instead, adapt to the version of
Meson being used: on new enough versions of Meson, use the new
dependency, but on older versions of Meson, use the pre-existing logic,
which isn't as nice but has been producing correct results so far.
- Build the latest AviSynth headers using CMake, as proposed in #134
- Add and initialize AVS_Linkage to fix video loading
Video and audio playback now works in most cases, but still crashes for
some files.
It is not picked up by the existing dependency() check because its
version is unknown to Meson, which fails the version constraint.
Besides, dependency('openal') seems to try "openal.framework",
which may or may not work on case-sensitive file systems.
Don't search for the dependency and set up fallback
only to throw it away if the option is disabled.
This is a waste, and this gives the user the illusion
that the request to disable the feature was ignored.
* [git] ignore IDE setting, Meson subprojects
* [win_installer] rename *.mo -> *.gmo
* [win_installer] only add aeg translations
* [win_installer] split aeg/wx translations
* [win_installer] gen & pack translations
* [git] ignore hunspell source dir
* [git] ignore uchardet source dir
* [test] Generate the test executable
run with `meson test`
* [test] add tools to remove test data files
`unset.bat FULL_PATH`
* [test] set to correct Error type
* [test] Set Source character sets to UTF-8 for MSVC
* [test] move test data files to build_root
* [meson/wxWidgets] fix warning: deprecated feature `cmake_options`
* [meson] fix warning: msvc does not support C++11
* [meson/fribidi] add original meson.build file
* [meson/fribidi] merge pr-151
https://github.com/fribidi/fribidi/pull/151
"meson: add fribidi_static_cargs to extra_cflags"
* [meson/fribidi] fix DEPRECATION
"Library fribidi was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument."
* [git] rm IDE dir
* [meson] remove old flags
* [meson] fixed in upstream
* [git] ignore IDE setting, Meson subprojects
* [win_installer] rename *.mo -> *.gmo
* [win_installer] only add aeg translations
* [win_installer] split aeg/wx translations
* [win_installer] gen & pack translations
* [git] ignore hunspell source dir
* [git] ignore uchardet source dir
* [test] Generate the test executable
run with `meson test`
* [test] add tools to remove test data files
`unset.bat FULL_PATH`
* [test] set to correct Error type
* [test] Set Source character sets to UTF-8 for MSVC
* [test] move test data files to build_root
* [git] remove IDE dir
* [git] ignore gtest subprojects
* [ci] run test in ci
* [meson/test] use more meaningful name
* [test] Add more comments and help msg
This option makes the dependency() call resolve to the subproject
which breaks the Lua 5.2 compatibility check.
This change just ignores the result of the dependency() call
if it resolves to the subproject and then re-fetches it
with a subproject() call later.
Alternatively we could explicitly handle the case where dependency()
resolves to the subproject, but that's just extra code for no
observable difference in behaviour.
Meson port instead of using CMake as I ran into issues with the
src directory (where uchardet.h is located) not being appended
to the include path, and on Windows I ran into a Meson issue
where a -D macro definition was being interpreted as a filename.
In the end a Meson port seemed simpler than working out the CMake
issues, as the CMakeLists.txt files were straightforward and easy
to port.
Note that because of the directory structure of the uchardet source
I had to change the include directive from uchardet/uchardet.h
to just uchardet.h. This is actually more in line with the uchardet
pkg-config file, which appends /usr/include/uchardet to the include path.