Package: guix-patches;
Reported by: Martin Becze <mjbecze <at> riseup.net>
Date: Thu, 3 Sep 2020 15:04:02 UTC
Severity: normal
Tags: patch
Done: Mathieu Othacehe <othacehe <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Martin Becze <mjbecze <at> riseup.net> To: guix-patches <at> gnu.org Cc: Martin Becze <mjbecze <at> riseup.net> Subject: [PATCH] gnu: Add loko-scheme. Date: Thu, 3 Sep 2020 10:02:43 -0500
* gnu/packages/loko.scm (loko-scheme): New variable. --- gnu/local.mk | 2 + gnu/packages/loko.scm | 124 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 gnu/packages/loko.scm diff --git a/gnu/local.mk b/gnu/local.mk index 6e47d74e0a..fef66aea19 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -36,6 +36,7 @@ # Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> # Copyright © 2020 Brice Waegeneire <brice <at> waegenei.re> # Copyright © 2020 Tanguy Le Carrour <tanguy <at> bioneland.org> +# Copyright © 2020 Martin Becze <mjbecze <at> riseup.net> # # This file is part of GNU Guix. # @@ -342,6 +343,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/lout.scm \ %D%/packages/logging.scm \ %D%/packages/logo.scm \ + %D%/packages/loko.scm \ %D%/packages/lolcode.scm \ %D%/packages/lsof.scm \ %D%/packages/lua.scm \ diff --git a/gnu/packages/loko.scm b/gnu/packages/loko.scm new file mode 100644 index 0000000000..4830b845c9 --- /dev/null +++ b/gnu/packages/loko.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net> +;;; +;;; 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 loko) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages package-management) + #:use-module (gnu packages chez)) + +(define pfds + (let ((name "pfds") + (version "0.3")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ijp/pfds.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19y33wg94pf0n98dkfqd1zbw93fgky4sawxsxl6s3vyqwl0yi5vh"))))) + +(define machine-code + (let ((name "machine-code") + (version "2.1.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/weinholt/machine-code.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wzj3caj2jypzyjqfkfqkvr3kkbjabsnhldv9kvnx9w9qnria5yd"))))) + +(define struct-pack + (let ((name "struct-pack") + (version "1.1.1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/weinholt/struct-pack.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hd72m821pahjphzyjn26i55542v8makr55xzjll2cycja4wsbc1"))))) + +(define laesare + (let ((name "laesare") + (version "1.0.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/weinholt/laesare.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15q619gzw717r8r1ql23zfdaibpnp9qqs96032vdc3rj74msxc92"))))) + +(define-public loko-scheme + (package + (name "loko-scheme") + (version "0.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/weinholt/loko.git") + (commit (string-append "v" version)))) + (sha256 (base32 "019jlh3lywy912cfz689c9fxgf4bi5700i9k04g7sl5w5gchj36m")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:strip-binaries? #f + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list + (string-append "PREFIX=" out) + (string-append "GDB_AUTOLOAD_PATH=" out "/share/gdb/auto-load"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'akku-fixes + (lambda* (#:key inputs #:allow-other-keys) + (delete-file "Akku.lock") + (substitute* "Akku.manifest" + (("\\(depends.*") "(depends)")) + (invoke "akku" "install") + (symlink (assoc-ref inputs "struct-pack") "./.akku/lib/struct") + (symlink (assoc-ref inputs "laesare") "./.akku/lib/laesare") + (symlink (assoc-ref inputs "machine-code") "./.akku/lib/machine-code") + (symlink (assoc-ref inputs "pfds") "./.akku/lib/pfds") + (substitute* ".akku/env" + (("/bin/sh") (which "sh"))) + #t))))) + (native-inputs + `(("akku" ,akku) + ("chez-scheme" ,chez-scheme) + ("struct-pack" ,struct-pack) + ("laesare" ,laesare) + ("pfds" ,pfds) + ("machine-code" ,machine-code))) + (home-page "https://scheme.fail") + (synopsis "Implementation of the algorithmic language Scheme") + (description + "Loko Scheme is intended to be a platform for application and operating system +development. It is written purely in Scheme and some assembler (i.e. no C code at +the bottom). Both the R6RS and the R7RS standards are supported.") + (license license:agpl3+))) -- 2.28.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.