diff options
author | aurtzy <aurtzy@gmail.com> | 2025-05-07 01:59:10 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-06-12 14:38:16 +0200 |
commit | 04d22ebc42b197fff2bb6241db7bc737311b6bba (patch) | |
tree | e917a42ffbedc71dc6fc57fbd0038c037f1037f2 | |
parent | fa84972de70ca6fb9fd2fbcb544af727f2d0e13e (diff) |
gnu: stb: Support defining deprecated header packages.
* gnu/packages/stb.scm (stb)[arguments]<#:phases>: Modify 'install phase to
include deprecated files in output.
(make-stb-header-package): Support `deprecated?' keyword argument.
(define-stb-header-package): Accept rest arguments and pass them to
make-stb-header-package.
Change-Id: I003dd5786e3bd22d00290d1935e21291e8529914
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/stb.scm | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/gnu/packages/stb.scm b/gnu/packages/stb.scm index 395959608d..827cdb85a4 100644 --- a/gnu/packages/stb.scm +++ b/gnu/packages/stb.scm @@ -60,12 +60,16 @@ #f ; (invoke "make" "-C" "tests" "CC=gcc") )) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (files (make-regexp "\\.(c|h|md)$"))) - (for-each (lambda (file) - (install-file file out)) - (scandir "." (cut regexp-exec files <>))) + (lambda _ + (let* ((files-rx (make-regexp "\\.(c|h|md)$")) + (include-file? (cut regexp-exec files-rx <>)) + (deprecated-output (string-append #$output "/deprecated"))) + (for-each (cut install-file <> #$output) + (scandir "." include-file?)) + (mkdir-p deprecated-output) + (with-directory-excursion "deprecated" + (for-each (cut install-file <> deprecated-output) + (scandir "." include-file?))) #t)))))) (synopsis "Single file libraries for C/C++") (description @@ -74,7 +78,7 @@ the C programming language.") ;; The user can choose either license. (license (list expat public-domain))))) -(define (make-stb-header-package name version description) +(define* (make-stb-header-package name version description #:key deprecated?) (package (inherit stb) (name name) @@ -88,19 +92,20 @@ the C programming language.") #:builder #~(begin (use-modules (guix build utils)) - (let ((stb #$(this-package-input "stb")) + (let ((headers-dir #$(file-append (this-package-input "stb") + (if deprecated? "/deprecated" ""))) (lib (string-join (string-split #$name #\-) "_")) (out #$output)) - (install-file (string-append stb "/" lib ".h") + (install-file (string-append headers-dir "/" lib ".h") (string-append out "/include")) #t)))) (description description))) (define-syntax define-stb-header-package (syntax-rules (description) - ((_ symbol name version (description text)) + ((_ symbol name version (description text) rest ...) (define-public symbol - (make-stb-header-package name version text))))) + (make-stb-header-package name version text rest ...))))) (define-stb-header-package stb-image "stb-image" "2.30" |