Message ID | 3c9dxjEeXYXD76uUQgjwTlqZOtOb7IFb8FX50AHQoH9bc-bapcr6kxnaouHjVYd3CaIPjKPiuUwZ6tx6VW-YRPKUMri5i_mLx4du5ux81a8=@protonmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#53704] Bump | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Charles via Guix-patches via schreef op za 12-02-2022 om 00:30 [+0000]:
> + ((" cc ") " gcc "))))
This needs to be TARGET-gcc when cross-compiling, use cc-for-target:
((" cc ") (string-append " " ,(cc-for-target) " "))
Greetings,
Maxime.
Charles via Guix-patches via schreef op za 12-02-2022 om 00:30 [+0000]: > ++ set(MY_C_LINKER_FLAGS ${MY_C_LINKER_FLAGS} "-Wl,- > rpath,$ENV{LIBRARY_PATH}") When cross-compiling, CROSS_LIBRARY_PATH needs to be used instead. Usually, fiddling with rpaths manually is unnecessary, Guix does that automatically in most situations. I'll look into this. Greetings, Maxime.
Charles via Guix-patches via schreef op za 12-02-2022 om 00:30 [+0000]: > + (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")))) The iniparser package is bundled in src/common/iniparser.c and src/common/iniparser.h. A part of a variant of zlib is in src/common/memgzio.c and src/common/memgzio.h. I think it's ok in this case, since it appears to be modified for use in visualboyadvance-m. However, the license of zlib needs to be respected: /* gzio.c -- IO on .gz files * Copyright (C) 1995-2002 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h * * Compile this file with -DNO_DEFLATE to avoid the compression code. */ I don't see zlib.h anywhere and the zlib license requires preserving the license notice: 3. This notice may not be removed or altered from any source distribution. There is another problem: the version in visualboyadvance-m is old (2002, according to the copyright line) while there have been quite a few bugfixes since then (https://www.zlib.net/ChangeLog.txt). Another bundled library: src/common/dictionary.c and src/common/dictionary.h. There is also src/filters/bilinear.cpp which is extracted from Exult (GPL2+ licensed), but it appears that the copyright+license header was not preserved, while preserving that is a requirement of the GPL IIUC? The files in src/filters/xBRZ are GPL3 licensed, so 'license:gpl2+' in the package definition seems inaccurate. It is unclear of GPL3-only or GPL3-or-later was meant. The file src/gba/debugger-expr-lex.cpp and src/gba/debugger-expr- yacc.cpp are generated by flex and Bison, can they be generated during the build? libretro is bundled in src/libretro, can it be unbundled? src/expr.cpp and src/expr.cpp.h are generated files, not source code. A part of glibc is bundled in src/sdl/getopt1.c, src/sdl/getopt.c and src/sdl/getopt.h. wxwidgets is bundled in src/wx. Greetings, Maxime.
Maxime Devos schreef op za 12-02-2022 om 12:35 [+0100]:
> wxwidgets is bundled in src/wx.
Nevermind, it's only wxwidgets-related, not wxwidgets itself.
Greetings,
Maxime.
From 3b03ca688dd33091d4e43754eaf3c74ad00cbd10 Mon Sep 17 00:00:00 2001 From: Charles <charles.b.jackson@protonmail.com> Date: Tue, 1 Feb 2022 10:36:06 -0600 Subject: [PATCH] gnu: emulators: Add visualboyadvance-m. * 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 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