nixpkgs/pkgs/applications/editors/texmacs/default.nix
Niklas Hambüchen b69542ae15 texmacs: 1.99.2 -> 1.99.10
Packaging changes:

* Switch from autoconf to cmake.
  Fixes error
      checking for guile-config... guile-config
      sh: =~: unknown operand
      ./configure: ./configure.lineno: line 8057: syntax error: bad substitution
  that appared with the new version.
* Also add new dependencies for new features: git, python
  * (fixes all "missing" errors in cmake's output)
* Stay at Qt4 for now to not introduce too many changes
  * Upgrading to Qt5 in the future is feasible (#33248); it builds
  * I'm not doing it here because Qt5 apps apparently don't run yet on non-NixOS
2019-06-30 04:22:21 +02:00

69 lines
1.7 KiB
Nix

{ stdenv, callPackage,
fetchurl, guile_1_8, qt4, xmodmap, which, makeWrapper, 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.10";
common = callPackage ./common.nix {
inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
};
in
stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchurl {
url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
sha256 = "1k12bkcik7mv93q0j7q3b77x8s6rmvlb23s3v7nnzdwjxlp5lph2";
};
cmakeFlags = [
# Texmacs' cmake build as of writing defaults to Qt5,
# but we haven't updated to that yet.
"-DTEXMACS_GUI=Qt4"
];
enableParallelBuilding = true;
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [
guile_1_8
qt4
makeWrapper
ghostscriptX
freetype
libjpeg
sqlite
git
python3
];
NIX_LDFLAGS = [ "-lz" ];
postInstall = "wrapProgram $out/bin/texmacs --suffix PATH : " +
(if ghostscriptX == null then "" else "${ghostscriptX}/bin:") +
(if aspell == null then "" else "${aspell}/bin:") +
(if tex == null then "" else "${tex}/bin:") +
(if git == null then "" else "${git}/bin:") +
(if python3 == null then "" else "${python3}/bin:") +
"${xmodmap}/bin:${which}/bin";
inherit (common) postPatch;
meta = common.meta // {
maintainers = [ stdenv.lib.maintainers.roconnor ];
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
};
}