[PATCH] gnu: squirrel: Update to 3.2.

  • Open
  • quality assurance status badge
Details
One participant
  • Andy Tai
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
A
A
Andy Tai wrote on 11 May 11:31 +0200
(address . guix-patches@gnu.org)(name . Andy Tai)(address . atai@atai.org)
af43e1ae4ef7fb26679457a9c52a9beac9e726c6.1715419828.git.atai@atai.org
* gnu/packages/squirrel.scm (squirrel): Update to 3.2.

Change-Id: Iebb19806cdb98cb15e2e739657d4f90aa6eb596e
---
gnu/packages/squirrel.scm | 38 ++++++++++++++------------------------
1 file changed, 14 insertions(+), 24 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
index 1b9489882f..7f959cace0 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@atai.org>
+;;; Copyright © 2019, 2024 Li-cheng (Andy) Tai <atai@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)
@@ -30,17 +31,16 @@ (define-module (gnu packages squirrel)
(define-public squirrel
(package
(name "squirrel")
- (version "3.1")
+ (version "3.2")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/squirrel/squirrel3/"
- "squirrel " version " stable/squirrel_"
- (string-join (string-split version #\.) "_")
- "_stable.tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodemichelis/squirrel.git")
+ (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jyh1523zrrnh9swanfrda0s14mvwc9431dh07g0nx74hbxsfia8"))))
+ "028v90k5bbcb8qwysgv6r0ycy6g920ns32i2sdq0i8hqib90ac5z"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DDISABLE_STATIC=ON")
@@ -49,26 +49,16 @@ (define-public squirrel
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref outputs "out"))
(doc-dir (string-append out "/share/doc/squirrel")))
(for-each
(lambda (file)
- (install-file (string-append "../squirrel3/" file) doc-dir))
+ (install-file (string-append source "/" file) doc-dir))
'("COPYRIGHT" "HISTORY" "README"
- "doc/sqstdlib3.pdf" "doc/squirrel3.pdf")))
- #t))
- (add-after 'install 'install-headers
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include-dir (string-append out "/include/squirrel")))
- (mkdir-p include-dir)
- (for-each
- (lambda (header-file)
- (copy-recursively header-file
- (string-append include-dir
- "/"
- (basename header-file))))
- (find-files "../squirrel3/include")))
+ ;"doc/sqstdlib3.pdf" "doc/squirrel3.pdf" ;; pdf not build out of git; TODO
+
+ )))
#t)))))
(native-inputs
`(("cmake" ,cmake-minimal)

base-commit: 703ae431f4ad28658e34675310b4fdf58685ccdd
--
2.34.1
A
A
Andy Tai wrote on 11 May 12:16 +0200
[PATCH v2] gnu: Add quirrel
(address . 70875@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
129aa222dbae82ff4e2fc85f32a56b6405a63b12.1715422522.git.atai@atai.org
* gnu/packages/squirrel.scm (quirrel): New variable

Change-Id: I3b25604f7c5cc4f046a6421810e3928d5c5ba276
---
gnu/packages/squirrel.scm | 64 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)

Toggle diff (88 lines)
diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
index 1b9489882f..638f06ab8f 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@atai.org>
+;;; Copyright © 2019, 2023 Li-Cheng (Andy) Tai <atai@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.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/GaijinEntertainment/quirrel.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18xvhssnh5lddi4ava7wzzvsiin8rh3vrbhcblv7l00qv0brh6gg"))))
+ (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
+@itemize
+@item Lexical scoping
+@item Higher order functions, closures and lambda
+@item Classes and inheritance
+@item Tail recursion
+@item Delegation
+@item String interpolation
+@item Exception handling
+@item Cooperative threads (coroutines)
+@item Generators
+@item Performance - Quirrel is fast and small (comparable with Lua and sometimes even faster)
+@item Both compiler and virtual machine fit together in about 13k lines of C++ code and add only around 100kb-150kb the executable size.
+@item Automatic memory management (CPU bursts free - reference counting and GC)
+@item Optional 16bits characters strings
+@item Dynamic typing type system is close to Javascript but stricter and simpler (there is integer type and no 'undefined')
+@item Powerful embedding api
+@item Modules
+@item Hot-reload (if you implement it in your code)
+@end itemize")
+ (license license:expat)))

base-commit: 703ae431f4ad28658e34675310b4fdf58685ccdd
--
2.34.1
A
A
Andy Tai wrote on 11 May 19:01 +0200
[PATCH v3] gnu: squirrel: Update to 3.2.
(address . 70875@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
9427b571948b90c3317e3c30b191721f0ff1f02a.1715446852.git.atai@atai.org
* gnu/packages/squirrel.scm (squirrel): Update to 3.2.

Change-Id: Iebb19806cdb98cb15e2e739657d4f90aa6eb596e
---
gnu/packages/squirrel.scm | 38 ++++++++++++++------------------------
1 file changed, 14 insertions(+), 24 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
index 1b9489882f..7f959cace0 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@atai.org>
+;;; Copyright © 2019, 2024 Li-cheng (Andy) Tai <atai@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)
@@ -30,17 +31,16 @@ (define-module (gnu packages squirrel)
(define-public squirrel
(package
(name "squirrel")
- (version "3.1")
+ (version "3.2")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/squirrel/squirrel3/"
- "squirrel " version " stable/squirrel_"
- (string-join (string-split version #\.) "_")
- "_stable.tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodemichelis/squirrel.git")
+ (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jyh1523zrrnh9swanfrda0s14mvwc9431dh07g0nx74hbxsfia8"))))
+ "028v90k5bbcb8qwysgv6r0ycy6g920ns32i2sdq0i8hqib90ac5z"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DDISABLE_STATIC=ON")
@@ -49,26 +49,16 @@ (define-public squirrel
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref outputs "out"))
(doc-dir (string-append out "/share/doc/squirrel")))
(for-each
(lambda (file)
- (install-file (string-append "../squirrel3/" file) doc-dir))
+ (install-file (string-append source "/" file) doc-dir))
'("COPYRIGHT" "HISTORY" "README"
- "doc/sqstdlib3.pdf" "doc/squirrel3.pdf")))
- #t))
- (add-after 'install 'install-headers
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include-dir (string-append out "/include/squirrel")))
- (mkdir-p include-dir)
- (for-each
- (lambda (header-file)
- (copy-recursively header-file
- (string-append include-dir
- "/"
- (basename header-file))))
- (find-files "../squirrel3/include")))
+ ;"doc/sqstdlib3.pdf" "doc/squirrel3.pdf" ;; pdf not build out of git; TODO
+
+ )))
#t)))))
(native-inputs
`(("cmake" ,cmake-minimal)

base-commit: 703ae431f4ad28658e34675310b4fdf58685ccdd
--
2.34.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 70875@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 70875
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch