The CI builds link against XAudio2_9, which isn't available on Windows 8
and lower. As a quick and dirty workaround, this commit ships the
XAudio2 redistributable on those older Windows versions. Simply renaming
the redistributable to XAudio2_9.dll isn't strictly allowed by the
documentation, but it works and is probably an acceptable hack to
support an outdated operating system...
Fixesarch1t3cht/Aegisub#16 .
It used to be genrated and installed by the old custom build system,
but apparently got lost in switching to meson.
Rename to .in.in instead of .template.in, since i18n otherwise gets
utterly confused failing to recognise the file type and both erroring
out with "no ITS rules found" during merge_file and failing to extract
any translatable strings.
Also drop underscores which were previously processed by intltool.
This doesn't yet automatically replace the release version and date
in the appdata file, but neither did the old build.
Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
meson’s i18n module get’s confused by .template and fails
to extract translatable strings, thus rename to in.in.
Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
a91c4f70c3 switched processing of the
desktop file from intltool to gettext-backed i18n.merge_file and dropped
leading underscores which used to be processed by intltool.
However, this commit omitted dropping the underscore from Keywords,
resulting in this field being stripped from the installed version.
Furthermore, make_pot.sh was broken since it too relied on the
underscore meaning POT regeneration will now remove the desktop files
strings from translation files.
Since it was not added to po/POTFILES meson’s native aegisub-pot target
also doesn't add desktop file strings to the translation pool. Though,
this target still misses a lot of other strings as well and shouldn't be
used yet anyway.
This commit removes leftover underscores and reintegrates desktop file
strings into both make_pot.sh. Integration into aegisub-pot is done in a
follow-up commit.
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>
Add a utility library that wraps LWLibavSource and can parse its .lwi
file to obtain timecodes and keyframes. It also contains a function to
generate and save keyframes using WWXD or Scxvid. Update the default
scripts to use these functions.
* [mac/build] update build steps
* [macos] bundle app
* [macos] build dmg
* [ci] setup macOS CI
* [i18n] TODO: rm WX locale files
* [deps] set main branch to main
* Fix osx-fix-libs.py
Create symbolic links, to make libicu happy
Rewrite the script in python3, as python2 is deprecated
* Add write permission before install_name_tool when doing osx-bundle
Fixwangqr/Aegisub#39
* Handle @loader_path in libboost on macOS
See wangqr/Aegisub#39
* [tools/mac] use python3
* [ci/mac] install & using system deps
* [ci/win] don't build fribidi:docs
* [ci/mac] trying openal-soft
* [ci/mac] use pulseaudio in CI
* [ci/win] only run aeg's test
* [ci/win] fix CI
* [ci/win] fix CI: not use dict `{}`
* [ci] run ci
* [ci/win] don't build docs
* [ci/win] remove args tail newline
* [ci/win] false->disabled
* Use md title format
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
* Recover file permissions.
* [ci/win] disable fontconfig
Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>
* [ci/win] disable libass:fontconfig
Co-authored-by: wangqr <wangqr@wangqr.tk>
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Using that makes use of gettext (and msgfmt) rather than intltool,
which is the proper way but requires a more recent gettext version and
I'm not comfortable adding that dependency for now.
Specifically, it would require updating the autotools chain as well
as the template files are incompatible.
See https://wiki.gnome.org/MigratingFromIntltoolToGettext for more info.