GNU bug report logs - #75856
[PATCH] gnu: eureka: Update to 2.0.2.

Previous Next

Package: guix-patches;

Reported by: Andrew Wong <wongandj <at> icloud.com>

Date: Sun, 26 Jan 2025 10:39:02 UTC

Severity: normal

Tags: patch

Done: Andrew Wong <brosasaki <at> gmail.com>

To reply to this bug, email your comments to 75856 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Sun, 26 Jan 2025 10:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andrew Wong <wongandj <at> icloud.com>:
New bug report received and forwarded. Copy sent to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org. (Sun, 26 Jan 2025 10:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: guix-patches <at> gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH] gnu: eureka: Update to 2.0.2.
Date: Sun, 26 Jan 2025 05:36:56 -0500
* gnu/packages/game-development.scm (eureka): Update to 2.0.2.

Change-Id: I3ec6694cfd66056cc0b31e23bb6b237c1e591925
---
 gnu/packages/game-development.scm | 67 +++++++++++++------------------
 1 file changed, 28 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 899b72d741..e38b0723ec 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -2407,47 +2407,36 @@ (define-public entt
 (define-public eureka
   (package
     (name "eureka")
-    (version "1.24")
+    (version "2.0.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
-                                  version "/eureka-"
-                                  ;; version without dots e.g 1.21 => 121
-                                  (string-join (string-split version #\.) "")
-                                  "-source.tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ioan-chera/eureka-editor")
+                    (commit (string-append "eureka-" version))))
+              (file-name (git-file-name name version))
               (sha256
-               (base32
-                "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:tests? #f
-       #:make-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list (string-append "PREFIX=" out)))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'build 'prepare-install-directories
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/bin"))
-               (mkdir-p (string-append out "/share"))
-
-               (with-fluids ((%default-port-encoding #f))
-                 (substitute* "./src/main.cc"
-                   (("/usr/local") out)))
-
-               (substitute* "Makefile"
-                 (("-o root") ""))))))))
-    (inputs `(("mesa" ,mesa)
-              ("libxft" ,libxft)
-              ("libxinerama" ,libxinerama)
-              ("libfontconfig" ,fontconfig)
-              ("libjpeg" ,libjpeg-turbo)
-              ("libpng" ,libpng)
-              ("fltk" ,fltk)
-              ("zlib" ,zlib)))
-    (native-inputs (list pkg-config xdg-utils))
+               (base32 "10bq7kr7vidrlw5l1mq35x83xsrzb9lhdzqdr07gkj40x0w493a0"))
+              ))
+    (build-system cmake-build-system)
+    (arguments '(#:tests? #f
+                 #:configure-flags (list "-DENABLE_UNIT_TESTS=OFF")
+                 #:phases (modify-phases %standard-phases
+                              (add-after 'unpack 'prepare-install-directories
+                                (lambda* (#:key outputs #:allow-other-keys)
+                                  (let ((out (assoc-ref outputs "out")))
+                                    (with-fluids ((%default-port-encoding #f))
+                                      (substitute* "./src/main.cc"
+                                        (("/usr/local") out)))))))))
+    (native-inputs (list xdg-utils))
+    (inputs (list fltk
+                  libxft
+                  libxinerama
+                  fontconfig
+                  libjpeg-turbo
+                  libpng
+                  libxpm
+                  glu
+                  zlib))
     (synopsis "Doom map editor")
     (description "Eureka is a map editor for the classic DOOM games, and a few
 related games such as Heretic and Hexen.  It comes with a 3d preview mode and

base-commit: 87045f0982bd7aebb07b380cbf322651227546f4
-- 
2.47.1





Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Sun, 26 Jan 2025 17:17:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: James Smith <jsubuntuxp <at> disroot.org>
To: Andrew Wong via Guix-patches via <guix-patches <at> gnu.org>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, Andrew Wong <wongandj <at> icloud.com>,
 75856 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#75856] [PATCH] gnu: eureka: Update to 2.0.2.
Date: Sun, 26 Jan 2025 10:15:25 -0700
Andrew Wong via Guix-patches via <guix-patches <at> gnu.org> writes:
Hi,

> * gnu/packages/game-development.scm (eureka): Update to 2.0.2.
>
Changes made below should be documented here.
> Change-Id: I3ec6694cfd66056cc0b31e23bb6b237c1e591925
> ---
>  gnu/packages/game-development.scm | 67 +++++++++++++------------------
>  1 file changed, 28 insertions(+), 39 deletions(-)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
> index 899b72d741..e38b0723ec 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -2407,47 +2407,36 @@ (define-public entt
>  (define-public eureka
>    (package
>      (name "eureka")
> -    (version "1.24")
> +    (version "2.0.2")
>      (source (origin
              ^
Nitpick: Should probably add an indention here.
> -              (method url-fetch)
> -              (uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
> -                                  version "/eureka-"
> -                                  ;; version without dots e.g 1.21 => 121
> -                                  (string-join (string-split version #\.) "")
> -                                  "-source.tar.gz"))
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/ioan-chera/eureka-editor")
> +                    (commit (string-append "eureka-" version))))
> +              (file-name (git-file-name name version))
Should document switching source from tarballs to git.
>                (sha256
> -               (base32
> -                "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
> -    (build-system gnu-build-system)
> -    (arguments
> -     '(#:tests? #f
> -       #:make-flags
> -       (let ((out (assoc-ref %outputs "out")))
> -         (list (string-append "PREFIX=" out)))
> -       #:phases
> -       (modify-phases %standard-phases
> -         (delete 'configure)
> -         (add-before 'build 'prepare-install-directories
> -           (lambda* (#:key outputs #:allow-other-keys)
> -             (let ((out (assoc-ref outputs "out")))
> -               (mkdir-p (string-append out "/bin"))
> -               (mkdir-p (string-append out "/share"))
> -
> -               (with-fluids ((%default-port-encoding #f))
> -                 (substitute* "./src/main.cc"
> -                   (("/usr/local") out)))
> -
> -               (substitute* "Makefile"
> -                 (("-o root") ""))))))))
> -    (inputs `(("mesa" ,mesa)
> -              ("libxft" ,libxft)
> -              ("libxinerama" ,libxinerama)
> -              ("libfontconfig" ,fontconfig)
> -              ("libjpeg" ,libjpeg-turbo)
> -              ("libpng" ,libpng)
> -              ("fltk" ,fltk)
> -              ("zlib" ,zlib)))
> -    (native-inputs (list pkg-config xdg-utils))
> +               (base32 "10bq7kr7vidrlw5l1mq35x83xsrzb9lhdzqdr07gkj40x0w493a0"))
> +              ))
                 ^
