nixpkgs/pkgs/build-support
Chris Hodapp 1a8edfe192
emacs: Add basic tree-sitter support (#219559)
This commit adds basic support for tree-sitter in the emacs build,
such that (if the user opts into tree-sitter support), tree-sitter
will be enabled and binary library files for tree-sitter can be
included in the `lib` directory of packages passed to
`emacsWithPackages`. The libraries will be aggregated and included in
treesit-extra-load-path.

The previous pattern for this in the community was to add tree-sitter
libaries by patching emacs's `RUNPATH` with `patchelf` in a post-fixup
phase. However, this has the substantial drawback that two different
emacs installations with different lists of available tree-sitter
libraries must be entirely separate builds. By supplying the
tree-sitter libraries in the wrapping layer of `emacsWithpackages`, it
becomes possible to share a single, more-cacheable "core emacs".

This support defaults to "on" only in emacs 29 and up, since previous
versions do not support tree-sitter out of the box.
2023-03-15 16:51:29 +13:00
..
add-opengl-runpath
agda Merge remote-tracking branch 'origin/master' into haskell-updates 2023-02-18 21:56:57 +01:00
alternatives treewide: use optionalString 2023-02-13 21:52:34 +01:00
appimage
binary-cache Introduce mkBinaryCache function 2023-02-07 16:16:07 -08:00
bintools-wrapper treewide: use optionalString 2023-02-13 21:52:34 +01:00
build-bazel-package treewide: use optionalString 2023-02-13 21:52:34 +01:00
build-fhs-userenv treewide: use optionalString 2023-02-13 21:52:34 +01:00
build-fhs-userenv-bubblewrap Merge pull request #215837 from K900/fhsenv-x11-socket-permissions 2023-02-16 12:25:04 +03:00
build-graalvm-native-image buildGraalvmNativeImage: allow overriding attributes 2023-02-18 12:38:09 +00:00
build-setupcfg treewide: use lib.optionals 2023-02-14 19:11:59 +01:00
buildenv
cc-wrapper treewide: use optionalString 2023-02-13 21:52:34 +01:00
coq mkCoqDerivation: findlib is an optional input 2023-02-28 10:59:42 +00:00
deterministic-uname deterministic-uname: add missing whitespace 2023-01-31 14:55:11 +02:00
dhall
docker dockerTools: Preprocess layers list before unpack to handle repeated layers 2023-02-06 12:19:29 -06:00
dotnet Merge pull request #218849 from Atemu/buildDotnetModule-put-dep-file-path-in-fetch-script 2023-03-06 17:46:32 +01:00
emacs emacs: Add basic tree-sitter support (#219559) 2023-03-15 16:51:29 +13:00
expand-response-params
fake-nss
fetchbitbucket
fetchbower
fetchbzr fetchbzr: set cache directory to tmpdir 2023-03-01 04:20:00 +00:00
fetchcvs treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchdarcs Merge pull request #205115 from hraban/fetchdarcs-by-hash 2023-03-14 01:25:22 +01:00
fetchdocker treewide: use optionalString 2023-02-13 21:52:34 +01:00
fetchfirefoxaddon treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchfossil treewide: use optionalString 2023-02-13 21:52:34 +01:00
fetchgit treewide: use optionalString 2023-02-13 21:52:34 +01:00
fetchgitea
fetchgithub
fetchgitiles
fetchgitlab
fetchgitlocal
fetchgx
fetchhg treewide: use optionalString 2023-02-13 21:52:34 +01:00
fetchipfs
fetchmavenartifact fetchMavenArtifact: add classifier to filename 2023-02-02 19:23:58 -08:00
fetchmtn treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchnextcloudapp
fetchpatch fetchpatch: add decode test 2023-03-11 21:39:29 +00:00
fetchpypi fetchPypi: move to top level 2023-01-21 08:21:33 +01:00
fetchrepoorcz
fetchrepoproject
fetchs3
fetchsavannah
fetchsourcehut
fetchsvn treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchsvnrevision
fetchsvnssh treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchurl treewide: remove usages of header and stopNest 2023-01-16 00:08:12 +02:00
fetchzip
flutter treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
go Merge staging-next into staging 2023-02-07 00:02:46 +00:00
icon-conv-tools
install-shell-files
java
kernel make-initrd-ng: document wrapped file behavior 2023-02-20 07:02:55 -05:00
libredirect libredirect: fix build on musl libc 2023-02-06 10:18:52 -08:00
make-darwin-bundle
make-desktopitem
make-hardcode-gsettings-patch
make-pkgconfigitem makePkgconfigItem: fix cross 2022-12-30 14:51:17 +02:00
make-startupitem
mkshell mkShell: set preferLocalBuild by default 2023-02-22 11:53:51 +01:00
mono-dll-fixer
nix-gitignore
node Merge master into staging-next 2023-02-20 12:01:32 +00:00
nuke-references treewide: use optionalString 2023-02-13 21:52:34 +01:00
ocaml [OCaml] tell dune where to install man 2023-03-14 14:37:57 +01:00
oci-tools
pkg-config-wrapper Merge pull request #207294 from happyalu/staging 2023-01-24 00:02:25 +01:00
portable-service
prefer-remote-fetch
references-by-popularity
release treewide: use optionalString 2023-02-13 21:52:34 +01:00
remove-references-to
replace-secret
rust rustPlatform: forward unpack hooks to cargo fetch 2023-03-14 00:26:11 +00:00
setup-hooks treewide: makeSetupHook deps -> propagatedBuildInputs 2023-02-07 21:02:00 +02:00
singularity-tools apptainer, singularity: fix defaultPath and reflect upstream changes 2023-02-08 18:03:11 +08:00
snap
src-only srcOnly: prevent phases being skipped 2023-01-06 19:02:50 +01:00
substitute
substitute-files
templaterpm
testers meta.pkgConfigModules: Init convention 2023-02-03 09:37:31 -05:00
trivial-builders
vm build-support/vm/deb/deb-closure: quote generated urls 2023-02-20 01:38:31 +01:00
wrapper-common
writers writers: make codesign_allocate available in PATH on aarch64-darwin 2023-03-14 19:45:53 +01:00
build-maven.nix
build-pecl.nix feat: add passthru flags in PHP extension builder 2022-12-29 18:19:12 +01:00
closure-info.nix
make-impure-test.nix
plugins.nix
replace-dependency.nix replaceDependency: use runCommandLocal 2023-03-01 14:36:49 +02:00
setup-systemd-units.nix
source-from-head-fun.nix
trivial-builders.nix trivial-builders.writeShellApplication: use unwrapped shellcheck 2023-03-07 21:18:48 +02:00