unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33932: Artanis fails to build - 0.3.1 is out
@ 2018-12-30 21:52 swedebugia
  2018-12-31 12:33 ` Ricardo Wurmus
  0 siblings, 1 reply; 11+ messages in thread
From: swedebugia @ 2018-12-30 21:52 UTC (permalink / raw)
  To: 33932

[-- Attachment #1: Type: text/plain, Size: 902 bytes --]

Hi

We should upgrade.

I earlier tried building 0.2.5 but failed, see def. below.

(define-public artanis
   (package
     (name "artanis")
     ;; The 0.2.5 tarball does not build. See upstream bugreport at
     ;; 
https://lists.gnu.org/archive/html/bug-artanis/2018-11/msg00000.html
     (version "0.2.5.af624e50")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://git.savannah.gnu.org/git/artanis.git")
                     (commit "af624e508e9997bd2e20c8c7063d986694f11209")))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
"0y1rx09jljdx6g6nq6y635f8svm8kazib7n4bgivi3yiy2c5v7ck"))

-- 
Cheers Swedebugia

[-- Attachment #2: Type: text/html, Size: 2037 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#33932: Artanis fails to build - 0.3.1 is out
  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
  0 siblings, 1 reply; 11+ messages in thread
From: Ricardo Wurmus @ 2018-12-31 12:33 UTC (permalink / raw)
  To: swedebugia; +Cc: 33932


Hi swedebugia,

> We should upgrade.

Could you please send a patch?

-- 
Ricardo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#33932: Artanis fails to build - 0.3.1 is out
  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
  0 siblings, 1 reply; 11+ messages in thread
From: swedebugia @ 2019-01-02 21:50 UTC (permalink / raw)
  To: guix-patches; +Cc: 33932@debbugs.gnu.org

On 2018-12-31 13:33, Ricardo Wurmus wrote:
> 
> Hi swedebugia,
> 
>> We should upgrade.
> 
> Could you please send a patch?
> 

Here it is :)

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 11+ messages in thread

* 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)
  2019-01-02 21:50   ` swedebugia
