GNU bug report logs - #62891
[PATCH] gnu: Add quirrel

Previous Next

Package: guix-patches;

Reported by: Andy Tai <atai <at> atai.org>

Date: Mon, 17 Apr 2023 00:11:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 62891 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 guix-patches <at> gnu.org:
bug#62891; Package guix-patches. (Mon, 17 Apr 2023 00:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andy Tai <atai <at> atai.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 17 Apr 2023 00:11:02 GMT) Full text and rfc822 format available.

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

From: Andy Tai <atai <at> atai.org>
To: guix-patches <at> gnu.org
Cc: Andy Tai <atai <at> atai.org>
Subject: [PATCH] gnu: Add quirrel
Date: Sun, 16 Apr 2023 17:10:37 -0700
* gnu/packages/squirrel.scm (quirrel): New variable
---
 gnu/packages/squirrel.scm | 64 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
index 1b9489882f..818f04ebf9 100644
--- a/gnu/packages/squirrel.scm
+++ b/gnu/packages/squirrel.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Li-cheng (Andy) Tai <atai <at> atai.org>
+;;; Copyright © 2019, 2023 Li-Cheng (Andy) Tai <atai <at> atai.org>
 ;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +22,7 @@ (define-module (gnu packages squirrel)
   #:use-module (gnu packages sphinx)
   #:use-module (guix build-system cmake)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build utils)
   #:use-module (guix packages)
@@ -81,3 +82,64 @@ (define-public squirrel
 size, memory bandwidth, and real-time requirements of applications like video
 games.")
     (license license:expat)))
+
+
+
+(define-public quirrel
+  (package
+    (name "quirrel")
+    (version "4.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/GaijinEntertainment/quirrel.git")
+                    (commit "bef3fc5")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10pd1l8gbp8kyak9caklp061nnp2lqvnb21wwg7zjd75pp0xf63s"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags '("-DDISABLE_STATIC=ON")
+       #:tests? #f ;no tests
+       #:phases (modify-phases %standard-phases
+                  ;; TODO: build and install doc files like squirrel above
+                  (add-after 'install 'install-headers
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (include-dir (string-append out "/include")))
+                        (mkdir-p include-dir)
+                        (for-each (lambda (header-file)
+                                    (copy-recursively header-file
+                                                      (string-append
+                                                       include-dir "/"
+                                                       (basename header-file))))
+                                  (find-files "../include"))) #t)))))
+    (native-inputs `(("cmake" ,cmake-minimal)
+                     ("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/GaijinEntertainment/quirrel")
+    (synopsis "Script language that is based on Squirrel language and is
+inspired by Python, Javascript and especially Lua")
+    (description
+     "Quirrel is a script language that is based on Squirrel language and is
+inspired by Python, Javascript and especially Lua, with
+
+    Lexical scoping
+    Higher order functions, closures and lambda
+    Classes and inheritance
+    Tail recursion
+    Delegation
+    String interpolation
+    Exception handling
+    Cooperative threads (coroutines)
+    Generators
+    Performance - Quirrel is fast and small (comparable with Lua and sometimes even faster)
+    Both compiler and virtual machine fit together in about 13k lines of C++ code and add only around 100kb-150kb the executable size.
+    Automatic memory management (CPU bursts free - reference counting and GC)
+    Optional 16bits characters strings
+    Dynamic typing type system is close to Javascript but stricter and simpler (there is integer type and no 'undefined')
+    Powerful embedding api
+    Modules
+    Hot-reload (if you implement it in your code)
+    Open Source MIT License")
+    (license license:expat)))

base-commit: 9a5e1dc1f16f5f8c056e64f2077b035784003673
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62891; Package guix-patches. (Thu, 11 May 2023 23:37:01 GMT) Full text and rfc822 format available.

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

From: Andy Tai <atai <at> atai.org>
To: 62891 <at> debbugs.gnu.org
Subject: Re: bug#62891: Acknowledgement ([PATCH] gnu: Add quirrel)
Date: Thu, 11 May 2023 16:36:11 -0700
ping




This bug report was last modified 344 days ago.

Previous Next


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