GNU bug report logs - #76862
[PATCH 0/6] Add tic80

Previous Next

Package: guix-patches;

Reported by: iyzsong <at> envs.net

Date: Sat, 8 Mar 2025 10:49:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 76862 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:49:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to iyzsong <at> envs.net:
New bug report received and forwarded. Copy sent to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org. (Sat, 08 Mar 2025 10:49:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: guix-patches <at> gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 0/6] Add tic80
Date: Sat,  8 Mar 2025 18:52:03 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

Hello, here are patches to add TIC-80, a fantasy computer to make and
play tiny games.


Sou Bunnbu (宋文武) (6):
  gnu: Add argparse.
  gnu: Add naett.
  gnu: Add kubazip.
  gnu: wasm3: Update to 0.5.0-1.139076a.
  gnu: mruby: Update to 3.3.0.
  gnu: Add tic80.

 gnu/packages/c.scm                |  33 ++++++++
 gnu/packages/compression.scm      |  20 +++++
 gnu/packages/game-development.scm | 132 ++++++++++++++++++++++++++++++
 gnu/packages/networking.scm       |  33 ++++++++
 gnu/packages/ruby.scm             |  11 ++-
 gnu/packages/web.scm              |  92 +++++++++++----------
 6 files changed, 272 insertions(+), 49 deletions(-)


base-commit: 42bc94adbd1114771ef14a8e19563829ae355e87
-- 
2.48.1





Information forwarded to code <at> greghogan.com, guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:01 GMT) Full text and rfc822 format available.

Message #8 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 1/6] gnu: Add argparse.
Date: Sat,  8 Mar 2025 18:55:29 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/c.scm (argparse): New variable.

Change-Id: I846cf9229c44f6e40b07dc9f82cd0327ebd02fcb
---
 gnu/packages/c.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bd5f8ac20f..8efb782811 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1020,6 +1020,39 @@ (define-public byacc
 C programming language.")
     (license license:public-domain)))
 