Please don't leave parenthesises hanging.
> +    (build-system cmake-build-system)
> +    (arguments '(#:tests? #f
> +                 #:configure-flags (list "-DENABLE_UNIT_TESTS=OFF")
Question: Can tests be enabled?
> +                 #:phases (modify-phases %standard-phases
> +                              (add-after 'unpack 'prepare-install-directories
> +                                (lambda* (#:key outputs #:allow-other-keys)
> +                                  (let ((out (assoc-ref outputs "out")))
> +                                    (with-fluids ((%default-port-encoding #f))
> +                                      (substitute* "./src/main.cc"
> +                                        (("/usr/local") out)))))))))
If you're reformatting the arguments field, you should go ahead and
switch to G-Exps while you're at it.
> +    (native-inputs (list xdg-utils))
> +    (inputs (list fltk
              ^
Nitpick: Quite a bit of whitespace, maybe add an indention after inputs?
> +                  libxft
> +                  libxinerama
> +                  fontconfig
> +                  libjpeg-turbo
> +                  libpng
> +                  libxpm
> +                  glu
> +                  zlib))
>      (synopsis "Doom map editor")
>      (description "Eureka is a map editor for the classic DOOM games, and a few
>  related games such as Heretic and Hexen.  It comes with a 3d preview mode and
>
> base-commit: 87045f0982bd7aebb07b380cbf322651227546f4
Overall, looking good. Can you send a v2?

James Smith




Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Sun, 26 Jan 2025 17:17:02 GMT) Full text and rfc822 format available.

Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Mon, 27 Jan 2025 02:39:02 GMT) Full text and rfc822 format available.

