summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTad Fisher <tadfisher@gmail.com>2022-05-23 12:52:17 -0700
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-05-26 02:53:28 +0000
commitc8bb3de96e999ad74f84371cca162e11b3954dd6 (patch)
tree597ce8342fcf2f4608c0ee12e273e7aa745fa38c
parentMerge pull request #174625 from NixOS/backport-174285-to-release-22.05 (diff)
downloadnixpkgs-origin/backport-174178-to-release-22.05.tar.gz
emacsPackages.melpaBuild: Update package-build, avoid monkey-patchorigin/backport-174178-to-release-22.05
(cherry picked from commit b4e4982e6ce36281159e2256a936f302bda1eb5c)
-rw-r--r--pkgs/build-support/emacs/melpa.nix4
-rw-r--r--pkgs/build-support/emacs/melpa2nix.el18
2 files changed, 16 insertions, 6 deletions
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
index 408448f26a0e..924e6d95f14a 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 gcc; } ({
packageBuild = fetchFromGitHub {
owner = "melpa";
repo = "package-build";
- rev = "047801d301a73d4932f33f768d94a8ed26b8d524";
- sha256 = "0ygzkpg7xc3mjjbxg1kcyz6fwbkb0prvca499f0ffmhfaiv28h59";
+ rev = "35017a2d87376c70c3239f48bdbac7efca85aa10";
+ sha256 = "07hdmam85452v4r2vaabj1qfyami1hgbh0jgj9dcwbkpr0y1gvqj";
};
elpa2nix = ./elpa2nix.el;
diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el
index 383423af0818..72667dea652c 100644
--- a/pkgs/build-support/emacs/melpa2nix.el
+++ b/pkgs/build-support/emacs/melpa2nix.el
@@ -11,12 +11,22 @@
;; Allow installing package tarfiles larger than 10MB
(setq large-file-warning-threshold nil)
+(defun melpa2nix-build-package-1 (rcp version commit)
+ (let ((source-dir (package-recipe--working-tree rcp)))
+ (unwind-protect
+ (let ((files (package-build-expand-files-spec rcp t)))
+ (cond
+ ((= (length files) 1)
+ (package-build--build-single-file-package
+ rcp version commit files source-dir))
+ ((> (length files) 1)
+ (package-build--build-multi-file-package
+ rcp version commit files source-dir))
+ (t (error "Unable to find files matching recipe patterns")))))))
+
(defun melpa2nix-build-package ()
(if (not noninteractive)
(error "`melpa2nix-build-package' is to be used only with -batch"))
(pcase command-line-args-left
(`(,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))))
+ (melpa2nix-build-package-1 (package-recipe-lookup package) version commit))))