[PATCH 0/2] gnu: g-wrap: Build with Guile 3.0.

  • Done
  • quality assurance status badge
Details
2 participants
  • Z572
  • Ludovic Courtès
Owner
unassigned
Submitted by
Z572
Severity
normal
Z
(address . guix-patches@gnu.org)
tencent_4536C95227B21AFFC2746ACB874ABE6A9509@qq.com
this patchs make g-wrap build with guile-3.0 and use gexp.

Zheng Junjie (2):
gnu: g-wrap: Build with Guile 3.0.
gnu: g-wrap: Use gexp.

gnu/packages/guile-xyz.scm | 51 ++++++++++++++++++++++++++------------
1 file changed, 35 insertions(+), 16 deletions(-)


base-commit: f0ee77a17ea328e9909570bc72ab1f6bae363dab
--
2.38.1
Z
[PATCH 2/2] gnu: g-wrap: Use gexp.
(address . 59726@debbugs.gnu.org)
tencent_0753B9B24EFEA27440CBBF4A606B37368F09@qq.com
* gnu/packages/guile-xyz.scm (g-wrap): Use gexp.
---
gnu/packages/guile-xyz.scm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)

Toggle diff (35 lines)
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
Z
[PATCH 1/2] gnu: g-wrap: Build with Guile 3.0.
(address . 59726@debbugs.gnu.org)
tencent_3816FE1F9A0E6E7947095C2DDDE6742A5606@qq.com
* 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(-)

Toggle diff (74 lines)
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
L
L
Ludovic Courtès wrote on 2 Dec 2022 23:03
Re: bug#59726: [PATCH 0/2] gnu: g-wrap: Build with Guile 3.0.
(name . Z572)(address . 873216071@qq.com)(address . 59726@debbugs.gnu.org)
87o7slpinv.fsf_-_@gnu.org
Hi,

Z572 <873216071@qq.com> skribis:

Toggle quote (13 lines)
> * 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’.
Z
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 59726-done@debbugs.gnu.org)
tencent_CEECE5532589B5359B7EA972596D7F653A08@qq.com
ok. close.

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

Toggle quote (29 lines)
> 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
Closed
?