From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id UJM2Io37CWfdlAAAqHPOHw:P1 (envelope-from ) for ; Sat, 12 Oct 2024 04:31:09 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id UJM2Io37CWfdlAAAqHPOHw (envelope-from ) for ; Sat, 12 Oct 2024 06:31:09 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=BjegVKcg; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=AO3LEOA5; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1728707469; a=rsa-sha256; cv=none; b=csbgEw61SL4U9xFv3lJm+9lZILeCOa4QWrG8SjJ9XdIot//kXileF39zf+/HbTG694+mgo n631q1lbNRLMqYIBkY1Iohwbc9zP82Xkom6jCStxxUbg9bXjtTAxWi2s8x0VXcyQbirKUC FuqgJFCQTTMmMGNYVl11QyMrYpGBy3fJzMnZj0pwaHxBwIuHsjhiZqfHyfbUqAq6n+ZDgy p5uPPL49MsSlo7u9eQM5BFbi99Y44dghqyQfXJBS/JoUj/HhdsMkWX8GpJsDnT7XGirUn2 B44+qq9YEJa2LT6BXpCroCRUEvqP7iCHaSBW1GlZm4M78GwFQ3SRrof1jYYxew== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=BjegVKcg; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=AO3LEOA5; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1728707469; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=2mdPEIv9OLwUs+raaHAIvTPq0lvI6pxf/0BDy6H8Roc=; b=g4kMhgofWUE05zK6hgsxfx+yJia0Sf6fvCVSAOYZeVeWyzx+xqpQEgafTeuG98CsWe4Wxs jF3mJzXZJmo2Ry8Vn2kn0BCGn/pj1TYLZdV7Hj7z74v2e2FgafOrs0krVw4dm9d2ntOFo9 In4WIb7xzOweTE/QLugU4s/gGeKKoGV6HJUBIX2mJQznrXCKiGHjgeaklaV5qssnQpMbQA pm+NL2Sj3otc+vBzoKw8YxpeVaKGoDcIZ6aUGLktYfIZwvjW4uFva+I2Y28rRx35Gmld5P 1O4NaGtVc5673vcIZoUy4lQ0q+Pw/4jwBBC7zpwCteWcbmjlm1xfruE/Hs6Gpw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2A4F2851B4 for ; Sat, 12 Oct 2024 06:31:09 +0200 (CEST) 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?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= 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 Content-Transfer-Encoding: 8bit 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+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 0.19 X-Spam-Score: 0.19 X-Migadu-Queue-Id: 2A4F2851B4 X-Migadu-Scanner: mx12.migadu.com X-TUID: sMMY0w8RDvd9 * 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. -- 2.46.0