unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCHES] Mupen64Plus
@ 2015-11-02 22:04 Taylan Ulrich Bayırlı/Kammer
  2015-11-03  5:13 ` Leo Famulari
  2015-11-06 16:46 ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 2 replies; 9+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-11-02 22:04 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

(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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-mupen64plus-core.patch --]
[-- Type: text/x-diff, Size: 2450 bytes --]

From 1fbd12332633093875f4272208207ab88fb4b9ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-mupen64plus-audio-sdl.patch --]
[-- Type: text/x-diff, Size: 2511 bytes --]

From 83fff41d840cfa5fc31294593c94368cca737bd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-mupen64plus-input-sdl.patch --]
[-- Type: text/x-diff, Size: 2479 bytes --]

From 698f7683c22e4df87fbbe52f08d2ef4868da5f16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-mupen64plus-rsp-hle.patch --]
[-- Type: text/x-diff, Size: 2427 bytes --]

From a5ac1154b8bbd3a4d33d491132c71c235428bcdd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-gnu-Add-mupen64plus-rsp-z64.patch --]
[-- Type: text/x-diff, Size: 2437 bytes --]

From 8ed6d2ea2ee3d99b56727430bfa150e2d03e0a10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-gnu-Add-mupen64plus-ui-console.patch --]
[-- Type: text/x-diff, Size: 2642 bytes --]

From 340d32562f45de2f4f283fd270d77f679f270b3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0007-gnu-Add-mupen64plus-video-arachnoid.patch --]
[-- Type: text/x-diff, Size: 2561 bytes --]

From f5eabacbde93b2e25ff67a4cae05b7bdb34f8adf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-gnu-Add-mupen64plus-video-glide64.patch --]
[-- Type: text/x-diff, Size: 2877 bytes --]

From 4b832d5647802b3279c3450f92af2e706e64a8d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-gnu-Add-mupen64plus-video-glide64mk2.patch --]
[-- Type: text/x-diff, Size: 2664 bytes --]

From 5ce1792e71b5e0ffc0242f4e33cb51916ea10217 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0010-gnu-Add-mupen64plus-video-rice.patch --]
[-- Type: text/x-diff, Size: 2581 bytes --]

From 5b47e8d4fe1bce2681e1467a994c49ee3b51af1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-gnu-Add-mupen64plus-video-z64.patch --]
[-- Type: text/x-diff, Size: 2847 bytes --]

From 2bb7e077a07b361bff1b0ac9aa7c00a68d106b4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-02 22:04 [PATCHES] Mupen64Plus Taylan Ulrich Bayırlı/Kammer
@ 2015-11-03  5:13 ` Leo Famulari
  2015-11-03 15:03   ` Eric Bavier
  2015-11-06 16:46 ` Taylan Ulrich Bayırlı/Kammer
  1 sibling, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2015-11-03  5:13 UTC (permalink / raw)
  To: guix-devel

On Mon, Nov 2, 2015, at 17:04, Taylan Ulrich Bayırlı/Kammer wrote:
> (I can't use git-send-email with git installed from Guix for some
> reason; it says subcommand not found.)

Off-topic, but this happened to me, too. I'm still using Debian's git,
but I bet the problem is that git-send-email needs to be able to find an
SMTP client. And, of course, that clients needs to be configured.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-03  5:13 ` Leo Famulari
@ 2015-11-03 15:03   ` Eric Bavier
  2015-11-03 15:49     ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Bavier @ 2015-11-03 15:03 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

On 2015-11-02 23:13, Leo Famulari wrote:
> On Mon, Nov 2, 2015, at 17:04, Taylan Ulrich Bayırlı/Kammer wrote:
>> (I can't use git-send-email with git installed from Guix for some
>> reason; it says subcommand not found.)
> 
> Off-topic, but this happened to me, too. I'm still using Debian's git,
> but I bet the problem is that git-send-email needs to be able to find 
> an
> SMTP client. And, of course, that clients needs to be configured.

Do you have "git:send-email" installed?

-- 
`~Eric

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-03 15:03   ` Eric Bavier
@ 2015-11-03 15:49     ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 0 replies; 9+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-11-03 15:49 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, guix-devel-bounces+ericbavier=openmailbox.org

Eric Bavier <ericbavier@openmailbox.org> writes:

