From patchwork Wed May 24 08:35:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Goaziou X-Patchwork-Id: 50269 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 11FE027BBEA; Wed, 24 May 2023 09:36:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1735B27BBE2 for ; Wed, 24 May 2023 09:36:26 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1jyZ-0002kL-Dm; Wed, 24 May 2023 04:36:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q1jyU-0002jq-Fm for guix-patches@gnu.org; Wed, 24 May 2023 04:36:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1jyU-0008TI-7S for guix-patches@gnu.org; Wed, 24 May 2023 04:36:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q1jyU-0007p9-3J for guix-patches@gnu.org; Wed, 24 May 2023 04:36:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62724] [PATCH v10] gnu: mame: Update to 0.254. Resent-From: Nicolas Goaziou Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 24 May 2023 08:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62724 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62724@debbugs.gnu.org Received: via spool by 62724-submit@debbugs.gnu.org id=B62724.168491735930066 (code B ref 62724); Wed, 24 May 2023 08:36:02 +0000 Received: (at 62724) by debbugs.gnu.org; 24 May 2023 08:35:59 +0000 Received: from localhost ([127.0.0.1]:41396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q1jyQ-0007os-Ls for submit@debbugs.gnu.org; Wed, 24 May 2023 04:35:59 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:51505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q1jyO-0007od-Hg for 62724@debbugs.gnu.org; Wed, 24 May 2023 04:35:57 -0400 Received: (Authenticated sender: admin@nicolasgoaziou.fr) by mail.gandi.net (Postfix) with ESMTPSA id B5E56240006 for <62724@debbugs.gnu.org>; Wed, 24 May 2023 08:35:49 +0000 (UTC) From: Nicolas Goaziou References: <20230408101422.781587-1-mail@nicolasgoaziou.fr> <20230420120905.19427-1-mail@nicolasgoaziou.fr> Date: Wed, 24 May 2023 10:35:41 +0200 In-Reply-To: <20230420120905.19427-1-mail@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Thu, 20 Apr 2023 14:09:05 +0200") Message-ID: <87v8gigm8y.fsf_-_@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/emulators.scm (mame): Update to 0.254. [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. --- v10: Update mame to 0.254. gnu/packages/emulators.scm | 63 +++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 18 deletions(-) base-commit: e02584b456a3f9c00b303ef4815d892a47edc2e6 diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 13b6022308..57987429eb 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1760,7 +1760,7 @@ (define-public libticalcs2 (define-public mame (package (name "mame") - (version "0.252") + (version "0.254") (source (origin (method git-fetch) @@ -1769,33 +1769,59 @@ (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 "1saypb2czkgg0lpkmdsf796bb4zv4sp2r7s3ay944p1g9kdyjqgh")) + (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. + ;; + ;; TODO: 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" + "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 + (add-after 'unpack 'fix-sol2-build-error + ;; Fix "error: operator '!=' has no left operand" because + ;; LUA_COMPAT_BITLIB is empty. + (lambda _ + (substitute* "3rdparty/sol2/sol/sol.hpp" + (("&& \\(LUA_COMPAT_BITLIB != 0\\)") "")))) (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 @@ -1898,7 +1924,8 @@ (define-public mame Keywords=Game;Emulator;Arcade;~%" executable))))))))) (native-inputs - (list pkg-config + (list nasm + pkg-config python-sphinx python-sphinxcontrib-svg2pdfconverter texinfo)) @@ -1912,7 +1939,7 @@ (define-public mame libjpeg-turbo libxi libxinerama - lua + lua-5.4 portaudio portmidi pugixml