all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#38882] [PATCH] Add SameBoy
@ 2020-01-03  0:32 Jakub Kądziołka
  2020-01-03  0:56 ` Nicolas Goaziou
  0 siblings, 1 reply; 3+ messages in thread
From: Jakub Kądziołka @ 2020-01-03  0:32 UTC (permalink / raw)
  To: 38882

[-- Attachment #1: Type: text/plain, Size: 207 bytes --]

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

[-- Attachment #2: 0001-gnu-Add-rgbds.patch --]
[-- Type: text/x-diff, Size: 2708 bytes --]

From 9ec4034fb340d18498f080294af428f9edbbe3af 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 00:13:56 +0100
Subject: [PATCH 1/2] gnu: Add rgbds.

* gnu/packages/assembly.scm (rgbds): New variable.
---
 gnu/packages/assembly.scm | 49 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index fac3d478a5..f0755cfdcb 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -36,6 +36,8 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -249,3 +251,50 @@ assembler, a C compiler and a linker.  The assembler uses Intel syntax
 functionality independent of any particular bytecode, language, or
 runtime")
       (license license:lgpl2.1+))))
+
+(define-public rgbds
+  (package
+    (name "rgbds")
+    (version "v0.3.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rednex/rgbds.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'check
+           (lambda _
+             (with-directory-excursion "test/asm"
+               (invoke "./test.sh"))
+             (with-directory-excursion "test/link"
+               (invoke "./test.sh")))))
+       #:make-flags `("CC=gcc"
+                      ,(string-append "PREFIX="
+                                      (assoc-ref %outputs "out")))))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)))
+    (inputs
+     `(("libpng" ,libpng)))
+    (home-page "https://github.com/rednex/rgbds")
+    (synopsis "Rednex Game Boy Development System")
+    (description
+     "RGBDS (Rednex Game Boy Development System) is a free assembler/linker
+package for the Game Boy and Game Boy Color.  It consists of:
+@itemize @bullet
+@item rgbasm (assembler)
+@item rgblink (linker)
+@item rgbfix (checksum/header fixer)
+@item rgbgfx (PNG-to-Game Boy graphics converter)
+@end itemize")
+    (license license:expat)))
-- 
2.24.1


[-- Attachment #3: 0002-gnu-Add-sameboy.patch --]
[-- Type: text/x-diff, Size: 2776 bytes --]

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#38882] [PATCH] Add SameBoy
  2020-01-03  0:32 [bug#38882] [PATCH] Add SameBoy Jakub Kądziołka
@ 2020-01-03  0:56 ` Nicolas Goaziou
       [not found]   ` <20200103013602.sbikh6vogxaco32i@zdrowyportier.kadziolka.net>
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Goaziou @ 2020-01-03  0:56 UTC (permalink / raw)
  To: Jakub Kądziołka; +Cc: 38882

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#38882: [PATCH] Add SameBoy
       [not found]   ` <20200103013602.sbikh6vogxaco32i@zdrowyportier.kadziolka.net>
@ 2020-01-03  9:01     ` Nicolas Goaziou
  0 siblings, 0 replies; 3+ messages in thread
From: Nicolas Goaziou @ 2020-01-03  9:01 UTC (permalink / raw)
  To: Jakub Kądziołka; +Cc: 38882-done

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,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-03  9:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-03  0:32 [bug#38882] [PATCH] Add SameBoy Jakub Kądziołka
2020-01-03  0:56 ` Nicolas Goaziou
     [not found]   ` <20200103013602.sbikh6vogxaco32i@zdrowyportier.kadziolka.net>
2020-01-03  9:01     ` bug#38882: " Nicolas Goaziou

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.