[Patch] gnu: Add tree-sitter-yaml.

  • Open
  • quality assurance status badge
Details
5 participants
  • Andrew Tropin
  • Hilton Chain
  • Emma Turner
  • Nicolas Graves
  • Olivier Rojon
Owner
unassigned
Submitted by
Emma Turner
Severity
normal

Debbugs page

E
E
Emma Turner wrote on 29 Oct 2023 13:47
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
5Vd2H2MDjpVPQxgawXDNnlt9fABkK8GbS0UOOARnZcHtkl9IJ0iUJjC8YXeO5g4MJ8zAs5c03prTh2cH2bgifUrvfgyuHHrZEzSmHfumWHo=@emturner.co.uk
* gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.

Change-Id: Id48040eee325b0cdb435d8693caf48c9654cf14c
---
gnu/packages/tree-sitter.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 41257d42f1..608f8b6519 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
+;;; Copyright © 2023 Emma Turner <mail@emturner.co.uk>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -629,3 +630,11 @@ (define-public tree-sitter-scala
"scala" "Scala"
"0hs6gmkq5cx9qrmgfz1mh0c34flwffc0k2mhwf13laawswnywfkz"
"0.20.2"))
+
+(define-public tree-sitter-yaml
+ (tree-sitter-grammar
+ "yaml" "Yaml"
+ "1ay4snkd2s4pid7pcr4bgx0y9cj7b5vlgd7wfc1j0896l0p61cjb"
+ "0.5.0"
+ #:repository-url "https://github.com/emturner/tree-sitter-yaml"
+ #:commit "f53859209fef065b677995802842a2b65314defb"))

base-commit: 2b5c6e1a41e4ddcf4cfa53a319ed784a856eac5d
--2.41.0
Attachment: file
H
H
Hilton Chain wrote on 4 Nov 2023 05:15
(name . Emma Turner)(address . mail@emturner.co.uk)(address . 66836@debbugs.gnu.org)
87pm0pww8j.wl-hako@ultrarare.space
Hi Emma,

On Mon, 30 Oct 2023 04:47:34 +0800,
Emma Turner via Guix-patches via wrote:
Toggle quote (40 lines)
>
> [1 <text/plain; utf-8 (base64)>]
> [2 <text/html; utf-8 (base64)>]
> * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.
>
> Change-Id: Id48040eee325b0cdb435d8693caf48c9654cf14c
> ---
> gnu/packages/tree-sitter.scm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
> index 41257d42f1..608f8b6519 100644
> --- a/gnu/packages/tree-sitter.scm
> +++ b/gnu/packages/tree-sitter.scm
> @@ -7,6 +7,7 @@
> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
> ;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
> +;;; Copyright © 2023 Emma Turner <mail@emturner.co.uk>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -629,3 +630,11 @@ (define-public tree-sitter-scala
> "scala" "Scala"
> "0hs6gmkq5cx9qrmgfz1mh0c34flwffc0k2mhwf13laawswnywfkz"
> "0.20.2"))
> +
> +(define-public tree-sitter-yaml
> + (tree-sitter-grammar
> + "yaml" "Yaml"
> + "1ay4snkd2s4pid7pcr4bgx0y9cj7b5vlgd7wfc1j0896l0p61cjb"
> + "0.5.0"
> + #:repository-url "https://github.com/emturner/tree-sitter-yaml"
> + #:commit "f53859209fef065b677995802842a2b65314defb"))
>
> base-commit: 2b5c6e1a41e4ddcf4cfa53a319ed784a856eac5d
> --
> 2.41.0


There seem to be formatting issue in your patch, making the last two lines
embedded into one: "--2.41.0". You can have a look at it in [1].

I think your changes can be shipped as a patch with Guix. Maybe you can open a
PR to upstream as well? :)

I have modified your commit since we don't have to clone the submodule and
generated files in src/ are deleted. I will send v2 for the change.

Thanks
---
H
H
Hilton Chain wrote on 4 Nov 2023 05:22
[PATCH v2] gnu: Add tree-sitter-yaml.
(address . 66836@debbugs.gnu.org)
75280a68b4a63e51c429b5747a5bb27760f5dccb.1699099224.git.hako@ultrarare.space
From: Emma Turner <mail@emturner.co.uk>

* gnu/packages/patches/tree-sitter-yaml-fix-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Change-Id: I45a4a843ecee9dfa580eeaa352f1354915f83881
---
gnu/local.mk | 1 +
.../patches/tree-sitter-yaml-fix-tests.patch | 690 ++++++++++++++++++
gnu/packages/tree-sitter.scm | 15 +
3 files changed, 706 insertions(+)
create mode 100644 gnu/packages/patches/tree-sitter-yaml-fix-tests.patch

Toggle diff (697 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8d817379a7..a5b5afd84b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2045,6 +2045,7 @@ dist_patch_DATA = \
%D%/packages/patches/tofi-32bit-compat.patch \
%D%/packages/patches/tpetra-remove-duplicate-using.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
+ %D%/packages/patches/tree-sitter-yaml-fix-tests.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
diff --git a/gnu/packages/patches/tree-sitter-yaml-fix-tests.patch b/gnu/packages/patches/tree-sitter-yaml-fix-tests.patch
new file mode 100644
index 0000000000..c658729bab
--- /dev/null
+++ b/gnu/packages/patches/tree-sitter-yaml-fix-tests.patch
@@ -0,0 +1,690 @@
+From 67e0bec12812921672776cf2dd8dfa79e27f6360 Mon Sep 17 00:00:00 2001
+From: Emma Turner <mail@emturner.co.uk>
+Date: Sun, 29 Oct 2023 16:40:30 +0000
+Subject: [PATCH] fix tests for tree-sitter 0.20.8
+
+---
+ corpus/spec.txt | 492 +++++++++++++++++++-----------------------------
+ 1 file changed, 194 insertions(+), 298 deletions(-)
+
+diff --git a/corpus/spec.txt b/corpus/spec.txt
+index ca75d12..8b64bc4 100644
+--- a/corpus/spec.txt
++++ b/corpus/spec.txt
+@@ -654,23 +654,16 @@ map:
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (double_quote_scalar)))
+- (ERROR))))))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (double_quote_scalar))))
+
+ ================================================================================
+ Bad indentation in mapping [INVALID]
+@@ -981,17 +974,13 @@ block scalar: >
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (block_node
+- (block_scalar)))
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (block_node
++ (block_scalar))))
+
+ ================================================================================
+ Block Sequence in Block Mapping
+@@ -1212,19 +1201,15 @@ key: word1
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (comment)
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (comment))
+
+ ================================================================================
+ Comment that looks like a mapping key [INVALID]
+@@ -1234,22 +1219,18 @@ this is #not a: key
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (comment)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (comment))
+
+ ================================================================================
+ Comment without whitespace after block scalar indicator [INVALID]
+@@ -1415,15 +1396,10 @@ key: "missing closing quote
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR)))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Doublequoted scalar starting with a tab
+@@ -2116,8 +2092,10 @@ Invalid document markers in flow style [INVALID]
+
+ --------------------------------------------------------------------------------
+
+-(ERROR
+- (string_scalar))
++(stream
++ (ERROR)
++ (document)
++ (MISSING _eof))
+
+ ================================================================================
+ Invalid document-end marker in single quoted string [INVALID]
+@@ -2192,8 +2170,7 @@ invalid: x
+ (string_scalar))))
+ (flow_node
+ (plain_scalar
+- (string_scalar)))
+- (string_scalar))
++ (string_scalar))))
+
+ ================================================================================
+ Invalid mapping in plain multiline [INVALID]
+@@ -2270,20 +2247,14 @@ invalid
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_sequence
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (string_scalar))))))
++(ERROR
++ (block_sequence_item
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Invalid scalar at the end of mapping [INVALID]
+@@ -2295,28 +2266,24 @@ invalid
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
++(ERROR
++ (block_mapping_pair
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
+ (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
++ (block_sequence
++ (block_sequence_item
++ (flow_node
+ (plain_scalar
+- (string_scalar)))
+- value: (block_node
+- (block_sequence
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar)))))))
+- (ERROR
++ (string_scalar))))
++ (block_sequence_item
+ (flow_node
+ (plain_scalar
+- (string_scalar))))))))
++ (string_scalar)))))))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Invalid scalar at the end of sequence [INVALID]
+@@ -2328,26 +2295,17 @@ key:
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (block_node
+- (block_sequence
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (block_sequence_item
+- (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (string_scalar)))))))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (block_sequence_item
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Invalid sequene item on same line as previous item [INVALID]
+@@ -2420,21 +2378,17 @@ invalid
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (flow_node
+- (plain_scalar
+- (string_scalar))))))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Key with anchor after missing explicit mapping value
+@@ -2507,17 +2461,13 @@ block scalar: |
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (block_node
+- (block_scalar)))
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (block_node
++ (block_scalar))))
+
+ ================================================================================
+ Literal unicode
+@@ -2647,27 +2597,23 @@ top2
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (block_node
+ (block_mapping
+ (block_mapping_pair
+ key: (flow_node
+ (plain_scalar
+ (string_scalar)))
+- value: (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar)))))))
+- (ERROR
+- (flow_node
++ value: (flow_node
+ (plain_scalar
+- (string_scalar))))))))
++ (string_scalar)))))))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Missing comma in flow [INVALID]
+@@ -2678,19 +2624,14 @@ key: [ word1
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (flow_node
+- (plain_scalar
+- (string_scalar)))
+- (comment))))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (comment))
+
+ ================================================================================
+ Missing document-end marker before directive [INVALID]
+@@ -2703,17 +2644,11 @@ scalar2
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document)
+- (ERROR
+- (flow_node
+- (plain_scalar
+- (string_scalar)))
+- (comment))
+- (document
+- (flow_node
+- (plain_scalar
+- (string_scalar)))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (comment))
+
+ ================================================================================
+ Missing space in YAML directive
+@@ -2924,18 +2859,14 @@ Multiline double quoted implicit keys [INVALID]
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (double_quote_scalar
+- (escape_sequence)))
+- value: (flow_node
+- (plain_scalar
+- (integer_scalar))))
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (double_quote_scalar
++ (escape_sequence)))
++ value: (flow_node
++ (plain_scalar
++ (integer_scalar)))))
+
+ ================================================================================
+ Multiline doublequoted flow mapping key without value
+@@ -3207,17 +3138,13 @@ Multiline single quoted implicit keys [INVALID]
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (single_quote_scalar))
+- value: (flow_node
+- (plain_scalar
+- (integer_scalar))))
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (single_quote_scalar))
++ value: (flow_node
++ (plain_scalar
++ (integer_scalar)))))
+
+ ================================================================================
+ Multiple Entry Block Sequence
+@@ -3529,19 +3456,16 @@ key: &x
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (anchor
+- (anchor_name))))
+- (ERROR
+- (tag))))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (anchor
++ (anchor_name))))
++ (flow_node
++ (tag)))
+
+ ================================================================================
+ Node and Mapping Key Anchors
+@@ -3922,40 +3846,34 @@ top2: &node2
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (block_node
++ (anchor
++ (anchor_name))
+ (block_mapping
+ (block_mapping_pair
+ key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (block_node
+ (anchor
+ (anchor_name))
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (anchor
+- (anchor_name))
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar)))))))
+- (block_mapping_pair
+- key: (flow_node
+ (plain_scalar
+ (string_scalar)))
+ value: (flow_node
+- (anchor
+- (anchor_name))))
+- (ERROR
+- (flow_node
+- (anchor
+- (anchor_name))
+ (plain_scalar
+- (string_scalar))))))))
++ (string_scalar)))))))
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (anchor
++ (anchor_name))
++ (flow_node
++ (anchor
++ (anchor_name))
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Scalars on --- line
+@@ -8728,19 +8646,15 @@ plain: a
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (comment)
+- (ERROR)))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++ (string_scalar)))
++ value: (flow_node
++ (plain_scalar
++ (string_scalar))))
++ (comment))
+
+ ================================================================================
+ Trailing content after quoted value [INVALID]
+@@ -9607,20 +9521,13 @@ c]
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (flow_node
+- (plain_scalar
+- (string_scalar)))
+- (string_scalar)
+- (string_scalar))))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar)))
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Wrong indented multiline quoted scalar [INVALID]
+@@ -9632,17 +9539,10 @@ c"
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (document
+- (block_node
+- (block_mapping
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar))))
+- (ERROR
+- (string_scalar)
+- (string_scalar))))))
++(ERROR
++ (flow_node
++ (plain_scalar
++ (string_scalar))))
+
+ ================================================================================
+ Wrong indented sequence item [INVALID]
+@@ -9671,18 +9571,14 @@ key: value
+
+ --------------------------------------------------------------------------------
+
+-(stream
+- (ERROR
+- (block_mapping_pair
+- key: (flow_node
+- (plain_scalar
+- (string_scalar)))
+- value: (flow_node
+- (plain_scalar
+- (string_scalar)))))
+- (document
+- (yaml_directive
+- (yaml_version))))
++(ERROR
++ (block_mapping_pair
++ key: (flow_node
++ (plain_scalar
++
This message was truncated. Download the full message here.
E
E
Emma Turner wrote on 4 Nov 2023 11:05
Re: [bug#66836] [Patch] gnu: Add tree-sitter-yaml.
(address . hako@ultrarare.space)(address . 66836@debbugs.gnu.org)
HYeYPycfx13kpW36HJDuz2Nxhl6Iic_vPjmBEDYpfW5OtftxkyIfmbVxNd1KGy5RnT-pvkv259PQH38MXBnD0sOYqsc0a_SWf07UF6ltEbk=@emturner.co.uk
Hi Hilton,

Thanks so much! Having the test fixes as its own patches makes complete sense.

I will try open a PR to see if the fixes can get upstreamed, and open a future patch of it does get merged.

Thanks,
Emma

-------- Original Message --------
On 4 Nov 2023, 12:15, Hilton Chain wrote:

Toggle quote (1 lines)
> Hi Emma, On Mon, 30 Oct 2023 04:47:34 +0800, Emma Turner via Guix-patches via wrote: > > [1 ] > [2 ] > * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable. > > Change-Id: Id48040eee325b0cdb435d8693caf48c9654cf14c > --- > gnu/packages/tree-sitter.scm | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm > index 41257d42f1..608f8b6519 100644 > --- a/gnu/packages/tree-sitter.scm > +++ b/gnu/packages/tree-sitter.scm > @@ -7,6 +7,7 @@ > ;;; Copyright © 2023 Nicolas Graves > ;;; Copyright © 2023 Zheng Junjie > ;;; Copyright © 2023 Raven Hallsby > +;;; Copyright © 2023 Emma Turner > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -629,3 +630,11 @@ (define-public tree-sitter-scala > "scala" "Scala" > "0hs6gmkq5cx9qrmgfz1mh0c34flwffc0k2mhwf13laawswnywfkz" > "0.20.2")) > + > +(define-public tree-sitter-yaml > + (tree-sitter-grammar > + "yaml" "Yaml" > + "1ay4snkd2s4pid7pcr4bgx0y9cj7b5vlgd7wfc1j0896l0p61cjb" > + "0.5.0" > + #:repository-url "https://github.com/emturner/tree-sitter-yaml" + #:commit "f53859209fef065b677995802842a2b65314defb")) base-commit: 2b5c6e1a41e4ddcf4cfa53a319ed784a856eac5d -- 2.41.0 There seem to be formatting issue in your patch, making the last two lines embedded into one: "--2.41.0". You can have a look at it in [1]. I think your changes can be shipped as a patch with Guix. Maybe you can open a PR to upstream as well? :) I have modified your commit since we don't have to clone the submodule and generated files in src/ are deleted. I will send v2 for the change. Thanks --- [1]: https://issues.guix.gnu.org/66836
Attachment: file
H
H
Hilton Chain wrote on 12 Nov 2023 07:02
Re: [bug#66836] [PATCH v2] gnu: Add tree-sitter-yaml.
(name . Emma Turner)(address . mail@emturner.co.uk)(address . 66836@debbugs.gnu.org)
87wmun817b.wl-hako@ultrarare.space
Hi Emma,

Tests currently fail on aarch64-linux[1], which can be reproduced with
`./pre-inst-env guix build tree-sitter-yaml --system=aarch64-linux`.

Any ideas?

On Sat, 04 Nov 2023 20:22:10 +0800,
Hilton Chain wrote:
Toggle quote (16 lines)
>
> From: Emma Turner <mail@emturner.co.uk>
>
> * gnu/packages/patches/tree-sitter-yaml-fix-tests.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.
>
> Modified-by: Hilton Chain <hako@ultrarare.space>
> Change-Id: I45a4a843ecee9dfa580eeaa352f1354915f83881
> ---
> gnu/local.mk | 1 +
> .../patches/tree-sitter-yaml-fix-tests.patch | 690 ++++++++++++++++++
> gnu/packages/tree-sitter.scm | 15 +
> 3 files changed, 706 insertions(+)
> create mode 100644 gnu/packages/patches/tree-sitter-yaml-fix-tests.patch

Toggle snippet (52 lines)
--- expected / +++ actual

1. Spec Example 9.3. Bare Documents:

(stream
(document
(flow_node
(plain_scalar
(string_scalar))))
(comment)
(document)
(document
(block_node
+++ (block_scalar)))
+++ (MISSING _eof))
--- (block_scalar))))


2. Spec Example 9.5. Directives Documents:

(stream
(document
(yaml_directive
(yaml_version))
(block_node
(block_scalar)))
+++ (MISSING _eof))
--- (document
--- (yaml_directive
--- (yaml_version))
--- (comment)))


3. Zero indented block scalar:

(stream
(document
(block_node
+++ (block_scalar)))
+++ (MISSING _eof))
--- (block_scalar))))


