gnu: Add g-golf

* gnu/packages/guile-xyz.scm (g-golf): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Vitaliy Shatrov 2020-04-15 07:15:59 +00:00 committed by Christopher Baines
parent 27ed894851
commit dfe277a5ce
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
1 changed files with 78 additions and 0 deletions

View File

@ -1651,6 +1651,84 @@ capabilities.")
(home-page "https://dthompson.us/projects/sly.html")
(license license:gpl3+)))
(define-public g-golf
(let ((commit "4a4edf25e4877df9182c77843bdd98ab59e13ef7"))
(package
(name "g-golf")
(version (git-version "1" "683" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/g-golf.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"09p0gf71wbmlm9kri693a8fvr9hl3hhlmlidyadwjdh7853xg0h8"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
("guile-lib" ,guile-lib)
("clutter" ,clutter)
("gtk" ,gtk+)
("glib" ,glib)))
(propagated-inputs
`(("gobject-introspection" ,gobject-introspection)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'tests-work-arounds
(lambda* (#:key inputs #:allow-other-keys)
;; In build environment, There is no /dev/tty
(substitute*
"test-suite/tests/gobject.scm"
(("/dev/tty") "/dev/null"))))
(add-before 'configure 'substitute-libs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((get (lambda (key lib)
(string-append (assoc-ref inputs key) "/lib/" lib)))
(libgi (get "gobject-introspection" "libgirepository-1.0"))
(libglib (get "glib" "libglib-2.0"))
(libgobject (get "glib" "libgobject-2.0"))
(libgdk (get "gtk" "libgdk-3")))
(substitute* "configure"
(("SITEDIR=\"\\$datadir/g-golf\"")
"SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
(("SITECCACHEDIR=\"\\$libdir/g-golf/")
"SITECCACHEDIR=\"$libdir/"))
(substitute* "g-golf/init.scm"
(("libgirepository-1.0") libgi)
(("libglib-2.0") libglib)
(("libgdk-3") libgdk)
(("libgobject-2.0") libgobject)
(("\\(dynamic-link \"libg-golf\"\\)")
(format #f "~s"
`(dynamic-link
(format #f "~alibg-golf"
(if (getenv "GUILE_GGOLF_UNINSTALLED")
""
,(format #f "~a/lib/"
(assoc-ref outputs "out"))))))))
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_GGOLF_UNINSTALLED" "1")
#t))))))
(home-page "https://www.gnu.org/software/g-golf/")
(synopsis "Guile bindings for GObject Introspection")
(description
"G-Golf (Gnome: (Guile Object Library for)) is a library for developing
modern applications in Guile Scheme. It comprises a direct binding to the
GObject Introspection API and higher-level functionality for importing Gnome
libraries and making GObject classes (and methods) available in Guile's
object-oriented programming system, GOOPS.")
(license license:lgpl3+))))
(define-public g-wrap
(package
(name "g-wrap")