guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#60533] [PATCH] Update guile-g-golf.


From: Liliana Marie Prikler
Subject: [bug#60533] [PATCH] Update guile-g-golf.
Date: Wed, 04 Jan 2023 21:28:04 +0100
User-agent: Evolution 3.46.0

Hi Preston,

Am Dienstag, dem 03.01.2023 um 14:20 -0600 schrieb Preston Firestone:
> * guile-xyz.scm: bump guile-g-golf to version 0.8.0. 
Proper ChangeLog would be 
* gnu/packages/guile-xyz.scm (guile-g-golf): Update to 0.8.0-a.1.

See below for my comment about the version.

> This release works under guix, if  a guile program relying on g-golf
> is run in a guix shell like so: `guix shell guile-g-golf guile gtk --
> [program]`. 
Useless information in the context of a ChangeLog.
More useful would have been the following bits:
[arguments]: Add #:parallel-build? #f.
[inputs]: Replace glib with glib-next.
[propagated-inputs]: Replace gobject-introspection with gobject-
introspection-next.

> ---
>  gnu/packages/guile-xyz.scm | 155 ++++++++++++++++++-----------------
> --
>  1 file changed, 74 insertions(+), 81 deletions(-)
> 
> diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
> index 9c94764ab3..692ef9b50b 100644
> --- a/gnu/packages/guile-xyz.scm
> +++ b/gnu/packages/guile-xyz.scm
> @@ -2181,91 +2181,84 @@ (define-public guile-sly
>      (license license:gpl3+)))
>  
>  (define-public guile-g-golf
> -  (let ((commit   "1824633d37da3794f349d6829e9dac2cf89adaa8")
> -        (revision "1010"))
> -    (package
> -      (name "guile-g-golf")
> -      (version (git-version "0.1.0" revision 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
> "0ncpqv6pbsx9fjmdzvzbjljnhqgw9pynqy9vr9aq35nb7rzrhfdf"))))
> -      (build-system gnu-build-system)
> -      (arguments
> -       (list
> -        #:configure-flags
> -        #~(list "--with-guile-site=no")
> -        #:phases
> -        #~(modify-phases %standard-phases
> -            (add-after 'unpack 'fix-guile-site-directory
> -              (lambda _
> -                (substitute* "configure.ac"
> -                  (("SITEDIR=.*$")
> -                  
> "SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\";\n")
> -                  (("SITECCACHEDIR=\"\\$libdir/g-golf/")
> -                   "SITECCACHEDIR=\"$libdir/"))))
> -            (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)
> -                (define (get lib)
> -                  (search-input-file inputs (string-append "lib/"
> lib ".so")))
> -
> -                (let* ((libgi      (get "libgirepository-1.0"))
> -                       (libglib    (get "libglib-2.0"))
> -                       (libgobject (get "libgobject-2.0"))
> -                       (libg-golf (string-append #$output
> "/lib/libg-golf")))
> -                  (substitute* "g-golf/init.scm"
> -                    (("libgirepository-1.0") libgi)
> -                    (("libglib-2.0") libglib)
> -                    (("libgobject-2.0") libgobject)
> -                    (("\\(dynamic-link \"libg-golf\"\\)")
> -                     (format #f "~s"
> -                             `(catch #t
> -                                (lambda ()
> -                                  (dynamic-link "libg-golf"))
> -                                (lambda _
> -                                  (dynamic-link ,libg-golf))))))
> -                  (setenv "GUILE_AUTO_COMPILE" "0")
> -                  #t)))
> -            (add-before 'check 'start-xorg-server
> -              (lambda* (#:key inputs #:allow-other-keys)
> -                ;; The test suite requires a running X server.
> -                (system "Xvfb :1 &")
> -                (setenv "DISPLAY" ":1")
> -                #t)))))
> -      (inputs
> -       (list guile-3.0 guile-lib glib))
> -      (native-inputs
> -       (list autoconf
> -             automake
> -             texinfo
> -             gettext-minimal
> -             libtool
> -             pkg-config
> -             ;; required for tests
> -             gtk+
> -             clutter
> -             xorg-server-for-tests))
> -      (propagated-inputs
> -       (list gobject-introspection))
> -      (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
> +  (package
> + (name "guile-g-golf")
> + (version "0.8.0")
The actual version appears to be 0.8.0-a.1
> + (source (origin
> +          (method url-fetch)
> +          (uri
> +          
> "https://git.savannah.gnu.org/cgit/g-golf.git/snapshot/g-golf-0.8.0-a
> .1.tar.gz")
> +          (sha256
> +           "1zqycqss0g9aqwmvrvsz43mmfxzi7dj3waxkb4w8ikdajjm7rd8r")))
You should probably stay with git-fetch.
> + (build-system glib-or-gtk-build-system)
> + (arguments
> +  (list #:configure-flags #~(list "--with-guile-site=no")
> +        #:parallel-build? #f
> +        #:phases #~(modify-phases %standard-phases
> +     (add-after 'unpack 'fix-guile-site-directory
> +       (lambda _
> + (substitute* "configure.ac"
> +   (("SITEDIR=.*$")
> +    "SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\";\n")
> +   (("SITECCACHEDIR=\"\\$libdir/g-golf/")
> +    "SITECCACHEDIR=\"$libdir/"))))
> +     (add-before 'configure 'tests-work-arounds
> +       (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "test-suite/tests/gobject.scm"
> +   (("/dev/tty")
> +    "/dev/null"))))
> +     (add-before 'configure 'substitute-libs
> +       (lambda* (#:key inputs outputs #:allow-other-keys)
> + (define (get lib)
> +   (search-input-file inputs
> +      (string-append "lib/" lib
> +     ".so")))
> + (let* ((libgi (get "libgirepository-1.0"))
> + (libglib (get "libglib-2.0"))
> + (libgobject (get "libgobject-2.0"))
> + (libg-golf (string-append #$output
> +  "/lib/libg-golf")))
> +   (substitute* "g-golf/init.scm"
> +     (("libgirepository-1.0")
> +      libgi)
> +     (("libglib-2.0")
> +      libglib)
> +     (("libgobject-2.0")
> +      libgobject)
> +     (("\\(dynamic-link \"libg-golf\"\\)")
> +      (format #f "~s"
> +      `(catch #t
> + (lambda ()
> +   (dynamic-link "libg-golf"))
> + (lambda _
> +   (dynamic-link ,libg-golf))))))
> +   (setenv "GUILE_AUTO_COMPILE" "0") #t)))
> +     (add-before 'check 'start-xorg-server-for-testing
> +       (lambda* (#:key inputs #:allow-other-keys)
> + (system "Xvfb :1 &")
> + (setenv "DISPLAY" ":1") #t)))))
> + (inputs (list guile-3.0 guile-lib glib-next))
> + (native-inputs (list autoconf
> +                      automake
> +                      texinfo
> +                      gettext-minimal
> +                      libtool
> +                      pkg-config
> +                      ;; required for tests
> +                      gtk+
> +                      clutter
> +                      xorg-server-for-tests
> +      dbus))
> + (propagated-inputs (list gobject-introspection-next))
> + (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+))))
> + (license license:lgpl3+)))
Do indent your code properly.  Also make sure that your MUA doesn't
complicate `git am'-based workflows.

Attached is a patch in which all of the above have been addressed.

Cheers

Attachment: 0001-gnu-guile-g-golf-Update-to-0.8.0-a.1.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]