melpaBuild: don't guess archive file name

package-build can tell us exactly what the archive file name is, instead
of globbing for it.
This commit is contained in:
Thomas Tuegel 2016-01-16 10:01:33 -06:00
parent 4b2303b8c9
commit 18251778c9
2 changed files with 26 additions and 23 deletions

View file

@ -28,8 +28,6 @@ let
sha256 = "1biwg2pqmmdz5iwqbjdszljazqymvgyyjcnc255nr6qz8mhnx67j";
};
fname = "${pname}-${version}";
targets = concatStringsSep " " (if files == null then fileSpecs else files);
defaultMeta = {
@ -41,31 +39,33 @@ in
import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
inherit packageBuild;
buildPhase = ''
runHook preBuild
buildPhase =
if recipeFile == null
then ''
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 \
${recipeFile} ${version}
''}
export archive=$(emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
-f melpa2nix-build-package \
${pname} ${version} ${targets})
runHook postBuild
'';
runHook postBuild
''
else ''
runHook preBuild
export archive=$(emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
-f melpa2nix-build-package-from-recipe \
${recipeFile} ${version})
runHook postBuild
'';
installPhase = ''
runHook preInstall
emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
-f melpa2nix-install-package \
${fname}.* $out/share/emacs/site-lisp/elpa
-f melpa2nix-install-package \
"$archive" "$out/share/emacs/site-lisp/elpa"
runHook postInstall
'';

View file

@ -40,8 +40,11 @@
version
files
package-build-working-dir
package-build-archive-dir)))
package-build-archive-dir))
(archive-file (package-build--archive-file-name archive-entry)))
(package-build--message "Built in %.3fs, finished at %s"
(progn
(package-build--message "Built in %.3fs, finished at %s"
(time-to-seconds (time-since start-time))
(current-time-string))))
(current-time-string))
(princ (format "%s\n" archive-file)))))