guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/35: gnu: Add texlive-musixtnt.


From: guix-commits
Subject: 02/35: gnu: Add texlive-musixtnt.
Date: Thu, 17 Aug 2023 03:51:12 -0400 (EDT)

ngz pushed a commit to branch master
in repository guix.

commit d014c720636002189a6c22dd4d0ce820c8c89bfa
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Thu Aug 17 09:27:47 2023 +0200

    gnu: Add texlive-musixtnt.
    
    * gnu/packages/tex.scm (texlive-musixtnt): New variable.
---
 gnu/packages/tex.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 4b47719c2a..b93e07a0c5 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -9538,6 +9538,67 @@ acknowledged to be challenging to use directly: the 
@command{pmx} preprocessor
 compiles a simpler input language to MusiXTeX macros.")
     (license license:gpl2+)))
 
+(define-public texlive-musixtnt
+  (package
+    (name "texlive-musixtnt")
+    (version (number->string %texlive-revision))
+    (source (texlive-origin
+             name version
+             (list "doc/generic/musixtnt/"
+                   "doc/man/man1/msxlint.1"
+                   "doc/man/man1/msxlint.man1.pdf"
+                   "tex/generic/musixtnt/")
+             (base32
+              "0z1rfscla1hiibd0gs3lgf8x5yx19pmwdsbzvx2vvz0ikwgjglm9")))
+    (outputs '("out" "doc"))
+    (build-system texlive-build-system)
+    (arguments
+     (list
+      #:tests? #true
+      #:modules '((guix build texlive-build-system)
+                  ((guix build gnu-build-system) #:prefix gnu:)
+                  (guix build utils)
+                  (srfi srfi-1))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'unpack-musixtnt-source
+            (lambda _
+              (mkdir-p "build")
+              (with-directory-excursion "build"
+                (invoke "tar" "xvf"
+                        ;; Tarball includes a release date that we ignore.
+                        (first (find-files ".." "^musixtnt-.*\\.tar.gz"))
+                        "--strip-components=1"))))
+          (add-after 'unpack-prerex-source 'build-msxlint
+            (lambda args
+              (with-directory-excursion "build"
+                (for-each (lambda (phase)
+                            (apply (assoc-ref gnu:%standard-phases phase) 
args))
+                          '(configure
+                            build
+                            check
+                            install
+                            compress-documentation))))))))
+    (propagated-inputs (list texlive-musixtex))
+    (home-page "https://ctan.org/pkg/musixtnt";)
+    (synopsis
+     "MusiXTeX extension library enabling transformations of the effect of
+notes commands")
+    (description
+     "This archive contains a MusiXTeX extension library @file{musixtnt.tex}
+and a program, @command{msxlint}.
+
+@file{musixtnt.tex} provides a macro @code{\\TransformNotes} that enables
+transformations of the effect of notes commands such as @code{\\notes}.  In
+general, the effect of @code{\\TransformNotes@{input@}@{output@}} is that
+notes commands in the source will expect their arguments to match the input
+pattern, but the notes will be typeset according to the output pattern.  An
+example is extracting single-instrument parts from a multi-instrument score.
+
+@command{msxlint} detects incorrectly formatted notes lines in a MusiXTeX
+source file.  This should be used before using @code{\\TransformNotes}.")
+    (license license:gpl2)))
+
 (define-public texlive-mwcls
   (package
     (name "texlive-mwcls")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]