[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
69/75: gnu: texlive-musixtnt: Build binary separately.
From: |
guix-commits |
Subject: |
69/75: gnu: texlive-musixtnt: Build binary separately. |
Date: |
Mon, 10 Jun 2024 12:24:53 -0400 (EDT) |
ngz pushed a commit to branch tex-team
in repository guix.
commit 944b638e56e59dcb3858a8e3d0acd2c314e855a8
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Tue May 28 21:44:18 2024 +0200
gnu: texlive-musixtnt: Build binary separately.
* gnu/packages/tex.scm (texlive-musixtnt-bin): New variable.
(texlive-musixtnt): Do not use prerex source. Make it a regular TeX Live
package instead.
[arguments]: Remove it.
[propagated-inputs]: Add TEXLIVE-MUSIXTNT-BIN.
Change-Id: I24bbdb6ba5cc2b5205e20db9fdeb1c00f08a9d82
---
gnu/packages/tex.scm | 126 ++++++++++++++++++++++++++++++++-------------------
1 file changed, 79 insertions(+), 47 deletions(-)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 7bf65979fe..1e9318a573 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -22902,34 +22902,7 @@ the older (Type 1 fonts only) bundle
@code{musixtex-t1fonts} obsolete.")
"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))
+ (propagated-inputs (list texlive-musixtex texlive-musixtnt-bin))
(home-page "https://ctan.org/pkg/musixtnt")
(synopsis
"MusiXTeX extension library enabling transformations of the effect of
@@ -22949,6 +22922,53 @@ example is extracting single-instrument parts from a
multi-instrument score.
source file. This should be used before using @code{\\TransformNotes}.")
(license license:gpl2)))
+(define-public texlive-musixtnt-bin
+ (package
+ (inherit texlive-bin)
+ (name "texlive-musixtnt-bin")
+ (source
+ (origin
+ (inherit texlive-source)
+ (modules '((guix build utils)
+ (ice-9 ftw)))
+ (snippet
+ #~(let ((delete-other-directories
+ (lambda (root keep)
+ (with-directory-excursion root
+ (for-each
+ delete-file-recursively
+ (scandir
+ "."
+ (lambda (file)
+ (and (not (member file (append keep '("." ".."))))
+ (eq? 'directory (stat:type (stat file)))))))))))
+ (delete-other-directories "libs" '())
+ (delete-other-directories "utils" '())
+ (delete-other-directories "texk" '("musixtnt"))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments texlive-bin)
+ ((#:configure-flags flags)
+ #~(cons "--enable-musixtnt" (delete "--enable-web2c" #$flags)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "texk/musixtnt"
+ (invoke "make" "check")))))
+ (replace 'install
+ (lambda _
+ (with-directory-excursion "texk/musixtnt"
+ (invoke "make" "install"))))))))
+ (native-inputs (list pkg-config))
+ (inputs (list texlive-libkpathsea))
+ (propagated-inputs '())
+ (home-page (package-home-page texlive-musixtnt))
+ (synopsis "Binary for @code{texlive-musixtnt}")
+ (description
+ "This package provides the binary for @code{texlive-musixtnt}.")
+ (license (package-license texlive-musixtnt))))
+
(define-public texlive-musuos
(package
(name "texlive-musuos")
@@ -73264,31 +73284,43 @@ handle complex tests.")
;; Texmf tree in TeX Live is incomplete, as it doesn't include
;; "xindy.mem", so it is not possible to use `texlive-origin'. This file
;; isn't build by default by `texlive-bin' either. Build it specially
- ;; from `texlive-bin' source instead.
- (inherit texlive-libkpathsea)
+ ;; from TEXLIVE-SOURCE instead.
+ (inherit texlive-bin)
(name "texlive-xindy")
- (version (number->string %texlive-revision))
- (outputs '("out" "doc"))
- (build-system gnu-build-system)
+ (source
+ (origin
+ (inherit texlive-source)
+ (modules '((guix build utils)
+ (ice-9 ftw)))
+ (snippet
+ #~(let ((delete-other-directories
+ (lambda (root dirs)
+ (with-directory-excursion root
+ (for-each
+ delete-file-recursively
+ (scandir "."
+ (lambda (file)
+ (and (not (member file (append '("." "..")
dirs)))
+ (eq? 'directory (stat:type (stat
file)))))))))))
+ (delete-other-directories "libs/" '())
+ (delete-other-directories "utils/" '("xindy"))
+ (delete-other-directories "texk/" '())))))
(arguments
- (substitute-keyword-arguments (package-arguments texlive-libkpathsea)
- ((#:out-of-source? _ #t) #t)
+ (substitute-keyword-arguments (package-arguments texlive-bin)
((#:configure-flags flags)
- #~(cons "--enable-xindy" (delete "--enable-kpathsea" #$flags)))
+ #~(cons "--enable-xindy" (delete "--enable-web2c" #$flags)))
((#:phases _)
#~(modify-phases %standard-phases
- (replace 'install
+ ;; Building documentation require to generate font metrics, but
+ ;; HOME and therefore TEXMFVAR are unavailable. Use a local
+ ;; TEXMFVAR instead.
+ (add-before 'build 'set-texmfvar
+ (lambda _
+ (setenv "TEXMFVAR" (string-append (getcwd) "/texmf-var"))))
+ ;; XXX: Install process does not create this directory.
+ (add-before 'install 'create-missing-directory
(lambda _
- (with-directory-excursion "utils/xindy/"
- (invoke "make")
- (mkdir-p (string-append #$output "/bin"))
- (invoke "make" "install")
- (let ((out (string-append #$output "/share"))
- (doc (string-append #$output:doc "/share/texmf-dist")))
- (mkdir-p doc)
- (with-directory-excursion doc
- (rename-file (string-append out "/texmf-dist/doc") "doc")
- (rename-file (string-append out "/man") "doc/man"))))))
+ (mkdir-p (string-append #$output "/bin"))))
(add-after 'install 'patch-clisp-location
(lambda* (#:key inputs #:allow-other-keys)
;; The scripts are encoded in ISO-8859-1 (or iso-latin-1).
- 62/75: gnu: texlive-kpathsea: Propagate the binaries., (continued)
- 62/75: gnu: texlive-kpathsea: Propagate the binaries., guix-commits, 2024/06/10
- 63/75: gnu: Add texlive-xml2pmx-bin., guix-commits, 2024/06/10
- 64/75: gnu: Add texlive-luajittex-bin., guix-commits, 2024/06/10
- 65/75: gnu: Add texlive-mflua-bin., guix-commits, 2024/06/10
- 71/75: gnu: texlive-xindy: Build binary separately., guix-commits, 2024/06/10
- 74/75: gnu: texlive-xits: Fix typo in description., guix-commits, 2024/06/10
- 68/75: gnu: texlive-dvipos: Build binaries separately., guix-commits, 2024/06/10
- 75/75: gnu: texlive-texdirflatten: Add missing Perl input., guix-commits, 2024/06/10
- 59/75: gnu: Add texlive-t1utils-bin., guix-commits, 2024/06/10
- 67/75: gnu: texlive-ps2pk: Build binaries separately., guix-commits, 2024/06/10
- 69/75: gnu: texlive-musixtnt: Build binary separately.,
guix-commits <=
- 70/75: gnu: texlive-axodraw2: Build binary separately., guix-commits, 2024/06/10
- 73/75: gnu: Update commentary section in "tex.scm"., guix-commits, 2024/06/10
- 72/75: gnu: texlive importer: Propagate binaries when necessary., guix-commits, 2024/06/10