summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-07-22 22:18:48 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-08-01 11:47:41 +0900
commita0f061d1b6af9bd18ecade9aa091e5108236839e (patch)
tree53c200f8adb7b2165faaa6e977df8df22033d990
parent5259f89b070e7fe3fa8346804714ac1b08c05702 (diff)
gnu: mgba: Update to 0.10.5 and enable tests.
* gnu/packages/emulators.scm (mgba): Update to 0.10.5. [snippet]: Refine so that only what's kept is listed. [build-system]: Switch to qt-build-system. [#:tests?]: Delete argument. [#:configure-flags]: Remove -DBUILD_LTO=OFF. Add -DBUILD_SUITE=ON and -DUSE_DISCORD_RPC=OFF. [#:qtbase]: New argument. [native-inputs]: Add cmocka. Replace qttools-5 with qtools. [inputs]: Replace qtbase-5 with qtbase, qtmultimedia-5 with qtmultimedia. [license]: Reformat for clarity. Change-Id: I54c85bc6aa2668de6c009812a066c5724485a2c4
-rw-r--r--gnu/packages/emulators.scm57
1 files changed, 32 insertions, 25 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 7571e6b74e..2fb5239368 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -913,34 +913,41 @@ The following systems are supported:
(define-public mgba
(package
(name "mgba")
- (version "0.10.4")
+ (version "0.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mgba-emu/mgba")
- (commit version)))
+ (url "https://github.com/mgba-emu/mgba")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0lfn5jhgqb06f1i1b8w8fvbi4fy4k8dvialblwg8h49qjqmf610q"))
- (modules '((guix build utils)))
+ "1scyvcp8l5z1sy1hcr0wgdf8zrirg07fzqjdmhkjnyhxmb9sibb5"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
(snippet
- ;; Make sure we don't use the bundled software.
- '(begin
- (for-each
- (lambda (subdir)
- (let ((lib-subdir (string-append "src/third-party/" subdir)))
- (delete-file-recursively lib-subdir)))
- '("libpng" "lzma" "sqlite3" "zlib"))))))
- (build-system cmake-build-system)
+ #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+
+ (delete-all-but "src/third-party"
+ "blip_buf"
+ "inih")))))
+ (build-system qt-build-system)
(arguments
- `(#:tests? #f ;no "test" target
- #:configure-flags
- (list "-DBUILD_LTO=OFF" ;FIXME: <https://github.com/mgba-emu/mgba/issues/3115>
- "-DUSE_LZMA=OFF" ;do not use bundled LZMA
- "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead
- (native-inputs (list pkg-config qttools-5))
+ (list
+ #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_SUITE=ON"
+ "-DUSE_DISCORD_RPC=OFF" ;avoid bundled copy
+ "-DUSE_LIBZIP=OFF" ;use "zlib" instead
+ "-DUSE_LZMA=OFF"))) ;do not use bundled LZMA
+ (native-inputs (list cmocka pkg-config qttools))
(inputs
(list ffmpeg
libedit
@@ -950,8 +957,8 @@ The following systems are supported:
mesa
minizip
ncurses
- qtbase-5
- qtmultimedia-5
+ qtbase
+ qtmultimedia
sdl2
sqlite
zlib))
@@ -961,10 +968,10 @@ The following systems are supported:
"mGBA is an emulator for running Game Boy Advance games. It aims to be
faster and more accurate than many existing Game Boy Advance emulators, as
well as adding features that other emulators lack. It also supports Game Boy
-and Game Boy Color games.")
- ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+, "inih.c" is
- ;; BSD-3, and "discord-rpc" is Expat.
- (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3 license:expat))))
+and Game Boy Color games")
+ (license (list license:mpl2.0 ;mgba itself
+ license:lgpl2.1+ ;blip_buf bundled library
+ license:bsd-3)))) ;inih bundled library
(define-public sameboy
(package