diff options
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r-- | gnu/packages/guile.scm | 127 |
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 |