Package: guix-patches;
Reported by: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Date: Tue, 25 Feb 2025 10:28:02 UTC
Severity: normal
Tags: patch
Message #20 received at 76545 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> To: 76545 <at> debbugs.gnu.org Cc: Nicolas Goaziou <mail <at> nicolasgoaziou.fr> Subject: [PATCH v3] gnu: mame: Update to 0.276. Date: Tue, 1 Apr 2025 09:04:03 +0200
* gnu/packages/emulators.scm (mame): Update to 0.276. [source]: Add modules for cut and scandir. Preserve the minimum set of third-party libraries. [arguments]<#:make-flags>: Remove unnecessary flags. <#:phases>: Add a phase to use all possible system libraries instead of listing them piece wise. [native-inputs]: Add nasm. [inputs]: Replace lua with lua-5.4. Add zstd:lib. Change-Id: I650a008461d69e5a39ba6a12e7140aa785dc0298 --- v3: Update to 0.276. Remove old comment. Do not try to use C++ Lua as it is not packaged in Guix yet. gnu/packages/emulators.scm | 63 ++++++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index e71c2803a3..eb784bd43b 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2018, 2023 David Thompson <dthompson2 <at> worcester.edu> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837 <at> gmail.com> ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim <at> flashner.co.il> -;;; Copyright © 2017-2024 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> +;;; Copyright © 2017-2025 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; Copyright © 2017, 2020, 2021 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling <at> mykolab.com> ;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz> @@ -3026,7 +3026,7 @@ (define-public libticalcs2 (define-public mame (package (name "mame") - (version "0.252") + (version "0.276") (source (origin (method git-fetch) @@ -3035,33 +3035,54 @@ (define-public mame (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "07qhcm1v47sy2wj30nx3cbhvcbgki0cl83gabr0miiw60fhgyn6j")) - (modules '((guix build utils))) + (base32 "1npjb5n03gchprnz61br0b0sprvwylkhygla3z84xklzd11y678d")) + (modules '((ice-9 ftw) + (srfi srfi-26) + (guix build utils))) (snippet - ;; Remove bundled libraries. - '(begin - (with-directory-excursion "3rdparty" - (for-each delete-file-recursively - '("asio" "expat" "glm" "libflac" "libjpeg" "lua" - "portaudio" "portmidi" "pugixml" "rapidjson" "SDL2" - "SDL2-override" "sqlite3" "utf8proc" "zlib"))))))) + ;; Remove most bundled libraries. + ;; + ;; XXX: Some of the preserved the libraries below ship with Guix, but + ;; may prove difficult to un-bundle. + #~(with-directory-excursion "3rdparty" + (let ((keep (list "." ".." + "asmjit" + "bgfx" + "bimg" + "bx" + "genie" + "linenoise" + "lsqlite3" + "lua-linenoise" + "lua-zlib" + "luafilesystem" + "lzma" + "minimp3" + "nanosvg" + "softfloat" + "softfloat3" + "sol2" + "wdlfft" + "ymfm"))) + (for-each delete-file-recursively + (scandir "." (negate (cut member <> keep))))))))) (build-system gnu-build-system) (arguments (list #:make-flags - #~(cons* + #~(list ;; A 'strict-overflow' error pops up on i686 so disable '-Werror'. "NOWERROR=1" (string-append "QT_HOME=" #$(this-package-input "qtbase")) - (string-append "SDL_INI_PATH=" #$output "/share/mame/ini") - (map (lambda (lib) - (string-append "USE_SYSTEM_LIB_" (string-upcase lib) "=1")) - '("asio" "expat" "flac" "glm" "jpeg" "lua" "portaudio" "portmidi" - "pugixml" "rapidjson" "sqlite3" "utf8proc" "zlib"))) + (string-append "SDL_INI_PATH=" #$output "/share/mame/ini")) #:tests? #f ;no test in regular release #:phases #~(modify-phases %standard-phases (delete 'configure) + (add-before 'build 'use-system-libraries + (lambda _ + (substitute* "makefile" + (("# +(USE_SYSTEM_LIB)" _ option) option)))) (add-after 'build 'build-documentation (lambda _ (invoke "make" "-C" "docs" "man" "info"))) (replace 'install @@ -3164,7 +3185,8 @@ (define-public mame Keywords=Game;Emulator;Arcade;~%" executable))))))))) (native-inputs - (list pkg-config + (list nasm + pkg-config python-sphinx python-sphinxcontrib-svg2pdfconverter texinfo)) @@ -3178,7 +3200,7 @@ (define-public mame libjpeg-turbo libxi libxinerama - lua + lua-5.4 portaudio portmidi pugixml @@ -3189,7 +3211,8 @@ (define-public mame (sdl-union (list sdl2 sdl2-ttf)) sqlite utf8proc - zlib)) + zlib + `(,zstd "lib"))) (home-page "https://www.mamedev.org") (synopsis "Multi-purpose emulation framework") (description "MAME's purpose is to preserve decades of software base-commit: 5735c278e16517d9be5e26235fe68dea9bae3527 -- 2.49.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.