Message #14 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 75856 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH v2] gnu: eureka: Update to 2.0.2.
Date: Sun, 26 Jan 2025 21:36:13 -0500
* gnu/packages/game-development.scm (eureka): Update to 2.0.2.
[source]: Switch source from obsolete tarballs to git.
[arguments] <configure-flags>: Disable unit tests.
<phases>: Revise 'prepare-install-directories for new build system.

Change-Id: I3ec6694cfd66056cc0b31e23bb6b237c1e591925
---
Here is v2. James: I cannot enable tests because doing so causes an attempt to
download and compile googletests, even if it's already present in native-inputs.
 gnu/packages/game-development.scm | 76 ++++++++++++++-----------------
 1 file changed, 35 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 899b72d741..95816c03d4 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -2407,49 +2407,43 @@ (define-public entt
 (define-public eureka
   (package
     (name "eureka")
-    (version "1.24")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
-                                  version "/eureka-"
-                                  ;; version without dots e.g 1.21 => 121
-                                  (string-join (string-split version #\.) "")
-                                  "-source.tar.gz"))
-              (sha256
-               (base32
-                "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
-    (build-system gnu-build-system)
+    (version "2.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ioan-chera/eureka-editor")
+             (commit (string-append "eureka-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "10bq7kr7vidrlw5l1mq35x83xsrzb9lhdzqdr07gkj40x0w493a0"))))
+    (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f
-       #:make-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list (string-append "PREFIX=" out)))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'build 'prepare-install-directories
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/bin"))
-               (mkdir-p (string-append out "/share"))
-
-               (with-fluids ((%default-port-encoding #f))
-                 (substitute* "./src/main.cc"
-                   (("/usr/local") out)))
-
-               (substitute* "Makefile"
-                 (("-o root") ""))))))))
-    (inputs `(("mesa" ,mesa)
-              ("libxft" ,libxft)
-              ("libxinerama" ,libxinerama)
-              ("libfontconfig" ,fontconfig)
-              ("libjpeg" ,libjpeg-turbo)
-              ("libpng" ,libpng)
-              ("fltk" ,fltk)
-              ("zlib" ,zlib)))
-    (native-inputs (list pkg-config xdg-utils))
+     (list
+      #:tests? #f ;tests cause attempted download/build of googletests.
+      #:configure-flags #~(list "-DENABLE_UNIT_TESTS=OFF")
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'prepare-install-directories
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((out (assoc-ref outputs "out")))
+                         (with-fluids ((%default-port-encoding #f))
+                                      (substitute* "./src/main.cc"
+                                        (("/usr/local")
+                                         out)))))))))
+    (native-inputs (list xdg-utils))
+    (inputs
+     (list fltk
+           libxft
+           libxinerama
+           fontconfig
+           libjpeg-turbo
+           libpng
+           libxpm
+           glu
+           zlib))
     (synopsis "Doom map editor")
-    (description "Eureka is a map editor for the classic DOOM games, and a few
+    (description
+     "Eureka is a map editor for the classic DOOM games, and a few
 related games such as Heretic and Hexen.  It comes with a 3d preview mode and
 a 2D editor view.")
     (home-page "https://eureka-editor.sourceforge.net/")

base-commit: 87045f0982bd7aebb07b380cbf322651227546f4
-- 
2.47.1





Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Mon, 27 Jan 2025 18:01:03 GMT) Full text and rfc822 format available.

Message #17 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Andrew Wong <wongandj <at> icloud.com>, 75856 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>
Subject: Re: [bug#75856] [PATCH v2] gnu: eureka: Update to 2.0.2.
Date: Mon, 27 Jan 2025 19:00:26 +0100
Am Sonntag, dem 26.01.2025 um 21:36 -0500 schrieb Andrew Wong:
> * gnu/packages/game-development.scm (eureka): Update to 2.0.2.
> [source]: Switch source from obsolete tarballs to git.
Prefer less loaded language.  "Switch from tarballs to git." suffices.
> [arguments] <configure-flags>: Disable unit tests.
> <phases>: Revise 'prepare-install-directories for new build system.
> 
> Change-Id: I3ec6694cfd66056cc0b31e23bb6b237c1e591925
> ---
> Here is v2. James: I cannot enable tests because doing so causes an
> attempt to download and compile googletests, even if it's already
> present in native-inputs.
In other words: there's some unbundling to do :)




Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Mon, 27 Jan 2025 23:20:02 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: guix-patches <guix-patches <at> gnu.org>
Subject: Re: [bug#75856] [PATCH v2] gnu: eureka: Update to 2.0.2.
Date: Mon, 27 Jan 2025 18:18:40 -0500
> Prefer less loaded language.  "Switch from tarballs to git." suffices.
Sorry, I meant to convey that the switch was made from tarballs because 
the project doesn't use them for source distribution anymore :)
> In other words: there's some unbundling to do :)
noted, will work on that for v3.




Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Wed, 05 Feb 2025 03:23:01 GMT) Full text and rfc822 format available.

Message #23 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 75856 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH v3] gnu: eureka: Update to 2.0.2.
Date: Tue,  4 Feb 2025 22:17:35 -0500
* gnu/packages/game-development.scm (eureka): Update to 2.0.2.
[source]: Switch source from tarballs to git.
[arguments] <configure-flags>: Disable unit tests.
<phases>: Revise 'prepare-install-directories for new build system.

Change-Id: I6114be8ef3b05ceb6b80efef29e20da9451b3dbc
---
Here's v3. Liliana: I tried to unbundle googletest by replacing the FetchContent block with find_package, but I ran into an issue with ld not finding certain symbols in the googletest package; it seems like it depends on the source itself, somehow.
 gnu/packages/game-development.scm | 75 +++++++++++++++----------------
 1 file changed, 35 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index dc642bf052..149962a3e1 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2023, 2024 John Kehayias <john.kehayias <at> protonmail.com>
 ;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2025 Andrew Wong <wongandj <at> icloud.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2407,47 +2408,41 @@ (define-public entt
 (define-public eureka
   (package
     (name "eureka")
-    (version "1.24")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
-                                  version "/eureka-"
-                                  ;; version without dots e.g 1.21 => 121
-                                  (string-join (string-split version #\.) "")
-                                  "-source.tar.gz"))
-              (sha256
-               (base32
-                "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
-    (build-system gnu-build-system)
+    (version "2.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ioan-chera/eureka-editor")
+             (commit (string-append "eureka-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "10bq7kr7vidrlw5l1mq35x83xsrzb9lhdzqdr07gkj40x0w493a0"))
+       (patches (search-patches "eureka-unbundle-googletest.patch"))))
+    (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f
-       #:make-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list (string-append "PREFIX=" out)))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'build 'prepare-install-directories
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/bin"))
-               (mkdir-p (string-append out "/share"))
-
-               (with-fluids ((%default-port-encoding #f))
-                 (substitute* "./src/main.cc"
-                   (("/usr/local") out)))
-
-               (substitute* "Makefile"
-                 (("-o root") ""))))))))
-    (inputs `(("mesa" ,mesa)
-              ("libxft" ,libxft)
-              ("libxinerama" ,libxinerama)
-              ("libfontconfig" ,fontconfig)
-              ("libjpeg" ,libjpeg-turbo)
-              ("libpng" ,libpng)
-              ("fltk" ,fltk)
-              ("zlib" ,zlib)))
-    (native-inputs (list pkg-config xdg-utils))
+     (list
+      #:tests? #f ;tests cause attempted download/build of googletests.
+      #:configure-flags #~(list "-DENABLE_UNIT_TESTS=OFF")
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'prepare-install-directories
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((out (assoc-ref outputs "out")))
+                         (with-fluids ((%default-port-encoding #f))
+                                      (substitute* "./src/main.cc"
+                                        (("/usr/local")
+                                         out)))))))))
+    (native-inputs (list xdg-utils))
+    (inputs
+     (list fltk
+           libxft
+           libxinerama
+           fontconfig
+           libjpeg-turbo
+           libpng
+           libxpm
+           glu
+           zlib))
     (synopsis "Doom map editor")
     (description "Eureka is a map editor for the classic DOOM games, and a few
 related games such as Heretic and Hexen.  It comes with a 3d preview mode and

base-commit: 5a897c5c95a81278b044c18d962d3bd83131ba06
-- 
2.48.1





Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Tue, 11 Feb 2025 20:54:02 GMT) Full text and rfc822 format available.

Message #26 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 75856 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH] gnu: Add flycast.
Date: Tue, 11 Feb 2025 15:51:53 -0500
* gnu/packages/emulators.scm (flycast): New variable.

Change-Id: I358235492a3493c3126f7ca9f738ed2706e36105
---
Flycast has a libretro core too, but I haven't gotten it working yet. I am also working directly with the developer to try to un-bundle some of the deps.
 gnu/packages/emulators.scm | 56 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index f20b6da79b..c6ff685948 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -4072,6 +4072,62 @@ (define-public exomizer
     ;; zlib license with an (non-)advertising clause.
     (license license:zlib)))
 
