Use commit of guile-ts supporting TREE_SITTER_GRAMMAR_PATH
This commit is contained in:
parent
57ce73370d
commit
eff0f10911
303
guix.scm
303
guix.scm
|
@ -8,158 +8,163 @@
|
||||||
(guix build-system gnu)
|
(guix build-system gnu)
|
||||||
(guix download)
|
(guix download)
|
||||||
(guix gexp)
|
(guix gexp)
|
||||||
|
(guix transformations)
|
||||||
((guix licenses)
|
((guix licenses)
|
||||||
#:prefix license:)
|
#:prefix license:)
|
||||||
(guix packages)
|
(guix packages)
|
||||||
(srfi srfi-1))
|
(srfi srfi-1))
|
||||||
|
|
||||||
(package
|
(define guile-ts-transform
|
||||||
(name "sloth")
|
(options->transformation
|
||||||
(version "0.1-dev")
|
'((with-commit . "guile-ts=266453a"))))
|
||||||
(source
|
|
||||||
(local-file
|
(package
|
||||||
(dirname (current-filename))
|
(name "sloth")
|
||||||
#:recursive? #t
|
(version "0.1-dev")
|
||||||
#:select? (λ (file stat)
|
(source
|
||||||
(not (any (λ (my-string)
|
(local-file
|
||||||
(string-contains file my-string))
|
(dirname (current-filename))
|
||||||
(list ".git" ".dir-locals.el" "guix.scm"))))))
|
#:recursive? #t
|
||||||
(build-system gnu-build-system)
|
#:select? (λ (file stat)
|
||||||
(arguments
|
(not (any (λ (my-string)
|
||||||
(list
|
(string-contains file my-string))
|
||||||
#:make-flags
|
(list ".git" ".dir-locals.el" "guix.scm"))))))
|
||||||
#~(list "GUILE_AUTO_COMPILE=0")
|
(build-system gnu-build-system)
|
||||||
#:phases
|
(arguments
|
||||||
#~(modify-phases %standard-phases
|
(list
|
||||||
(delete 'strip)
|
#:make-flags
|
||||||
(add-before 'configure 'hall-build
|
#~(list "GUILE_AUTO_COMPILE=0")
|
||||||
(λ _ (system* "hall" "build" "-x")))
|
#:phases
|
||||||
(add-after 'hall-build 'autoreconf
|
#~(modify-phases %standard-phases
|
||||||
(λ _ (system* "autoreconf" "-vif")))
|
(delete 'strip)
|
||||||
(add-after 'install 'hall-wrap-binaries
|
(add-before 'configure 'hall-build
|
||||||
(λ _
|
(λ _ (system* "hall" "build" "-x")))
|
||||||
(use-modules (ice-9 ftw))
|
(add-after 'hall-build 'autoreconf
|
||||||
(define (guile-compiled-dir out version)
|
(λ _ (system* "autoreconf" "-vif")))
|
||||||
(string-append out "/lib/guile/"
|
(add-after 'install 'hall-wrap-binaries
|
||||||
version
|
(λ _
|
||||||
"/site-ccache"))
|
(use-modules (ice-9 ftw))
|
||||||
(define (guile-uncompiled-dir out version)
|
(define (guile-compiled-dir out version)
|
||||||
(string-append out
|
(string-append out "/lib/guile/"
|
||||||
"/share/guile/site"
|
version
|
||||||
(if (string-null? version) ""
|
"/site-ccache"))
|
||||||
"/")
|
(define (guile-uncompiled-dir out version)
|
||||||
version))
|
(string-append out
|
||||||
(define (guile-dep-path env modules path)
|
"/share/guile/site"
|
||||||
(list env ":" 'prefix
|
(if (string-null? version) ""
|
||||||
(cons modules
|
"/")
|
||||||
(map (λ (input)
|
version))
|
||||||
(string-append input path))
|
(define (guile-dep-path env modules path)
|
||||||
;; TODO: figure out how to put these in a list shared
|
(list env ":" 'prefix
|
||||||
;; with inputs because DRY
|
(cons modules
|
||||||
(list #$guile-config
|
(map (λ (input)
|
||||||
#$guile-ncurses
|
(string-append input path))
|
||||||
#$guile-ts)))))
|
;; TODO: figure out how to put these in a list shared
|
||||||
(define bin (string-append #$output "/bin/"))
|
;; with inputs because DRY
|
||||||
(define site (guile-uncompiled-dir #$output ""))
|
(list #$guile-config
|
||||||
(define version (caddr (scandir site)))
|
#$guile-ncurses
|
||||||
(wrap-program (string-append bin "sloth")
|
#$(guile-ts-transform guile-ts))))))
|
||||||
(guile-dep-path
|
(define bin (string-append #$output "/bin/"))
|
||||||
"GUILE_LOAD_PATH"
|
(define site (guile-uncompiled-dir #$output ""))
|
||||||
(guile-uncompiled-dir #$output version)
|
(define version (caddr (scandir site)))
|
||||||
(guile-uncompiled-dir "" version))
|
(wrap-program (string-append bin "sloth")
|
||||||
(guile-dep-path
|
(guile-dep-path
|
||||||
"GUILE_LOAD_COMPILED_PATH"
|
"GUILE_LOAD_PATH"
|
||||||
(guile-compiled-dir #$output version)
|
(guile-uncompiled-dir #$output version)
|
||||||
(guile-compiled-dir "" version))
|
(guile-uncompiled-dir "" version))
|
||||||
(list "TREE_SITTER_GRAMMAR_PATH" ":" '=
|
(guile-dep-path
|
||||||
(map (λ (input)
|
"GUILE_LOAD_COMPILED_PATH"
|
||||||
(string-append input "/lib/tree-sitter"))
|
(guile-compiled-dir #$output version)
|
||||||
;; TODO: figure out how to put these in a list shared
|
(guile-compiled-dir "" version))
|
||||||
;; with inputs because DRY
|
(list "TREE_SITTER_GRAMMAR_PATH" ":" '=
|
||||||
(list #$tree-sitter-bash
|
(map (λ (input)
|
||||||
#$tree-sitter-bibtex
|
(string-append input "/lib/tree-sitter"))
|
||||||
#$tree-sitter-c
|
;; TODO: figure out how to put these in a list shared
|
||||||
#$tree-sitter-c-sharp
|
;; with inputs because DRY
|
||||||
#$tree-sitter-clojure
|
(list #$tree-sitter-bash
|
||||||
#$tree-sitter-cmake
|
#$tree-sitter-bibtex
|
||||||
#$tree-sitter-cpp
|
#$tree-sitter-c
|
||||||
#$tree-sitter-css
|
#$tree-sitter-c-sharp
|
||||||
#$tree-sitter-dockerfile
|
#$tree-sitter-clojure
|
||||||
#$tree-sitter-elixir
|
#$tree-sitter-cmake
|
||||||
#$tree-sitter-elm
|
#$tree-sitter-cpp
|
||||||
#$tree-sitter-go
|
#$tree-sitter-css
|
||||||
#$tree-sitter-gomod
|
#$tree-sitter-dockerfile
|
||||||
#$tree-sitter-haskell
|
#$tree-sitter-elixir
|
||||||
#$tree-sitter-heex
|
#$tree-sitter-elm
|
||||||
#$tree-sitter-html
|
#$tree-sitter-go
|
||||||
#$tree-sitter-java
|
#$tree-sitter-gomod
|
||||||
#$tree-sitter-javascript
|
#$tree-sitter-haskell
|
||||||
#$tree-sitter-json
|
#$tree-sitter-heex
|
||||||
#$tree-sitter-julia
|
#$tree-sitter-html
|
||||||
#$tree-sitter-lua
|
#$tree-sitter-java
|
||||||
#$tree-sitter-markdown
|
#$tree-sitter-javascript
|
||||||
#$tree-sitter-markdown-gfm
|
#$tree-sitter-json
|
||||||
#$tree-sitter-meson
|
#$tree-sitter-julia
|
||||||
#$tree-sitter-ocaml
|
#$tree-sitter-lua
|
||||||
#$tree-sitter-org
|
#$tree-sitter-markdown
|
||||||
#$tree-sitter-php
|
#$tree-sitter-markdown-gfm
|
||||||
#$tree-sitter-plantuml
|
#$tree-sitter-meson
|
||||||
#$tree-sitter-python
|
#$tree-sitter-ocaml
|
||||||
#$tree-sitter-r
|
#$tree-sitter-org
|
||||||
#$tree-sitter-racket
|
#$tree-sitter-php
|
||||||
#$tree-sitter-ruby
|
#$tree-sitter-plantuml
|
||||||
#$tree-sitter-rust
|
#$tree-sitter-python
|
||||||
#$tree-sitter-scala
|
#$tree-sitter-r
|
||||||
#$tree-sitter-scheme
|
#$tree-sitter-racket
|
||||||
#$tree-sitter-typescript)))))))))
|
#$tree-sitter-ruby
|
||||||
(native-inputs (list autoconf
|
#$tree-sitter-rust
|
||||||
automake
|
#$tree-sitter-scala
|
||||||
guile-hall
|
#$tree-sitter-scheme
|
||||||
pkg-config
|
#$tree-sitter-typescript)))))))))
|
||||||
texinfo))
|
(native-inputs (list autoconf
|
||||||
(inputs (list guile-3.0
|
automake
|
||||||
guile-config
|
guile-hall
|
||||||
guile-ncurses
|
pkg-config
|
||||||
guile-ts
|
texinfo))
|
||||||
tree-sitter-bash
|
(inputs (list guile-3.0
|
||||||
tree-sitter-bibtex
|
guile-config
|
||||||
tree-sitter-c
|
guile-ncurses
|
||||||
tree-sitter-c-sharp
|
(guile-ts-transform guile-ts)
|
||||||
tree-sitter-clojure
|
tree-sitter-bash
|
||||||
tree-sitter-cmake
|
tree-sitter-bibtex
|
||||||
tree-sitter-cpp
|
tree-sitter-c
|
||||||
tree-sitter-css
|
tree-sitter-c-sharp
|
||||||
tree-sitter-dockerfile
|
tree-sitter-clojure
|
||||||
tree-sitter-elixir
|
tree-sitter-cmake
|
||||||
tree-sitter-elm
|
tree-sitter-cpp
|
||||||
tree-sitter-go
|
tree-sitter-css
|
||||||
tree-sitter-gomod
|
tree-sitter-dockerfile
|
||||||
tree-sitter-haskell
|
tree-sitter-elixir
|
||||||
tree-sitter-heex
|
tree-sitter-elm
|
||||||
tree-sitter-html
|
tree-sitter-go
|
||||||
tree-sitter-java
|
tree-sitter-gomod
|
||||||
tree-sitter-javascript
|
tree-sitter-haskell
|
||||||
tree-sitter-json
|
tree-sitter-heex
|
||||||
tree-sitter-julia
|
tree-sitter-html
|
||||||
tree-sitter-lua
|
tree-sitter-java
|
||||||
tree-sitter-markdown
|
tree-sitter-javascript
|
||||||
tree-sitter-markdown-gfm
|
tree-sitter-json
|
||||||
tree-sitter-meson
|
tree-sitter-julia
|
||||||
tree-sitter-ocaml
|
tree-sitter-lua
|
||||||
tree-sitter-org
|
tree-sitter-markdown
|
||||||
tree-sitter-php
|
tree-sitter-markdown-gfm
|
||||||
tree-sitter-plantuml
|
tree-sitter-meson
|
||||||
tree-sitter-python
|
tree-sitter-ocaml
|
||||||
tree-sitter-r
|
tree-sitter-org
|
||||||
tree-sitter-racket
|
tree-sitter-php
|
||||||
tree-sitter-ruby
|
tree-sitter-plantuml
|
||||||
tree-sitter-rust
|
tree-sitter-python
|
||||||
tree-sitter-scala
|
tree-sitter-r
|
||||||
tree-sitter-scheme
|
tree-sitter-racket
|
||||||
tree-sitter-typescript))
|
tree-sitter-ruby
|
||||||
(synopsis "Text editor based on tree-sitter")
|
tree-sitter-rust
|
||||||
(description
|
tree-sitter-scala
|
||||||
"TODO")
|
tree-sitter-scheme
|
||||||
(home-page "https://git.solarpunk.moe/Sloth/sloth")
|
tree-sitter-typescript))
|
||||||
(license license:gpl3+))
|
(synopsis "Text editor based on tree-sitter")
|
||||||
|
(description
|
||||||
|
"TODO")
|
||||||
|
(home-page "https://git.solarpunk.moe/Sloth/sloth")
|
||||||
|
(license license:gpl3+))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue