unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: 73488@debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: [bug#73488] [PATCH 5/7] gnu: Add jg-bsnes.
Date: Thu, 26 Sep 2024 12:09:59 +0900	[thread overview]
Message-ID: <1e4efc1fa7553f761a9f2c9bfa5387f98f99297f.1727320201.git.maxim.cournoyer@gmail.com> (raw)
In-Reply-To: <cover.1727320201.git.maxim.cournoyer@gmail.com>

* gnu/packages/emulators.scm (jg-bsnes): New variable.

Change-Id: If88a7bea0c87c8af8fce051f8bec891ff249449f
---

 gnu/packages/emulators.scm | 72 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 49208f302d..068349867f 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2353,6 +2353,78 @@ (define-public jgrf
                    license:public-domain ;md5.h, md5.c, parg.h, parg.c
                    license:cc0))))
 
+(define-public jg-bsnes
+  (package
+    (name "jg-bsnes")
+    (version "2.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/jgemu/bsnes")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              ;; XXX: Some source dependencies are bundled and are not easy to
+              ;; unbundle due to the build system building an object combining
+              ;; their sources directly:
+              ;;  - byuuML
+              ;;  - gb
+              ;;  - libcoco
+              ;;  - snes_spc
+              (modules '((guix build utils)))
+              (snippet '(delete-file-recursively "deps/libsamplerate"))
+              (sha256
+               (base32
+                "0z1ka4si8vcb0j6ih087cni18vpgfd3qnaw24awycxz23xc0jkdv"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f                  ;no test suite
+           #:make-flags
+           #~(list (string-append "AR=" #$(ar-for-target))
+                   (string-append "CC=" #$(cc-for-target))
+                   (string-append "CXX=" #$(cxx-for-target))
+                   (string-append "PREFIX=" #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)))) ;no configure script
+    (native-inputs (list jg-api pkg-config))
+    (inputs (list libsamplerate))
+    (home-page "https://gitlab.com/jgemu/bsnes")
+    (synopsis "Jolly Good Fork of bsnes")
+    (description "@code{bsnes-jg} is a cycle accurate emulator for the Super
+Famicom/Super Nintendo Entertainment System, including support for the Super
+Game Boy, BS-X Satellaview, and Sufami Turbo.  @code{bsnes-jg} is a fork of
+@code{bsnes} v115, Many changes have been made post-fork:
+@itemize
+@item Higher quality resampler with settings
+@item Improved performance without loss of accuracy
+@item Portability improvements
+@item Removal of accuracy-reducing hacks and unnecessary code
+@item Significant increase in standards compliance
+@item Translation to the C++ Standard Library (ISO C++11)
+@end itemize
+
+In particular, it uses much less @acronym{CPU, Central Processing Unit}
+compared to the original @code{bsnes} (though not as little as @code{zsnes}).
+
+The supported file formats are:
+@itemize @file
+@item .sfc
+@item .smc
+@item .bs
+@item .st
+@item .fig
+@item .swc
+@end itemize
+
+This is intended to be used with the Jolly Good Reference Frontend
+@command{jollygood} command from the @code{jgrf} package.")
+    ;; The project license is GPL3+.  The bundled source licenses are also
+    ;; listed below.
+    (license (list license:gpl3+
+                   license:bsd-3        ;byuuML
+                   license:expat        ;gb
+                   license:isc          ;libco
+                   license:lgpl2.1+))))
+
 (define-public zsnes
   (package
     (name "zsnes")
-- 
2.46.0





  parent reply	other threads:[~2024-09-26  3:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1727320201.git.maxim.cournoyer@gmail.com>
2024-09-26  3:09 ` [bug#73488] [PATCH 1/7] gnu: bsnes: Remove input labels and use gexps Maxim Cournoyer
2024-09-26  3:09 ` [bug#73488] [PATCH 2/7] gnu: Add jg-api Maxim Cournoyer
2024-09-26  3:09 ` [bug#73488] [PATCH 3/7] gnu: Add jgrf Maxim Cournoyer
2024-09-26  3:31   ` Maxim Cournoyer
2024-09-26  3:09 ` [bug#73488] [PATCH 4/7] gnu: jgrf: Add search path mechanism Maxim Cournoyer
2024-09-26  3:09 ` Maxim Cournoyer [this message]
2024-09-26  3:10 ` [bug#73488] [PATCH 6/7] gnu: Add jg-nestopia Maxim Cournoyer
2024-09-26  3:10 ` [bug#73488] [PATCH 7/7] gnu: Add jg-cega Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1e4efc1fa7553f761a9f2c9bfa5387f98f99297f.1727320201.git.maxim.cournoyer@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=73488@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).