+(define-public flycast
+  (package
+    (name "flycast")
+    (version "2.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/flyinghead/flycast")
+             (commit (string-append "v" version))
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ainy75gkrvilcm89hq6wq9md41w0mxgp6l27q5fzrxxykpjh6ym"))
+       (modules '((guix build utils)
+                  (guile)))
+       (snippet
+        #~(begin
+            (substitute* "CMakeLists.txt"
+              (("add_subdirectory\\(core/deps/Vulkan-Headers\\)")
+               "find_package(VulkanHeaders)"))))))
+    (build-system cmake-build-system)
+    (inputs (list pkg-config
+                  sdl2
+                  vulkan-headers
+                  glslang
+                  libzip
+                  curl
+                  alsa-lib
+                  lua
+                  ao
+                  pulseaudio
+                  miniupnpc
+                  ;; vv needed for vulkan
+                  spirv-tools))
+    (arguments
+     (list #:tests? #f                   ;no target 'test'
+           #:configure-flags
+           #~(list "-DUSE_HOST_GLSLANG=OFF"
+                   ;; https://github.com/flyinghead/flycast/issues/1843
+                   "-DUSE_HOST_LIBZIP=ON"
+                   "-DUSE_HOST_SDL=ON"
+                   "-DUSE_ALSA=ON"
+                   "-DUSE_LUA=ON"
+                   "-DUSE_LIBAO=ON"
+                   "-DUSE_PULSEAUDIO=ON"
+                   "-DUSE_BREAKPAD=OFF"
+                   "-DUSE_VULKAN=ON"
+                   "-DUSE_DX9=OFF"
+                   "-DUSE_DX11=OFF")))
+    (home-page "https://github.com/flyinghead/flycast")
+    (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator")
+    (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2,
+and Atomiswave emulator derived from reicast.")
+    (license license:gpl2+)))
+
 (define-public freedisksysrom
   ;; There is no release; use the latest commit.
   (let ((commit "0d5f95f109bb3aadf2bb9510bfda13879bbd5266")

base-commit: 5a897c5c95a81278b044c18d962d3bd83131ba06
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Thu, 13 Feb 2025 02:32:02 GMT) Full text and rfc822 format available.

Message #29 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Andrew Wong <wongandj <at> icloud.com>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 75856 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#75856: [PATCH] gnu: eureka: Update to 2.0.2.
Date: Thu, 13 Feb 2025 11:31:21 +0900
Hi Andrew,

Andrew Wong <wongandj <at> icloud.com> writes:

> * gnu/packages/game-development.scm (eureka): Update to 2.0.2.
> [source]: Switch source from tarballs to git.
> [arguments] <configure-flags>: Disable unit tests.
> <phases>: Revise 'prepare-install-directories for new build system.

It looks like yo forgot to mention newly added inputs like libxpm and
glu in the above change log.

> Change-Id: I6114be8ef3b05ceb6b80efef29e20da9451b3dbc
> ---
> Here's v3. Liliana: I tried to unbundle googletest by replacing the
> FetchContent block with find_package, but I ran into an issue with ld
> not finding certain symbols in the googletest package; it seems like
> it depends on the source itself, somehow.

FetchContent doesn't need to be patched out; CMake has some variables
you can set to tell it to prefer a system version.  See
"-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS" in the jami package
definition for an example, and

--8<---------------cut here---------------start------------->8---
info --index-search FETCHCONTENT_TRY_FIND_PACKAGE_MODE cmake
--8<---------------cut here---------------end--------------->8---

for its documentation.

>  gnu/packages/game-development.scm | 75 +++++++++++++++----------------
>  1 file changed, 35 insertions(+), 40 deletions(-)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
> index dc642bf052..149962a3e1 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -31,6 +31,7 @@
>  ;;; Copyright © 2023, 2024 John Kehayias <john.kehayias <at> protonmail.com>
>  ;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
>  ;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> +;;; Copyright © 2025 Andrew Wong <wongandj <at> icloud.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2407,47 +2408,41 @@ (define-public entt
>  (define-public eureka
>    (package
>      (name "eureka")
> -    (version "1.24")
> -    (source (origin
> -              (method url-fetch)
> -              (uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
> -                                  version "/eureka-"
> -                                  ;; version without dots e.g 1.21 => 121
> -                                  (string-join (string-split version #\.) "")
> -                                  "-source.tar.gz"))
> -              (sha256
> -               (base32
> -                "1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
> -    (build-system gnu-build-system)
> +    (version "2.0.2")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/ioan-chera/eureka-editor")
> +             (commit (string-append "eureka-" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "10bq7kr7vidrlw5l1mq35x83xsrzb9lhdzqdr07gkj40x0w493a0"))
> +       (patches (search-patches "eureka-unbundle-googletest.patch"))))

I don't see a patch; you must have forgotten to remove it above?

> +    (build-system cmake-build-system)
>      (arguments
> -     '(#:tests? #f
> -       #:make-flags
> -       (let ((out (assoc-ref %outputs "out")))
> -         (list (string-append "PREFIX=" out)))
> -       #:phases
> -       (modify-phases %standard-phases
> -         (delete 'configure)
> -         (add-before 'build 'prepare-install-directories
> -           (lambda* (#:key outputs #:allow-other-keys)
> -             (let ((out (assoc-ref outputs "out")))
> -               (mkdir-p (string-append out "/bin"))
> -               (mkdir-p (string-append out "/share"))
> -
> -               (with-fluids ((%default-port-encoding #f))
> -                 (substitute* "./src/main.cc"
> -                   (("/usr/local") out)))
> -
> -               (substitute* "Makefile"
> -                 (("-o root") ""))))))))
> -    (inputs `(("mesa" ,mesa)
> -              ("libxft" ,libxft)
> -              ("libxinerama" ,libxinerama)
> -              ("libfontconfig" ,fontconfig)
> -              ("libjpeg" ,libjpeg-turbo)
> -              ("libpng" ,libpng)
> -              ("fltk" ,fltk)
> -              ("zlib" ,zlib)))
> -    (native-inputs (list pkg-config xdg-utils))
> +     (list
> +      #:tests? #f ;tests cause attempted download/build of googletests.
> +      #:configure-flags #~(list "-DENABLE_UNIT_TESTS=OFF")

If my above suggestion to use the
-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=always configure flag works, adjust
the above accordingly.

> +      #:phases #~(modify-phases %standard-phases
> +                   (add-after 'unpack 'prepare-install-directories
> +                     (lambda* (#:key outputs #:allow-other-keys)
> +                       (let ((out (assoc-ref outputs "out")))
> +                         (with-fluids ((%default-port-encoding #f))
> +                                      (substitute* "./src/main.cc"
> +                                        (("/usr/local")
> +                                         out)))))))))

Nitpick: the modern way to access outputs is via the gexp variables like
#$output.

> +    (native-inputs (list xdg-utils))
> +    (inputs
> +     (list fltk
> +           libxft
> +           libxinerama
> +           fontconfig
> +           libjpeg-turbo
> +           libpng
> +           libxpm
> +           glu
> +           zlib))

Please keep the inputs sorted lexicographically.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Thu, 13 Feb 2025 02:47:02 GMT) Full text and rfc822 format available.

Message #32 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Andrew Wong <wongandj <at> icloud.com>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 75856 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#75856: [PATCH] gnu: eureka: Update to 2.0.2.
Date: Thu, 13 Feb 2025 11:46:31 +0900
Hello,

Andrew Wong <wongandj <at> icloud.com> writes:

> * gnu/packages/emulators.scm (flycast): New variable.
>
> Change-Id: I358235492a3493c3126f7ca9f738ed2706e36105
> ---
> Flycast has a libretro core too, but I haven't gotten it working
> yet. I am also working directly with the developer to try to un-bundle
> some of the deps.
>  gnu/packages/emulators.scm | 56 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
> index f20b6da79b..c6ff685948 100644
> --- a/gnu/packages/emulators.scm
> +++ b/gnu/packages/emulators.scm
> @@ -4072,6 +4072,62 @@ (define-public exomizer
>      ;; zlib license with an (non-)advertising clause.
>      (license license:zlib)))
>  
> +(define-public flycast
> +  (package
> +    (name "flycast")
> +    (version "2.4")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/flyinghead/flycast")
> +             (commit (string-append "v" version))

Please add a comment as to why recursive? is needed; typically, that's
to pull bundled sources that should be pruned as much as possible,
e.g. at least those being used from the system should be removed in the
origin snippet below.  I've used a local 'delete-all-but' definition in
the past, for example in the turbovnc package, that may be useful here.

> +             (recursive? #t)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "0ainy75gkrvilcm89hq6wq9md41w0mxgp6l27q5fzrxxykpjh6ym"))
> +       (modules '((guix build utils)
> +                  (guile)))

You don't ever need to import the (guile) module; it's always loaded
(except pehaps in pure R7RS mode, but that's not used in Guix) :-).

> +       (snippet
> +        #~(begin
> +            (substitute* "CMakeLists.txt"
> +              (("add_subdirectory\\(core/deps/Vulkan-Headers\\)")
> +               "find_package(VulkanHeaders)"))))))
> +    (build-system cmake-build-system)
> +    (inputs (list pkg-config
> +                  sdl2
> +                  vulkan-headers
> +                  glslang
> +                  libzip
> +                  curl
> +                  alsa-lib
> +                  lua
> +                  ao
> +                  pulseaudio
> +                  miniupnpc
> +                  ;; vv needed for vulkan
> +                  spirv-tools))
> +    (arguments
> +     (list #:tests? #f                   ;no target 'test'

I'd research a bit more and write ';no test suite', if that's truly the
case.  The test target is sometimes named differently.

> +           #:configure-flags
> +           #~(list "-DUSE_HOST_GLSLANG=OFF"
> +                   ;; https://github.com/flyinghead/flycast/issues/1843

I'd write a full fledge comment briefly mentioning what's the error we
get otherwise, with a (see: $url) reference at the end.  Use complete
(including punctuation) sentences for line comments.  Margin comments
can be incomplete and unpunctuate sentences.

> +                   "-DUSE_HOST_LIBZIP=ON"
> +                   "-DUSE_HOST_SDL=ON"
> +                   "-DUSE_ALSA=ON"
> +                   "-DUSE_LUA=ON"
> +                   "-DUSE_LIBAO=ON"
> +                   "-DUSE_PULSEAUDIO=ON"
> +                   "-DUSE_BREAKPAD=OFF"
> +                   "-DUSE_VULKAN=ON"
> +                   "-DUSE_DX9=OFF"
> +                   "-DUSE_DX11=OFF")))
> +    (home-page "https://github.com/flyinghead/flycast")
> +    (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator")
> +    (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2,
> +and Atomiswave emulator derived from reicast.")
> +    (license license:gpl2+)))
> +

With the above addressed, it LGTM.  Could you please send a new revision?

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#75856; Package guix-patches. (Thu, 13 Feb 2025 02:50:02 GMT) Full text and rfc822 format available.

Message #35 received at 75856 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Andrew Wong <wongandj <at> icloud.com>
Cc: 宋文武 <iyzsong <at> envs.net>,
 Adam Faiz <adam.faiz <at> disroot.org>, 75856 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#75856: [PATCH] gnu: eureka: Update to 2.0.2.
Date: Thu, 13 Feb 2025 11:49:09 +0900
Hi Andrew,

Another particularity of Debbugs, is that currently you must ensure to
keep every participant in CC, which the system doesn't attempt to do.
If you use 'mumi send-email *.patch' to send your 'git format-patch'
produced patches, it will take care of that for you, otherwise you have
to manually ensure that.

In this thread, there's James and myself not part of the games team
you'll want CC'd.

-- 
Thanks,
Maxim




bug closed, send any further explanations to 75856 <at> debbugs.gnu.org and Andrew Wong <wongandj <at> icloud.com> Request was from Andrew Wong <brosasaki <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 07 Jun 2025 17:16:02 GMT) Full text and rfc822 format available.

This bug report was last modified 8 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.