From: swedebugia <swedebugia@riseup.net>
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: "33932@debbugs.gnu.org" <33932@debbugs.gnu.org>
Subject: bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
Date: Thu, 3 Jan 2019 17:17:07 +0100 [thread overview]
Message-ID: <a143520a-3e9a-af5c-b324-84a33a06ff89@riseup.net> (raw)
In-Reply-To: <87o98yj7h8.fsf@mdc-berlin.de>
[-- Attachment #1: Type: text/plain, Size: 925 bytes --]
On 2019-01-03 12:39, Ricardo Wurmus wrote:
>
> Hi swedebugia,
>
>> From a7f0c26705aad362acc35e632bed2dcc9e32d004 Mon Sep 17 00:00:00 2001
>> From: swedebugia <swedebugia@riseup.net>
>> Date: Wed, 2 Jan 2019 23:47:07 +0100
>> Subject: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
>>
>> * gnu/packages/guile.scm (artanis): Move from here...
>> * gnu/packages/web.scm (artanis): To here and Update to 0.3.1.
>
> Thanks.
>
> Unfortunately, this patch contains a lot of unrelated changes, as you
> can see here:
>
>> gnu/packages/guile.scm | 360 +++++++++++++++++++++++++++++++----------
>> gnu/packages/web.scm | 95 +++++++++++
>> 2 files changed, 368 insertions(+), 87 deletions(-)
>
> Please also split the upgrade from moving the package definition to
> another file.
Done, see attached.
Is this acceptable? Or should I have made a new branch from master
before moving?
--
Cheers Swedebugia
[-- Attachment #2: 0001-gnu-artanis-Update-to-0.3.1.patch --]
[-- Type: text/x-patch, Size: 2868 bytes --]
From 2d7b2109cd42f12192e9e2bf601d539dd4896986 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Thu, 3 Jan 2019 17:04:09 +0100
Subject: [PATCH 1/2] gnu: artanis: Update to 0.3.1.
* gnu/packages/guile.scm (artanis): Update it. Added TODO about unbundling
guile-csv.
---
gnu/packages/guile.scm | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 07b568ee7..29e488175 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -528,7 +528,7 @@ program can be installed in one go.")
;;;
(define-public artanis
- (let ((release "0.2.1")
+ (let ((release "0.3.1")
(revision 3))
(package
(name "artanis")
@@ -543,13 +543,14 @@ program can be installed in one go.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))
+ "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "artanis/third-party/json.scm")
(delete-file-recursively "artanis/third-party/json")
(substitute* '("artanis/artanis.scm"
+ "artanis/lpc.scm"
"artanis/oht.scm")
(("(#:use-module \\()artanis third-party (json\\))" _
use-module json)
@@ -565,6 +566,7 @@ program can be installed in one go.")
""))
#t))))
(build-system gnu-build-system)
+ ;; TODO replace bundled csv with guile-csv
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(inputs `(("guile" ,guile-2.2)
("guile-json" ,guile-json)))
@@ -601,7 +603,13 @@ program can be installed in one go.")
(wrap-program (string-append bin "/art")
`("GUILE_LOAD_PATH" ":" prefix (,scm))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
- #t))))))
+ #t)))
+ (delete 'strip))))
+ ;; native-search-paths are needed but left out because we propagate it
+ ;; from the installation of guile.
+ ;; On foreign distributions you have to set this manually no matter if
+ ;; you installed guile with guix or not. On GuixSD it should be set
+ ;; correctly automatically (Guile is always installed there)
(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.19.2
[-- Attachment #3: 0002-gnu-artanis-Move-to-web.scm.patch --]
[-- Type: text/x-patch, Size: 11288 bytes --]
From 5652a3f8197150b7b0a435bc65d99e18719f2a3d Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Thu, 3 Jan 2019 17:12:49 +0100
Subject: [PATCH 2/2] gnu: artanis: Move to web.scm
* gnu/packages/guile.scm (artanis): Move from here...
* gnu/packages/web.scm (artanis): ...to here
---
gnu/packages/guile.scm | 95 ------------------------------------------
gnu/packages/web.scm | 95 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 95 insertions(+), 95 deletions(-)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 29e488175..4762191dd 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -527,101 +527,6 @@ program can be installed in one go.")
;;; Extensions.
;;;
-(define-public artanis
- (let ((release "0.3.1")
- (revision 3))
- (package
- (name "artanis")
- (version (if (zero? revision)
- release
- (string-append release "-"
- (number->string revision))))
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/artanis/artanis-"
- release ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "artanis/third-party/json.scm")
- (delete-file-recursively "artanis/third-party/json")
- (substitute* '("artanis/artanis.scm"
- "artanis/lpc.scm"
- "artanis/oht.scm")
- (("(#:use-module \\()artanis third-party (json\\))" _
- use-module json)
- (string-append use-module json)))
- (substitute* "artanis/oht.scm"
- (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
- _ pre json-string post)
- (string-append pre
- "scm" json-string
- post)))
- (substitute* "artanis/artanis.scm"
- (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
- ""))
- #t))))
- (build-system gnu-build-system)
- ;; TODO replace bundled csv with guile-csv
- ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
- (inputs `(("guile" ,guile-2.2)
- ("guile-json" ,guile-json)))
- (native-inputs `(("bash" ,bash) ;for the `source' builtin
- ("pkgconfig" ,pkg-config)
- ("util-linux" ,util-linux))) ;for the `script' command
- (arguments
- '(#: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")))
- ;; Don't use (%site-dir) for site paths.
- (list (string-append "MOD_PATH=" scm)
- (string-append "MOD_COMPILED_PATH=" go)))
- #:test-target "test"
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'substitute-root-dir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile" ;ignore the execution of bash.bashrc
- ((" /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)))
- (add-after 'install 'wrap-art
- (lambda* (#:key 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")))
- (wrap-program (string-append bin "/art")
- `("GUILE_LOAD_PATH" ":" prefix (,scm))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
- #t)))
- (delete 'strip))))
- ;; native-search-paths are needed but left out because we propagate it
- ;; from the installation of guile.
- ;; On foreign distributions you have to set this manually no matter if
- ;; you installed guile with guix or not. On GuixSD it should be set
- ;; correctly automatically (Guile is always installed there)
- (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
-designed to support the development of dynamic websites, web applications, web
-services and web resources. The framework aims to alleviate the overhead
-associated with common activities performed in web development. Artanis
-provides several tools for web development: database access, templating
-frameworks, session management, URL-remapping for RESTful, page caching, and
-more.")
- (home-page "https://www.gnu.org/software/artanis/")
- (license (list license:gpl3+ license:lgpl3+))))) ;dual license
-
(define-public guile-reader
(package
(name "guile-reader")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 84bd795a8..85f527e0f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6878,3 +6878,98 @@ instructions on how to use Guix in a shared HPC environment.")
"This package provides UI widget and layout functions for writing Shiny apps that
work well on small screens.")
(license l:gpl3)))
+
+(define-public artanis
+ (let ((release "0.3.1")
+ (revision 3))
+ (package
+ (name "artanis")
+ (version (if (zero? revision)
+ release
+ (string-append release "-"
+ (number->string revision))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/artanis/artanis-"
+ release ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "artanis/third-party/json.scm")
+ (delete-file-recursively "artanis/third-party/json")
+ (substitute* '("artanis/artanis.scm"
+ "artanis/lpc.scm"
+ "artanis/oht.scm")
+ (("(#:use-module \\()artanis third-party (json\\))" _
+ use-module json)
+ (string-append use-module json)))
+ (substitute* "artanis/oht.scm"
+ (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
+ _ pre json-string post)
+ (string-append pre
+ "scm" json-string
+ post)))
+ (substitute* "artanis/artanis.scm"
+ (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
+ ""))
+ #t))))
+ (build-system gnu-build-system)
+ ;; TODO replace bundled csv with guile-csv
+ ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
+ (inputs `(("guile" ,guile-2.2)
+ ("guile-json" ,guile-json)))
+ (native-inputs `(("bash" ,bash) ;for the `source' builtin
+ ("pkgconfig" ,pkg-config)
+ ("util-linux" ,util-linux))) ;for the `script' command
+ (arguments
+ '(#: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")))
+ ;; Don't use (%site-dir) for site paths.
+ (list (string-append "MOD_PATH=" scm)
+ (string-append "MOD_COMPILED_PATH=" go)))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'substitute-root-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile" ;ignore the execution of bash.bashrc
+ ((" /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)))
+ (add-after 'install 'wrap-art
+ (lambda* (#:key 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")))
+ (wrap-program (string-append bin "/art")
+ `("GUILE_LOAD_PATH" ":" prefix (,scm))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
+ #t)))
+ (delete 'strip))))
+ ;; native-search-paths are needed but left out because we propagate it
+ ;; from the installation of guile.
+ ;; On foreign distributions you have to set this manually no matter if
+ ;; you installed guile with guix or not. On GuixSD it should be set
+ ;; correctly automatically (Guile is always installed there)
+ (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
+designed to support the development of dynamic websites, web applications, web
+services and web resources. The framework aims to alleviate the overhead
+associated with common activities performed in web development. Artanis
+provides several tools for web development: database access, templating
+frameworks, session management, URL-remapping for RESTful, page caching, and
+more.")
+ (home-page "https://www.gnu.org/software/artanis/")
+ (license (list license:gpl3+ license:lgpl3+))))) ;dual license
--
2.19.2
next prev parent reply other threads:[~2019-01-03 16:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-30 21:52 bug#33932: Artanis fails to build - 0.3.1 is out swedebugia
2018-12-31 12:33 ` Ricardo Wurmus
2019-01-02 21:50 ` swedebugia
2019-01-02 22:50 ` bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1. (was: Re: bug#33932: Artanis fails to build - 0.3.1 is out) swedebugia
2019-01-03 11:39 ` Ricardo Wurmus
2019-01-03 16:17 ` swedebugia [this message]
2019-01-03 19:19 ` Christopher Baines
2019-01-03 21:39 ` bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1 swedebugia
2019-01-04 20:58 ` swedebugia
[not found] ` <871s5st5f3.fsf@elephly.net>
2019-01-06 21:04 ` swedebugia
2019-01-28 14:22 ` Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a143520a-3e9a-af5c-b324-84a33a06ff89@riseup.net \
--to=swedebugia@riseup.net \
--cc=33932@debbugs.gnu.org \
--cc=ricardo.wurmus@mdc-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).