From patchwork Wed Jun 21 19:27:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ricardo G. Herdt" X-Patchwork-Id: 51156 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 35C4227BBEA; Wed, 21 Jun 2023 21:05:45 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9466227BBE2 for ; Wed, 21 Jun 2023 21:05:43 +0100 (BST) 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 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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(-) (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 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")