[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-----

?
Your comment

This issue is archived.

To comment on this conversation send an email to 46885@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 46885
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch