* [PATCH] gnu: Add texmaker. @ 2016-05-22 23:59 Roel Janssen 2016-05-23 17:59 ` Efraim Flashner 2016-05-23 21:33 ` Ludovic Courtès 0 siblings, 2 replies; 14+ messages in thread From: Roel Janssen @ 2016-05-22 23:59 UTC (permalink / raw) To: Guix-devel Dear Guix, For the lack of a better place, I created a new file for texmaker. Maybe we should consider moving all LaTeX-related stuff into latex.scm. Here's a patch for Texmaker -- a decent LaTeX editor for the non-Emacs users ;-). From c1da9bec615cc81d6dccc75386f813459a4e14f4 Mon Sep 17 00:00:00 2001 From: Roel Janssen <roel@gnu.org> Date: Mon, 23 May 2016 01:53:20 +0200 Subject: [PATCH] gnu: Add texmaker. * gnu/local.mk (GNU_SYSTEM_MODULES): Add texmaker entry. * gnu/packages/texmaker.scm: New file. --- gnu/local.mk | 1 + gnu/packages/texmaker.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 gnu/packages/texmaker.scm diff --git a/gnu/local.mk b/gnu/local.mk index c130901..80e3c82 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -326,6 +326,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/terminals.scm \ gnu/packages/texinfo.scm \ gnu/packages/texlive.scm \ + gnu/packages/texmaker.scm \ gnu/packages/textutils.scm \ gnu/packages/time.scm \ gnu/packages/tls.scm \ diff --git a/gnu/packages/texmaker.scm b/gnu/packages/texmaker.scm new file mode 100644 index 0000000..36abc80 --- /dev/null +++ b/gnu/packages/texmaker.scm @@ -0,0 +1,65 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages texmaker) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages pdf) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt)) + +(define-public texmaker + (package + (name "texmaker") + (version "4.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.xm1math.net/texmaker/texmaker-" + version ".tar.bz2")) + (sha256 + (base32 + "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Qt has its own configuration utility. + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "qmake" + (string-append "PREFIX=" out) + (string-append "DESKTOPDIR=" out + "/share/applications") + (string-append "ICONDIR=" out "/share/pixmaps") + "texmaker.pro")))))))) + (inputs + `(("poppler-qt5" ,poppler-qt5) + ("qt" ,qt) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.xm1math.net/texmaker/") + (synopsis "LaTeX editor") + (description "Texmaker is a program that integrates many tools needed to +develop documents with LaTeX, in a single application.") + (license license:gpl2+))) -- 2.7.4 Kind regards, Roel Janssen ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-22 23:59 [PATCH] gnu: Add texmaker Roel Janssen @ 2016-05-23 17:59 ` Efraim Flashner 2016-05-23 18:12 ` Roel Janssen 2016-05-23 21:33 ` Ludovic Courtès 1 sibling, 1 reply; 14+ messages in thread From: Efraim Flashner @ 2016-05-23 17:59 UTC (permalink / raw) To: Roel Janssen; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 4826 bytes --] On Mon, May 23, 2016 at 01:59:07AM +0200, Roel Janssen wrote: > Dear Guix, > > For the lack of a better place, I created a new file for texmaker. > Maybe we should consider moving all LaTeX-related stuff into latex.scm. > > Here's a patch for Texmaker -- a decent LaTeX editor for the non-Emacs > users ;-). You mean you don't just use vim? ;P It built perfectly for me and opened nicely too. I think it does make sense to stick a bunch of LaTeX stuff into a dedicated file, but I'm not seeing a lot ATM. Would sticking it in texlive make sense? > > >From c1da9bec615cc81d6dccc75386f813459a4e14f4 Mon Sep 17 00:00:00 2001 > From: Roel Janssen <roel@gnu.org> > Date: Mon, 23 May 2016 01:53:20 +0200 > Subject: [PATCH] gnu: Add texmaker. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Add texmaker entry. > * gnu/packages/texmaker.scm: New file. > --- > gnu/local.mk | 1 + > gnu/packages/texmaker.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 66 insertions(+) > create mode 100644 gnu/packages/texmaker.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index c130901..80e3c82 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -326,6 +326,7 @@ GNU_SYSTEM_MODULES = \ > gnu/packages/terminals.scm \ > gnu/packages/texinfo.scm \ > gnu/packages/texlive.scm \ > + gnu/packages/texmaker.scm \ > gnu/packages/textutils.scm \ > gnu/packages/time.scm \ > gnu/packages/tls.scm \ > diff --git a/gnu/packages/texmaker.scm b/gnu/packages/texmaker.scm > new file mode 100644 > index 0000000..36abc80 > --- /dev/null > +++ b/gnu/packages/texmaker.scm > @@ -0,0 +1,65 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. > + > +(define-module (gnu packages texmaker) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix packages) > + #:use-module (guix download) > + #:use-module (guix build-system gnu) > + #:use-module (gnu packages) > + #:use-module (gnu packages compression) > + #:use-module (gnu packages pdf) > + #:use-module (gnu packages pkg-config) > + #:use-module (gnu packages qt)) > + > +(define-public texmaker > + (package > + (name "texmaker") > + (version "4.5") > + (source (origin > + (method url-fetch) > + (uri (string-append "http://www.xm1math.net/texmaker/texmaker-" > + version ".tar.bz2")) > + (sha256 > + (base32 > + "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c")))) > + (build-system gnu-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + ;; Qt has its own configuration utility. > + (replace 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (zero? (system* "qmake" > + (string-append "PREFIX=" out) > + (string-append "DESKTOPDIR=" out > + "/share/applications") > + (string-append "ICONDIR=" out "/share/pixmaps") > + "texmaker.pro")))))))) > + (inputs > + `(("poppler-qt5" ,poppler-qt5) > + ("qt" ,qt) > + ("zlib" ,zlib))) > + (native-inputs > + `(("pkg-config" ,pkg-config))) > + (home-page "http://www.xm1math.net/texmaker/") > + (synopsis "LaTeX editor") > + (description "Texmaker is a program that integrates many tools needed to > +develop documents with LaTeX, in a single application.") > + (license license:gpl2+))) > -- > 2.7.4 > > > Kind regards, > Roel Janssen > -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-23 17:59 ` Efraim Flashner @ 2016-05-23 18:12 ` Roel Janssen 0 siblings, 0 replies; 14+ messages in thread From: Roel Janssen @ 2016-05-23 18:12 UTC (permalink / raw) To: Efraim Flashner; +Cc: Guix-devel Efraim Flashner writes: > On Mon, May 23, 2016 at 01:59:07AM +0200, Roel Janssen wrote: >> Dear Guix, >> >> For the lack of a better place, I created a new file for texmaker. >> Maybe we should consider moving all LaTeX-related stuff into latex.scm. >> >> Here's a patch for Texmaker -- a decent LaTeX editor for the non-Emacs >> users ;-). > > You mean you don't just use vim? ;P Heh :P > It built perfectly for me and opened nicely too. I think it does make > sense to stick a bunch of LaTeX stuff into a dedicated file, but I'm not > seeing a lot ATM. Would sticking it in texlive make sense? Perhaps, but it's not specific to Texlive. You could even use it without having a LaTeX distribution installed to have syntax highlighting for tex files (provided you're not using Emacs for this purpose..). Therefore I don't think it would fit into texlive, but I don't have any strong feelings about this, so, what do you think? Should I add it to texlive instead? Thanks for your time and effort. Kind regards, Roel Janssen ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-22 23:59 [PATCH] gnu: Add texmaker Roel Janssen 2016-05-23 17:59 ` Efraim Flashner @ 2016-05-23 21:33 ` Ludovic Courtès 2016-05-23 22:19 ` Roel Janssen 1 sibling, 1 reply; 14+ messages in thread From: Ludovic Courtès @ 2016-05-23 21:33 UTC (permalink / raw) To: Roel Janssen; +Cc: Guix-devel Hi! Roel Janssen <roel@gnu.org> skribis: > For the lack of a better place, I created a new file for texmaker. > Maybe we should consider moving all LaTeX-related stuff into latex.scm. > > Here's a patch for Texmaker -- a decent LaTeX editor for the non-Emacs > users ;-). Maybe we could rename texlive.scm to tex.scm and stuff everything in there (that would be TeX Live + Rubber + TeXmaker.) Thoughts? >From c1da9bec615cc81d6dccc75386f813459a4e14f4 Mon Sep 17 00:00:00 2001 > From: Roel Janssen <roel@gnu.org> > Date: Mon, 23 May 2016 01:53:20 +0200 > Subject: [PATCH] gnu: Add texmaker. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Add texmaker entry. > * gnu/packages/texmaker.scm: New file. Otherwise LGTM too. Thanks! Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-23 21:33 ` Ludovic Courtès @ 2016-05-23 22:19 ` Roel Janssen 2016-05-24 9:51 ` Ludovic Courtès 0 siblings, 1 reply; 14+ messages in thread From: Roel Janssen @ 2016-05-23 22:19 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel [-- Attachment #1: 0001-gnu-Rename-texlive-to-tex.patch --] [-- Type: text/x-patch, Size: 41604 bytes --] From fc657a31b4a52628c09a0b634c49b71cce2230bc Mon Sep 17 00:00:00 2001 From: Roel Janssen <roel@gnu.org> Date: Tue, 24 May 2016 00:14:59 +0200 Subject: [PATCH 1/2] gnu: Rename texlive to tex. * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. * gnu/packages/texlive.scm: Rename file to tex.scm. * gnu/packages/tex.scm: Renamed from texlive.scm. * gnu/packages/algebra.scm: Rename texlive to tex. * gnu/packages/docbook.scm: Rename texlive to tex. * gnu/packages/engineering.scm: Rename texlive to tex. * gnu/packages/gettext.scm: Rename texlive to tex. * gnu/packages/gnome.scm: Rename texlive to tex. * gnu/packages/lisp.scm: Rename texlive to tex. * gnu/packages/maths.scm: Rename texlive to tex. * gnu/packages/music.scm: Rename texlive to tex. * gnu/packages/ocaml.scm: Rename texlive to tex. * gnu/packages/plotutils.scm: Rename texlive to tex. * gnu/packages/python.scm: Rename texlive to tex. * gnu/packages/scheme.scm: Rename texlive to tex. --- gnu/local.mk | 2 +- gnu/packages/algebra.scm | 2 +- gnu/packages/docbook.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/gettext.scm | 2 +- gnu/packages/gnome.scm | 2 +- gnu/packages/lisp.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/ocaml.scm | 2 +- gnu/packages/plotutils.scm | 2 +- gnu/packages/python.scm | 2 +- gnu/packages/scheme.scm | 2 +- gnu/packages/tex.scm | 391 +++++++++++++++++++++++++++++++++++++++++++ gnu/packages/texlive.scm | 389 ------------------------------------------ 15 files changed, 404 insertions(+), 402 deletions(-) create mode 100644 gnu/packages/tex.scm delete mode 100644 gnu/packages/texlive.scm diff --git a/gnu/local.mk b/gnu/local.mk index c130901..4c3d29e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -325,7 +325,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/telephony.scm \ gnu/packages/terminals.scm \ gnu/packages/texinfo.scm \ - gnu/packages/texlive.scm \ + gnu/packages/tex.scm \ gnu/packages/textutils.scm \ gnu/packages/time.scm \ gnu/packages/tls.scm \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 53f6f3e..9518e65 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -37,7 +37,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages python) #:use-module (gnu packages tcsh) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 2bd86fe..b8a8ba6 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -23,7 +23,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages python) #:use-module (gnu packages base) #:use-module (gnu packages xml) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c519ca5..4673715 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -52,7 +52,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages tcl) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (srfi srfi-1)) (define-public librecad diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 50d480a..34338f9 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -28,7 +28,7 @@ #:use-module (guix build-system perl) #:use-module (gnu packages docbook) #:use-module (gnu packages perl) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages xml)) ;; Use that name to avoid clashes with Guile's 'gettext' procedure. diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c5d53d1..04d9bb7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -97,7 +97,7 @@ #:use-module (gnu packages geeqie) #:use-module (gnu packages gl) #:use-module (gnu packages compression) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages webkit) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 85f3f3c..e349907 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -26,7 +26,7 @@ #:use-module (guix packages) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages m4) #:use-module (guix download) #:use-module (guix git-download) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 19ed44f..80e48ca 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -81,7 +81,7 @@ #:use-module (gnu packages tcsh) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f2787ee..50f9a70 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -85,7 +85,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 434fb13..cb3f57e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -38,7 +38,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages xorg) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages ghostscript) #:use-module (gnu packages lynx) #:use-module (gnu packages perl) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index ef61239..16cff79 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -38,7 +38,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages compression) #:use-module (gnu packages)) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 602da2d..61c55e2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -68,7 +68,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) #:use-module (gnu packages statistics) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 6f2ce9f..e504998 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -35,7 +35,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm new file mode 100644 index 0000000..e11e5d4 --- /dev/null +++ b/gnu/packages/tex.scm @@ -0,0 +1,391 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages tex) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gd) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages lua) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pdf) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages ruby) + #:use-module (gnu packages tcsh) + #:use-module (gnu packages base) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages zip) + #:autoload (gnu packages texinfo) (texinfo) + #:use-module (ice-9 ftw) + #:use-module (srfi srfi-1)) + +(define texlive-extra-src + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-extra.tar.xz") + (sha256 (base32 + "1dkhhacga8h1v2m9xv1w02glbdda2m8lfp1la1y1zb9yjj8jsa6i")))) + +(define texlive-texmf-src + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-texmf.tar.xz") + (sha256 (base32 + "1a3hpcg6x69ysqx432v6sk4alg0x34813cwk41frmvzprdajpyqy")))) + +(define texlive-bin + (package + (name "texlive-bin") + (version "2015") + (source + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150521-source.tar.xz") + (sha256 (base32 + "0sa6kmz4jwhv6lw702gxszhhjkvw071wba0ngk1c76g8vixwv6zd")))) + (build-system gnu-build-system) + (inputs + `(("texlive-extra-src" ,texlive-extra-src) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("fontforge" ,fontforge) + ("freetype" ,freetype) + ("gd" ,gd) + ("gmp" ,gmp) + ("ghostscript" ,ghostscript) + ("graphite2" ,graphite2) + ("harfbuzz" ,harfbuzz) + ("icu4c" ,icu4c) + ("libpaper" ,libpaper) + ("libpng" ,libpng) + ("libxaw" ,libxaw) + ("libxt" ,libxt) + ("mpfr" ,mpfr) + ("perl" ,perl) + ("pixman" ,pixman) + ("poppler" ,poppler) + ("potrace" ,potrace) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh) + ("teckit" ,teckit) + ("zlib" ,zlib) + ("zziplib" ,zziplib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:out-of-source? #t + #:configure-flags + `("--disable-native-texlive-build" + "--with-system-cairo" + "--with-system-freetype2" + "--with-system-gd" + "--with-system-gmp" + "--with-system-graphite2" + "--with-system-harfbuzz" + "--with-system-icu" + "--with-system-libgs" + "--with-system-libpaper" + "--with-system-libpng" + "--with-system-mpfr" + "--with-system-pixman" + "--with-system-poppler" + "--with-system-potrace" + "--with-system-teckit" + "--with-system-xpdf" + "--with-system-zlib" + "--with-system-zziplib") + + ;; Disable tests on mips64 to cope with a failure of luajiterr.test. + ;; XXX FIXME fix luajit properly on mips64. + #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) + (%current-system)))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'postint + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texlive-extra (assoc-ref inputs "texlive-extra-src")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) + ;; Create symbolic links for the latex variants and their + ;; man pages. + (with-directory-excursion (string-append out "/bin/") + (for-each symlink + '("pdftex" "pdftex" "xetex" "luatex") + '("latex" "pdflatex" "xelatex" "lualatex"))) + (with-directory-excursion (string-append share "/man/man1/") + (symlink "luatex.1" "lualatex.1")) + ;; Unpack texlive-extra and install tlpkg. + (mkdir "texlive-extra") + (with-directory-excursion "texlive-extra" + (apply unpack (list #:source texlive-extra)) + (apply patch-source-shebangs (list #:source texlive-extra)) + (system* "mv" "tlpkg" share)))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the binaries.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define texlive-texmf + (package + (name "texlive-texmf") + (version "2015") + (source texlive-texmf-src) + (build-system gnu-build-system) + (inputs + `(("texlive-bin" ,texlive-bin) + ("lua" ,lua) + ("perl" ,perl) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh))) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases (map (cut assq <> %standard-phases) + '(set-paths unpack patch-source-shebangs)) + (add-after 'patch-source-shebangs 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share"))) + (mkdir-p share) + (system* "mv" "texmf-dist" share)))) + (add-after 'install 'texmf-config + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texmfroot (string-append share "/texmf-dist/web2c")) + (texmfcnf (string-append texmfroot "/texmf.cnf")) + (texlive-bin (assoc-ref inputs "texlive-bin")) + (texbin (string-append texlive-bin "/bin")) + (tlpkg (string-append texlive-bin "/share/tlpkg"))) + ;; Register SHARE as TEXMFROOT in texmf.cnf. + (substitute* texmfcnf + (("TEXMFROOT = \\$SELFAUTOPARENT") + (string-append "TEXMFROOT = " share))) + ;; Register paths in texmfcnf.lua, needed for context. + (substitute* (string-append texmfroot "/texmfcnf.lua") + (("selfautodir:") out) + (("selfautoparent:") (string-append share "/"))) + ;; Set path to TeXLive Perl modules + (setenv "PERL5LIB" + (string-append (getenv "PERL5LIB") ":" tlpkg)) + ;; Configure the texmf-dist tree; inspired from + ;; http://slackbuilds.org/repository/13.37/office/texlive/ + (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) + (setenv "TEXMFCNF" texmfroot) + (system* "updmap-sys" "--nohash" "--syncwithtrees") + (system* "mktexlsr") + (system* "fmtutil-sys" "--all"))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete tree of texmf-dist data.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define-public texlive + (package + (name "texlive") + (version "2015") + (source #f) + (build-system trivial-build-system) + (inputs `(("bash" ,bash) ; for wrap-program + ("texlive-bin" ,texlive-bin) + ("texlive-texmf" ,texlive-texmf))) + (arguments + `(#:modules ((guix build utils)) + #:builder + ;; Build the union of texlive-bin and texlive-texmf, but take the + ;; conflicting subdirectory share/texmf-dist from texlive-texmf. + (begin + (use-modules (guix build utils)) + (let ((out (assoc-ref %outputs "out")) + (bin (assoc-ref %build-inputs "texlive-bin")) + (texmf (assoc-ref %build-inputs "texlive-texmf")) + (bash (assoc-ref %build-inputs "bash"))) + (mkdir out) + (with-directory-excursion out + (for-each + (lambda (name) + (symlink (string-append bin "/" name) name)) + '("include" "lib")) + (mkdir "bin") + (with-directory-excursion "bin" + (setenv "PATH" (string-append bash "/bin")) + (for-each + (lambda (name) + (symlink name (basename name)) + (wrap-program + (basename name) + `("TEXMFCNF" = + (,(string-append texmf "/share/texmf-dist/web2c"))))) + (find-files (string-append bin "/bin/") ""))) + (mkdir "share") + (with-directory-excursion "share" + (for-each + (lambda (name) + (symlink (string-append bin "/share/" name) name)) + '("info" "man" "tlpkg")) + (for-each + (lambda (name) + (symlink (string-append texmf "/share/" name) name)) + '("texmf-dist" "texmf-var")))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete TeX Live distribution.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + + +;; texlive-texmf-minimal is a pruned, small version of the texlive tree, +;; in particular dropping documentation and fonts. +(define texlive-texmf-minimal + (package (inherit texlive-texmf) + (name "texlive-texmf-minimal") + (arguments + (substitute-keyword-arguments + (package-arguments texlive-texmf) + ((#:modules modules) + `((ice-9 ftw) + (srfi srfi-1) + ,@modules)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'prune + (lambda _ + (define (delete subdir exclude) + "Delete all files and directories in SUBDIR except for those +given in the list EXCLUDE." + (with-directory-excursion subdir + (for-each delete-file-recursively + (lset-difference equal? + (scandir ".") + (append '("." "..") + exclude))))) + (with-directory-excursion "texmf-dist" + (for-each delete-file-recursively + '("doc" "source" "tex4ht")) + ;; Delete all subdirectories of "fonts", except for "tfm" and + ;; any directories named "cm". + (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1")) + (delete "fonts/afm" '("public")) + (delete "fonts/afm/public" '("amsfonts")) + (delete "fonts/afm/public/amsfonts" '("cm")) + (delete "fonts/map" '("dvips")) + (delete "fonts/map/dvips" '("cm")) + (delete "fonts/source" '("public")) + (delete "fonts/source/public" '("cm")) + (delete "fonts/tfm" '("public")) + (delete "fonts/type1" '("public")) + (delete "fonts/type1/public" '("amsfonts")) + (delete "fonts/type1/public/amsfonts" '("cm"))) + #t)))))) + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains a small subset of the texmf-dist data."))) + + +;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal +;; instead of the full texlive-texmf. It can be used, for instance, as a +;; native input to packages that need texlive to build their documentation. +(define-public texlive-minimal + (package (inherit texlive) + (name "texlive-minimal") + (inputs + `(("texlive-texmf" ,texlive-texmf-minimal) + ,@(alist-delete "texlive-texmf" (package-inputs texlive)))) + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains a small working part of the TeX Live distribution."))) + + +(define-public rubber + (package + (name "rubber") + (version "1.1") + (source (origin + (method url-fetch) + (uri (list (string-append "https://launchpad.net/rubber/trunk/" + version "/+download/rubber-" + version ".tar.gz") + (string-append "http://ebeffara.free.fr/pub/rubber-" + version ".tar.gz"))) + (sha256 + (base32 + "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ; no `check' target + (inputs `(("texinfo" ,texinfo) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("which" ,which))) + (home-page "https://launchpad.net/rubber") + (synopsis "Wrapper for LaTeX and friends") + (description + "Rubber is a program whose purpose is to handle all tasks related to the +compilation of LaTeX documents. This includes compiling the document itself, +of course, enough times so that all references are defined, and running BibTeX +to manage bibliographic references. Automatic execution of dvips to produce +PostScript documents is also included, as well as usage of pdfLaTeX to produce +PDF documents.") + (license license:gpl2+))) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm deleted file mode 100644 index cbcb6c8..0000000 --- a/gnu/packages/texlive.scm +++ /dev/null @@ -1,389 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gnu packages texlive) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module (guix utils) - #:use-module (gnu packages) - #:use-module (gnu packages bash) - #:use-module (gnu packages compression) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages gd) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages gtk) - #:use-module (gnu packages icu4c) - #:use-module (gnu packages image) - #:use-module (gnu packages lua) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages pdf) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages ruby) - #:use-module (gnu packages tcsh) - #:use-module (gnu packages base) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages zip) - #:autoload (gnu packages texinfo) (texinfo) - #:use-module (ice-9 ftw) - #:use-module (srfi srfi-1)) - -(define texlive-extra-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-extra.tar.xz") - (sha256 (base32 - "1dkhhacga8h1v2m9xv1w02glbdda2m8lfp1la1y1zb9yjj8jsa6i")))) - -(define texlive-texmf-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-texmf.tar.xz") - (sha256 (base32 - "1a3hpcg6x69ysqx432v6sk4alg0x34813cwk41frmvzprdajpyqy")))) - -(define texlive-bin - (package - (name "texlive-bin") - (version "2015") - (source - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150521-source.tar.xz") - (sha256 (base32 - "0sa6kmz4jwhv6lw702gxszhhjkvw071wba0ngk1c76g8vixwv6zd")))) - (build-system gnu-build-system) - (inputs - `(("texlive-extra-src" ,texlive-extra-src) - ("cairo" ,cairo) - ("fontconfig" ,fontconfig) - ("fontforge" ,fontforge) - ("freetype" ,freetype) - ("gd" ,gd) - ("gmp" ,gmp) - ("ghostscript" ,ghostscript) - ("graphite2" ,graphite2) - ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c) - ("libpaper" ,libpaper) - ("libpng" ,libpng) - ("libxaw" ,libxaw) - ("libxt" ,libxt) - ("mpfr" ,mpfr) - ("perl" ,perl) - ("pixman" ,pixman) - ("poppler" ,poppler) - ("potrace" ,potrace) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("ruby" ,ruby) - ("tcsh" ,tcsh) - ("teckit" ,teckit) - ("zlib" ,zlib) - ("zziplib" ,zziplib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (arguments - `(#:out-of-source? #t - #:configure-flags - `("--disable-native-texlive-build" - "--with-system-cairo" - "--with-system-freetype2" - "--with-system-gd" - "--with-system-gmp" - "--with-system-graphite2" - "--with-system-harfbuzz" - "--with-system-icu" - "--with-system-libgs" - "--with-system-libpaper" - "--with-system-libpng" - "--with-system-mpfr" - "--with-system-pixman" - "--with-system-poppler" - "--with-system-potrace" - "--with-system-teckit" - "--with-system-xpdf" - "--with-system-zlib" - "--with-system-zziplib") - - ;; Disable tests on mips64 to cope with a failure of luajiterr.test. - ;; XXX FIXME fix luajit properly on mips64. - #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) - (%current-system)))) - #:phases - (modify-phases %standard-phases - (add-after 'install 'postint - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texlive-extra (assoc-ref inputs "texlive-extra-src")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - ;; Create symbolic links for the latex variants and their - ;; man pages. - (with-directory-excursion (string-append out "/bin/") - (for-each symlink - '("pdftex" "pdftex" "xetex" "luatex") - '("latex" "pdflatex" "xelatex" "lualatex"))) - (with-directory-excursion (string-append share "/man/man1/") - (symlink "luatex.1" "lualatex.1")) - ;; Unpack texlive-extra and install tlpkg. - (mkdir "texlive-extra") - (with-directory-excursion "texlive-extra" - (apply unpack (list #:source texlive-extra)) - (apply patch-source-shebangs (list #:source texlive-extra)) - (system* "mv" "tlpkg" share)))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the binaries.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - -(define texlive-texmf - (package - (name "texlive-texmf") - (version "2015") - (source texlive-texmf-src) - (build-system gnu-build-system) - (inputs - `(("texlive-bin" ,texlive-bin) - ("lua" ,lua) - ("perl" ,perl) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("ruby" ,ruby) - ("tcsh" ,tcsh))) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - #:phases - (modify-phases (map (cut assq <> %standard-phases) - '(set-paths unpack patch-source-shebangs)) - (add-after 'patch-source-shebangs 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((share (string-append (assoc-ref outputs "out") "/share"))) - (mkdir-p share) - (system* "mv" "texmf-dist" share)))) - (add-after 'install 'texmf-config - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texmfroot (string-append share "/texmf-dist/web2c")) - (texmfcnf (string-append texmfroot "/texmf.cnf")) - (texlive-bin (assoc-ref inputs "texlive-bin")) - (texbin (string-append texlive-bin "/bin")) - (tlpkg (string-append texlive-bin "/share/tlpkg"))) - ;; Register SHARE as TEXMFROOT in texmf.cnf. - (substitute* texmfcnf - (("TEXMFROOT = \\$SELFAUTOPARENT") - (string-append "TEXMFROOT = " share))) - ;; Register paths in texmfcnf.lua, needed for context. - (substitute* (string-append texmfroot "/texmfcnf.lua") - (("selfautodir:") out) - (("selfautoparent:") (string-append share "/"))) - ;; Set path to TeXLive Perl modules - (setenv "PERL5LIB" - (string-append (getenv "PERL5LIB") ":" tlpkg)) - ;; Configure the texmf-dist tree; inspired from - ;; http://slackbuilds.org/repository/13.37/office/texlive/ - (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) - (setenv "TEXMFCNF" texmfroot) - (system* "updmap-sys" "--nohash" "--syncwithtrees") - (system* "mktexlsr") - (system* "fmtutil-sys" "--all"))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the complete tree of texmf-dist data.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - -(define-public texlive - (package - (name "texlive") - (version "2015") - (source #f) - (build-system trivial-build-system) - (inputs `(("bash" ,bash) ; for wrap-program - ("texlive-bin" ,texlive-bin) - ("texlive-texmf" ,texlive-texmf))) - (arguments - `(#:modules ((guix build utils)) - #:builder - ;; Build the union of texlive-bin and texlive-texmf, but take the - ;; conflicting subdirectory share/texmf-dist from texlive-texmf. - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (bin (assoc-ref %build-inputs "texlive-bin")) - (texmf (assoc-ref %build-inputs "texlive-texmf")) - (bash (assoc-ref %build-inputs "bash"))) - (mkdir out) - (with-directory-excursion out - (for-each - (lambda (name) - (symlink (string-append bin "/" name) name)) - '("include" "lib")) - (mkdir "bin") - (with-directory-excursion "bin" - (setenv "PATH" (string-append bash "/bin")) - (for-each - (lambda (name) - (symlink name (basename name)) - (wrap-program - (basename name) - `("TEXMFCNF" = - (,(string-append texmf "/share/texmf-dist/web2c"))))) - (find-files (string-append bin "/bin/") ""))) - (mkdir "share") - (with-directory-excursion "share" - (for-each - (lambda (name) - (symlink (string-append bin "/share/" name) name)) - '("info" "man" "tlpkg")) - (for-each - (lambda (name) - (symlink (string-append texmf "/share/" name) name)) - '("texmf-dist" "texmf-var")))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the complete TeX Live distribution.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - - -;; texlive-texmf-minimal is a pruned, small version of the texlive tree, -;; in particular dropping documentation and fonts. -(define texlive-texmf-minimal - (package (inherit texlive-texmf) - (name "texlive-texmf-minimal") - (arguments - (substitute-keyword-arguments - (package-arguments texlive-texmf) - ((#:modules modules) - `((ice-9 ftw) - (srfi srfi-1) - ,@modules)) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'prune - (lambda _ - (define (delete subdir exclude) - "Delete all files and directories in SUBDIR except for those -given in the list EXCLUDE." - (with-directory-excursion subdir - (for-each delete-file-recursively - (lset-difference equal? - (scandir ".") - (append '("." "..") - exclude))))) - (with-directory-excursion "texmf-dist" - (for-each delete-file-recursively - '("doc" "source" "tex4ht")) - ;; Delete all subdirectories of "fonts", except for "tfm" and - ;; any directories named "cm". - (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1")) - (delete "fonts/afm" '("public")) - (delete "fonts/afm/public" '("amsfonts")) - (delete "fonts/afm/public/amsfonts" '("cm")) - (delete "fonts/map" '("dvips")) - (delete "fonts/map/dvips" '("cm")) - (delete "fonts/source" '("public")) - (delete "fonts/source/public" '("cm")) - (delete "fonts/tfm" '("public")) - (delete "fonts/type1" '("public")) - (delete "fonts/type1/public" '("amsfonts")) - (delete "fonts/type1/public/amsfonts" '("cm"))) - #t)))))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small subset of the texmf-dist data."))) - - -;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal -;; instead of the full texlive-texmf. It can be used, for instance, as a -;; native input to packages that need texlive to build their documentation. -(define-public texlive-minimal - (package (inherit texlive) - (name "texlive-minimal") - (inputs - `(("texlive-texmf" ,texlive-texmf-minimal) - ,@(alist-delete "texlive-texmf" (package-inputs texlive)))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small working part of the TeX Live distribution."))) - - -(define-public rubber - (package - (name "rubber") - (version "1.1") - (source (origin - (method url-fetch) - (uri (list (string-append "https://launchpad.net/rubber/trunk/" - version "/+download/rubber-" - version ".tar.gz") - (string-append "http://ebeffara.free.fr/pub/rubber-" - version ".tar.gz"))) - (sha256 - (base32 - "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq")))) - (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no `check' target - (inputs `(("texinfo" ,texinfo) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("which" ,which))) - (home-page "https://launchpad.net/rubber") - (synopsis "Wrapper for LaTeX and friends") - (description - "Rubber is a program whose purpose is to handle all tasks related to the -compilation of LaTeX documents. This includes compiling the document itself, -of course, enough times so that all references are defined, and running BibTeX -to manage bibliographic references. Automatic execution of dvips to produce -PostScript documents is also included, as well as usage of pdfLaTeX to produce -PDF documents.") - (license license:gpl2+))) -- 2.7.4 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0002-gnu-Add-texmaker.patch --] [-- Type: text/x-patch, Size: 2185 bytes --] From f54915ab4ab70133adced8fd71649918e38ba659 Mon Sep 17 00:00:00 2001 From: Roel Janssen <roel@gnu.org> Date: Tue, 24 May 2016 00:16:05 +0200 Subject: [PATCH 2/2] gnu: Add texmaker. * gnu/packages/tex.scm (texmaker): New variable. --- gnu/packages/tex.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e11e5d4..c1ab8b3 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -389,3 +389,40 @@ to manage bibliographic references. Automatic execution of dvips to produce PostScript documents is also included, as well as usage of pdfLaTeX to produce PDF documents.") (license license:gpl2+))) + +(define-public texmaker + (package + (name "texmaker") + (version "4.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.xm1math.net/texmaker/texmaker-" + version ".tar.bz2")) + (sha256 + (base32 + "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Qt has its own configuration utility. + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "qmake" + (string-append "PREFIX=" out) + (string-append "DESKTOPDIR=" out + "/share/applications") + (string-append "ICONDIR=" out "/share/pixmaps") + "texmaker.pro")))))))) + (inputs + `(("poppler-qt5" ,poppler-qt5) + ("qt" ,qt) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.xm1math.net/texmaker/") + (synopsis "LaTeX editor") + (description "Texmaker is a program that integrates many tools needed to +develop documents with LaTeX, in a single application.") + (license license:gpl2+))) -- 2.7.4 [-- Attachment #3: Type: text/plain, Size: 648 bytes --] Ludovic Courtès writes: > Hi! > > Roel Janssen <roel@gnu.org> skribis: > >> For the lack of a better place, I created a new file for texmaker. >> Maybe we should consider moving all LaTeX-related stuff into latex.scm. >> >> Here's a patch for Texmaker -- a decent LaTeX editor for the non-Emacs >> users ;-). > > Maybe we could rename texlive.scm to tex.scm and stuff everything in > there (that would be TeXLive + Rubber + TeXmaker.) Thoughts? Great idea. I attached two patches to make this change. I'm not sure if my commit message is OK this way. Could you change it when it is not entirely perfect? Thanks! Kind regards, Roel Janssen ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-23 22:19 ` Roel Janssen @ 2016-05-24 9:51 ` Ludovic Courtès 2016-05-24 10:08 ` Efraim Flashner ` (3 more replies) 0 siblings, 4 replies; 14+ messages in thread From: Ludovic Courtès @ 2016-05-24 9:51 UTC (permalink / raw) To: Roel Janssen; +Cc: Guix-devel Roel Janssen <roel@gnu.org> skribis: > From fc657a31b4a52628c09a0b634c49b71cce2230bc Mon Sep 17 00:00:00 2001 > From: Roel Janssen <roel@gnu.org> > Date: Tue, 24 May 2016 00:14:59 +0200 > Subject: [PATCH 1/2] gnu: Rename texlive to tex. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. > * gnu/packages/texlive.scm: Rename file to tex.scm. > * gnu/packages/tex.scm: Renamed from texlive.scm. > * gnu/packages/algebra.scm: Rename texlive to tex. Here I’d just put “Adjust accordingly.” > * gnu/packages/docbook.scm: Rename texlive to tex. > * gnu/packages/engineering.scm: Rename texlive to tex. … and here “Likewise.” is enough. Apart from that LGTM! > From f54915ab4ab70133adced8fd71649918e38ba659 Mon Sep 17 00:00:00 2001 > From: Roel Janssen <roel@gnu.org> > Date: Tue, 24 May 2016 00:16:05 +0200 > Subject: [PATCH 2/2] gnu: Add texmaker. > > * gnu/packages/tex.scm (texmaker): New variable. OK. I think it would help now if you could access the repo directly. :-) What’s your Savannah account? Please make sure to upload your current OpenPGP public key there. Thanks! Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 9:51 ` Ludovic Courtès @ 2016-05-24 10:08 ` Efraim Flashner 2016-05-24 10:11 ` Ben Woodcroft ` (2 subsequent siblings) 3 siblings, 0 replies; 14+ messages in thread From: Efraim Flashner @ 2016-05-24 10:08 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 1084 bytes --] On Tue, May 24, 2016 at 11:51:19AM +0200, Ludovic Courtès wrote: > Roel Janssen <roel@gnu.org> skribis: > > > From fc657a31b4a52628c09a0b634c49b71cce2230bc Mon Sep 17 00:00:00 2001 > > From: Roel Janssen <roel@gnu.org> > > Date: Tue, 24 May 2016 00:14:59 +0200 > > Subject: [PATCH 1/2] gnu: Rename texlive to tex. > > > > * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. > > * gnu/packages/texlive.scm: Rename file to tex.scm. > > * gnu/packages/tex.scm: Renamed from texlive.scm. > > * gnu/packages/algebra.scm: Rename texlive to tex. > > Here I’d just put “Adjust accordingly.” > > > * gnu/packages/docbook.scm: Rename texlive to tex. > > * gnu/packages/engineering.scm: Rename texlive to tex. > > … and here “Likewise.” is enough. > > Apart from that LGTM! > Add in photo.scm, I just added texlive there. -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 9:51 ` Ludovic Courtès 2016-05-24 10:08 ` Efraim Flashner @ 2016-05-24 10:11 ` Ben Woodcroft 2016-05-24 16:10 ` Leo Famulari 2016-05-24 19:34 ` Roel Janssen 3 siblings, 0 replies; 14+ messages in thread From: Ben Woodcroft @ 2016-05-24 10:11 UTC (permalink / raw) To: Ludovic Courtès, Roel Janssen; +Cc: Guix-devel On 24/05/16 19:51, Ludovic Courtès wrote: > What’s your Savannah account? Please make sure to upload your current > OpenPGP public key there. Congrats, well deserved. ben ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 9:51 ` Ludovic Courtès 2016-05-24 10:08 ` Efraim Flashner 2016-05-24 10:11 ` Ben Woodcroft @ 2016-05-24 16:10 ` Leo Famulari 2016-05-25 21:58 ` Ludovic Courtès 2016-05-24 19:34 ` Roel Janssen 3 siblings, 1 reply; 14+ messages in thread From: Leo Famulari @ 2016-05-24 16:10 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel On Tue, May 24, 2016 at 11:51:19AM +0200, Ludovic Courtès wrote: > Roel Janssen <roel@gnu.org> skribis: > > > From fc657a31b4a52628c09a0b634c49b71cce2230bc Mon Sep 17 00:00:00 2001 > > From: Roel Janssen <roel@gnu.org> > > Date: Tue, 24 May 2016 00:14:59 +0200 > > Subject: [PATCH 1/2] gnu: Rename texlive to tex. > > > > * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. > > * gnu/packages/texlive.scm: Rename file to tex.scm. > > * gnu/packages/tex.scm: Renamed from texlive.scm. > > * gnu/packages/algebra.scm: Rename texlive to tex. > > Here I’d just put “Adjust accordingly.” > > > * gnu/packages/docbook.scm: Rename texlive to tex. > > * gnu/packages/engineering.scm: Rename texlive to tex. > > … and here “Likewise.” is enough. > > Apart from that LGTM! > > > From f54915ab4ab70133adced8fd71649918e38ba659 Mon Sep 17 00:00:00 2001 > > From: Roel Janssen <roel@gnu.org> > > Date: Tue, 24 May 2016 00:16:05 +0200 > > Subject: [PATCH 2/2] gnu: Add texmaker. > > > > * gnu/packages/tex.scm (texmaker): New variable. > > OK. > > I think it would help now if you could access the repo directly. :-) > > What’s your Savannah account? Please make sure to upload your current > OpenPGP public key there. Can Savannah use our PGP keys somehow? Or did you mean Roel's SSH public key? ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 16:10 ` Leo Famulari @ 2016-05-25 21:58 ` Ludovic Courtès 0 siblings, 0 replies; 14+ messages in thread From: Ludovic Courtès @ 2016-05-25 21:58 UTC (permalink / raw) To: Leo Famulari; +Cc: Guix-devel Leo Famulari <leo@famulari.name> skribis: > On Tue, May 24, 2016 at 11:51:19AM +0200, Ludovic Courtès wrote: [...] >> What’s your Savannah account? Please make sure to upload your current >> OpenPGP public key there. > > Can Savannah use our PGP keys somehow? It cannot “use” them, but it can store them, in the /users/XYZ page. Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 9:51 ` Ludovic Courtès ` (2 preceding siblings ...) 2016-05-24 16:10 ` Leo Famulari @ 2016-05-24 19:34 ` Roel Janssen 2016-05-26 7:56 ` Ludovic Courtès 3 siblings, 1 reply; 14+ messages in thread From: Roel Janssen @ 2016-05-24 19:34 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel [-- Attachment #1: 0001-gnu-Rename-texlive-module-to-tex.patch --] [-- Type: text/x-patch, Size: 41922 bytes --] From d8638ddcfa7357168f542f626579eba9b6c5286b Mon Sep 17 00:00:00 2001 From: Roel Janssen <roel@gnu.org> Date: Tue, 24 May 2016 21:18:53 +0200 Subject: [PATCH 1/2] gnu: Rename texlive module to tex. * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. * gnu/packages/texlive.scm: Rename file to tex.scm. * gnu/packages/tex.scm: Renamed from texlive.scm. * gnu/packages/algebra.scm: Adjust accordingly. * gnu/packages/docbook.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/gettext.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/lisp.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/ocaml.scm: Likewise. * gnu/packages/photo.scm: Likewise. * gnu/packages/plotutils.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/scheme.scm: Likewise. --- gnu/local.mk | 2 +- gnu/packages/algebra.scm | 2 +- gnu/packages/docbook.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/gettext.scm | 2 +- gnu/packages/gnome.scm | 2 +- gnu/packages/lisp.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/ocaml.scm | 2 +- gnu/packages/photo.scm | 2 +- gnu/packages/plotutils.scm | 2 +- gnu/packages/python.scm | 2 +- gnu/packages/scheme.scm | 2 +- gnu/packages/tex.scm | 389 +++++++++++++++++++++++++++++++++++++++++++ gnu/packages/texlive.scm | 389 ------------------------------------------- 16 files changed, 403 insertions(+), 403 deletions(-) create mode 100644 gnu/packages/tex.scm delete mode 100644 gnu/packages/texlive.scm diff --git a/gnu/local.mk b/gnu/local.mk index 9cd9699..d836a88 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -325,7 +325,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/telephony.scm \ %D%/packages/terminals.scm \ %D%/packages/texinfo.scm \ - %D%/packages/texlive.scm \ + %D%/packages/tex.scm \ %D%/packages/textutils.scm \ %D%/packages/time.scm \ %D%/packages/tls.scm \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 53f6f3e..9518e65 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -37,7 +37,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages python) #:use-module (gnu packages tcsh) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 2bd86fe..b8a8ba6 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -23,7 +23,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages python) #:use-module (gnu packages base) #:use-module (gnu packages xml) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c519ca5..4673715 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -52,7 +52,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages tcl) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (srfi srfi-1)) (define-public librecad diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 50d480a..34338f9 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -28,7 +28,7 @@ #:use-module (guix build-system perl) #:use-module (gnu packages docbook) #:use-module (gnu packages perl) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages xml)) ;; Use that name to avoid clashes with Guile's 'gettext' procedure. diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c5d53d1..04d9bb7 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -97,7 +97,7 @@ #:use-module (gnu packages geeqie) #:use-module (gnu packages gl) #:use-module (gnu packages compression) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages webkit) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 85f3f3c..e349907 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -26,7 +26,7 @@ #:use-module (guix packages) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages m4) #:use-module (guix download) #:use-module (guix git-download) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 19ed44f..80e48ca 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -81,7 +81,7 @@ #:use-module (gnu packages tcsh) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f2787ee..50f9a70 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -85,7 +85,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index aafae51..a0a4b93 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -38,7 +38,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages compression) #:use-module (gnu packages xorg) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages ghostscript) #:use-module (gnu packages lynx) #:use-module (gnu packages perl) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 2592565..4b21926 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -43,7 +43,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages readline) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages web) #:use-module (gnu packages xfig) #:use-module (gnu packages xml)) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 5871fb0..3edb25a 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -38,7 +38,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages compression) #:use-module (gnu packages)) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 602da2d..61c55e2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -68,7 +68,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) #:use-module (gnu packages statistics) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index c378dc3..6baee2b 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -35,7 +35,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages texinfo) - #:use-module (gnu packages texlive) + #:use-module (gnu packages tex) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm new file mode 100644 index 0000000..eab85f1 --- /dev/null +++ b/gnu/packages/tex.scm @@ -0,0 +1,389 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages tex) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gd) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages lua) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pdf) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages ruby) + #:use-module (gnu packages tcsh) + #:use-module (gnu packages base) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages zip) + #:autoload (gnu packages texinfo) (texinfo) + #:use-module (ice-9 ftw) + #:use-module (srfi srfi-1)) + +(define texlive-extra-src + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-extra.tar.xz") + (sha256 (base32 + "1dkhhacga8h1v2m9xv1w02glbdda2m8lfp1la1y1zb9yjj8jsa6i")))) + +(define texlive-texmf-src + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-texmf.tar.xz") + (sha256 (base32 + "1a3hpcg6x69ysqx432v6sk4alg0x34813cwk41frmvzprdajpyqy")))) + +(define texlive-bin + (package + (name "texlive-bin") + (version "2015") + (source + (origin + (method url-fetch) + (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150521-source.tar.xz") + (sha256 (base32 + "0sa6kmz4jwhv6lw702gxszhhjkvw071wba0ngk1c76g8vixwv6zd")))) + (build-system gnu-build-system) + (inputs + `(("texlive-extra-src" ,texlive-extra-src) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("fontforge" ,fontforge) + ("freetype" ,freetype) + ("gd" ,gd) + ("gmp" ,gmp) + ("ghostscript" ,ghostscript) + ("graphite2" ,graphite2) + ("harfbuzz" ,harfbuzz) + ("icu4c" ,icu4c) + ("libpaper" ,libpaper) + ("libpng" ,libpng) + ("libxaw" ,libxaw) + ("libxt" ,libxt) + ("mpfr" ,mpfr) + ("perl" ,perl) + ("pixman" ,pixman) + ("poppler" ,poppler) + ("potrace" ,potrace) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh) + ("teckit" ,teckit) + ("zlib" ,zlib) + ("zziplib" ,zziplib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:out-of-source? #t + #:configure-flags + `("--disable-native-texlive-build" + "--with-system-cairo" + "--with-system-freetype2" + "--with-system-gd" + "--with-system-gmp" + "--with-system-graphite2" + "--with-system-harfbuzz" + "--with-system-icu" + "--with-system-libgs" + "--with-system-libpaper" + "--with-system-libpng" + "--with-system-mpfr" + "--with-system-pixman" + "--with-system-poppler" + "--with-system-potrace" + "--with-system-teckit" + "--with-system-xpdf" + "--with-system-zlib" + "--with-system-zziplib") + + ;; Disable tests on mips64 to cope with a failure of luajiterr.test. + ;; XXX FIXME fix luajit properly on mips64. + #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) + (%current-system)))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'postint + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texlive-extra (assoc-ref inputs "texlive-extra-src")) + (unpack (assoc-ref %standard-phases 'unpack)) + (patch-source-shebangs + (assoc-ref %standard-phases 'patch-source-shebangs))) + ;; Create symbolic links for the latex variants and their + ;; man pages. + (with-directory-excursion (string-append out "/bin/") + (for-each symlink + '("pdftex" "pdftex" "xetex" "luatex") + '("latex" "pdflatex" "xelatex" "lualatex"))) + (with-directory-excursion (string-append share "/man/man1/") + (symlink "luatex.1" "lualatex.1")) + ;; Unpack texlive-extra and install tlpkg. + (mkdir "texlive-extra") + (with-directory-excursion "texlive-extra" + (apply unpack (list #:source texlive-extra)) + (apply patch-source-shebangs (list #:source texlive-extra)) + (system* "mv" "tlpkg" share)))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the binaries.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define texlive-texmf + (package + (name "texlive-texmf") + (version "2015") + (source texlive-texmf-src) + (build-system gnu-build-system) + (inputs + `(("texlive-bin" ,texlive-bin) + ("lua" ,lua) + ("perl" ,perl) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("ruby" ,ruby) + ("tcsh" ,tcsh))) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases (map (cut assq <> %standard-phases) + '(set-paths unpack patch-source-shebangs)) + (add-after 'patch-source-shebangs 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share"))) + (mkdir-p share) + (system* "mv" "texmf-dist" share)))) + (add-after 'install 'texmf-config + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (texmfroot (string-append share "/texmf-dist/web2c")) + (texmfcnf (string-append texmfroot "/texmf.cnf")) + (texlive-bin (assoc-ref inputs "texlive-bin")) + (texbin (string-append texlive-bin "/bin")) + (tlpkg (string-append texlive-bin "/share/tlpkg"))) + ;; Register SHARE as TEXMFROOT in texmf.cnf. + (substitute* texmfcnf + (("TEXMFROOT = \\$SELFAUTOPARENT") + (string-append "TEXMFROOT = " share))) + ;; Register paths in texmfcnf.lua, needed for context. + (substitute* (string-append texmfroot "/texmfcnf.lua") + (("selfautodir:") out) + (("selfautoparent:") (string-append share "/"))) + ;; Set path to TeXLive Perl modules + (setenv "PERL5LIB" + (string-append (getenv "PERL5LIB") ":" tlpkg)) + ;; Configure the texmf-dist tree; inspired from + ;; http://slackbuilds.org/repository/13.37/office/texlive/ + (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) + (setenv "TEXMFCNF" texmfroot) + (system* "updmap-sys" "--nohash" "--syncwithtrees") + (system* "mktexlsr") + (system* "fmtutil-sys" "--all"))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete tree of texmf-dist data.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + +(define-public texlive + (package + (name "texlive") + (version "2015") + (source #f) + (build-system trivial-build-system) + (inputs `(("bash" ,bash) ; for wrap-program + ("texlive-bin" ,texlive-bin) + ("texlive-texmf" ,texlive-texmf))) + (arguments + `(#:modules ((guix build utils)) + #:builder + ;; Build the union of texlive-bin and texlive-texmf, but take the + ;; conflicting subdirectory share/texmf-dist from texlive-texmf. + (begin + (use-modules (guix build utils)) + (let ((out (assoc-ref %outputs "out")) + (bin (assoc-ref %build-inputs "texlive-bin")) + (texmf (assoc-ref %build-inputs "texlive-texmf")) + (bash (assoc-ref %build-inputs "bash"))) + (mkdir out) + (with-directory-excursion out + (for-each + (lambda (name) + (symlink (string-append bin "/" name) name)) + '("include" "lib")) + (mkdir "bin") + (with-directory-excursion "bin" + (setenv "PATH" (string-append bash "/bin")) + (for-each + (lambda (name) + (symlink name (basename name)) + (wrap-program + (basename name) + `("TEXMFCNF" = + (,(string-append texmf "/share/texmf-dist/web2c"))))) + (find-files (string-append bin "/bin/") ""))) + (mkdir "share") + (with-directory-excursion "share" + (for-each + (lambda (name) + (symlink (string-append bin "/share/" name) name)) + '("info" "man" "tlpkg")) + (for-each + (lambda (name) + (symlink (string-append texmf "/share/" name) name)) + '("texmf-dist" "texmf-var")))))))) + (synopsis "TeX Live, a package of the TeX typesetting system") + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains the complete TeX Live distribution.") + (license (license:fsf-free "http://tug.org/texlive/copying.html")) + (home-page "http://www.tug.org/texlive/"))) + + +;; texlive-texmf-minimal is a pruned, small version of the texlive tree, +;; in particular dropping documentation and fonts. +(define texlive-texmf-minimal + (package (inherit texlive-texmf) + (name "texlive-texmf-minimal") + (arguments + (substitute-keyword-arguments + (package-arguments texlive-texmf) + ((#:modules modules) + `((ice-9 ftw) + (srfi srfi-1) + ,@modules)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'prune + (lambda _ + (define (delete subdir exclude) + "Delete all files and directories in SUBDIR except for those +given in the list EXCLUDE." + (with-directory-excursion subdir + (for-each delete-file-recursively + (lset-difference equal? + (scandir ".") + (append '("." "..") + exclude))))) + (with-directory-excursion "texmf-dist" + (for-each delete-file-recursively + '("doc" "source" "tex4ht")) + ;; Delete all subdirectories of "fonts", except for "tfm" and + ;; any directories named "cm". + (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1")) + (delete "fonts/afm" '("public")) + (delete "fonts/afm/public" '("amsfonts")) + (delete "fonts/afm/public/amsfonts" '("cm")) + (delete "fonts/map" '("dvips")) + (delete "fonts/map/dvips" '("cm")) + (delete "fonts/source" '("public")) + (delete "fonts/source/public" '("cm")) + (delete "fonts/tfm" '("public")) + (delete "fonts/type1" '("public")) + (delete "fonts/type1/public" '("amsfonts")) + (delete "fonts/type1/public/amsfonts" '("cm"))) + #t)))))) + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains a small subset of the texmf-dist data."))) + + +;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal +;; instead of the full texlive-texmf. It can be used, for instance, as a +;; native input to packages that need texlive to build their documentation. +(define-public texlive-minimal + (package (inherit texlive) + (name "texlive-minimal") + (inputs + `(("texlive-texmf" ,texlive-texmf-minimal) + ,@(alist-delete "texlive-texmf" (package-inputs texlive)))) + (description + "TeX Live provides a comprehensive TeX document production system. +It includes all the major TeX-related programs, macro packages, and fonts +that are free software, including support for many languages around the +world. + +This package contains a small working part of the TeX Live distribution."))) + + +(define-public rubber + (package + (name "rubber") + (version "1.1") + (source (origin + (method url-fetch) + (uri (list (string-append "https://launchpad.net/rubber/trunk/" + version "/+download/rubber-" + version ".tar.gz") + (string-append "http://ebeffara.free.fr/pub/rubber-" + version ".tar.gz"))) + (sha256 + (base32 + "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ; no `check' target + (inputs `(("texinfo" ,texinfo) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) + ("which" ,which))) + (home-page "https://launchpad.net/rubber") + (synopsis "Wrapper for LaTeX and friends") + (description + "Rubber is a program whose purpose is to handle all tasks related to the +compilation of LaTeX documents. This includes compiling the document itself, +of course, enough times so that all references are defined, and running BibTeX +to manage bibliographic references. Automatic execution of dvips to produce +PostScript documents is also included, as well as usage of pdfLaTeX to produce +PDF documents.") + (license license:gpl2+))) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm deleted file mode 100644 index cbcb6c8..0000000 --- a/gnu/packages/texlive.scm +++ /dev/null @@ -1,389 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gnu packages texlive) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) - #:use-module (guix utils) - #:use-module (gnu packages) - #:use-module (gnu packages bash) - #:use-module (gnu packages compression) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages gd) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages gtk) - #:use-module (gnu packages icu4c) - #:use-module (gnu packages image) - #:use-module (gnu packages lua) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages pdf) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages ruby) - #:use-module (gnu packages tcsh) - #:use-module (gnu packages base) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages zip) - #:autoload (gnu packages texinfo) (texinfo) - #:use-module (ice-9 ftw) - #:use-module (srfi srfi-1)) - -(define texlive-extra-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-extra.tar.xz") - (sha256 (base32 - "1dkhhacga8h1v2m9xv1w02glbdda2m8lfp1la1y1zb9yjj8jsa6i")))) - -(define texlive-texmf-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150523-texmf.tar.xz") - (sha256 (base32 - "1a3hpcg6x69ysqx432v6sk4alg0x34813cwk41frmvzprdajpyqy")))) - -(define texlive-bin - (package - (name "texlive-bin") - (version "2015") - (source - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2015/texlive-20150521-source.tar.xz") - (sha256 (base32 - "0sa6kmz4jwhv6lw702gxszhhjkvw071wba0ngk1c76g8vixwv6zd")))) - (build-system gnu-build-system) - (inputs - `(("texlive-extra-src" ,texlive-extra-src) - ("cairo" ,cairo) - ("fontconfig" ,fontconfig) - ("fontforge" ,fontforge) - ("freetype" ,freetype) - ("gd" ,gd) - ("gmp" ,gmp) - ("ghostscript" ,ghostscript) - ("graphite2" ,graphite2) - ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c) - ("libpaper" ,libpaper) - ("libpng" ,libpng) - ("libxaw" ,libxaw) - ("libxt" ,libxt) - ("mpfr" ,mpfr) - ("perl" ,perl) - ("pixman" ,pixman) - ("poppler" ,poppler) - ("potrace" ,potrace) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("ruby" ,ruby) - ("tcsh" ,tcsh) - ("teckit" ,teckit) - ("zlib" ,zlib) - ("zziplib" ,zziplib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (arguments - `(#:out-of-source? #t - #:configure-flags - `("--disable-native-texlive-build" - "--with-system-cairo" - "--with-system-freetype2" - "--with-system-gd" - "--with-system-gmp" - "--with-system-graphite2" - "--with-system-harfbuzz" - "--with-system-icu" - "--with-system-libgs" - "--with-system-libpaper" - "--with-system-libpng" - "--with-system-mpfr" - "--with-system-pixman" - "--with-system-poppler" - "--with-system-potrace" - "--with-system-teckit" - "--with-system-xpdf" - "--with-system-zlib" - "--with-system-zziplib") - - ;; Disable tests on mips64 to cope with a failure of luajiterr.test. - ;; XXX FIXME fix luajit properly on mips64. - #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system) - (%current-system)))) - #:phases - (modify-phases %standard-phases - (add-after 'install 'postint - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texlive-extra (assoc-ref inputs "texlive-extra-src")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - ;; Create symbolic links for the latex variants and their - ;; man pages. - (with-directory-excursion (string-append out "/bin/") - (for-each symlink - '("pdftex" "pdftex" "xetex" "luatex") - '("latex" "pdflatex" "xelatex" "lualatex"))) - (with-directory-excursion (string-append share "/man/man1/") - (symlink "luatex.1" "lualatex.1")) - ;; Unpack texlive-extra and install tlpkg. - (mkdir "texlive-extra") - (with-directory-excursion "texlive-extra" - (apply unpack (list #:source texlive-extra)) - (apply patch-source-shebangs (list #:source texlive-extra)) - (system* "mv" "tlpkg" share)))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the binaries.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - -(define texlive-texmf - (package - (name "texlive-texmf") - (version "2015") - (source texlive-texmf-src) - (build-system gnu-build-system) - (inputs - `(("texlive-bin" ,texlive-bin) - ("lua" ,lua) - ("perl" ,perl) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("ruby" ,ruby) - ("tcsh" ,tcsh))) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - #:phases - (modify-phases (map (cut assq <> %standard-phases) - '(set-paths unpack patch-source-shebangs)) - (add-after 'patch-source-shebangs 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((share (string-append (assoc-ref outputs "out") "/share"))) - (mkdir-p share) - (system* "mv" "texmf-dist" share)))) - (add-after 'install 'texmf-config - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (texmfroot (string-append share "/texmf-dist/web2c")) - (texmfcnf (string-append texmfroot "/texmf.cnf")) - (texlive-bin (assoc-ref inputs "texlive-bin")) - (texbin (string-append texlive-bin "/bin")) - (tlpkg (string-append texlive-bin "/share/tlpkg"))) - ;; Register SHARE as TEXMFROOT in texmf.cnf. - (substitute* texmfcnf - (("TEXMFROOT = \\$SELFAUTOPARENT") - (string-append "TEXMFROOT = " share))) - ;; Register paths in texmfcnf.lua, needed for context. - (substitute* (string-append texmfroot "/texmfcnf.lua") - (("selfautodir:") out) - (("selfautoparent:") (string-append share "/"))) - ;; Set path to TeXLive Perl modules - (setenv "PERL5LIB" - (string-append (getenv "PERL5LIB") ":" tlpkg)) - ;; Configure the texmf-dist tree; inspired from - ;; http://slackbuilds.org/repository/13.37/office/texlive/ - (setenv "PATH" (string-append (getenv "PATH") ":" texbin)) - (setenv "TEXMFCNF" texmfroot) - (system* "updmap-sys" "--nohash" "--syncwithtrees") - (system* "mktexlsr") - (system* "fmtutil-sys" "--all"))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the complete tree of texmf-dist data.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - -(define-public texlive - (package - (name "texlive") - (version "2015") - (source #f) - (build-system trivial-build-system) - (inputs `(("bash" ,bash) ; for wrap-program - ("texlive-bin" ,texlive-bin) - ("texlive-texmf" ,texlive-texmf))) - (arguments - `(#:modules ((guix build utils)) - #:builder - ;; Build the union of texlive-bin and texlive-texmf, but take the - ;; conflicting subdirectory share/texmf-dist from texlive-texmf. - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (bin (assoc-ref %build-inputs "texlive-bin")) - (texmf (assoc-ref %build-inputs "texlive-texmf")) - (bash (assoc-ref %build-inputs "bash"))) - (mkdir out) - (with-directory-excursion out - (for-each - (lambda (name) - (symlink (string-append bin "/" name) name)) - '("include" "lib")) - (mkdir "bin") - (with-directory-excursion "bin" - (setenv "PATH" (string-append bash "/bin")) - (for-each - (lambda (name) - (symlink name (basename name)) - (wrap-program - (basename name) - `("TEXMFCNF" = - (,(string-append texmf "/share/texmf-dist/web2c"))))) - (find-files (string-append bin "/bin/") ""))) - (mkdir "share") - (with-directory-excursion "share" - (for-each - (lambda (name) - (symlink (string-append bin "/share/" name) name)) - '("info" "man" "tlpkg")) - (for-each - (lambda (name) - (symlink (string-append texmf "/share/" name) name)) - '("texmf-dist" "texmf-var")))))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the complete TeX Live distribution.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) - - -;; texlive-texmf-minimal is a pruned, small version of the texlive tree, -;; in particular dropping documentation and fonts. -(define texlive-texmf-minimal - (package (inherit texlive-texmf) - (name "texlive-texmf-minimal") - (arguments - (substitute-keyword-arguments - (package-arguments texlive-texmf) - ((#:modules modules) - `((ice-9 ftw) - (srfi srfi-1) - ,@modules)) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'prune - (lambda _ - (define (delete subdir exclude) - "Delete all files and directories in SUBDIR except for those -given in the list EXCLUDE." - (with-directory-excursion subdir - (for-each delete-file-recursively - (lset-difference equal? - (scandir ".") - (append '("." "..") - exclude))))) - (with-directory-excursion "texmf-dist" - (for-each delete-file-recursively - '("doc" "source" "tex4ht")) - ;; Delete all subdirectories of "fonts", except for "tfm" and - ;; any directories named "cm". - (delete "fonts" '("afm" "map" "pk" "source" "tfm" "type1")) - (delete "fonts/afm" '("public")) - (delete "fonts/afm/public" '("amsfonts")) - (delete "fonts/afm/public/amsfonts" '("cm")) - (delete "fonts/map" '("dvips")) - (delete "fonts/map/dvips" '("cm")) - (delete "fonts/source" '("public")) - (delete "fonts/source/public" '("cm")) - (delete "fonts/tfm" '("public")) - (delete "fonts/type1" '("public")) - (delete "fonts/type1/public" '("amsfonts")) - (delete "fonts/type1/public/amsfonts" '("cm"))) - #t)))))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small subset of the texmf-dist data."))) - - -;; texlive-minimal is the same as texlive, but using texlive-texmf-minimal -;; instead of the full texlive-texmf. It can be used, for instance, as a -;; native input to packages that need texlive to build their documentation. -(define-public texlive-minimal - (package (inherit texlive) - (name "texlive-minimal") - (inputs - `(("texlive-texmf" ,texlive-texmf-minimal) - ,@(alist-delete "texlive-texmf" (package-inputs texlive)))) - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains a small working part of the TeX Live distribution."))) - - -(define-public rubber - (package - (name "rubber") - (version "1.1") - (source (origin - (method url-fetch) - (uri (list (string-append "https://launchpad.net/rubber/trunk/" - version "/+download/rubber-" - version ".tar.gz") - (string-append "http://ebeffara.free.fr/pub/rubber-" - version ".tar.gz"))) - (sha256 - (base32 - "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq")))) - (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no `check' target - (inputs `(("texinfo" ,texinfo) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) - ("which" ,which))) - (home-page "https://launchpad.net/rubber") - (synopsis "Wrapper for LaTeX and friends") - (description - "Rubber is a program whose purpose is to handle all tasks related to the -compilation of LaTeX documents. This includes compiling the document itself, -of course, enough times so that all references are defined, and running BibTeX -to manage bibliographic references. Automatic execution of dvips to produce -PostScript documents is also included, as well as usage of pdfLaTeX to produce -PDF documents.") - (license license:gpl2+))) -- 2.8.3 [-- Attachment #2: 0002-gnu-Add-texmaker.patch --] [-- Type: text/x-patch, Size: 2761 bytes --] From 1a7e23191fe4371f6d65b04b839f5fbb464e054a Mon Sep 17 00:00:00 2001 From: Roel Janssen <roel@gnu.org> Date: Tue, 24 May 2016 21:23:31 +0200 Subject: [PATCH 2/2] gnu: Add texmaker. * gnu/packages/tex.scm (texmaker): New variable. --- gnu/packages/tex.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index eab85f1..c1ab8b3 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages ruby) #:use-module (gnu packages tcsh) #:use-module (gnu packages base) @@ -387,3 +389,40 @@ to manage bibliographic references. Automatic execution of dvips to produce PostScript documents is also included, as well as usage of pdfLaTeX to produce PDF documents.") (license license:gpl2+))) + +(define-public texmaker + (package + (name "texmaker") + (version "4.5") + (source (origin + (method url-fetch) + (uri (string-append "http://www.xm1math.net/texmaker/texmaker-" + version ".tar.bz2")) + (sha256 + (base32 + "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Qt has its own configuration utility. + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? (system* "qmake" + (string-append "PREFIX=" out) + (string-append "DESKTOPDIR=" out + "/share/applications") + (string-append "ICONDIR=" out "/share/pixmaps") + "texmaker.pro")))))))) + (inputs + `(("poppler-qt5" ,poppler-qt5) + ("qt" ,qt) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.xm1math.net/texmaker/") + (synopsis "LaTeX editor") + (description "Texmaker is a program that integrates many tools needed to +develop documents with LaTeX, in a single application.") + (license license:gpl2+))) -- 2.8.3 [-- Attachment #3: Type: text/plain, Size: 1647 bytes --] Ludovic Courtès writes: > Roel Janssen <roel@gnu.org> skribis: > >> From fc657a31b4a52628c09a0b634c49b71cce2230bc Mon Sep 17 00:00:00 2001 >> From: Roel Janssen <roel@gnu.org> >> Date: Tue, 24 May 2016 00:14:59 +0200 >> Subject: [PATCH 1/2] gnu: Rename texlive to tex. >> >> * gnu/local.mk (GNU_SYSTEM_MODULES): Rename texlive.scm to tex.scm. >> * gnu/packages/texlive.scm: Rename file to tex.scm. >> * gnu/packages/tex.scm: Renamed from texlive.scm. >> * gnu/packages/algebra.scm: Rename texlive to tex. > > Here I’d just put “Adjust accordingly.” > >> * gnu/packages/docbook.scm: Rename texlive to tex. >> * gnu/packages/engineering.scm: Rename texlive to tex. > > … and here “Likewise.” is enough. > > Apart from that LGTM! I've changed the commit message. Hopefully it's how you envisioned it should be. I modified the first line to be more clear about what is to be renamed (the module, not the package). This version of the patch also renames Efraim Flashner's recent addition of texlive in photo.scm. >> From f54915ab4ab70133adced8fd71649918e38ba659 Mon Sep 17 00:00:00 2001 >> From: Roel Janssen <roel@gnu.org> >> Date: Tue, 24 May 2016 00:16:05 +0200 >> Subject: [PATCH 2/2] gnu: Add texmaker. >> >> * gnu/packages/tex.scm (texmaker): New variable. > > OK. > > I think it would help now if you could access the repo directly. :-) > > What’s your Savannah account? Please make sure to upload your current > OpenPGP public key there. Thanks! My Savannah username is roelj. I've created a new PGP key and updated my account's public key accordingly. May I sign and push these patches? Kind regards, Roel Janssen ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-24 19:34 ` Roel Janssen @ 2016-05-26 7:56 ` Ludovic Courtès 2016-05-26 8:47 ` Roel Janssen 0 siblings, 1 reply; 14+ messages in thread From: Ludovic Courtès @ 2016-05-26 7:56 UTC (permalink / raw) To: Roel Janssen; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 641 bytes --] Hello! Roel Janssen <roel@gnu.org> skribis: > Ludovic Courtès writes: [...] >> I think it would help now if you could access the repo directly. :-) >> >> What’s your Savannah account? Please make sure to upload your current >> OpenPGP public key there. > > Thanks! My Savannah username is roelj. I've created a new PGP key and > updated my account's public key accordingly. Awesome, welcome! :-) Please see ‘HACKING’. If in doubt with Git or anything, don’t hesitate to ask. Also, make sure to sign commits that you push. > May I sign and push these patches? Yes, please! Cheers, Ludo’. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-26 7:56 ` Ludovic Courtès @ 2016-05-26 8:47 ` Roel Janssen 2016-05-26 16:15 ` Leo Famulari 0 siblings, 1 reply; 14+ messages in thread From: Roel Janssen @ 2016-05-26 8:47 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Guix-devel Ludovic Courtès writes: > Hello! > > Roel Janssen <roel@gnu.org> skribis: > >> Ludovic Courtès writes: > > [...] > >>> I think it would help now if you could access the repo directly. :-) >>> >>> What’s your Savannah account? Please make sure to upload your current >>> OpenPGP public key there. >> >> Thanks! My Savannah username is roelj. I've created a new PGP key and >> updated my account's public key accordingly. > > Awesome, welcome! :-) > > Please see ‘HACKING’. If in doubt with Git or anything, don’t hesitate > to ask. Also, make sure to sign commits that you push. > >> May I sign and push these patches? > > Yes, please! Pushed. Is there an interface other than the following command to verify the commits are signed?: git --no-pager log --show-signature -1 Thanks! Kind regards, Roel Janssen ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] gnu: Add texmaker. 2016-05-26 8:47 ` Roel Janssen @ 2016-05-26 16:15 ` Leo Famulari 0 siblings, 0 replies; 14+ messages in thread From: Leo Famulari @ 2016-05-26 16:15 UTC (permalink / raw) To: Roel Janssen; +Cc: Guix-devel On Thu, May 26, 2016 at 10:47:46AM +0200, Roel Janssen wrote: > Pushed. Is there an interface other than the following command to > verify the commits are signed?: > > git --no-pager log --show-signature -1 `git verify-commit` can be used to programmatically verify the signatures of commits. I sent an example of how to use it in the 'pre-push' hook attached to this message: http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00661.html ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2016-05-26 16:16 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-22 23:59 [PATCH] gnu: Add texmaker Roel Janssen 2016-05-23 17:59 ` Efraim Flashner 2016-05-23 18:12 ` Roel Janssen 2016-05-23 21:33 ` Ludovic Courtès 2016-05-23 22:19 ` Roel Janssen 2016-05-24 9:51 ` Ludovic Courtès 2016-05-24 10:08 ` Efraim Flashner 2016-05-24 10:11 ` Ben Woodcroft 2016-05-24 16:10 ` Leo Famulari 2016-05-25 21:58 ` Ludovic Courtès 2016-05-24 19:34 ` Roel Janssen 2016-05-26 7:56 ` Ludovic Courtès 2016-05-26 8:47 ` Roel Janssen 2016-05-26 16:15 ` Leo Famulari
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.