+(define-public argparse
+  (package
+    (name "argparse")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cofyc/argparse")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zb0b2aikk4dasjzsyiyf2xn1hbld8gf8np3843zcg9wbxydd8zd"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:test-target "test"
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure)      ;no configure script
+               (replace 'install
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let* ((out (assoc-ref outputs "out"))
+                          (inc (string-append out "/include"))
+                          (lib (string-append out "/lib")))
+                     (install-file "argparse.h" inc)
+                     (install-file "libargparse.so" lib)))))))
+    (synopsis "Command line arguments parsing library")
+    (home-page "https://github.com/cofyc/argparse")
+    (description
+     "This C library provides high-level arguments parsing solutions inspired
+by Python's @code{argparse} module.")
+    (license license:expat)))
+
 (define-public aws-c-common
   (package
     (name "aws-c-common")
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:02 GMT) Full text and rfc822 format available.

Message #11 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 2/6] gnu: Add naett.
Date: Sat,  8 Mar 2025 18:55:30 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/networking.scm (naett): New variable.

Change-Id: I5e4698d9dfe5677d945bede462943576fcfe3b06
---
 gnu/packages/networking.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b0a0fb420d..673b77585d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -89,6 +89,7 @@ (define-module (gnu packages networking)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -4292,6 +4293,38 @@ (define-public batctl
 module @code{batman-adv}, for Layer 2.")
    (license license:gpl2+)))
 
+(define-public naett
+  (package
+    (name "naett")
+    (version "0.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/erkkah/naett")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nnnps1755h8yawzpf71fm4g2hqdja4zw993ilsaad3z7p464q47"))))
+    (build-system copy-build-system)
+    (inputs (list curl))
+    (arguments
+     (list #:install-plan
+           #~'(("naett.h" "include/")
+               ("libnaett.so" "lib/"))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'install 'build
+                 (lambda _
+                   (invoke #$(cc-for-target)
+                           "-o" "libnaett.so"
+                           "-shared" "-fPIC" "-O2" "naett.c"
+                           "-lcurl" "-lpthread"))))))
+    (synopsis "Tiny HTTP client library")
+    (home-page "https://github.com/erkkah/naett")
+    (description "This package provides a tiny HTTP client library in C.")
+    (license license:unlicense)))
+
 (define-public pagekite
   (package
     (name "pagekite")
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:02 GMT) Full text and rfc822 format available.

Message #14 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 4/6] gnu: wasm3: Update to 0.5.0-1.139076a.
Date: Sat,  8 Mar 2025 18:55:32 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/web.scm (wasm3): Update to 0.5.0-1.139076a.

Change-Id: I0c1e28d8ed20b4e030db3d118ca69fe459b338c0
---
 gnu/packages/web.scm | 92 ++++++++++++++++++++++----------------------
 1 file changed, 47 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 193241bcf3..d10cee88fe 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1850,51 +1850,53 @@ (define-public wabt
     (license license:asl2.0)))
 
 (define-public wasm3
-  (package
-    (name "wasm3")
-    (version "0.5.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/wasm3/wasm3")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "07zzmk776j8ydyxhrnnjiscbhhmz182a62r6aix6kfk5kq2cwia2"))))
-    (build-system cmake-build-system)
-    (arguments
-     ;; The default WASI option "uvwasi" causes CMake to initiate a 'git
-     ;; clone' which cannot happen within the build container.
-     '(#:configure-flags '("-DBUILD_WASI=simple")
-       ;; No check target.  There are tests but they require a network
-       ;; connection to download the WebAssembly core test suite.
-       #:tests? #f
-       ;; There is no install target.  Instead, we have to manually copy the
-       ;; wasm3 build artifacts to the output directory.
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bindir (string-append out "/bin"))
-                    (includedir (string-append out "/include"))
-                    (libdir (string-append out "/lib")))
-               (mkdir-p bindir)
-               (mkdir-p includedir)
-               (mkdir-p libdir)
-               (copy-file "wasm3" (string-append bindir "/wasm3"))
-               (for-each (lambda (header)
-                           (copy-file header
-                                      (string-append includedir "/"
-                                                     (basename header))))
-                         (find-files "../source/source" "\\.h$"))
-               (copy-file "source/libm3.a"
-                          (string-append libdir "/libm3.a"))))))))
-    (home-page "https://github.com/wasm3/wasm3")
-    (synopsis "WebAssembly interpreter")
-    (description "WASM3 is a fast WebAssembly interpreter.")
-    (license license:expat)))
+  ;; Use an unreleased version with 'm3_GetTableFunction' for tic80.
+  (let ((commit "139076a98b8321b67f850a844f558b5e91b5ac83"))
+    (package
+      (name "wasm3")
+      (version (git-version "0.5.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/wasm3/wasm3")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0329kx43n0ns9qxj813239wna69qyi9ghfb1sks46f39h24q0n3x"))))
+      (build-system cmake-build-system)
+      (arguments
+       ;; The default WASI option "uvwasi" causes CMake to initiate a 'git
+       ;; clone' which cannot happen within the build container.
+       '(#:configure-flags '("-DBUILD_WASI=simple")
+         ;; No check target.  There are tests but they require a network
+         ;; connection to download the WebAssembly core test suite.
+         #:tests? #f
+         ;; There is no install target.  Instead, we have to manually copy the
+         ;; wasm3 build artifacts to the output directory.
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bindir (string-append out "/bin"))
+                      (includedir (string-append out "/include"))
+                      (libdir (string-append out "/lib")))
+                 (mkdir-p bindir)
+                 (mkdir-p includedir)
+                 (mkdir-p libdir)
+                 (copy-file "wasm3" (string-append bindir "/wasm3"))
+                 (for-each (lambda (header)
+                             (copy-file header
+                                        (string-append includedir "/"
+                                                       (basename header))))
+                           (find-files "../source/source" "\\.h$"))
+                 (copy-file "source/libm3.a"
+                            (string-append libdir "/libm3.a"))))))))
+      (home-page "https://github.com/wasm3/wasm3")
+      (synopsis "WebAssembly interpreter")
+      (description "WASM3 is a fast WebAssembly interpreter.")
+      (license license:expat))))
 
 (define-public wasm-micro-runtime
   (package
-- 
2.48.1





Information forwarded to guix <at> cbaines.net, guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:03 GMT) Full text and rfc822 format available.

Message #17 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 5/6] gnu: mruby: Update to 3.3.0.
Date: Sat,  8 Mar 2025 18:55:33 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/ruby.scm (mruby): Update to 3.3.0.
[arguments]: Install header files in install phase.

Change-Id: I1768c039cef599d8330b223d112f470802ab788a
---
 gnu/packages/ruby.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 58082359f6..bb4903958f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -296,7 +296,7 @@ (define-public ruby ruby-3.1)
 (define-public mruby
   (package
     (name "mruby")
-    (version "3.2.0")
+    (version "3.3.0")
     (source
      (origin
        (method git-fetch)
@@ -306,7 +306,7 @@ (define-public mruby
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0c0scaqbnywrd9z1z4rnnj345rjc3vbklszm0rc6y6rzx1cxnsij"))))
+         "0zynr6dk0zxdip53il0qr0rhyzmjicpkxs63l77acpx8b05h8amc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -333,11 +333,14 @@ (define-public mruby
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin"))
-                    (lib (string-append out "/lib")))
+                    (lib (string-append out "/lib"))
+                    (inc (string-append out "/include")))
                (mkdir-p bin)
                (copy-recursively "build/host/bin" bin)
                (mkdir-p lib)
-               (copy-recursively "build/host/lib" lib))
+               (copy-recursively "build/host/lib" lib)
+               (mkdir-p inc)
+               (copy-recursively "include" inc))
              #t)))))
     (native-inputs
      (list ruby bison))
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:03 GMT) Full text and rfc822 format available.

Message #20 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 3/6] gnu: Add kubazip.
Date: Sat,  8 Mar 2025 18:55:31 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/compression.scm (kubazip): New variable.

Change-Id: I2066f141575d476e866905bbc52c05e1ec81a226
---
 gnu/packages/compression.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index cdb029b225..127466a0f7 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -204,6 +204,26 @@ (define-public minizip
 the @code{zlib} source.")
     (license (package-license zlib))))
 
