From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id APWFJTVHUmN7FwEAbAwnHQ (envelope-from ) for ; Fri, 21 Oct 2022 09:16:05 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id qH2+JTVHUmNwLgEAauVa8A (envelope-from ) for ; Fri, 21 Oct 2022 09:16:05 +0200 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 4E83B2D595 for ; Fri, 21 Oct 2022 09:16:05 +0200 (CEST) Received: from localhost ([::1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1olmGA-0002qM-GS for larch@yhetil.org; Fri, 21 Oct 2022 03:16:04 -0400 Received: from [::1] (helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1olmBW-0000Ig-Kb for larch@yhetil.org; Fri, 21 Oct 2022 03:11:14 -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 1olmBP-0000Hi-3j for guix-patches@gnu.org; Fri, 21 Oct 2022 03:11:12 -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 1olmBK-0002ec-Bx for guix-patches@gnu.org; Fri, 21 Oct 2022 03:11:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1olmBK-0005EK-6K for guix-patches@gnu.org; Fri, 21 Oct 2022 03:11:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58499] [PATCH v2] gnu: Add citra References: In-Reply-To: Resent-From: florhizome@posteo.net Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 21 Oct 2022 07:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58499 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 58499@debbugs.gnu.org Cc: florhizome Received: via spool by 58499-submit@debbugs.gnu.org id=B58499.166633620719998 (code B ref 58499); Fri, 21 Oct 2022 07:11:02 +0000 Received: (at 58499) by debbugs.gnu.org; 21 Oct 2022 07:10:07 +0000 Received: from localhost ([127.0.0.1]:36773 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1olmAQ-0005CO-Ki for submit@debbugs.gnu.org; Fri, 21 Oct 2022 03:10:07 -0400 Received: from mout01.posteo.de ([185.67.36.65]:34467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oldaC-0007O8-M9 for 58499@debbugs.gnu.org; Thu, 20 Oct 2022 18:00:09 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id D9C7A240031 for <58499@debbugs.gnu.org>; Fri, 21 Oct 2022 00:00:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1666303202; bh=X+61twr2vuw5saZt6iSf9vGBGl0dB0cwb+B6jYyyrwM=; h=From:To:Cc:Subject:Date:From; b=TZx3o5Hrpv9G16w5yZF+9AUNLqmWWvCmpwiaTbT1BEpqeaGoVDr2zZducV6s7iidj OYxahQZxrHaJHcfW6d8xT/RDGTDU6Dto7Elv+W9UeZsVjFhA5WAM70ppwTwFAGhDWh Qm5nxZKTEztr4R9wGcR5dlw2bVvk2g64DfjHFeeB3vFLxt9EjHwDB4YFpUhVEsb52u Qj0Q4raPLnzwciukTq+3reTuWtdP8J7HT7ExXWsdYFnkn+K7BTAfc7OD8qpcAvfnRx Gh4sc6JWurJPW6G1BJSWATWm41t75kZzcs7spGZs205uexsYeS6nZlWl3TH5CGFiSG Q6ElIlaGmPIbw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MthNK6N3Cz9rxH; Fri, 21 Oct 2022 00:00:01 +0200 (CEST) From: florhizome@posteo.net Date: Thu, 20 Oct 2022 21:55:03 +0000 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 21 Oct 2022 03:09:55 -0400 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" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1666336565; 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=l9nibOU1oe8RC3ADbIUhoxlqt3yOToF6+la99aJN4gs=; b=osKuQ8NV4D1lfa7dA/XCeHk6InWVHAYnXtNDFqvxwg+U6xqiICIKHY1T4J3cQWCrEAPDYL PIdhtNTISbATtnfGY1q/XL11Ob1PjXbaB2N4ZhVRfWbjRQjpjzUi90+cqgYLa71xu3x8mC eSC6IU5MHPRwmp1fAv1SUph6E6AiZcgisQzgcpf9y5CMf08yNs2OQA5qGwzaN5LKExDinu 8/x5sUATBYzfCv4GNlppU4yUB8MrRfUzKn4OHZ1f4DVXyYTKdAYiF2FRJNFI88ObR2WSiF vMoB2Jo6KSya9fNRUyL/pQwUF8Uw0K5f1SJ4QaeGUDOcl8KtdUw4T6jTPgll+w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1666336565; a=rsa-sha256; cv=none; b=YV2YOvnWb4DuksqMYA12/Uy0ijDlL6qF0S/7ToVLpikuJ3b2x5dTUhM0j8y5AnHDMXtbGt 0FW7BhSBuT8rgp0tJIYkMxC8rcv+sfVsTymbgLpVWkcUpXhLTc4eUKYSt6GJFplk0Qwssx cFvCs6vicNK3Y/Dv0EC30/G7uVgIvQqQpGgEuaFm/sJi/w/sTdjZ/TpVm1+WT5XrgYwpnr yvZ7Y6mA0+TrOT/JBoSoxx5HlIwQPiJcM4zl9EFxo8fVkWT/9Ii5KjJnVJsyfgBnpf1gQs h8afFqacKOIl/egCzyegROaCYHY/i9um24l5gJ/pfOI8xW0ahYYgo2mMRZjUAA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=TZx3o5Hr; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (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" X-Migadu-Spam-Score: 9.06 X-Spam: Yes Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=TZx3o5Hr; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (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" X-Migadu-Queue-Id: 4E83B2D595 X-Spam-Score: 9.06 X-Migadu-Spam: Yes X-Migadu-Scanner: scn1.migadu.com X-TUID: z1hVEzx7rJ+B From: florhizome * gnu: Add citra. --- gnu/packages/emulators.scm | 103 +++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 4d7710f8ea..be4e10bb9c 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -61,6 +61,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages cross-base) #:use-module (gnu packages curl) #:use-module (gnu packages digest) + #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) @@ -74,6 +75,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libedit) @@ -105,6 +107,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages xorg) #:use-module (gnu packages web) #:use-module (guix build-system cmake) + #:use-module (guix build-system qt) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) @@ -245,9 +248,109 @@ (define-public desmume "DeSmuME is an emulator for the Nintendo DS handheld gaming console.") (license license:gpl2))) +(define-public citra + (let ((version "0") + (revision "1785") + (commit "baecc18d8c5365af0dddb231bc8c0a9c03850bf6")) + (package + (name "citra") + (version (git-version version + (string-append "nightly-" revision) commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/citra-emu/citra-nightly") + (commit + (string-append "nightly-" revision)) + ;;some submodules can't be avoided + ;;TODO devendor the rest + (recursive? #t))) + (sha256 + (base32 + "1grkrrxs1497i51spgnwmgfkqgkm7gplylhcrk67agaklx65d5s9")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove as much external stuff as we can + ;; f.e. some files in boost are still needed + (for-each (lambda (dir) + (delete-file-recursively + (string-append "externals/" dir))) + '("android-ifaddrs" + "catch" + "libyuv" + "libressl" + "getopt" + "libusb")) + ;; Clean up source. + (for-each delete-file + (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$")) + #t)))) + (build-system qt-build-system) + (arguments + (list + #:configure-flags + #~(list + "-DUSE_SYSTEM_BOOST=ON" + "-DCITRA_USE_BUNDLED_FFMPEG=OFF" + "-DCITRA_USE_BUNDLED_QT=OFF" + "-DCITRA_USE_BUNDLED_SDL2=OFF" + "-DCMAKE_BUILD_TYPE=Release" + "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=OFF" + "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" + "-DENABLE_QT_TRANSLATION=ON" + "-DENABLE_WEB_SERVICE=ON" + "-DENABLE_FFMPEG_AUDIO_DECODER=ON" + "-DUSE_DISCORD_PRESENCE=ON") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'delete-check + (lambda _ + (substitute* "CMakeLists.txt" + (("check_submodules_present\\(\\)")"")))) + (add-after 'qt-wrap 'wrap-other-dependencies + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (bin) + (wrap-program bin) + `("GST_PLUGIN_SYSTEM_PATH" prefix + (,(getenv "GST_PLUGIN_SYSTEM_PATH")))) + `(,(search-input-file outputs "bin/citra") + ,(search-input-file outputs "bin/citra-qt")))))))) + (native-inputs + (list pkg-config doxygen catch2)) + (inputs + (list qtbase-5 + qtmultimedia-5 + qttools-5 + qtwayland-5 + libpng + libxkbcommon + openssl + libfdk + ffmpeg + pulseaudio + curl + rapidjson + sdl2 + libusb + boost + gst-plugins-bad-minimal)) + ;;gstreamer-plugins-bad-minimal needed for camera support + (propagated-inputs (list xdg-utils shared-mime-info)) + (home-page "https://citra-emu.org") + (synopsis "Nintendo 3DS Emulator") + (description "Citra is an experimental emulator/debugger for the Nintendo 3DS + written in C++. It emulates a subset of the Nintendo 3DS' hardware.") + (license license:gpl2+)))) + + ;; Building from recent Git because the official 5.0 release no longer builds. ;; Following commits and revision numbers of beta versions listed at ;; https://dolphin-emu.org/download/. + (define-public dolphin-emu (let ((commit "a34823df61df65168aa40ef5e82e44defd4a0138") (revision "13178")) base-commit: 00ff6f7c399670a76efffb91276dea2633cc130c -- 2.38.0