Skip to content

tree-sitter: fix pkgsStatic build#443375

Merged
teto merged 1 commit intoNixOS:stagingfrom
nekowinston:tree-sitter/fix-pkgsStatic-build
Dec 11, 2025
Merged

tree-sitter: fix pkgsStatic build#443375
teto merged 1 commit intoNixOS:stagingfrom
nekowinston:tree-sitter/fix-pkgsStatic-build

Conversation

@nekowinston
Copy link
Member

@nekowinston nekowinston commented Sep 16, 2025

The upstream Makefile assumes that shared objects are being built, so I needed to adjust the install step a bit.
The postInstall is related to #443365, when building with a static hostPlatform (e.g. pkgsStatic), the rm fails because the .so file doesn't exist.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. labels Sep 16, 2025
@nekowinston
Copy link
Member Author

nekowinston commented Sep 16, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 443375 --package tree-sitter --package tree-sitter.tests --package pkgsStatic.tree-sitter
Commit: 2b9bb8c6898a4d261f2c584556d309bbe7aa4632


aarch64-linux

✅ 130 packages built:
  • pkgsStatic.tree-sitter
  • tree-sitter
  • tree-sitter.tests.builtGrammars.tree-sitter-bash
  • tree-sitter.tests.builtGrammars.tree-sitter-beancount
  • tree-sitter.tests.builtGrammars.tree-sitter-bibtex
  • tree-sitter.tests.builtGrammars.tree-sitter-bitbake
  • tree-sitter.tests.builtGrammars.tree-sitter-bqn
  • tree-sitter.tests.builtGrammars.tree-sitter-c
  • tree-sitter.tests.builtGrammars.tree-sitter-c-sharp
  • tree-sitter.tests.builtGrammars.tree-sitter-clojure
  • tree-sitter.tests.builtGrammars.tree-sitter-cmake
  • tree-sitter.tests.builtGrammars.tree-sitter-comment
  • tree-sitter.tests.builtGrammars.tree-sitter-commonlisp
  • tree-sitter.tests.builtGrammars.tree-sitter-cpp
  • tree-sitter.tests.builtGrammars.tree-sitter-crystal
  • tree-sitter.tests.builtGrammars.tree-sitter-css
  • tree-sitter.tests.builtGrammars.tree-sitter-cuda
  • tree-sitter.tests.builtGrammars.tree-sitter-cue
  • tree-sitter.tests.builtGrammars.tree-sitter-dart
  • tree-sitter.tests.builtGrammars.tree-sitter-devicetree
  • tree-sitter.tests.builtGrammars.tree-sitter-dockerfile
  • tree-sitter.tests.builtGrammars.tree-sitter-dot
  • tree-sitter.tests.builtGrammars.tree-sitter-earthfile
  • tree-sitter.tests.builtGrammars.tree-sitter-eex
  • tree-sitter.tests.builtGrammars.tree-sitter-elisp
  • tree-sitter.tests.builtGrammars.tree-sitter-elixir
  • tree-sitter.tests.builtGrammars.tree-sitter-elm
  • tree-sitter.tests.builtGrammars.tree-sitter-embedded-template
  • tree-sitter.tests.builtGrammars.tree-sitter-erlang
  • tree-sitter.tests.builtGrammars.tree-sitter-factor
  • tree-sitter.tests.builtGrammars.tree-sitter-fennel
  • tree-sitter.tests.builtGrammars.tree-sitter-fish
  • tree-sitter.tests.builtGrammars.tree-sitter-fortran
  • tree-sitter.tests.builtGrammars.tree-sitter-gdscript
  • tree-sitter.tests.builtGrammars.tree-sitter-gemini
  • tree-sitter.tests.builtGrammars.tree-sitter-gleam
  • tree-sitter.tests.builtGrammars.tree-sitter-glimmer
  • tree-sitter.tests.builtGrammars.tree-sitter-glsl
  • tree-sitter.tests.builtGrammars.tree-sitter-go
  • tree-sitter.tests.builtGrammars.tree-sitter-go-template
  • tree-sitter.tests.builtGrammars.tree-sitter-godot-resource
  • tree-sitter.tests.builtGrammars.tree-sitter-gomod
  • tree-sitter.tests.builtGrammars.tree-sitter-gowork
  • tree-sitter.tests.builtGrammars.tree-sitter-graphql
  • tree-sitter.tests.builtGrammars.tree-sitter-haskell
  • tree-sitter.tests.builtGrammars.tree-sitter-hcl
  • tree-sitter.tests.builtGrammars.tree-sitter-heex
  • tree-sitter.tests.builtGrammars.tree-sitter-hjson
  • tree-sitter.tests.builtGrammars.tree-sitter-html
  • tree-sitter.tests.builtGrammars.tree-sitter-http
  • tree-sitter.tests.builtGrammars.tree-sitter-hyprlang
  • tree-sitter.tests.builtGrammars.tree-sitter-janet-simple
  • tree-sitter.tests.builtGrammars.tree-sitter-java
  • tree-sitter.tests.builtGrammars.tree-sitter-javascript
  • tree-sitter.tests.builtGrammars.tree-sitter-jsdoc
  • tree-sitter.tests.builtGrammars.tree-sitter-json
  • tree-sitter.tests.builtGrammars.tree-sitter-json5
  • tree-sitter.tests.builtGrammars.tree-sitter-jsonnet
  • tree-sitter.tests.builtGrammars.tree-sitter-julia
  • tree-sitter.tests.builtGrammars.tree-sitter-just
  • tree-sitter.tests.builtGrammars.tree-sitter-kdl
  • tree-sitter.tests.builtGrammars.tree-sitter-koka
  • tree-sitter.tests.builtGrammars.tree-sitter-kotlin
  • tree-sitter.tests.builtGrammars.tree-sitter-latex
  • tree-sitter.tests.builtGrammars.tree-sitter-ledger
  • tree-sitter.tests.builtGrammars.tree-sitter-llvm
  • tree-sitter.tests.builtGrammars.tree-sitter-lua
  • tree-sitter.tests.builtGrammars.tree-sitter-make
  • tree-sitter.tests.builtGrammars.tree-sitter-markdown
  • tree-sitter.tests.builtGrammars.tree-sitter-markdown-inline
  • tree-sitter.tests.builtGrammars.tree-sitter-netlinx
  • tree-sitter.tests.builtGrammars.tree-sitter-nickel
  • tree-sitter.tests.builtGrammars.tree-sitter-nix
  • tree-sitter.tests.builtGrammars.tree-sitter-norg
  • tree-sitter.tests.builtGrammars.tree-sitter-norg-meta
  • tree-sitter.tests.builtGrammars.tree-sitter-nu
  • tree-sitter.tests.builtGrammars.tree-sitter-ocaml
  • tree-sitter.tests.builtGrammars.tree-sitter-ocaml-interface
  • tree-sitter.tests.builtGrammars.tree-sitter-org-nvim
  • tree-sitter.tests.builtGrammars.tree-sitter-perl
  • tree-sitter.tests.builtGrammars.tree-sitter-pgn
  • tree-sitter.tests.builtGrammars.tree-sitter-php
  • tree-sitter.tests.builtGrammars.tree-sitter-pioasm
  • tree-sitter.tests.builtGrammars.tree-sitter-prisma
  • tree-sitter.tests.builtGrammars.tree-sitter-proto
  • tree-sitter.tests.builtGrammars.tree-sitter-pug
  • tree-sitter.tests.builtGrammars.tree-sitter-python
  • tree-sitter.tests.builtGrammars.tree-sitter-ql
  • tree-sitter.tests.builtGrammars.tree-sitter-ql-dbscheme
  • tree-sitter.tests.builtGrammars.tree-sitter-query
  • tree-sitter.tests.builtGrammars.tree-sitter-r
  • tree-sitter.tests.builtGrammars.tree-sitter-regex
  • tree-sitter.tests.builtGrammars.tree-sitter-rego
  • tree-sitter.tests.builtGrammars.tree-sitter-river
  • tree-sitter.tests.builtGrammars.tree-sitter-rst
  • tree-sitter.tests.builtGrammars.tree-sitter-ruby
  • tree-sitter.tests.builtGrammars.tree-sitter-rust
  • tree-sitter.tests.builtGrammars.tree-sitter-scala
  • tree-sitter.tests.builtGrammars.tree-sitter-scheme
  • tree-sitter.tests.builtGrammars.tree-sitter-scss
  • tree-sitter.tests.builtGrammars.tree-sitter-smithy
  • tree-sitter.tests.builtGrammars.tree-sitter-sml
  • tree-sitter.tests.builtGrammars.tree-sitter-solidity
  • tree-sitter.tests.builtGrammars.tree-sitter-sparql
  • tree-sitter.tests.builtGrammars.tree-sitter-sql
  • tree-sitter.tests.builtGrammars.tree-sitter-supercollider
  • tree-sitter.tests.builtGrammars.tree-sitter-surface
  • tree-sitter.tests.builtGrammars.tree-sitter-svelte
  • tree-sitter.tests.builtGrammars.tree-sitter-talon
  • tree-sitter.tests.builtGrammars.tree-sitter-templ
  • tree-sitter.tests.builtGrammars.tree-sitter-tera
  • tree-sitter.tests.builtGrammars.tree-sitter-tiger
  • tree-sitter.tests.builtGrammars.tree-sitter-tlaplus
  • tree-sitter.tests.builtGrammars.tree-sitter-toml
  • tree-sitter.tests.builtGrammars.tree-sitter-tsq
  • tree-sitter.tests.builtGrammars.tree-sitter-tsx
  • tree-sitter.tests.builtGrammars.tree-sitter-turtle
  • tree-sitter.tests.builtGrammars.tree-sitter-twig
  • tree-sitter.tests.builtGrammars.tree-sitter-typescript
  • tree-sitter.tests.builtGrammars.tree-sitter-typst
  • tree-sitter.tests.builtGrammars.tree-sitter-uiua
  • tree-sitter.tests.builtGrammars.tree-sitter-verilog
  • tree-sitter.tests.builtGrammars.tree-sitter-vim
  • tree-sitter.tests.builtGrammars.tree-sitter-vue
  • tree-sitter.tests.builtGrammars.tree-sitter-wgsl
  • tree-sitter.tests.builtGrammars.tree-sitter-wing
  • tree-sitter.tests.builtGrammars.tree-sitter-yaml
  • tree-sitter.tests.builtGrammars.tree-sitter-yang
  • tree-sitter.tests.builtGrammars.tree-sitter-zig
  • tree-sitter.tests.lunarvim

