diff options
| author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-10-29 14:00:21 -0400 |
|---|---|---|
| committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-10-29 14:00:21 -0400 |
| commit | 18de3e1b6bdbbf2c5ceb271368d453c357f3adc1 (patch) | |
| tree | b01c91a9088bcc0aba007b3aec05ea6185c13fa6 /README | |
| parent | 97762d8785968b5758e299d40e0b0277f1e4c381 (diff) | |
README (Getting the source): Sync with the `admin/README`
Diffstat (limited to 'README')
| -rw-r--r-- | README | 34 |
1 files changed, 19 insertions, 15 deletions
@@ -39,28 +39,26 @@ The layout of the =elpa.git= repository is as follows: * Getting the source -Start with source that is cloned directly from Savannah. See [[https://savannah.gnu.org/git/?group=emacs][the -Savannah page]] and look for "GNU ELPA". Using a clone of a clone does -not work. +Start with source that is cloned directly from Savannah +(See [[https://savannah.gnu.org/git/?group=emacs][the Savannah page]] and look for "ELPA"). +Using a clone of a clone might not work. -The =Makefile= in =main= will automatically pull the =elpa-admin= -branch to populate the =admin= subdirectory. This is done by: +The repository is large because it contains all the packages, so you +will usually want to clone with =--single-branch= to avoid downloading +a large amount of irrelevant data. More specifically, here is how you +can get the source and setup the general infrastructure: #+begin_src shell - make setup + git clone --single-branch git://git.savannah.gnu.org/emacs/elpa.git + cd elpa + make #+end_src -This will checkout the =elpa-admin= branch to the subdirectory -=admin=. +Where the =Makefile= in the =main= branch is used to automatically +pull the =elpa-admin= branch to populate the =admin= subdirectory. However, it leaves the =packages= directory empty; you must check out -the ones you want. The =Makefile= in the =admin= subdirectory is -responsible for populating the =packages= subdirectories from the -relevant sources. - -Note that this =Makefile= is symlinked to the root of the repository -by the above =make setup= command. This means that you can run -targets directly from +the ones you want. ** Check out all packages @@ -80,6 +78,12 @@ directory with this command: make packages/<pkgname> #+end_src +The first time you run this command, it just populates that directory. +After that, it will (re)"build" the package for use in-place, i.e. it will +create (or refresh) the =<pkgname>-pkg.el= and =<pkgname>-autoloads.el= files +and (re)compile the ELisp files under the assumption that you have put +=.../elpa/packages/= into your =package-directory-list=. + ** Updating a package directory If you already have a =packages/<pkgname>= directory with a previous |
