Download Local Emacs Packages

— TOC
Steps to locally download emacs packages for offline installation.
Local ELPA MELPA ORG
cd ~ mkdir -p emacs-pkgs/melpa mkdir -p emacs-pkgs/elpa
# mirror the melpa emacs archive echo echo "updating MELPA..." echo rsync -avz --delete --progress rsync://melpa.org/packages/ ~/emacs-pkgs/melpa/.
# elpa echo echo "updating ELPA..." echo rsync -avz --delete --progress elpa.gnu.org::elpa/. ~/emacs-pkgs/elpa
# org (currently no rsync support) echo echo "updating ORG..." echo cd ~/emacs-pkgs git clone https://git.savannah.gnu.org/git/emacs/org-mode.git
I then copy the emacs-pkgs directory to the offline target machine and change the default package manager archives to point to these packages.
Modify .emacs in the following manner commenting out the online package communication:
;; (setq package-archives '(("melpa" . "https://melpa.org/packages/")
;; ("org" . "https://orgmode.org/elpa/")
;; ("elpa" . "https://elpa.gnu.org/packages/")))
(setq package-archives '(("melpa". "~/emacs-pkgs/melpa")
("org" . "~/emacs-pkgs/elpa")
("elpa" . "~/emacs-pkgs/org-mode/lisp")))
Local from Mirror
First, you need to clone this repository.
git clone --depth 1 git@gitlab.com:d12frosted/elpa-mirror.git ~/.elpa-mirror
And then setup package-archives in your init.el file.
(setq package-archives
`(("melpa" . ,(concat user-home-directory ".elpa-mirror/melpa/"))
("org" . ,(concat user-home-directory ".elpa-mirror/org/"))
("gnu" . ,(concat user-home-directory ".elpa-mirror/gnu/"))))
https://github.com/d12frosted/elpa-mirror
Extra
ada-mode
ada-mode.el version 4.0 before AdaCore
(add-to-list 'load-path "~/emacs-pkgs/old/ada-mode-4.1")
(require 'ada-mode)