Edit: I wasn't really sure why ofborg encountered an error on aarch64, so i checked it on my end.

@teto teto added 6.topic: tree-sitter Tree-sitter is a parser generator tool and an incremental parsing library. 6.topic: static Static builds (e.g. pkgsStatic) labels Dec 7, 2025
@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Dec 7, 2025
@SuperSandro2000 SuperSandro2000 added the backport release-25.11 Backport PR automatically label Dec 8, 2025
@SuperSandro2000
Copy link
Member

Hmmm, I just saw this PR upstream https://github.com/tree-sitter/tree-sitter/pull/4847/files which we should probably use instead 😓

@nekowinston
Copy link
Member Author

Agreed that we should be using the upstream solution, however that PR still tries to install the .so AND .a files inside install, regardless of which make step is specified. (all still runs.) https://github.com/tree-sitter/tree-sitter/blob/3182efeccc5de2f50d4611466607222a29a4b059/Makefile#L85-L95

I meant to create a follow-up PR upstream, but I never got around to it.

@teto
Copy link
Member

teto commented Dec 8, 2025

I dont mind merging this if sandro agrees. It can be reverted once upstream adapts. Let us know what you prefer neko-chan ;)

@teto teto added this pull request to the merge queue Dec 11, 2025
Merged via the queue into NixOS:staging with commit 383c571 Dec 11, 2025
45 checks passed
@nixpkgs-ci
Copy link
Contributor

