Re: [PATCHES] Mupen64Plus
l...@gnu.org (Ludovic Courtès) writes: > taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: > >> Efraim Flashner 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
Re: [PATCHES] Mupen64Plus
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: > Efraim Flashner 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’.
Re: [PATCHES] Mupen64Plus
Efraim Flashner 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 > ^ > 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 > ^ > 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
Re: [PATCHES] Mupen64Plus
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 ^ 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 ^ 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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted pgpfp9eJHWi8u.pgp Description: OpenPGP digital signature
Re: [PATCHES] Mupen64Plus
taylanbayi...@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. >From 6a2d0bc7cc0d27ce3bbee77faa747ff68466306a 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 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
Re: [PATCHES] Mupen64Plus
Eric Bavier 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
Re: [PATCHES] Mupen64Plus
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
Re: [PATCHES] Mupen64Plus
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.
[PATCHES] Mupen64Plus
(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. >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 >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