channel

My GNU Guix channel
Log | Files | Refs | README

commit a28991906f27fbe87905bbbb4ec6b74094528fcb
parent e1963334673c2fddeda4c56d3baaf09e5c62b027
Author: Luke Willis <lukejw@loquat.dev>
Date:   Wed,  2 Jul 2025 21:17:04 -0400

Create (loquat packages games) and mgba-qt-wayland package

Diffstat:
Aloquat/packages/games.scm | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+), 0 deletions(-)

diff --git a/loquat/packages/games.scm b/loquat/packages/games.scm @@ -0,0 +1,79 @@ +(define-module (loquat packages games) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (gnu packages compression) + #:use-module (gnu packages elf) + #:use-module (gnu packages gl) + #:use-module (gnu packages image) + #:use-module (gnu packages libedit) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages video) + #:use-module (guix build-system cmake) + #:use-module (guix build-system qt)) + +;; I don't know if this is really necessary, but the upstream mgba package doesn't seem to +;; work on wayland when using mgba-qt. +(define-public mgba-qt-wayland + (package + (name "mgba-qt-wayland") + (version "0.10.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mgba-emu/mgba") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1scyvcp8l5z1sy1hcr0wgdf8zrirg07fzqjdmhkjnyhxmb9sibb5")) + (modules '((guix build utils))) + (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 qt-build-system) + (arguments + `(#:tests? #f ;no "test" target + #:configure-flags + (list "-DENABLE_SCRIPTING=OFF" + "-DM_CORE_GB=OFF" + "-DUSE_DISCORD_RPC=OFF" + "-DBUILD_SDL=OFF" + "-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)) + (inputs + (list libedit + libelf + libepoxy + libpng + mesa + minizip + ncurses + qtbase-5 + qtmultimedia-5 + qtwayland-5 + sdl2 + sqlite + zlib)) + (home-page "https://mgba.io") + (synopsis "Game Boy Advance emulator") + (description + "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+ and "inih.c" + ;; is BSD-3 + (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))