From patchwork Sat Oct 12 04:28:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 31975 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 3488C27BBE2; Sat, 12 Oct 2024 05:31:10 +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=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 F22BB27BBE9 for ; Sat, 12 Oct 2024 05:31:08 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1szTmQ-00070Y-T5; Sat, 12 Oct 2024 00:31:03 -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 1szTmF-0006zO-24 for guix-patches@gnu.org; Sat, 12 Oct 2024 00:30:57 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1szTmD-0001fD-Uw for guix-patches@gnu.org; Sat, 12 Oct 2024 00:30:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=2mdPEIv9OLwUs+raaHAIvTPq0lvI6pxf/0BDy6H8Roc=; b=BjegVKcgHxjcXWAGRZXrz/p4hzP9u0D0XubAHPoVXwi5TuXklE0R+URWBNqHFrD91EC3GGB/w+t2olS6vU577N9MvpAlhmxxSrmeDDz/f+90Xqx+5mh2KOZsWRLpx7pORzYCI4PwuAU5vNndgGu3mnJJRJiAv64gwSPVWykE13mA8w/Chtu1Gwmb5Ymm91D/AufY4rxtMRHW4c8Um+M9WZx6Gh3eJ5XOy3zp2lXg8IiXwndQ3zhmeICBvB5QmnY5MVuW2xGmKbz2OzHvCLvyJCEzakBl3fX1STIeYYl5BG95KggjcOzPXHmNpcormGvHK2rTYjsuCbIjEgWhlH0Dgw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1szTmQ-00017Z-P1; Sat, 12 Oct 2024 00:31:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73754] [PATCH 5/5] gnu: jg-bsnes: Unbundle SameBoy. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, adam.faiz@disroot.org, liliana.prikler@gmail.com, iyzsong@envs.net, guix-patches@gnu.org Resent-Date: Sat, 12 Oct 2024 04:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73754 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73754@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 73754-submit@debbugs.gnu.org id=B73754.17287074093657 (code B ref 73754); Sat, 12 Oct 2024 04:31:02 +0000 Received: (at 73754) by debbugs.gnu.org; 12 Oct 2024 04:30:09 +0000 Received: from localhost ([127.0.0.1]:36008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1szTlY-0000wu-A9 for submit@debbugs.gnu.org; Sat, 12 Oct 2024 00:30:09 -0400 Received: from mail-pl1-f176.google.com ([209.85.214.176]:58861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1szTlR-0000v4-Lw for 73754@debbugs.gnu.org; Sat, 12 Oct 2024 00:30:03 -0400 Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-20c9978a221so20776045ad.1 for <73754@debbugs.gnu.org>; Fri, 11 Oct 2024 21:29:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728707322; x=1729312122; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2mdPEIv9OLwUs+raaHAIvTPq0lvI6pxf/0BDy6H8Roc=; b=AO3LEOA51dwitLvU//PtujenJar0h5xVSoZLHHiqsojeqyKYXwqTmk3vI86MtTlim7 Blw0teUuYHeYap9IZCuAqmWu8L9te+XkBmKFR95HemhCzQ8GkRpHxYtK4KgNT0fH4z/Q GcPxJF88fDtumLgNpfPzqDez0tWK1PE1CxZ9X1eh/k7OsZ5SI7+mBJckK69xPhEO5r4B 3of6xJdUOPiPqgS0MSFC7RmIc5DvikzunRrpQtJFLK9KjQGbO1V159UOEZpGU39J5Opb 9IR+tr3eK5T3DC/DcRhYEtzvz2hLOkcSejmc4m9rxvpk1IOaiLnZ6lO0WzUl4767xBa0 tyrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728707322; x=1729312122; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2mdPEIv9OLwUs+raaHAIvTPq0lvI6pxf/0BDy6H8Roc=; b=Fsqe3NGIEAE9Da6LNFUMQe0EIJz7fCwsvGM5gCmz1fzx7djTJ706fHm2n+cJzeQdyZ xIvUkG3u7Q0r6JJxNhURYuk9+EnQddlJbxjR6l07OmKaFrEtgIzk8z29BTpLVuLBGEVu Cfp+AgGDioIBQJo0R4Q3HGXqx4/v74ZOk6kEx54jUXwFfBp8DvT8jfIZl8BUvu1qNxm6 lWB2SRP5DZgdzP1MCcFaZDsYzMa7qKLalceRJ0IgJ5sMYeO0IdI7yKcItoQ9GVyw+TLS mINMuO2lwy+0zXU7EFTALdABw6+drpS/XfvHxcBIcUbvEkikmkv938p2NQGaCAvi/sL4 GxQA== X-Gm-Message-State: AOJu0YzJK9SUVtzJCYyxswm/4A86or2jMK3/Mn1Vj0iKzwWqu/Izdd1G f40PBBnDYNC5PQcSWgA4PTqOmJGNs8ym4V8u9nQgAiCULFqXW5QwO0x/Bg== X-Google-Smtp-Source: AGHT+IGoa91CeVADc1HokQPM0yK++JPi3uigPgV6jDOwBIXr7LNtmKwPgTf5YcmIdMlXvzJVUyWIHA== X-Received: by 2002:a17:903:8cc:b0:20b:b0ab:4fc3 with SMTP id d9443c01a7336-20ca16e9a11mr81832185ad.49.1728707321843; Fri, 11 Oct 2024 21:28:41 -0700 (PDT) Received: from localhost.localdomain ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20c8c36e814sm30913145ad.307.2024.10.11.21.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Oct 2024 21:28:41 -0700 (PDT) From: Maxim Cournoyer Date: Sat, 12 Oct 2024 13:28:14 +0900 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: 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 (jg-bsnes) [source]: Delete deps/gb in snippet. : Apply unbundling patch. [make-flags]: Add USE_VENDORED_SAMEBOY=0 flag. [inputs]: Add sameboy. * gnu/packages/patches/jg-bsnes-unbundle-sameboy.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I0ce850b366663d88d66becb9121b13c48d4091a3 --- gnu/local.mk | 1 + gnu/packages/emulators.scm | 9 +- .../patches/jg-bsnes-unbundle-sameboy.patch | 101 ++++++++++++++++++ 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/jg-bsnes-unbundle-sameboy.patch diff --git a/gnu/local.mk b/gnu/local.mk index 544cf36f04..1eb3c66f85 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1592,6 +1592,7 @@ dist_patch_DATA = \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-gcc-compat.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ + %D%/packages/patches/jg-bsnes-unbundle-sameboy.patch \ %D%/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ %D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \ diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 3df1b94506..3d4b833c11 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -3291,10 +3291,12 @@ (define-public jg-bsnes ;; - snes_spc (also modified by this project) (snippet '(begin (use-modules (guix build utils)) + (delete-file-recursively "deps/gb") (delete-file-recursively "deps/libsamplerate"))) (sha256 (base32 - "0z1ka4si8vcb0j6ih087cni18vpgfd3qnaw24awycxz23xc0jkdv")))) + "0z1ka4si8vcb0j6ih087cni18vpgfd3qnaw24awycxz23xc0jkdv")) + (patches (search-patches "jg-bsnes-unbundle-sameboy.patch")))) (build-system gnu-build-system) (arguments (list #:tests? #f ;no test suite @@ -3302,11 +3304,12 @@ (define-public jg-bsnes #~(list (string-append "AR=" #$(ar-for-target)) (string-append "CC=" #$(cc-for-target)) (string-append "CXX=" #$(cxx-for-target)) - (string-append "PREFIX=" #$output)) + (string-append "PREFIX=" #$output) + (string-append "USE_EXTERNAL_SAMEBOY=1")) #:phases #~(modify-phases %standard-phases (delete 'configure)))) ;no configure script (native-inputs (list jg-api pkg-config)) - (inputs (list libsamplerate)) + (inputs (list libsamplerate sameboy)) (home-page "https://gitlab.com/jgemu/bsnes") (synopsis "Jolly Good Fork of bsnes") (description "@code{bsnes-jg} is a cycle accurate emulator for the Super diff --git a/gnu/packages/patches/jg-bsnes-unbundle-sameboy.patch b/gnu/packages/patches/jg-bsnes-unbundle-sameboy.patch new file mode 100644 index 0000000000..1047dd4819 --- /dev/null +++ b/gnu/packages/patches/jg-bsnes-unbundle-sameboy.patch @@ -0,0 +1,101 @@ +Upstream-status: https://gitlab.com/jgemu/bsnes/-/merge_requests/429 + +diff --git a/Makefile b/Makefile +index 7371ff4..a4a8457 100644 +--- a/Makefile ++++ b/Makefile +@@ -37,6 +37,9 @@ MKDIRS := deps/byuuML \ + src/expansion \ + src/processor + ++# Set to 1 to use a system-provided SameBoy shared library. ++USE_EXTERNAL_SAMEBOY := 0 ++ + # Global symbols + # TODO: Darwin export files expect mangled symbols for C++ + SYMBOLS := +@@ -61,6 +64,9 @@ CPPFLAGS_GB := -DGB_INTERNAL -DGB_DISABLE_CHEATS -DGB_DISABLE_DEBUGGER \ + -D_GNU_SOURCE -DGB_VERSION=\"0.16.6\" + + INCLUDES += $(CFLAGS_SAMPLERATE) -I$(DEPDIR) ++ifeq ($(USE_EXTERNAL_SAMEBOY), 0) ++INCLUDES += -I$(DEPDIR)/gb ++endif + LIBS += $(LIBS_SAMPLERATE) + + EXT := cpp +@@ -81,7 +87,13 @@ WARNINGS_CO := $(WARNINGS_MIN) -Wmissing-prototypes + WARNINGS_ICD := $(WARNINGS_CXX) + WARNINGS_GB := -Wall -Wno-missing-braces -Wno-multichar -Wno-unused-result + +-CSRCS := deps/gb/apu.c \ ++CSRCS := \ ++ deps/libco/libco.c \ ++ deps/snes_spc/spc_dsp.c ++ ++ifeq ($(USE_EXTERNAL_SAMEBOY), 0) ++CSRCS += \ ++ deps/gb/apu.c \ + deps/gb/camera.c \ + deps/gb/display.c \ + deps/gb/gb.c \ +@@ -96,9 +108,16 @@ CSRCS := deps/gb/apu.c \ + deps/gb/sgb.c \ + deps/gb/sm83_cpu.c \ + deps/gb/timing.c \ +- deps/gb/workboy.c \ +- deps/libco/libco.c \ +- deps/snes_spc/spc_dsp.c ++ deps/gb/workboy.c ++else ++CFLAGS_SAMEBOY = $(shell $(PKG_CONFIG) --cflags sameboy || echo fail) ++LIBS_SAMEBOY = $(shell $(PKG_CONFIG) --libs sameboy || echo fail) ++ifeq ($(CFLAGS_SAMEBOY)$(LIBS_SAMEBOY),failfail) ++$(error "pkg-config failure; CFLAGS_SAMEBOY and LIBS_SAMEBOY missing") ++endif ++INCLUDES += $(CFLAGS_SAMEBOY) ++LIBS += $(LIBS_SAMEBOY) ++endif + + CXXSRCS := deps/byuuML/byuuML.cpp \ + src/audio.cpp \ +@@ -243,8 +262,11 @@ install-data: all + + install-docs:: + cp $(DEPDIR)/byuuML/LICENSE $(DESTDIR)$(DOCDIR)/LICENSE-byuuML +- cp $(DEPDIR)/gb/LICENSE $(DESTDIR)$(DOCDIR)/LICENSE-gb + cp $(DEPDIR)/libco/LICENSE $(DESTDIR)$(DOCDIR)/LICENSE-libco + cp $(DEPDIR)/snes_spc/LICENSE $(DESTDIR)$(DOCDIR)/LICENSE-spc ++ifeq ($(USE_EXTERNAL_SAMEBOY), 0) ++install-docs:: ++ cp $(DEPDIR)/gb/LICENSE $(DESTDIR)$(DOCDIR)/LICENSE-gb ++endif + + include $(SOURCEDIR)/mk/rules.mk +diff --git a/README b/README +index 3db6823..910c8d5 100644 +--- a/README ++++ b/README +@@ -30,7 +30,8 @@ Options: + ENABLE_HTML - Set to a non-zero value to generate the html documentation. + ENABLE_STATIC - Set to a non-zero value to build a static archive. + ENABLE_STATIC_JG - Set to a non-zero value to build a static JG archive. +- USE_VENDORED_SAMPLERATE - Set non-zero to use vendored libsamplerate ++ USE_VENDORED_SAMPLERATE - Set non-zero to use vendored libsamplerate. ++ USE_EXTERNAL_SAMEBOY - Set non-zero to use system-provided sameboy. + + Linux: + make +diff --git a/src/coprocessor/icd.cpp b/src/coprocessor/icd.cpp +index 2b0fb96..066b63e 100644 +--- a/src/coprocessor/icd.cpp ++++ b/src/coprocessor/icd.cpp +@@ -28,7 +28,7 @@ + #include "icd.hpp" + + extern "C" { +- #include ++ #include + } + + //warning: the size of this object will be too large due to C++ size rules differing from C rules.