diff options
Diffstat (limited to 'pkgs/build-support/emacs/melpa2nix.el')
-rw-r--r-- | pkgs/build-support/emacs/melpa2nix.el | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el new file mode 100644 index 0000000000000..d54e9d21e25e1 --- /dev/null +++ b/pkgs/build-support/emacs/melpa2nix.el @@ -0,0 +1,36 @@ +(require 'package) +(package-initialize) + +(require 'package-build) + +(setq package-build-working-dir (expand-file-name ".") + package-build-archive-dir (expand-file-name ".")) + +(defun melpa2nix-install-package () + (if (not noninteractive) + (error "`melpa2nix-install-package' is to be used only with -batch")) + (pcase command-line-args-left + (`(,archive ,elpa) + (progn (setq package-user-dir elpa) + (package-install-file archive))))) + +(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 . ,files) + (melpa2nix-package-build-archive package version files)))) + +(defun melpa2nix-package-build-archive (name version files) + "Build a package archive for package NAME." + (pb/message "\n;;; %s\n" name) + (let* ((start-time (current-time)) + (archive-entry (package-build-package name + version + files + package-build-working-dir + package-build-archive-dir))) + + (pb/message "Built in %.3fs, finished at %s" + (time-to-seconds (time-since start-time)) + (current-time-string)))) |