+(define-public kubazip
+  (package
+    (name "kubazip")
+    (version "0.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/kuba--/zip")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "182p059nvs5vpdzmmkn2g6mphsvkjdcxq6gpbh58dcsjj507j9ab"))))
+    (build-system cmake-build-system)
+    (synopsis "Simple zip library")
+    (home-page "https://github.com/kuba--/zip")
+    (description
+     "This package provides a simple zip library based on miniz.")
+    (license license:unlicense)))
+
 (define-public fastjar
   (package
    (name "fastjar")
-- 
2.48.1





Information forwarded to adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#76862; Package guix-patches. (Sat, 08 Mar 2025 10:52:04 GMT) Full text and rfc822 format available.

Message #23 received at 76862 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: 76862 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH 6/6] gnu: Add tic80.
Date: Sat,  8 Mar 2025 18:55:34 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

* gnu/packages/game-development.scm (tic80): New variable.

Change-Id: I459d2a3270ac2524f7024d2aac32b954eba15c59
---
 gnu/packages/game-development.scm | 132 ++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index a026e114c4..3f01fbd192 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus <at> gmail.com>
+;;; Copyright © 2025 宋文武 <iyzsong <at> envs.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,7 @@ (define-module (gnu packages game-development)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
@@ -101,7 +103,9 @@ (define-module (gnu packages game-development)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages javascript)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lisp)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages m4)
@@ -122,12 +126,14 @@ (define-module (gnu packages game-development)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages speech)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages squirrel)
   #:use-module (gnu packages stb)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -135,6 +141,7 @@ (define-module (gnu packages game-development)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vim)
   #:use-module (gnu packages vulkan)
   #:use-module (gnu packages web)
   #:use-module (gnu packages wxwidgets)
@@ -3710,6 +3717,131 @@ (define-public raylib
     (home-page "https://www.raylib.com/")
     (license license:zlib)))
 
