summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-07-06 00:40:28 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-07-23 21:43:24 +0200
commit2541379ee452e98f38c7a004f70c28024a05589c (patch)
tree49f1ce06b2d1c1bc3102690e8c27b5a9c8f8a494
parentf97c9e4cfb82399d4a4b2fefea4a5ef18a82a768 (diff)
downloadguix-2541379ee452e98f38c7a004f70c28024a05589c.tar.gz
build-system/texlive: Add texlive-origin.
* guix/build-system/texlive.scm (texlive-origin): New procedure.
-rw-r--r--guix/build-system/texlive.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm
index b6a86a1c62..ad99d1e2d0 100644
--- a/guix/build-system/texlive.scm
+++ b/guix/build-system/texlive.scm
@@ -30,6 +30,7 @@
             texlive-build
             texlive-build-system
             texlive-ref
+            texlive-origin
             %texlive-tag
             %texlive-revision))
 
@@ -44,6 +45,20 @@
 (define %texlive-tag "texlive-2018.2")
 (define %texlive-revision 49435)
 
+(define (texlive-origin name version locations hash)
+  "Return an <origin> object for a TeX Live package consisting of multiple
+LOCATIONS with a provided HASH.  Use NAME and VERSION to compute a prettier
+name for the checkout directory."
+  (origin
+    (method svn-multi-fetch)
+    (uri (svn-multi-reference
+          (url (string-append "svn://www.tug.org/texlive/tags/"
+                              %texlive-tag "/Master/texmf-dist/"))
+          (locations locations)
+          (revision %texlive-revision)))
+    (file-name (string-append name "-" version "-checkout"))
+    (sha256 hash)))
+
 (define (texlive-ref component id)
   "Return a <svn-reference> object for the package ID, which is part of the
 given Texlive COMPONENT."