diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-09-19 20:49:28 +0900 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-10-05 22:50:05 +0900 |
| commit | 999f90ec6caf0e95078bd6d446ef5978dd8e5702 (patch) | |
| tree | 9f5b14258a61a9a8961f22cd9c874194ee7faf73 /gnu/packages/emulators.scm | |
| parent | 158d00fa47d008bc9dcede42a8045edb77680007 (diff) | |
gnu: Add jg-bsnes.
* gnu/packages/emulators.scm (jg-bsnes): New variable.
Change-Id: If88a7bea0c87c8af8fce051f8bec891ff249449f
Diffstat (limited to 'gnu/packages/emulators.scm')
| -rw-r--r-- | gnu/packages/emulators.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 8f18e6bb5f3..a7a22f5ef49 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm | |||
| @@ -2352,6 +2352,80 @@ as a \"white-label\" frontend for statically linked standalone emulators.") | |||
| 2352 | license:public-domain ;md5.h, md5.c, parg.h, parg.c | 2352 | license:public-domain ;md5.h, md5.c, parg.h, parg.c |
| 2353 | license:cc0)))) | 2353 | license:cc0)))) |
| 2354 | 2354 | ||
| 2355 | (define-public jg-bsnes | ||
| 2356 | (package | ||
| 2357 | (name "jg-bsnes") | ||
| 2358 | (version "2.0.0") | ||
| 2359 | (source (origin | ||
| 2360 | (method git-fetch) | ||
| 2361 | (uri (git-reference | ||
| 2362 | (url "https://gitlab.com/jgemu/bsnes") | ||
| 2363 | (commit version))) | ||
| 2364 | (file-name (git-file-name name version)) | ||
| 2365 | ;; XXX: Some source dependencies are bundled and are not easy to | ||
| 2366 | ;; unbundle due to the build system building an object combining | ||
| 2367 | ;; their sources directly (see: | ||
| 2368 | ;; https://gitlab.com/jgemu/bsnes/-/issues/6). | ||
| 2369 | ;; - byuuML (no build system) | ||
| 2370 | ;; - gb (the 'Core' sources of SameBoy) | ||
| 2371 | ;; - libco (no build system) | ||
| 2372 | ;; - snes_spc (also modified by this project) | ||
| 2373 | (snippet '(begin | ||
| 2374 | (use-modules (guix build utils)) | ||
| 2375 | (delete-file-recursively "deps/libsamplerate"))) | ||
| 2376 | (sha256 | ||
| 2377 | (base32 | ||
| 2378 | "0z1ka4si8vcb0j6ih087cni18vpgfd3qnaw24awycxz23xc0jkdv")))) | ||
| 2379 | (build-system gnu-build-system) | ||
| 2380 | (arguments | ||
| 2381 | (list #:tests? #f ;no test suite | ||
| 2382 | #:make-flags | ||
| 2383 | #~(list (string-append "AR=" #$(ar-for-target)) | ||
| 2384 | (string-append "CC=" #$(cc-for-target)) | ||
| 2385 | (string-append "CXX=" #$(cxx-for-target)) | ||
| 2386 | (string-append "PREFIX=" #$output)) | ||
| 2387 | #:phases #~(modify-phases %standard-phases | ||
| 2388 | (delete 'configure)))) ;no configure script | ||
| 2389 | (native-inputs (list jg-api pkg-config)) | ||
| 2390 | (inputs (list libsamplerate)) | ||
| 2391 | (home-page "https://gitlab.com/jgemu/bsnes") | ||
| 2392 | (synopsis "Jolly Good Fork of bsnes") | ||
| 2393 | (description "@code{bsnes-jg} is a cycle accurate emulator for the Super | ||
| 2394 | Famicom/Super Nintendo Entertainment System, including support for the Super | ||
| 2395 | Game Boy, BS-X Satellaview, and Sufami Turbo. @code{bsnes-jg} is a fork of | ||
| 2396 | @code{bsnes} v115, Many changes have been made post-fork: | ||
| 2397 | @itemize | ||
| 2398 | @item Higher quality resampler with settings | ||
| 2399 | @item Improved performance without loss of accuracy | ||
| 2400 | @item Portability improvements | ||
| 2401 | @item Removal of accuracy-reducing hacks and unnecessary code | ||
| 2402 | @item Significant increase in standards compliance | ||
| 2403 | @item Translation to the C++ Standard Library (ISO C++11) | ||
| 2404 | @end itemize | ||
| 2405 | |||
| 2406 | In particular, it uses much less @acronym{CPU, Central Processing Unit} | ||
| 2407 | compared to the original @code{bsnes} (though not as little as @code{zsnes}). | ||
| 2408 | |||
| 2409 | The supported file formats are: | ||
| 2410 | @itemize @file | ||
| 2411 | @item .sfc | ||
| 2412 | @item .smc | ||
| 2413 | @item .bs | ||
| 2414 | @item .st | ||
| 2415 | @item .fig | ||
| 2416 | @item .swc | ||
| 2417 | @end itemize | ||
| 2418 | |||
| 2419 | This is intended to be used with the Jolly Good Reference Frontend | ||
| 2420 | @command{jollygood} command from the @code{jgrf} package.") | ||
| 2421 | ;; The project license is GPL3+. The bundled source licenses are also | ||
| 2422 | ;; listed below. | ||
| 2423 | (license (list license:gpl3+ | ||
| 2424 | license:bsd-3 ;byuuML | ||
| 2425 | license:expat ;gb | ||
| 2426 | license:isc ;libco | ||
| 2427 | license:lgpl2.1+)))) | ||
| 2428 | |||
| 2355 | (define-public zsnes | 2429 | (define-public zsnes |
| 2356 | (package | 2430 | (package |
| 2357 | (name "zsnes") | 2431 | (name "zsnes") |
