unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Rutger Helling <rhelling@mykolab.com>
To: 30380@debbugs.gnu.org, dthompson2@worcester.edu,
	manolis837@gmail.com, bjoern.hoefling@bjoernhoefling.de,
	ludo@gnu.org
Subject: [bug#30380] gnu: Add dolphin-emu.
Date: Fri, 16 Feb 2018 10:20:46 +0100	[thread overview]
Message-ID: <20180216102046.562bda38@mykolab.com> (raw)
In-Reply-To: <CAJ=RwfaFVeQ+3i_h8SQDXa1wurWgbzpCoxUj5Lx1gqwPyNfuLg@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 435 bytes --]

Hello everyone,

As promised I've updated these patches. Just to reiterate, these are
David's patches. I've only changed a few things.

Here's the changes of the top of my head:
* First patch is unchanged.
* Renamed to dolphin-emu instead of dolphin-emulator since that seems
  like a more canonical name.
* Incorporated Björn's suggestions.
* Added a few more inputs to get rid of more externals.
* Enabled Qt interface.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-wxwidgets-gtk2-3.1.patch --]
[-- Type: text/x-patch, Size: 1058 bytes --]

From b09950c2847be7f17ea57906714f74a5ca2f671b Mon Sep 17 00:00:00 2001
From: David Thompson <davet@gnu.org>
Date: Wed, 7 Feb 2018 06:28:46 -0500
Subject: [PATCH 1/2] gnu: Add wxwidgets-gtk2-3.1.

* gnu/packages/wxwidgets.scm (wxwidgets-gtk2-3.1): New variable.
---
 gnu/packages/wxwidgets.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index 84446d8ef..9f7a87ca4 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -126,6 +126,14 @@ and many other languages.")
               ((#:configure-flags flags)
                `(cons "--enable-mediactrl" ,flags))))))
 
+(define-public wxwidgets-gtk2-3.1
+  (package (inherit wxwidgets-3.1)
+           (inputs `(("gtk+" ,gtk+-2)
+                     ,@(alist-delete
+                        "gtk+"
+                        (package-inputs wxwidgets-3.1))))
+           (name "wxwidgets-gtk2")))
+
 (define-public python2-wxpython
   (package
     (name "python2-wxpython")
-- 
2.16.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-Add-dolphin-emu.patch --]
[-- Type: text/x-patch, Size: 6538 bytes --]

From 4d4b896d4e437ee81772939ef408943073504c51 Mon Sep 17 00:00:00 2001
From: Rutger Helling <rhelling@mykolab.com>
Date: Fri, 16 Feb 2018 09:57:31 +0100
Subject: [PATCH 2/2] gnu: Add dolphin-emu.

* gnu/packages/games.scm (dolphin-emu): New variable.
---
 gnu/packages/games.scm | 114 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 113 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 286d0feef..898047f5b 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2014, 2015, 2016, 2018 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
@@ -88,6 +88,7 @@
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libunwind)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages music)
@@ -112,6 +113,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages compression)
@@ -5549,3 +5551,113 @@ hacking the gamification of contribution graphs on platforms such as
 Github or Gitlab.")
     (home-page "https://github.com/umayr/badass")
     (license license:expat))))
