gnu: racket-minimal: Adjust indentation.

* gnu/packages/racket.scm (racket-minimal-bc-cgc): Use 'hidden-package'
rather than 'properties'.
(racket-minimal-bc-3m): Remove redundant 'hidden-package' wrapper.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
Philip McGrath 2022-02-27 16:29:03 -05:00 committed by Liliana Marie Prikler
parent daa91a49b2
commit ec031b3cf3
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -173,84 +173,87 @@
(define-public racket-minimal-bc-cgc (define-public racket-minimal-bc-cgc
(package ;; Eventually, it may make sense for some vm packages to not be hidden,
(name "racket-minimal-bc-cgc") ;; but this one is especially likely to remain hidden.
(version %racket-version) (hidden-package
(source %racket-origin) (package
(inputs (name "racket-minimal-bc-cgc")
(list (version %racket-version)
;; common to all racket-minimal variants: (source %racket-origin)
openssl (inputs
sqlite (list
bash-minimal ;; <- for `system` ;; common to all racket-minimal variants:
ncurses ;; <- for #%terminal openssl
;; only for BC variants: sqlite
libffi)) bash-minimal ;; <- for `system`
(native-inputs (list libtool)) ;; <- only for BC variants ncurses ;; <- for #%terminal
(build-system gnu-build-system) ;; only for BC variants:
(arguments libffi))
(list (native-inputs (list libtool)) ;; <- only for BC variants
#:configure-flags (build-system gnu-build-system)
#~(cons* "--enable-cgcdefault" (arguments
#$(racket-vm-common-configure-flags)) (list
;; Tests are in packages like racket-test-core and #:configure-flags
;; main-distribution-test that aren't part of the main #~(cons* "--enable-cgcdefault"
;; distribution. #$(racket-vm-common-configure-flags))
#:tests? #f ;; Tests are in packages like racket-test-core and
;; Upstream recommends #:out-of-source?, and it does ;; main-distribution-test that aren't part of the main
;; help with debugging, but it confuses `install-license-files`. ;; distribution.
#:modules '((ice-9 match) #:tests? #f
(ice-9 regex) ;; Upstream recommends #:out-of-source?, and it does
(guix build gnu-build-system) ;; help with debugging, but it confuses `install-license-files`.
(guix build utils)) #:modules '((ice-9 match)
#:phases (ice-9 regex)
#~(modify-phases %standard-phases (guix build gnu-build-system)
(add-before 'configure 'initialize-config.rktd (guix build utils))
(lambda* (#:key inputs #:allow-other-keys) #:phases
(define (write-racket-hash alist) #~(modify-phases %standard-phases
;; inside must use dotted pair notation (add-before 'configure 'initialize-config.rktd
(display "#hash(") (lambda* (#:key inputs #:allow-other-keys)
(for-each (match-lambda (define (write-racket-hash alist)
((k . v) ;; inside must use dotted pair notation
(format #t "(~s . ~s)" k v))) (display "#hash(")
alist) (for-each (match-lambda
(display ")\n")) ((k . v)
(define maybe-release-catalog (format #t "(~s . ~s)" k v)))
(let ((v #$(package-version this-package))) alist)
(if (string-match "^[0-9]+\\.[0-9]+($|\\.[0-8][0-9]*$)" (display ")\n"))
v) (define maybe-release-catalog
`(,(string-append (let ((v #$(package-version this-package)))
"https://download.racket-lang.org/releases/" (if (string-match "^[0-9]+\\.[0-9]+($|\\.[0-8][0-9]*$)"
v v)
"/catalog/")) `(,(string-append
'()))) "https://download.racket-lang.org/releases/"
(mkdir-p "racket/etc") v
(with-output-to-file "racket/etc/config.rktd" "/catalog/"))
(lambda () '())))
(write-racket-hash (mkdir-p "racket/etc")
`((lib-search-dirs (with-output-to-file "racket/etc/config.rktd"
. (#f #$(file-append (this-package-input "openssl") "/lib") (lambda ()
#$(file-append (this-package-input "sqlite") "/lib"))) (write-racket-hash
(build-stamp . "") `((lib-search-dirs
(catalogs ,@maybe-release-catalog . (#f #$(file-append (this-package-input "openssl") "/lib")
#f))))))) #$(file-append (this-package-input "sqlite") "/lib")))
(add-before 'configure 'chdir (build-stamp . "")
(lambda _ (catalogs ,@maybe-release-catalog
(chdir "racket/src"))) #f)))))))
(add-after 'install 'remove-pkgs-directory (add-before 'configure 'chdir
;; If the configured pkgs-dir exists, "pkgs.rktd" does not (lambda _
;; exist, and a lock file does not exist, commands like (chdir "racket/src")))
;; `raco pkg show` will try to create a lock file and fail (add-after 'install 'remove-pkgs-directory
;; due to the read-only store. ;; If the configured pkgs-dir exists, "pkgs.rktd" does not
;; Arguably this may be a bug in `pkg/private/lock`: ;; exist, and a lock file does not exist, commands like
;; see <https://github.com/racket/racket/issues/3851>. ;; `raco pkg show` will try to create a lock file and fail
;; As a workaround, remove the directory. ;; due to the read-only store.
(lambda args ;; Arguably this may be a bug in `pkg/private/lock`:
;; rmdir because we want an error if it isn't empty ;; see <https://github.com/racket/racket/issues/3851>.
(rmdir (string-append #$output "/share/racket/pkgs"))))))) ;; As a workaround, remove the directory.
(home-page "https://racket-lang.org") (lambda args
(synopsis "Old Racket implementation used for bootstrapping") ;; rmdir because we want an error if it isn't empty
(description "This variant of the Racket BC (``before Chez'' or (rmdir (string-append #$output "/share/racket/pkgs")))))))
(home-page "https://racket-lang.org")
(synopsis "Old Racket implementation used for bootstrapping")
(description "This variant of the Racket BC (``before Chez'' or
``bytecode'') implementation is not recommended for general use. It uses ``bytecode'') implementation is not recommended for general use. It uses
CGC (a ``Conservative Garbage Collector''), which was succeeded as default in CGC (a ``Conservative Garbage Collector''), which was succeeded as default in
PLT Scheme version 370 (which translates to 3.7 in the current versioning PLT Scheme version 370 (which translates to 3.7 in the current versioning
@ -260,28 +263,24 @@ Racket CS implementation.
Racket BC [CGC] is primarily used for bootstrapping Racket BC [3M]. It may Racket BC [CGC] is primarily used for bootstrapping Racket BC [3M]. It may
also be used for embedding applications without the annotations needed in C also be used for embedding applications without the annotations needed in C
code to use the 3M garbage collector.") code to use the 3M garbage collector.")
;; https://download.racket-lang.org/license.html ;; https://download.racket-lang.org/license.html
;; The LGPL components are only used by Racket BC. ;; The LGPL components are only used by Racket BC.
(license (list license:lgpl3+ license:asl2.0 license:expat)) (license (list license:lgpl3+ license:asl2.0 license:expat)))))
;; Eventually, it may make sense for some vm packages to not be hidden,
;; but this one is especially likely to remain hidden.
(properties `((hidden? . #t)))))
(define-public racket-minimal-bc-3m (define-public racket-minimal-bc-3m
(hidden-package (package
(package (inherit racket-minimal-bc-cgc)
(inherit racket-minimal-bc-cgc) (name "racket-minimal-bc-3m")
(name "racket-minimal-bc-3m") (native-inputs
(native-inputs (modify-inputs (package-native-inputs racket-minimal-bc-cgc)
(modify-inputs (package-native-inputs racket-minimal-bc-cgc) (prepend racket-minimal-bc-cgc)))
(prepend racket-minimal-bc-cgc))) (arguments
(arguments (substitute-keyword-arguments (package-arguments racket-minimal-bc-cgc)
(substitute-keyword-arguments (package-arguments racket-minimal-bc-cgc) ((#:configure-flags _ '())
((#:configure-flags _ '()) #~(cons "--enable-bconly"
#~(cons "--enable-bconly" #$(racket-vm-common-configure-flags)))))
#$(racket-vm-common-configure-flags))))) (synopsis "Minimal Racket with the BC [3M] runtime system")
(synopsis "Minimal Racket with the BC [3M] runtime system") (description "The Racket BC (``before Chez'' or ``bytecode'')
(description "The Racket BC (``before Chez'' or ``bytecode'')
implementation was the default before Racket 8.0. It uses a compiler written implementation was the default before Racket 8.0. It uses a compiler written
in C targeting architecture-independent bytecode, plus a JIT compiler on most in C targeting architecture-independent bytecode, plus a JIT compiler on most
platforms. Racket BC has a different C API and supports a slightly different platforms. Racket BC has a different C API and supports a slightly different
@ -290,9 +289,9 @@ on ``Chez Scheme'').
This package is the normal implementation of Racket BC with a precise garbage This package is the normal implementation of Racket BC with a precise garbage
collector, 3M (``Moving Memory Manager'').") collector, 3M (``Moving Memory Manager'').")
;; https://download.racket-lang.org/license.html ;; https://download.racket-lang.org/license.html
;; The LGPL components are only used by Racket BC. ;; The LGPL components are only used by Racket BC.
(license (list license:lgpl3+ license:asl2.0 license:expat))))) (license (list license:lgpl3+ license:asl2.0 license:expat))))
(define-public racket-minimal (define-public racket-minimal
(package (package