[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#40426] [PATCH] Add g-golf
From: |
Christopher Baines |
Subject: |
[bug#40426] [PATCH] Add g-golf |
Date: |
Tue, 14 Apr 2020 19:10:37 +0100 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Vitaliy Shatrov via Guix-patches via <address@hidden> writes:
> str1ngs and nly want it to be submitted to guix, and i was proudly
> take this task. Package was copied "as-is", and tested as per Guix
> manual. There is desire to package be named "g-golf", and not as
> "guile-g-golf", as the package name stands for "Gnome: Guile Object
> Library For".
Thanks for the patch,
> +(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)
Does g-golf work with Guile 3 yet? If not, that's OK.
> + ("guile-lib" ,guile-lib)
> + ("clutter" ,clutter)
> + ("gtk" ,gtk+)
> + ("glib" ,glib)))
> + (propagated-inputs
> + `(("gobject-introspection" ,gobject-introspection)))
> + (arguments
> + `(#:tests? #t
I'd remove the #:tests? argument given the default value of #t is fine.
> + #: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")
I don't quite follow this GUILE_GGOLF_UNINSTALLED environment
variable. Why not just use the absolute filename for the so file
(without the extension I think)?
Also, maybe delete the strip phase, as I don't think that does anything
apart from producing a load of warnings.
> + #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
> +applications in Guile Scheme. It comprises a direct binding to the low level
> +GObject Introspection API and higher-level functionality for importing Gnome
> +libraries and making GObject classes (and methods) available in Guile's
This looks pretty good to me, just a few things to clear up :)
Thanks,
Chris
signature.asc
Description: PGP signature