unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Roel Janssen <roel@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] gnu: Add texmaker.
Date: Tue, 24 May 2016 00:19:23 +0200	[thread overview]
Message-ID: <874m9owh78.fsf@gnu.org> (raw)
In-Reply-To: <878tz0mpdd.fsf@gnu.org>

[-- 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

  reply	other threads:[~2016-05-23 22:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874m9owh78.fsf@gnu.org \
    --to=roel@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).