[PATCH] gnu: artanis: Update to 0.5.

  • Done
  • quality assurance status badge
Details
4 participants
  • Arun Isaac
  • jgart
  • Léo Le Bouter
  • Ludovic Courtès
Owner
unassigned
Submitted by
Léo Le Bouter
Severity
normal
L
L
Léo Le Bouter wrote on 3 Mar 2021 02:15
(address . guix-patches@gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210303011502.15822-1-lle-bout@zaclys.net
* gnu/packages/guile-xyz.scm (artanis): Update to 0.5.
[inputs]: Remove guile-2.2; add guile-3.0-latest and nspr.
[propagated-inputs]: Remove guile-json-1, guile2.2-readline, and guile2.2-redis; add guile-json-3, guile-readline, and guile-redis.
---
gnu/packages/guile-xyz.scm | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)

Toggle diff (89 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 45b3a82d00..9b3e0b04ec 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -122,14 +122,14 @@
(define-public artanis
(package
(name "artanis")
- (version "0.4.1")
+ (version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
- "0nnmdfx5xwcc3kck64var7msz7g3qk817d7bv9l159nkmic0v9w4"))
+ "1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -161,16 +161,17 @@
#t))))
(build-system gnu-build-system)
(inputs
- `(("guile" ,guile-2.2)
- ("nss" ,nss)))
+ `(("guile" ,guile-3.0-latest)
+ ("nss" ,nss)
+ ("nspr" ,nspr)))
;; FIXME the bundled csv contains one more exported procedure
;; (sxml->csv-string) than guile-csv. The author is maintainer of both
;; projects.
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(propagated-inputs
- `(("guile-json" ,guile-json-1) ; This is already using guile-2.2.
- ("guile-readline" ,guile2.2-readline)
- ("guile-redis" ,guile2.2-redis)))
+ `(("guile-json" ,guile-json-3)
+ ("guile-readline" ,guile-readline)
+ ("guile-redis" ,guile-redis)))
(native-inputs
`(("bash" ,bash) ;for the `source' builtin
("pkgconfig" ,pkg-config)
@@ -179,8 +180,8 @@
'(#:make-flags
;; TODO: The documentation must be built with the `docs' target.
(let* ((out (assoc-ref %outputs "out"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
+ (scm (string-append out "/share/guile/site/3.0"))
+ (go (string-append out "/lib/guile/3.0/site-ccache")))
;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" scm)
(string-append "MOD_COMPILED_PATH=" go)))
@@ -193,7 +194,7 @@
(("\\(%site-dir\\)")
(string-append "\""
(assoc-ref outputs "out")
- "/share/guile/site/2.2\"")))))
+ "/share/guile/site/3.0\"")))))
(add-after 'unpack 'patch-reference-to-libnss
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "artanis/security/nss.scm"
@@ -201,6 +202,11 @@
(string-append
"ffi-binding \""
(assoc-ref inputs "nss") "/lib/nss/libnss3.so"
+ "\""))
+ (("ffi-binding \"libssl3\"")
+ (string-append
+ "ffi-binding \""
+ (assoc-ref inputs "nss") "/lib/nss/libssl3.so"
"\"")))
#t))
(add-before 'install 'substitute-root-dir
@@ -216,8 +222,8 @@
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
+ (scm (string-append out "/share/guile/site/3.0"))
+ (go (string-append out "/lib/guile/3.0/site-ccache")))
(wrap-program (string-append bin "/art")
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
--
2.30.1
L
L
Ludovic Courtès wrote on 17 Mar 2021 22:31
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)(address . 46885@debbugs.gnu.org)
87k0q5xyau.fsf@gnu.org
Hi,

Léo Le Bouter <lle-bout@zaclys.net> skribis:

Toggle quote (5 lines)
> * gnu/packages/guile-xyz.scm (artanis): Update to 0.5.
> [inputs]: Remove guile-2.2; add guile-3.0-latest and nspr.
> [propagated-inputs]: Remove guile-json-1, guile2.2-readline, and guile2.2-redis; add guile-json-3, guile-readline, and guile-redis.


[...]

Toggle quote (5 lines)
> (inputs
> - `(("guile" ,guile-2.2)
> - ("nss" ,nss)))
> + `(("guile" ,guile-3.0-latest)

Just ‘guile-3.0’ (unless there’s a good reason to use
‘guile-3.0-latest’?).

Otherwise LGTM!

Toggle quote (15 lines)
> (let* ((out (assoc-ref %outputs "out"))
> - (scm (string-append out "/share/guile/site/2.2"))
> - (go (string-append out "/lib/guile/2.2/site-ccache")))
> + (scm (string-append out "/share/guile/site/3.0"))
> + (go (string-append out "/lib/guile/3.0/site-ccache")))
> ;; Don't use (%site-dir) for site paths.
> (list (string-append "MOD_PATH=" scm)
> (string-append "MOD_COMPILED_PATH=" go)))
> @@ -193,7 +194,7 @@
> (("\\(%site-dir\\)")
> (string-append "\""
> (assoc-ref outputs "out")
> - "/share/guile/site/2.2\"")))))
> + "/share/guile/site/3.0\"")))))

[...]

Toggle quote (5 lines)
> - (scm (string-append out "/share/guile/site/2.2"))
> - (go (string-append out "/lib/guile/2.2/site-ccache")))
> + (scm (string-append out "/share/guile/site/3.0"))
> + (go (string-append out "/lib/guile/3.0/site-ccache")))

Perhaps for a separate patch, but it would be best to avoid hardcoding
the Guile effective version number.

The other packages show how to accomplish this. Ideally, Makefile.am &
co. would refer to $(GUILE_EFFECTIVE_VERSION). When that’s not the case
(yet), we can patch them to do so, as is done for several packages in
guile-xyz.scm.

Thanks,
Ludo’.
A
A
Arun Isaac wrote on 24 Aug 2021 22:33
[PATCH v2 0/2] Update artanis to 0.5
(name . Ludovic Courtès)(address . ludo@gnu.org)
20210824203308.8402-1-arunisaac@systemreboot.net
Hi Ludo,

I incorporated your suggestions and finished this patchset. I'll push to
master if it looks good.

Thanks,
Arun

Arun Isaac (1):
gnu: artanis: Remove hard-coded guile effective version.

Léo Le Bouter (1):
gnu: artanis: Update to 0.5.

gnu/packages/guile-xyz.scm | 52 ++++++++++++++++++++++++--------------
1 file changed, 33 insertions(+), 19 deletions(-)

--
2.32.0
A
A
Arun Isaac wrote on 24 Aug 2021 22:33
[PATCH v2 1/2] gnu: artanis: Remove hard-coded guile effective version.
(name . Ludovic Courtès)(address . ludo@gnu.org)
20210824203308.8402-2-arunisaac@systemreboot.net
* gnu/packages/guile-xyz.scm (artanis)[arguments]: Import
target-guile-effective-version from (guix build guile-build-system). Use
target-guile-effective-version to determine the guile effective version.
---
gnu/packages/guile-xyz.scm | 27 ++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index db31ada7b9..5f457d8ae4 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
@@ -182,11 +182,20 @@
("pkgconfig" ,pkg-config)
("util-linux" ,util-linux))) ;for the `script' command
(arguments
- '(#:make-flags
+ `(#:modules (((guix build guile-build-system)
+ #:select (target-guile-effective-version))
+ ,@%gnu-build-system-modules)
+ #:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:make-flags
;; TODO: The documentation must be built with the `docs' target.
(let* ((out (assoc-ref %outputs "out"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
+ ;; We pass guile explicitly here since this executes before the
+ ;; set-paths phase and therefore guile is not yet in PATH.
+ (effective-version (target-guile-effective-version
+ (assoc-ref %build-inputs "guile")))
+ (scm (string-append out "/share/guile/site/" effective-version))
+ (go (string-append out "/lib/guile/" effective-version "/site-ccache")))
;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" scm)
(string-append "MOD_COMPILED_PATH=" go)))
@@ -199,7 +208,9 @@
(("\\(%site-dir\\)")
(string-append "\""
(assoc-ref outputs "out")
- "/share/guile/site/2.2\"")))))
+ "/share/guile/site/"
+ (target-guile-effective-version)
+ "\"")))))
(add-after 'unpack 'patch-reference-to-libnss
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "artanis/security/nss.scm"
@@ -221,9 +232,11 @@
(add-after 'install 'wrap-art
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
+ (effective-version (target-guile-effective-version))
(bin (string-append out "/bin"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
+ (scm (string-append out "/share/guile/site/" effective-version))
+ (go (string-append out "/lib/guile/" effective-version
+ "/site-ccache")))
(wrap-program (string-append bin "/art")
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
--
2.32.0
A
A
Arun Isaac wrote on 24 Aug 2021 22:33
[PATCH v2 2/2] gnu: artanis: Update to 0.5.
(name . Ludovic Courtès)(address . ludo@gnu.org)
20210824203308.8402-3-arunisaac@systemreboot.net
From: Léo Le Bouter <lle-bout@zaclys.net>

* gnu/packages/guile-xyz.scm (artanis): Update to 0.5.
[inputs]: Replace guile-2.2 with guile-3.0. Add nspr.
[propagated-inputs]: Replace guile-json-1 with guile-json-3, guile2.2-readline
with guile-readline, and guile2.2-redis with guile-redis.
[arguments]: Do not return #t from custom phases.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
---
gnu/packages/guile-xyz.scm | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 5f457d8ae4..06576fd7dc 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -128,14 +128,14 @@
(define-public artanis
(package
(name "artanis")
- (version "0.4.1")
+ (version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
- "0nnmdfx5xwcc3kck64var7msz7g3qk817d7bv9l159nkmic0v9w4"))
+ "1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -167,16 +167,17 @@
#t))))
(build-system gnu-build-system)
(inputs
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-3.0)
+ ("nspr" ,nspr)
("nss" ,nss)))
;; FIXME the bundled csv contains one more exported procedure
;; (sxml->csv-string) than guile-csv. The author is maintainer of both
;; projects.
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(propagated-inputs
- `(("guile-json" ,guile-json-1) ; This is already using guile-2.2.
- ("guile-readline" ,guile2.2-readline)
- ("guile-redis" ,guile2.2-redis)))
+ `(("guile-json" ,guile-json-3)
+ ("guile-readline" ,guile-readline)
+ ("guile-redis" ,guile-redis)))
(native-inputs
`(("bash" ,bash) ;for the `source' builtin
("pkgconfig" ,pkg-config)
@@ -218,8 +219,10 @@
(string-append
"ffi-binding \""
(assoc-ref inputs "nss") "/lib/nss/libnss3.so"
- "\"")))
- #t))
+ "\""))
+ (("ffi-binding \"libssl3\"")
+ (string-append
+ "ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libssl3.so\"")))))
(add-before 'install 'substitute-root-dir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -227,8 +230,7 @@
((" /etc/bash.bashrc") " /dev/null"))
(substitute* "Makefile" ;set the root of config files to OUT
((" /etc") (string-append " " out "/etc")))
- (mkdir-p (string-append out "/bin")) ;for the `art' executable
- #t)))
+ (mkdir-p (string-append out "/bin")) )))
(add-after 'install 'wrap-art
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -241,8 +243,7 @@
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
- #t))))))
+ (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
(synopsis "Web application framework written in Guile")
(description "GNU Artanis is a web application framework written in Guile
Scheme. A web application framework (WAF) is a software framework that is
--
2.32.0
L
L
Ludovic Courtès wrote on 30 Aug 2021 12:08
Re: [PATCH v2 0/2] Update artanis to 0.5
(name . Arun Isaac)(address . arunisaac@systemreboot.net)(address . 46885@debbugs.gnu.org)
87ilznckj2.fsf@gnu.org
Hello Arun,

Arun Isaac <arunisaac@systemreboot.net> skribis:

Toggle quote (12 lines)
> I incorporated your suggestions and finished this patchset. I'll push to
> master if it looks good.
>
> Thanks,
> Arun
>
> Arun Isaac (1):
> gnu: artanis: Remove hard-coded guile effective version.
>
> Léo Le Bouter (1):
> gnu: artanis: Update to 0.5.

LGTM, thanks!

Ludo’.
A
A
Arun Isaac wrote on 1 Sep 2021 14:01
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 46885-done@debbugs.gnu.org)
87k0k0o67q.fsf@systemreboot.net
Toggle quote (2 lines)
> LGTM, thanks!

Pushed to master!
-----BEGIN PGP SIGNATURE-----

iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmEva4kbHGFydW5pc2Fh
Y0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuz2XgH/3FOKDtm2kWD0fNTlxJO
6VNYH6GMF94H7waHnfy3AiaIKJg6A/T8Pi3sDP2+3qai7YI5NNZQB2FwFeF56xfe
eebaGPT/VMD1h1Cvq8rZE/XmiXRwIQSB8qgekFC/qTpcAPmWkgl0rXxmlX+xQ7a4
yKQ5pBR6nL2jZQVkCyXfICMDwQcwWCwHDzgUfrIKYp6XaoKLTsc2IcdJHcR88naO
EbbBPg16e7W0uuCuXOzlEMwXZ1KZBaOqqjLVYsEOEiFFUZIPBN37ZDH1x2amXxTy
cjng7ZZnTG/APsaKQ/Hi2gJBdDPJvrg/Jrtzm5B/e7+CQuu321r1vf8bMSI5tvI+
0sc=
=VMN8
-----END PGP SIGNATURE-----

Closed
J
J
jgart wrote on 1 Sep 2021 14:38
Thanks!
(address . 46885@debbugs.gnu.org)
20210901083854.GB13894@gac.attlocal.net
Thanks for closing this one and upgrading artanis. This was on my Guix TODO list.

_________________________________________
/ 3B1D 7F19 E36B B60C 0F5B 2CA9 A52A A2B4 \
\ 77B6 DD35 /
-----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
A
A
Arun Isaac wrote on 2 Sep 2021 07:52
87ilzjmsm6.fsf@systemreboot.net
Toggle quote (3 lines)
> Thanks for closing this one and upgrading artanis. This was on my Guix
> TODO list.

Happy to help! :-)
-----BEGIN PGP SIGNATURE-----

iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmEwZqIbHGFydW5pc2Fh
Y0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuz19sH/2Fa6KOThrCHWdIn7jwY
XxP+L4PysTzYZUBl1a3/tkfbwF1t5VUxBi80dVbuEekY7c3IqjqemSwpJ856VATX
nhcOGU3X3j9k/RAFmpiC9v4PxQksTD4060nx+qH2rfFHFNENE4dMnfwm+GmM4eJs
xMQWHg9HMLOYVrZIrChBqUikTzMnL/CLONhMa5Ct6aE2SWkVxiiHOq8mEUQPdisS
BKHABuiWOg5PpvyL3Rf8ppfT2n4ZCl01jXq5ImTw0YEwaMlO8UoVrmqaJCg0LFxi
Fmb98SaFbYTj51r7eR7vs5BOFv2F54SEx3OSpLF8MkEvwcC6IXnNsgkaApk884do
dh4=
=6+wx
-----END PGP SIGNATURE-----

?