unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#33920] [PATCH] gnu: Add gauche.
@ 2018-12-30  7:47 Gabriel Hondet
  2019-01-04 22:36 ` swedebugia
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2018-12-30  7:47 UTC (permalink / raw)
  To: 33920

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


* gnu/packages/scheme.scm (gauche): New variable.
---
 gnu/packages/scheme.scm | 69 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 16904dce3..c9bea183e 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1164,3 +1165,71 @@ simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
 The core is 12 builtin special forms and 33 builtin functions.")
       (home-page "https://github.com/JeffBezanson/femtolisp")
       (license bsd-3))))
+
+(define-public gauche
+  (package
+    (name "gauche")
+    (version "0.9.7")
+    (home-page "http://practical-scheme.net/gauche/index.html")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://prdownloads.sourceforge.net/gauche/Gauche-"
+             version ".tgz"))
+       (sha256
+        (base32
+         "181nycikma0rwrb1h6mi3kys11f8628pq8g5r3fg5hiz5sabscrd"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("texinfo" ,texinfo)
+       ("openssl" ,openssl))) ;needed for tests
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-/bin/sh
+           ;; needed only for tests
+           (lambda _
+             (begin
+               (setenv "CONFIG_SHELL" (which "sh"))
+               (substitute* '("configure"
+                              "test/www.scm"
+                              "config.guess"
+                              "ltmain.sh"
+                              "ext/tls/test.scm"
+                              "gc/configure"
+                              "lib/gauche/configure.scm"
+                              "lib/gauche/package/util.scm"
+                              "lib/gauche/process.scm")
+                 (("/bin/sh") (which "sh")))
+               #t)))
+         (add-after 'build 'build-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (for-each
+                  (lambda (target)
+                    (invoke "make" target))
+                  '("info" "html" "htmls"))))))
+         (add-before 'check 'patch-normalize-test
+           ;; neutralize sys-normalize-pathname test as it relies on
+           ;; the home directory; (setenv "HOME" xx) isn't enough)
+           (lambda _
+             (substitute* "test/system.scm"
+               (("~/abc") "//abc"))))
+         (add-before 'check 'patch-network-tests
+           ;; remove net checks
+           (lambda _
+             (substitute* "ext/Makefile"
+               (("binary net termios") "binary termios"))))
+         (add-after 'install 'install-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (invoke "make" "install"))))))))
+    (synopsis "Scheme scripting engine")
+    (description "Gauche is a R7RS Scheme scripting engine aiming at being a
+handy tool that helps programmers and system administrators to write small to
+large scripts quickly.  Quick startup, built-in system interface, native
+multilingual support are some of the goals.")
+    (license bsd-3)))
-- 
2.20.1

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

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2018-12-30  7:47 [bug#33920] [PATCH] gnu: Add gauche Gabriel Hondet
@ 2019-01-04 22:36 ` swedebugia
  2019-01-05  8:32   ` Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: swedebugia @ 2019-01-04 22:36 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: Guix-patches, 33920

On 2018-12-30 08:47, Gabriel Hondet wrote:
> * gnu/packages/scheme.scm (gauche): New variable.
> ---
>  gnu/packages/scheme.scm | 69 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 69 insertions(+)
> 
> diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
> index 16904dce3..c9bea183e 100644
> --- a/gnu/packages/scheme.scm
> +++ b/gnu/packages/scheme.scm
> @@ -10,6 +10,7 @@
>  ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
>  ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
>  ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
> +;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -1164,3 +1165,71 @@ simple, elegant Scheme dialect.  It is a lisp-1
> with lexical scope.
>  The core is 12 builtin special forms and 33 builtin functions.")
>        (home-page "https://github.com/JeffBezanson/femtolisp")
>        (license bsd-3))))
> +
> +(define-public gauche
> +  (package
> +    (name "gauche")
> +    (version "0.9.7")
> +    (home-page "http://practical-scheme.net/gauche/index.html")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "http://prdownloads.sourceforge.net/gauche/Gauche-"
> +             version ".tgz"))
> +       (sha256
> +        (base32
> +         "181nycikma0rwrb1h6mi3kys11f8628pq8g5r3fg5hiz5sabscrd"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("texinfo" ,texinfo)
> +       ("openssl" ,openssl))) ;needed for tests
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-/bin/sh
> +           ;; needed only for tests
> +           (lambda _
> +             (begin
> +               (setenv "CONFIG_SHELL" (which "sh"))
> +               (substitute* '("configure"
> +                              "test/www.scm"
> +                              "config.guess"
> +                              "ltmain.sh"
> +                              "ext/tls/test.scm"
> +                              "gc/configure"
> +                              "lib/gauche/configure.scm"
> +                              "lib/gauche/package/util.scm"
> +                              "lib/gauche/process.scm")
> +                 (("/bin/sh") (which "sh")))
> +               #t)))
> +         (add-after 'build 'build-doc
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (with-directory-excursion "doc"
> +                 (for-each
> +                  (lambda (target)
> +                    (invoke "make" target))
> +                  '("info" "html" "htmls"))))))
> +         (add-before 'check 'patch-normalize-test
> +           ;; neutralize sys-normalize-pathname test as it relies on
> +           ;; the home directory; (setenv "HOME" xx) isn't enough)
> +           (lambda _
> +             (substitute* "test/system.scm"
> +               (("~/abc") "//abc"))))
> +         (add-before 'check 'patch-network-tests
> +           ;; remove net checks
> +           (lambda _
> +             (substitute* "ext/Makefile"
> +               (("binary net termios") "binary termios"))))
> +         (add-after 'install 'install-docs
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (with-directory-excursion "doc"
> +                 (invoke "make" "install"))))))))
> +    (synopsis "Scheme scripting engine")
> +    (description "Gauche is a R7RS Scheme scripting engine aiming at being a
> +handy tool that helps programmers and system administrators to write small to
> +large scripts quickly.  Quick startup, built-in system interface, native
> +multilingual support are some of the goals.")
> +    (license bsd-3)))

I found this in COPYING:

Copyright of gc/libatomic_ops/*
---------------------------------------------

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Could add a note about that?

I noticed that Gauche comes with a package-manager gauche-package, could
you extend the description and mention this and how many packages are
available (>50 according to
http://practical-scheme.net/wiliki/wiliki.cgi/Gauche:Packages?l=en).

Otherwise LGTM. (i built it and gave it a short spin)

-- 
Cheers 
Swedebugia

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2019-01-04 22:36 ` swedebugia
@ 2019-01-05  8:32   ` Gabriel Hondet
  2019-01-09 15:56     ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-05  8:32 UTC (permalink / raw)
  To: swedebugia; +Cc: 33920

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


* gnu/packages/scheme.scm (gauche): New variable.
---
 gnu/packages/scheme.scm | 73 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 16904dce3..09a7fbf29 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1164,3 +1165,75 @@ simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
 The core is 12 builtin special forms and 33 builtin functions.")
       (home-page "https://github.com/JeffBezanson/femtolisp")
       (license bsd-3))))
+
+(define-public gauche
+  (package
+    (name "gauche")
+    (version "0.9.7")
+    (home-page "http://practical-scheme.net/gauche/index.html")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://prdownloads.sourceforge.net/gauche/Gauche-"
+             version ".tgz"))
+       (sha256
+        (base32
+         "181nycikma0rwrb1h6mi3kys11f8628pq8g5r3fg5hiz5sabscrd"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("texinfo" ,texinfo)
+       ("openssl" ,openssl))) ;needed for tests
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-/bin/sh
+           ;; needed only for tests
+           (lambda _
+             (begin
+               (setenv "CONFIG_SHELL" (which "sh"))
+               (substitute* '("configure"
+                              "test/www.scm"
+                              "config.guess"
+                              "ltmain.sh"
+                              "ext/tls/test.scm"
+                              "gc/configure"
+                              "lib/gauche/configure.scm"
+                              "lib/gauche/package/util.scm"
+                              "lib/gauche/process.scm")
+                 (("/bin/sh") (which "sh")))
+               #t)))
+         (add-after 'build 'build-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (for-each
+                  (lambda (target)
+                    (invoke "make" target))
+                  '("info" "html" "htmls"))))))
+         (add-before 'check 'patch-normalize-test
+           ;; neutralize sys-normalize-pathname test as it relies on
+           ;; the home directory; (setenv "HOME" xx) isn't enough)
+           (lambda _
+             (substitute* "test/system.scm"
+               (("~/abc") "//abc"))))
+         (add-before 'check 'patch-network-tests
+           ;; remove net checks
+           (lambda _
+             (substitute* "ext/Makefile"
+               (("binary net termios") "binary termios"))))
+         (add-after 'install 'install-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (invoke "make" "install"))))))))
+    (synopsis "Scheme scripting engine")
+    (description "Gauche is a R7RS Scheme scripting engine aiming at being a
+handy tool that helps programmers and system administrators to write small to
+large scripts quickly.  Quick startup, built-in system interface, native
+multilingual support are some of the goals.  Gauche comes with a package
+manager/installer @code{gauche-package} which can download, compile, install
+and list gauche extension packages.  There are currently 58 packages
+available.")
+    (license (list gpl2+ ; gc/libatomic_ops/*
+                   bsd-3))))
-- 
2.20.1

On Fri 04 Jan 2019 at 23:36 swedebugia@riseup.net wrote:

> I found this in COPYING:
>
> Copyright of gc/libatomic_ops/*
> ---------------------------------------------
>
> GNU GENERAL PUBLIC LICENSE
> Version 2, June 1991
>
> Could add a note about that?

Sure, I guess only mentioning and adding the license is enough.

> I noticed that Gauche comes with a package-manager gauche-package, could
> you extend the description and mention this and how many packages are
> available (>50 according to
> http://practical-scheme.net/wiliki/wiliki.cgi/Gauche:Packages?l=en).

As far as I know, the packages are not yet well integrated nor indexed,
but I have counted 58 on the page.

> Otherwise LGTM. (i built it and gave it a short spin)

Great! Thanks,
Gabriel


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

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2019-01-05  8:32   ` Gabriel Hondet
@ 2019-01-09 15:56     ` Ludovic Courtès
  2019-01-12 10:25       ` Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-01-09 15:56 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: 33920