> On 2015-11-02 23:13, Leo Famulari wrote:
>> On Mon, Nov 2, 2015, at 17:04, Taylan Ulrich Bayırlı/Kammer wrote:
>>> (I can't use git-send-email with git installed from Guix for some
>>> reason; it says subcommand not found.)
>>
>> Off-topic, but this happened to me, too. I'm still using Debian's git,
>> but I bet the problem is that git-send-email needs to be able to
>> find an
>> SMTP client. And, of course, that clients needs to be configured.
>
> Do you have "git:send-email" installed?

Ah, I didn't notice that in the 'guix package -A' output, thanks for
pointing it out. :-)

Taylan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-02 22:04 [PATCHES] Mupen64Plus Taylan Ulrich Bayırlı/Kammer
  2015-11-03  5:13 ` Leo Famulari
@ 2015-11-06 16:46 ` Taylan Ulrich Bayırlı/Kammer
  2015-11-12 12:49   ` Efraim Flashner
  1 sibling, 1 reply; 9+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-11-06 16:46 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2022 bytes --]

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> 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.

I now tackled this problem the following way:

- mupen64plus-ui-console is the recommended way to install mupen and
  propagates a basic set of plugins and the core library package (from
  which a data file is needed; the .so is referenced absolutely so
  that's not the reason),

- the C code of the console UI gets a Guix-specific patch which prints a
  flashy notice for Guix users when no plugins are found, instructing
  the user to edit their config so and so.

In the future I might provide some proper patches to the C code to take
the directory paths from environment variables in addition to the
existing mechanisms (CLI flag, .ini file, hardcoded system paths), but
for now I think this is good enough.

Comments welcome.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0011-gnu-Add-mupen64plus-ui-console.patch --]
[-- Type: text/x-diff, Size: 6711 bytes --]

From 6a2d0bc7cc0d27ce3bbee77faa747ff68466306a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
Date: Mon, 2 Nov 2015 00:39:22 +0100
Subject: [PATCH 11/11] gnu: Add mupen64plus-ui-console.

* gnu/packages/games.scm (mupen64plus-ui-console): New variable.
* gnu/packages/patches/mupen64plus-ui-console-notice.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                      |  1 +
 gnu/packages/games.scm                             | 66 ++++++++++++++++++++++
 .../patches/mupen64plus-ui-console-notice.patch    | 34 +++++++++++
 3 files changed, 101 insertions(+)
 create mode 100644 gnu/packages/patches/mupen64plus-ui-console-notice.patch

diff --git a/gnu-system.am b/gnu-system.am
index 946b77e..c27989c 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -568,6 +568,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/mplayer2-theora-fix.patch		\
   gnu/packages/patches/module-init-tools-moduledir.patch	\
   gnu/packages/patches/mumps-build-parallelism.patch		\
+  gnu/packages/patches/mupen64plus-ui-console-notice.patch	\
   gnu/packages/patches/mupdf-buildsystem-fix.patch		\
   gnu/packages/patches/mutt-store-references.patch		\
   gnu/packages/patches/net-tools-bitrot.patch			\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5830f9d..b867d52 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1688,6 +1688,72 @@ which is capable of accurately playing many games.  This package contains the
 Z64 video 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"))
+       (patches
+        (list (search-patch "mupen64plus-ui-console-notice.patch")))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("sdl2" ,sdl2)))
+    ;; Mupen64Plus supports a single data directory and a single plugin
+    ;; directory in its configuration, yet we need data and plugin files from
+    ;; a variety of packages.  The best way to deal with this is to install
+    ;; all packages from which data and plugin files are needed into one's
+    ;; profile, and point the configuration there.  Hence, propagate the most
+    ;; important packages here to save the user from the bother.  The patch
+    ;; mupen64plus-ui-console-notice also gives users instructions on what
+    ;; they need to do in order to point the configuration to their profile.
+    (propagated-inputs
+     `(("mupen64plus-core" ,mupen64plus-core)
+       ("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
+       ("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
+       ("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
+       ("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
+       ("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
+       ("mupen64plus-video-rice" ,mupen64plus-video-rice)))
+    (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
+command line user interface.  Installing this package is the easiest way
+towards a working Mupen64Plus for casual users.")
+    (license license:gpl2+)))
+
 (define-public nestopia-ue
   (package
     (name "nestopia-ue")
diff --git a/gnu/packages/patches/mupen64plus-ui-console-notice.patch b/gnu/packages/patches/mupen64plus-ui-console-notice.patch
new file mode 100644
index 0000000..1d0b4c4
--- /dev/null
+++ b/gnu/packages/patches/mupen64plus-ui-console-notice.patch
@@ -0,0 +1,34 @@
+Mupen64Plus supports a single data directory and a single plugin directory in
+its configuration, yet we need data and plugin files from a variety of
+packages.  The best way to deal with this is to install all packages from
+which data and plugin files are needed into one's profile, and point the
+configuration there.  Hence, the ui-console package provides propagated inputs
+for packages with the most important data and plugin files, and this patch
+provides the user instructions on what needs to be done in order to have
+Mupen64Plus find the relevant data and plugins.
+
+--- a/src/plugin.c
++++ b/src/plugin.c
+@@ -122,6 +122,22 @@ m64p_error PluginSearchLoad(m64p_handle ConfigUI)
+     {
+         const char *plugindir = (*ConfigGetParamString)(ConfigUI, "PluginDir");
+         lib_filelist = osal_library_search(plugindir);
++        /* Guix specific */
++        if (lib_filelist == NULL)
++        {
++            DebugMessage(M64MSG_ERROR, "No plugins found in PluginDir path: %s", plugindir);
++            DebugMessage(M64MSG_ERROR,
++                         "\n\n"
++                         "*********************************\n"
++                         "*** Notice for GNU Guix users ***\n"
++                         "*********************************\n"
++                         "\n"
++                         "You might want to edit your mupen64plus.cfg (in $XDG_CONFIG_HOME by default)\n"
++                         "and set SharedDataPath to /path/to/my_guix_profile/share/mupen64plus and\n"
++                         "PluginDir to /path/to/my_guix_profile/lib/mupen64plus so that data and plugins\n"
++                         "are found.\n"
++                         "\n");
++        }
+     }
+ 
+     /* if still no plugins found, search some common system folders */
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-06 16:46 ` Taylan Ulrich Bayırlı/Kammer
@ 2015-11-12 12:49   ` Efraim Flashner
  2015-11-12 14:44     ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 9+ messages in thread
From: Efraim Flashner @ 2015-11-12 12:49 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2181 bytes --]

On hydra Mupen64plus-core fails to build on arm and mips.

Mips failure message:
starting phase `build'
Makefile:127: *** CPU type "mips64" not supported.  Please file bug report at 'http://code.google.com/p/mupen64plus/issues'.  Stop.
phase `build' failed after 0.3 seconds

Arm failure message:
starting phase `build'
Makefile:116: Architecture "armv7l" not officially supported.'
    CC  _obj/ai/ai_controller.o
    CC  _obj/api/callbacks.o
In file included from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/features.h:389:0,
                 from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/stdint.h:25,
                 from /gnu/store/bsl8g0m37wrarikagwp2rrbah8bn9xkc-gcc-4.9.3-lib/lib/gcc/arm-unknown-linux-gnueabihf/4.9.3/include/stdint.h:9,
                 from ../../src/ai/ai_controller.h:26,
                 from ../../src/ai/ai_controller.c:22:
/gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
 # include <gnu/stubs-soft.h>
                             ^
compilation terminated.
Makefile:666: recipe for target '_obj/ai/ai_controller.o' failed
make: *** [_obj/ai/ai_controller.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/features.h:389:0,
                 from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/stdio.h:27,
                 from ../../src/api/callbacks.c:27:
/gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
 # include <gnu/stubs-soft.h>
                             ^
compilation terminated.
Makefile:666: recipe for target '_obj/api/callbacks.o' failed
make: *** [_obj/api/callbacks.o] Error 1
make: *** wait: No child processes.  Stop.
phase `build' failed after 1.2 seconds


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-12 12:49   ` Efraim Flashner
@ 2015-11-12 14:44     ` Taylan Ulrich Bayırlı/Kammer
  2015-11-12 16:15       ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-11-12 14:44 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> On hydra Mupen64plus-core fails to build on arm and mips.
>
> Mips failure message:
> starting phase `build'
> Makefile:127: *** CPU type "mips64" not supported.  Please file bug report at 'http://code.google.com/p/mupen64plus/issues'.  Stop.
> phase `build' failed after 0.3 seconds
>
> Arm failure message:
> starting phase `build'
> Makefile:116: Architecture "armv7l" not officially supported.'
>     CC  _obj/ai/ai_controller.o
>     CC  _obj/api/callbacks.o
> In file included from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/features.h:389:0,
>                  from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/stdint.h:25,
>                  from /gnu/store/bsl8g0m37wrarikagwp2rrbah8bn9xkc-gcc-4.9.3-lib/lib/gcc/arm-unknown-linux-gnueabihf/4.9.3/include/stdint.h:9,
>                  from ../../src/ai/ai_controller.h:26,
>                  from ../../src/ai/ai_controller.c:22:
> /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
>  # include <gnu/stubs-soft.h>
>                              ^
> compilation terminated.
> Makefile:666: recipe for target '_obj/ai/ai_controller.o' failed
> make: *** [_obj/ai/ai_controller.o] Error 1
> make: *** Waiting for unfinished jobs....
> In file included from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/features.h:389:0,
>                  from /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/stdio.h:27,
>                  from ../../src/api/callbacks.c:27:
> /gnu/store/q2c0kdp9rwzhhx0zksigzbpr84mfn36s-glibc-2.22/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory
>  # include <gnu/stubs-soft.h>
>                              ^
> compilation terminated.
> Makefile:666: recipe for target '_obj/api/callbacks.o' failed
> make: *** [_obj/api/callbacks.o] Error 1
> make: *** wait: No child processes.  Stop.
> phase `build' failed after 1.2 seconds

Aw, that's a shame.  Thanks for notifying.  (And maybe I should make a
habit of checking Hydra after pushing suspect packages.  It's no wonder
a Nintendo emulator isn't very portable.)

I don't have any ARM machine on which I could investigate this issue,
so for now I'll just mark Mupen as only for i686 and x86_64.

Taylan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-12 14:44     ` Taylan Ulrich Bayırlı/Kammer
@ 2015-11-12 16:15       ` Ludovic Courtès
  2015-11-12 16:28         ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2015-11-12 16:15 UTC (permalink / raw)
  To: taylanbayirli; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> Efraim Flashner <efraim@flashner.co.il> writes:
>
>> On hydra Mupen64plus-core fails to build on arm and mips.
>>
>> Mips failure message:
>> starting phase `build'
>> Makefile:127: *** CPU type "mips64" not supported.  Please file bug report at 'http://code.google.com/p/mupen64plus/issues'.  Stop.
>> phase `build' failed after 0.3 seconds
>>
>> Arm failure message:
>> starting phase `build'
>> Makefile:116: Architecture "armv7l" not officially supported.'

[...]

> I don't have any ARM machine on which I could investigate this issue,
> so for now I'll just mark Mupen as only for i686 and x86_64.

When adding a ‘supported-systems’ field, it’s best to add a comment
above stating what evidence we have that some systems are not supported
(in that case, that the top-level Makefile has a pre-defined list of
supported architectures.)

This helps others and your future self ;-) find out why this restriction
is there and whether it still applies.

Could you add such a comment?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCHES] Mupen64Plus
  2015-11-12 16:15       ` Ludovic Courtès
@ 2015-11-12 16:28         ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 0 replies; 9+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-11-12 16:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) writes:

> taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:
>
>> Efraim Flashner <efraim@flashner.co.il> writes:
>>
>>> On hydra Mupen64plus-core fails to build on arm and mips.
>>>
>>> Mips failure message:
>>> starting phase `build'
>>> Makefile:127: *** CPU type "mips64" not supported.  Please file bug report at 'http://code.google.com/p/mupen64plus/issues'.  Stop.
>>> phase `build' failed after 0.3 seconds
>>>
>>> Arm failure message:
>>> starting phase `build'
>>> Makefile:116: Architecture "armv7l" not officially supported.'
>
> [...]
>
>> I don't have any ARM machine on which I could investigate this issue,
>> so for now I'll just mark Mupen as only for i686 and x86_64.
>
> When adding a ‘supported-systems’ field, it’s best to add a comment
> above stating what evidence we have that some systems are not supported
> (in that case, that the top-level Makefile has a pre-defined list of
> supported architectures.)
>
> This helps others and your future self ;-) find out why this restriction
> is there and whether it still applies.
>
> Could you add such a comment?

Indeed, sorry about that.  Fixed. :-)

Taylan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-11-12 16:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-02 22:04 [PATCHES] Mupen64Plus Taylan Ulrich Bayırlı/Kammer
2015-11-03  5:13 ` Leo Famulari
2015-11-03 15:03   ` Eric Bavier
2015-11-03 15:49     ` Taylan Ulrich Bayırlı/Kammer
2015-11-06 16:46 ` Taylan Ulrich Bayırlı/Kammer
2015-11-12 12:49   ` Efraim Flashner
2015-11-12 14:44     ` Taylan Ulrich Bayırlı/Kammer
2015-11-12 16:15       ` Ludovic Courtès
2015-11-12 16:28         ` Taylan Ulrich Bayırlı/Kammer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).