4. Zero indented block scalar with line that looks like a comment:

(stream
(document
(block_node
+++ (block_scalar)))
+++ (MISSING _eof))
--- (block_scalar))))
A
A
Andrew Tropin wrote on 17 Nov 2023 23:42
Re: [bug#66836] [Patch] gnu: Add tree-sitter-yaml.
(address . 66836@debbugs.gnu.org)
87zfzb33tv.fsf@trop.in
On 2023-11-04 20:15, Hilton Chain via Guix-patches via wrote:

Toggle quote (50 lines)
> Hi Emma,
>
> On Mon, 30 Oct 2023 04:47:34 +0800,
> Emma Turner via Guix-patches via wrote:
>>
>> [1 <text/plain; utf-8 (base64)>]
>> [2 <text/html; utf-8 (base64)>]
>> * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.
>>
>> Change-Id: Id48040eee325b0cdb435d8693caf48c9654cf14c
>> ---
>> gnu/packages/tree-sitter.scm | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
>> index 41257d42f1..608f8b6519 100644
>> --- a/gnu/packages/tree-sitter.scm
>> +++ b/gnu/packages/tree-sitter.scm
>> @@ -7,6 +7,7 @@
>> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
>> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
>> ;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
>> +;;; Copyright © 2023 Emma Turner <mail@emturner.co.uk>
>> ;;;
>> ;;; This file is part of GNU Guix.
>> ;;;
>> @@ -629,3 +630,11 @@ (define-public tree-sitter-scala
>> "scala" "Scala"
>> "0hs6gmkq5cx9qrmgfz1mh0c34flwffc0k2mhwf13laawswnywfkz"
>> "0.20.2"))
>> +
>> +(define-public tree-sitter-yaml
>> + (tree-sitter-grammar
>> + "yaml" "Yaml"
>> + "1ay4snkd2s4pid7pcr4bgx0y9cj7b5vlgd7wfc1j0896l0p61cjb"
>> + "0.5.0"
>> + #:repository-url "https://github.com/emturner/tree-sitter-yaml"
>> + #:commit "f53859209fef065b677995802842a2b65314defb"))
>>
>> base-commit: 2b5c6e1a41e4ddcf4cfa53a319ed784a856eac5d
>> --
>> 2.41.0
>
>
> There seem to be formatting issue in your patch, making the last two lines
> embedded into one: "--2.41.0". You can have a look at it in [1].
>
> I think your changes can be shipped as a patch with Guix. Maybe you can open a
> PR to upstream as well? :)

unmaintained, that's probably why I didn't add this grammar earlier.

So maybe forking and taking a maintainance is not a bad idea.

Toggle quote (11 lines)
>
> I have modified your commit since we don't have to clone the submodule and
> generated files in src/ are deleted. I will send v2 for the change.
>
> Thanks
> ---
> [1]: https://issues.guix.gnu.org/66836
>
>
>

--
Best regards,
Andrew Tropin
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmVYatwACgkQIgjSCVjB
3rDnzA/+JGq8xPe9aPt/xR9ppohoG726AYhtfUZ/tAs3jxxXWGco0a3xhMAxPw1O
ll9EKLB59q3BN1wYTQ2HWwLk5qrtRVRNis/Sl/r37zi5J9I7ReJ5oYdKApNypHme
aMc35AOOlc11krpjbBW959e/68FUiIc7xVqpkG0ujzNaN85yM5Tj3jBR7HSMDw72
41RcKKa3By7lZaRV0rbxBBPUl1UrpCBALyWZXyjAkvSxLjhGqYCu2hizdHzy7exW
i8VVe3880aP/sIqFb4d8WSESFyX0C7IN028bjpKu3wn86UufSB9Gn2hzMrDsMJuH
525OdQAfVMCKM06JslYEWoX1Cz2duHoo9CoJ0kYTKjnYuK786PUhsZ+o1AKLf1Cn
pjUwbUIUM5aCDhLQmIEaJwIOw4RPlsm/dGtYyChjfsWGXMdUgTxBXAZIlCkP3RHq
2IKnrvZSvGFITUncWyO3w1rhEjIL+KoyXrsfDFbvJX0kelmceWHvIv69YIZqGBJs
1Q+hzNxaZj7Da5d7Eu9v5ySBvCiBYBcXqArYG0Oo9UKLxhfTbozqHxh/I/DpOgkT
rqrlno/XegUZDQArV3I9IA03yTA4ut9qKS3MdJhNmXYG4rkuZfAypcKPJhonnzOl
mTUAKuUJXtsq4jk5YZJuhNZK+J+sqJgQirQz87Xid3JZ5Xe+lNU=
=YPU8
-----END PGP SIGNATURE-----

H
H
Hilton Chain wrote on 18 Nov 2023 02:45
(name . Andrew Tropin)(address . andrew@trop.in)
87fs13z6eb.wl-hako@ultrarare.space
Hi Andrew,

On Sat, 18 Nov 2023 15:42:20 +0800,
Andrew Tropin wrote:
Toggle quote (12 lines)
>
> > There seem to be formatting issue in your patch, making the last two lines
> > embedded into one: "--2.41.0". You can have a look at it in [1].
> >
> > I think your changes can be shipped as a patch with Guix. Maybe you can open a
> > PR to upstream as well? :)
>
> It seems that https://github.com/ikatyang/tree-sitter-yaml is
> unmaintained, that's probably why I didn't add this grammar earlier.
>
> So maybe forking and taking a maintainance is not a bad idea.

