about summary refs log tree commit diff
path: root/nixpkgs/pkgs/build-support/emacs/elpa.nix
blob: a43578fd3936b2762a88051fc47c2e93ed34ad86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# builder for Emacs packages built for packages.el

{ lib, stdenv, emacs, texinfo, writeText, gcc }:

let
  handledArgs = [ "files" "fileSpecs" "meta" ];
  genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };

in

{ pname
, version
, src
, meta ? {}
, ...
}@args:

genericBuild ({

  dontUnpack = true;

  installPhase = ''
    runHook preInstall

    emacs --batch -Q -l ${./elpa2nix.el} \
        -f elpa2nix-install-package \
        "$src" "$out/share/emacs/site-lisp/elpa"

    runHook postInstall
  '';

  meta = {
    homepage = args.src.meta.homepage or "https://elpa.gnu.org/packages/${pname}.html";
  } // meta;
}

// removeAttrs args handledArgs)