about summary refs log tree commit diff
path: root/pkgs/build-support/emacs
AgeCommit message (Collapse)AuthorFilesLines
2020-06-02Fix building of emacsWithPackages not findind subdirs.elDwarfMaster1-1/+1
2020-04-02emacs: fix setup-hookRobert Helgesson1-8/+16
This change fixes byte compilation of, e.g., Helm without breaking builds using, e.g., `trivialBuild`. See https://github.com/NixOS/nixpkgs/pull/82604#issuecomment-607201755
2020-03-14emacs: improve setup hookRobert Helgesson1-9/+21
- Add packages installed in a sub-directory of site-lisp, such as mu4e, to EMACSLOADPATH. - Add ELPA packages to EMACSLOADPATH. - Add each package only once to EMACSLOADPATH. Before, each package would typically be added twice for each transitive dependency leading to a huge variable for a package having many dependencies. Fixed #78680
2019-11-23emacs package setup hook: Fix FixHerwig Hochleitner1-2/+4
A trailing separator in emacs load paths has semantics cc @Ericson2314 @adisbladis https://github.com/NixOS/nixpkgs/pull/73287 This partially reverts commit ca782498a9532c48d8e12ce402813486ab90e7f0
2019-11-08emacs package setup hook: FixJohn Ericson1-3/+3
1. Make the test more robust 2. EMACSLOADPATH may be initially undefined. 3. did `targetOffset` twice when meant `hostOffset` too
2019-09-18emacs: use runCommand to generate wrapperRobert Helgesson1-103/+106
This removes the unnecessary compiler build dependency. We also set preferLocalBuild = true; allowSubstitutes = false; to not farm out the build on a remote builder or bother with trying to find a binary substitution.
2019-08-30emacsPackages: Drop old emacsPackages (non-NG) setsadisbladis1-2/+2
These have been deprecated for a long time now and has not seen much maintenance.
2019-04-29treewide: Remove usage of isNullDaniel Schaefer1-1/+1
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-02-02emacs: Link subdirs.el into emacs-packages-depsMohammed Yaseen Mowzer1-4/+8
Emacs loads all the elisp files in the top-level of the site-lisp directory. However some packages (e.g. mu4e) put their elisp files in a subdirectory of site-lisp. Emacs will not load these packages unless subdirs.el is present. This commit links the subdirs.el file from the emacs package into the emacs-package-deps package so that packages that put their elisp files in a subdirectory of site-lisp are loaded.
2018-11-27melpaBuild: Get package-build from melpa/package-buildThomas Tuegel1-6/+6
This commit causes melpaBuild to use package-build from melpa/package-build instead of melpa/melpa. Development of package-build happens in the former repository whereas the latter is much larger, containing also the MELPA recipes. We do not need to fetch the MELPA recipes from melpa/melpa, as we fetch them one-by-one for Nixpkgs.
2018-11-27emacsPackagesNg.trivialBuild: cleanup and standardize functionBenjamin Hipple2-19/+13
No real function change here, but this updates the trivial and melpa builders to be formatted more consistently with the rest of the builders, and swaps `eval "$preBuild"` for the more standard `runHook preBuild`.
2018-09-24lib: Make `overrideScope'` which takes arguments in the conventional orderJohn Ericson1-1/+1
The `overrideScope` bound by `makeScope` (via special `callPackage`) took an override in the form `super: self { … }`. But this is dangerously close to the `self: super { … }` form used by *everything* else, even other definitions of `overrideScope`! Since that implementation did not even share any code either until I changed it recently in 3cf43547f4be03d1d6eb0bbfc557e2dbc13b4095, this inconsistency is almost certainly an oversight and not intentional. Unfortunately, just as the inconstency is hard to debug if one just assumes the conventional order, any sudden fix would break existing overrides in the same hard-to-debug way. So instead of changing the definition a new `overrideScope'` with the conventional order is added, and old `overrideScope` deprecated with a warning saying to use `overrideScope'` instead. That will hopefully get people to stop using `overrideScope`, freeing our hand to change or remove it in the future.
2018-07-27Fix pname to ename propagation if nullPeriklis Tsirakidis1-1/+6
2018-07-23melpaBuild: use Emacs package names to satisfy package-buildThomas Tuegel1-6/+14
package-build expects the recipe file name to match the Emacs package name. `melpaBuild` takes an extra argument `ename` for the Emacs package name (default: `pname`, the Nix package name) which is used to name the recipe file. Fixes: #43893 See also: #43609
2018-07-21pkgs/*: remove unreferenced function argumentsvolth2-2/+2
2018-07-15emacsPackagesNg: 2018-07-15 updateThomas Tuegel2-71/+52
All package sets are simultaneously updated to accommodate changes to package-build. Due to new restrictions in package-build, all packages using `melpaBuild` must now provide a recipe file, even those packages which are not included in upstream MELPA.
2018-02-15nix-buffer: make eshell-path-env be inheritedMatthew Justin Bauer1-0/+2
2018-02-11Filter nix-buffer packagesMatthew Justin Bauer1-1/+2
Null packages cause an error
2018-01-31Add setFunctionArgs lib function.Shea Levy1-1/+1
Among other things, this will allow *2nix tools to output plain data while still being composable with the traditional callPackage/.override interfaces.
2018-01-04Fix emacsWithPackages after 7f3ca3e21a22fd3101b40cadb86899542dec2e35.Shea Levy1-1/+35
This is hacky but it does the job, resurrects findInputs from before staging merge
2017-12-30treewide: Don't use envHook anymoreJohn Ericson1-1/+5
This commits needs a MAJOR audit as I oftentimes just guessed which of `$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-08-04Fix emacs wrapper expression to honor bash array useMichael Alan Dorman1-1/+2
In 8d76eff, @Ericson2314 changed the representation of the value that `findInputs` generated from a whitespace-separated bunch strings to an actual array of strings. Expressions that *consume* that value, however, also needed to be changed to iterate over all the contents of the array, else they would only select the first value, which turns out to be somewhat limiting. Fixes #27873
2017-05-29emacsWithPackages: support installing larger packagesRodney Lorrimar1-0/+3
I was getting the following error building tide from Melpa: nix-build -E '(import <nixpkgs> {}).emacs25WithPackages (p: [p.melpaPackages.tide])' File tide-20170509.1134.tar is large (10.2M), really open? (y or n) Error reading from stdin builder for ‘/nix/store/gs9ik7yf8iilsikkfing74i70m0diax3-emacs-tide-20170509.1134.drv’ failed with exit code 255 cannot build derivation ‘/nix/store/m3p080aani4rw82llp8nqk93cw2nvirk-emacs-with-packages-25.2.drv’: 1 dependencies couldn't be built Solution was to disable the large file warning threshold when installing packages.
2017-05-20emacsWithPackages: wrap MacOS appMatthew Bauer1-0/+13
fixes #22893
2017-05-02Fix documentation of emacsWithPackagesUtku Demir1-1/+1
After [this change](https://github.com/NixOS/nixpkgs/commit/901a778c7744b25013168dde1a2a548ad531fd78), it should be `overrideScope` instead of `override`.
2017-05-01nixBufferBuilders: Add haskellMonoRepo builderShea Levy1-1/+25
2017-03-25nix-buffer support: Make process-environment changes actually localShea Levy1-0/+2
2017-03-01nixBufferBuilders.withPackages: Fix buffer count logicShea Levy1-6/+9
2016-10-07Merge pull request #18985 from dudebout/emacs-with-c-srcDamien Cassou1-1/+2
emacs: add an option to install the C source
2016-10-07nix-buffer support improvements.Shea Levy1-12/+36
Use inherit-local, add per-package elisp hooks.
2016-09-27emacsWrapper: remove site-start.elcNicolas Dudebout1-1/+2
2016-09-05nixBufferBuilders.withPackages: Make more legible, special-case proof-general.Shea Levy1-14/+17
There's some bigger changes coming, but thought I'd push this first...
2016-09-05Initial version of nixBufferBuilders.withPackages.Shea Levy1-0/+20
This builds elisp to setup an emacs buffer with the packages given available. See shlevy/nix-buffer for more information. Currently only modifies $PATH.
2016-08-19Revert "Merge pull request #17806 from matthewbauer/emacs-wrapper"Thomas Tuegel1-6/+2
This reverts commit da681277373320321a4e60f3491915b16f0b9f80, reversing changes made to 2ba494b728ef9ba46e525132457a45a2384cf40e. These changes are reverted because they cause an incompatibility which they should not.
2016-08-17emacs: add versatile "emacsWrapper"Matthew Bauer1-2/+6
"emacsWrapper" replaces emacsWithPackages. In addition to "packagesFun", emacsWrapper has an optional variable called "execStart". execStart can be used to append elisp to the default site-start.el script. This is useful for providing a way to load a user's .emacs.d/init.el file. "emacsWithPackages" is implemented with emacsWrapper for convenience and compatability.
2016-05-12emacs: hide wrapper dependenciesSamuel Rivas1-51/+53
Move all the dependencies to their own derivation, so that we don't publish all of them if the wrapper is installed in a profile. The previous solution just moved them to a custom directory to avoid conflicts, this refactors that and completely hides them, while preserving the desired improvement of adding only one directory to each of the emacs search paths
2016-04-03emacsWithPackages: reduce some duplicationSamuel Rivas1-9/+11
2016-04-03emacsWithPackages: move bin and site-lisp to private share directorySamuel Rivas1-9/+13
This is to avoid unwanted side effects when installing a wrapped emacs in the environment: * All executables in the dependencies become available in the user environment * All site-lisp binaries in the dependencies become accessible to unwrapped emacs Also, both bin and site-lisp would generate conflicts so installing a wrapped emacs becomes really cumbersome
2016-01-20emacsWithPackages: link packages into single load-pathThomas Tuegel1-29/+29
This should provide a small speed improvement by avoiding having to set hundreds of load-paths.
2016-01-20emacsWithPackages: defer loading package.elThomas Tuegel1-6/+4
Also stops duplicating load paths.
2016-01-20emacsWithPackages: use local variables correctlyThomas Tuegel1-1/+1
2016-01-18elpa2nix: fix packages with DOS line endingsThomas Tuegel1-4/+7
2016-01-18elpaBuild: factor out package installationThomas Tuegel4-27/+59
Building packages requires package-build.el from Melpa, but installing packages only requires package.el. Packages from ELPA are already built, so there is no need to involve package-build.el.
2016-01-18melpaBuild: keep original source file names without hashThomas Tuegel1-2/+5
2016-01-18melpaBuild: don't download dependenciesThomas Tuegel1-1/+18
Stop package.el from trying to download dependencies. It wouldn't work anyway.
2016-01-18melpaBuild: don't guess archive file nameThomas Tuegel2-22/+25
package-build can tell us exactly what the archive file name is, instead of globbing for it.
2016-01-18melpaBuild: get Emacs package name from recipeThomas Tuegel2-3/+5
When building a package from a Melpa recipe file, get the Emacs package name from the recipe. Nix is more restrictive about packages names than Emacs, so the Nix name for a package is sometimes different.
2015-12-29melpaBuild: accept recipeFile in lieu of fileSpecsThomas Tuegel2-0/+20
2015-12-27melpaBuild: update package-build.elThomas Tuegel2-7/+7
2015-12-19emacsWithPackages: add user documentationThomas Tuegel1-0/+34