From 228303d47eed0900c9fca8418a5489bf772d8c4f Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Mon, 4 Oct 2010 15:07:38 +0000 Subject: [PATCH] Merging roconnor's and ludo' texmacs derivations. texmacs now has extra font options. texmacs is abstracted over which tex it uses (AFAIK texmacs only uses metafont). texmacs now depends on aspell, ghostscript soft dependencies. svn path=/nixpkgs/trunk/; revision=24054 --- pkgs/applications/editors/texmacs/default.nix | 95 +++++++++++++++++++ pkgs/applications/office/texmacs/default.nix | 44 --------- pkgs/top-level/all-packages.nix | 5 +- 3 files changed, 99 insertions(+), 45 deletions(-) create mode 100644 pkgs/applications/editors/texmacs/default.nix delete mode 100644 pkgs/applications/office/texmacs/default.nix diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix new file mode 100644 index 000000000000..e4270ef3f83b --- /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 + }; +} diff --git a/pkgs/applications/office/texmacs/default.nix b/pkgs/applications/office/texmacs/default.nix deleted file mode 100644 index 6172c055c071..000000000000 --- a/pkgs/applications/office/texmacs/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ fetchurl, stdenv, texLive, guile, libX11, libXext }: - -let version = "1.0.7"; in -stdenv.mkDerivation { - name = "texmacs-${version}"; - - src = fetchurl { - url = "ftp://ftp.texmacs.org/pub/TeXmacs/targz/TeXmacs-${version}-src.tar.gz"; - sha256 = "1jdynapwc4fnp4ff71whq7l2jv0v3zwq2v2w463ppxm9cbi3bm5v"; - }; - - buildInputs = [ texLive guile libX11 libXext ]; - - meta = { - description = "GNU TeXmacs, a 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 ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fb293b718a93..bca17e77d13d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1197,7 +1197,10 @@ let telnet = callPackage ../tools/networking/telnet { }; - texmacs = callPackage ../applications/office/texmacs { }; + texmacs = callPackage ../applications/editors/texmacs { + tex = texLive; /* tetex is also an option */ + extraFonts = true; + }; tor = callPackage ../tools/security/tor { };