+
+;; Building from recent Git because the official 5.0 release no longer builds.
+(define-public dolphin-emu
+  (let ((commit "d04b179111f8d863f360839474cb82c766f762b8")
+        (revision "0"))
+    (package
+      (name "dolphin-emu")
+      (version (git-version "5.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/dolphin-emu/dolphin.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file-recursively
+                            ;; Remove Windows binaries.
+                            '("Installer/dxredist/"
+
+                              ; Remove external stuff we don't need.
+                              "Externals/LZO"
+                              "Externals/OpenAL"
+                              "Externals/Qt"
+                              "Externals/SFML"
+                              "Externals/SOIL"
+                              "Externals/curl"
+                              "Externals/ffmpeg"
+                              "Externals/gettext"
+                              "Externals/hidapi"
+                              "Externals/libpng"
+                              "Externals/libusb"
+                              "Externals/mbedtls"
+                              "Externals/miniupnpc"
+                              "Externals/wxWidgets3"
+                              "Externals/zlib"
+
+                              ; TODO: See if we can build these files from
+                              ; source, delete until then.
+                              "Data/Sys/GC/dsp_coef.bin"
+                              "Data/Sys/GC/dsp_rom.bin"))
+                  #t))
+         (sha256
+          (base32
+           "0g725wmhlim73zrhi47wmr1bmplpy4b7sbimd5pm8xpfhj5nm10l"))))
+      (build-system cmake-build-system)
+      (arguments
+       '(#:tests? #f
+         ;; The FindGTK2 cmake script only checks hardcoded directories for
+         ;; glib/gtk headers.
+         #:configure-flags
+         (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "gtk+")
+                              "/lib/gtk-2.0/include")
+               (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "glib")
+                              "/lib/glib-2.0/include")
+               (string-append "-DX11_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "libx11")
+                              "/include")
+               (string-append "-DX11_LIBRARIES="
+                              (assoc-ref %build-inputs "libx11")
+                              "/lib/libX11.so")
+               "-DX11_FOUND=1")))
+      ; TODO: Make Vulkan backend work.
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("gettext" ,gnu-gettext)))
+      (inputs
+       `(("alsa-lib" ,alsa-lib)
+         ("ao" ,ao)
+         ("bluez" ,bluez)
+         ("curl" ,curl)
+         ("eudev" ,eudev)
+         ("ffmpeg" ,ffmpeg)
+         ("glew" ,glew)
+         ("glib" ,glib)
+         ("glu" ,glu)
+         ("gtk+" ,gtk+-2)
+         ("hidapi" ,hidapi)
+         ("libevdev" ,libevdev)
+         ("libpng" ,libpng)
+         ("libusb" ,libusb)
+         ("libx11" ,libx11)
+         ("libxi" ,libxi)
+         ("libxrandr" ,libxrandr)
+         ("lzo" ,lzo)
+         ("mbedtls-apache" ,mbedtls-apache)
+         ("mesa" ,mesa)
+         ("miniupnpc" ,miniupnpc)
+         ("openal" ,openal)
+         ("pulseaudio" ,pulseaudio)
+         ("qtbase" ,qtbase)
+         ("sdl2" ,sdl2)
+         ("sfml" ,sfml)
+         ("soil" ,soil)
+         ("soundtouch" ,soundtouch)
+         ("wxwidgets" ,wxwidgets-gtk2-3.1)
+         ("zlib" ,zlib)))
+      (home-page "https://dolphin-emu.org/")
+      (synopsis "Nintendo Wii and GameCube emulator")
+      (description
+       "Dolphin is an emulator for two Nintendo video game consoles: the
+GameCube and the Wii.  It provides compatibility with all PC controllers,
+turbo speed, networked multiplayer, and graphical enhancements.")
+      (supported-systems '("x86_64-linux")) ; TODO: should also work on ARM64.
+      ; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0.
+      (license (list license:gpl2+ license:asl2.0)))))
-- 
2.16.1


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

  parent reply	other threads:[~2018-02-16  9:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 16:58 [bug#30380] gnu: Add dolphin-emulator Thompson, David
2018-02-07 20:43 ` Björn Höfling
2018-02-07 20:53   ` Thompson, David
2018-02-09 10:21     ` Ludovic Courtès
2018-02-09 14:11       ` Thompson, David
2018-02-09 15:52         ` Manolis Ragkousis
2018-02-09 16:10           ` Thompson, David
2018-02-16  9:20 ` Rutger Helling [this message]
2018-02-20 22:52   ` [bug#30380] gnu: Add dolphin-emu Björn Höfling
2018-02-21  9:48     ` Rutger Helling
2018-02-21 15:19       ` Marius Bakke
2018-02-21 15:55         ` Rutger Helling
2018-02-21 16:37     ` Leo Famulari
2018-02-21 21:55       ` Björn Höfling
2018-02-22  8:46         ` bug#30380: " Rutger Helling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180216102046.562bda38@mykolab.com \
    --to=rhelling@mykolab.com \
    --cc=30380@debbugs.gnu.org \
    --cc=bjoern.hoefling@bjoernhoefling.de \
    --cc=dthompson2@worcester.edu \
    --cc=ludo@gnu.org \
    --cc=manolis837@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).