Subject: [bug#75856] [PATCH] gnu: eureka: Update to 2.0.2.

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