From 7466e0f264426f47086dbabb0384b0ebd3026c0c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 29 Dec 2015 13:23:49 -0600 Subject: [PATCH] melpaBuild: accept recipeFile in lieu of fileSpecs --- pkgs/build-support/emacs/melpa.nix | 11 +++++++++++ pkgs/build-support/emacs/melpa2nix.el | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix index a1f10ad31437..8fd2a00b50a8 100644 --- a/pkgs/build-support/emacs/melpa.nix +++ b/pkgs/build-support/emacs/melpa.nix @@ -8,6 +8,8 @@ with lib; { pname , version +, recipeFile ? null + , files ? null , fileSpecs ? [ "*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" @@ -43,8 +45,17 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({ runHook preBuild emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \ + ${if recipeFile == null + then + '' -f melpa2nix-build-package \ ${pname} ${version} ${targets} + '' + else + '' + -f melpa2nix-build-package-from-recipe \ + ${pname} ${version} ${recipeFile} + ''} runHook postBuild ''; diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el index 858ffd7593bf..f1309fc0d57b 100644 --- a/pkgs/build-support/emacs/melpa2nix.el +++ b/pkgs/build-support/emacs/melpa2nix.el @@ -21,6 +21,15 @@ (`(,package ,version . ,files) (melpa2nix-package-build-archive package version files)))) +(defun melpa2nix-build-package-from-recipe () + (if (not noninteractive) + (error "`melpa2nix-build-package' is to be used only with -batch")) + (pcase command-line-args-left + (`(,package ,version ,recipe-file) + (let* ((rcp (cdr (package-build--read-from-file recipe-file))) + (files (package-build--config-file-list rcp))) + (melpa2nix-package-build-archive package version files))))) + (defun melpa2nix-package-build-archive (name version files) "Build a package archive for package NAME." (package-build--message "\n;;; %s\n" name)