Hi Gabriel,

Gabriel Hondet <gabrielhondet@gmail.com> skribis:

> * gnu/packages/scheme.scm (gauche): New variable.

Yay for another Scheme!  :-)

As swedebugia noted, Gauche uses libgc and libatomic-ops.  Could you try
to add these two libraries as inputs and to adjust the package to make
sure it does not use the bundled copies?

> +(define-public gauche
> +  (package
> +    (name "gauche")
> +    (version "0.9.7")
> +    (home-page "http://practical-scheme.net/gauche/index.html")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "http://prdownloads.sourceforge.net/gauche/Gauche-"
> +             version ".tgz"))

Please use mirror://sourceforge here.

> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-/bin/sh
> +           ;; needed only for tests
> +           (lambda _
> +             (begin
> +               (setenv "CONFIG_SHELL" (which "sh"))
> +               (substitute* '("configure"
> +                              "test/www.scm"
> +                              "config.guess"
> +                              "ltmain.sh"
> +                              "ext/tls/test.scm"
> +                              "gc/configure"
> +                              "lib/gauche/configure.scm"
> +                              "lib/gauche/package/util.scm"
> +                              "lib/gauche/process.scm")
> +                 (("/bin/sh") (which "sh")))

This looks redundant with what the standard ‘patch-source-shebangs’ and
‘configure’ phases do, no?

Also, ‘begin’ is unnecessary in the body of a lambda.

> +         (add-after 'build 'build-doc
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (with-directory-excursion "doc"
> +                 (for-each
> +                  (lambda (target)
> +                    (invoke "make" target))
> +                  '("info" "html" "htmls"))))))

Please return #t.

> +         (add-before 'check 'patch-normalize-test
> +           ;; neutralize sys-normalize-pathname test as it relies on
> +           ;; the home directory; (setenv "HOME" xx) isn't enough)
> +           (lambda _
> +             (substitute* "test/system.scm"
> +               (("~/abc") "//abc"))))

Likewise.

> +         (add-before 'check 'patch-network-tests
> +           ;; remove net checks
> +           (lambda _
> +             (substitute* "ext/Makefile"
> +               (("binary net termios") "binary termios"))))

Likewise.

Out of curiosity, do these tests rely on specific host name lookups or
external services?

> +         (add-after 'install 'install-docs
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (with-directory-excursion "doc"
> +                 (invoke "make" "install"))))))))

Please return #t.

Could you send an updated patch?

Thank you!

Ludo’.

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2019-01-09 15:56     ` Ludovic Courtès
@ 2019-01-12 10:25       ` Gabriel Hondet
  2019-01-13 20:40         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-12 10:25 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33920

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

Hi Ludovic,

On Wed 09 Jan 2019 at 16:56 Ludovic Courtès wrote:

> As swedebugia noted, Gauche uses libgc and libatomic-ops.  Could you
> try to add these two libraries as inputs and to adjust the package to
> make sure it does not use the bundled copies?

Sure I'll work on it.

>> +(define-public gauche
>> +  (package
>> +    (name "gauche")
>> +    (version "0.9.7")
>> +    (home-page "http://practical-scheme.net/gauche/index.html")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append
>> +             "http://prdownloads.sourceforge.net/gauche/Gauche-"
>> +             version ".tgz"))
>
> Please use mirror://sourceforge here.

As far as I understand, I should use
   "mirror://sourceforge/gauche/Gauche-"
but it does not work (redirections fail with a 404 not found error).

>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-/bin/sh
>> +           ;; needed only for tests
>> +           (lambda _
>> +             (begin
>> +               (setenv "CONFIG_SHELL" (which "sh"))
>> +               (substitute* '("configure"
>> +                              "test/www.scm"
>> +                              "config.guess"
>> +                              "ltmain.sh"
>> +                              "ext/tls/test.scm"
>> +                              "gc/configure"
>> +                              "lib/gauche/configure.scm"
>> +                              "lib/gauche/package/util.scm"
>> +                              "lib/gauche/process.scm")
>> +                 (("/bin/sh") (which "sh")))
>
> This looks redundant with what the standard ‘patch-source-shebangs’ and
> ‘configure’ phases do, no?

Isn't 'patch-source-shebangs' only patching the shebangs?  Because here
I have to patch other path specifications in the source as well.  On the
other hand, for the 'setenv', you are totally right.

> Out of curiosity, do these tests rely on specific host name lookups or
> external services?

I'll look at it.

Thank you for these useful and essential tips,
Gabriel

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

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2019-01-12 10:25       ` Gabriel Hondet
@ 2019-01-13 20:40         ` Ludovic Courtès
  2019-01-15  8:11           ` Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-01-13 20:40 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: 33920

Hello,

Gabriel Hondet <gabrielhondet@gmail.com> skribis:

> On Wed 09 Jan 2019 at 16:56 Ludovic Courtès wrote:

[...]

>> Please use mirror://sourceforge here.
>
> As far as I understand, I should use
>    "mirror://sourceforge/gauche/Gauche-"
> but it does not work (redirections fail with a 404 not found error).

This one appears to work:

  mirror://sourceforge/gauche/Gauche/Gauche-0.9.7.tgz

Trial and error…

>>> +               (substitute* '("configure"
>>> +                              "test/www.scm"
>>> +                              "config.guess"
>>> +                              "ltmain.sh"
>>> +                              "ext/tls/test.scm"
>>> +                              "gc/configure"
>>> +                              "lib/gauche/configure.scm"
>>> +                              "lib/gauche/package/util.scm"
>>> +                              "lib/gauche/process.scm")
>>> +                 (("/bin/sh") (which "sh")))
>>
>> This looks redundant with what the standard ‘patch-source-shebangs’ and
>> ‘configure’ phases do, no?
>
> Isn't 'patch-source-shebangs' only patching the shebangs?  Because here
> I have to patch other path specifications in the source as well.  On the
> other hand, for the 'setenv', you are totally right.

Oh you’re right.  But at least the Autotools files (configure,
config.guess, ltmain.sh) can be omitted.

Thanks,
Ludo’.

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

* [bug#33920] [PATCH] gnu: Add gauche.
  2019-01-13 20:40         ` Ludovic Courtès
@ 2019-01-15  8:11           ` Gabriel Hondet
  2019-01-15 17:34             ` bug#33920: " Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-15  8:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33920

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

* gnu/packages/scheme.scm (gauche): New variable.
---
 gnu/packages/scheme.scm | 82 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 16904dce3..3836f3a3e 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
+;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1164,3 +1165,84 @@ simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
 The core is 12 builtin special forms and 33 builtin functions.")
       (home-page "https://github.com/JeffBezanson/femtolisp")
       (license bsd-3))))
+
+(define-public gauche
+  (package
+    (name "gauche")
+    (version "0.9.7")
+    (home-page "http://practical-scheme.net/gauche/index.html")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://sourceforge/gauche/Gauche/Gauche-"
+             version ".tgz"))
+       (sha256
+        (base32
+         "181nycikma0rwrb1h6mi3kys11f8628pq8g5r3fg5hiz5sabscrd"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Remove libatomic-ops
+                   (delete-file-recursively "gc/libatomic_ops")
+                   #t))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libatomic-ops" ,libatomic-ops)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("texinfo" ,texinfo)
+       ("openssl" ,openssl) ; needed for tests
+       ("pkg-config" ,pkg-config))) ; needed to find external libatomic-ops
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-/bin/sh
+           ;; needed only for tests
+           (lambda _
+             (substitute* '("configure"
+                            "test/www.scm"
+                            "ext/tls/test.scm"
+                            "gc/configure"
+                            "lib/gauche/configure.scm"
+                            "lib/gauche/package/util.scm"
+                            "lib/gauche/process.scm")
+               (("/bin/sh") (which "sh")))
+             #t))
+         (add-after 'build 'build-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (for-each
+                  (lambda (target)
+                    (invoke "make" target))
+                  '("info" "html" "htmls"))))
+             #t))
+         (add-before 'check 'patch-normalize-test
+           ;; neutralize sys-normalize-pathname test as it relies on
+           ;; the home directory; (setenv "HOME" xx) isn't enough)
+           (lambda _
+             (substitute* "test/system.scm"
+               (("~/abc") "//abc"))
+             #t))
+         (add-before 'check 'patch-network-tests
+           ;; remove net checks
+           (lambda _
+             (substitute* "ext/Makefile"
+               (("binary net termios") "binary termios"))
+             #t))
+         (add-after 'install 'install-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "doc"
+                 (invoke "make" "install")))
+             #t)))))
+    (synopsis "Scheme scripting engine")
+    (description "Gauche is a R7RS Scheme scripting engine aiming at being a
+handy tool that helps programmers and system administrators to write small to
+large scripts quickly.  Quick startup, built-in system interface, native
+multilingual support are some of the goals.  Gauche comes with a package
+manager/installer @code{gauche-package} which can download, compile, install
+and list gauche extension packages.  There are currently 58 packages
+available.")
+    (license bsd-3)))
-- 
2.20.1
On Sun 13 Jan 2019 at 21:40 Ludovic Courtès wrote:

> Out of curiosity, do these tests rely on specific host name lookups or
> external services?

Regarding net tests, it seems they only involve localhost.

> As swedebugia noted, Gauche uses libgc and libatomic-ops.  Could you
> try to add these two libraries as inputs and to adjust the package to
> make sure it does not use the bundled copies?

The use of the internal libatomic_ops has been disabled, but on the
other hand, I don't see where libgc is used (is it the full gc thing?),
or at least it seems it can't be disabled via configure scripts.

Gabriel

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

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

* bug#33920: [PATCH] gnu: Add gauche.
  2019-01-15  8:11           ` Gabriel Hondet
@ 2019-01-15 17:34             ` Ludovic Courtès
  2019-01-16  8:49               ` [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-01-15 17:34 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: 33920-done

Hi,

Gabriel Hondet <gabrielhondet@gmail.com> skribis:

> * gnu/packages/scheme.scm (gauche): New variable.

Applied!

I noticed that libgc is still bundled so I tried to get rid of it but
that seems to be tricky (draft patch below).  It would be nice to see
with upstream whether they can make it easier to build against a
provided libgc.

Regarding documentation:

> +         (add-after 'build 'build-doc
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out")))
> +               (with-directory-excursion "doc"
> +                 (for-each
> +                  (lambda (target)
> +                    (invoke "make" target))
> +                  '("info" "html" "htmls"))))

I left it as is but normally we provide only Info (for packages that
come with Texinfo manuals.)  Would you be OK removing the HTML bits?

Thank you!

Ludo’.

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

* [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc.
  2019-01-15 17:34             ` bug#33920: " Ludovic Courtès
@ 2019-01-16  8:49               ` Gabriel Hondet
  2019-01-16 10:41                 ` Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-16  8:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33920-done

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


On Tue 15 Jan 2019 at 18:34 Ludovic Courtès wrote:

> Regarding documentation:
>
>> +         (add-after 'build 'build-doc
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             (let* ((out (assoc-ref outputs "out")))
>> +               (with-directory-excursion "doc"
>> +                 (for-each
>> +                  (lambda (target)
>> +                    (invoke "make" target))
>> +                  '("info" "html" "htmls"))))
>
> I left it as is but normally we provide only Info (for packages that
> come with Texinfo manuals.)  Would you be OK removing the HTML bits?

Here you are,

* gnu/packages/scheme.scm (gauche): Update to 0.9.7 - removed html doc.
---
 gnu/packages/scheme.scm | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 48b52c7da..9cc190b51 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1213,13 +1213,9 @@ The core is 12 builtin special forms and 33 builtin functions.")
                (("/bin/sh") (which "sh")))
              #t))
          (add-after 'build 'build-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (with-directory-excursion "doc"
-                 (for-each
-                  (lambda (target)
-                    (invoke "make" target))
-                  '("info" "html" "htmls"))))
+           (lambda* _
+             (with-directory-excursion "doc"
+               (invoke "make" "info"))
              #t))
          (add-before 'check 'patch-normalize-test
            ;; neutralize sys-normalize-pathname test as it relies on
@@ -1235,10 +1231,9 @@ The core is 12 builtin special forms and 33 builtin functions.")
                (("binary net termios") "binary termios"))
              #t))
          (add-after 'install 'install-docs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (with-directory-excursion "doc"
-                 (invoke "make" "install")))
+           (lambda* _
+             (with-directory-excursion "doc"
+               (invoke "make" "install"))
              #t)))))
     (synopsis "Scheme scripting engine")
     (description "Gauche is a R7RS Scheme scripting engine aiming at being a
-- 
2.20.1

Gabriel

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

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

* [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc.
  2019-01-16  8:49               ` [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc Gabriel Hondet
@ 2019-01-16 10:41                 ` Gabriel Hondet
  2019-01-16 17:32                   ` Pierre Neidhardt
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-16 10:41 UTC (permalink / raw)
  To: Ludovic Courtès, Pierre Neidhardt; +Cc: 33920-done

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

Hello Pierre,

> I've noticed something strange however: in the description, you mention
> 
> --8<---------------cut here---------------start------------->8---
> There are currently 58 packages available.
> --8<---------------cut here---------------end--------------->8---
> 
> Isn't it shortsighted?  If another package is added upstream, then the
> description won't match anymore.
> 
> Why mentioning it at all?

Indeed, here is a new update patch without the number of packages.

* gnu/packages/scheme.scm (gauche): Update to 0.9.7 - removed html doc.
---
 gnu/packages/scheme.scm | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 48b52c7da..44d207f02 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1213,13 +1213,9 @@ The core is 12 builtin special forms and 33 builtin functions.")
                (("/bin/sh") (which "sh")))
              #t))
          (add-after 'build 'build-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (with-directory-excursion "doc"
-                 (for-each
-                  (lambda (target)
-                    (invoke "make" target))
-                  '("info" "html" "htmls"))))
+           (lambda* _
+             (with-directory-excursion "doc"
+               (invoke "make" "info"))
              #t))
          (add-before 'check 'patch-normalize-test
            ;; neutralize sys-normalize-pathname test as it relies on
@@ -1235,10 +1231,9 @@ The core is 12 builtin special forms and 33 builtin functions.")
                (("binary net termios") "binary termios"))
              #t))
          (add-after 'install 'install-docs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out")))
-               (with-directory-excursion "doc"
-                 (invoke "make" "install")))
+           (lambda* _
+             (with-directory-excursion "doc"
+               (invoke "make" "install"))
              #t)))))
     (synopsis "Scheme scripting engine")
     (description "Gauche is a R7RS Scheme scripting engine aiming at being a
@@ -1246,6 +1241,5 @@ handy tool that helps programmers and system administrators to write small to
 large scripts quickly.  Quick startup, built-in system interface, native
 multilingual support are some of the goals.  Gauche comes with a package
 manager/installer @code{gauche-package} which can download, compile, install
-and list gauche extension packages.  There are currently 58 packages
-available.")
+and list gauche extension packages.")
     (license bsd-3)))
-- 
2.20.1

Thank you for your interest!
Gabriel

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

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

* [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc.
  2019-01-16 10:41                 ` Gabriel Hondet
@ 2019-01-16 17:32                   ` Pierre Neidhardt
  2019-01-16 19:31                     ` Gabriel Hondet
  0 siblings, 1 reply; 13+ messages in thread
From: Pierre Neidhardt @ 2019-01-16 17:32 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: 33920-done

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

Your patch does not only change the description but it also removes some
unnecessary code.

Is there a good reason it was added in the first place or was it simply a mistake?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

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

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

* [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc.
  2019-01-16 17:32                   ` Pierre Neidhardt
@ 2019-01-16 19:31                     ` Gabriel Hondet
  2019-01-17  7:29                       ` Pierre Neidhardt
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Hondet @ 2019-01-16 19:31 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 33920-done

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

On Wed 16 Jan 2019 at 18:32 Pierre Neidhardt wrote:

> Your patch does not only change the description but it also removes some
> unnecessary code.
>
> Is there a good reason it was added in the first place or was it simply a mistake?

It was a mistake (I first wanted to separate the outputs between doc and
out, thus the use of the ~outputs~ parameter in the lambdas; and then I
forgot to simplify the code).


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

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

* [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc.
  2019-01-16 19:31                     ` Gabriel Hondet
@ 2019-01-17  7:29                       ` Pierre Neidhardt
  0 siblings, 0 replies; 13+ messages in thread
From: Pierre Neidhardt @ 2019-01-17  7:29 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: 33920-done

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

I've applied your patch with a minor change: "lambda*" to "lambda".

Thanks!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

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

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

end of thread, other threads:[~2019-01-17  7:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-30  7:47 [bug#33920] [PATCH] gnu: Add gauche Gabriel Hondet
2019-01-04 22:36 ` swedebugia
2019-01-05  8:32   ` Gabriel Hondet
2019-01-09 15:56     ` Ludovic Courtès
2019-01-12 10:25       ` Gabriel Hondet
2019-01-13 20:40         ` Ludovic Courtès
2019-01-15  8:11           ` Gabriel Hondet
2019-01-15 17:34             ` bug#33920: " Ludovic Courtès
2019-01-16  8:49               ` [bug#33920] [PATCH] gnu: gauche: Update to 0.9.7 - removed html doc Gabriel Hondet
2019-01-16 10:41                 ` Gabriel Hondet
2019-01-16 17:32                   ` Pierre Neidhardt
2019-01-16 19:31                     ` Gabriel Hondet
2019-01-17  7:29                       ` Pierre Neidhardt

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