Commit Message
* gnu/packages/gtk.scm (guile-gnome): New variables.
---
gnu/packages/gtk.scm | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
Comments
Hi!
Patrick Hetu <patrick.hetu@auf.org> skribis:
> * gnu/packages/gtk.scm (guile-gnome): New variables.
This is a long-overdue addition.
Pushed as 9b381643f009025d97dfc0b82d2c00800c204380 with a few minor
changes:
> +(define-public guile-g-wrap
This one is already available in (gnu packages guile). :-)
> + (uri
> + (string-append "http://ftp.gnu.org/pub/gnu/" name
I changed that to mirror://gnu.
> + `(#:tests? #f
This should be fixed or explained.
> + #:phases (alist-cons-before
Changed to ‘modify-phases’.
> + (substitute* (find-files "." "^Makefile.am$")
Modified Makefile.in instead so that we don’t need the dependency on
Autoconf, Automake, and Libtool.
> + (description "Guile wrapper collection for the following GNOME core libraries:
Changed to what ‘guix lint’ recommends.
Thanks!
Ludo’.
Ludovic Courtès @ 2016-05-28 12:06 EDT:
> Pushed as 9b381643f009025d97dfc0b82d2c00800c204380 with a few minor
> changes:
>
>> +(define-public guile-g-wrap
>
> This one is already available in (gnu packages guile). :-)
Oops, I was looking for guile-g-wrap instead of g-wrap...
Still, the current g-wrap package needs a new patch to fix his Makefile.in
because the native-search-paths hooks won't find it for Guile 2.0.
Also, should I rename it to guile-g-wrap at the same time?
> [...]
>> + (substitute* (find-files "." "^Makefile.am$")
>
> Modified Makefile.in instead so that we don’t need the dependency on
> Autoconf, Automake, and Libtool.
>
--
Patrick
Hello,
Le Tue, 07 Jun 2016 13:57:19 -0400,
Patrick Hetu <patrick.hetu@auf.org> a écrit :
> Ludovic Courtès @ 2016-05-28 12:06 EDT:
>
> > Pushed as 9b381643f009025d97dfc0b82d2c00800c204380 with a few minor
> > changes:
> >
> >> +(define-public guile-g-wrap
> >
> > This one is already available in (gnu packages guile). :-)
>
> Oops, I was looking for guile-g-wrap instead of g-wrap...
>
> Still, the current g-wrap package needs a new patch to fix his Makefile.in
> because the native-search-paths hooks won't find it for Guile 2.0.
Note that I don't develop neither [yet] use guix [shame on me], but I don't
understand why you should change anything wrt Makefile(s):
from http://www.nongnu.org/g-wrap/download.html, Notes 3.
"... G-Wrap's modules will be installed in $prefix/share/guile/site. If it
differs from Guile's global site directory, then this path must be added to
Guile's load paths before to use G-Wrap and compile Guile-Gnome or
Guile-Clutter. ..."
Note that G-wrap compiles and runs fine with both Guile-2.0 and 2.2. So if Guix
installs G-wrap using the same prefix as the one used for guile, which I recommend,
then nothing needs to be changed since guile's default %load-path already include
(%global-site-dir), and unless $prefix would differ for guix guile-2.0 and
guile-2.2, [hopefully there are the same?], then users can always fire guile
and: ,use (g-wrap), independently from which guile version they are using.
My 2c, but as I [administratively] maintain g-wrap, feedback welcome.
> Also, should I rename it to guile-g-wrap at the same time?
IMO, it's better to keep the original name, which in this case is G-wrap
http://www.nongnu.org/g-wrap/
Cheers,
David
Patrick Hetu <patrick.hetu@auf.org> skribis:
> Ludovic Courtès @ 2016-05-28 12:06 EDT:
>
>> Pushed as 9b381643f009025d97dfc0b82d2c00800c204380 with a few minor
>> changes:
>>
>>> +(define-public guile-g-wrap
>>
>> This one is already available in (gnu packages guile). :-)
>
> Oops, I was looking for guile-g-wrap instead of g-wrap...
>
> Still, the current g-wrap package needs a new patch to fix his Makefile.in
> because the native-search-paths hooks won't find it for Guile 2.0.
But it works well to build guile-gnome AFAICS. When is it a problem?
But yeah, patching it to match the native-search-paths is a good idea.
> Also, should I rename it to guile-g-wrap at the same time?
I don’t think so, because it’s both a program and a library, not just a
library (I see that this rule mine and is not spelled out in “Packaging
Guidelines”; it probably should, if there’s consensus.)
Thanks!
Ludo’.
@@ -11,6 +11,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,6 +52,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -822,6 +824,111 @@ includes a tools to generate PDF presentations out of Org mode and Texinfo
documents.")
(license license:lgpl3+)))
+(define-public guile-g-wrap
+ (package
+ (name "guile-g-wrap")
+ (version "1.9.15")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://savannah.nongnu.org/download/g-wrap/g-wrap-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libffi" ,libffi)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("glib" ,glib)))
+ (inputs `(("guile" ,guile-2.0)))
+ (propagated-inputs
+ `(("guile-cairo" ,guile-cairo)
+ ("guile-lib" ,guile-lib)))
+ (arguments
+ `(#:configure-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "--prefix=" out)))
+ #:phases (alist-cons-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 "/2.0")))
+ (substitute* "configure"
+ (("/bin/sh") (which "bash")))))
+ %standard-phases)))
+ (outputs '("out" "debug"))
+ (synopsis "Guile library for generating function wrappers for inter-language calls")
+ (description "G-Wrap is a tool (and guile library) for generating function
+wrappers for inter-language calls.
+It currently only supports generating Guile wrappers for C functions.
+Other languages may be supported in the future, possibly on both sides.")
+ (home-page "http://www.nongnu.org/g-wrap/")
+ (license license:lgpl2.1+)))
+
+(define-public guile-gnome
+ (package
+ (name "guile-gnome")
+ (version "2.16.4")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://ftp.gnu.org/pub/gnu/" name
+ "/guile-gnome-platform/guile-gnome-platform-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1hqnqbb2lmr3hgbcv9kds1himn3av6h0lkk0zll8agcrsn7d9axd"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("atk" ,atk)
+; ("corba" ,corba) ; not packaged yet
+ ("gconf" ,gconf)
+ ("gobject-introspection" ,gobject-introspection)
+; ("gthread" ,gthread) ; not packaged yet
+ ("gnome-vfs" ,gnome-vfs)
+ ("gdk-pixbuf" ,gdk-pixbuf)
+ ("gtk+" ,gtk+-2)
+ ("libglade" ,libglade)
+ ("libgnome" ,libgnome)
+ ("libgnomecanvas" ,libgnomecanvas)
+ ("libgnomeui" ,libgnomeui)
+ ("pango" ,pango)
+ ("libffi" ,libffi)
+ ("glib" ,glib)))
+ (inputs `(("guile" ,guile-2.0)))
+ (propagated-inputs
+ `(("guile-cairo" ,guile-cairo)
+ ("guile-g-wrap" ,guile-g-wrap)
+ ("guile-lib" ,guile-lib)))
+ (arguments
+ `(#:tests? #f
+ #:phases (alist-cons-before
+ 'configure 'pre-configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (find-files "." "^Makefile.am$")
+ (("guilesite:=.*guile/site" all)
+ (string-append all "/2.0")))))
+ %standard-phases)))
+ (outputs '("out" "debug"))
+ (synopsis "Guile interface for GTK+ programming for GNOME")
+ (description "Guile wrapper collection for the following GNOME core libraries:
+
+Gobject, Glib, Atk, Pango, Pangocairo, Gdk, Gdk-Pixbuf, Gtk, Libglade,
+Gnome-Vfs, Libgnome, Libgnomecanvas, Libgnomeui, Corba")
+ (home-page "http://www.gnu.org/software/guile-gnome/")
+ (license license:gpl2+)))
+
;;;
;;; C++ bindings.
;;;