nixpkgs-ci bot commented Dec 11, 2025

Successfully created backport PR for release-25.11:

@github-actions github-actions bot added the 8.has: port to stable This PR already has a backport to the stable release. label Dec 11, 2025
@nekowinston
Copy link
Member Author

Thanks for merging and sorry for not getting back to you, I wasn't able to make much time for nixpkgs this week. I'm hoping I can upstream a proper solution for this sometime over the weekend.

@nekowinston nekowinston deleted the tree-sitter/fix-pkgsStatic-build branch December 12, 2025 17:23
@teto
Copy link
Member

teto commented Dec 12, 2025

Upstreaming can take time, it's not a problem to carry a small patch if it helps more people contribute to tree-sitter in nixpkgs. Thank you once again.

@Jayman2000 Jayman2000 added the backport staging-25.11 Backport PR automatically label Mar 5, 2026
@nixpkgs-ci
Copy link
Contributor

nixpkgs-ci bot commented Mar 5, 2026

Successfully created backport PR for staging-25.11:

@nixpkgs-ci
Copy link
Contributor

nixpkgs-ci bot commented Mar 5, 2026

Successfully created backport PR for release-25.11:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: static Static builds (e.g. pkgsStatic) 6.topic: tree-sitter Tree-sitter is a parser generator tool and an incremental parsing library. 8.has: port to stable This PR already has a backport to the stable release. 10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 12.approvals: 1 This PR was reviewed and approved by one person. backport staging-25.11 Backport PR automatically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants