Subject: bug#76377: closed (Re: [bug#76377] gnu: packages: remove g-golf and nomad)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 27 Feb 2025 23:30:03 +0000

Your bug report

#76377: gnu: packages: remove g-golf and nomad

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
76377: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76377
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#76377] gnu: packages: remove g-golf and nomad
From: "pelzflorian (Florian Pelz)" <[email-masked]>
To: "Leo Famulari" <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Fri, 28 Feb 2025 00:29:38 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Both sides of the argument do not want to set precedent for funny
package names.  One finds guile-g-golf is adulterated (I presume so
without knowing David’s reasons).  But a package name g-golf does not
indicate that it is “just” Guile binding helper glue.  Again, we are
talking about looking at dependency listings.  We do have this
consistent naming for other Guile libraries like Sly or even Hoot.

Since the naming is generally consistent, I do not think Leo’s argument
that we are not strict about naming elsewhere holds.  This naming policy
is written down for Perl, Python, CommonLisp, Elm, Rust and is applied
by importers.  We are talking about naming of Guix packages in Guix
source code, after all.  We are definitely no longer talking about names
of the G-Golf project.

Closing this bug again.

Regards,
Florian

Subject: gnu: packages: remove g-golf and nomad
From: David Pirotte <[email-masked]>
To: [email-masked]
Date: Mon, 17 Feb 2025 19:12:55 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Attached is a patch to remove g-golf and nomad, the only package that
depends on g-golf (nomad was and still is reported to fail to build in
guix for quite a long time now, fwiw).

Please review and apply as soon as possible.

Thanks,
David
From e3b178e305434640ef903f571e8c324a414487bb Mon Sep 17 00:00:00 2001
From: David Pirotte <[email-masked]>
Date: Mon, 17 Feb 2025 19:11:12 -0300
Subject: [PATCH] gnu: packages: remove g-golf and nomad

* gnu/packages/guile-xyz.scm: Remove g-golf. Remove nomad, which depends on
  g-golf (nomad was and still is reported to fail to build in guix for quite a
  long time now, fwiw).
---
 gnu/packages/guile-xyz.scm | 218 -------------------------------------
 1 file changed, 218 deletions(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 295f69d2de..958169359f 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2519,103 +2519,6 @@ (define-public guile-sly
     (home-page "https://dthompson.us/projects/sly.html")
     (license license:gpl3+)))
 
-(define-public guile-g-golf
-  (package
-    (name "guile-g-golf")
-    (version "0.8.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://git.savannah.gnu.org/git/g-golf.git")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "14b6pjchra0axqifpm90m7jbxla2sarhd7bfhzqbn7d14b74sv2d"))))
-    (build-system gnu-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)
-              ;; 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+
-           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
-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-golf
-  (deprecated-package "g-golf" guile-g-golf))
-
-(define-public guile2.2-g-golf
-  (package
-    (inherit guile-g-golf)
-    (name "guile2.2-g-golf")
-    (inputs
-     (modify-inputs (package-inputs guile-g-golf)
-       (replace "guile" guile-2.2)
-       (replace "guile-lib" guile2.2-lib)))))
-
 (define-public g-wrap
   (package
     (name "g-wrap")
@@ -4425,127 +4328,6 @@ (define-public guile-png
 processing filters.")
     (license license:gpl3+)))
 
-(define-public nomad
-  (package
-    (name "nomad")
-    (version "0.2.0-alpha-199-g3e7a475")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://git.savannah.gnu.org/git/nomad.git/")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0p0ha6prp7pyadp61clbhc6b55023vxzfwy14j2qygb2mkq7fhic"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("bash" ,bash)
-       ("pkg-config" ,pkg-config)
-       ("libtool" ,libtool)
-       ("guile" ,guile-2.2)
-       ("glib:bin" ,glib "bin")
-       ("texinfo" ,texinfo)
-       ("gettext" ,gettext-minimal)
-       ("perl" ,perl)))
-    (inputs
-     `(("bash" ,bash-minimal) ; for wrap-program
-       ;; Guile
-       ("guile" ,guile-2.2)
-       ("guile-lib" ,guile2.2-lib)
-       ("guile-readline" ,guile2.2-readline)
-       ("guile-gcrypt" ,guile2.2-gcrypt)
-       ("gnutls" ,gnutls)
-       ("g-golf" ,guile2.2-g-golf)
-       ("shroud" ,shroud)
-       ("emacsy" ,emacsy-minimal)
-       ;; Gtk
-       ("glib" ,glib)
-       ("dbus-glib" ,dbus-glib)
-       ("glib-networking" ,glib-networking)
-       ("gtk+" ,gtk+)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("webkitgtk" ,webkitgtk-for-gtk3)
-       ("gtksourceview" ,gtksourceview-4)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("vte" ,vte)
-       ;; Gstreamer
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gst-plugins-good" ,gst-plugins-good)
-       ("gst-plugins-bad" ,gst-plugins-bad)
-       ("gst-plugins-ugly" ,gst-plugins-ugly)
-       ;; Util
-       ("xorg-server" ,xorg-server)))
-    (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (ice-9 popen)
-                  (ice-9 rdelim)
-                  (srfi srfi-26))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-webkitgtk
-           (lambda _
-             ;; Adapt to the version we have in Guix.
-             (substitute* "configure.ac"
-               (("webkit2gtk-4\\.0") "webkit2gtk-4.1")
-               (("webkit2gtk-web-extension-4\\.0")
-                "webkit2gtk-web-extension-4.1"))
-
-             (substitute* "typelib/Makefile.am"
-               (("WebKit2-4\\.0") "WebKit2-4.1"))))
-         (add-before 'check 'start-xorg-server
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; The test suite requires a running X server.
-             (system (format #f "~a/bin/Xvfb :1 &"
-                             (assoc-ref inputs "xorg-server")))
-             (setenv "DISPLAY" ":1")
-             #t))
-         (add-after 'install 'wrap-binaries
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out        (assoc-ref outputs "out"))
-                    (effective  (read-line (open-pipe*
-                                            OPEN_READ
-                                            "guile" "-c"
-                                            "(display (effective-version))")))
-                    (gst-plugins (map (lambda (i)
-                                        (string-append (assoc-ref inputs i)
-                                                       "/lib/gstreamer-1.0"))
-                                      `("gstreamer"
-                                        "gst-plugins-base"
-                                        "gst-plugins-good"
-                                        "gst-plugins-bad"
-                                        "gst-plugins-ugly")))
-                    (out-append (lambda (. args)
-                                  (apply string-append out args)))
-                    (gi-path    (out-append "/lib/girepository-1.0"))
-                    (load-path  (out-append "/share/guile/site/" effective))
-                    (comp-path  (out-append "/lib/guile/"
-                                            effective "/site-ccache"))
-                    (ext-path   (out-append "/libexec/nomad")))
-               (wrap-program (string-append out "/bin/nomad")
-                 `("GUILE_LOAD_PATH" ":" prefix
-                   (,load-path
-                    ,(getenv "GUILE_LOAD_PATH")))
-                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
-                   (,comp-path
-                    ,(getenv "GUILE_LOAD_COMPILED_PATH")))
-                 `("GI_TYPELIB_PATH" ":" prefix
-                   (,gi-path ,(getenv "GI_TYPELIB_PATH")))
-                 `("GIO_EXTRA_MODULES" ":" prefix
-                   (,(getenv "GIO_EXTRA_MODULES")))
-                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix ,gst-plugins)
-                 `("NOMAD_WEB_EXTENSION_DIR" ":" prefix (,ext-path)))
-               #t))))))
-    (home-page "https://savannah.nongnu.org/projects/nomad/")
-    (synopsis "Extensible Web Browser in Guile Scheme")
-    (description "Nomad is a Emacs-like web browser that consists of a modular
-feature-set, fully programmable in Guile Scheme.")
-    (license license:gpl3+)))
-
 (define-public guile-cv
   (package
     (name "guile-cv")
-- 
2.47.2