diff mbox series

[bug#35795] squirrel: add at 3.1

Message ID 20190519045119.29157-1-atai@atai.org
State Accepted
Headers show
Series [bug#35795] squirrel: add at 3.1 | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Andy Tai May 19, 2019, 4:51 a.m. UTC
From: Andy Tai <atai@atai.org>

---
 gnu/packages/squirrel.scm | 62 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 gnu/packages/squirrel.scm

Comments

Kei Kebreau May 22, 2019, 6:51 a.m. UTC | #1
Hi Andy! Thanks for this patch. I have a few small tips below.

> From: Andy Tai <atai@atai.org>
>
> ---
>  gnu/packages/squirrel.scm | 62 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
>  create mode 100644 gnu/packages/squirrel.scm
>
> diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
> new file mode 100644
> index 0000000000..f77e0e3024
> --- /dev/null
> +++ b/gnu/packages/squirrel.scm
> @@ -0,0 +1,62 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2019 Li-cheng (Andy) Tai, atai@atai.org

Conventionally, we surround emails with angle brackets on copyright
lines like so:

;;; Copyright © 2019 Li-cheng (Andy) Tai <atai@atai.org>

> +;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu packages squirrel)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages admin)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages bash)
> +  #:use-module (gnu packages cmake)
> +  #: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)
> +  #:use-module (guix utils)
> +  #:use-module (ice-9 match)
> +  #:use-module (srfi srfi-1))
> +
> +(define-public squirrel
> +  (let ((commit "51137b84e66c4d526809fd8a59f4ba1d38138c76"))
> +    (package
> +    (name "squirrel")
> +    (version "3.1")
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/albertodemichelis/squirrel.git")
> +                      (commit commit)))
> +                (file-name (string-append name "-" version "-checkout"))
> +                (sha256
> +                 (base32
> +                  "0vbiv1q3qcy2vj8y0b9a2ckswl9ld398n3jnxijvwddrjgya5zav"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +      '(#:phases
> +        (modify-phases %standard-phases
> +         (delete 'check))))            ; no tests

Using "#:tests? #f" is much shorter and does the same thing as the
build phase modification you put above. See the "gnushogi" package
definition in gnu/packages/games.scm for an example.

> +    (native-inputs
> +     `(("cmake" ,cmake)))
> +    (home-page "https://squirrel-lang.org/")
> +    (synopsis "High level imperative, object-oriented programming language")
> +    (description
> + "Squirrel is a high level imperative, object-oriented programming
> language,
> +designed to be a light-weight scripting language that fits in the size, memory
> +bandwidth, and real-time requirements of applications like video games.")
> +    (license license:zlib))))

Squirrel's license looks like the Expat license to me. The Zlib license
has a numbered list of restrictions, which Squirrel's does not.

Also, when adding a new file to the gnu/packages directory, the file
must be added to the GNU_SYSTEM_MODULES list of files in gnu/local.mk.

I've tested your submitted patch with all the changes I mentioned above, but
I am not sure whether or not there is an existing module we may place
this package in instead of creating a new one. I'll get back to you ASAP
on that.

Otherwise, thank you again for this patch, and I look forward to seeing
it as part of Guix! :)
Kei Kebreau May 23, 2019, 3:36 a.m. UTC | #2
Your patch has been pushed to the Guix git repository. Thanks again, Andy!
Andy Tai May 23, 2019, 5:41 a.m. UTC | #3
Than  you. Will follow the proper format in the future.

On Wed, May 22, 2019 at 8:36 PM Kei Kebreau <kkebreau@posteo.net> wrote:

> Your patch has been pushed to the Guix git repository. Thanks again, Andy!
>
diff mbox series

Patch

diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
new file mode 100644
index 0000000000..f77e0e3024
--- /dev/null
+++ b/gnu/packages/squirrel.scm
@@ -0,0 +1,62 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Li-cheng (Andy) Tai, atai@atai.org
+;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages squirrel)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages cmake)
+  #: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)
+  #:use-module (guix utils)
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1))
+
+(define-public squirrel
+  (let ((commit "51137b84e66c4d526809fd8a59f4ba1d38138c76"))
+    (package
+    (name "squirrel")
+    (version "3.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/albertodemichelis/squirrel.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0vbiv1q3qcy2vj8y0b9a2ckswl9ld398n3jnxijvwddrjgya5zav"))))
+    (build-system cmake-build-system)
+    (arguments
+      '(#:phases
+        (modify-phases %standard-phases
+         (delete 'check))))            ; no tests
+    (native-inputs
+     `(("cmake" ,cmake)))
+    (home-page "https://squirrel-lang.org/")
+    (synopsis "High level imperative, object-oriented programming language")
+    (description
+     "Squirrel is a high level imperative, object-oriented programming language,
+designed to be a light-weight scripting language that fits in the size, memory
+bandwidth, and real-time requirements of applications like video games.")
+    (license license:zlib))))