diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2021-01-14 17:20:08 +0000 |
---|---|---|
committer | Guillaume Le Vaillant <glv@posteo.net> | 2021-01-15 09:52:43 +0100 |
commit | 9717250da230f37a48bc17ab83641213e859b283 (patch) | |
tree | e0df05284dd0105d3c090d8335906e9aac566dc2 | |
parent | ef448aa3f6f29b62d0fe74e7c2883d230d3a72ad (diff) |
gnu: sbcl-postmodern: Update to 1.32.6.
* gnu/packages/lisp-xyz.scm (sbcl-postmodern): Update to 1.32.6.
[inputs]: Add cl-base64, cl-unicode, ironclad, local-time and uax-15.
[arguments]: Add cl-postgres, s-sql and simple-date to 'asd-systems'.
(ecl-postmodern)[arguments]: Add cl-postgres, s-sql and simple-date to
'asd-systems'. Update the 'fix-build' phase.
Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 114 |
1 files changed, 74 insertions, 40 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index da6a77b914..112d3dd5bb 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9170,40 +9170,53 @@ approach to templating.") (sbcl-package->ecl-package sbcl-cl-mysql)) (define-public sbcl-postmodern - (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") - (revision "1")) - (package - (name "sbcl-postmodern") - (version (git-version "1.19" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/marijnh/Postmodern") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd")))) - (build-system asdf-build-system/sbcl) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("closer-mop" ,sbcl-closer-mop) - ("global-vars" ,sbcl-global-vars) - ("md5" ,sbcl-md5) - ("split-sequence" ,sbcl-split-sequence) - ("usocket" ,sbcl-usocket))) - (arguments - ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, - ;; cl-postgres/tests and s-sql/tests. - `(#:tests? #f - #:asd-systems '("postmodern" - "simple-date/postgres-glue"))) - (synopsis "Common Lisp library for interacting with PostgreSQL") - (description - "@code{postmodern} is a Common Lisp library for interacting with + (package + (name "sbcl-postmodern") + (version "1.32.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marijnh/Postmodern") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bfx0hcb9wv47qd334xs0fpmisl75dpvasq1zai210s5wqg0km6d")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-base64" ,sbcl-cl-base64) + ("cl-unicode" ,sbcl-cl-unicode) + ("closer-mop" ,sbcl-closer-mop) + ("global-vars" ,sbcl-global-vars) + ("ironclad" ,sbcl-ironclad) + ("local-time" ,sbcl-local-time) + ("md5" ,sbcl-md5) + ("split-sequence" ,sbcl-split-sequence) + ("uax-15" ,sbcl-uax-15) + ("usocket" ,sbcl-usocket))) + (arguments + ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other + ;; step, some functionality in `local-time' prevents passing tests. + ;; Error: + ;; + ;; Can't create directory + ;; /gnu/store + ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9 + ;; /lib/common-lisp/sbcl/local-time/src/integration/ + ;; + `(#:tests? #f + #:asd-systems '("cl-postgres" + "s-sql" + "postmodern" + "simple-date" + "simple-date/postgres-glue"))) + (synopsis "Common Lisp library for interacting with PostgreSQL") + (description + "@code{postmodern} is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features: @itemize @@ -9213,9 +9226,27 @@ foreign libraries. @item A syntax for mixing SQL and Lisp code. @item Convenient support for prepared statements and stored procedures. @item A metaclass for simple database-access objects. -@end itemize\n") - (home-page "https://marijnhaverbeke.nl/postmodern/") - (license license:zlib)))) +@end itemize\n + +This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date + +@code{SIMPLE-DATE} is a very basic implementation of date and time objects, used +to support storing and retrieving time-related SQL types. It is not loaded by +default and you can use local-time (which has support for timezones) instead. + +@code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping +any Lisp values inside, and doing as much as possible of the work at compile +time. + +@code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL +server over a socket. + +@code{POSTMODERN} itself is a wrapper around these packages and provides higher +level functions, a very simple data access object that can be mapped directly to +database tables and some convient utilities. It then tries to put all these +things together into a convenient programming interface") + (home-page "https://marijnhaverbeke.nl/postmodern/") + (license license:zlib))) (define-public cl-postmodern (sbcl-package->cl-source-package sbcl-postmodern)) @@ -9225,15 +9256,18 @@ foreign libraries. (inherit (sbcl-package->ecl-package sbcl-postmodern)) (arguments `(#:tests? #f - #:asd-systems '("postmodern" + #:asd-systems '("cl-postgres" + "s-sql" + "postmodern" + "simple-date" "simple-date/postgres-glue") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ (substitute* "cl-postgres.asd" - (("\\) \"usocket\"") - " :ecl) \"usocket\"")) + ((":or :sbcl :allegro :ccl :clisp" all) + (string-append all " :ecl"))) #t))))))) (define-public sbcl-db3 |