From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id WKjxCBhYk2RPRgEASxT56A (envelope-from ) for ; Wed, 21 Jun 2023 22:05:44 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 6OvNCBhYk2T6PAAA9RJhRA (envelope-from ) for ; Wed, 21 Jun 2023 22:05:44 +0200 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 BD9DF2F87C for ; Wed, 21 Jun 2023 22:05:43 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.de header.s=2017 header.b="FcZf/9tF"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.de (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1687377943; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=1GhFMcniYYY5Ac8Rh0zzUBeEzuW4QMRkfhX6VAEwD0g=; b=WQATAkYgLBZWBsfntctKqVP85ymILDDVUruDBe8CCxjFmHFt68nTAT7+cnO+drxSkUMBJ1 IhNM0LaPMBPAZEEUxli+Hp3WipumdfMCdt406zAvkS0/RUr8TdHCchagNdalGPzrkWNFE+ WWGiTARfZVQuYac1LS80z556cWl+LJFed6OnNCoMA8EQxrn9UHu99F+J0emTL0ZK+93o+j pGEANNJYibkh5D/kIZkq7kjrly6xbeW8M8U9vcF5J2L8FlEpSSDJTMoyqltyLxqNVxuA4w 26h4j941hZ2xQc9koA++HlcFt5Wk1myvYYY9zp3OMDRzdInGFNBlplft8zewYg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.de header.s=2017 header.b="FcZf/9tF"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.de (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1687377943; a=rsa-sha256; cv=none; b=laRlcZZjIM4YylAHOGHwyN19+cZnBiVpojxFHsl6s2k6/FqcZ19WUonbImBDXfpid0ekKl X9QtMWVBwtSQY2wc58Ai+izw3b1cT0BSsBrQglkLTlpR8vb2JXDaFf+w9RMRX+8s1nWzcW XBrfIUUW9Yz5Yt3a8biV572ETdAmiCgLt6OrBN+McYxm/3ax/XUqPAI0DS0aBKcG4CPud1 07kVxFA5HbXR3VI9GTGxNGsAhTcHTirvGLLeXvYZCYirEApTWZxRx9KbccV5RGTeyZyQnh qQ9uePQ95OnHC0+10aa3QOoiCLiYMiKVd01yORVmZeYqSzImfqZzxp2EzKeRUw== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qC459-0000H0-PU; Wed, 21 Jun 2023 16:05:35 -0400 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 1qC3Uo-00064T-9i for guix-patches@gnu.org; Wed, 21 Jun 2023 15:28:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qC3Uo-00057S-12 for guix-patches@gnu.org; Wed, 21 Jun 2023 15:28:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qC3Un-0000at-To for guix-patches@gnu.org; Wed, 21 Jun 2023 15:28:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#60286] [PATCHES] Add guile's implementation for scheme-lsp-server Resent-From: "Ricardo G. Herdt" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 21 Jun 2023 19:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60286 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60286@debbugs.gnu.org Received: via spool by 60286-submit@debbugs.gnu.org id=B60286.16873756612250 (code B ref 60286); Wed, 21 Jun 2023 19:28:01 +0000 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" In-Reply-To: <826bc5ec20281f371ab62befc19d3b51@posteo.de> References: <826bc5ec20281f371ab62befc19d3b51@posteo.de> Message-ID: <890f1480abf9e421aa3301a0e857ee2f@posteo.de> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Wed, 21 Jun 2023 16:05:30 -0400 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -1.95 X-Spam-Score: -1.95 X-Migadu-Queue-Id: BD9DF2F87C X-TUID: G7Cy7B+a8xf3 * 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