{ lib, mkDerivation, callPackage, fetchFromGitHub, guile_1_8, qtbase, xmodmap, which, freetype, libjpeg, sqlite, tex ? null, aspell ? null, git ? null, python3 ? null, cmake, pkgconfig, ghostscriptX ? null, extraFonts ? false, chineseFonts ? false, japaneseFonts ? false, koreanFonts ? false }: let pname = "TeXmacs"; version = "1.99.15"; common = callPackage ./common.nix { inherit tex extraFonts chineseFonts japaneseFonts koreanFonts; }; in mkDerivation { name = "${pname}-${version}"; src = fetchFromGitHub { owner = "texmacs"; repo = "texmacs"; rev = "v${version}"; sha256 = "04585hdh98fvyhj4wsxf69xal2wvfa6lg76gad8pr6ww9abi5105"; }; enableParallelBuilding = true; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ guile_1_8 qtbase ghostscriptX freetype libjpeg sqlite git python3 ]; NIX_LDFLAGS = "-lz"; qtWrapperArgs = [ "--suffix" "PATH" ":" (lib.makeBinPath [ xmodmap which ghostscriptX aspell tex git python3 ]) ]; postFixup = '' wrapQtApp $out/bin/texmacs ''; inherit (common) postPatch; meta = common.meta // { maintainers = [ lib.maintainers.roconnor ]; platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice }; }