From patchwork Tue Jan 16 07:11:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lilah Tascheter X-Patchwork-Id: 58930 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 929C027BBE9; Tue, 16 Jan 2024 07:12:12 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FROM_SUSPICIOUS_NTLD,MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=no 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 07A5D27BBE2 for ; Tue, 16 Jan 2024 07:12:11 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rPdcE-0000hq-Fb; Tue, 16 Jan 2024 02:12:06 -0500 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 1rPdcA-0000gT-1a for guix-patches@gnu.org; Tue, 16 Jan 2024 02:12:02 -0500 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 1rPdc9-0000w8-OY for guix-patches@gnu.org; Tue, 16 Jan 2024 02:12:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rPdc9-0000Ya-O9 for guix-patches@gnu.org; Tue, 16 Jan 2024 02:12:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68469] [PATCH] gnu: Add melonds. References: <30c6be832a2771676f848a79e2ac47ff23af69fe.1705322704.git.altadil@protonmail.com> In-Reply-To: <30c6be832a2771676f848a79e2ac47ff23af69fe.1705322704.git.altadil@protonmail.com> Resent-From: Lilah Tascheter Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 16 Jan 2024 07:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68469 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68469@debbugs.gnu.org Received: via spool by 68469-submit@debbugs.gnu.org id=B68469.17053890992111 (code B ref 68469); Tue, 16 Jan 2024 07:12:01 +0000 Received: (at 68469) by debbugs.gnu.org; 16 Jan 2024 07:11:39 +0000 Received: from localhost ([127.0.0.1]:47573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rPdbm-0000Xy-MW for submit@debbugs.gnu.org; Tue, 16 Jan 2024 02:11:39 -0500 Received: from sendmail.purelymail.com ([34.202.193.197]:51960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rPdbi-0000Xj-3X for 68469@debbugs.gnu.org; Tue, 16 Jan 2024 02:11:37 -0500 DKIM-Signature: a=rsa-sha256; b=dhc3tpQBXlOCcmuZ6h3Mupeb/X5W8yCWDOtHPdsxcRJ2dpSh3bfQmdx+UjJQ3R9mzgIzLkeEAEZryIAyczW6a9ISzf9Z/fYy+AfL8823e1LP9coaIJ9EYEFxh5JglY3X7TNq/Pmm8TBlidW/knHR4UxR40hDJwTB62Wdi5BaWKQwI78vv+EWxRUA9V/0N6SANYZjkg7zQYIxWO+ULk14/xre8jxEFb0+8NCq6o8CQHGgwDp62AGggjh/7/7Q3RvzLhW7LWC5z+HivCySlfxM94H/U1Nwy0DLNhP7mQ36ZKLO2rezBEUb1z3WkDdBd7s7e9sjk6tKbVzgqjseZLB/gw==; s=purelymail1; d=lunabee.space; v=1; bh=wAaxP54Xmp+7692kcjUpA9YYpZaMHgQ0EJafmDT4MCI=; h=Received:Subject:From:To; DKIM-Signature: a=rsa-sha256; b=qR4ZSixBVGBDzpx8+ae4RuY7UMqEswWitQJkzBAxXsPCB2yvwdbVMDyjJ/nVF2Rqg4ZQQWEcREoLB8T3u6P2ElnB4rswciCLaxJ1rZ56jehR5d2HIraFwVlFCK+78ZwPoHKV9Iv2JkYYlFvy2yrPEn2kBVIdXKnfNly6wzh49svYHPUXTMQollB7+7kEFdtxlqaqH77SWgo1TNyjw6/anm8KwdJj2y4jnrMJI+49nmohBwSy0S2hS08pW4KITyEmbRrZqfZGze+sgv9xmGfrVQkO+HQIqDOYtVqO598Bojv1zcfujYaJcSolFFik5l/3gtSEayBDcU0buW01kgGukA==; s=purelymail1; d=purelymail.com; v=1; bh=wAaxP54Xmp+7692kcjUpA9YYpZaMHgQ0EJafmDT4MCI=; h=Feedback-ID:Received:Subject:From:To; Feedback-ID: 8937:2070:null:purelymail X-Pm-Original-To: 68469@debbugs.gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1859612148 for <68469@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Tue, 16 Jan 2024 07:11:25 +0000 (UTC) Message-ID: Date: Tue, 16 Jan 2024 01:11:23 -0600 Organization: Dissociation for Heresiographal Computation User-Agent: Evolution 3.46.4 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: , X-Patchwork-Original-From: Lilah Tascheter via Guix-patches From: Lilah Tascheter Reply-To: Lilah Tascheter 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 hi! great patch!! :) there's a few small issues I found: * the source hash line is too long, style guide says lines shouldn't exceed 80 cols. * melonds doesn't actually require curl and gnutls. no clue why their README says it does. I've verified it compiles without them. * melonds secretly bundles in pre-compiled DS firmware in src/FreeBIOS.h. they do, however, provide source, but our buildscript shouldn't rely on bundled blobs. I took the liberty of attaching an edited patch. hope that's alright! - lilah --- gnu/packages/emulators.scm | 64 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) base-commit: 21f5d20d68e0359f8111ccb936905649c70db9c1 diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index cde3ee052c..0f7962115d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2023 Yovan Naumovski ;;; Copyright © 2023 Hendursaga ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2024 Altadil ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,6 +82,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages graphics) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libedit) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) @@ -102,6 +104,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) #:use-module (gnu packages video) + #:use-module (gnu packages vim) #:use-module (gnu packages vulkan) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) @@ -733,6 +736,67 @@ (define-public mednafen ;; Main license is GPL2+. Some parts are BSD-3. (license (list license:gpl2+ license:bsd-3)))) +(define-public melonds + (package + (name "melonds") + (version "0.9.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/melonDS-emu/melonDS") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c4hhs5mffj43pa2y18k70q6szc09m8yj0gqw2svszpvpz2n91cz")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ; No test target available. + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'compile-bios + (lambda* (#:key inputs #:allow-other-keys) + (define (as arm arch) + (invoke "arm-none-eabi-gcc" + "-c" "freebios/bios_common.S" + (string-append "-march=armv" arch) + (string-append "-DBIOS_ARM" arm) + "-o" (string-append "bios_arm" arm ".o")) + (invoke "arm-none-eabi-objcopy" + "-O" "binary" + (string-append "bios_arm" arm ".o") + (string-append "bios_arm" arm ".bin"))) + + (as "7" "4t") + (as "9" "5te") + (with-output-to-file "src/FreeBIOS.h" + (lambda () + (display "#ifndef FREEBIOS_H\n#define FREEBIOS_H\n") + (invoke "xxd" "-i" "bios_arm7.bin") + (invoke "xxd" "-i" "bios_arm9.bin") + (display "#endif\n")))))))) + (native-inputs (list (cross-gcc "arm-none-eabi") + (cross-binutils "arm-none-eabi") + extra-cmake-modules + pkg-config + xxd)) + (inputs (list libarchive + libpcap + libslirp + qtbase-5 + qtmultimedia-5 + sdl2 + wayland + zstd)) + (synopsis "DS emulator") + (description "melonDS is an emulator of the Nintendo DS. It aims at +providing fast and accurate emulation. While it is still a work in progress, +it has a pretty solid set of features, includind a nearly complete core, a JIT +recompiler for fast emulation, an OpenGL renderer, joystick support and +savestates.") + (home-page "https://melonds.kuribo64.net/") + (license license:gpl3+))) + (define-public mgba (package (name "mgba")