From 3b03ca688dd33091d4e43754eaf3c74ad00cbd10 Mon Sep 17 00:00:00 2001
* gnu/packages/emulators.scm (visualboyadvance-m): New variable.
* gnu/packages/patches/visualboyadvance-m-fix-rpath.patch: New patch.
---
gnu/local.mk | 1 +
gnu/packages/emulators.scm | 53 +++++++++++++++++++
.../visualboyadvance-m-fix-rpath.patch | 25 +++++++++
3 files changed, 79 insertions(+)
create mode 100644 gnu/packages/patches/visualboyadvance-m-fix-rpath.patch
Toggle diff (117 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 1b08b40b9c..5e6bceedfb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1960,6 +1960,7 @@ dist_patch_DATA = \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
+ %D%/packages/patches/visualboyadvance-m-fix-rpath.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 9ec73bc11f..ae4c395d78 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Charles Jackson <charles.b.jackson@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -814,6 +815,58 @@ (define-public sameboy
from an emulator---from save states to scaling filters.")
(license license:expat)))
+(define-public visualboyadvance-m
+ (package
+ (name "visualboyadvance-m")
+ (version "2.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/visualboyadvance-m/visualboyadvance-m/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kgpbvng3c12ws0dy92zc0azd94h0i3j4vm7b67zc8mi3pqsppdg"))
+ (patches (search-patches "visualboyadvance-m-fix-rpath.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:build-type "Release"
+ #:tests? #f
+ #:configure-flags
+ (list "-DENABLE_SSP=ON"
+ "-DENABLE_ONLINEUPDATES=OFF"
+ (string-append "-DCMAKE_PREFIX_PATH="
+ (assoc-ref %build-inputs "wxwidgets")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-c-compiler
+ (lambda _
+ (substitute* "cmake/HostCompile.cmake"
+ ((" cc ") " gcc "))))
+ (add-before 'configure 'set-home
+ (lambda _ (setenv "HOME" (getcwd)))))))
+ (native-inputs (list
+ gettext-minimal
+ nasm
+ pkg-config
+ zip))
+ (inputs (list
+ ffmpeg
+ gtk+
+ libpng
+ mesa
+ openal
+ sdl2
+ sfml
+ wxwidgets
+ zlib))
+ (home-page "https://vba-m.com/")
+ (synopsis "Performant Nintendo Gameboy emulator")
+ (description "Visual Boy Advance M is an emulator of the Game Boy, Game Boy
+Color, and Game Boy Advance handheld game consoles.")
+ (license license:gpl2+)))
+
(define-public mupen64plus-core
(package
(name "mupen64plus-core")
diff --git a/gnu/packages/patches/visualboyadvance-m-fix-rpath.patch b/gnu/packages/patches/visualboyadvance-m-fix-rpath.patch
new file mode 100644
index 0000000000..9116f35b2a
--- /dev/null
+++ b/gnu/packages/patches/visualboyadvance-m-fix-rpath.patch
@@ -0,0 +1,25 @@
+From 6ec4f4224aa360d5c233941148465ad1c8c77f33 Mon Sep 17 00:00:00 2001
+From: Charles Jackson <charles.b.jackson@protonmail.com>
+Date: Mon, 31 Jan 2022 23:24:17 -0600
+Subject: [PATCH] Fix rpath
+
+---
+ CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 010c9b0e..3a959b59 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -610,9 +610,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+
+ set(MY_C_LINKER_FLAGS ${MY_C_LINKER_FLAGS} -Wl,-allow-multiple-definition)
+
+- if(CMAKE_PREFIX_PATH)
+- list(GET CMAKE_PREFIX_PATH 0 prefix_path_first)
+- set(MY_C_LINKER_FLAGS ${MY_C_LINKER_FLAGS} "-Wl,-rpath-link=${prefix_path_first}/lib")
+- endif()
++ set(MY_C_LINKER_FLAGS ${MY_C_LINKER_FLAGS} "-Wl,-rpath,$ENV{LIBRARY_PATH}")
+ endif()
+
+ # set linker flags
\ No newline at end of file
--
2.34.0