@ 2019-01-02 22:50     ` swedebugia
  2019-01-03 11:39       ` Ricardo Wurmus
  2019-01-03 19:19       ` 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) Christopher Baines
  0 siblings, 2 replies; 11+ messages in thread
From: swedebugia @ 2019-01-02 22:50 UTC (permalink / raw)
  To: guix-patches; +Cc: 33932@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 217 bytes --]

On 2019-01-02 22:50, swedebugia wrote:
> On 2018-12-31 13:33, Ricardo Wurmus wrote:
>>
>> Hi swedebugia,
>>
>>> We should upgrade.
>>
>> Could you please send a patch?
>>
> 
> Here it is :)
> 


-- 
Cheers Swedebugia

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-artanis-Move-to-web.scm-and-update-to-0.3.1.patch --]
[-- Type: text/x-patch; name="0001-gnu-artanis-Move-to-web.scm-and-update-to-0.3.1.patch", Size: 35062 bytes --]

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.
---
 gnu/packages/guile.scm | 360 +++++++++++++++++++++++++++++++----------
 gnu/packages/web.scm   |  95 +++++++++++
 2 files changed, 368 insertions(+), 87 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 07b568ee7..998090c75 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -527,93 +527,6 @@ program can be installed in one go.")
 ;;; Extensions.
 ;;;
 
-(define-public artanis
-  (let ((release "0.2.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
-                  "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))
-                (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/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: 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))))))
-      (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")
@@ -629,6 +542,13 @@ more.")
     (native-inputs `(("pkgconfig" ,pkg-config)
                      ("gperf" ,gperf-3.0)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Framework for building readers for GNU Guile")
     (description
      "Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -684,6 +604,13 @@ many readers as needed).")
                        (format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
                                out)))
                     #t)))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://www.gnu.org/software/guile-ncurses/")
     (synopsis "Guile bindings to ncurses")
     (description
@@ -815,6 +742,13 @@ format is also supported.")
     (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs
      `(("guile-config" ,guile-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile project tooling")
     (description
      "Hall is a command-line application and a set of Guile libraries that
@@ -848,6 +782,13 @@ provides tight coupling to Guix.")
        ("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2) ("which" ,which)))
     (propagated-inputs `(("guile-lib" ,guile-lib)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/artyom-poptsov/guile-ics")
     (synopsis "Guile parser library for the iCalendar format")
     (description
@@ -885,6 +826,13 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
              #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://www.nongnu.org/guile-lib/")
     (synopsis "Collection of useful Guile Scheme modules")
     (description
@@ -920,6 +868,13 @@ for Guile\".")
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("guile" ,guile-2.2)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "JSON module for Guile")
     (description
      "Guile-JSON supports parsing and building JSON documents according to the
@@ -957,6 +912,13 @@ specification.  These are the main features:
     (build-system guile-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/ijp/minikanren")
     (synopsis "MiniKanren declarative logic system, packaged for Guile")
     (description
@@ -995,6 +957,13 @@ See http://minikanren.org/ for more on miniKanren generally.")
       (build-system guile-build-system)
       (native-inputs
        `(("guile" ,guile-2.2)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://github.com/fisherdj/miniAdapton")
       (synopsis "Minimal implementation of incremental computation in Guile
 Scheme")
@@ -1039,6 +1008,13 @@ understand, extend, and port to host languages other than Scheme.")
        #:source-directory "src"))
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "http://synthcode.com/scheme/irregex")
     (synopsis "S-expression based regular expressions")
     (description
@@ -1095,6 +1071,13 @@ inspired by the SCSH regular expression system.")
      `(("guile" ,guile-2.2)))
     (inputs
      `(("gdbm" ,gdbm)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/ijp/guile-gdbm")
     (synopsis "Guile bindings to the GDBM library via Guile's FFI")
     (description
@@ -1130,6 +1113,13 @@ Guile's foreign function interface.")
     (inputs
      `(("guile" ,guile-2.2)
        ("sqlite" ,sqlite)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Access SQLite databases from Guile")
     (description
      "This package provides Guile bindings to the SQLite database system.")
@@ -1195,6 +1185,13 @@ Guile's foreign function interface.")
     (propagated-inputs
      `(("guile-reader" ,guile-reader)
        ("guile-commonmark" ,guile-commonmark)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Functional static site generator")
     (description "Haunt is a static site generator written in Guile
 Scheme.  Haunt features a functional build system and an extensible
@@ -1227,6 +1224,13 @@ interface for reading articles in any format.")
        ("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis
      "Guile application configuration parsing library.")
     (description
@@ -1258,6 +1262,13 @@ above command-line parameters.")
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
        ("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Redis client library for Guile")
     (description "Guile-redis provides a Scheme interface to the Redis
 key-value cache and store.")
@@ -1336,6 +1347,13 @@ key-value cache and store.")
     (native-inputs
      `(("python" ,python)
        ("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Whitespace to lisp syntax for Guile")
     (description "Wisp is a syntax for Guile which provides a Python-like
 whitespace-significant language.  It may be easier on the eyes for some
@@ -1388,6 +1406,13 @@ users and in some situations.")
        ("gsl" ,gsl)
        ("freeimage" ,freeimage)
        ("mesa" ,mesa)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "2D/3D game engine for GNU Guile")
     (description "Sly is a 2D/3D game engine written in Guile Scheme.  Sly
 features a functional reactive programming interface and live coding
@@ -1425,6 +1450,13 @@ capabilities.")
                  (("guilemoduledir =.*guile/site" all)
                   (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
                #t))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Generate C bindings for Guile")
     (description "G-Wrap is a tool and Guile library for generating function
 wrappers for inter-language calls.  It currently only supports generating Guile
@@ -1468,6 +1500,13 @@ provides access to that interface and its types from the Scheme level.")
      `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files
     (propagated-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile database abstraction layer")
     (home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
     (description
@@ -1550,6 +1589,13 @@ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
                          "guilesitedir = \
 $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
                       #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/artyom-poptsov/guile-dsv")
     (synopsis "DSV module for Guile")
     (description
@@ -1579,6 +1625,13 @@ Unix-style DSV format and RFC 4180 format.")
        ("libxext" ,libxext)
        ("libxinerama" ,libxinerama)
        ("xosd" ,xosd)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/alezost/guile-xosd")
     (synopsis "XOSD bindings for Guile")
     (description
@@ -1604,6 +1657,13 @@ library}.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/alezost/guile-daemon")
     (synopsis "Evaluate code in a running Guile process")
     (description
@@ -1629,6 +1689,13 @@ you send to a FIFO file.")
      `(("guile" ,guile-2.2)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "CommonMark parser for Guile")
     (description
      "guile-commonmark is a library for parsing CommonMark, a fully specified
@@ -1661,6 +1728,13 @@ is no support for parsing block and inline level HTML.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/TaylanUB/scheme-bytestructures")
     (synopsis "Structured access to bytevector contents for Guile")
     (description
@@ -1707,6 +1781,13 @@ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)
               ("aspell" ,aspell)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/spk121/guile-aspell")
     (synopsis "Spell-checking from Guile")
     (description
@@ -1807,6 +1888,13 @@ and then run @command{scm example.scm}.")
                       ;; quiet warnings
                       (setenv "GUILE_AUTO_COMPILE" "0")
                       #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://gnu.org/s/8sync/")
     (synopsis "Asynchronous actor model library for Guile")
     (description
@@ -1847,6 +1935,13 @@ Note that 8sync is only available for Guile 2.2.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Lightweight concurrency facility for Guile")
     (description
      "Fibers is a Guile library that implements a a lightweight concurrency
@@ -1886,6 +1981,13 @@ is not available for Guile 2.0.")
        ("libgit2" ,libgit2)))
     (propagated-inputs
      `(("guile-bytestructures" ,guile-bytestructures)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile bindings for libgit2")
     (description
      "This package provides Guile bindings to libgit2, a library to
@@ -1913,6 +2015,13 @@ manipulate repositories of the Git version control system.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "General-purpose syntax highlighter for GNU Guile")
     (description "Guile-syntax-highlight is a general-purpose syntax
 highlighting library for GNU Guile.  It can parse code written in various
@@ -1939,6 +2048,13 @@ HTML (via SXML) or any other format for rendering.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://gitlab.com/dustyweb/guile-sjson")
     (synopsis "S-expression based json reader/writer for Guile")
     (description "guile-sjson is a json reader/writer for Guile.
@@ -1960,6 +2076,13 @@ It has a nice, simple s-expression based syntax.")
     (build-system guile-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/NalaGinrut/guile-colorized")
     (synopsis "Colorized REPL for Guile")
     (description
@@ -2018,6 +2141,13 @@ It has a nice, simple s-expression based syntax.")
                       #t)))))
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Purely functional data structures for Guile")
     (description
      "This package provides purely functional data structures written in R6RS
@@ -2051,6 +2181,13 @@ Vicare Scheme and IronScheme.  Right now it contains:
                 "0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
     (build-system guile-build-system)
     (native-inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     ;; https://savannah.nongnu.org/projects/guile-aa-tree
     (home-page "https://qlfiles.net/guile-aa-tree/")
     (synopsis "AA tree data structure for Guile")
@@ -2093,6 +2230,13 @@ convenient nested tree operations.")
        `(("guile" ,guile-2.2)))
       (inputs
        `(("zeromq" ,zeromq)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://github.com/jerry40/guile-simple-zmq")
       (synopsis "Guile wrapper over ZeroMQ library")
       (description
@@ -2182,6 +2326,13 @@ messaging library.")
          ("guile" ,guile-2.2)
          ("guile-json" ,guile-json)
          ("guile-simple-zmq" ,guile-simple-zmq)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (synopsis "Guile kernel for the Jupyter Notebook")
       (description
        "This package provides a Guile 2.x kernel for the Jupyter Notebook.  It
@@ -2206,6 +2357,13 @@ allows users to interact with the Guile REPL through Jupyter.")
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
    (home-page "https://github.com/roelj/guile-sparql")
    (synopsis "SPARQL module for Guile")
    (description "This package provides the functionality to query a SPARQL
@@ -2233,6 +2391,13 @@ using S-expressions.")
     (native-inputs
      `(("guile" ,guile-2.2)
        ("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://savannah.gnu.org/projects/guile-debbugs/")
     (synopsis "Guile interface to the Debbugs bug tracking service")
     (description
@@ -2263,6 +2428,13 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
          ("automake" ,automake)))
       (inputs
        `(("guile" ,guile-2.2)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://git.systemreboot.net/guile-email")
       (synopsis "Guile email parser")
       (description "This package provides an email parser written in pure
@@ -2321,6 +2493,13 @@ Guile.")
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
          ("pkg-config" ,pkg-config)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (synopsis "Guile bindings to Newt")
       (description
        "This package provides bindings for Newt, a programming library for
@@ -2351,6 +2530,13 @@ Scheme by using Guile’s foreign function interface.")
      `(("guile" ,guile-2.2)
        ("gnutls" ,gnutls)
        ("guile-json" ,guile-json)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://framagit.org/prouby/guile-mastodon")
     (synopsis "Guile Mastodon REST API module")
     (description "This package provides Guile modules to access the
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 84bd795a8..28ce26223 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -67,6 +67,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages adns)
   #:use-module (gnu packages apr)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cran)
   #:use-module (gnu packages documentation)
@@ -6878,3 +6879,97 @@ 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
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site")))))
+      (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 l:gpl3+ l:lgpl3+))))) ;dual license
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* 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)
  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         ` bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1 swedebugia
  2019-01-03 19:19       ` 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) Christopher Baines
  1 sibling, 1 reply; 11+ messages in thread
From: Ricardo Wurmus @ 2019-01-03 11:39 UTC (permalink / raw)
  To: swedebugia; +Cc: 33932@debbugs.gnu.org


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.

--
Ricardo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
  2019-01-03 11:39       ` Ricardo Wurmus
@ 2019-01-03 16:17         ` swedebugia
  0 siblings, 0 replies; 11+ messages in thread
From: swedebugia @ 2019-01-03 16:17 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 33932@debbugs.gnu.org

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


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* 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)
  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 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
  1 sibling, 1 reply; 11+ messages in thread
From: Christopher Baines @ 2019-01-03 19:19 UTC (permalink / raw)
  To: swedebugia; +Cc: 33932

[-- Attachment #1: Type: text/plain, Size: 466 bytes --]


swedebugia <swedebugia@riseup.net> writes:

> On 2019-01-02 22:50, swedebugia wrote:
>> On 2018-12-31 13:33, Ricardo Wurmus wrote:
>>>
>>> Hi swedebugia,
>>>
>>>> We should upgrade.
>>>
>>> Could you please send a patch?
>>>
>>
>> Here it is :)

I haven't looked too closely at the patch, but I think the newer version
of Artanis have bundled guile-redis (or something like that), so it
would be good to look at unbundling it, similar to how guile-json is
handled.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
  2019-01-03 19:19       ` 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) Christopher Baines
@ 2019-01-03 21:39         ` swedebugia
  2019-01-04 20:58           ` swedebugia
  0 siblings, 1 reply; 11+ messages in thread
From: swedebugia @ 2019-01-03 21:39 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 33932

On 2019-01-03 20:19, Christopher Baines wrote:
> 
> swedebugia <swedebugia@riseup.net> writes:
> 
>> On 2019-01-02 22:50, swedebugia wrote:
>>> On 2018-12-31 13:33, Ricardo Wurmus wrote:
>>>>
>>>> Hi swedebugia,
>>>>
>>>>> We should upgrade.
>>>>
>>>> Could you please send a patch?
>>>>
>>>
>>> Here it is :)
> 
> I haven't looked too closely at the patch, but I think the newer version
> of Artanis have bundled guile-redis (or something like that), so it
> would be good to look at unbundling it, similar to how guile-json is
> handled.
> 

Thanks for the review. :)

Correct. Redis is bundled an I did not unbundle it. Even guile-csv is 
bundled, but we have not packaged it yet.

I will try unbundling and send a new patch.

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
  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>
  0 siblings, 1 reply; 11+ messages in thread
From: swedebugia @ 2019-01-04 20:58 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 33932

[-- Attachment #1: Type: text/plain, Size: 913 bytes --]

On 2019-01-03 22:39, swedebugia wrote:
> On 2019-01-03 20:19, Christopher Baines wrote:
>>
>> swedebugia <swedebugia@riseup.net> writes:
>>
>>> On 2019-01-02 22:50, swedebugia wrote:
>>>> On 2018-12-31 13:33, Ricardo Wurmus wrote:
>>>>>
>>>>> Hi swedebugia,
>>>>>
>>>>>> We should upgrade.
>>>>>
>>>>> Could you please send a patch?
>>>>>
>>>>
>>>> Here it is :)
>>
>> I haven't looked too closely at the patch, but I think the newer version
>> of Artanis have bundled guile-redis (or something like that), so it
>> would be good to look at unbundling it, similar to how guile-json is
>> handled.
>>
> 
> Thanks for the review. :)
> 
> Correct. Redis is bundled an I did not unbundle it. Even guile-csv is 
> bundled, but we have not packaged it yet.
> 
> I will try unbundling and send a new patch.

Done. Is this ready to merge? (I gave up on moving it. Maybe the
committer can do this?)

-- 
Cheers 
Swedebugia

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-artanis-Update-to-0.3.1.patch --]
[-- Type: text/x-diff; name=0001-gnu-artanis-Update-to-0.3.1.patch, Size: 4049 bytes --]

From b0453ad329d4b22bc70f90de0bea16ac612d4834 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Fri, 4 Jan 2019 21:20:46 +0100
Subject: [PATCH] gnu: artanis: Update to 0.3.1.

* gnu/packages/guile.scm (artanis): Update it. Added note about
  guile-csv.
---
 gnu/packages/guile.scm | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 5a3ce4401..2507375b4 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,17 +543,26 @@ 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
+                    ;; Unbundle guile-redis and guile-json
                     (delete-file-recursively "artanis/third-party/json.scm")
                     (delete-file-recursively "artanis/third-party/json")
+                    (delete-file-recursively "artanis/third-party/redis.scm")
+                    (delete-file-recursively "artanis/third-party/redis")
                     (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/lpc.scm"
+                                   "artanis/session.scm")
+                      (("(#:use-module \\()artanis third-party (redis\\))" _
+                        use-module redis)
+                       (string-append use-module redis)))
                     (substitute* "artanis/oht.scm"
                       (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
                         _ pre json-string post)
@@ -565,9 +574,14 @@ program can be installed in one go.")
                        ""))
                     #t))))
       (build-system gnu-build-system)
+      ;; 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.
       (inputs `(("guile" ,guile-2.2)
-                ("guile-json" ,guile-json)))
+                ("guile-json" ,guile-json)
+                ("guile-redis" ,guile-redis)))
       (native-inputs `(("bash"       ,bash)         ;for the `source' builtin
                        ("pkgconfig"  ,pkg-config)
                        ("util-linux" ,util-linux))) ;for the `script' command
@@ -601,7 +615,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


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
       [not found]             ` <871s5st5f3.fsf@elephly.net>
@ 2019-01-06 21:04               ` swedebugia
  2019-01-28 14:22                 ` Ricardo Wurmus
  0 siblings, 1 reply; 11+ messages in thread
From: swedebugia @ 2019-01-06 21:04 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 33932

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

On 2019-01-04 22:38, Ricardo Wurmus wrote:
> Hi,
> 
>> From: swedebugia <swedebugia@riseup.net>
>> Date: Fri, 4 Jan 2019 21:20:46 +0100
>> Subject: [PATCH] gnu: artanis: Update to 0.3.1.
>>
>> * gnu/packages/guile.scm (artanis): Update it. Added note about
>>   guile-csv.
> 
> This should be
> 
> --8<---------------cut here---------------start------------->8---
> gnu: artanis: Update to 0.3.1.
> 
> * gnu/packages/guile.scm (artanis): Update to 0.3.1.
> [inputs]: Add guile-json and guile-redis.
> [source]: Unbundle guile-redis and guile-json in snippet.
> [arguments]: Delete strip phase.
> --8<---------------cut here---------------end--------------->8---
> 
>> +           (delete 'strip))))
> 
> Why is this needed?
> 
>> +      ;; 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)
> 
> I don’t know what this is trying to say, and it is pretty verbose.
> Should the guile-* inputs be propagated instead?  Please remove this
> comment.

Fixed. Is this OK?

-- 
Cheers 
Swedebugia

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-artanis-Update-to-0.3.1.patch --]
[-- Type: text/x-diff; name=0001-gnu-artanis-Update-to-0.3.1.patch, Size: 3546 bytes --]

From 4ddf3a25bdd98100a1e063c129d70d3182ea46c6 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Sun, 6 Jan 2019 16:47:41 +0100
Subject: [PATCH] gnu: artanis: Update to 0.3.1.

* gnu/packages/guile.scm (artanis): Update to 0.3.1.
  [snippet] Remove bundled guile-redis and add substitute
  for guile-redis.
  [inputs] Add guile-redis.
---
 gnu/packages/guile.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 07b568ee7..928bb065d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 swedebugia <swedebugia@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -528,7 +529,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,17 +544,26 @@ 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
+                    ;; Unbundle guile-redis and guile-json
                     (delete-file-recursively "artanis/third-party/json.scm")
                     (delete-file-recursively "artanis/third-party/json")
+                    (delete-file-recursively "artanis/third-party/redis.scm")
+                    (delete-file-recursively "artanis/third-party/redis")
                     (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/lpc.scm"
+                                   "artanis/session.scm")
+                      (("(#:use-module \\()artanis third-party (redis\\))" _
+                        use-module redis)
+                       (string-append use-module redis)))
                     (substitute* "artanis/oht.scm"
                       (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
                         _ pre json-string post)
@@ -565,9 +575,13 @@ program can be installed in one go.")
                        ""))
                     #t))))
       (build-system gnu-build-system)
+      ;; 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.
       (inputs `(("guile" ,guile-2.2)
-                ("guile-json" ,guile-json)))
+                ("guile-json" ,guile-json)
+                ("guile-redis" ,guile-redis)))
       (native-inputs `(("bash"       ,bash)         ;for the `source' builtin
                        ("pkgconfig"  ,pkg-config)
                        ("util-linux" ,util-linux))) ;for the `script' command
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
  2019-01-06 21:04               ` swedebugia
@ 2019-01-28 14:22                 ` Ricardo Wurmus
  0 siblings, 0 replies; 11+ messages in thread
From: Ricardo Wurmus @ 2019-01-28 14:22 UTC (permalink / raw)
  To: swedebugia; +Cc: 33932-done


Hi swedebugia,

I made some minor changes to the commit message and reset the revision
to 0, adapted the patch after the guile.scm -> guile-xyz.scm split, and
pushed to the master branch.

Thanks!

-- 
Ricardo

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-01-28 15:09 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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         ` bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1 swedebugia
2019-01-03 19:19       ` 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) 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

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).