mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-20 06:37:08 +01:00
gnu: racket: Racket inherits racket-minimal, not vice versa.
By design, the `racket` package is equivalent to 'racket-minimal' plus 'raco pkg install -i main-distribution'. This switch brings the Guix packages a small step closer to that goal. * gnu/packages/racket.scm (racket-minimal, racket): Change 'racket-minimal' to be the base package and 'racket' to inherit from it. Move 'version', 'patches', 'home-page', 'build-system', 'arguments', and 'license' to 'racket-minimal'. * gnu/packages/racket.scm (racket)[inputs]: Rather than copy and pasting, use '(package-inputs racket-minimal)'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
cd9454f6ed
commit
93867cb3be
1 changed files with 60 additions and 63 deletions
|
@ -47,23 +47,32 @@ (define-module (gnu packages racket)
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public racket
|
||||
(define-public racket-minimal
|
||||
(package
|
||||
(name "racket")
|
||||
(version "8.0") ; note: remember to also update racket-minimal!
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://mirror.racket-lang.org/installers/"
|
||||
version "/racket-src.tgz")
|
||||
;; this mirror seems to have broken HTTPS:
|
||||
(string-append
|
||||
"http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
|
||||
version "/racket-src.tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888"))
|
||||
(patches (search-patches
|
||||
"racket-sh-via-rktio.patch"))))
|
||||
(name "racket-minimal")
|
||||
(version "8.0") ; note: remember to also update racket!
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://mirror.racket-lang.org/installers/"
|
||||
version "/racket-minimal-src.tgz")
|
||||
;; this mirror seems to have broken HTTPS:
|
||||
(string-append
|
||||
"http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
|
||||
version "/racket-minimal-src.tgz")))
|
||||
(sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21")
|
||||
(patches (search-patches
|
||||
"racket-sh-via-rktio.patch"))))
|
||||
(home-page "https://racket-lang.org")
|
||||
(synopsis "Racket without bundled packages such as DrRacket")
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("sqlite" ,sqlite)
|
||||
("sh" ,bash-minimal)
|
||||
("zlib" ,zlib)
|
||||
("zlib:static" ,zlib "static")
|
||||
("lz4" ,lz4)
|
||||
("lz4:static" ,lz4 "static")))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -164,15 +173,41 @@ (define out (assoc-ref outputs "out"))
|
|||
"unixodbc"
|
||||
"libedit")))
|
||||
#t)))
|
||||
;; XXX: how to run them?
|
||||
;; Tests are in packages like racket-test-core and
|
||||
;; main-distribution-test that aren't part of the main distribution.
|
||||
#:tests? #f))
|
||||
(description
|
||||
"Racket is a general-purpose programming language in the Scheme family,
|
||||
with a large set of libraries and a compiler based on Chez Scheme. Racket is
|
||||
also a platform for language-oriented programming, from small domain-specific
|
||||
languages to complete language implementations.
|
||||
|
||||
The ``minimal Racket'' distribution includes just enough of Racket for you to
|
||||
use @command{raco pkg} to install more. Bundled packages, such as the
|
||||
DrRacket IDE, are not included.")
|
||||
;; https://download.racket-lang.org/license.html
|
||||
(license (list lgpl3+ asl2.0 expat))))
|
||||
|
||||
|
||||
(define-public racket
|
||||
(package/inherit
|
||||
racket-minimal
|
||||
(name "racket")
|
||||
(version (package-version racket-minimal)) ; needed for origin uri to work
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source racket-minimal))
|
||||
(uri (list (string-append "https://mirror.racket-lang.org/installers/"
|
||||
version "/racket-src.tgz")
|
||||
;; this mirror seems to have broken HTTPS:
|
||||
(string-append
|
||||
"http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
|
||||
version "/racket-src.tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888"))))
|
||||
(inputs
|
||||
`(;; sqlite and libraries for `racket/draw' are needed to build the doc.
|
||||
("sh" ,bash-minimal)
|
||||
("zlib" ,zlib)
|
||||
("zlib:static" ,zlib "static")
|
||||
("lz4" ,lz4)
|
||||
("lz4:static" ,lz4 "static")
|
||||
("cairo" ,cairo)
|
||||
("fontconfig" ,fontconfig)
|
||||
("glib" ,glib)
|
||||
|
@ -184,12 +219,10 @@ (define out (assoc-ref outputs "out"))
|
|||
("libx11" ,libx11)
|
||||
("mesa" ,mesa)
|
||||
("mpfr" ,mpfr)
|
||||
("openssl" ,openssl)
|
||||
("pango" ,pango)
|
||||
("sqlite" ,sqlite)
|
||||
("unixodbc" ,unixodbc)
|
||||
("libedit" ,libedit)))
|
||||
(home-page "https://racket-lang.org")
|
||||
("libedit" ,libedit)
|
||||
,@(package-inputs racket-minimal)))
|
||||
(synopsis "A programmable programming language in the Scheme family")
|
||||
(description
|
||||
"Racket is a general-purpose programming language in the Scheme family,
|
||||
|
@ -199,40 +232,4 @@ (define out (assoc-ref outputs "out"))
|
|||
|
||||
The main Racket distribution comes with many bundled packages, including the
|
||||
DrRacket IDE, libraries for GUI and web programming, and implementations of
|
||||
languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog.")
|
||||
;; https://download.racket-lang.org/license.html
|
||||
(license (list lgpl3+ asl2.0 expat))))
|
||||
|
||||
(define-public racket-minimal
|
||||
(package
|
||||
(inherit racket)
|
||||
(name "racket-minimal")
|
||||
(version (package-version racket))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source racket))
|
||||
(uri (list (string-append "https://mirror.racket-lang.org/installers/"
|
||||
version "/racket-minimal-src.tgz")
|
||||
;; this mirror seems to have broken HTTPS:
|
||||
(string-append
|
||||
"http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
|
||||
version "/racket-minimal-src.tgz")))
|
||||
(sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21")))
|
||||
(synopsis "Racket without bundled packages such as DrRacket")
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("sqlite" ,sqlite)
|
||||
("sh" ,bash-minimal)
|
||||
("zlib" ,zlib)
|
||||
("zlib:static" ,zlib "static")
|
||||
("lz4" ,lz4)
|
||||
("lz4:static" ,lz4 "static")))
|
||||
(description
|
||||
"Racket is a general-purpose programming language in the Scheme family,
|
||||
with a large set of libraries and a compiler based on Chez Scheme. Racket is
|
||||
also a platform for language-oriented programming, from small domain-specific
|
||||
languages to complete language implementations.
|
||||
|
||||
The ``minimal Racket'' distribution includes just enough of Racket for you to
|
||||
use @command{raco pkg} to install more. Bundled packages, such as the
|
||||
DrRacket IDE, are not included.")))
|
||||
languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog.")))
|
||||
|
|
Loading…
Reference in a new issue