;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/2.2/site-ccache")))))))
-(define-public guile-2.2/bug-fix
- ;; This variant contains a bug fix for a relatively rare crash that could
+(define-public guile-2.2.7
+ ;; This version contains a bug fix for a relatively rare crash that could
;; affect shepherd as PID 1: <https://bugs.gnu.org/37757>.
(package
(inherit guile-2.2)
- (version (string-append (package-version guile-2.2) "-1"))
+ (version "2.2.7")
(source (origin
(inherit (package-source guile-2.2))
- (patches
- (append (search-patches "guile-finalization-crash.patch")
- (origin-patches (package-source guile-2.2))))))))
+ (uri (string-append "mirror://gnu/guile/guile-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))))))
+
+(define-deprecated guile-2.2/bug-fix guile-2.2.7)
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
(base32
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
-(define-public guile-next
- ;; This is the upcoming Guile 3.0, with JIT support.
+(define-public guile-3.0
+ ;; This is the latest Guile stable version.
(package
(inherit guile-2.2)
- (name "guile-next")
- (version "2.9.7")
+ (name "guile-next") ;to be renamed to "guile"
+ (version "3.0.2")
(source (origin
(inherit (package-source guile-2.2))
- (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
+ (uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
- "1dskpj8a2gl3h8si4virq8z4y06v9ywyadfa92gn2fiip2qmkw0d"))))
+ "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k"))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/3.0/site-ccache"
- "share/guile/site/3.0")))))
- (properties '((ftp-server . "alpha.gnu.org")
- (upstream-name . "guile")))))
+ "share/guile/site/3.0")))))))
+
+(define-public guile-next guile-3.0)
-(define (make-guile-readline guile)
+(define* (make-guile-readline guile #:optional (name "guile-readline"))
(package
- (name "guile-readline")
+ (name name)
(version (package-version guile))
(source (package-source guile))
(build-system gnu-build-system)
(define-public guile-readline
(make-guile-readline guile-2.2))
+(define-public guile3.0-readline
+ (make-guile-readline guile-next "guile3.0-readline"))
+
(define (guile-variant-package-name prefix)
(lambda (name)
"Return NAME with PREFIX instead of \"guile-\", when applicable."
(guile-variant-package-name "guile3.0")))
(define-public guile-for-guile-emacs
- (package (inherit guile-2.2)
- (name "guile-for-guile-emacs")
- (version "20150510.d8d9a8d")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.hcoop.net/git/bpt/guile.git")
- (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
- (arguments
- `(;; Tests aren't passing for now.
- ;; Obviously we should re-enable this!
- #:tests? #f
- ,@(package-arguments guile-2.2)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("flex" ,flex)
- ("texinfo" ,texinfo)
- ("gettext" ,gettext-minimal)
- ,@(package-native-inputs guile-2.2)))
- ;; Same as in guile-2.0
- (native-search-paths
- (list (search-path-specification
- (variable "GUILE_LOAD_PATH")
- (files '("share/guile/site/2.0")))
- (search-path-specification
- (variable "GUILE_LOAD_COMPILED_PATH")
- (files '("lib/guile/2.0/site-ccache"
- "share/guile/site/2.0")))))))
+ (let ((commit "15ca78482ac0dd2e3eb36dcb31765d8652d7106d")
+ (revision "1"))
+ (package (inherit guile-2.2)
+ (name "guile-for-guile-emacs")
+ (version (git-version "2.1.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.savannah.gnu.org/guile.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-2.2)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'bootstrap
+ (lambda _
+ ;; Disable broken tests.
+ ;; TODO: Fix them!
+ (substitute* "test-suite/tests/gc.test"
+ (("\\(pass-if \"after-gc-hook gets called\"" m)
+ (string-append "#;" m)))
+ (substitute* "test-suite/tests/version.test"
+ (("\\(pass-if \"version reporting works\"" m)
+ (string-append "#;" m)))
+ ;; Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
+ ;; FAIL: test-out-of-memory
+ (substitute* "test-suite/standalone/Makefile.am"
+ (("(check_SCRIPTS|TESTS) \\+= test-out-of-memory") ""))
+
+ (patch-shebang "build-aux/git-version-gen")
+ (invoke "sh" "autogen.sh")
+ #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ("gettext" ,gettext-minimal)
+ ,@(package-native-inputs guile-2.2))))))
\f
;;;
;; Deprecate the 'guile-json' alias to force the use 'guile-json-1' or
;; 'guile-json-3'. In the future, we may reuse 'guile-json' as an alias for
;; 'guile-json-3'.
-(define-deprecated guile-json
- guile-json-1
- guile-json-1)
+(define-deprecated guile-json guile-json-1)
(export guile-json)
(define-public guile2.0-json
(define-public guile-bytestructures
(package
(name "guile-bytestructures")
- (version "1.0.6")
+ (version "1.0.7")
+ (home-page "https://github.com/TaylanUB/scheme-bytestructures")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/TaylanUB/scheme-bytestructures"
- "/releases/download/v" version
- "/bytestructures-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "07dffrmc6cnw9mmw0pdrqlkbhzzpz0hm8p26z738l2j5i84dypnk"))))
+ "0q0habjiy3h9cigb7q1br9kz6z212dn2ab31f6dgd3rrmsfn5rvb"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
+
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (package ,(package-full-name this-package "-"))
+ (doc (string-append out "/share/doc/" package)))
+ (install-file "README.md" doc)
+ #t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.2)))
(inputs
`(("guile" ,guile-2.2)))
- (home-page "https://github.com/TaylanUB/scheme-bytestructures")
(synopsis "Structured access to bytevector contents for Guile")
(description
"Guile bytestructures offers a system imitating the type system
(define-public guile-git
(package
(name "guile-git")
- (version "0.2.0")
+ (version "0.3.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/guile-git/guile-git/uploads/"
+ "4c563d8e7e1ff84396abe8ca7011bcaf/guile-git-"
+ version ".tar.gz"))
(sha256
(base32
- "018hmfsh0rjwfvr4h7y10jc6k8a2k9xsirngghy3pjasin4nd2yz"))
- (file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Allow builds with Guile 3.0.
- (substitute* "configure.ac"
- (("^GUILE_PKG.*")
- "GUILE_PKG([3.0 2.2 2.0])\n"))
-
- ;; The 'guile.m4' that's shipped is too old and fails to
- ;; recognize Guile 2.9/3.0. Delete it and pick the one
- ;; provided by the Guile we're using.
- (delete-file "m4/guile.m4")
-
- #t))))
+ "0c5i3d16hp7gp9rd78vk9zc45js8bphf92m4lbb5gyi4l1yl7kkm"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("texinfo" ,texinfo)
- ("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.2)
+ ("guile-bytestructures" ,guile-bytestructures)))
(inputs
`(("guile" ,guile-2.2)
("libgit2" ,libgit2)))