summaryrefslogtreecommitdiff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm127
1 files changed, 78 insertions, 49 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 80ac9ea706..c87728f432 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -217,7 +217,7 @@ without requiring the source code to be rewritten.")
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
- (version "2.2.6")
+ (version "2.2.7")
(source (origin
(method url-fetch)
@@ -227,7 +227,7 @@ without requiring the source code to be rewritten.")
".tar.xz"))
(sha256
(base32
- "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"))
+ "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))
(modules '((guix build utils)))
(patches (search-patches
"guile-2.2-skip-oom-test.patch"))
@@ -250,31 +250,8 @@ without requiring the source code to be rewritten.")
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/2.2/site-ccache")))))))
-(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 "2.2.7")
- (source (origin
- (inherit (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-deprecated guile-2.2/bug-fix guile-2.2)
-(define-public guile-2.2/fixed
- ;; A package of Guile 2.2 that's rarely changed. It is the one used
- ;; in the `base' module, and thus changing it entails a full rebuild.
- (package
- (inherit guile-2.2)
- (properties '((hidden? . #t) ;people should install 'guile-2.2'
- (timeout . 72000) ;20 hours
- (max-silent-time . 36000))))) ;10 hours (needed on ARM
- ; when heavily loaded)
(define-public guile-2.2.4
(package/inherit
guile-2.2
@@ -291,7 +268,7 @@ without requiring the source code to be rewritten.")
;; This is the latest Guile stable version.
(package
(inherit guile-2.2)
- (name "guile-next") ;to be renamed to "guile"
+ (name "guile")
(version "3.0.1")
(source (origin
(inherit (package-source guile-2.2))
@@ -314,6 +291,16 @@ without requiring the source code to be rewritten.")
(define-public guile-next guile-3.0)
+(define-public guile-3.0/fixed
+ ;; A package of Guile that's rarely changed. It is the one used in the
+ ;; `base' module, and thus changing it entails a full rebuild.
+ (package
+ (inherit guile-3.0)
+ (properties '((hidden? . #t) ;people should install 'guile-2.2'
+ (timeout . 72000) ;20 hours
+ (max-silent-time . 36000))))) ;10 hours (needed on ARM
+ ; when heavily loaded)
+
(define* (make-guile-readline guile #:optional (name "guile-readline"))
(package
(name name)
@@ -371,10 +358,10 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(license license:gpl3+)))
(define-public guile-readline
- (make-guile-readline guile-2.2))
+ (make-guile-readline guile-3.0))
-(define-public guile3.0-readline
- (make-guile-readline guile-next "guile3.0-readline"))
+(define-public guile2.2-readline
+ (make-guile-readline guile-2.2 "guile2.2-readline"))
(define (guile-variant-package-name prefix)
(lambda (name)
@@ -391,9 +378,34 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(package-input-rewriting `((,guile-2.2 . ,guile-2.0))
(guile-variant-package-name "guile2.0")))
-(define package-for-guile-3.0
- (package-input-rewriting `((,guile-2.2 . ,guile-next))
- (guile-variant-package-name "guile3.0")))
+(define package-for-guile-2.2
+ (package-input-rewriting `((,guile-3.0 . ,guile-2.2))
+ (guile-variant-package-name "guile2.2")))
+
+(define-syntax define-deprecated-guile3.0-package
+ (lambda (s)
+ "Define a deprecated package alias for \"guile3.0-something\"."
+ (syntax-case s ()
+ ((_ name)
+ (and (identifier? #'name)
+ (string-prefix? "guile3.0-" (symbol->string (syntax->datum
+ #'name))))
+ (let ((->guile (lambda (str)
+ (let ((base (string-drop str
+ (string-length "guile3.0-"))))
+ (string-append "guile-" base)))))
+ (with-syntax ((package-name (symbol->string (syntax->datum #'name)))
+ (package
+ (datum->syntax
+ #'name
+ (string->symbol
+ (->guile (symbol->string (syntax->datum #'name)))))))
+ #'(begin
+ (define-deprecated name package
+ (deprecated-package package-name package))
+ (export name))))))))
+
+(define-deprecated-guile3.0-package guile3.0-readline)
(define-public guile-for-guile-emacs
(package (inherit guile-2.2)
@@ -488,10 +500,16 @@ specification. These are the main features:
version ".tar.gz"))
(sha256
(base32
- "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz"))))))
+ "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("guile" ,guile-3.0)))
+ (inputs `(("guile" ,guile-3.0)))))
+
+(define-public guile2.2-json
+ (package-for-guile-2.2 guile-json-3))
(define-public guile3.0-json
- (package-for-guile-3.0 guile-json-3))
+ (deprecated-package "guile3.0-json" guile-json-3))
;; There are two guile-gdbm packages, one using the FFI and one with
;; direct C bindings, hence the verbose name.
@@ -532,7 +550,7 @@ specification. These are the main features:
(assoc-ref inputs "gdbm"))))
#t)))))
(native-inputs
- `(("guile" ,guile-2.2)))
+ `(("guile" ,guile-3.0)))
(inputs
`(("gdbm" ,gdbm)))
(home-page "https://github.com/ijp/guile-gdbm")
@@ -545,8 +563,10 @@ Guile's foreign function interface.")
(define-public guile2.0-gdbm-ffi
(package-for-guile-2.0 guile-gdbm-ffi))
-(define-public guile3.0-gdbm-ffi
- (package-for-guile-3.0 guile-gdbm-ffi))
+(define-public guile2.2-gdbm-ffi
+ (package-for-guile-2.2 guile-gdbm-ffi))
+
+(define-deprecated-guile3.0-package guile3.0-gdbm-ffi)
(define-public guile-sqlite3
(package
@@ -562,6 +582,8 @@ Guile's foreign function interface.")
(base32
"1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp"))
(file-name (string-append name "-" version "-checkout"))
+ (patches
+ (search-patches "guile-sqlite3-fix-cross-compilation.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -574,9 +596,10 @@ Guile's foreign function interface.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
+ ("guile" ,guile-3.0)
("pkg-config" ,pkg-config)))
(inputs
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-3.0)
("sqlite" ,sqlite)))
(synopsis "Access SQLite databases from Guile")
(description
@@ -586,8 +609,10 @@ Guile's foreign function interface.")
(define-public guile2.0-sqlite3
(package-for-guile-2.0 guile-sqlite3))
-(define-public guile3.0-sqlite3
- (package-for-guile-3.0 guile-sqlite3))
+(define-public guile2.2-sqlite3
+ (package-for-guile-2.2 guile-sqlite3))
+
+(define-deprecated-guile3.0-package guile3.0-sqlite3)
(define-public guile-bytestructures
(package
@@ -619,9 +644,9 @@ Guile's foreign function interface.")
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
- ("guile" ,guile-2.2)))
+ ("guile" ,guile-3.0)))
(inputs
- `(("guile" ,guile-2.2)))
+ `(("guile" ,guile-3.0)))
(synopsis "Structured access to bytevector contents for Guile")
(description
"Guile bytestructures offers a system imitating the type system
@@ -635,8 +660,10 @@ type system, elevating types to first-class status.")
(define-public guile2.0-bytestructures
(package-for-guile-2.0 guile-bytestructures))
-(define-public guile3.0-bytestructures
- (package-for-guile-3.0 guile-bytestructures))
+(define-public guile2.2-bytestructures
+ (package-for-guile-2.2 guile-bytestructures))
+
+(define-deprecated-guile3.0-package guile3.0-bytestructures)
(define-public guile-git
(package
@@ -654,10 +681,10 @@ type system, elevating types to first-class status.")
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("guile" ,guile-2.2)
+ ("guile" ,guile-3.0)
("guile-bytestructures" ,guile-bytestructures)))
(inputs
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-3.0)
("libgit2" ,libgit2)))
(propagated-inputs
`(("guile-bytestructures" ,guile-bytestructures)))
@@ -667,8 +694,8 @@ type system, elevating types to first-class status.")
manipulate repositories of the Git version control system.")
(license license:gpl3+)))
-(define-public guile3.0-git
- (package-for-guile-3.0 guile-git))
+(define-public guile2.2-git
+ (package-for-guile-2.2 guile-git))
(define-public guile2.0-git
(let ((base (package-for-guile-2.0 guile-git)))
@@ -681,5 +708,7 @@ manipulate repositories of the Git version control system.")
,@(srfi-1:alist-delete "libgit2"
(package-inputs base)))))))
+(define-deprecated-guile3.0-package guile3.0-git)
+
;;; guile.scm ends here