summary refs log tree commit diff
path: root/pkgs/build-support/emacs
Commit message (Collapse)AuthorAge
* emacs package setup hook: Fix FixHerwig Hochleitner2019-11-23
| | | | | | | | A trailing separator in emacs load paths has semantics cc @Ericson2314 @adisbladis https://github.com/NixOS/nixpkgs/pull/73287 This partially reverts commit ca782498a9532c48d8e12ce402813486ab90e7f0
* emacs package setup hook: FixJohn Ericson2019-11-08
| | | | | | | | 1. Make the test more robust 2. EMACSLOADPATH may be initially undefined. 3. did `targetOffset` twice when meant `hostOffset` too
* emacs: use runCommand to generate wrapperRobert Helgesson2019-09-18
| | | | | | | | | | 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.
* emacsPackages: Drop old emacsPackages (non-NG) setsadisbladis2019-08-30
| | | | These have been deprecated for a long time now and has not seen much maintenance.
* treewide: Remove usage of isNullDaniel Schaefer2019-04-29
| | | | isNull "is deprecated; just write e == null instead" says the Nix manual
* emacs: Link subdirs.el into emacs-packages-depsMohammed Yaseen Mowzer2019-02-02
| | | | | | | | | | | 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.
* melpaBuild: Get package-build from melpa/package-buildThomas Tuegel2018-11-27
| | | | | | | | 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.
* emacsPackagesNg.trivialBuild: cleanup and standardize functionBenjamin Hipple2018-11-27
| | | | | | 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`.
* lib: Make `overrideScope'` which takes arguments in the conventional orderJohn Ericson2018-09-24
| | | | | | | | | | | | | | | | | | 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.
* Fix pname to ename propagation if nullPeriklis Tsirakidis2018-07-27
|
* melpaBuild: use Emacs package names to satisfy package-buildThomas Tuegel2018-07-23
| | | | | | | | | | 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
* pkgs/*: remove unreferenced function argumentsvolth2018-07-21
|
* emacsPackagesNg: 2018-07-15 updateThomas Tuegel2018-07-15
| | | | | | | 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.
* nix-buffer: make eshell-path-env be inheritedMatthew Justin Bauer2018-02-15
|
* Filter nix-buffer packagesMatthew Justin Bauer2018-02-11
| | | Null packages cause an error
* Add setFunctionArgs lib function.Shea Levy2018-01-31
| | | | | | Among other things, this will allow *2nix tools to output plain data while still being composable with the traditional callPackage/.override interfaces.
* Fix emacsWithPackages after 7f3ca3e21a22fd3101b40cadb86899542dec2e35.Shea Levy2018-01-04
| | | | This is hacky but it does the job, resurrects findInputs from before staging merge
* treewide: Don't use envHook anymoreJohn Ericson2017-12-30
| | | | | This commits needs a MAJOR audit as I oftentimes just guessed which of `$hostOffset`, `$targetOffset`, or a fixed offset should be used.
* Fix emacs wrapper expression to honor bash array useMichael Alan Dorman2017-08-04
| | | | | | | | | | | | 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
* emacsWithPackages: support installing larger packagesRodney Lorrimar2017-05-29
| | | | | | | | | | | | | 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.
* emacsWithPackages: wrap MacOS appMatthew Bauer2017-05-20
| | | | fixes #22893
* Fix documentation of emacsWithPackagesUtku Demir2017-05-02
| | | After [this change](https://github.com/NixOS/nixpkgs/commit/901a778c7744b25013168dde1a2a548ad531fd78), it should be `overrideScope` instead of `override`.
* nixBufferBuilders: Add haskellMonoRepo builderShea Levy2017-05-01
|
* nix-buffer support: Make process-environment changes actually localShea Levy2017-03-25
|
* nixBufferBuilders.withPackages: Fix buffer count logicShea Levy2017-03-01
|
* Merge pull request #18985 from dudebout/emacs-with-c-srcDamien Cassou2016-10-07
|\ | | | | emacs: add an option to install the C source
| * emacsWrapper: remove site-start.elcNicolas Dudebout2016-09-27
| |
* | nix-buffer support improvements.Shea Levy2016-10-07
|/ | | | Use inherit-local, add per-package elisp hooks.
* nixBufferBuilders.withPackages: Make more legible, special-case proof-general.Shea Levy2016-09-05
| | | | There's some bigger changes coming, but thought I'd push this first...
* Initial version of nixBufferBuilders.withPackages.Shea Levy2016-09-05
| | | | | | | This builds elisp to setup an emacs buffer with the packages given available. See shlevy/nix-buffer for more information. Currently only modifies $PATH.
* Revert "Merge pull request #17806 from matthewbauer/emacs-wrapper"Thomas Tuegel2016-08-19
| | | | | | | | This reverts commit da681277373320321a4e60f3491915b16f0b9f80, reversing changes made to 2ba494b728ef9ba46e525132457a45a2384cf40e. These changes are reverted because they cause an incompatibility which they should not.
* emacs: add versatile "emacsWrapper"Matthew Bauer2016-08-17
| | | | | | | | | "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.
* emacs: hide wrapper dependenciesSamuel Rivas2016-05-12
| | | | | | | | | 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
* emacsWithPackages: reduce some duplicationSamuel Rivas2016-04-03
|
* emacsWithPackages: move bin and site-lisp to private share directorySamuel Rivas2016-04-03
| | | | | | | | | 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
* emacsWithPackages: link packages into single load-pathThomas Tuegel2016-01-20
| | | | | This should provide a small speed improvement by avoiding having to set hundreds of load-paths.
* emacsWithPackages: defer loading package.elThomas Tuegel2016-01-20
| | | | Also stops duplicating load paths.
* emacsWithPackages: use local variables correctlyThomas Tuegel2016-01-20
|
* elpa2nix: fix packages with DOS line endingsThomas Tuegel2016-01-18
|
* elpaBuild: factor out package installationThomas Tuegel2016-01-18
| | | | | | 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.
* melpaBuild: keep original source file names without hashThomas Tuegel2016-01-18
|
* melpaBuild: don't download dependenciesThomas Tuegel2016-01-18
| | | | | Stop package.el from trying to download dependencies. It wouldn't work anyway.
* melpaBuild: don't guess archive file nameThomas Tuegel2016-01-18
| | | | | package-build can tell us exactly what the archive file name is, instead of globbing for it.
* melpaBuild: get Emacs package name from recipeThomas Tuegel2016-01-18
| | | | | | 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.
* melpaBuild: accept recipeFile in lieu of fileSpecsThomas Tuegel2015-12-29
|
* melpaBuild: update package-build.elThomas Tuegel2015-12-27
|
* emacsWithPackages: add user documentationThomas Tuegel2015-12-19
|
* emacsWithPackages: know its own package setThomas Tuegel2015-12-19
| | | | | | Fixes #10819. emacsWithPackages will know its own package set. This requires it to be in a package set, rather than at the top level, so it lives in emacsPackagesNg.
* melpaBuild: add unpackCmd for single-file packagesThomas Tuegel2015-12-06
| | | | | | Emacs packages are commonly distributed as single .el files. This unpackCmd handles them correctly and sets up sourceRoot. Other sources are treated in the default manner.
* all-packages: Use callPackage where possibleMathnerd3142015-09-14
|