all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer via Guix-patches <guix-patches@gnu.org>
To: 73488@debbugs.gnu.org
Cc: "Maxim Cournoyer" <maxim.cournoyer@gmail.com>,
	"Adam Faiz" <adam.faiz@disroot.org>,
	"Liliana Marie Prikler" <liliana.prikler@gmail.com>,
	宋文武 <iyzsong@envs.net>
Subject: [bug#73488] [PATCH games v3 4/7] gnu: Add jgrf.
Date: Thu,  3 Oct 2024 16:25:42 +0900	[thread overview]
Message-ID: <5cc1aad53c11bf764129fc414d5028a85f5eaacb.1727940344.git.maxim.cournoyer@gmail.com> (raw)
In-Reply-To: <cover.1727940344.git.maxim.cournoyer@gmail.com>

* gnu/packages/emulators.scm (jgrf): New variable.

Change-Id: I0cf706e66977ceb96902dcd54f9175031e129445
---

Changes in v3:
 - Remove extraneous 'modules' field from origin
 - Use latest commit, with support for search paths

Changes in v2:
 - Sort inputs

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

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 09e722b4f4..ae2a78a0f6 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2286,6 +2286,76 @@ (define-public jg-api
 Programming Interface} for emulators.")
     (license license:zlib)))
 
+(define-public jgrf
+  ;; Unreleased work contains support for the JOLLYGOOD_* environment
+  ;; variables used to locate cores and assets.
+  (let ((commit "7d5c2b8593020e92d5b9b051dfb94be7f17c04ce")
+        (revision "0"))
+    (package
+      (name "jgrf")
+      (version (git-version "1.1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/jgemu/jgrf")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (snippet '(begin
+                            ;; TODO: Package md5.h and md5.c from
+                            ;; http://openwall.info/wiki/people/solar/software
+                            ;; /public-domain-source-code/md5,
+                            ;; remove these bundled files and set the
+                            ;; USE_EXTERNAL_MD5 Make flag to 1.
+                            ;; (delete-file "deps/md5.h")
+                            ;; (delete-file "deps/md5.c")
+                            (use-modules (guix build utils))
+                            (delete-file-recursively "deps/miniz")))
+                (sha256
+                 (base32
+                  "0gkmyyaxpj3szw6r1zm5850h5f362p0jdr5w70g2j0939rqn5db4"))))
+      (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))))
+      (native-inputs (list jg-api pkg-config))
+      (inputs
+       (list flac
+             libepoxy
+             libsamplerate
+             lzo
+             miniz
+             sdl2
+             soxr
+             speexdsp
+             zlib
+             `(,zstd "lib")))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "JOLLYGOOD_CORE_DIRS")
+              (files '("lib/jollygood")))
+             (search-path-specification
+              (variable "JOLLYGOOD_ASSET_DIRS")
+              (files '("share/jollygood")))))
+      (home-page "https://gitlab.com/jgemu/jgrf")
+      (synopsis "Jolly Good Reference Frontend")
+      (description "The Jolly Good Reference Frontend (accessible via the
+@command{jollygood} command) is the simplest possible frontend to The Jolly
+Good API.  It may be used to run emulators built as shared objects, or as a
+\"white-label\" frontend for statically linked standalone emulators.")
+      ;; The main license is BSD-3; the bundled source licenses are also listed
+      ;; below.
+      (license (list license:bsd-3 ;this software, gltext.h, lodepng.c, lodepng.h
+                     license:expat ;ezmenu.h source, musl_memmem.c,
+                                        ;parson.h, parson.c, tconfig.h, tconfig.c
+                     license:public-domain ;md5.h, md5.c, parg.h, parg.c
+                     license:cc0)))))
+
 (define-public zsnes
   (package
     (name "zsnes")
-- 
2.46.0





  parent reply	other threads:[~2024-10-03  7:34 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-26  2:35 [bug#73488] [PATCH 0/7] Add Jolly Good and some of its emulators Maxim Cournoyer
2024-10-03  7:25 ` [bug#73488] [PATCH games v3 " Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 1/7] teams: Register (gnu packages emulators) to games team Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 2/7] gnu: bsnes: Remove input labels and use gexps Maxim Cournoyer via Guix-patches
2024-10-03  7:50     ` Liliana Marie Prikler via Guix-patches
2024-10-03 12:58       ` Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 3/7] gnu: Add jg-api Maxim Cournoyer via
2024-10-03  7:51     ` Liliana Marie Prikler via Guix-patches
2024-10-05 13:01       ` Maxim Cournoyer
2024-10-03  7:25   ` Maxim Cournoyer via Guix-patches [this message]
2024-10-03  7:57     ` [bug#73488] [PATCH games v3 4/7] gnu: Add jgrf Liliana Marie Prikler via Guix-patches
2024-10-05 12:57       ` Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 5/7] gnu: Add jg-bsnes Maxim Cournoyer
2024-10-03  8:00     ` Liliana Marie Prikler via Guix-patches via
2024-10-05 13:38       ` Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 6/7] gnu: Add jg-nestopia Maxim Cournoyer
2024-10-03  7:25   ` [bug#73488] [PATCH games v3 7/7] gnu: Add jg-cega Maxim Cournoyer
2024-10-05 13:58   ` bug#73488: [PATCH games v3 0/7] Add Jolly Good and some of its emulators 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

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

  git send-email \
    --in-reply-to=5cc1aad53c11bf764129fc414d5028a85f5eaacb.1727940344.git.maxim.cournoyer@gmail.com \
    --to=guix-patches@gnu.org \
    --cc=73488@debbugs.gnu.org \
    --cc=adam.faiz@disroot.org \
    --cc=iyzsong@envs.net \
    --cc=liliana.prikler@gmail.com \
    --cc=maxim.cournoyer@gmail.com \
    /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 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.