[PATCH] gnu: eureka: Update to 2.0.2.

  • Open
  • quality assurance status badge
Details
3 participants
  • James Smith
  • Liliana Marie Prikler
  • Andrew Wong
Owner
unassigned
Submitted by
Andrew Wong
Severity
normal
A
A
Andrew Wong wrote on 26 Jan 11:36 +0100
(address . guix-patches@gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
5a5f68827149799b9b1de94da6d6d14b324ed967.1737887816.git.wongandj@icloud.com
* 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(-)

Toggle diff (84 lines)
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
J
J
James Smith wrote on 26 Jan 18:15 +0100
(name . Andrew Wong via Guix-patches via)(address . guix-patches@gnu.org)
867c6h4hua.fsf@disroot.org
Andrew Wong via Guix-patches via <guix-patches@gnu.org> writes:
Hi,

Toggle quote (2 lines)
> * gnu/packages/game-development.scm (eureka): Update to 2.0.2.
>
Changes made below should be documented here.
Toggle quote (16 lines)
> 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.
Toggle quote (11 lines)
> - (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.
Toggle quote (35 lines)
> (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.
Toggle quote (3 lines)
> + (build-system cmake-build-system)
> + (arguments '(#:tests? #f
> + #:configure-flags (list "-DENABLE_UNIT_TESTS=OFF")
Question: Can tests be enabled?
Toggle quote (7 lines)
> + #: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.
Toggle quote (2 lines)
> + (native-inputs (list xdg-utils))
> + (inputs (list fltk
^
Nitpick: Quite a bit of whitespace, maybe add an indention after inputs?
Toggle quote (13 lines)
> + 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
A
A
Andrew Wong wrote on 27 Jan 03:36 +0100
[PATCH v2] gnu: eureka: Update to 2.0.2.
(address . 75856@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
7279866f03a01133e840eb59dbe798d7a614172d.1737945373.git.wongandj@icloud.com
* 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(-)

Toggle diff (93 lines)
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
L
L
Liliana Marie Prikler wrote on 27 Jan 19:00 +0100
e2ff24cc6b83bc1855eacb9abffeea6a245a791d.camel@gmail.com
Am Sonntag, dem 26.01.2025 um 21:36 -0500 schrieb Andrew Wong:
Toggle quote (2 lines)
> * 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.
Toggle quote (8 lines)
> [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 :)
A
A
Andrew Wong wrote on 28 Jan 00:18 +0100
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(name . guix-patches)(address . guix-patches@gnu.org)
1bad3c35-64e6-48d1-98f9-97ddf2483517@icloud.com
Toggle quote (1 lines)
> 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 :)
Toggle quote (1 lines)
> In other words: there's some unbundling to do :)
noted, will work on that for v3.
A
A
Andrew Wong wrote 20 hours ago
[PATCH v3] gnu: eureka: Update to 2.0.2.
(address . 75856@debbugs.gnu.org)(name . Andrew Wong)(address . wongandj@icloud.com)
032738d899af131ba2d82f03aff6d12d3b1d5779.1738725455.git.wongandj@icloud.com
* 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(-)

Toggle diff (98 lines)
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@protonmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 Andrew Wong <wongandj@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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75856@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75856
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch