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 Fhw9MwqsV199YwAA0tVLHw (envelope-from ) for ; Tue, 08 Sep 2020 16:06:34 +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 WPB+LgqsV19gTgAAB5/wlQ (envelope-from ) for ; Tue, 08 Sep 2020 16:06:34 +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 0994D9402C8 for ; Tue, 8 Sep 2020 16:06:34 +0000 (UTC) Received: from localhost ([::1]:44228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFg8f-0005qK-0I for larch@yhetil.org; Tue, 08 Sep 2020 12:06:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36802) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFg3M-0004Ad-4T for guix-patches@gnu.org; Tue, 08 Sep 2020 12:01:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44599) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kFg3L-0004dg-Ng for guix-patches@gnu.org; Tue, 08 Sep 2020 12:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kFg3L-0005TH-MG for guix-patches@gnu.org; Tue, 08 Sep 2020 12:01:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43183] [PATCH v3 4/4] gnu: Add loko-scheme. Resent-From: Martin Becze Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Sep 2020 16:01:03 +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.159958084219738 (code B ref 43183); Tue, 08 Sep 2020 16:01:03 +0000 Received: (at 43183) by debbugs.gnu.org; 8 Sep 2020 16:00:42 +0000 Received: from localhost ([127.0.0.1]:56141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFg2w-000544-GG for submit@debbugs.gnu.org; Tue, 08 Sep 2020 12:00:42 -0400 Received: from mx1.riseup.net ([198.252.153.129]:43480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kFg2n-0004t3-89 for 43183@debbugs.gnu.org; Tue, 08 Sep 2020 12:00:32 -0400 Received: from capuchin.riseup.net (capuchin-pn.riseup.net [10.0.1.176]) (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 4Bm8xl1bMKzFrcB for <43183@debbugs.gnu.org>; Tue, 8 Sep 2020 09:00:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1599580828; bh=Hmr0bisgfKd+uBUyc8G9xt1G43Lk5uVlJd9Nkm8TySc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CjdarNH3i1bfrlIkBDuxOIw666saTZuh3IgsQJVpoohW6RGaFPwu4TEZg2FJPguox eVJ7GF2YsBRZPfZyUhv52P83tpkIElWWevpbN59DZsEy3WF2eyQSvi7m/p8ngXEAi9 QuNhmVTgqlpdG4Ft0ghhcSjFT4BV7xnOH/53F8KM= X-Riseup-User-ID: 57FA972296985513C45FBA857BF3126E337A6B54E56D7D6265C58BE13102ACC4 Received: from [127.0.0.1] (localhost [127.0.0.1]) by capuchin.riseup.net (Postfix) with ESMTPSA id 4Bm8xQ5DzHz8vXL; Tue, 8 Sep 2020 09:00:10 -0700 (PDT) From: Martin Becze Date: Tue, 8 Sep 2020 10:59:46 -0500 Message-Id: <20200908155946.2322-5-mjbecze@riseup.net> In-Reply-To: <20200908155946.2322-1-mjbecze@riseup.net> References: <20200903150243.27796-1-mjbecze@riseup.net> <20200908155946.2322-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=CjdarNH3; 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: pJiHgJGReLXk * gnu/packages/loko.scm (loko-scheme): New variable. --- gnu/local.mk | 2 + gnu/packages/loko.scm | 85 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 gnu/packages/loko.scm diff --git a/gnu/local.mk b/gnu/local.mk index dd15126b26..10f8ee5b9a 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..1f216d27f9 --- /dev/null +++ b/gnu/packages/loko.scm @@ -0,0 +1,85 @@ +;;; 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 + `(;; r7rs tests are still failing as of 0.6.0. + #: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") + (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