I have found the first tree-sitter commit causing the test failures, it's
0fb864c1a0a5a53a951e3bf830fdbdc5edac385d (v0.20.4-9-g0fb864c1), there's also
open issue for it[1].

And the tree-sitter-yaml repository actually has some relevant activity this
July[2].

Thanks
---
[1]:
Regression in YAML parsing with web-tree-sitter + tree-sitter-yaml

[2]:
O
O
Olivier Rojon wrote on 25 Feb 13:52 -0800
control message for bug #66836
(address . control@debbugs.gnu.org)
87bjup66ad.fsf@posteo.net
tags 66836 + moreinfo
quit
O
O
Olivier Rojon wrote on 25 Feb 14:04 -0800
Re: [bug#66836] [PATCH v2] gnu: Add tree-sitter-yaml.
(name . Hilton Chain)(address . hako@ultrarare.space)
878qpt65ra.fsf@posteo.net
Hello everyone,

soo.... it has been a while since there has been some activity. I have checked and
couldn't find another effort to get tree-sitter-yaml packaged (that is, no duplicates).

Did anyone of you have spare time to look more into this? I am very intersted to get this
package into the guix codebase, and it seems there has been more recent activity not only
in the original repository (https://github.com/ikatyang/tree-sitter-yaml),but even more
recently, there has been activity in another repository which is a fork of the original

I have spent a short amount of time trying to get either of them to package, but that
didn't result in any tangible results (all attempts failed, I didn't know what the problem
was, I gave up).

However, I'd be motivated to try to get it done together, so if any of you is on board,
let's get it on ;-)

Have a good day, fellows :-)

