aegisub: switch to arch1t3cht’s fork

Aegisub is a program of many forks. We currently use the inactive
wangqr fork that has not received an update in two years. This
switches to the actively‐maintained arch1t3cht fork, bringing in
additional functionality, bug fixes, and a much more reasonable Meson
build system that lets us drop our LuaJIT devendoring patch. It also
contains fixes for newer versions of Boost.

Note that although the `README.md` has a note from two years ago saying
“**Don't** use this version if you're just looking for any version
of Aegisub”, that is somewhat outdated and predates it becoming a
fully‐fledged fork: as the next section of the file from two months
ago admits, it is the current de facto standard Aegisub fork and the
version universally recommended by up‐to‐date sources; see e.g.:

* <https://fansubbers.miraheze.org/wiki/Aegisub>
* <https://guide.encode.moe/typesetting/aegisub.html>
* <https://www.reddit.com/r/aegisub/comments/yzvi4m/aegisub_update_status/>
* <https://github.com/Ristellise/AegisubDC/issues/10>
This commit is contained in:
Emily
2024-11-24 01:26:44 +00:00
committed by Weijia Wang
parent 92f30b6534
commit 4d696c4b5c
3 changed files with 49 additions and 342 deletions

View File

@@ -1,271 +0,0 @@
diff --git a/CMakeLists.test.txt b/CMakeLists.test.txt
index 4d1a03177..62fab05c9 100644
--- a/CMakeLists.test.txt
+++ b/CMakeLists.test.txt
@@ -2,7 +2,7 @@ if(UNIX)
add_executable(aegisub-lua EXCLUDE_FROM_ALL
automation/tests/aegisub.cpp
)
- target_link_libraries(aegisub-lua PRIVATE libaegisub luabins luajit "Boost::locale" "ICU::in")
+ target_link_libraries(aegisub-lua PRIVATE libaegisub luabins luajit-5.1 "Boost::locale" "ICU::in")
add_custom_target(test-automation
COMMAND sh -c "$(luarocks path); ${PROJECT_BINARY_DIR}/aegisub-lua tests/busted.lua -p moon tests/modules"
VERBATIM
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ce2e355ff..4d4396451 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,210 +13,6 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
-## Build bundled LuaJIT with aegisub specific patches
-add_executable(luajit-minilua vendor/luajit/src/host/minilua.c)
-if(NOT WIN32)
- target_link_libraries(luajit-minilua m)
-endif()
-if(WIN32)
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -LN -D WIN -D JIT -D FFI -D P64 -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_x86.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- else()
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -LN -D WIN -D JIT -D FFI -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_x86.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- endif()
-elseif(APPLE)
- if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -D ENDIAN_LE -D P64 -D FFI -D DUALNUM -D FPU -D HFABI -D NO_UNWIND -D VER=80 -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_arm64.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- else()
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -D P64 -D JIT -D FFI -D FPU -D HFABI -D VER= -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_x64.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- endif()
-else()
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -D P64 -D JIT -D FFI -D FPU -D HFABI -D VER= -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_x86.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- else()
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen"
- COMMAND luajit-minilua ../dynasm/dynasm.lua -D JIT -D FFI -D FPU -D HFABI -D VER= -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h" vm_x86.dasc
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
- )
- endif()
-endif()
-
-add_executable(luajit-buildvm
- vendor/luajit/src/host/buildvm.c
- vendor/luajit/src/host/buildvm_asm.c
- vendor/luajit/src/host/buildvm_peobj.c
- vendor/luajit/src/host/buildvm_lib.c
- vendor/luajit/src/host/buildvm_fold.c
-
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/buildvm_arch.h"
-)
-target_compile_definitions(luajit-buildvm PRIVATE LUAJIT_ENABLE_LUA52COMPAT)
-target_include_directories(luajit-buildvm PRIVATE vendor/luajit/src "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen")
-
-if(APPLE)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.s"
- COMMAND luajit-buildvm -m machasm -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.s"
- )
-elseif(UNIX)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.s"
- COMMAND luajit-buildvm -m elfasm -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.s"
- )
-elseif(MSVC)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.obj"
- COMMAND luajit-buildvm -m peobj -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.obj"
- )
-endif()
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_ffdef.h"
- COMMAND luajit-buildvm -m ffdef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_ffdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_bcdef.h"
- COMMAND luajit-buildvm -m bcdef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_bcdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_folddef.h"
- COMMAND luajit-buildvm -m folddef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_folddef.h" lj_opt_fold.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_recdef.h"
- COMMAND luajit-buildvm -m recdef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_recdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_libdef.h"
- COMMAND luajit-buildvm -m libdef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_libdef.h" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/jit/vmdef.lua"
- COMMAND luajit-buildvm -m vmdef -o "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/jit/vmdef.lua" lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
-)
-
-add_library(luajit STATIC
- vendor/luajit/src/lib_base.c
- vendor/luajit/src/lib_math.c
- vendor/luajit/src/lib_bit.c
- vendor/luajit/src/lib_string.c
- vendor/luajit/src/lib_table.c
- vendor/luajit/src/lib_io.c
- vendor/luajit/src/lib_os.c
- vendor/luajit/src/lib_package.c
- vendor/luajit/src/lib_debug.c
- vendor/luajit/src/lib_jit.c
- vendor/luajit/src/lib_ffi.c
- vendor/luajit/src/lj_gc.c
- vendor/luajit/src/lj_err.c
- vendor/luajit/src/lj_char.c
- vendor/luajit/src/lj_bc.c
- vendor/luajit/src/lj_obj.c
- vendor/luajit/src/lj_buf.c
- vendor/luajit/src/lj_str.c
- vendor/luajit/src/lj_tab.c
- vendor/luajit/src/lj_func.c
- vendor/luajit/src/lj_udata.c
- vendor/luajit/src/lj_meta.c
- vendor/luajit/src/lj_debug.c
- vendor/luajit/src/lj_state.c
- vendor/luajit/src/lj_dispatch.c
- vendor/luajit/src/lj_vmevent.c
- vendor/luajit/src/lj_vmmath.c
- vendor/luajit/src/lj_strscan.c
- vendor/luajit/src/lj_strfmt.c
- vendor/luajit/src/lj_strfmt_num.c
- vendor/luajit/src/lj_api.c
- vendor/luajit/src/lj_profile.c
- vendor/luajit/src/lj_lex.c
- vendor/luajit/src/lj_parse.c
- vendor/luajit/src/lj_bcread.c
- vendor/luajit/src/lj_bcwrite.c
- vendor/luajit/src/lj_load.c
- vendor/luajit/src/lj_ir.c
- vendor/luajit/src/lj_opt_mem.c
- vendor/luajit/src/lj_opt_fold.c
- vendor/luajit/src/lj_opt_narrow.c
- vendor/luajit/src/lj_opt_dce.c
- vendor/luajit/src/lj_opt_loop.c
- vendor/luajit/src/lj_opt_split.c
- vendor/luajit/src/lj_opt_sink.c
- vendor/luajit/src/lj_mcode.c
- vendor/luajit/src/lj_snap.c
- vendor/luajit/src/lj_record.c
- vendor/luajit/src/lj_crecord.c
- vendor/luajit/src/lj_ffrecord.c
- vendor/luajit/src/lj_asm.c
- vendor/luajit/src/lj_trace.c
- vendor/luajit/src/lj_gdbjit.c
- vendor/luajit/src/lj_ctype.c
- vendor/luajit/src/lj_cdata.c
- vendor/luajit/src/lj_cconv.c
- vendor/luajit/src/lj_ccall.c
- vendor/luajit/src/lj_ccallback.c
- vendor/luajit/src/lj_carith.c
- vendor/luajit/src/lj_clib.c
- vendor/luajit/src/lj_cparse.c
- vendor/luajit/src/lj_lib.c
- vendor/luajit/src/lj_alloc.c
- vendor/luajit/src/lib_aux.c
- vendor/luajit/src/lib_init.c
-
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_ffdef.h"
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_bcdef.h"
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_folddef.h"
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_recdef.h"
- "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen/lj_libdef.h"
- # "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/jit/vmdef.lua"
-)
-target_compile_definitions(luajit PRIVATE LUAJIT_ENABLE_LUA52COMPAT)
-target_include_directories(luajit PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/gen" PUBLIC "vendor/luajit/src")
-if(WIN32)
- target_sources(luajit PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.obj")
-else()
- enable_language(ASM)
- target_sources(luajit PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/vendor/luajit/src/lj_vm.s")
- target_link_libraries(luajit ${CMAKE_DL_LIBS})
-endif()
-if(APPLE)
- if(NOT CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
- target_compile_definitions(luajit-buildvm PRIVATE LUAJIT_ENABLE_GC64)
- target_compile_definitions(luajit PRIVATE LUAJIT_ENABLE_GC64)
- endif()
-endif()
-
add_subdirectory(vendor/luabins)
## libaegisub
@@ -310,18 +106,18 @@ if(APPLE)
else()
target_precompile_headers(libaegisub PRIVATE "libaegisub/lagi_pre.h")
endif()
-target_link_libraries(libaegisub PRIVATE luajit luabins)
+target_link_libraries(libaegisub PRIVATE luajit-5.1 luabins)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/default_config.cpp" "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/default_config.h"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/default_config_platform.json"
- COMMAND luajit-minilua "${PROJECT_SOURCE_DIR}/tools/respack.lua" manifest.respack default_config.cpp default_config.h
+ COMMAND luajit "${PROJECT_SOURCE_DIR}/tools/respack.lua" manifest.respack default_config.cpp default_config.h
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc"
)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.cpp" "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.h"
- COMMAND luajit-minilua ../../tools/respack.lua manifest.respack "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.cpp" "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.h"
+ COMMAND luajit ../../tools/respack.lua manifest.respack "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.cpp" "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc/bitmap.h"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/bitmaps
)
@@ -496,7 +292,7 @@ add_executable(Aegisub WIN32
src/video_slider.cpp
src/visual_feature.cpp
)
-target_link_libraries(Aegisub PRIVATE ${CMAKE_DL_LIBS} libaegisub luajit)
+target_link_libraries(Aegisub PRIVATE ${CMAKE_DL_LIBS} libaegisub luajit-5.1)
target_compile_definitions(Aegisub PRIVATE CMAKE_BUILD)
target_include_directories(Aegisub PRIVATE "src/libresrc" "${CMAKE_CURRENT_BINARY_DIR}/src/libresrc")
if(APPLE)
diff --git a/vendor/luabins/CMakeLists.txt b/vendor/luabins/CMakeLists.txt
index 1fe1d2031..e2761527b 100644
--- a/vendor/luabins/CMakeLists.txt
+++ b/vendor/luabins/CMakeLists.txt
@@ -36,4 +36,4 @@ add_library(luabins STATIC
src/savebuffer.c
src/write.c
)
-target_link_libraries(luabins PRIVATE luajit)
\ No newline at end of file
+target_link_libraries(luabins PRIVATE luajit-5.1)
\ No newline at end of file

View File

@@ -2,9 +2,8 @@
lib,
alsa-lib,
boost,
cmake,
meson,
config,
darwin,
expat,
fetchFromGitHub,
fetchpatch,
@@ -14,26 +13,22 @@
fontconfig,
freetype,
fribidi,
glib,
harfbuzz,
hunspell,
icu,
intltool,
libGL,
libGLU,
libX11,
libass,
libiconv,
libpulseaudio,
libuchardet,
luajit,
ninja,
openal,
pcre,
pkg-config,
portaudio,
python3,
stdenv,
which,
vapoursynth-bestsource,
wrapGAppsHook3,
wxGTK,
zlib,
@@ -46,36 +41,25 @@
useBundledLuaJIT ? false,
}:
let
inherit (darwin.apple_sdk.frameworks)
AppKit
Carbon
Cocoa
CoreFoundation
CoreText
IOKit
OpenAL;
in
stdenv.mkDerivation (finalAttrs: {
pname = "aegisub";
version = "3.3.3";
version = "feature_12";
src = fetchFromGitHub {
owner = "wangqr";
owner = "arch1t3cht";
repo = "aegisub";
rev = "v${finalAttrs.version}";
hash = "sha256-oKhLv81EFudrJaaJ2ga3pVh4W5Hd2YchpjsoYoqRm78=";
rev = finalAttrs.version;
hash = "sha256-P+0aUeFsjke3Jj/QtGJRdaS0negYSnhiuf5QCw2Of5Q=";
};
nativeBuildInputs = [
cmake
meson
intltool
luajit
ninja
pkg-config
which
wrapGAppsHook3
python3
wxGTK
wrapGAppsHook3
];
buildInputs = [
@@ -87,33 +71,35 @@ stdenv.mkDerivation (finalAttrs: {
fontconfig
freetype
fribidi
glib
harfbuzz
icu
libGL
libGLU
libX11
libass
libiconv
libuchardet
pcre
vapoursynth-bestsource
wxGTK
zlib
]
++ lib.optionals alsaSupport [ alsa-lib ]
++ lib.optionals openalSupport [
(if stdenv.hostPlatform.isDarwin then OpenAL else openal)
]
++ lib.optionals (openalSupport && !stdenv.hostPlatform.isDarwin) [ openal ]
++ lib.optionals portaudioSupport [ portaudio ]
++ lib.optionals pulseaudioSupport [ libpulseaudio ]
++ lib.optionals spellcheckSupport [ hunspell ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
AppKit
Carbon
Cocoa
CoreFoundation
CoreText
IOKit
++ lib.optionals (!useBundledLuaJIT) [ luajit ];
mesonFlags = [
(lib.mesonEnable "alsa" alsaSupport)
(lib.mesonEnable "openal" openalSupport)
(lib.mesonEnable "libpulse" pulseaudioSupport)
(lib.mesonEnable "portaudio" portaudioSupport)
(lib.mesonEnable "avisynth" false)
# TODO: Requires upstream changes to allow using system VapourSynth.
(lib.mesonEnable "vapoursynth" false)
(lib.mesonEnable "hunspell" spellcheckSupport)
(lib.mesonBool "system_luajit" (!useBundledLuaJIT))
];
hardeningDisable = [
@@ -121,38 +107,29 @@ stdenv.mkDerivation (finalAttrs: {
"relro"
];
patches = [
(fetchpatch {
name = "move-iconv-include-to-charset_conv.h.patch";
url = "https://github.com/arch1t3cht/Aegisub/commit/b8f4c98c4cbc698e4adbba302c2dc328fe193435.patch";
hash = "sha256-dCm/VG+8yK7qWKWF4Ew/M2hbbAC/d3hiuRglR9BvWtw=";
})
] ++ lib.optionals (!useBundledLuaJIT) [
./000-remove-bundled-luajit.patch
];
# error: unknown type name 'NSUInteger'
postPatch = ''
substituteInPlace src/dialog_colorpicker.cpp \
--replace-fail "NSUInteger" "size_t"
'';
env = {
NIX_CFLAGS_COMPILE = "-I${lib.getDev luajit}/include";
NIX_CFLAGS_LINK = "-L${lib.getLib luajit}/lib";
};
preConfigure = ''
export FORCE_GIT_VERSION=${finalAttrs.version}
'';
cmakeBuildDir = "build-directory";
strictDeps = true;
postPatch = ''
patchShebangs tools/respack.py
# TODO: Tests require wrapped GoogleTest; upstream support for
# system version?
substituteInPlace meson.build \
--replace-fail "subdir('tests')" "# subdir('tests')"
'';
# Inject the version, per the AUR package:
# <https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=aegisub-arch1t3cht&id=bbbea73953858fc7bf2775a0fb92cec49afb586c>
preBuild = ''
cat > git_version.h <<EOF
#define BUILD_GIT_VERSION_NUMBER 0
#define BUILD_GIT_VERSION_STRING "${finalAttrs.version}"
EOF
'';
meta = {
homepage = "https://github.com/wangqr/Aegisub";
description = "Advanced subtitle editor; wangqr's fork";
homepage = "https://github.com/arch1t3cht/Aegisub";
description = "Advanced subtitle editor; arch1t3cht's fork";
longDescription = ''
Aegisub is a free, cross-platform open source tool for creating and
modifying subtitles. Aegisub makes it quick and easy to time subtitles to
@@ -167,5 +144,7 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "aegisub";
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.unix;
# No native wxWidgets and VapourSynth is broken.
badPlatforms = lib.platforms.darwin;
};
})

View File

@@ -925,7 +925,6 @@ with pkgs;
};
aegisub = callPackage ../by-name/ae/aegisub/package.nix ({
boost = boost179;
luajit = luajit.override { enable52Compat = true; };
wxGTK = wxGTK32;
} // (config.aegisub or {}));