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

From: James Smith <[email-masked]>
Date: Sun, 26 Jan 2025 10:15:25 -0700

Andrew Wong via Guix-patches via <[email-masked]> 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