Hilton Chain <hako@ultrarare.space> writes:

Toggle quote (81 lines)
> Hi Emma,
>
> Tests currently fail on aarch64-linux[1], which can be reproduced with
> `./pre-inst-env guix build tree-sitter-yaml --system=aarch64-linux`.
>
> Any ideas?
>
> On Sat, 04 Nov 2023 20:22:10 +0800,
> Hilton Chain wrote:
>>
>> From: Emma Turner <mail@emturner.co.uk>
>>
>> * gnu/packages/patches/tree-sitter-yaml-fix-tests.patch: New file.
>> * gnu/local.mk (dist_patch_DATA): Register it.
>> * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.
>>
>> Modified-by: Hilton Chain <hako@ultrarare.space>
>> Change-Id: I45a4a843ecee9dfa580eeaa352f1354915f83881
>> ---
>> gnu/local.mk | 1 +
>> .../patches/tree-sitter-yaml-fix-tests.patch | 690 ++++++++++++++++++
>> gnu/packages/tree-sitter.scm | 15 +
>> 3 files changed, 706 insertions(+)
>> create mode 100644 gnu/packages/patches/tree-sitter-yaml-fix-tests.patch
>
> Thanks
> ---
> [1]:
> https://bordeaux.guix.gnu.org/build/206a6c33-c95a-4f7f-8e15-30e7b5662634/log
>
> --- expected / +++ actual
>
> 1. Spec Example 9.3. Bare Documents:
>
> (stream
> (document
> (flow_node
> (plain_scalar
> (string_scalar))))
> (comment)
> (document)
> (document
> (block_node
> +++ (block_scalar)))
> +++ (MISSING _eof))
> --- (block_scalar))))
>
>
> 2. Spec Example 9.5. Directives Documents:
>
> (stream
> (document
> (yaml_directive
> (yaml_version))
> (block_node
> (block_scalar)))
> +++ (MISSING _eof))
> --- (document
> --- (yaml_directive
> --- (yaml_version))
> --- (comment)))
>
>
> 3. Zero indented block scalar:
>
> (stream
> (document
> (block_node
> +++ (block_scalar)))
> +++ (MISSING _eof))
> --- (block_scalar))))
>
>
> 4. Zero indented block scalar with line that looks like a comment:
>
> (stream
> (document
> (block_node
> +++ (block_scalar)))
> +++ (MISSING _eof))
> --- (block_scalar))))
O
O
Olivier Rojon wrote on 2 Mar 11:28 -0800
(address . 66836@debbugs.gnu.org)
87ldtnw7uc.fsf@posteo.net
Hej fellows,

