unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#59726] [PATCH 1/2] gnu: g-wrap: Build with Guile 3.0.
       [not found] <cover.1669825268.git.873216071@qq.com>
@ 2022-11-30 16:29 ` Z572 via Guix-patches via
  2022-12-02 22:03   ` [bug#59726] [PATCH 0/2] " Ludovic Courtès
  2022-11-30 16:29 ` [bug#59726] [PATCH 2/2] gnu: g-wrap: Use gexp Z572 via Guix-patches via
  1 sibling, 1 reply; 4+ messages in thread
From: Z572 via Guix-patches via @ 2022-11-30 16:29 UTC (permalink / raw)
  To: 59726

* gnu/packages/guile-xyz.scm(g-wrap)[source]: Modify configure to add Guile
3.0 support. move Modify configure guilemoduledir to it. dons't use removed
api.

[inputs]: add Guile 3.0, indent.
[native-inputs]: add Guile 3.0.
[propagated-inputs]: add libffi, remove guile-2.2.
[arguments]:
<#:configure-flags>: remove it.
<#:parallel-build?>: set it to #f.
<#:make-flags>: set it to '("GUILE_AUTO_COMPILE=0)".
<#:phases>: add set-indent-program-path phase, remove pre-configure phase.
---
 gnu/packages/guile-xyz.scm | 51 ++++++++++++++++++++++++++------------
 1 file changed, 35 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b1620618eb..a0b5964072 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -71,6 +71,7 @@ (define-module (gnu packages guile-xyz)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
@@ -2135,25 +2136,43 @@ (define-public g-wrap
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
+                "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))
+              (modules '((guix build utils)))
+              (snippet '(begin
+                          ;; allow guile 3.0
+                          (substitute* "configure"
+                            (("2\\.2 2\\.0")
+                             "3.0 2.2 2.0"))
+                          (substitute* (find-files "." "^Makefile.in$")
+                            (("guilemoduledir =.*guile/site" all)
+                             (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+                          ;; don't use removed api
+                          (substitute* "guile/g-wrap/guile-runtime.c"
+                            (("scm_class_([a-z]+)" all first)
+                             (string-append
+                              "scm_c_public_ref(\"oop goops\",\"<"
+                              first ">\")"))
+                            (("scm_memory_error\\(func_name\\)")
+                             "scm_report_out_of_memory()"))))))
     (build-system gnu-build-system)
-    (native-inputs
-     (list pkg-config))
+    (native-inputs (list pkg-config guile-3.0))
     (propagated-inputs
-     (list guile-2.2 guile-lib))
-    (inputs
-     (list libffi))
+     (list guile-lib
+           ;; Required by pc file
+           libffi))
+    (inputs (list libffi indent guile-3.0))
     (arguments
-     `(#:configure-flags '("--disable-Werror")
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'pre-configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (substitute* (find-files "." "^Makefile.in$")
-                 (("guilemoduledir =.*guile/site" all)
-                  (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
-               #t))))))
+     `(#:parallel-build? #f ;not supported
+       ;; TODO: compile go files.
+       #:make-flags '("GUILE_AUTO_COMPILE=0")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'set-indent-program-path
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* "g-wrap/util.scm"
+                        (("indent \\~S")
+                         (string-append (search-input-file inputs
+                                                           "/bin/indent")
+                                        " ~S"))))))))
     (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
-- 
2.38.1





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

* [bug#59726] [PATCH 2/2] gnu: g-wrap: Use gexp.
       [not found] <cover.1669825268.git.873216071@qq.com>
  2022-11-30 16:29 ` [bug#59726] [PATCH 1/2] gnu: g-wrap: Build with Guile 3.0 Z572 via Guix-patches via
@ 2022-11-30 16:29 ` Z572 via Guix-patches via
  1 sibling, 0 replies; 4+ messages in thread
From: Z572 via Guix-patches via @ 2022-11-30 16:29 UTC (permalink / raw)
  To: 59726

* gnu/packages/guile-xyz.scm (g-wrap): Use gexp.
---
 gnu/packages/guile-xyz.scm | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index a0b5964072..5560f3a98d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2162,17 +2162,17 @@ (define-public g-wrap
            libffi))
     (inputs (list libffi indent guile-3.0))
     (arguments
-     `(#:parallel-build? #f ;not supported
-       ;; TODO: compile go files.
-       #:make-flags '("GUILE_AUTO_COMPILE=0")
-       #:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'set-indent-program-path
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (substitute* "g-wrap/util.scm"
-                        (("indent \\~S")
-                         (string-append (search-input-file inputs
-                                                           "/bin/indent")
-                                        " ~S"))))))))
+     (list #:parallel-build? #f ;not supported
+           ;; TODO: compile go files.
+           #:make-flags #~'("GUILE_AUTO_COMPILE=0")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'set-indent-program-path
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "g-wrap/util.scm"
+                              (("indent \\~S")
+                               (string-append (search-input-file inputs
+                                                                 "/bin/indent")
+                                              " ~S"))))))))
     (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
-- 
2.38.1





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

* [bug#59726] [PATCH 0/2] gnu: g-wrap: Build with Guile 3.0.
  2022-11-30 16:29 ` [bug#59726] [PATCH 1/2] gnu: g-wrap: Build with Guile 3.0 Z572 via Guix-patches via
@ 2022-12-02 22:03   ` Ludovic Courtès
       [not found]     ` <875yesdfhz.fsf@qq.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2022-12-02 22:03 UTC (permalink / raw)
  To: Z572; +Cc: 59726

Hi,

Z572 <873216071@qq.com> skribis:

> * gnu/packages/guile-xyz.scm(g-wrap)[source]: Modify configure to add Guile
> 3.0 support. move Modify configure guilemoduledir to it. dons't use removed
> api.
>
> [inputs]: add Guile 3.0, indent.
> [native-inputs]: add Guile 3.0.
> [propagated-inputs]: add libffi, remove guile-2.2.
> [arguments]:
> <#:configure-flags>: remove it.
> <#:parallel-build?>: set it to #f.
> <#:make-flags>: set it to '("GUILE_AUTO_COMPILE=0)".
> <#:phases>: add set-indent-program-path phase, remove pre-configure phase.

G-Wrap has only one user, Guile-GNOME, which is stuck on Guile 2.2.
Thus I think G-Wrap has to remain on 2.2.

Besides, G-Wrap has been unmaintained for some time and there are other,
more convenient ways to write bindings these days.  I think we can leave
it as is.

Thoughts?

Ludo’.




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

* bug#59726: [PATCH 0/2] gnu: g-wrap: Build with Guile 3.0.
       [not found]     ` <875yesdfhz.fsf@qq.com>
@ 2022-12-03  9:04       ` Z572 via Guix-patches via
  0 siblings, 0 replies; 4+ messages in thread
From: Z572 via Guix-patches via @ 2022-12-03  9:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 59726-done


ok. close.

Ludovic Courtès <ludo@gnu.org> writes:

> Hi,
>
> Z572 <873216071@qq.com> skribis:
>
>> * gnu/packages/guile-xyz.scm(g-wrap)[source]: Modify configure to add Guile
>> 3.0 support. move Modify configure guilemoduledir to it. dons't use removed
>> api.
>>
>> [inputs]: add Guile 3.0, indent.
>> [native-inputs]: add Guile 3.0.
>> [propagated-inputs]: add libffi, remove guile-2.2.
>> [arguments]:
>> <#:configure-flags>: remove it.
>> <#:parallel-build?>: set it to #f.
>> <#:make-flags>: set it to '("GUILE_AUTO_COMPILE=0)".
>> <#:phases>: add set-indent-program-path phase, remove pre-configure phase.
>
> G-Wrap has only one user, Guile-GNOME, which is stuck on Guile 2.2.
> Thus I think G-Wrap has to remain on 2.2.
>
> Besides, G-Wrap has been unmaintained for some time and there are other,
> more convenient ways to write bindings these days.  I think we can leave
> it as is.
>
> Thoughts?
>
> Ludo’.


-- 
over




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

end of thread, other threads:[~2022-12-03  9:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <cover.1669825268.git.873216071@qq.com>
2022-11-30 16:29 ` [bug#59726] [PATCH 1/2] gnu: g-wrap: Build with Guile 3.0 Z572 via Guix-patches via
2022-12-02 22:03   ` [bug#59726] [PATCH 0/2] " Ludovic Courtès
     [not found]     ` <875yesdfhz.fsf@qq.com>
2022-12-03  9:04       ` bug#59726: " Z572 via Guix-patches via
2022-11-30 16:29 ` [bug#59726] [PATCH 2/2] gnu: g-wrap: Use gexp Z572 via Guix-patches via

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