diff --git a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix index 2ddafc4796c..8ecce11a742 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/libgenerated.nix @@ -67,8 +67,7 @@ in { lib.nameValuePair ename ( self.callPackage ({ melpaBuild, fetchurl, ... }@pkgargs: melpaBuild { - inherit pname; - ename = ename; + inherit pname ename commit; version = if isNull version then "" else lib.concatStringsSep "." (map toString version); # TODO: Broken should not result in src being null (hack to avoid eval errors) diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix index 824611b20c8..c30d3e59906 100644 --- a/pkgs/build-support/emacs/melpa.nix +++ b/pkgs/build-support/emacs/melpa.nix @@ -38,8 +38,8 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({ packageBuild = fetchFromGitHub { owner = "melpa"; repo = "package-build"; - rev = "0a22c3fbbf661822ec1791739953b937a12fa623"; - sha256 = "0dpy5p34il600sc8ic5jdgb3glya9si3lrvhxab0swks8fdydjgs"; + rev = "047801d301a73d4932f33f768d94a8ed26b8d524"; + sha256 = "0ygzkpg7xc3mjjbxg1kcyz6fwbkb0prvca499f0ffmhfaiv28h59"; }; elpa2nix = ./elpa2nix.el; @@ -70,7 +70,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({ -L "$NIX_BUILD_TOP/package-build" \ -l "$melpa2nix" \ -f melpa2nix-build-package \ - $ename $version + $ename $version $commit runHook postBuild ''; diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el index 99c755e2afc..bd2aadd5aeb 100644 --- a/pkgs/build-support/emacs/melpa2nix.el +++ b/pkgs/build-support/emacs/melpa2nix.el @@ -12,5 +12,8 @@ (if (not noninteractive) (error "`melpa2nix-build-package' is to be used only with -batch")) (pcase command-line-args-left - (`(,package ,version) + (`(,package ,version ,commit) + ;; Monkey-patch package-build so it doesn't shell out to git/hg. + (defun package-build--get-commit (&rest _) + commit) (package-build--package (package-recipe-lookup package) version))))