{ lib, alsa-lib, boost, meson, config, expat, fetchFromGitHub, ffmpeg, ffms, fftw, fontconfig, freetype, fribidi, harfbuzz, hunspell, icu, intltool, libGL, libass, libpulseaudio, libuchardet, luajit, ninja, openal, pkg-config, portaudio, python3, stdenv, wrapGAppsHook3, wxGTK32, zlib, # Boolean guard flags alsaSupport ? stdenv.hostPlatform.isLinux, openalSupport ? true, portaudioSupport ? true, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux, spellcheckSupport ? true, useBundledLuaJIT ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "aegisub"; version = "3.4.2"; src = fetchFromGitHub { owner = "TypesettingTools"; repo = "aegisub"; tag = "v${finalAttrs.version}"; hash = "sha256-ho+JG570FWbiYZ86CbCKa52j6UNyPIUh8fxpM3vVU/M="; }; nativeBuildInputs = [ meson intltool ninja pkg-config python3 wxGTK32 wrapGAppsHook3 ]; buildInputs = [ boost expat ffmpeg ffms fftw fontconfig freetype fribidi harfbuzz icu libGL libass libuchardet wxGTK32 zlib ] ++ lib.optionals alsaSupport [ alsa-lib ] ++ lib.optionals (openalSupport && !stdenv.hostPlatform.isDarwin) [ openal ] ++ lib.optionals portaudioSupport [ portaudio ] ++ lib.optionals pulseaudioSupport [ libpulseaudio ] ++ lib.optionals spellcheckSupport [ hunspell ] ++ 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) (lib.mesonEnable "hunspell" spellcheckSupport) (lib.mesonBool "build_osx_bundle" stdenv.hostPlatform.isDarwin) (lib.mesonBool "enable_update_checker" false) (lib.mesonBool "system_luajit" (!useBundledLuaJIT)) ]; hardeningDisable = [ "bindnow" "relro" ]; 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: # preBuild = '' cat > git_version.h <