From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id Dmw+CuwFUV/yGwAA0tVLHw (envelope-from ) for ; Thu, 03 Sep 2020 15:04:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id cEWBBewFUV+hWQAA1q6Kng (envelope-from ) for ; Thu, 03 Sep 2020 15:04:12 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id DBE4F9406BD for ; Thu, 3 Sep 2020 15:04:10 +0000 (UTC) Received: from localhost ([::1]:49182 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kDqmW-0007uz-D2 for larch@yhetil.org; Thu, 03 Sep 2020 11:04:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kDqmQ-0007uf-O0 for guix-patches@gnu.org; Thu, 03 Sep 2020 11:04:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52618) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kDqmQ-0005Dz-Ef for guix-patches@gnu.org; Thu, 03 Sep 2020 11:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kDqmQ-0001m6-AH for guix-patches@gnu.org; Thu, 03 Sep 2020 11:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43183] [PATCH] gnu: Add loko-scheme. Resent-From: Martin Becze Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 03 Sep 2020 15:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43183 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43183@debbugs.gnu.org Cc: Martin Becze X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15991453956762 (code B ref -1); Thu, 03 Sep 2020 15:04:02 +0000 Received: (at submit) by debbugs.gnu.org; 3 Sep 2020 15:03:15 +0000 Received: from localhost ([127.0.0.1]:35931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDqlb-0001kv-4d for submit@debbugs.gnu.org; Thu, 03 Sep 2020 11:03:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:57044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kDqlV-0001kj-HQ for submit@debbugs.gnu.org; Thu, 03 Sep 2020 11:03:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43340) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kDqlU-0007T2-ON for guix-patches@gnu.org; Thu, 03 Sep 2020 11:03:04 -0400 Received: from mx1.riseup.net ([198.252.153.129]:33718) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kDqlO-0004i8-3n for guix-patches@gnu.org; Thu, 03 Sep 2020 11:03:03 -0400 Received: from bell.riseup.net (bell-pn.riseup.net [10.0.1.178]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4Bj3vg68MWzFmcJ for ; Thu, 3 Sep 2020 08:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1599145375; bh=iNHMLzId0UDGpmwVfLlmPvYV6Mqo+zXxxFCFqpi3lRc=; h=From:To:Cc:Subject:Date:From; b=opz0oBp1WQeteY7hkQx9nfsuAlotBfGPkvgNLQ1VNhOFpLkWJvy1Yz1vjsVQkcSJQ 5hOJmEPBUs93N4uaIo4mk4h4s3oHVBvZMz4ee/WgnGGxjzEQgk5IwtMZU4GmP2Hgjw OTqM7msnAdr7P0GA5uR/d6M4jxBakNB4jKy0Ljz0= X-Riseup-User-ID: 855F1EE3C1637B95A3489BD94B9E2FAA849583C5616CB44083A04598E9103CCB Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 4Bj3vg0QTczJnDK; Thu, 3 Sep 2020 08:02:54 -0700 (PDT) From: Martin Becze Date: Thu, 3 Sep 2020 10:02:43 -0500 Message-Id: <20200903150243.27796-1-mjbecze@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=198.252.153.129; envelope-from=mjbecze@riseup.net; helo=mx1.riseup.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/03 11:02:56 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -2.4 (--) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=riseup.net header.s=squak header.b=opz0oBp1; dmarc=fail reason="SPF not aligned (relaxed)" header.from=riseup.net (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: 1.09 X-TUID: grrpl+DXt8q1 * 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 # Copyright © 2020 Brice Waegeneire # Copyright © 2020 Tanguy Le Carrour +# Copyright © 2020 Martin Becze # # 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 +;;; +;;; 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 . + +(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