From 0b7ea58cd6e5c5366db9b2f06e94bee51c16c830 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Tue, 1 Aug 2023 14:07:56 +0200 Subject: [PATCH 1/4] meson: Add libresrc headers as dependencies These are included in the Aegisub source files, so they need to be generated before compiling. --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 842b33d28..a2c5c0378 100644 --- a/meson.build +++ b/meson.build @@ -345,7 +345,7 @@ subdir('tests') aegisub_cpp_pch = ['src/include/agi_pre.h'] aegisub_c_pch = ['src/include/agi_pre_c.h'] -aegisub = executable('aegisub', aegisub_src, version_h, acconf, +aegisub = executable('aegisub', aegisub_src, version_h, acconf, resrc, link_with: [libresrc, libluabins, libaegisub], include_directories: [libaegisub_inc, libresrc_inc, version_inc, deps_inc, include_directories('src')], cpp_pch: aegisub_cpp_pch, From 0f897ba0eb96b037ea97179e36cb3b76f361944f Mon Sep 17 00:00:00 2001 From: sepro <4618135+seproDev@users.noreply.github.com> Date: Tue, 25 Jul 2023 01:40:31 +0200 Subject: [PATCH 2/4] Add nasm fallback url --- subprojects/nasm.wrap | 1 + 1 file changed, 1 insertion(+) diff --git a/subprojects/nasm.wrap b/subprojects/nasm.wrap index 6f1ad8dab..dfb3c66e0 100644 --- a/subprojects/nasm.wrap +++ b/subprojects/nasm.wrap @@ -1,6 +1,7 @@ [wrap-file] directory = nasm-2.15.05 source_url = https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip +source_fallback_url = https://web.archive.org/web/20210420023625if_/https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-win64.zip source_filename = nasm-2.15.05-win64.zip source_hash = f5c93c146f52b4f1664fa3ce6579f961a910e869ab0dae431bd871bdd2584ef2 patch_directory = nasm From 4f67db8dd732efbace81aa57260b6575fe86dd55 Mon Sep 17 00:00:00 2001 From: Alex James Date: Mon, 14 Aug 2023 19:49:10 -0500 Subject: [PATCH 3/4] libaegisub: Avoid calling iconv_close(iconv_invalid) IsConversionSupported unconditionally calls iconv_close on the descriptor returned by iconv_open. This may result in crashes if iconv_open returns iconv_invalid. --- libaegisub/common/charset_conv.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libaegisub/common/charset_conv.cpp b/libaegisub/common/charset_conv.cpp index 47644eb1c..f19090c15 100644 --- a/libaegisub/common/charset_conv.cpp +++ b/libaegisub/common/charset_conv.cpp @@ -420,7 +420,7 @@ size_t IconvWrapper::DstStrLen(const char* str) { bool IsConversionSupported(const char *src, const char *dst) { iconv_t cd = iconv_open(dst, src); bool supported = cd != iconv_invalid; - iconv_close(cd); + if (supported) iconv_close(cd); return supported; } From 4a97bb0dd25cc9753b85715793f60ff8883d3430 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Sun, 10 Sep 2023 14:04:04 +0200 Subject: [PATCH 4/4] meson: Update luajit wrap for luajit's rolling releases --- .../packagefiles/luajit/src/host/meson.build | 6 +----- .../luajit/src/luajit_relver.txt.in | 1 + .../packagefiles/luajit/src/meson.build | 20 ++++++++++++++++++- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 subprojects/packagefiles/luajit/src/luajit_relver.txt.in diff --git a/subprojects/packagefiles/luajit/src/host/meson.build b/subprojects/packagefiles/luajit/src/host/meson.build index c7b825bb8..b3e963ef4 100644 --- a/subprojects/packagefiles/luajit/src/host/meson.build +++ b/subprojects/packagefiles/luajit/src/host/meson.build @@ -1,7 +1,3 @@ -minilua = executable('minilua', 'minilua.c', - dependencies: system_deps, - native: true) - cpu_family = host_machine.cpu_family() if cpu_family == 'x86_64' dynasm_arch = 'x64' @@ -54,7 +50,7 @@ buildvm_arch = custom_target('buildvm_arch.h', input: dynasm_dasc, output: 'buildvm_arch.h') -buildvm = executable('buildvm', buildvm_src, buildvm_arch, +buildvm = executable('buildvm', buildvm_src, buildvm_arch, luajit_h, dependencies: system_deps, include_directories: src_inc, native: true) diff --git a/subprojects/packagefiles/luajit/src/luajit_relver.txt.in b/subprojects/packagefiles/luajit/src/luajit_relver.txt.in new file mode 100644 index 000000000..a380c6df9 --- /dev/null +++ b/subprojects/packagefiles/luajit/src/luajit_relver.txt.in @@ -0,0 +1 @@ +@VCS_CT@ diff --git a/subprojects/packagefiles/luajit/src/meson.build b/subprojects/packagefiles/luajit/src/meson.build index b1aeb0ca1..f4deb0079 100644 --- a/subprojects/packagefiles/luajit/src/meson.build +++ b/subprojects/packagefiles/luajit/src/meson.build @@ -75,6 +75,23 @@ ljcore_src = files( src_inc = include_directories('.') +minilua = executable('minilua', 'host/minilua.c', + dependencies: system_deps, + native: true) + +relver = vcs_tag(command: ['git', 'show', '-s', '--format=%ct'], + fallback: 'ROLLING', + input: 'luajit_relver.txt.in', + output: 'luajit_relver.txt', + replace_string: '@VCS_CT@') + +luajit_rolling_h = files('luajit_rolling.h') + +luajit_h = custom_target('luajit_h', + command: [minilua, '@INPUT@', '@OUTPUT@'], + input: ['host/genversion.lua', 'luajit_rolling.h', relver], + output: 'luajit.h') + subdir('host') hdrgen = [ @@ -84,7 +101,8 @@ hdrgen = [ 'recdef', ] -genheaders = [] +genheaders = [luajit_h] + foreach h: hdrgen genheaders += custom_target(h, command: [buildvm, '-m', h, '-o', '@OUTPUT@', ljlib_src],