~ruther/guix-local

68c4eab949fa40d055ace41be84780ef6ebbe643 — Nicolas Graves 6 months ago 6d48eaa
import: utils: Add API to peek procedure bodies.

* guix/import/utils.scm (peekable-lambda, peek-body): Add procedures.
* .dir-locals.el: Add peekable-lambda indentation.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2 files changed, 13 insertions(+), 0 deletions(-)

M .dir-locals.el
M guix/import/utils.scm
M .dir-locals.el => .dir-locals.el +1 -0
@@ 119,6 119,7 @@
   (eval . (put 'call-with-port 'scheme-indent-function 1))
   (eval . (put 'guard 'scheme-indent-function 1))
   (eval . (put 'lambda* 'scheme-indent-function 1))
   (eval . (put 'peekable-lambda 'scheme-indent-function 1))
   (eval . (put 'substitute* 'scheme-indent-function 1))
   (eval . (put 'match-record 'scheme-indent-function 3))
   (eval . (put 'match-record-lambda 'scheme-indent-function 2))

M guix/import/utils.scm => guix/import/utils.scm +12 -0
@@ 14,6 14,7 @@
;;; Copyright © 2022 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 66,6 67,9 @@
            url-fetch
            guix-hash-url

            peekable-lambda
            peek-body

            package-names->package-inputs
            maybe-inputs
            maybe-native-inputs


@@ 165,6 169,14 @@ thrown."
  "Return the hash of FILENAME in nix-base32 format."
  (bytevector->nix-base32-string (file-sha256 filename)))

(define-syntax-rule (peekable-lambda args this-body)
  (lambda args
    #((body . this-body))
    this-body))

(define (peek-body proc)
  (procedure-property proc 'body))

(define %spdx-license-identifiers
  ;; https://spdx.org/licenses/
  ;; The gfl1.0, nmap, repoze