diff mbox series

[bug#38882] Add SameBoy

Message ID 20200103003202.wy6in2mc4sbtj4h2@zdrowyportier.kadziolka.net
State Accepted
Headers show
Series [bug#38882] Add SameBoy | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Maja Kądziołka Jan. 3, 2020, 12:32 a.m. UTC
Hello Guix,

please find attached a patchset that adds SameBoy and RGBDS to the
available packages. The latter is a dependency of the former, but is
also quite useful on its own.

Regards,
Jakub Kądziołka

Comments

Nicolas Goaziou Jan. 3, 2020, 12:56 a.m. UTC | #1
Hello,

Jakub Kądziołka <kuba@kadziolka.net> writes:

> please find attached a patchset that adds SameBoy and RGBDS to the
> available packages. The latter is a dependency of the former, but is
> also quite useful on its own.

Thank you.

> +(define-public rgbds
> +  (package
> +    (name "rgbds")
> +    (version "v0.3.9")

This should be "0.3.9".

> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/rednex/rgbds.git")
> +                    (commit version)))

You can add the missing "v" above : (commit (string-append "v" version))

> +(define-public sameboy
> +  (package
> +    (name "sameboy")
> +    (version "v0.12.3")

See above.

> +    (description "SameBoy is a user friendly Game Boy, Game Boy Color
> +and Super Game Boy emulator.  SameBoy is extremely accurate and includes a wide
> +range of powerful debugging features, making it ideal for both casual players
> +and developers.  In addition to accuracy and developer capabilities, SameBoy
> +has all the features one would expect from an emulator---from save states to
> +scaling filters.")

I think there are a lot of buzzwords in this description: "extremely
accurate", "powerful debugging features", "making it ideal"... What
about something like the following boring description:

    (description "SameBoy is a user friendly Game Boy, Game Boy Color
and Super Game Boy emulator.  SameBoy is accurate and includes a wide
range of debugging features.  It has all the features one would expect
from an emulator---from save states to scaling filters.")

Otherwise, LGTM.

Could you send an updated patch?

Regards,
Nicolas Goaziou Jan. 3, 2020, 9:01 a.m. UTC | #2
Hello,

Jakub Kądziołka <kuba@kadziolka.net> writes:

> Understandable. I thought about whether to leave this "v" here, but when
> I grepped for 'version "v' and took a quick look at the results, I
> deduced that this must be acceptable.

Other occurrences may be mistakes. In any case, the official version
number for Sameboy, per its homepage, is 0.12.3, not v0.12.3.

> I didn't even realize that, but it would make sense that there is quite
> a few buzzwords, since I copied this description verbatim from the
> homepage.

True, but some homepages are more humble than others. :)

I applied your patches with the following changes:

1. I removed "free" from the description of rgbds, since everything is
   free in GNU Guix.
2. I added a copyright header line with your name in each modified file.

Thank you!

Regards,
diff mbox series

Patch

From d2900a92b271c5e81093bd9704aa82dbb6b0f523 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net>
Date: Fri, 3 Jan 2020 01:29:04 +0100
Subject: [PATCH 2/2] gnu: Add sameboy.

* gnu/packages/emulators.scm (sameboy): New variable.
---
 gnu/packages/emulators.scm | 48 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 63c1332c2f..fbfb1cf712 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -457,6 +457,54 @@  and Game Boy Color games.")
     ;; BSD-3.
     (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
 
+(define-public sameboy
+  (package
+    (name "sameboy")
+    (version "v0.12.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/LIJI32/SameBoy.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("rgbds" ,rgbds)
+       ("gcc" ,gcc-9)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("sdl2" ,sdl2)))
+    (arguments
+     `(#:tests? #f                      ; There are no tests
+       #:make-flags `("CC=gcc" "CONF=release"
+                      ,(string-append "DATA_DIR="
+                                      (assoc-ref %outputs "out")
+                                      "/share/sameboy/"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (data (string-append out "/share/sameboy/")))
+               (with-directory-excursion "build/bin/SDL"
+                 (install-file "sameboy" bin)
+                 (delete-file "sameboy")
+                 (copy-recursively "." data))))))))
+    (home-page "https://sameboy.github.io/")
+    (synopsis "Extremely accurate Game Boy, Game Boy Color and Super Game Boy emulator")
+    (description "SameBoy is a user friendly Game Boy, Game Boy Color
+and Super Game Boy emulator.  SameBoy is extremely accurate and includes a wide
+range of powerful debugging features, making it ideal for both casual players
+and developers.  In addition to accuracy and developer capabilities, SameBoy
+has all the features one would expect from an emulator---from save states to
+scaling filters.")
+    (license license:expat)))
+
 (define-public mupen64plus-core
   (package
     (name "mupen64plus-core")
-- 
2.24.1