From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 17 04:38:04 2022 Received: (at 58499) by debbugs.gnu.org; 17 Oct 2022 08:38:04 +0000 Received: from localhost ([127.0.0.1]:47225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okLdM-0004S9-Cy for submit@debbugs.gnu.org; Mon, 17 Oct 2022 04:38:04 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:46635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okLdJ-0004RH-LA for 58499@debbugs.gnu.org; Mon, 17 Oct 2022 04:38:02 -0400 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4MrVkC0tbJz1LZ3J; Mon, 17 Oct 2022 10:37:55 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4MrVkC0tbJz1LZ3J DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1665995876; bh=UBHhiio6JBb9Gg/UbEFYZlKoswR2UTPN5p9PjQfX5dM=; h=Subject:From:To:Date:In-Reply-To:References:From; b=DSE8JQQMwDrFM+FwXsHPCgcACib9a/PNJHael0sXsY5d/mWnv4tlEzAL3nywzjFNV vQGlDPUL9/A4Nn6s7XDgq7c5I6qgam0NS8g6mnWs+q13jUBgnig7SAw1FMIHGjL/Ju lZhtVZ13vKf7pQFjrUfYAk6e93DCWWS4Z39OcFKc= Message-ID: <697c4dd0589e00f9be2ec09fd7f798326efb0c4f.camel@ist.tugraz.at> Subject: Re: [PATCH] gnu: add citra (stable version) From: Liliana Marie Prikler To: florhizome@posteo.net, 58499@debbugs.gnu.org Date: Mon, 17 Oct 2022 10:37:54 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -0.4 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 58499 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Am Donnerstag, dem 13.10.2022 um 14:59 +0000 schrieb florhizome@posteo.net: > From: florhizome >=20 > This adds the citra emulator for nintendo 3ds games - the nightly > repo marks the stable version. NixOs does some things for > compatibility checks that we don't but it works fine so far. :) Missing ChangeLog. Title should be: "gnu: Add citra." > --- Notes not meant for the commit log go below this line. > =C2=A0gnu/packages/emulators.scm | 60 > ++++++++++++++++++++++++++++++++++++++ > =C2=A01 file changed, 60 insertions(+) >=20 > diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm > index 38795b703c..3121a71484 100644 > --- a/gnu/packages/emulators.scm > +++ b/gnu/packages/emulators.scm > @@ -61,6 +61,7 @@ (define-module (gnu packages emulators) > =C2=A0=C2=A0 #:use-module (gnu packages cross-base) > =C2=A0=C2=A0 #:use-module (gnu packages curl) > =C2=A0=C2=A0 #:use-module (gnu packages digest) > +=C2=A0 #:use-module (gnu packages documentation) > =C2=A0=C2=A0 #:use-module (gnu packages elf) > =C2=A0=C2=A0 #:use-module (gnu packages flex) > =C2=A0=C2=A0 #:use-module (gnu packages fltk) > @@ -74,6 +75,7 @@ (define-module (gnu packages emulators) > =C2=A0=C2=A0 #:use-module (gnu packages gl) > =C2=A0=C2=A0 #:use-module (gnu packages glib) > =C2=A0=C2=A0 #:use-module (gnu packages gnome) > +=C2=A0 #:use-module (gnu packages gstreamer) > =C2=A0=C2=A0 #:use-module (gnu packages gtk) > =C2=A0=C2=A0 #:use-module (gnu packages image) > =C2=A0=C2=A0 #:use-module (gnu packages libedit) > @@ -105,6 +107,7 @@ (define-module (gnu packages emulators) > =C2=A0=C2=A0 #:use-module (gnu packages xorg) > =C2=A0=C2=A0 #:use-module (gnu packages web) > =C2=A0=C2=A0 #:use-module (guix build-system cmake) > +=C2=A0 #:use-module (guix build-system qt) > =C2=A0=C2=A0 #:use-module (guix build-system glib-or-gtk) > =C2=A0=C2=A0 #:use-module (guix build-system gnu) > =C2=A0=C2=A0 #:use-module (guix build-system meson) > @@ -245,9 +248,66 @@ (define-public desmume > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "DeSmuME is an emulator for the Nintendo D= S handheld gaming > console.") > =C2=A0=C2=A0=C2=A0=C2=A0 (license license:gpl2))) > =C2=A0 > +(define-public citra > +=C2=A0 (package > +=C2=A0=C2=A0=C2=A0 (name "citra") > +=C2=A0=C2=A0=C2=A0 (version "1785") I'd prefer a let-bound revision/commit pair, since this is very much experimental software. Citra seems to be using a build version base of "0" [cf. 1], so we can do the same. =20 > +=C2=A0=C2=A0=C2=A0 (source > +=C2=A0=C2=A0=C2=A0=C2=A0 (origin > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (method git-fetch) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (uri (git-reference > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= (url "https://github.com/citra-emu/citra-nightly") Even if using nightly revisions, I think we might want to prefer the main repository. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= (commit > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 (string-append "nightly-" version)) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= (recursive? #t))) Recursive checkouts are discouraged. Wherefore do you need one? > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (file-name (git-file-name name vers= ion)) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (sha256 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (base32 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "1grkrrxs1497i51spgnwmg= fkqgkm7gplylhcrk67agaklx65d5s9")))) > +=C2=A0=C2=A0=C2=A0 (build-system qt-build-system) > +=C2=A0=C2=A0=C2=A0 (arguments > +=C2=A0=C2=A0=C2=A0=C2=A0 (list > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:configure-flags > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~(list "-DUSE_SYSTEM_BOOST=3DON" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DCITRA_USE_BUNDLED_FFMPEG=3DOFF" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DCITRA_USE_BUNDLED_QT=3DOFF" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DCITRA_USE_BUNDLED_SDL2=3DOFF" Don't forget to actually unbundle all of the above. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DCMAKE_BUILD_TYPE=3DRelease" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=3DOFF" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=3DOFF" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DENABLE_QT_TRANSLATION=3DON" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DENABLE_WEB_SERVICE=3DON" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DENABLE_FFMPEG_AUDIO_DECODER=3DON" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 "-DUSE_DISCORD_PRESENCE=3DON") Don't enable features for the profit of proprietary software. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:tests? #f Why? > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:phases > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~(modify-phases %standard-phases > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (add-before= 'configure 'delete-check > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= (lambda _ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 (substitute* "CMakeLists.txt" > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 (("check_submodules_present\\(\\)")""))))))) > +=C2=A0=C2=A0=C2=A0 (native-inputs > +=C2=A0=C2=A0=C2=A0=C2=A0 (list pkg-config doxygen)) > +=C2=A0=C2=A0=C2=A0 (inputs > +=C2=A0=C2=A0=C2=A0=C2=A0 (list qtbase-5 qtmultimedia-5 qttools-5 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 qtwayland l= ibpng libxkbcommon > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 openssl > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ffmpeg puls= eaudio curl rapidjson > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sdl2 libusb= boost)) > +=C2=A0=C2=A0=C2=A0 ;;gstreamer-plugins-bad needed for camera support > +=C2=A0=C2=A0=C2=A0 (propagated-inputs (list gst-plugins-bad xdg-utils sh= ared-mime- > info)) For the gst-plugins, check if you can isolate a minimum set of them.=20 Also, use wrappers rather than propagation. > +=C2=A0=C2=A0=C2=A0 (home-page "https://citra-emu.org") > +=C2=A0=C2=A0=C2=A0 (synopsis "Nintendo 3DS Emulator") > +=C2=A0=C2=A0=C2=A0 (description "Citra is an experimental open-source Ni= ntendo 3DS > + emulator/debugger written in C++.=C2=A0 It is written with portability > in > + mind, with builds actively maintained for Windows, Linux and macOS. > + The \"nightly\" version marks the stable release.") "Citra is an experimental emulator/debugger for the Nintendo 3DS written in C++. It emulates a subset of the Nintendo 3DS' hardware." > +=C2=A0=C2=A0=C2=A0 (license license:gpl3+))) Should be gpl2+. Cheers [1] https://github.com/citra-emu/citra/blob/47c4f31c8db86b043a1802a65f1df08aeec= 8e772/CMakeModules/GenerateSCMRev.cmake#L22