[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#35795] [PATCH] squirrel: add at 3.1
From: |
Kei Kebreau |
Subject: |
[bug#35795] [PATCH] squirrel: add at 3.1 |
Date: |
Wed, 22 May 2019 02:51:06 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi Andy! Thanks for this patch. I have a few small tips below.
> From: Andy Tai <address@hidden>
>
> ---
> 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, address@hidden
Conventionally, we surround emails with angle brackets on copyright
lines like so:
;;; Copyright © 2019 Li-cheng (Andy) Tai <address@hidden>
> +;;
> +;;; 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! :)