artanis
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Artanis] Bundled dependencies


From: Nala Ginrut
Subject: Re: [Artanis] Bundled dependencies
Date: Wed, 16 Jan 2019 15:45:21 +0800
User-agent: mu4e 1.0; emacs 25.1.1

Hi Swedebugia!
Thanks for the patch and the video!

I really want to unbundle Redis, however, I can't right now.
I hope someday we can use Guix in our product, then it's much better.

The video is very interesting! I want to widen the userbase, but before
that, I'd like to make some design stable, so that the contributors will
not waste time. Of course, a better FOSS project should be driven by all
contributors, but we've been using Artanis in product for a while, we
have to make it good for the product case first. So there's a little
different. If we finally achieve a point that the design is stable is
enough, then I'll try to release my authority gradually and try to attract more 
contributors
to let the community drive the development.

We are writing a side-project which is a blog-engine based on
Git-database. It's a reborn of Tekuti from Andy Wingo, but it's based on
Artanis. So that it brings more interesting features.
This project is helpful to guide people how to use Artanis properly,
it's coming soon. It's almost done, and we're polishing it. ;-)

Best regards.

address@hidden writes:

> Hi :D
>
> I understand. I succeded in unbundling redis too today (see patch) :)
>
> Good luck with widening the userbase. Did you see this?
> https://www.youtube.com/watch?v=4FscQuW0EDI
>
> Are there any (simple) programs written with artanis available for me to
> study?
>
> Cheers
> swedebugia
>
> On 2019-01-04 17:52, Nala Ginrut wrote:
>> I've considered this, however, not all people use Guix yet, and actually
>> we're using Artanis in a product which can't be deployed with Guix
>> yet. I hope we can fix it in the future. For now, the availability and
>> delivery is more important for Artanis, we need to make it useful in the
>> business first. ;-)
>>
>> Best regards.
>>
>>
>> swedebugia writes:
>>
>>> Hi :)
>>>
>>> I wonder if you would be willing to unbundle the dependencies and use
>>> upstream directly like guile-dbi?
>>>
>>> We did that with json in guix and it seems to work fine. See
>>> http://git.savannah.gnu.org/cgit/guix.git/commit/?id=12235a124f7fc56d9cd4eaf76a453cf55d3026ea
>>
>>
>> --
>> GNU Powered it
>> GPL Protected it
>> GOD Blessed it
>> HFG - NalaGinrut
>> Fingerprint F53B 4C56 95B5 E4D5 6093 4324 8469 6772 846A 0058
>
> --
> Cheers
> SwedebugiaFrom b0453ad329d4b22bc70f90de0bea16ac612d4834 Mon Sep 17 00:00:00 
> 2001
> From: swedebugia <address@hidden>
> 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


--
GNU Powered it
GPL Protected it
GOD Blessed it
HFG - NalaGinrut
Fingerprint F53B 4C56 95B5 E4D5 6093 4324 8469 6772 846A 0058

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]