+(define-public tic80
+  ;; Use an unreleased version for 'PREFER_SYSTEM_LIBRARIES'.
+  (let ((commit "fcfd7c9862e9157512bcab53affecd592b320131")
+        ;; These C libraries are used in source form by tic80.
+        (3rd/jsmn
+         (origin                        ;Expat
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/zserge/jsmn")
+                 (commit "25647e692c7906b96ffd2b05ca54c097948e879c")))
+           (file-name "jsmn-checkout")
+           (sha256
+            (base32
+             "19xgrap95a8ziicgd0c3fns51z1g4q06b5lb5pg76ah4ychhgg5p"))))
+        (3rd/blip-buf
+         (origin                        ;LGPL2.1+
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/nesbox/blip-buf")
+                 (commit "330226d9b55ecbeea644e17b5e0f096a165ca07e")))
+           (file-name "blip-buf-checkout")
+           (sha256
+            (base32
+             "0fycffd6pbh9ilmr032dlrwd6dhvpkjp2r9x98r0kmwqpxc4x90d"))))
+        (3rd/msf-gif
+         (origin                        ;Expat or Public Domain
+           (method url-fetch)
+           (uri (string-append
+                 "https://github.com/notnullnotvoid/msf_gif/releases/download/"
+                 "v2.3/msf_gif.h"))
+           (sha256
+            (base32
+             "1ivjwwqxqjfhm8caz1srkp8wx7fpzvpf7s26ifif7cryvqch8vnf")))))
+    (package
+      (name "tic80")
+      (version (git-version "1.2.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/nesbox/TIC-80")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "17zxfiji6cb9ad7j3l82bdig0k7bz77bzwg7m0vd9ywrwk0kgxjk"))
+         (modules '((guix build utils)))
+         (snippet
+          #~(begin
+              (delete-file-recursively "vendor")
+              (copy-recursively #$3rd/jsmn "vendor/jsmn")
+              (copy-recursively #$3rd/blip-buf "vendor/blip-buf")
+              (mkdir "vendor/msf_gif")
+              (copy-file #$3rd/msf-gif "vendor/msf_gif/msf_gif.h")))))
+      (build-system cmake-build-system)
+      (arguments
+       (list #:tests? #f                ;no tests
+             #:configure-flags
+             #~'("-DBUILD_STATIC=ON" ;don't build runtimes as shared libraries
+                 "-DPREFER_SYSTEM_LIBRARIES=ON"
+                 "-DCMAKE_EXE_LINKER_FLAGS=-lpulse" ;for miniaudio
+                 ;; TODO: moon, python, wren
+                 "-DBUILD_WITH_FENNEL=ON"
+                 "-DBUILD_WITH_JANET=ON"
+                 "-DBUILD_WITH_JS=ON"
+                 "-DBUILD_WITH_LUA=ON"
+                 "-DBUILD_WITH_RUBY=ON"
+                 "-DBUILD_WITH_SCHEME=ON"
+                 "-DBUILD_WITH_SQUIRREL=ON"
+                 "-DBUILD_WITH_WASM=ON")
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'prepare-sources
+                   (lambda _
+                     (let* ((s7 #$(this-package-input "s7"))
+                            (fennel #$(this-package-input "fennel")))
+                       (install-file (string-append s7 "/include/s7.h")
+                                     "vendor/s7/")
+                       (install-file (string-append s7 "/share/s7/s7.c")
+                                     "vendor/s7/")
+                       (mkdir "vendor/fennel")
+                       (copy-file (car (find-files fennel "fennel\\.lua"))
+                                  "vendor/fennel/loadfennel.lua")
+                       (with-directory-excursion "vendor/fennel"
+                         (substitute* "loadfennel.lua"
+                           (("return mod") "package.loaded['fennel'] = mod"))
+                         (invoke "xxd" "-i" "loadfennel.lua" "fennel.h")))
+                     (substitute* "src/api/mruby.c"
+                       (("#include <mruby\\.h>" all)
+                        (string-append
+                         all "\n#include <mruby/internal.h>")))
+                     (substitute* "src/ext/fft.c"
+                       (("#include \"miniaudio\\.h\"") "
+#define MA_NO_RUNTIME_LINKING
+#define MA_ENABLE_ONLY_SPECIFIC_BACKENDS
+#define MA_ENABLE_PULSEAUDIO
+#define MA_ENABLE_NULL
+#include \"miniaudio.h\"
+")))))))
+      (native-inputs
+       (list pkg-config xxd))
+      (inputs
+       (list argparse
+             fennel
+             giflib
+             janet
+             kubazip
+             libpng
+             lua
+             mruby
+             naett
+             pulseaudio
+             quickjs
+             s7
+             sdl2
+             squirrel
+             wasm3))
+      (synopsis "Fantasy tiny computer")
+      (home-page "https://tic80.com/")
+      (description
+       "TIC-80 is a fantasy computer for making, playing and sharing tiny
+games.  There are built-in tools for development: code, sprites, maps, sound
+editors and the command line, which is enough to create a mini retro game.")
+      (license license:expat))))
+
 (define-public bbcsdl
   (package
     (name "bbcsdl")
-- 
2.48.1





This bug report was last modified 2 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.