summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraurtzy <aurtzy@gmail.com>2025-05-07 01:59:10 -0400
committerLudovic Courtès <ludo@gnu.org>2025-06-12 14:38:16 +0200
commit04d22ebc42b197fff2bb6241db7bc737311b6bba (patch)
treee917a42ffbedc71dc6fc57fbd0038c037f1037f2
parentfa84972de70ca6fb9fd2fbcb544af727f2d0e13e (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.scm27
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"