diff mbox series

[bug#46587] gnu: Add libretro-lowresnx.

Message ID OSZP286MB0664F2C5D68E28292F0F096BA3869@OSZP286MB0664.JPNP286.PROD.OUTLOOK.COM
State Accepted
Headers show
Series [bug#46587] gnu: Add libretro-lowresnx. | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

宋文武 Feb. 17, 2021, 10:47 a.m. UTC
From: 宋文武 <iyzsong@member.fsf.org>

* gnu/packages/emulators.scm (libretro-lowresnx): New variable.
---
 gnu/packages/emulators.scm | 42 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

Comments

Leo Famulari Feb. 18, 2021, 6:52 p.m. UTC | #1
On Wed, Feb 17, 2021 at 06:47:56PM +0800, iyzsong@outlook.com wrote:
> From: 宋文武 <iyzsong@member.fsf.org>
> 
> * gnu/packages/emulators.scm (libretro-lowresnx): New variable.

Thanks for the patch!

> +           (replace 'build
> +             (lambda _
> +               (invoke "make" "-C" "platform/LibRetro"
> +                       (string-append "CC=" ,(cc-for-target)))))

I think it's more idiomatic for Guix to use #:make-flags, maybe like
this (untested!):

(#:make-flags
  (list "-C" "platform/LibRetro"
        (string-append "CC=" ,(cc-for-target))))

... but either way is fine.
宋文武 Feb. 20, 2021, 11:54 a.m. UTC | #2
Leo Famulari <leo@famulari.name> writes:

> On Wed, Feb 17, 2021 at 06:47:56PM +0800, iyzsong@outlook.com wrote:
>> From: 宋文武 <iyzsong@member.fsf.org>
>> 
>> * gnu/packages/emulators.scm (libretro-lowresnx): New variable.
>
> Thanks for the patch!
>
>> +           (replace 'build
>> +             (lambda _
>> +               (invoke "make" "-C" "platform/LibRetro"
>> +                       (string-append "CC=" ,(cc-for-target)))))
>
> I think it's more idiomatic for Guix to use #:make-flags, maybe like
> this (untested!):
>

It works, pushed, thank you!
diff mbox series

Patch

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 05cd0d65c5..eca003f738 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1,7 +1,7 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2015, 2016, 2021 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -36,6 +36,7 @@ 
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix svn-download)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages assembly)
@@ -1231,6 +1232,45 @@  System (NES/Famicom) emulator Nestopia, with enhancements from members of the
 emulation community.  It provides highly accurate emulation.")
     (license license:gpl2+)))
 
+(define-public libretro-lowresnx
+  (let ((commit "743ab43a6c4a13e0d5363b0d25ac12c7511c6581")
+        (revision "1"))
+    (package
+      (name "libretro-lowresnx")
+      (version (git-version "1.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/timoinutilis/lowres-nx")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0r15kb5p5s2jwky6zy4v1j9i95i4rz36p9wxg0g6xdjksf04b5cf"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)          ; no configure script
+           (replace 'build
+             (lambda _
+               (invoke "make" "-C" "platform/LibRetro"
+                       (string-append "CC=" ,(cc-for-target)))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (libretrodir (string-append out "/lib/libretro")))
+                 (install-file "platform/LibRetro/lowresnx_libretro.so"
+                               libretrodir)))))))
+      (home-page "https://lowresnx.inutilis.com/")
+      (synopsis "Libretro core for LowRES NX")
+      (description "LowRES NX is a simulated retro game console, which can be
+programmed in the classic BASIC language.  This package provides a libretro
+core allowing the lowRES NX programs to be used with libretro frontends such
+as RetroArch.")
+      (license license:zlib))))
+
 (define-public retroarch
   (package
     (name "retroarch")