Subject: [PATCH v2] gnu: eureka: Update to 2.0.2.

From: Andrew Wong <[email-masked]>
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