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:
parent
27ed894851
commit
dfe277a5ce
|
@ -1651,6 +1651,84 @@ capabilities.")
|
||||||
(home-page "https://dthompson.us/projects/sly.html")
|
(home-page "https://dthompson.us/projects/sly.html")
|
||||||
(license license:gpl3+)))
|
(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
|
(define-public g-wrap
|
||||||
(package
|
(package
|
||||||
(name "g-wrap")
|
(name "g-wrap")
|
||||||
|
|
Loading…
Reference in New Issue