summary refs log tree commit diff
path: root/pkgs/build-support/emacs/melpa.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/emacs/melpa.nix')
-rw-r--r--pkgs/build-support/emacs/melpa.nix63
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"
+                    ])