all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#53704] Add Visualboyadvance-m
@ 2022-02-01 17:36 Charles via Guix-patches via
  2022-02-11  6:51 ` [bug#53704] Bump Charles via Guix-patches via
  0 siblings, 1 reply; 12+ messages in thread
From: Charles via Guix-patches via @ 2022-02-01 17:36 UTC (permalink / raw)
  To: 53704


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

Please review the way that I did the patch files because I am not sure if they are linline with guix standards.

[-- Attachment #1.2: Type: text/html, Size: 287 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-emulators-Add-visualboyadvance-m.patch --]
[-- Type: text/x-patch; name=0001-gnu-emulators-Add-visualboyadvance-m.patch, Size: 5170 bytes --]

From a7c9af1f2e6f0b027c2d77e1163545732aeff8be 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/packages/patches/visualboyadvance-m-use-gcc.patch: New patch.
---
 gnu/packages/emulators.scm                    | 50 +++++++++++++++++++
 .../visualboyadvance-m-fix-rpath.patch        | 20 ++++++++
 .../patches/visualboyadvance-m-use-gcc.patch  | 17 +++++++
 3 files changed, 87 insertions(+)
 create mode 100644 gnu/packages/patches/visualboyadvance-m-fix-rpath.patch
 create mode 100644 gnu/packages/patches/visualboyadvance-m-use-gcc.patch

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index b260ca38f7..7649cec662 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,55 @@ (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-use-gcc.patch"
+                                "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-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 a 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..c464f4b9d7
--- /dev/null
+++ b/gnu/packages/patches/visualboyadvance-m-fix-rpath.patch
@@ -0,0 +1,20 @@
+---
+ 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
diff --git a/gnu/packages/patches/visualboyadvance-m-use-gcc.patch b/gnu/packages/patches/visualboyadvance-m-use-gcc.patch
new file mode 100644
index 0000000000..449ee75697
--- /dev/null
+++ b/gnu/packages/patches/visualboyadvance-m-use-gcc.patch
@@ -0,0 +1,17 @@
+---
+ cmake/HostCompile.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/HostCompile.cmake b/cmake/HostCompile.cmake
+index 8fea28be..23a1b0c2 100644
+--- a/cmake/HostCompile.cmake
++++ b/cmake/HostCompile.cmake
+@@ -15,7 +15,7 @@ function(host_compile src dst_cmd)
+ 
+     if(NOT MSVC)
+         # assume cc foo.c -o foo # will work on most hosts
+-        set(compile_command cc ${src} -o ${dst} ${link_flags})
++        set(compile_command gcc ${src} -o ${dst} ${link_flags})
+     else()
+         # special case for Visual Studio
+ 	set(compile_command ${CMAKE_C_COMPILER} ${src} /link "/out:${dst}")
\ No newline at end of file
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-01 17:36 [bug#53704] Add Visualboyadvance-m Charles via Guix-patches via
@ 2022-02-11  6:51 ` Charles via Guix-patches via
  2022-02-11  7:05   ` Julien Lepiller
  0 siblings, 1 reply; 12+ messages in thread
From: Charles via Guix-patches via @ 2022-02-11  6:51 UTC (permalink / raw)
  To: 53704@debbugs.gnu.org

Is there any chance this can get merged? If there is something wrong with the package, I am happy to fix it.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-11  6:51 ` [bug#53704] Bump Charles via Guix-patches via
@ 2022-02-11  7:05   ` Julien Lepiller
  2022-02-12  0:30     ` Charles via Guix-patches via
  0 siblings, 1 reply; 12+ messages in thread
From: Julien Lepiller @ 2022-02-11  7:05 UTC (permalink / raw)
  To: Charles, 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 588 bytes --]

Your patch looks good, though I haven't tested yet. In your synopsis, it's "an emulator", not "a emulator". The patches should contain author information. Did you create them yourself? Did you get them from somewhere else?

The gcc patch could be replaced with a phase that substitutes cc for gcc.

You need to add the patches to gnu/local.mk.

Thanks!

On February 11, 2022 7:51:31 AM GMT+01:00, Charles via Guix-patches via <guix-patches@gnu.org> wrote:
>Is there any chance this can get merged? If there is something wrong with the package, I am happy to fix it.
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 864 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-11  7:05   ` Julien Lepiller
@ 2022-02-12  0:30     ` Charles via Guix-patches via
  2022-02-12  9:54       ` Maxime Devos
                         ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Charles via Guix-patches via @ 2022-02-12  0:30 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 806 bytes --]

Thanks for the review, Julien. Here is a new patch that includes your suggestions.

------- Original Message -------

On Friday, February 11th, 2022 at 1:05 AM, Julien Lepiller <julien@lepiller.eu> wrote:

> Your patch looks good, though I haven't tested yet. In your synopsis, it's "an emulator", not "a emulator". The patches should contain author information. Did you create them yourself? Did you get them from somewhere else?
>
> The gcc patch could be replaced with a phase that substitutes cc for gcc.
>
> You need to add the patches to gnu/local.mk.
>
> Thanks!
>
> On February 11, 2022 7:51:31 AM GMT+01:00, Charles via Guix-patches via <guix-patches@gnu.org> wrote:
>
> > Is there any chance this can get merged? If there is something wrong with the package, I am happy to fix it.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-emulators-Add-visualboyadvance-m.patch --]
[-- Type: text/x-patch; name=0001-gnu-emulators-Add-visualboyadvance-m.patch, Size: 4972 bytes --]

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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12  0:30     ` Charles via Guix-patches via
@ 2022-02-12  9:54       ` Maxime Devos
  2022-02-12 10:11       ` Maxime Devos
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Maxime Devos @ 2022-02-12  9:54 UTC (permalink / raw)
  To: Charles, Julien Lepiller; +Cc: 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 278 bytes --]

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12  0:30     ` Charles via Guix-patches via
  2022-02-12  9:54       ` Maxime Devos
