summary refs log tree commit diff
path: root/pkgs/applications/editors/texmacs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/texmacs/default.nix')
-rw-r--r--pkgs/applications/editors/texmacs/default.nix95
1 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
new file mode 100644
index 00000000000..e4270ef3f83
--- /dev/null
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -0,0 +1,95 @@
+{stdenv, fetchurl, guile, libX11, libXext, xmodmap, which, makeWrapper,
+ tex ? null,
+ aspell ? null,
+ ghostscriptX ? null,
+ extraFonts ? false,
+ chineseFonts ? false,
+ japaneseFonts ? false,
+ koreanFonts ? false }:
+
+let 
+  pname = "TeXmacs";
+  version = "1.0.7";
+  extraFontsSrc = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz";
+    sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7";
+  };
+
+  fullFontsSrc = fetchurl {
+   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-windows-fonts-1.0-noarch.tar.gz";
+   sha256 = "1yxzjpqpm7kvx0ly5jmfpzlfhsh41b0ibn1v84qv6xy73r2vis2f";
+  };
+
+  chineseFontsSrc = fetchurl {
+   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-chinese-fonts.tar.gz";
+   sha256 = "0yprqjsx5mfsaxr525mcm3xqwcadzxp14njm38ir1325baada2fp";
+  };
+
+  japaneseFontsSrc = fetchurl {
+   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-japanese-fonts.tar.gz";
+   sha256 = "1dn6zvsa7gk59d61xicwpbapab3rm6kz48rp5w1bhmihxixw21jn";
+  };
+
+  koreanFontsSrc = fetchurl {
+   url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-korean-fonts.tar.gz";
+   sha256 = "07axg57mqm3jbnm4lawx0h3r2h56xv9acwzjppryfklw4c27f5hh";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.texmacs.org/pub/${pname}/targz/${name}-src.tar.gz";
+    sha256 = "1jdynapwc4fnp4ff71whq7l2jv0v3zwq2v2w463ppxm9cbi3bm5v";
+  };
+
+  buildInputs = [ guile libX11 libXext makeWrapper ];
+
+  patchPhase = (if tex == null then ''
+    gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else if extraFonts then ''
+    gunzip < ${extraFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if chineseFonts then ''
+    gunzip < ${chineseFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if japaneseFonts then ''
+    gunzip < ${japaneseFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "") +
+   (if koreanFonts then ''
+    gunzip < ${koreanFontsSrc} | (cd TeXmacs && tar xvf -)
+   '' else "");
+
+  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:") +
+        "${xmodmap}/bin:${which}/bin";
+
+  meta = {
+    description = "GNU TeXmacs, a free WYSIWYW editing platform with special features for scientists";
+    longDescription =
+      '' GNU TeXmacs is a free wysiwyw (what you see is what you want)
+         editing platform with special features for scientists.  The software
+         aims to provide a unified and user friendly framework for editing
+         structured documents with different types of content (text,
+         graphics, mathematics, interactive content, etc.).  The rendering
+         engine uses high-quality typesetting algorithms so as to produce
+         professionally looking documents, which can either be printed out or
+         presented from a laptop.
+
+         The software includes a text editor with support for mathematical
+         formulas, a small technical picture editor and a tool for making
+         presentations from a laptop.  Moreover, TeXmacs can be used as an
+         interface for many external systems for computer algebra, numerical
+         analysis, statistics, etc.  New presentation styles can be written
+         by the user and new features can be added to the editor using the
+         Scheme extension language.  A native spreadsheet and tools for
+         collaborative authoring are planned for later.
+      '';
+    homepage = http://texmacs.org/;
+    license = "GPLv2+";
+    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.roconnor ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}