I've tried for some time to get it packaged but rather quickly hit a road block because I
am simply not well versed in the domain. Find below the code I managed to come up after a
bit of experimentation.

```
(define-public tree-sitter-yaml
(tree-sitter-grammar
"yaml" "YAML"
"0z5fz9hiafzapi0ijhyz8np6rksq6c1pb16xv1vhnlfh75rg6zyv"
"0.7.0"
#:repository-url
```

Surprisingly, it started by downloading nodejs 22.10 which didn't happen for other
tree-sitter grammars I tried building for reference. The build fails in the build phase,
this is the output:

```
starting phase `build'
/tmp/guix-build-tree-sitter-yaml-0.7.0.drv-0/source/grammar.js:674
for (const [rule_name, rule] of Object.entries(grammar_json.rules)) {
^

TypeError: Cannot read properties of undefined (reading 'rules')
at global_alias (/tmp/guix-build-tree-sitter-yaml-0.7.0.drv-0/source/grammar.js:674:63)
at Object.<anonymous> (/tmp/guix-build-tree-sitter-yaml-0.7.0.drv-0/source/grammar.js:566:39)
at Module._compile (node:internal/modules/cjs/loader:1565:14)
at Object..js (node:internal/modules/cjs/loader:1708:10)
at Module.load (node:internal/modules/cjs/loader:1318:32)
at Function._load (node:internal/modules/cjs/loader:1128:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:219:24)
at Module.require (node:internal/modules/cjs/loader:1340:12)
at require (node:internal/modules/helpers:138:16)

Node.js v22.12.0
Node process exited with status 1
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "tree-sitter" arguments: ("generate" "--no-bindings") exit-status:
phase `build' failed after 0.0 seconds
command "tree-sitter" "generate" "--no-bindings" failed with status 1
build process 18 exited with status 256
builder for `/gnu/store/mhslv5phv7yic1rv91pq4kiqyhkzgvi1-tree-sitter-yaml-0.7.0.drv' failed with exit c
build of /gnu/store/mhslv5phv7yic1rv91pq4kiqyhkzgvi1-tree-sitter-yaml-0.7.0.drv failed
Could not find build log for '/gnu/store/mhslv5phv7yic1rv91pq4kiqyhkzgvi1-tree-sitter-yaml-0.7.0.drv'.
guix build: error: build of `/gnu/store/mhslv5phv7yic1rv91pq4kiqyhkzgvi1-tree-sitter-yaml-0.7.0.drv' fa
```

I also tried building the newest commit from the originally mentioned repository:
https://github.com/ikatyang/tree-sitter-yaml. This initially looks more promising but
then there is several errors regarding indentation and some other INVALID entries which
also results in a build failure.

I am afraid this is what I have to offer when it comes to trying to support the packaging
endeavour. Maybe someone of you guys knows more about tree-sitter grammars than I do and
can chime in.

Have a good day,
Olivier

Olivier Rojon <o.rojon@posteo.net> writes:

Toggle quote (103 lines)
> Hello everyone,
>
> soo.... it has been a while since there has been some activity. I have checked and
> couldn't find another effort to get tree-sitter-yaml packaged (that is, no duplicates).
>
> Did anyone of you have spare time to look more into this? I am very intersted to get this
> package into the guix codebase, and it seems there has been more recent activity not only
> in the original repository (https://github.com/ikatyang/tree-sitter-yaml), but even more
> recently, there has been activity in another repository which is a fork of the original
> one (https://github.com/tree-sitter-grammars/tree-sitter-yaml).
>
> I have spent a short amount of time trying to get either of them to package, but that
> didn't result in any tangible results (all attempts failed, I didn't know what the problem
> was, I gave up).
>
> However, I'd be motivated to try to get it done together, so if any of you is on board,
> let's get it on ;-)
>
> Have a good day, fellows :-)
>
> Hilton Chain <hako@ultrarare.space> writes:
>
>> Hi Emma,
>>
>> Tests currently fail on aarch64-linux[1], which can be reproduced with
>> `./pre-inst-env guix build tree-sitter-yaml --system=aarch64-linux`.
>>
>> Any ideas?
>>
>> On Sat, 04 Nov 2023 20:22:10 +0800,
>> Hilton Chain wrote:
>>>
>>> From: Emma Turner <mail@emturner.co.uk>
>>>
>>> * gnu/packages/patches/tree-sitter-yaml-fix-tests.patch: New file.
>>> * gnu/local.mk (dist_patch_DATA): Register it.
>>> * gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.
>>>
>>> Modified-by: Hilton Chain <hako@ultrarare.space>
>>> Change-Id: I45a4a843ecee9dfa580eeaa352f1354915f83881
>>> ---
>>> gnu/local.mk | 1 +
>>> .../patches/tree-sitter-yaml-fix-tests.patch | 690 ++++++++++++++++++
>>> gnu/packages/tree-sitter.scm | 15 +
>>> 3 files changed, 706 insertions(+)
>>> create mode 100644 gnu/packages/patches/tree-sitter-yaml-fix-tests.patch
>>
>> Thanks
>> ---
>> [1]:
>> https://bordeaux.guix.gnu.org/build/206a6c33-c95a-4f7f-8e15-30e7b5662634/log
>>
>> --- expected / +++ actual
>>
>> 1. Spec Example 9.3. Bare Documents:
>>
>> (stream
>> (document
>> (flow_node
>> (plain_scalar
>> (string_scalar))))
>> (comment)
>> (document)
>> (document
>> (block_node
>> +++ (block_scalar)))
>> +++ (MISSING _eof))
>> --- (block_scalar))))
>>
>>
>> 2. Spec Example 9.5. Directives Documents:
>>
>> (stream
>> (document
>> (yaml_directive
>> (yaml_version))
>> (block_node
>> (block_scalar)))
>> +++ (MISSING _eof))
>> --- (document
>> --- (yaml_directive
>> --- (yaml_version))
>> --- (comment)))
>>
>>
>> 3. Zero indented block scalar:
>>
>> (stream
>> (document
>> (block_node
>> +++ (block_scalar)))
>> +++ (MISSING _eof))
>> --- (block_scalar))))
>>
>>
>> 4. Zero indented block scalar with line that looks like a comment:
>>
>> (stream
>> (document
>> (block_node
>> +++ (block_scalar)))
>> +++ (MISSING _eof))
>> --- (block_scalar))))
N
N
Nicolas Graves wrote on 3 Mar 04:22 -0800
87wmd6mhh3.fsf@ngraves.fr
This version seems to compile on my side :

(define-public tree-sitter-yaml
(tree-sitter-grammar
"yaml" "YAML"
"0z5fz9hiafzapi0ijhyz8np6rksq6c1pb16xv1vhnlfh75rg6zyv" "0.7.0"
#:grammar-directories '("schema/core" "schema/json")
#:get-cleanup-snippet
(lambda _
#~(begin
(use-modules (guix build utils))
(delete-file-recursively "bindings")))))

Haven't tried it in real conditions though ;)

--
Best regards,
Nicolas Graves
O
O
Olivier Rojon wrote on 12 Mar 12:10 -0700
[PATCH v3] gnu: Add tree-sitter-yaml.
(address . 66836@debbugs.gnu.org)(name . Olivier Rojon)(address . o.rojon@posteo.net)
20250312191004.92666-1-o.rojon@posteo.net
* gnu/packages/tree-sitter.scm (tree-sitter-yaml): New variable.

Change-Id: I2bc2ad26dba4b4a16cdc738fca867854da225442
---
gnu/packages/tree-sitter.scm | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 19e32f53f1..da2cdec775 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -814,3 +814,14 @@ (define-public tree-sitter-vhdl
(("\\(integer_decimal\n") "(integer_decimal)\n")
(("\\(integer\\)") "")
(("\"0\")") "\"0\"")))))))
+
+(define-public tree-sitter-yaml
+ (tree-sitter-grammar
+ "yaml" "YAML"
+ "0z5fz9hiafzapi0ijhyz8np6rksq6c1pb16xv1vhnlfh75rg6zyv" "0.7.0"
+ #:grammar-directories '("schema/core" "schema/json")
+ #:get-cleanup-snippet
+ (lambda _
+ #~(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively "bindings")))))
--
2.48.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 66836@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66836
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch