anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / editors / texmacs / default.nix
blob92d162cdc30030b8eee50ef87eee8b7f7f0cc764
1 { lib, stdenv, callPackage, fetchurl,
2   guile_1_8, xmodmap, which, freetype,
3   libjpeg,
4   sqlite,
5   texliveSmall ? null,
6   aspell ? null,
7   git ? null,
8   python3 ? null,
9   cmake,
10   pkg-config,
11   wrapQtAppsHook,
12   xdg-utils,
13   qtbase,
14   qtsvg,
15   qtmacextras,
16   ghostscriptX ? null,
17   extraFonts ? false,
18   chineseFonts ? false,
19   japaneseFonts ? false,
20   koreanFonts ? false }:
22 let
23   pname = "texmacs";
24   version = "2.1.4";
25   common = callPackage ./common.nix {
26     inherit extraFonts chineseFonts japaneseFonts koreanFonts;
27     tex = texliveSmall;
28   };
30 stdenv.mkDerivation {
31   inherit pname version;
33   src = fetchurl {
34     url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
35     hash = "sha256-h6aSLuDdrAtVzOnNVPqMEWX9WLDHtkCjPy9JXWnBgYY=";
36   };
38   postPatch = common.postPatch + ''
39     substituteInPlace configure \
40       --replace "-mfpmath=sse -msse2" ""
41   '';
43   nativeBuildInputs = [
44     guile_1_8
45     pkg-config
46     wrapQtAppsHook
47     xdg-utils
48     cmake
49   ];
51   buildInputs = [
52     guile_1_8
53     qtbase
54     qtsvg
55     ghostscriptX
56     freetype
57     libjpeg
58     sqlite
59     git
60     python3
61   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
62     qtmacextras
63   ];
65   cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
66     (lib.cmakeFeature "TEXMACS_GUI" "Qt")
67     (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "./TeXmacs.app/Contents/Resources")
68   ];
70   env.NIX_LDFLAGS = "-lz";
72   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
73     mkdir -p $out/{Applications,bin}
74     mv TeXmacs.app $out/Applications/
75     makeWrapper $out/Applications/TeXmacs.app/Contents/MacOS/TeXmacs $out/bin/texmacs
76   '';
78   qtWrapperArgs = [
79     "--suffix" "PATH" ":" (lib.makeBinPath [
80       xmodmap
81       which
82       ghostscriptX
83       aspell
84       texliveSmall
85       git
86       python3
87     ])
88   ];
90   postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
91     wrapQtApp $out/bin/texmacs
92   '';
94   meta = common.meta // {
95     maintainers = [ lib.maintainers.roconnor ];
96     platforms = lib.platforms.all;
97   };