diff options
author | Jan Malakhovski <oxij@oxij.org> | 2014-01-20 23:57:04 +0000 |
---|---|---|
committer | Jan Malakhovski <oxij@oxij.org> | 2015-03-03 16:02:15 +0000 |
commit | e4a4e109ba49f3868f63a61e514c4846a1cd0b9a (patch) | |
tree | 66eea07b9a477857ed69dbd44bd153dbd78d1007 /pkgs/build-support/emacs/generic.nix | |
parent | a444eff3f29c292ffb62700572cbd4c9cdb3718b (diff) | |
download | nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar.gz nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar.bz2 nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar.lz nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar.xz nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.tar.zst nixlib-e4a4e109ba49f3868f63a61e514c4846a1cd0b9a.zip |
refactor Emacs packages'/modes' builders
This simplifies melpa builder by merging with it my old emacs modes builder, adds better instructions and support for overrides in emacs-packages.nix, and renames some emacs-related stuff in all-packages.nix for sanity reasons. I declare this backwards compatible since direct uses of emacsPackages in configuration.nix are very unlikely.
Diffstat (limited to 'pkgs/build-support/emacs/generic.nix')
-rw-r--r-- | pkgs/build-support/emacs/generic.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/build-support/emacs/generic.nix b/pkgs/build-support/emacs/generic.nix new file mode 100644 index 000000000000..be81e93e32ae --- /dev/null +++ b/pkgs/build-support/emacs/generic.nix @@ -0,0 +1,41 @@ +# generic builder for Emacs packages + +{ lib, stdenv, emacs, texinfo }: + +with lib; + +{ pname +, version ? null + +, buildInputs ? [] +, packageRequires ? [] + +, meta ? {} + +, ... +}@args: + +let + defaultMeta = { + broken = false; + platforms = emacs.meta.platforms; + }; +in + +stdenv.mkDerivation ({ + name = "emacs-${pname}${optionalString (version != null) "-${version}"}"; + + buildInputs = [emacs texinfo] ++ packageRequires ++ buildInputs; + propagatedBuildInputs = packageRequires; + propagatedUserEnvPkgs = packageRequires; + + setupHook = ./setup-hook.sh; + + doCheck = false; + + meta = defaultMeta // meta; +} + +// removeAttrs args [ "buildInputs" "packageRequires" + "meta" + ]) |