Subject: Vice emulator, now with patch

From: Christopher Lemmer Webber <[email-masked]>
Date: Wed, 11 Mar 2020 22:20:06 -0400

Oops, patch below:

>From 3377e3b59203502c065d7c86cbb5e0f5e246862f Mon Sep 17 00:00:00 2001
From: Christopher Lemmer Webber <[email-masked]>
Date: Wed, 11 Mar 2020 22:04:53 -0400
Subject: [PATCH] gnu: Add vice.

* gnu/packages/emulators.scm (vice): New variable.
---
 gnu/packages/emulators.scm | 58 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 7e4c98fbc7..40f81d1cc7 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019 Pierre Neidhardt <[email-masked]>
 ;;; Copyright © 2019 David Wilson <[email-masked]>
 ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
+;;; Copyright © 2020 Christopher Lemmer Webber <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,12 +42,14 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -1628,3 +1631,58 @@ derived from Gens.  Project goals include clean source code, combined features
 from various forks of Gens, and improved platform portability.")
     (supported-systems '("i686-linux" "x86_64-linux"))
     (license license:gpl2+)))
+
+(define-public vice
+  (package
+    (name "vice")
+    (version "3.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://sourceforge.net/projects"
+                                  "/vice-emu/files/releases/vice-"
+                                  version ".tar.gz/download"))
+              (sha256
+               (base32
+                "1svsw3z18nsj3vmpxdp456y79xsj9f1k405r07zd336kccf0rl2b"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-sh
+           (lambda _
+             (substitute* (find-files "." "configure")
+               (("-/bin/sh") (string-append "-" (which "sh")))
+               (("= /bin/sh") (string-append "= " (which "sh"))))))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; The 'configure' script is a wrapper for Waf and
+               ;; doesn't recognize things like '--enable-fast-install'.
+               (invoke "./configure"
+                       (string-append "--prefix=" out))))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bison" ,bison)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("flex" ,flex)
+       ("xa" ,xa)
+       ("sdl2" ,sdl2)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg-turbo)
+       ("ffmpeg" ,ffmpeg)
+       ("giflib" ,giflib)
+       ("zlib" ,zlib)
+       ("alsa-lib" ,alsa-lib)
+       ("pulseaudio" ,pulseaudio)
+       ("portaudio" ,portaudio)
+       ("mesa" ,mesa)
+       ("glu" ,glu)))
+    (home-page "http://vice-emu.sourceforge.net/")
+    (synopsis "Versatile Commodore emulator")
+    (description
+     "VICE emulates the C64, the C64DTV, the C128, the VIC20, practically
+all PET models, the PLUS4 and the CBM-II (aka C610/C510).  An extra
+emulator is provided for C64 expanded with the CMD SuperCPU.")
+    (license license:gpl2+)))
-- 
2.25.1