From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 23 15:27:04 2022 Received: (at submit) by debbugs.gnu.org; 23 Dec 2022 20:27:04 +0000 Received: from localhost ([127.0.0.1]:38680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8odE-0001XN-Js for submit@debbugs.gnu.org; Fri, 23 Dec 2022 15:27:04 -0500 Received: from lists.gnu.org ([209.51.188.17]:50756) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8odC-0001XH-1Y for submit@debbugs.gnu.org; Fri, 23 Dec 2022 15:27:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8odB-00065y-TU for guix-patches@gnu.org; Fri, 23 Dec 2022 15:27:01 -0500 Received: from confino.investici.org ([93.190.126.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p8od9-0007Fa-Sa for guix-patches@gnu.org; Fri, 23 Dec 2022 15:27:01 -0500 Received: from 1.mail-backend.investici.org (unknown [10.0.0.11]) by confino.investici.org (Postfix) with ESMTP id 4NdzHB6PN4z112b for ; Fri, 23 Dec 2022 20:26:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1671827206; bh=4rTfl1qucw3pFpErqz9bvC1j1ADYVvcCA9i0zwddNp4=; h=Date:From:To:Subject:From; b=ppBdOc0HeuDYqWJ4XS51sjuBe0NlJaDitJl+NVKSfhfwDO+QtLIv70KSC4oI1Lmbk 2ftvGIemFt4pTQDdruq7t/fjdDPCdOfcTxRlVKhfrxjfUvjsHAn3d/8NnX7zlmF3YT rEjIVH1eDJW19teQspKhaY8Anf95JWYBeMMf6zfA= Received: from 1.webmail.investici.org (localhost [127.0.0.1]) (Authenticated sender: goodoldpaul@autistici.org) by 1.mail-backend.investici.org (Postfix) with ESMTPA id 4NdzHB52zwz61BP for ; Fri, 23 Dec 2022 20:26:46 +0000 (UTC) MIME-Version: 1.0 Date: Fri, 23 Dec 2022 20:26:46 +0000 From: goodoldpaul@autistici.org To: guix-patches@gnu.org Subject: [PATCHES] Add guile's implementation for scheme-lsp-server User-Agent: Roundcube Webmail Message-ID: <15ea32667d93bab6b4a785253538cdb5@autistici.org> X-Sender: goodoldpaul@autistici.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=93.190.126.19; envelope-from=goodoldpaul@autistici.org; helo=confino.investici.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, 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-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Dear Guixers, I'm sending a couple of patches to add the Guile's implementation for a Scheme LSP Server ( https://codeberg.org/rgherdt/scheme-lsp-server ). Thank you for your time and efforts :) From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 23 15:46:47 2022 Received: (at 60286) by debbugs.gnu.org; 23 Dec 2022 20:46:47 +0000 Received: from localhost ([127.0.0.1]:38762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8owI-0001kZ-RN for submit@debbugs.gnu.org; Fri, 23 Dec 2022 15:46:47 -0500 Received: from confino.investici.org ([93.190.126.19]:32949) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8owG-0001kO-B3 for 60286@debbugs.gnu.org; Fri, 23 Dec 2022 15:46:45 -0500 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4Ndzk86Zrdz1142; Fri, 23 Dec 2022 20:46:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1671828400; bh=H+pI/r2Wo+784p7Xp6XjnHNGgfRkgEjvT9v4V6PmWp8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nRVtpxakqUK3in7p1UkxMYP+x+eCnT2iBu4Bc5HnC/4BJJOiyWgMx1og4ca/GNF01 21ARsoDlmuKy2uSQeFvqifcHCSZAha+Zd06E4+Br5ztt7MxAEdYuz+HIE6v6EGFimX eXXtcMcj9NM6hHbGJdrwkiTJL6/wVMT3aO6mWWtM= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4Ndzk861Wtz113v; Fri, 23 Dec 2022 20:46:40 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [PATCH 2/2] gnu: Add guile-scheme-lsp-server. Date: Fri, 23 Dec 2022 21:46:30 +0100 Message-Id: <20221223204630.1833-2-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221223204630.1833-1-goodoldpaul@autistici.org> References: <20221223204630.1833-1-goodoldpaul@autistici.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm (guile-scheme-lsp-server): New variable. --- gnu/packages/scheme-xyz.scm | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm index 819c5cdf9e..513953b0f4 100644 --- a/gnu/packages/scheme-xyz.scm +++ b/gnu/packages/scheme-xyz.scm @@ -18,6 +18,7 @@ (define-module (gnu packages scheme-xyz) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages guile) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) @@ -65,3 +66,87 @@ (define-public guile-scheme-json-rpc This package delivers Guile's bytecode for @code{scheme-json-rpc}.") (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") (license license:expat))) + +(define (scheme-lsp-server-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-lsp-server.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-lsp-server + (package + (name "guile-scheme-lsp-server") + (version "0.2.2") + (source + (scheme-lsp-server-origin + name + version + "0lb359gw00w149h5yq2brfrcpybdwdj6ndbl7k1ms88l653r5l2g")) + (build-system gnu-build-system) + (arguments + (list #:modules `((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile"))) + (add-after 'install 'wrap-entrypoint + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (site (string-append #$output + "/share/guile/site")) + (deps (list #$guile-scheme-json-rpc))) + (match (scandir site) + (("." ".." version) + (let ((modules (string-append site "/" + version)) + (compiled-modules (string-append #$output + "/lib/guile/" + version + "/site-ccache"))) + (wrap-program (string-append bin + "/guile-lsp-server") + `("GUILE_LOAD_PATH" ":" + prefix + (,modules + ,@(map (lambda (dep) + (string-append + dep + "/share/guile/site/" + version)) + deps))) + `("GUILE_LOAD_COMPILED_PATH" + ":" prefix + (,compiled-modules + ,@(map (lambda (dep) + (string-append + dep + "/lib/guile/" + version + "/site-ccache")) + deps)))) + #t))))))))) + (native-inputs (list autoconf automake pkg-config)) + (inputs + ;; Depend on the latest Guile to avoid bytecode compatibility issues when + ;; using modules built against the latest version. + (list bash-minimal + guile-3.0-latest)) + (propagated-inputs (list guile-scheme-json-rpc)) + (synopsis "LSP (Language Server Protocol) server for Scheme") + (description + "@code{guile-lsp-server} is an implementation for Guile of the LSP +specification. This software aims to support several Scheme implementations. +To achieve this, the code is designed to contain as much logic as possible in +R7RS Scheme, separating implementation-specific code in different modules. + +This package delivers Guile's implementation for @code{scheme-lsp-server}.") + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") + (license license:expat))) -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 23 15:46:47 2022 Received: (at 60286) by debbugs.gnu.org; 23 Dec 2022 20:46:48 +0000 Received: from localhost ([127.0.0.1]:38764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8owJ-0001kb-Bl for submit@debbugs.gnu.org; Fri, 23 Dec 2022 15:46:47 -0500 Received: from confino.investici.org ([93.190.126.19]:51129) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8owG-0001kN-BD for 60286@debbugs.gnu.org; Fri, 23 Dec 2022 15:46:45 -0500 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4Ndzk85pshz113y; Fri, 23 Dec 2022 20:46:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1671828400; bh=3w7TBYuAtzFOkbOSb1JAYVqpOFnJG9gH5jmIHsfVdv4=; h=From:To:Cc:Subject:Date:From; b=RjEzX5I4ipFDydmQniKPpBhDqggzeiDC+xEck8KxMCewTBp+QuZ9of04kB/wIXN0V r69SK4pqeNZtA8oVUACGLWhlPqKhHDBhWaTRmOq872fWQN6bGOv7Wtf1YuHrk+HKnj 5PpQfNsONd82fWkv7+P3G2awEDR5obY10CMayqvo= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4Ndzk85Fpkz113v; Fri, 23 Dec 2022 20:46:40 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add guile-scheme-json-rpc. Date: Fri, 23 Dec 2022 21:46:29 +0100 Message-Id: <20221223204630.1833-1-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/scheme-xyz.scm | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 gnu/packages/scheme-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index 45d05de02d..868903a0e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -548,6 +548,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sawfish.scm \ %D%/packages/scanner.scm \ %D%/packages/scheme.scm \ + %D%/packages/scheme-xyz.scm \ %D%/packages/spreadsheet.scm \ %D%/packages/screen.scm \ %D%/packages/scribus.scm \ diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm new file mode 100644 index 0000000000..819c5cdf9e --- /dev/null +++ b/gnu/packages/scheme-xyz.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Giacomo Leidi +;;; +;;; 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 scheme-xyz) + #:use-module (gnu packages autotools) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix build-system gnu)) + +(define (scheme-json-rpc-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-json-rpc.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-json-rpc + (package + (name "guile-scheme-json-rpc") + (version "0.2.11") + (source + (scheme-json-rpc-origin + name + version + "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")) + (build-system gnu-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile")))))) + (native-inputs (list autoconf automake pkg-config texinfo guile-3.0-latest)) + (synopsis "Implementation of the JSON-RPC for Scheme") + (description + "@code{scheme-json-rpc} allows calling procedures +on remote servers by exchanging JSON objects. It implements the +@url{jsonrpc specifications, https://www.jsonrpc.org/specification}. +The low-level API strives to be R7RS compliant, relying on some SRFI's +when needed. So far it was only tested under CHICKEN 5 and Guile 3. + +This package delivers Guile's bytecode for @code{scheme-json-rpc}.") + (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") + (license license:expat))) base-commit: 1b29fccff2334fb5d6e979a290233a452969e39b -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 31 11:23:37 2022 Received: (at 60286) by debbugs.gnu.org; 31 Dec 2022 16:23:37 +0000 Received: from localhost ([127.0.0.1]:39681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pBee0-00072l-Oi for submit@debbugs.gnu.org; Sat, 31 Dec 2022 11:23:37 -0500 Received: from mta-07-4.privateemail.com ([68.65.122.27]:3235) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pBedy-00072T-2e for 60286@debbugs.gnu.org; Sat, 31 Dec 2022 11:23:35 -0500 Received: from mta-07.privateemail.com (localhost [127.0.0.1]) by mta-07.privateemail.com (Postfix) with ESMTP id 3FB8A18000AE for <60286@debbugs.gnu.org>; Sat, 31 Dec 2022 11:23:27 -0500 (EST) Received: from [127.0.0.1] (pool-71-105-205-179.nycmny.fios.verizon.net [71.105.205.179]) by mta-07.privateemail.com (Postfix) with ESMTPA id DD72C18000AD for <60286@debbugs.gnu.org>; Sat, 31 Dec 2022 11:23:26 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=quic.us; s=default; t=1672503807; bh=2qMwCqu9Ad30Zerz7tz4MUzMFdTT+1hprBaFu4F+MFI=; h=Date:From:To:Subject:From; b=kyKAGuyrum7GLJ3DiRd18/oWsyEDPckl0s+VFsfDCkL8fdNG7EooLxIVzExh/O0jU 8FAihIldDQtF+7maZOPKgdmsi56TW3C79BBzkcVP4bnBvjeeyVb1VJUmbxc78ts8cA 8S2fq6v6PtFggpFgJ720uZQPbBncUnfwR2tl33PcuHTScZLPrvzEk/xjUjBzegdlX4 rdhpTYn3VOU6wlRrpc1t8ZBqLTtOD8UdgPgrOTBbN5FaMuM2psBZI9gpGES8OUiWQl yCQslQ/r1FM1noucNg8ipCUC2Zav7cTPSpwZ7q4iU6p1rRgQF6RpocomixCCqRc98S cXd9VbuUeTmLw== Date: Sat, 31 Dec 2022 11:23:25 -0500 From: Abhishek Cherath To: 60286@debbugs.gnu.org Subject: [PATCHES] Add guile's implementation for scheme-lsp-server User-Agent: K-9 Mail for Android Message-ID: <24291997-B08A-4644-B0BF-25F759EE6A13@quic.us> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----6B8IQZX33NQLDNFA6XPUN60ISASS0T Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) ------6B8IQZX33NQLDNFA6XPUN60ISASS0T Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ha! I hadn't seen this and submitted #60444 Does the json-rpc package need autoconf automake and TeX? I got it to work= with guile-3, guile-json-3 as inputs and pkg-config as a native input=2E (= Actually now that I think about it I guess guile-json isn't needed) Also why would guile be a native input for json-rpc? Should just be an inp= ut right? Thanks, Abhishek=2E ------6B8IQZX33NQLDNFA6XPUN60ISASS0T Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ha! I hadn't seen this and submitted #60444
<= br>Does the json-rpc package need autoconf automake and TeX? I got it to wo= rk with guile-3, guile-json-3 as inputs and pkg-config as a native input=2E= (Actually now that I think about it I guess guile-json isn't needed)
Also why would guile be a native input for json-rpc? Should just be an in= put right?

Thanks,
Abhishek=2E

------6B8IQZX33NQLDNFA6XPUN60ISASS0T-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 01 20:52:42 2023 Received: (at 60286) by debbugs.gnu.org; 2 Jan 2023 01:52:42 +0000 Received: from localhost ([127.0.0.1]:42138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA0I-0000YO-8X for submit@debbugs.gnu.org; Sun, 01 Jan 2023 20:52:42 -0500 Received: from confino.investici.org ([93.190.126.19]:54689) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA0F-0000YF-FX for 60286@debbugs.gnu.org; Sun, 01 Jan 2023 20:52:40 -0500 Received: from 1.mail-backend.investici.org (unknown [10.0.0.11]) by confino.investici.org (Postfix) with ESMTP id 4Nlf505MmMz10tN for <60286@debbugs.gnu.org>; Mon, 2 Jan 2023 01:52:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1672624356; bh=Wxnhw4+M1ep4qhSFi6dOZccwehh1zj0QAvcw1HHYfwQ=; h=Date:From:To:Subject:From; b=DL5INAVBlTXLxTe//kHyBXogXdr/l/2xKCga1hS2apGGHIoVmGQXvgwVIvUy5y/Jr aXO6CC4GuPXHpvgN+EAtxSLvkhWn7WgqpF+vCIMjOG+TufQss7vDyfPJ3+SOHTvZZR 8F+GVMwX4ZXr9bu/GNWwiuGox5w+y9iiV8teN/yU= Received: from 1.webmail.investici.org (localhost [127.0.0.1]) (Authenticated sender: goodoldpaul@autistici.org) by 1.mail-backend.investici.org (Postfix) with ESMTPA id 4Nlf503mQfz5ytT for <60286@debbugs.gnu.org>; Mon, 2 Jan 2023 01:52:36 +0000 (UTC) MIME-Version: 1.0 Date: Mon, 02 Jan 2023 01:52:36 +0000 From: goodoldpaul@autistici.org To: 60286@debbugs.gnu.org Subject: Re: [PATCHES] Add guile's implementation for scheme-lsp-server User-Agent: Roundcube Webmail Message-ID: X-Sender: goodoldpaul@autistici.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dear Abhishek, thank you for the heads up! I fixed my patches with your suggestions and I'm sending an updated patchset. giacomo From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 01 21:00:52 2023 Received: (at 60286) by debbugs.gnu.org; 2 Jan 2023 02:00:52 +0000 Received: from localhost ([127.0.0.1]:42143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA8C-0000lT-4e for submit@debbugs.gnu.org; Sun, 01 Jan 2023 21:00:52 -0500 Received: from confino.investici.org ([93.190.126.19]:36207) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA89-0000lG-P0 for 60286@debbugs.gnu.org; Sun, 01 Jan 2023 21:00:50 -0500 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4NlfGS5jKWz10vd; Mon, 2 Jan 2023 02:00:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1672624848; bh=FAHmrrDYCDcPhSNDtjhvyANHBuO8o07/wRaqDfNNcAM=; h=From:To:Cc:Subject:Date:From; b=e7lDNTMSh/0NwHtwtspH/qKYhu47IW9T+1/VgR4NLVjQ03OxTI5s+7TTDoRi1AGTT M29J65i+JC9Xb7/As3pIp7DuN0HRW6WpDBiRTQoeRXxoAw/c6MBVMjCAWgqHlDJEQb V4lO8wn+oBmJyhZnbv4QJqqpXW32PvaFav8hvQ+A= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4NlfGS5Bdtz10vS; Mon, 2 Jan 2023 02:00:48 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [PATCHv2 1/2] gnu: Add guile-scheme-json-rpc. Date: Mon, 2 Jan 2023 03:00:23 +0100 Message-Id: <20230102020024.27498-1-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/scheme-xyz.scm | 68 +++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/scheme-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index f0b1b3fd15..5a285eb629 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -548,6 +548,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sawfish.scm \ %D%/packages/scanner.scm \ %D%/packages/scheme.scm \ + %D%/packages/scheme-xyz.scm \ %D%/packages/spreadsheet.scm \ %D%/packages/screen.scm \ %D%/packages/scribus.scm \ diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm new file mode 100644 index 0000000000..91ba1e7f5b --- /dev/null +++ b/gnu/packages/scheme-xyz.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Giacomo Leidi +;;; +;;; 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 scheme-xyz) + #:use-module (gnu packages autotools) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix build-system gnu)) + +(define (scheme-json-rpc-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-json-rpc.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-json-rpc + (package + (name "guile-scheme-json-rpc") + (version "0.2.11") + (source + (scheme-json-rpc-origin + name + version + "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")) + (build-system gnu-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile")))))) + (native-inputs (list pkg-config)) + (inputs (list guile-3.0-latest)) + (synopsis "Implementation of the JSON-RPC for Scheme") + (description + "@code{scheme-json-rpc} allows calling procedures +on remote servers by exchanging JSON objects. It implements the +@url{jsonrpc specifications, https://www.jsonrpc.org/specification}. +The low-level API strives to be R7RS compliant, relying on some SRFI's +when needed. So far it was only tested under CHICKEN 5 and Guile 3. + +This package delivers Guile's bytecode for @code{scheme-json-rpc}.") + (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") + (license license:expat))) base-commit: d7a9d72bb02a2a3b1a99183655bf878547116032 -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 01 21:00:53 2023 Received: (at 60286) by debbugs.gnu.org; 2 Jan 2023 02:00:53 +0000 Received: from localhost ([127.0.0.1]:42145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA8C-0000la-Lp for submit@debbugs.gnu.org; Sun, 01 Jan 2023 21:00:53 -0500 Received: from confino.investici.org ([93.190.126.19]:29415) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pCA89-0000lF-Oy for 60286@debbugs.gnu.org; Sun, 01 Jan 2023 21:00:50 -0500 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4NlfGS6Tbhz10vf; Mon, 2 Jan 2023 02:00:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1672624848; bh=EOMH+XkjCSK0Gr/PPLjjjvDeOPZv850tIv/kTirctNk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JYSTyDYjB9raYMeqVMVjRvDWuIZwFoEYlHBid1nqGWwb/aih5icVwOb+9Vn/KK/nh t7f5PGejkTlcSrekOgwxvLifJ/fcIV6ju9fbP5VAKpFGn+DaUmXhhNqoq7PBiJdhOz RZnwinh67gC2y3Gmm92iTZBCI773IGg2/J/eQepg= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4NlfGS5x8cz10vS; Mon, 2 Jan 2023 02:00:48 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [PATCHv2 2/2] gnu: Add guile-scheme-lsp-server. Date: Mon, 2 Jan 2023 03:00:24 +0100 Message-Id: <20230102020024.27498-2-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230102020024.27498-1-goodoldpaul@autistici.org> References: <20230102020024.27498-1-goodoldpaul@autistici.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm (guile-scheme-lsp-server): New variable. --- gnu/packages/scheme-xyz.scm | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm index 91ba1e7f5b..3947bf4f92 100644 --- a/gnu/packages/scheme-xyz.scm +++ b/gnu/packages/scheme-xyz.scm @@ -18,6 +18,7 @@ (define-module (gnu packages scheme-xyz) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages guile) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) @@ -66,3 +67,87 @@ (define-public guile-scheme-json-rpc This package delivers Guile's bytecode for @code{scheme-json-rpc}.") (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") (license license:expat))) + +(define (scheme-lsp-server-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-lsp-server.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-lsp-server + (package + (name "guile-scheme-lsp-server") + (version "0.2.2") + (source + (scheme-lsp-server-origin + name + version + "0lb359gw00w149h5yq2brfrcpybdwdj6ndbl7k1ms88l653r5l2g")) + (build-system gnu-build-system) + (arguments + (list #:modules `((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile"))) + (add-after 'install 'wrap-entrypoint + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (site (string-append #$output + "/share/guile/site")) + (deps (list #$guile-scheme-json-rpc))) + (match (scandir site) + (("." ".." version) + (let ((modules (string-append site "/" + version)) + (compiled-modules (string-append #$output + "/lib/guile/" + version + "/site-ccache"))) + (wrap-program (string-append bin + "/guile-lsp-server") + `("GUILE_LOAD_PATH" ":" + prefix + (,modules + ,@(map (lambda (dep) + (string-append + dep + "/share/guile/site/" + version)) + deps))) + `("GUILE_LOAD_COMPILED_PATH" + ":" prefix + (,compiled-modules + ,@(map (lambda (dep) + (string-append + dep + "/lib/guile/" + version + "/site-ccache")) + deps)))) + #t))))))))) + (native-inputs (list pkg-config)) + (inputs + ;; Depend on the latest Guile to avoid bytecode compatibility issues when + ;; using modules built against the latest version. + (list bash-minimal + guile-3.0-latest)) + (propagated-inputs (list guile-scheme-json-rpc)) + (synopsis "LSP (Language Server Protocol) server for Scheme") + (description + "@code{guile-lsp-server} is an implementation for Guile of the LSP +specification. This software aims to support several Scheme implementations. +To achieve this, the code is designed to contain as much logic as possible in +R7RS Scheme, separating implementation-specific code in different modules. + +This package delivers Guile's implementation for @code{scheme-lsp-server}.") + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") + (license license:expat))) -- 2.38.1 From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 12 16:43:08 2023 Received: (at 60286) by debbugs.gnu.org; 12 Apr 2023 20:43:08 +0000 Received: from localhost ([127.0.0.1]:41894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhJ5-0008OX-VU for submit@debbugs.gnu.org; Wed, 12 Apr 2023 16:43:08 -0400 Received: from confino.investici.org ([93.190.126.19]:35881) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhJ3-0008OO-BX for 60286@debbugs.gnu.org; Wed, 12 Apr 2023 16:43:06 -0400 Received: from 1.mail-backend.investici.org (unknown [10.0.0.11]) by confino.investici.org (Postfix) with ESMTP id 4PxZRC752kz110h for <60286@debbugs.gnu.org>; Wed, 12 Apr 2023 20:43:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1681332184; bh=kp9jF8mUSayxK5/AHYJcv/p6CrFVG5yYqTEfjjvraaI=; h=Date:From:To:Subject:In-Reply-To:References:From; b=TUj4zCSQWgLTgii4cYbrzcQgfLArAE4XRcEeA+kGCwzFCHHM7n9fgJVlTbuXLv+Eb gq09pI1fPTHHAmUlNFtUnidI6QMaNH0fKQcvO99zMtCa0MaubpLlKoq3VJDdg767+Z tSmvE6WlzWLzE+Ljf6T6srXlJe0+ks3Tr7aUR2j8= Received: from 1.webmail.investici.org (localhost [127.0.0.1]) (Authenticated sender: goodoldpaul@autistici.org) by 1.mail-backend.investici.org (Postfix) with ESMTPA id 4PxZRC5sD4z8sm4 for <60286@debbugs.gnu.org>; Wed, 12 Apr 2023 20:43:03 +0000 (UTC) MIME-Version: 1.0 Date: Wed, 12 Apr 2023 20:43:03 +0000 From: goodoldpaul@autistici.org To: 60286@debbugs.gnu.org Subject: Re: [PATCHES] Add guile's implementation for scheme-lsp-server In-Reply-To: References: User-Agent: Roundcube Webmail Message-ID: <44013bc23722fa720268916df79b962c@autistici.org> X-Sender: goodoldpaul@autistici.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dear Guixers, this is a friendly ping :) I'm sending an updated patchset. Thank you for your time and efforts, Giacomo From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 12 16:44:20 2023 Received: (at 60286) by debbugs.gnu.org; 12 Apr 2023 20:44:20 +0000 Received: from localhost ([127.0.0.1]:41899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhKG-0008Qe-9e for submit@debbugs.gnu.org; Wed, 12 Apr 2023 16:44:20 -0400 Received: from confino.investici.org ([93.190.126.19]:47825) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhKE-0008QW-ME for 60286@debbugs.gnu.org; Wed, 12 Apr 2023 16:44:19 -0400 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4PxZSf1QMnz110l; Wed, 12 Apr 2023 20:44:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1681332258; bh=R7aBhXIXNIyVQ6HscR/C+47OtpD06hP4mG9HsTmADL4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RdfUtaWmi8u4EJDNhIS3qy7Ha27BUQlxuhvImMWQfe2Q9ubuaF+BBqMXPFLjaO5uD JkwfeOaYHNsMME7q9r47vzysL/r21PA+ylLPDgJqWLvuo8MyAlZBG7ArO23Tq/FlSv YCIhfXSNmjybUh1RUk+SN0dRJOWek5G/C/maz/5k= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4PxZSf0qWCz110h; Wed, 12 Apr 2023 20:44:18 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [v3 2/2] gnu: Add guile-scheme-lsp-server. Date: Wed, 12 Apr 2023 22:44:02 +0200 Message-Id: <20230412204402.14774-2-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230412204402.14774-1-goodoldpaul@autistici.org> References: <20230412204402.14774-1-goodoldpaul@autistici.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm (guile-scheme-lsp-server): New variable. --- gnu/packages/scheme-xyz.scm | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm index 91ba1e7f5b..3947bf4f92 100644 --- a/gnu/packages/scheme-xyz.scm +++ b/gnu/packages/scheme-xyz.scm @@ -18,6 +18,7 @@ (define-module (gnu packages scheme-xyz) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages guile) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) @@ -66,3 +67,87 @@ (define-public guile-scheme-json-rpc This package delivers Guile's bytecode for @code{scheme-json-rpc}.") (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") (license license:expat))) + +(define (scheme-lsp-server-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-lsp-server.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-lsp-server + (package + (name "guile-scheme-lsp-server") + (version "0.2.2") + (source + (scheme-lsp-server-origin + name + version + "0lb359gw00w149h5yq2brfrcpybdwdj6ndbl7k1ms88l653r5l2g")) + (build-system gnu-build-system) + (arguments + (list #:modules `((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile"))) + (add-after 'install 'wrap-entrypoint + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (site (string-append #$output + "/share/guile/site")) + (deps (list #$guile-scheme-json-rpc))) + (match (scandir site) + (("." ".." version) + (let ((modules (string-append site "/" + version)) + (compiled-modules (string-append #$output + "/lib/guile/" + version + "/site-ccache"))) + (wrap-program (string-append bin + "/guile-lsp-server") + `("GUILE_LOAD_PATH" ":" + prefix + (,modules + ,@(map (lambda (dep) + (string-append + dep + "/share/guile/site/" + version)) + deps))) + `("GUILE_LOAD_COMPILED_PATH" + ":" prefix + (,compiled-modules + ,@(map (lambda (dep) + (string-append + dep + "/lib/guile/" + version + "/site-ccache")) + deps)))) + #t))))))))) + (native-inputs (list pkg-config)) + (inputs + ;; Depend on the latest Guile to avoid bytecode compatibility issues when + ;; using modules built against the latest version. + (list bash-minimal + guile-3.0-latest)) + (propagated-inputs (list guile-scheme-json-rpc)) + (synopsis "LSP (Language Server Protocol) server for Scheme") + (description + "@code{guile-lsp-server} is an implementation for Guile of the LSP +specification. This software aims to support several Scheme implementations. +To achieve this, the code is designed to contain as much logic as possible in +R7RS Scheme, separating implementation-specific code in different modules. + +This package delivers Guile's implementation for @code{scheme-lsp-server}.") + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") + (license license:expat))) -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 12 16:44:24 2023 Received: (at 60286) by debbugs.gnu.org; 12 Apr 2023 20:44:24 +0000 Received: from localhost ([127.0.0.1]:41901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhKJ-0008Qu-Pk for submit@debbugs.gnu.org; Wed, 12 Apr 2023 16:44:24 -0400 Received: from confino.investici.org ([93.190.126.19]:57777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmhKE-0008QV-Ho for 60286@debbugs.gnu.org; Wed, 12 Apr 2023 16:44:20 -0400 Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4PxZSf0ZDqz110j; Wed, 12 Apr 2023 20:44:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=autistici.org; s=stigmate; t=1681332258; bh=8aOrcCpW5u3xTTJ+IuZ2uvAzzaOU/6wstW8jFj8VL8k=; h=From:To:Cc:Subject:Date:From; b=FHEIu01iDnmz6k8nlJ+ckL8r21rBnJSj7JYNIfXEKbe1/7TauG8vbfYrcuc9TItz8 xrW/oQoVk3HsyQgm3odoHVnzFC8y4b74oSfaM1Ff5wFG/JjwgZXPR33jV24rO0vTio gPrgcBOY94aQ0BNt0e3NvU6rIY/+cvlg0OAYCuTM= Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: goodoldpaul@autistici.org) by localhost (Postfix) with ESMTPSA id 4PxZSf00gfz110h; Wed, 12 Apr 2023 20:44:17 +0000 (UTC) From: Giacomo Leidi To: 60286@debbugs.gnu.org Subject: [v3 1/2] gnu: Add guile-scheme-json-rpc. Date: Wed, 12 Apr 2023 22:44:01 +0200 Message-Id: <20230412204402.14774-1-goodoldpaul@autistici.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60286 Cc: Giacomo Leidi X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/scheme-xyz.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/scheme-xyz.scm | 68 +++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/scheme-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index 8088e8170b..7f6cfc4158 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -556,6 +556,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sawfish.scm \ %D%/packages/scanner.scm \ %D%/packages/scheme.scm \ + %D%/packages/scheme-xyz.scm \ %D%/packages/spreadsheet.scm \ %D%/packages/screen.scm \ %D%/packages/scribus.scm \ diff --git a/gnu/packages/scheme-xyz.scm b/gnu/packages/scheme-xyz.scm new file mode 100644 index 0000000000..91ba1e7f5b --- /dev/null +++ b/gnu/packages/scheme-xyz.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Giacomo Leidi +;;; +;;; 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 scheme-xyz) + #:use-module (gnu packages autotools) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix build-system gnu)) + +(define (scheme-json-rpc-origin name version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-json-rpc.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + hash)))) + +(define-public guile-scheme-json-rpc + (package + (name "guile-scheme-json-rpc") + (version "0.2.11") + (source + (scheme-json-rpc-origin + name + version + "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")) + (build-system gnu-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile")))))) + (native-inputs (list pkg-config)) + (inputs (list guile-3.0-latest)) + (synopsis "Implementation of the JSON-RPC for Scheme") + (description + "@code{scheme-json-rpc} allows calling procedures +on remote servers by exchanging JSON objects. It implements the +@url{jsonrpc specifications, https://www.jsonrpc.org/specification}. +The low-level API strives to be R7RS compliant, relying on some SRFI's +when needed. So far it was only tested under CHICKEN 5 and Guile 3. + +This package delivers Guile's bytecode for @code{scheme-json-rpc}.") + (home-page "https://codeberg.org/rgherdt/scheme-json-rpc") + (license license:expat))) base-commit: dd3e5e71104a2bcbad80e52e062a144ea96b8c6a -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 21 15:16:55 2023 Received: (at 60286) by debbugs.gnu.org; 21 Jun 2023 19:16:55 +0000 Received: from localhost ([127.0.0.1]:34221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qC3K3-0000Ib-I7 for submit@debbugs.gnu.org; Wed, 21 Jun 2023 15:16:55 -0400 Received: from mout02.posteo.de ([185.67.36.66]:55729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qC3K0-0000IH-PC for 60286@debbugs.gnu.org; Wed, 21 Jun 2023 15:16:53 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 97F79240101 for <60286@debbugs.gnu.org>; Wed, 21 Jun 2023 21:16:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1687375006; bh=2g3WRdq8BrV//3wYXL3r7oEOiIFF22eQ5kUr+zUp5Lw=; h=MIME-Version:Content-Transfer-Encoding:Date:From:To:Subject: Message-ID:From; b=RNBeiHnFsjMRx1e/r1QnmU9gJ42CDsRTDaNDASeV/ydaswi4tlpr7YkdON4kCUMf6 ci5Yq6rEMpnYUDbjjD01Vxkhd4VN2zHcZ6NuJDD4xaAq8yv1OGs1Msnf/WU1iYX/Dd Pn7WJSNmdCez+9dxPGkNF5y/48AUIDSZkVrgUk/LZrYOTnltc5wyw23tcj1GfATUap NMXvky2qvSkprI5G36d1JIGlpgQskL8Y9X0U3o+VIx4QoRbJ8r3EkWkV9zyFDnCqQC Pvg6wagpI1HtrcZ7JwmpNlbnwc8IYJdwnGryTLew6S/yPTewQhQ3QSyuq43rg+kYJm 7fHgUik0lpGkg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QmYCL0lbwz6tn4 for <60286@debbugs.gnu.org>; Wed, 21 Jun 2023 21:16:45 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 21 Jun 2023 19:16:45 +0000 From: "Ricardo G. Herdt" To: 60286@debbugs.gnu.org Subject: Re: [PATCHES] Add guile's implementation for scheme-lsp-server Message-ID: <826bc5ec20281f371ab62befc19d3b51@posteo.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi I'm submitting a new patch using the already defined guile-scheme-json-rpc as dependency. I also updated tha latter to a new version, since guile-lsp-server now rely on its changes. I moved guile-lsp-server (renamed from guile-scheme-lsp-server) to guile-xyz.scm, is that ok? Regards, Ricardo G. Herdt From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 21 15:27:41 2023 Received: (at 60286) by debbugs.gnu.org; 21 Jun 2023 19:27:41 +0000 Received: from localhost ([127.0.0.1]:34237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qC3US-0000aD-VH for submit@debbugs.gnu.org; Wed, 21 Jun 2023 15:27:41 -0400 Received: from mout02.posteo.de ([185.67.36.66]:44093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qC3UQ-0000Zz-AK for 60286@debbugs.gnu.org; Wed, 21 Jun 2023 15:27:39 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 46C25240101 for <60286@debbugs.gnu.org>; Wed, 21 Jun 2023 21:27:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1687375652; bh=zGHn3dJDNF8flFamvL6KHGU9LAIqFM7fOKJ/qM9kle0=; h=MIME-Version:Content-Transfer-Encoding:Date:From:To:Subject: Message-ID:From; b=FcZf/9tFGSZeifFZSla8XnlncFvFJoY8osMrIhA00rbB2OEEKJb/3ynIJxGmqy1s5 CB1I+jaS7DZdk3t5zBc3NNFKBFdUdufnJmKjvqO28xe+DSa5yHC14b3b9xLfHtBR7C LsmxLNGyJ1rZYMDCfBadxw9gNdlCHc9eHQ5YIJbu1MxVshoSoa8ZysyDGjk03GXwCF geAuR90vcqOxiwJOL6XaLpi2L9Yymt3VXCxzVuO+YQU4A+7bPRPon0AiM1ML6mFTnq RGtIdHgu7zBMc7D9u8S9EAvEBN6afbWgD4J+vijcJmE57KaF83bXmwjJHBNMu8iWFx ij6a2/L7IzBgA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QmYRm0HpHz6tmv for <60286@debbugs.gnu.org>; Wed, 21 Jun 2023 21:27:32 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 21 Jun 2023 19:27:32 +0000 From: "Ricardo G. Herdt" To: 60286@debbugs.gnu.org Subject: Re: [PATCHES] Add guile's implementation for scheme-lsp-server In-Reply-To: <826bc5ec20281f371ab62befc19d3b51@posteo.de> References: <826bc5ec20281f371ab62befc19d3b51@posteo.de> Message-ID: <890f1480abf9e421aa3301a0e857ee2f@posteo.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/guile-xyz.scm: add guile-lsp-server; (guile-scheme-json-rpc): update to 0.4.0, change dependencies Original package author Giacomo Leidi. Adapted to use guile-scheme-json-rpc. --- gnu/packages/guile-xyz.scm | 97 +++++++++++++++++++++++++++++++++++--- 1 file changed, 91 insertions(+), 6 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index db7be432cc..1195e0e328 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1054,9 +1054,9 @@ (define-public guile2.2-sjson (inputs (list guile-2.2)))) (define-public guile-scheme-json-rpc - (let ((commit "45ae6890f6619286f5679f88c094c88127b54c4a") + (let ((commit "50acef7b824e2d23140e48242020f5fdc85cc67d") (revision "0") - (version "0.2.11")) + (version "0.4.0")) (package (name "guile-scheme-json-rpc") (version (git-version version revision commit)) @@ -1068,16 +1068,20 @@ (define-public guile-scheme-json-rpc (file-name (git-file-name name version)) (sha256 (base32 - "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")))) + "0jsampz2ahs18z6yh9b5l3lkj8ycnavs0vg9sjngdj3w3zvrdcvm")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'change-to-guile-dir (lambda _ (chdir "guile")))))) - (inputs (list guile-3.0 guile-json-3)) - (native-inputs (list pkg-config)) - (synopsis "Library providing JSON-RPC capability in Scheme") + (inputs (list guile-3.0 guile-srfi-145 guile-srfi-180)) + (native-inputs (list autoconf + automake + pkg-config + texinfo + guile-3.0)) + (synopsis "Library providing JSON-RPC capability for Guile Scheme") (description "This library implements parts of the @uref{https://www.jsonrpc.org/specification,JSON-RPC specification}, allowing @@ -1085,6 +1089,87 @@ (define-public guile-scheme-json-rpc (home-page "https://codeberg.org/rgherdt/scheme-json-rpc/") (license license:expat)))) +(define-public guile-lsp-server + (package + (name "guile-lsp-server") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/rgherdt/scheme-lsp-server.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04fc76pnl8mrwrjw49xhzs4r0dx2vh4gy2y151p33hahylf5z1xs")))) + (build-system gnu-build-system) + (arguments + (list #:modules `((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'move-to-guile-directory + (lambda _ + (chdir "./guile"))) + (add-after 'install 'wrap-entrypoint + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (site (string-append #$output + "/share/guile/site")) + (deps (list #$guile-scheme-json-rpc))) + (match (scandir site) + (("." ".." version) + (let ((modules (string-append site "/" + version)) + (compiled-modules (string-append #$output + "/lib/guile/" + version + "/site-ccache"))) + (wrap-program (string-append bin + "/guile-lsp-server") + `("GUILE_LOAD_PATH" ":" + prefix + (,modules + ,@(map (lambda (dep) + (string-append + dep + "/share/guile/site/" + version)) + deps))) + `("GUILE_LOAD_COMPILED_PATH" + ":" prefix + (,compiled-modules + ,@(map (lambda (dep) + (string-append + dep + "/lib/guile/" + version + "/site-ccache")) + deps)))) + #t))))))))) + (native-inputs (list pkg-config)) + (inputs + ;; Depend on the latest Guile to avoid bytecode compatibility issues when + ;; using modules built against the latest version. + (list bash-minimal + guile-3.0-latest)) + (propagated-inputs (list guile-irregex + guile-scheme-json-rpc + guile-srfi-145 + guile-srfi-180)) + (synopsis "LSP (Language Server Protocol) server for Scheme") + (description + "@code{guile-lsp-server} is an implementation for Guile of the LSP +specification. This software aims to support several Scheme implementations. +To achieve this, the code is designed to contain as much logic as possible in +R7RS Scheme, separating implementation-specific code in different modules. + +This package delivers Guile's implementation for @code{scheme-lsp-server}.") + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") + (license license:expat))) + (define-public guile-squee (let ((commit "fab9d9590792f3ededd4abd8cfa6be5e56659678") (revision "4")) base-commit: 392f9db97687bfb6195e65a28e1710f22b6cb972 -- 2.40.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 07 05:44:31 2023 Received: (at 60286) by debbugs.gnu.org; 7 Aug 2023 09:44:31 +0000 Received: from localhost ([127.0.0.1]:60609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qSwmt-0008UC-6x for submit@debbugs.gnu.org; Mon, 07 Aug 2023 05:44:31 -0400 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]:39401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qSwmp-0008Tw-8z for 60286@debbugs.gnu.org; Mon, 07 Aug 2023 05:44:30 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id BAF2020005; Mon, 7 Aug 2023 09:44:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=trop.in; s=gm1; t=1691401460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fPrGZNEuDzWqMvhC2XSgzYpplrL4fOgnRNsssTjJNB4=; b=ktvu4VlYncjQj5ZnM8l49QGUwAFWfG1PCPm5wEs6vI467ZHcmTABFbm9bBcRY8v+zD7FFj F9K0/uM0JgpGyb6LLGdxolM/5It/NzKdT0KVDUTC5Hh402FkJxs7tfgd0CMFWiSXUNQslk O2nCG2EpZDrNWy06Ewhi6BjcLK4xXM4+Fq13zbcT7sEkdI6bZtTfSkyjq927VVt1Bgig9h rnjjcBOUlsr1HURnmU28Mzur5DgVXiXjL7kSHRspLF8WopO3VLe5AF16yOflLGZgIbkP43 u9G3dCW+MDUu6MEJpuJ0auqTvzdnrpkrl4AZOBr7tF4vprzsD5O8YtnSjg7Y3A== From: Andrew Tropin To: "Ricardo G. Herdt" , 60286@debbugs.gnu.org Subject: Re: [bug#60286] [PATCHES] Add guile's implementation for scheme-lsp-server In-Reply-To: <890f1480abf9e421aa3301a0e857ee2f@posteo.de> References: <826bc5ec20281f371ab62befc19d3b51@posteo.de> <890f1480abf9e421aa3301a0e857ee2f@posteo.de> Date: Mon, 07 Aug 2023 13:44:15 +0400 Message-ID: <871qgfrxu8.fsf@trop.in> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-GND-Sasl: andrew@trop.in X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 2023-06-21 19:27, Ricardo G. Herdt wrote: Hi Ricardo, thank you very much for the patches and working on guile-lsp-server. > * gnu/packages/guile-xyz.scm: add guile-lsp-server; > (guile-scheme-json-rpc): update to 0.4.0, change dependencies > > Original package author Giacomo Leidi. Adapted to use=20 > guile-scheme-json-rpc. > --- > gnu/packages/guile-xyz.scm | 97 +++++++++++++++++++++++++++++++++++--- > 1 file changed, 91 insertions(+), 6 deletions(-) > > diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm > index db7be432cc..1195e0e328 100644 > --- a/gnu/packages/guile-xyz.scm > +++ b/gnu/packages/guile-xyz.scm > @@ -1054,9 +1054,9 @@ (define-public guile2.2-sjson > (inputs (list guile-2.2)))) > > (define-public guile-scheme-json-rpc > - (let ((commit "45ae6890f6619286f5679f88c094c88127b54c4a") > + (let ((commit "50acef7b824e2d23140e48242020f5fdc85cc67d") For tagged release there is no need for commit and revision, I'll remove them and apply the part of the patch related to guile-scheme-json-rpc version update as separate commit. > (revision "0") > - (version "0.2.11")) > + (version "0.4.0")) > (package > (name "guile-scheme-json-rpc") > (version (git-version version revision commit)) > @@ -1068,16 +1068,20 @@ (define-public guile-scheme-json-rpc > (file-name (git-file-name name version)) > (sha256 > (base32 > -=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")))) > +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > "0jsampz2ahs18z6yh9b5l3lkj8ycnavs0vg9sjngdj3w3zvrdcvm")))) > (build-system gnu-build-system) > (arguments > `(#:phases (modify-phases %standard-phases > (add-after 'unpack 'change-to-guile-dir > (lambda _ > (chdir "guile")))))) > - (inputs (list guile-3.0 guile-json-3)) > - (native-inputs (list pkg-config)) > - (synopsis "Library providing JSON-RPC capability in Scheme") > + (inputs (list guile-3.0 guile-srfi-145 guile-srfi-180)) > + (native-inputs (list autoconf > + automake > + pkg-config > + texinfo > + guile-3.0)) auto tools is already provided by gnu-build-system, no need to provide them one more time. I don't see any texi docs, so probably texinfo is not needed. Also guile-3.0 in native (build host side) inputs also not needed. Removed. > + (synopsis "Library providing JSON-RPC capability for Guile=20 > Scheme") > (description > "This library implements parts of the > @uref{https://www.jsonrpc.org/specification,JSON-RPC specification},=20 > allowing > @@ -1085,6 +1089,87 @@ (define-public guile-scheme-json-rpc > (home-page "https://codeberg.org/rgherdt/scheme-json-rpc/") > (license license:expat)))) > > +(define-public guile-lsp-server > + (package > + (name "guile-lsp-server") > + (version "0.4.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://codeberg.org/rgherdt/scheme-lsp-server.git") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "04fc76pnl8mrwrjw49xhzs4r0dx2vh4gy2y151p33hahylf5z1xs")))) > + (build-system gnu-build-system) > + (arguments > + (list #:modules `((ice-9 match) > + (ice-9 ftw) > + ,@%gnu-build-system-modules) > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'move-to-guile-directory > + (lambda _ > + (chdir "./guile"))) > + (add-after 'install 'wrap-entrypoint > + (lambda _ > + (let* ((bin (string-append #$output "/bin")) > + (site (string-append #$output > + "/share/guile/site")) > + (deps (list #$guile-scheme-json-rpc))) It's better to use (assoc-ref inputs ...) here, because #$guile-scheme-json-rpc will hardcode the exact package and if someone will try to inherit from guile-lsp-server and override guile-scheme-json-rpc input, it won't make a desired effect and hardcoded version of guile-scheme-json-rpc will be used. Also, guile-lsp-server executable doesn't run, it's very likely that other required dependencies are missing here in the deps variable. > + (match (scandir site) > + (("." ".." version) > + (let ((modules (string-append site "/" > + version)) > + (compiled-modules (string-append #$output > + "/lib/guile/" > + version > + "/site-ccache"))) > + (wrap-program (string-append bin > + "/guile-lsp-server") > + `("GUILE_LOAD_PATH" ":" > + prefix > + (,modules > + ,@(map (lambda (dep) > + (string-append > + dep > +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20 > "/share/guile/site/" > + version)) > + deps))) > + `("GUILE_LOAD_COMPILED_PATH" > + ":" prefix > + (,compiled-modules > + ,@(map (lambda (dep) > + (string-append > + dep > + "/lib/guile/" > + version > + "/site-ccache")) > + deps)))) > + #t))))))))) > + (native-inputs (list pkg-config)) > + (inputs > + ;; Depend on the latest Guile to avoid bytecode compatibility=20 > issues when > + ;; using modules built against the latest version. > + (list bash-minimal > + guile-3.0-latest)) > + (propagated-inputs (list guile-irregex > + guile-scheme-json-rpc > + guile-srfi-145 > + guile-srfi-180)) For standalone programs like guile-lsp-server, where we manually construct GUILE_LOAD_PATH it's not needed to propagate dependencies in the profile, where package is installed. It should be just inputs. > + (synopsis "LSP (Language Server Protocol) server for Scheme") > + (description > + "@code{guile-lsp-server} is an implementation for Guile of the LSP > +specification. This software aims to support several Scheme=20 > implementations. > +To achieve this, the code is designed to contain as much logic as=20 > possible in > +R7RS Scheme, separating implementation-specific code in different=20 > modules. > + > +This package delivers Guile's implementation for=20 > @code{scheme-lsp-server}.") > + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") > + (license license:expat))) > + > (define-public guile-squee > (let ((commit "fab9d9590792f3ededd4abd8cfa6be5e56659678") > (revision "4")) > > base-commit: 392f9db97687bfb6195e65a28e1710f22b6cb972 Applied first part of the patch, pushed as https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3D56667ee55c Please update the guile-lsp-server package definition to make it work (right now package builds, but executable fails to run). P.S. Thanks to Giacomo for spinning up this thread! =2D-=20 Best regards, Andrew Tropin --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmTQvO8ACgkQIgjSCVjB 3rB3OA//XWLcJNEGDTVrOqrU/mx662Qly/R+gy1tzAq7oUrFosW4WMUQMW/ZeAfZ STAoXyuH9bAXZ4iViTNc0/D96GMPK7dRWCwdK4+dFQtU9KWNSuNIBK+FPl4nDR3G Ya4ekE7PrwM4wy1xGGzYvn4PptfXdB5Z1TpmQQFqIYsyYpk1sX5du8QNNxcJgB6w ZJIyFAxUe9Bp+GnV8pCyCf8fRIB8liKtmzjqSSc7weQ2ghiinn345CdfqG8lcr8H qviJ1carqOdUxI9vrxr2xVOY+imG3zM/bMcEOuhnaE1W2JBSCiQ8tlVR84wGOwTK KRKHzjt7Z6YxBuvtger2OJCupKHNv0MG0Ztqsgm2sr5Z4ysHJlL4mr+8ioJPUdvS eMcy4MdB+mneKr0San8faxgWkRizkJOcm1ShEiR5zDXnlG8tQx7x2eljnBb6oOfv Na65usBxyV9J3spI9ErMZno37hhI8pV2ke2aCUq/BkZ+KoBRjTCyl7hRH8Ot3Wt+ DdaM+aKodQD4tHWnVQgOQzoBcc3NsfVEVCxA63opOzpFUOqL6zZaIMY2MgU/o19q 0SpXtgBQscJhqoYYe9WJvDt9TwxaPOkRaZHVhDBHFp0/cN2t/nhttAvZk8qdAP4D I4Sf+Q0igYK1RjPOelqUOeXtczlI3HOxQLJpDYPXPo5WAwz/j1o= =vEuU -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 05 00:02:04 2023 Received: (at 60286) by debbugs.gnu.org; 5 Sep 2023 04:02:04 +0000 Received: from localhost ([127.0.0.1]:53120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qdNGN-0005Ay-O8 for submit@debbugs.gnu.org; Tue, 05 Sep 2023 00:02:04 -0400 Received: from mx1.riseup.net ([198.252.153.129]:38154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qdNGK-0005AS-HD for 60286@debbugs.gnu.org; Tue, 05 Sep 2023 00:02:02 -0400 Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4RfsJf4dsDzDr24 for <60286@debbugs.gnu.org>; Tue, 5 Sep 2023 04:01:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1693886514; bh=u1QKZ7dGPMLZavzkzzFtaxUD94gBWcyqguqCW5gcVkM=; h=From:To:Cc:Subject:Date:From; b=IkOr5TloXUpYfAXDR31kFCFlvLz+UAQXSaYzYL3EEFobOOQWu6Ee1ZcJcagKrlE12 AQ0uRNLVbHucuQDYUYuC2+4cgr51Y5NU+dk7RQfOq/uCGpBTnXhcGu/0PzhqqFhbFX O4WcXD3qyLNwxbjGsxuaAAMWHIBtFBsvlhMTaqUw= X-Riseup-User-ID: 4C290A99E385649CA637DB46D20B252D9F783F36C0E063FE2293101775F88F02 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4RfsJd6W01zJnsk; Tue, 5 Sep 2023 04:01:53 +0000 (UTC) From: Distopico To: 60286@debbugs.gnu.org Subject: [PATCH v2] gnu: Add emacs-flymake-guile. Date: Mon, 4 Sep 2023 22:59:43 -0500 Message-ID: <20230905040053.8453-1-distopico@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 60286 Cc: Distopico X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >From v1 -> v2 remove flymake-quickdef dependency and update version. * gnu/packages/emacs-xyz.scm (emacs-flymake-guile): New variable. --- * gnu/packages/emacs-xyz.scm (emacs-flymake-guile): New variable. gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3eaf215134..0d07235659 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -132,6 +132,7 @@ ;;; Copyright © 2023 Fabio Natali ;;; Copyright © 2023 Arnaud Lechevallier ;;; Copyright © 2023 Ahmad Draidi +;;; Copyright © 2023 Camilo Q.S. (Distopico) ;;; ;;; This file is part of GNU Guix. ;;; @@ -2497,6 +2498,29 @@ (define-public emacs-flymake-collection modes.") (license license:expat))) +(define-public emacs-flymake-guile + (package + (name "emacs-flymake-guile") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://framagit.org/flymake-backends/flymake-guile.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06x237qhvnbyxngbqinjg417n341h652jkagr1a5whximlsaw2c8")))) + (build-system emacs-build-system) + (home-page "https://framagit.org/flymake-backends/flymake-guile") + (synopsis "GNU Guile support for Flymake") + (description + "This package provides a Flymake backend for GNU Guile using @code{guild +compile}.") + (license license:gpl3+))) + (define-public emacs-flymake-popon (package (name "emacs-flymake-popon") -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 17 04:30:09 2023 Received: (at 60286) by debbugs.gnu.org; 17 Sep 2023 08:30:09 +0000 Received: from localhost ([127.0.0.1]:49020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhnAO-0000sk-UP for submit@debbugs.gnu.org; Sun, 17 Sep 2023 04:30:09 -0400 Received: from mout02.posteo.de ([185.67.36.66]:38329) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhnAL-0000qe-5f for 60286@debbugs.gnu.org; Sun, 17 Sep 2023 04:30:07 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 713E1240101 for <60286@debbugs.gnu.org>; Sun, 17 Sep 2023 10:29:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1694939391; bh=DLWdTiCth35CZTXMvin8o268DCRkbl+iaVYWZVIw5bA=; h=MIME-Version:Content-Transfer-Encoding:Date:From:To:Subject: Message-ID:From; b=XxrO0ExtlA4ybFzrl19LDg7vfh08bCYjVO1GnTIp4rMssav0bvS+IMakH+iyUELBO hh7pgr5HG2InwNyErv8Qlzjgn45hciB+rMt0+DOUrSLiaqC/YOSf3E2qm/jLwdb4HV wTm5SyQPXS9NnUaFkJBuyLnULA3tflScC9c2/RIBJVhkEoP03dFokQksTBrslKRH3K 6+RhJJ7g71zarEpdE4gfej8Q3ORblwdT4biIcmFfXcALXb5EFO49O7uK1k4o7MRDks aRFvrE4q4S9Qm3EaBxV8DRWTpGPwyS8xSAPw8LaZokBmuLscmrWD1S9ZKPs5PaXwPw 8a5zFlP0fi8ZQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RpLhH0VG8z9rxF for <60286@debbugs.gnu.org>; Sun, 17 Sep 2023 10:29:50 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sun, 17 Sep 2023 08:29:50 +0000 From: "Ricardo G. Herdt" To: 60286@debbugs.gnu.org Subject: Re: [bug#60286] [PATCHES] Add guile's implementation for scheme-lsp-server In-Reply-To: <871qgfrxu8.fsf@trop.in> References: <826bc5ec20281f371ab62befc19d3b51@posteo.de> <890f1480abf9e421aa3301a0e857ee2f@posteo.de> <871qgfrxu8.fsf@trop.in> Message-ID: <64b9e6079f9ce79d7abecd452059bbce@posteo.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60286 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Andrew, Thanks for the feedback. Could you please show the error you get when running guile-lsp-server? I'm using Guix on top of Debian, and running `guile-lsp-server` with the prefixes set works: GUILE_LOAD_PATH=...:${HOME}/.guix-profile/share/guile/site/3.0/ GUILE_LOAD_COMPILED_PATH=...:${HOME}/.guix-profile/lib/guile/3.0/site-ccache ./guile-lsp-server --version Regards, Ricardo Am 07.08.2023 11:44 schrieb Andrew Tropin: > On 2023-06-21 19:27, Ricardo G. Herdt wrote: > > Hi Ricardo, thank you very much for the patches and working on > guile-lsp-server. > >> * gnu/packages/guile-xyz.scm: add guile-lsp-server; >> (guile-scheme-json-rpc): update to 0.4.0, change dependencies >> >> Original package author Giacomo Leidi. Adapted to use >> guile-scheme-json-rpc. >> --- >> gnu/packages/guile-xyz.scm | 97 >> +++++++++++++++++++++++++++++++++++--- >> 1 file changed, 91 insertions(+), 6 deletions(-) >> >> diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm >> index db7be432cc..1195e0e328 100644 >> --- a/gnu/packages/guile-xyz.scm >> +++ b/gnu/packages/guile-xyz.scm >> @@ -1054,9 +1054,9 @@ (define-public guile2.2-sjson >> (inputs (list guile-2.2)))) >> >> (define-public guile-scheme-json-rpc >> - (let ((commit "45ae6890f6619286f5679f88c094c88127b54c4a") >> + (let ((commit "50acef7b824e2d23140e48242020f5fdc85cc67d") > > For tagged release there is no need for commit and revision, I'll > remove > them and apply the part of the patch related to guile-scheme-json-rpc > version update as separate commit. > >> (revision "0") >> - (version "0.2.11")) >> + (version "0.4.0")) >> (package >> (name "guile-scheme-json-rpc") >> (version (git-version version revision commit)) >> @@ -1068,16 +1068,20 @@ (define-public guile-scheme-json-rpc >> (file-name (git-file-name name version)) >> (sha256 >> (base32 >> - >> "0w4m8xx8yyj0rv0q57mjr8ja87l7yikscj33i3ck26wg7230ppa5")))) >> + >> "0jsampz2ahs18z6yh9b5l3lkj8ycnavs0vg9sjngdj3w3zvrdcvm")))) >> (build-system gnu-build-system) >> (arguments >> `(#:phases (modify-phases %standard-phases >> (add-after 'unpack 'change-to-guile-dir >> (lambda _ >> (chdir "guile")))))) >> - (inputs (list guile-3.0 guile-json-3)) >> - (native-inputs (list pkg-config)) >> - (synopsis "Library providing JSON-RPC capability in Scheme") >> + (inputs (list guile-3.0 guile-srfi-145 guile-srfi-180)) >> + (native-inputs (list autoconf >> + automake >> + pkg-config >> + texinfo >> + guile-3.0)) > > auto tools is already provided by gnu-build-system, no need to provide > them one more time. I don't see any texi docs, so probably texinfo is > not needed. Also guile-3.0 in native (build host side) inputs also not > needed. Removed. > >> + (synopsis "Library providing JSON-RPC capability for Guile >> Scheme") >> (description >> "This library implements parts of the >> @uref{https://www.jsonrpc.org/specification,JSON-RPC specification}, >> allowing >> @@ -1085,6 +1089,87 @@ (define-public guile-scheme-json-rpc >> (home-page "https://codeberg.org/rgherdt/scheme-json-rpc/") >> (license license:expat)))) >> >> +(define-public guile-lsp-server >> + (package >> + (name "guile-lsp-server") >> + (version "0.4.0") >> + (source >> + (origin >> + (method git-fetch) >> + (uri (git-reference >> + (url >> "https://codeberg.org/rgherdt/scheme-lsp-server.git") >> + (commit version))) >> + (file-name (git-file-name name version)) >> + (sha256 >> + (base32 >> + "04fc76pnl8mrwrjw49xhzs4r0dx2vh4gy2y151p33hahylf5z1xs")))) >> + (build-system gnu-build-system) >> + (arguments >> + (list #:modules `((ice-9 match) >> + (ice-9 ftw) >> + ,@%gnu-build-system-modules) >> + #:phases >> + #~(modify-phases %standard-phases >> + (add-after 'unpack 'move-to-guile-directory >> + (lambda _ >> + (chdir "./guile"))) >> + (add-after 'install 'wrap-entrypoint >> + (lambda _ >> + (let* ((bin (string-append #$output "/bin")) >> + (site (string-append #$output >> + "/share/guile/site")) >> + (deps (list #$guile-scheme-json-rpc))) > > It's better to use (assoc-ref inputs ...) here, because > #$guile-scheme-json-rpc will hardcode the exact package and if someone > will try to inherit from guile-lsp-server and override > guile-scheme-json-rpc input, it won't make a desired effect and > hardcoded version of guile-scheme-json-rpc will be used. > > Also, guile-lsp-server executable doesn't run, it's very likely that > other required dependencies are missing here in the deps variable. > >> + (match (scandir site) >> + (("." ".." version) >> + (let ((modules (string-append site "/" >> + version)) >> + (compiled-modules (string-append >> #$output >> + "/lib/guile/" >> + version >> + "/site-ccache"))) >> + (wrap-program (string-append bin >> + "/guile-lsp-server") >> + `("GUILE_LOAD_PATH" ":" >> + prefix >> + (,modules >> + ,@(map (lambda (dep) >> + (string-append >> + dep >> + >> "/share/guile/site/" >> + version)) >> + deps))) >> + `("GUILE_LOAD_COMPILED_PATH" >> + ":" prefix >> + (,compiled-modules >> + ,@(map (lambda (dep) >> + (string-append >> + dep >> + "/lib/guile/" >> + version >> + "/site-ccache")) >> + deps)))) >> + #t))))))))) >> + (native-inputs (list pkg-config)) >> + (inputs >> + ;; Depend on the latest Guile to avoid bytecode compatibility >> issues when >> + ;; using modules built against the latest version. >> + (list bash-minimal >> + guile-3.0-latest)) >> + (propagated-inputs (list guile-irregex >> + guile-scheme-json-rpc >> + guile-srfi-145 >> + guile-srfi-180)) > > For standalone programs like guile-lsp-server, where we manually > construct GUILE_LOAD_PATH it's not needed to propagate dependencies in > the profile, where package is installed. It should be just inputs. > >> + (synopsis "LSP (Language Server Protocol) server for Scheme") >> + (description >> + "@code{guile-lsp-server} is an implementation for Guile of the >> LSP >> +specification. This software aims to support several Scheme >> implementations. >> +To achieve this, the code is designed to contain as much logic as >> possible in >> +R7RS Scheme, separating implementation-specific code in different >> modules. >> + >> +This package delivers Guile's implementation for >> @code{scheme-lsp-server}.") >> + (home-page "https://codeberg.org/rgherdt/scheme-lsp-server") >> + (license license:expat))) >> + >> (define-public guile-squee >> (let ((commit "fab9d9590792f3ededd4abd8cfa6be5e56659678") >> (revision "4")) >> >> base-commit: 392f9db97687bfb6195e65a28e1710f22b6cb972 > > Applied first part of the patch, pushed as > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=56667ee55c > > Please update the guile-lsp-server package definition to make it work > (right now package builds, but executable fails to run). > > P.S. Thanks to Giacomo for spinning up this thread!