From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Subject: [PATCHES] Mupen64Plus Date: Mon, 02 Nov 2015 23:04:17 +0100 Message-ID: <8737woawim.fsf@T420.taylan> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36500) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtNDE-0002Zl-Mq for guix-devel@gnu.org; Mon, 02 Nov 2015 17:04:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtNDB-0004oV-5A for guix-devel@gnu.org; Mon, 02 Nov 2015 17:04:24 -0500 Received: from mail-wm0-x22d.google.com ([2a00:1450:400c:c09::22d]:38785) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtNDA-0004oE-JY for guix-devel@gnu.org; Mon, 02 Nov 2015 17:04:21 -0500 Received: by wmeg8 with SMTP id g8so652504wme.1 for ; Mon, 02 Nov 2015 14:04:19 -0800 (PST) Received: from T420.taylan ([2a02:908:c32:4740:221:ccff:fe66:68f0]) by smtp.gmail.com with ESMTPSA id ee5sm24553926wjd.17.2015.11.02.14.04.18 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Nov 2015 14:04:18 -0800 (PST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain (I can't use git-send-email with git installed from Guix for some reason; it says subcommand not found.) So here's 11 patches that add Mupen64Plus, the console front-end, and many essential plugins. These packages need to be used in a somewhat peculiar way: - install *both* mupen64plus-core and mupen64plus-ui-console in your profile, - install all the plugins in your profile, - in your config file ($XDG_CONFIG_HOME/mupen64plus/mupen64plus.cfg), set Core/SharedDataPath to $guix_profile/share/mupen64plus, and set UI-Console/PluginDir to $guix_profile/lib/mupen64plus, - specify your input/audio/video/rsp plugins of choice (for video, the Glide64 ones work well for me, and the HLE one for RSP). That yields a working setup. I don't know if I can make it work any better out of the box (without horrible hacks and/or substantial patches to the C code) because the whole system seems to assume the existence of a single "shared data" and a single "plugin" directory, so a user is best served by installing all preferred mupen64plus-* packages into one profile and then pointing the data and plugin directories there as described above. In particular, the -core package needs to be installed too (despite ui-console already closing over it) because it also provides a data file without which some things don't work. By the way, some video plugins don't work out of the box, and I don't really know how to make them work or if they're entirely broken, but they're packaged by Debian as well (with the same kinds of breakage out of the box) so I also packaged them. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-gnu-Add-mupen64plus-core.patch >From 1fbd12332633093875f4272208207ab88fb4b9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:38:01 +0100 Subject: [PATCH 01/11] gnu: Add mupen64plus-core. * gnu/packages/games.scm (mupen64plus-core): New variable. --- gnu/packages/games.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 865bfca..76e5eb7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1215,6 +1215,52 @@ world}, @uref{http://evolonline.org, Evol Online} and ;; The rest is under GPL2+. (license (list license:gpl2+ license:zlib license:cc-by-sa4.0)))) +(define-public mupen64plus-core + (package + (name "mupen64plus-core") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-core/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list "all" (string-append "PREFIX=" out))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Nintendo 64 emulator core library") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +core library.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-gnu-Add-mupen64plus-audio-sdl.patch >From 83fff41d840cfa5fc31294593c94368cca737bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:38:13 +0100 Subject: [PATCH 02/11] gnu: Add mupen64plus-audio-sdl. * gnu/packages/games.scm (mupen64plus-audio-sdl): New variable. --- gnu/packages/games.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 76e5eb7..198f8b2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1261,6 +1261,52 @@ which is capable of accurately playing many games. This package contains the core library.") (license license:gpl2+))) +(define-public mupen64plus-audio-sdl + (package + (name "mupen64plus-audio-sdl") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +SDL audio plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-gnu-Add-mupen64plus-input-sdl.patch >From 698f7683c22e4df87fbbe52f08d2ef4868da5f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:38:28 +0100 Subject: [PATCH 03/11] gnu: Add mupen64plus-input-sdl. * gnu/packages/games.scm (mupen64plus-input-sdl): New variable. --- gnu/packages/games.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 198f8b2..befcbd7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1307,6 +1307,51 @@ which is capable of accurately playing many games. This package contains the SDL audio plugin.") (license license:gpl2+))) +(define-public mupen64plus-input-sdl + (package + (name "mupen64plus-input-sdl") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri")))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which))) + (inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +SDL input plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-gnu-Add-mupen64plus-rsp-hle.patch >From a5ac1154b8bbd3a4d33d491132c71c235428bcdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:38:40 +0100 Subject: [PATCH 04/11] gnu: Add mupen64plus-rsp-hle. * gnu/packages/games.scm (mupen64plus-rsp-hle): New variable. --- gnu/packages/games.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index befcbd7..0061287 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1352,6 +1352,48 @@ which is capable of accurately playing many games. This package contains the SDL input plugin.") (license license:gpl2+))) +(define-public mupen64plus-rsp-hle + (package + (name "mupen64plus-rsp-hle") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv")))) + (build-system gnu-build-system) + (inputs + `(("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +high-level emulation (HLE) RSP processor plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0005-gnu-Add-mupen64plus-rsp-z64.patch >From 8ed6d2ea2ee3d99b56727430bfa150e2d03e0a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:38:58 +0100 Subject: [PATCH 05/11] gnu: Add mupen64plus-rsp-z64. * gnu/packages/games.scm (mupen64plus-rsp-z64): New variable. --- gnu/packages/games.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0061287..7ce5f92 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1394,6 +1394,48 @@ which is capable of accurately playing many games. This package contains the high-level emulation (HLE) RSP processor plugin.") (license license:gpl2+))) +(define-public mupen64plus-rsp-z64 + (package + (name "mupen64plus-rsp-z64") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi")))) + (build-system gnu-build-system) + (inputs + `(("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Z64 RSP processor plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0006-gnu-Add-mupen64plus-ui-console.patch >From 340d32562f45de2f4f283fd270d77f679f270b3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:39:22 +0100 Subject: [PATCH 06/11] gnu: Add mupen64plus-ui-console. * gnu/packages/games.scm (mupen64plus-ui-console): New variable. --- gnu/packages/games.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7ce5f92..b5ba3ae 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1436,6 +1436,54 @@ which is capable of accurately playing many games. This package contains the Z64 RSP processor plugin.") (license license:gpl2+))) +(define-public mupen64plus-ui-console + (package + (name "mupen64plus-ui-console") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-ui-console/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus") + ;; Trailing slash matters here. + (string-append "COREDIR=" m64p "/lib/"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus SDL input plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Z64 RSP processor plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0007-gnu-Add-mupen64plus-video-arachnoid.patch >From f5eabacbde93b2e25ff67a4cae05b7bdb34f8adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:39:42 +0100 Subject: [PATCH 07/11] gnu: Add mupen64plus-video-arachnoid * gnu/packages/games.scm (mupen64plus-video-arachnoid): New variable. --- gnu/packages/games.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b5ba3ae..a98dfa4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1484,6 +1484,52 @@ which is capable of accurately playing many games. This package contains the Z64 RSP processor plugin.") (license license:gpl2+))) +(define-public mupen64plus-video-arachnoid + (package + (name "mupen64plus-video-arachnoid") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Arachnoid video plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0008-gnu-Add-mupen64plus-video-glide64.patch >From 4b832d5647802b3279c3450f92af2e706e64a8d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:39:58 +0100 Subject: [PATCH 08/11] gnu: Add mupen64plus-video-glide64. * gnu/packages/games.scm (mupen64plus-video-glide64): New variable. --- gnu/packages/games.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a98dfa4..627bdc5 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1530,6 +1530,60 @@ which is capable of accurately playing many games. This package contains the Arachnoid video plugin.") (license license:gpl2+))) +(define-public mupen64plus-video-glide64 + (package + (name "mupen64plus-video-glide64") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix"))) + ;; XXX Should be unnecessary with the next release. + (add-before + 'build 'use-sdl2 + (lambda _ + (substitute* "Makefile" + (("SDL_CONFIG = (.*)sdl-config" all prefix) + (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Glide64 video plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0009-gnu-Add-mupen64plus-video-glide64mk2.patch >From 5ce1792e71b5e0ffc0242f4e33cb51916ea10217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:40:14 +0100 Subject: [PATCH 09/11] gnu: Add mupen64plus-video-glide64mk2. * gnu/packages/games.scm (mupen64plus-video-glide64mk2): New variable. --- gnu/packages/games.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 627bdc5..0f546f2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1584,6 +1584,56 @@ which is capable of accurately playing many games. This package contains the Glide64 video plugin.") (license license:gpl2+))) +(define-public mupen64plus-video-glide64mk2 + (package + (name "mupen64plus-video-glide64mk2") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("boost" ,boost) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2) + ("zlib" ,zlib))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Glide64MK2 video plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0010-gnu-Add-mupen64plus-video-rice.patch >From 5b47e8d4fe1bce2681e1467a994c49ee3b51af1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:40:28 +0100 Subject: [PATCH 10/11] gnu: Add mupen64plus-video-rice. * gnu/packages/games.scm (mupen64plus-video-rice): New variable. --- gnu/packages/games.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 0f546f2..18827d6 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1634,6 +1634,54 @@ which is capable of accurately playing many games. This package contains the Glide64MK2 video plugin.") (license license:gpl2+))) +(define-public mupen64plus-video-rice + (package + (name "mupen64plus-video-rice") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-rice/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("libpng" ,libpng) + ("mesa" ,mesa) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix")))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Rice Video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Rice Video plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0011-gnu-Add-mupen64plus-video-z64.patch >From 2bb7e077a07b361bff1b0ac9aa7c00a68d106b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Mon, 2 Nov 2015 00:40:40 +0100 Subject: [PATCH 11/11] gnu: Add mupen64plus-video-z64. * gnu/packages/games.scm (mupen64plus-video-z64): New variable. --- gnu/packages/games.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 18827d6..d0acfac 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1682,6 +1682,60 @@ which is capable of accurately playing many games. This package contains the Rice Video plugin.") (license license:gpl2+))) +(define-public mupen64plus-video-z64 + (package + (name "mupen64plus-video-z64") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mupen64plus/mupen64plus-video-z64/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("glew" ,glew) + ("mupen64plus-core" ,mupen64plus-core) + ("sdl2" ,sdl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; The mupen64plus build system has no configure phase. + (delete 'configure) + ;; Makefile is in a subdirectory. + (add-before + 'build 'cd-to-project-dir + (lambda _ + (chdir "projects/unix"))) + ;; XXX Should be unnecessary with the next release. + (add-before + 'build 'use-sdl2 + (lambda _ + (substitute* "Makefile" + (("SDL_CONFIG = (.*)sdl-config" all prefix) + (string-append "SDL_CONFIG = " prefix "sdl2-config")))))) + #:make-flags + (let ((out (assoc-ref %outputs "out")) + (m64p (assoc-ref %build-inputs "mupen64plus-core"))) + (list "all" + (string-append "PREFIX=" out) + (string-append "APIDIR=" m64p "/include/mupen64plus"))) + ;; There are no tests. + #:tests? #f)) + (home-page "http://www.mupen64plus.org/") + (synopsis "Mupen64Plus Z64 video plugin") + (description + "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator +which is capable of accurately playing many games. This package contains the +Z64 video plugin.") + (license license:gpl2+))) + (define-public nestopiaue (package (name "nestopiaue") -- 2.5.0 --=-=-=--