summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2016-01-16 10:01:33 -0600
committerThomas Tuegel <ttuegel@gmail.com>2016-01-18 15:29:17 -0600
commit18251778c956bf18a8a70d687ac2b66967c459dd (patch)
tree43515c6f095cdb395c8386c79783814e931c0cde
parent4b2303b8c9758e9bff119d4dfe7bc8b039a73ef1 (diff)
downloadnixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar.gz
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar.bz2
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar.lz
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar.xz
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.tar.zst
nixlib-18251778c956bf18a8a70d687ac2b66967c459dd.zip
melpaBuild: don't guess archive file name
package-build can tell us exactly what the archive file name is, instead
of globbing for it.
-rw-r--r--pkgs/build-support/emacs/melpa.nix38
-rw-r--r--pkgs/build-support/emacs/melpa2nix.el9
2 files changed, 25 insertions, 22 deletions
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
index ae228f48b025..fb2440811476 100644
--- a/pkgs/build-support/emacs/melpa.nix
+++ b/pkgs/build-support/emacs/melpa.nix
@@ -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
+        export archive=$(emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
+            -f melpa2nix-build-package \
+            ${pname} ${version} ${targets})
+
+        runHook postBuild
       ''
-      -f melpa2nix-build-package-from-recipe \
-      ${recipeFile} ${version}
-      ''}
+      else ''
+        runHook preBuild
 
-    runHook postBuild
-  '';
+        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
   '';
diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el
index babca25277c8..ea5b1390ad8c 100644
--- a/pkgs/build-support/emacs/melpa2nix.el
+++ b/pkgs/build-support/emacs/melpa2nix.el
@@ -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)))))