@ 2022-02-12 10:11       ` Maxime Devos
  2022-02-12 11:35       ` Maxime Devos
  2022-02-12 13:31       ` Maxime Devos
  3 siblings, 0 replies; 12+ messages in thread
From: Maxime Devos @ 2022-02-12 10:11 UTC (permalink / raw)
  To: Charles, Julien Lepiller; +Cc: 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 394 bytes --]

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12  0:30     ` Charles via Guix-patches via
  2022-02-12  9:54       ` Maxime Devos
  2022-02-12 10:11       ` Maxime Devos
@ 2022-02-12 11:35       ` Maxime Devos
  2022-02-12 12:17         ` Maxime Devos
  2022-02-12 13:31       ` Maxime Devos
  3 siblings, 1 reply; 12+ messages in thread
From: Maxime Devos @ 2022-02-12 11:35 UTC (permalink / raw)
  To: Charles, Julien Lepiller; +Cc: 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 2454 bytes --]

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12 11:35       ` Maxime Devos
@ 2022-02-12 12:17         ` Maxime Devos
  0 siblings, 0 replies; 12+ messages in thread
From: Maxime Devos @ 2022-02-12 12:17 UTC (permalink / raw)
  To: Charles, Julien Lepiller; +Cc: 53704@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12  0:30     ` Charles via Guix-patches via
                         ` (2 preceding siblings ...)
  2022-02-12 11:35       ` Maxime Devos
@ 2022-02-12 13:31       ` Maxime Devos
  2022-02-12 23:45         ` Charles via Guix-patches via
  3 siblings, 1 reply; 12+ messages in thread
From: Maxime Devos @ 2022-02-12 13:31 UTC (permalink / raw)
  To: Charles, Julien Lepiller; +Cc: 53704@debbugs.gnu.org


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

Hi,

I've modified the package definition and patch a bit to
make it simpler (visualboyadvance-m-fix-rpath.patch now only removed
things), cross-compilable (it uses cc-for-target instead of hardcoding
"gcc" and LIBRARY_PATH is unused) and avoid using constructs that
are being deprecated (%build-inputs --> this-package-input).

The list+local-file will have to be replaced by search-patches.

Cross-compilation is untested because gtk+ cannot currently be
cross-compiled.

It seems to work, at least the application starts, I don't have any VBA
games to test it with.

Greetings,
Maxime.

