From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id aD0ZN+KpUl8/GgAA0tVLHw (envelope-from ) for ; Fri, 04 Sep 2020 20:56:02 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id OKH4MuKpUl9kTAAAB5/wlQ (envelope-from ) for ; Fri, 04 Sep 2020 20:56:02 +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 B64359404E1 for ; Fri, 4 Sep 2020 20:56:01 +0000 (UTC) Received: from localhost ([::1]:32990 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kEIHm-0000ig-DM for larch@yhetil.org; Fri, 04 Sep 2020 16:26:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kEIHb-0000Qy-9Y for guix-patches@gnu.org; Fri, 04 Sep 2020 16:26:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57413) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kEIHb-0001l8-0o for guix-patches@gnu.org; Fri, 04 Sep 2020 16:26:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kEIHa-0006IJ-UA for guix-patches@gnu.org; Fri, 04 Sep 2020 16:26:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43183] [PATCH v2 1/5] gnu: Add loko-scheme. Resent-From: Martin Becze Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 04 Sep 2020 20:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43183 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 43183@debbugs.gnu.org Cc: Martin Becze Received: via spool by 43183-submit@debbugs.gnu.org id=B43183.159925115124144 (code B ref 43183); Fri, 04 Sep 2020 20:26:02 +0000 Received: (at 43183) by debbugs.gnu.org; 4 Sep 2020 20:25:51 +0000 Received: from localhost ([127.0.0.1]:40716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEIHI-0006Gy-7N for submit@debbugs.gnu.org; Fri, 04 Sep 2020 16:25:51 -0400 Received: from mx1.riseup.net ([198.252.153.129]:50886) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kEIHE-0006GS-PQ for 43183@debbugs.gnu.org; Fri, 04 Sep 2020 16:25:43 -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 4Bjq1c2bz8zFgh2 for <43183@debbugs.gnu.org>; Fri, 4 Sep 2020 13:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1599251140; bh=RebFFgrhhR28x7m9kO8Pbth53WvBcXORUhnLpX4Sa/k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=baIPd8H0V3BDNRxYMc/NVoI0TKF4k1JdIpXEOSW3YyFuK16YE2lM7MYyzT1UCma7s f/5TSrgJ+xj/YvzV7/g5qf4NyG4gGrU3/ZlvJ/C9v5xKr3N2PXbRnp9aNI7fYM4qSN vyawePkeIgbOz+UELgi7mKux5+fbfQzSeQBRjWFA= X-Riseup-User-ID: BB1FF348FB7F743C2F7E3456B45ECFF52867C30E0927DB1F09C3980F54A88C6F Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 4Bjq1b3xG0zJn6Z; Fri, 4 Sep 2020 13:25:39 -0700 (PDT) From: Martin Becze Date: Fri, 4 Sep 2020 15:25:13 -0500 Message-Id: <20200904202517.6131-2-mjbecze@riseup.net> In-Reply-To: <20200904202517.6131-1-mjbecze@riseup.net> References: <20200903150243.27796-1-mjbecze@riseup.net> <20200904202517.6131-1-mjbecze@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) 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=baIPd8H0; 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: 2H8ruBfoxmJD * gnu/packages/loko.scm (loko-scheme): New variable. --- gnu/local.mk | 2 ++ gnu/packages/loko.scm | 84 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 gnu/packages/loko.scm diff --git a/gnu/local.mk b/gnu/local.mk index d2753f52ae..96a849b7a4 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..ad4396afc4 --- /dev/null +++ b/gnu/packages/loko.scm @@ -0,0 +1,84 @@ +;;; 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 guile) + #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages chez)) + +(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 ; r7rs tests are still failing as of 0.6.0. + #: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") + (let ((dest "./.akku/lib/") + (source "/share/guile/site/3.0/")) + (for-each + (lambda (name) + ;; Symlink the scheme libraries so that Akku can find them + (symlink (string-append (assoc-ref inputs name) source name) + (string-append dest name))) + '("struct", "laesare", "pfds", "machine-code"))) + (substitute* ".akku/env" + (("/bin/sh") (which "sh"))) + #t))))) + (native-inputs + `(("akku" ,akku) + ("chez-scheme" ,chez-scheme) + ("struct" ,guile-struct-pack) + ("laesare" ,guile-laesare) + ("pfds" ,guile-pfds) + ("machine-code" ,guile-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