diff options
Diffstat (limited to 'pkgs/build-support/emacs/melpa.nix')
-rw-r--r-- | pkgs/build-support/emacs/melpa.nix | 63 |
1 files changed, 13 insertions, 50 deletions
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix index 11cb14f93db4..607a1b4a5ef6 100644 --- a/pkgs/build-support/emacs/melpa.nix +++ b/pkgs/build-support/emacs/melpa.nix @@ -1,14 +1,12 @@ -# generic builder for Emacs packages +# builder for Emacs packages built for packages.el +# using MELPA package-build.el -{ stdenv, fetchurl, emacs, texinfo -, extension ? (self : super : {}) -}: +{ lib, stdenv, fetchurl, emacs, texinfo }: + +with lib; { pname , version -, src -, packageRequires ? [] -, extraBuildInputs ? [] , files ? null , fileSpecs ? [ "*.el" "*.el.in" "dir" @@ -18,19 +16,12 @@ , meta ? {} -, preUnpack ? "", postUnpack ? "" -, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? "" -, configureFlags ? [], preConfigure ? "", postConfigure ? "" -, buildPhase ? "", preBuild ? "", postBuild ? "" -, preInstall ? "", postInstall ? "" -, doCheck ? false, checkPhase ? "", preCheck ? "", postCheck ? "" -, preFixup ? "", postFixup ? "" -}: +, ... +}@args: let - inherit (stdenv.lib) concatStringsSep optionalAttrs; - packageBuild = fetchurl { + packageBuild = fetchurl { url = https://raw.githubusercontent.com/milkypostman/melpa/12a862e5c5c62ce627dab83d7cf2cca6e8b56c47/package-build.el; sha256 = "1nviyyprypz7nmam9rwli4yv3kxh170glfbznryrp4czxkrjjdhk"; }; @@ -40,23 +31,13 @@ let targets = concatStringsSep " " (if files == null then fileSpecs else files); defaultMeta = { - broken = false; homepage = "http://melpa.org/#/${pname}"; - platforms = emacs.meta.platforms; }; in -stdenv.mkDerivation ({ - name = "emacs-${fname}"; - - inherit src packageBuild; - - buildInputs = [emacs texinfo] ++ packageRequires ++ extraBuildInputs; - propagatedBuildInputs = packageRequires; - propagatedUserEnvPkgs = packageRequires; - - setupHook = ./setup-hook.sh; +import ./generic.nix { inherit lib stdenv emacs texinfo; } ({ + inherit packageBuild; buildPhase = '' runHook preBuild @@ -81,24 +62,6 @@ stdenv.mkDerivation ({ meta = defaultMeta // meta; } -// optionalAttrs (preUnpack != "") { inherit preUnpack; } -// optionalAttrs (postUnpack != "") { inherit postUnpack; } -// optionalAttrs (configureFlags != []) { inherit configureFlags; } -// optionalAttrs (patches != []) { inherit patches; } -// optionalAttrs (patchPhase != "") { inherit patchPhase; } -// optionalAttrs (prePatch != "") { inherit prePatch; } -// optionalAttrs (postPatch != "") { inherit postPatch; } -// optionalAttrs (preConfigure != "") { inherit preConfigure; } -// optionalAttrs (postConfigure != "") { inherit postConfigure; } -// optionalAttrs (buildPhase != "") { inherit buildPhase; } -// optionalAttrs (preBuild != "") { inherit preBuild; } -// optionalAttrs (postBuild != "") { inherit postBuild; } -// optionalAttrs (doCheck) { inherit doCheck; } -// optionalAttrs (checkPhase != "") { inherit checkPhase; } -// optionalAttrs (preCheck != "") { inherit preCheck; } -// optionalAttrs (postCheck != "") { inherit postCheck; } -// optionalAttrs (preInstall != "") { inherit preInstall; } -// optionalAttrs (postInstall != "") { inherit postInstall; } -// optionalAttrs (preFixup != "") { inherit preFixup; } -// optionalAttrs (postFixup != "") { inherit postFixup; } -) +// removeAttrs args [ "files" "fileSpecs" + "meta" + ]) |