[-- Attachment #1.2: Type: text/x-scheme, Size: 2371 bytes --]

(use-modules (guix packages) (gnu packages gettext)
  (guix git-download)
  (guix search-paths)
  (gnu packages)
  (guix gexp)
  (guix utils)
  (guix build-system cmake)
  (gnu packages audio)
  (gnu packages cmake)
  (gnu packages assembly)
  (gnu packages pkg-config)
  (gnu packages compression)
  (gnu packages wxwidgets)
  (gnu packages game-development)
  (gnu packages sdl)
  (gnu packages video)
  (gnu packages gtk)
  (gnu packages image)
  (gnu packages gl)
  ((guix licenses) #:prefix license:))

(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 (list (local-file "visualboyadvance-m-fix-rpath.patch")))))
    (build-system cmake-build-system)
    (arguments
     (list #:build-type
           "Release"
           #:tests?
           #f ;no tests
           #:configure-flags
           #~(list "-DENABLE_SSP=ON" "-DENABLE_ONLINEUPDATES=OFF"
                   (string-append "-DCMAKE_PREFIX_PATH="
                                  #$(this-package-input "wxwidgets")))
           #:phases
           #~(modify-phases %standard-phases
               (add-after 'unpack 'set-c-compiler
                 (lambda _
                   (substitute* "cmake/HostCompile.cmake"
                     ((" cc ") (string-append " "
                                              #$(cc-for-target) " "))))))))
    (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+)))

visualboyadvance-m


[-- Attachment #1.3: visualboyadvance-m-fix-rpath.patch --]
[-- Type: text/x-patch, Size: 818 bytes --]

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 | 4 ----
 1 file changed, 0 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 010c9b0e..3a959b59 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -610,9 +610,5 @@ 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()
     endif()
 
     # set linker flags


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12 13:31       ` Maxime Devos
@ 2022-02-12 23:45         ` Charles via Guix-patches via
  2022-02-27  0:19           ` Charles via Guix-patches via
  2022-02-27 10:52           ` Maxime Devos
  0 siblings, 2 replies; 12+ messages in thread
From: Charles via Guix-patches via @ 2022-02-12 23:45 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 53704@debbugs.gnu.org, Julien Lepiller

Thanks for the review, Maxime! That is a lot of stuff I did not know about. Your new version of the patch works for me except for the (list (local-file part which I think should be (search-patches.

What should I do about the library code duplication and licensing issues? Should I bring it upu with the project maintainers?

------- Original Message -------

On Saturday, February 12th, 2022 at 7:31 AM, Maxime Devos <maximedevos@telenet.be> wrote:

> Hi,
>
> I've modified the package definition and patch a bit to
>
> make it simpler (visualboyadvance-m-fix-rpath.patch now only removed
>
> things), cross-compilable (it uses cc-for-target instead of hardcoding
>
> "gcc" and LIBRARY_PATH is unused) and avoid using constructs that
>
> are being deprecated (%build-inputs --> this-package-input).
>
> The list+local-file will have to be replaced by search-patches.
>
> Cross-compilation is untested because gtk+ cannot currently be
>
> cross-compiled.
>
> It seems to work, at least the application starts, I don't have any VBA
>
> games to test it with.
>
> Greetings,
>
> Maxime.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12 23:45         ` Charles via Guix-patches via
@ 2022-02-27  0:19           ` Charles via Guix-patches via
  2022-02-27 10:52           ` Maxime Devos
  1 sibling, 0 replies; 12+ messages in thread
From: Charles via Guix-patches via @ 2022-02-27  0:19 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 53704@debbugs.gnu.org, Julien Lepiller

What are the next steps for this project? Do the licensing issues make it not allowed to be in guix?

------- Original Message -------

On Saturday, February 12th, 2022 at 5:45 PM, Charles <charles.b.jackson@protonmail.com> wrote:

> Thanks for the review, Maxime! That is a lot of stuff I did not know about. Your new version of the patch works for me except for the (list (local-file part which I think should be (search-patches.
>
> What should I do about the library code duplication and licensing issues? Should I bring it upu with the project maintainers?
>
> ------- Original Message -------
>
> On Saturday, February 12th, 2022 at 7:31 AM, Maxime Devos maximedevos@telenet.be wrote:
>
> > Hi,
> >
> > I've modified the package definition and patch a bit to
> >
> > make it simpler (visualboyadvance-m-fix-rpath.patch now only removed
> >
> > things), cross-compilable (it uses cc-for-target instead of hardcoding
> >
> > "gcc" and LIBRARY_PATH is unused) and avoid using constructs that
> >
> > are being deprecated (%build-inputs --> this-package-input).
> >
> > The list+local-file will have to be replaced by search-patches.
> >
> > Cross-compilation is untested because gtk+ cannot currently be
> >
> > cross-compiled.
> >
> > It seems to work, at least the application starts, I don't have any VBA
> >
> > games to test it with.
> >
> > Greetings,
> >
> > Maxime.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#53704] Bump
  2022-02-12 23:45         ` Charles via Guix-patches via
  2022-02-27  0:19           ` Charles via Guix-patches via
@ 2022-02-27 10:52           ` Maxime Devos
  1 sibling, 0 replies; 12+ messages in thread
From: Maxime Devos @ 2022-02-27 10:52 UTC (permalink / raw)
  To: Charles; +Cc: 53704@debbugs.gnu.org, Julien Lepiller

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

Charles schreef op za 12-02-2022 om 23:45 [+0000]:
> What should I do about the library code duplication and licensing issues?
> Should I bring it upu with the project maintainers?

The licensing should be brought up with the project maintainers.
The unbundling can be brought up with the maintainers, while probably
they will keep bundling, perhaps they could support some
"-DUSE_SYSTEM_ZLIB" kind of configure flags.

If upstream is unresponsive or keeps bundling, it may be possible to
unbundle it in Guix itself even though upstream bundles.

Greetings,
Maxime


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-02-27 10:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-01 17:36 [bug#53704] Add Visualboyadvance-m Charles via Guix-patches via
2022-02-11  6:51 ` [bug#53704] Bump Charles via Guix-patches via
2022-02-11  7:05   ` Julien Lepiller
2022-02-12  0:30     ` Charles via Guix-patches via
2022-02-12  9:54       ` Maxime Devos
2022-02-12 10:11       ` Maxime Devos
2022-02-12 11:35       ` Maxime Devos
2022-02-12 12:17         ` Maxime Devos
2022-02-12 13:31       ` Maxime Devos
2022-02-12 23:45         ` Charles via Guix-patches via
2022-02-27  0:19           ` Charles via Guix-patches via
2022-02-27 10:52           ` Maxime Devos

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.