summaryrefslogtreecommitdiff
path: root/localrepo/package-build-20240415.1547.tar
blob: bc7a42fbc823ed5d4474c33b34b8a2fd344c4264 (plain)
ofshex dumpascii
0000 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 00 00 00 00 package-build-20240415.1547/....
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 30 33 00 20 35 00 00 00 0000000.00000000000.013503..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 70 61 63 6b package-build-20240415.1547/pack
0220 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 age-recipe-mode.el..............
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 31 31 33 34 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 36 30 37 00 20 30 00 00 00 0011341.00000000000.017607..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2e 65 6c 20 2d 2d 2d 20 4d ;;;.package-recipe-mode.el.---.M
0420 61 6a 6f 72 2d 6d 6f 64 65 20 66 6f 72 20 65 64 69 74 69 6e 67 20 70 61 63 6b 61 67 65 20 72 65 ajor-mode.for.editing.package.re
0440 63 69 70 65 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 3b 20 63 6f cipes..-*-.lexical-binding:t;.co
0460 64 69 6e 67 3a 75 74 66 2d 38 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 ding:utf-8.-*-..;;.Copyright.(C)
0480 20 32 30 31 31 2d 32 30 32 34 20 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 .2011-2024.Donald.Ephraim.Curtis
04a0 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 34 20 53 74 65 76 .;;.Copyright.(C).2012-2024.Stev
04c0 65 20 50 75 72 63 65 6c 6c 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d e.Purcell.;;.Copyright.(C).2016-
04e0 32 30 32 34 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 0a 3b 3b 20 43 6f 70 79 72 69 67 68 2024.Jonas.Bernoulli.;;.Copyrigh
0500 74 20 28 43 29 20 32 30 30 39 20 50 68 69 6c 20 48 61 67 65 6c 62 65 72 67 0a 0a 3b 3b 20 41 75 t.(C).2009.Phil.Hagelberg..;;.Au
0520 74 68 6f 72 3a 20 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 20 3c 64 63 75 thor:.Donald.Ephraim.Curtis.<dcu
0540 72 74 69 73 40 6d 69 6c 6b 62 6f 78 2e 6e 65 74 3e 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 rtis@milkbox.net>.;;.Homepage:.h
0560 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 65 6c 70 61 2f 70 61 63 6b 61 67 65 2d ttps://github.com/melpa/package-
0580 62 75 69 6c 64 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 6d 61 69 6e 74 20 74 6f 6f 6c 73 0a 0a build.;;.Keywords:.maint.tools..
05a0 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d ;;.SPDX-License-Identifier:.GPL-
05c0 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 3.0-or-later..;;.This.file.is.fr
05e0 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 ee.software:.you.can.redistribut
0600 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 e.it.and/or.modify.;;.it.under.t
0620 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
0640 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 0a 3b 3b 20 62 79 20 74 68 ic.License.as.published.;;.by.th
0660 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 e.Free.Software.Foundation,.eith
0680 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 0a 3b 3b 20 er.version.3.of.the.License,.;;.
06a0 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 or.(at.your.option).any.later.ve
06c0 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 rsion..;;.;;.This.file.is.distri
06e0 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 buted.in.the.hope.that.it.will.b
0700 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 e.useful,.;;.but.WITHOUT.ANY.WAR
0720 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 RANTY;.without.even.the.implied.
0740 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f warranty.of.;;.MERCHANTABILITY.o
0760 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f r.FITNESS.FOR.A.PARTICULAR.PURPO
0780 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c SE...See.the.;;.GNU.General.Publ
07a0 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a ic.License.for.more.details..;;.
07c0 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f ;;.You.should.have.received.a.co
07e0 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 py.of.the.GNU.General.Public.Lic
0800 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 66 69 6c 65 2e 20 20 49 ense.;;.along.with.this.file...I
0820 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f f.not,.see.<https://www.gnu.org/
0840 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b licenses/>...;;;.Commentary:..;;
0860 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 64 65 66 69 6e 65 73 20 74 68 65 20 6d 61 6a 6f 72 2d .This.library.defines.the.major-
0880 6d 6f 64 65 20 60 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 27 2c 20 77 68 69 63 mode.`package-recipe-mode',.whic
08a0 68 20 69 73 0a 3b 3b 20 75 73 65 64 20 66 6f 72 20 4d 65 6c 70 61 20 70 61 63 6b 61 67 65 20 72 h.is.;;.used.for.Melpa.package.r
08c0 65 63 69 70 65 20 66 69 6c 65 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 ecipe.files...;;;.Code:..(requir
08e0 65 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 29 0a 0a 28 64 65 66 76 61 72 20 66 6c 79 63 68 e.'package-build)..(defvar.flych
0900 65 63 6b 2d 63 68 65 63 6b 65 72 73 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 eck-checkers)..;;;###autoload.(d
0920 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 efvar.package-recipe-mode-map...
0940 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 (let.((map.(make-sparse-keymap))
0960 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 43 2d 63 20 ).....(define-key.map.(kbd."C-c.
0980 43 2d 63 22 29 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 63 75 72 72 65 6e 74 2d 72 65 63 C-c").'package-build-current-rec
09a0 69 70 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 43 ipe).....(define-key.map.(kbd."C
09c0 2d 63 20 43 2d 6e 22 29 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 63 72 65 61 74 65 2d 72 -c.C-n").'package-build-create-r
09e0 65 63 69 70 65 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 60 70 ecipe).....map)..."Keymap.for.`p
0a00 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 27 2e 22 29 0a 0a 3b 3b 3b 23 23 23 61 75 ackage-recipe-mode'.")..;;;###au
0a20 74 6f 6c 6f 61 64 0a 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6c 69 73 70 2d 64 61 74 61 2d 6d toload.(if.(fboundp.'lisp-data-m
0a40 6f 64 65 29 20 3b 20 53 69 6e 63 65 20 45 6d 61 63 73 20 32 38 2e 31 2e 0a 20 20 20 20 28 64 65 ode).;.Since.Emacs.28.1......(de
0a60 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 fine-derived-mode.package-recipe
0a80 2d 6d 6f 64 65 20 6c 69 73 70 2d 64 61 74 61 2d 6d 6f 64 65 20 22 4d 65 6c 70 61 2d 52 65 63 69 -mode.lisp-data-mode."Melpa-Reci
0aa0 70 65 22 0a 20 20 20 20 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 62 75 66 66 65 72 pe"......."Major.mode.for.buffer
0ac0 73 20 68 6f 6c 64 69 6e 67 20 4d 65 6c 70 61 20 70 61 63 6b 61 67 65 20 72 65 63 69 70 65 73 2e s.holding.Melpa.package.recipes.
0ae0 22 0a 20 20 20 20 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 ".......:group.'package-build...
0b00 20 20 20 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2d 2d 65 6e 61 62 6c 65 ....(package-recipe-mode--enable
0b20 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 70 61 63 6b 61 67 ))...(define-derived-mode.packag
0b40 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 22 4d e-recipe-mode.emacs-lisp-mode."M
0b60 65 6c 70 61 2d 52 65 63 69 70 65 22 0a 20 20 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 elpa-Recipe"....."Major.mode.for
0b80 20 62 75 66 66 65 72 73 20 68 6f 6c 64 69 6e 67 20 4d 65 6c 70 61 20 70 61 63 6b 61 67 65 20 72 .buffers.holding.Melpa.package.r
0ba0 65 63 69 70 65 73 2e 22 0a 20 20 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 ecipes.".....:group.'package-bui
0bc0 6c 64 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2d 2d 65 6e 61 ld.....(package-recipe-mode--ena
0be0 62 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f ble)))..(defun.package-recipe-mo
0c00 64 65 2d 2d 65 6e 61 62 6c 65 20 28 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 61 63 6b de--enable.()...(setq-local.pack
0c20 61 67 65 2d 62 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 20 64 65 66 61 75 6c 74 2d 64 69 age-build-recipes-dir.default-di
0c40 72 65 63 74 6f 72 79 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 61 63 6b 61 67 65 2d 62 rectory)...(setq-local.package-b
0c60 75 69 6c 64 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 uild-working-dir.(expand-file-na
0c80 6d 65 20 22 2e 2e 2f 77 6f 72 6b 69 6e 67 2f 22 29 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c me."../working/"))...(setq-local
0ca0 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 20 28 65 78 70 61 .package-build-archive-dir.(expa
0cc0 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 2e 2f 70 61 63 6b 61 67 65 73 2f 22 29 29 0a 20 20 nd-file-name."../packages/"))...
0ce0 28 73 65 74 71 2d 6c 6f 63 61 6c 20 66 6c 79 63 68 65 63 6b 2d 63 68 65 63 6b 65 72 73 20 6e 69 (setq-local.flycheck-checkers.ni
0d00 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 l)...(setq-local.indent-tabs-mod
0d20 65 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 65 71 75 69 72 65 2d 66 69 6e e.nil)...(setq-local.require-fin
0d40 61 6c 2d 6e 65 77 6c 69 6e 65 20 74 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 62 65 66 6f 72 al-newline.t)...(add-hook.'befor
0d60 65 2d 73 61 76 65 2d 68 6f 6f 6b 20 23 27 77 68 69 74 65 73 70 61 63 65 2d 63 6c 65 61 6e 75 70 e-save-hook.#'whitespace-cleanup
0d80 20 6e 69 6c 20 74 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 28 73 75 62 73 74 69 74 .nil.t)...(message."%s".(substit
0da0 75 74 65 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73 20 22 5c 0a 55 73 65 20 5c 5c 5b 70 61 63 6b 61 ute-command-keys."\.Use.\\[packa
0dc0 67 65 2d 62 75 69 6c 64 2d 63 75 72 72 65 6e 74 2d 72 65 63 69 70 65 5d 20 74 6f 20 62 75 69 6c ge-build-current-recipe].to.buil
0de0 64 20 74 68 69 73 20 72 65 63 69 70 65 2c 20 5c 0a 5c 5c 5b 70 61 63 6b 61 67 65 2d 62 75 69 6c d.this.recipe,.\.\\[package-buil
0e00 64 2d 63 72 65 61 74 65 2d 72 65 63 69 70 65 5d 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 d-create-recipe].to.create.a.new
0e20 20 72 65 63 69 70 65 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 .recipe")))..;;;###autoload.(def
0e40 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 63 72 65 61 74 65 2d 72 65 63 69 70 65 20 28 un.package-build-create-recipe.(
0e60 6e 61 6d 65 20 66 65 74 63 68 65 72 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 6e 65 77 20 72 65 name.fetcher)..."Create.a.new.re
0e80 63 69 70 65 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 64 20 4e 41 4d 45 20 cipe.for.the.package.named.NAME.
0ea0 75 73 69 6e 67 20 46 45 54 43 48 45 52 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 using.FETCHER."...(interactive..
0ec0 20 20 28 6c 69 73 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 50 61 63 6b 61 67 65 20 6e 61 ..(list.(read-string."Package.na
0ee0 6d 65 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 63 6f 6d 70 6c 65 74 me:.")..........(intern.(complet
0f00 69 6e 67 2d 72 65 61 64 20 22 46 65 74 63 68 65 72 3a 20 22 20 70 61 63 6b 61 67 65 2d 72 65 63 ing-read."Fetcher:.".package-rec
0f20 69 70 65 2d 2d 66 65 74 63 68 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ipe--fetchers...................
0f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 74 20 6e 69 6c 20 6e 69 6c 20 22 67 ................nil.t.nil.nil."g
0f60 69 74 68 75 62 22 29 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 63 69 70 65 2d 66 69 6c 65 20 ithub"))))...(let.((recipe-file.
0f80 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 20 70 61 63 6b 61 67 65 2d 62 (expand-file-name.name.package-b
0fa0 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 66 uild-recipes-dir))).....(when.(f
0fc0 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 72 65 63 69 70 65 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 ile-exists-p.recipe-file).......
0fe0 28 65 72 72 6f 72 20 22 52 65 63 69 70 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 22 29 29 (error."Recipe.already.exists"))
1000 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d .....(with-current-buffer.(find-
1020 66 69 6c 65 20 72 65 63 69 70 65 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 file.recipe-file).......(save-ex
1040 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 cursion.........(insert.(format.
1060 22 28 25 73 5c 6e 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 "(%s\n".name).................(f
1080 6f 72 6d 61 74 20 22 20 3a 66 65 74 63 68 65 72 20 25 73 5c 6e 22 20 66 65 74 63 68 65 72 29 0a ormat.".:fetcher.%s\n".fetcher).
10a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 66 65 74 63 68 65 ................(if.(memq.fetche
10c0 72 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 6f 72 67 65 2d 66 65 74 63 68 65 72 73 r.package-recipe--forge-fetchers
10e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 3a 72 65 70 6f 20 5c 22 ).....................".:repo.\"
1100 55 53 45 52 2f 52 45 50 4f 5c 22 29 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 USER/REPO\")\n".................
1120 20 20 22 20 3a 75 72 6c 20 5c 22 68 74 74 70 73 3a 2f 2f 54 4f 44 4f 5c 22 29 5c 6e 22 29 29 29 ..".:url.\"https://TODO\")\n")))
1140 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 )))..;;;###autoload.(defun.packa
1160 67 65 2d 62 75 69 6c 64 2d 63 75 72 72 65 6e 74 2d 72 65 63 69 70 65 20 28 29 0a 20 20 22 42 75 ge-build-current-recipe.()..."Bu
1180 69 6c 64 20 61 72 63 68 69 76 65 20 66 6f 72 20 74 68 65 20 72 65 63 69 70 65 20 64 65 66 69 6e ild.archive.for.the.recipe.defin
11a0 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e ed.in.the.current.buffer."...(in
11c0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 62 75 66 66 65 teractive)...(unless.(and.(buffe
11e0 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c r-file-name)................(fil
1200 65 2d 65 71 75 61 6c 2d 70 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 e-equal-p.(file-name-directory.(
1220 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 buffer-file-name))..............
1240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 ................package-build-re
1260 63 69 70 65 73 2d 64 69 72 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 42 75 66 66 65 72 20 69 cipes-dir)).....(error."Buffer.i
1280 73 20 6e 6f 74 20 76 69 73 69 74 69 6e 67 20 61 20 72 65 63 69 70 65 22 29 29 0a 20 20 28 77 68 s.not.visiting.a.recipe"))...(wh
12a0 65 6e 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 29 0a 20 20 20 20 28 69 66 20 28 en.(buffer-modified-p).....(if.(
12c0 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f 72 6d 61 74 20 22 53 61 76 65 20 66 69 6c 65 20 25 73 3f 20 y-or-n-p.(format."Save.file.%s?.
12e0 22 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 61 ".buffer-file-name)).........(sa
1300 76 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 41 62 6f 72 74 69 6e ve-buffer).......(error."Abortin
1320 67 22 29 29 29 0a 20 20 28 63 68 65 63 6b 2d 70 61 72 65 6e 73 29 0a 20 20 28 6c 65 74 20 28 28 g")))...(check-parens)...(let.((
1340 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 62 75 name.(file-name-nondirectory.(bu
1360 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d ffer-file-name)))).....(package-
1380 62 75 69 6c 64 2d 61 72 63 68 69 76 65 20 6e 61 6d 65 20 74 29 0a 20 20 20 20 28 6c 65 74 20 28 build-archive.name.t).....(let.(
13a0 28 65 6e 74 72 79 20 28 61 73 73 71 20 28 69 6e 74 65 72 6e 20 6e 61 6d 65 29 20 28 70 61 63 6b (entry.(assq.(intern.name).(pack
13c0 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 age-build-archive-alist)))......
13e0 20 20 20 20 20 28 6f 75 74 70 75 74 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a 70 61 63 6b 61 .....(output-buffer-name."*packa
1400 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 65 6e 74 72 79 2a 22 29 29 0a 20 20 20 20 20 ge-build-archive-entry*"))......
1420 20 28 77 69 74 68 2d 6f 75 74 70 75 74 2d 74 6f 2d 74 65 6d 70 2d 62 75 66 66 65 72 20 6f 75 74 .(with-output-to-temp-buffer.out
1440 70 75 74 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 put-buffer-name.........(princ."
1460 3b 3b 20 50 6c 65 61 73 65 20 63 68 65 63 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 ;;.Please.check.the.following.pa
1480 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 2e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 28 70 ckage.descriptor.\n").........(p
14a0 72 69 6e 63 20 22 3b 3b 20 49 66 20 74 68 65 20 63 6f 72 72 65 63 74 20 70 61 63 6b 61 67 65 20 rinc.";;.If.the.correct.package.
14c0 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 description.or.dependencies.are.
14e0 6d 69 73 73 69 6e 67 2c 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 3b 3b 20 missing,\n").........(princ.";;.
1500 74 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 2e 65 6c 20 66 69 6c 65 20 69 73 20 6c 69 6b 65 then.the.source..el.file.is.like
1520 6c 79 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 66 69 78 65 ly.malformed,.and.should.be.fixe
1540 64 2e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 28 70 70 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 d.\n").........(pp.entry))......
1560 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 6f 75 74 70 75 74 2d 62 75 66 .(with-current-buffer.output-buf
1580 66 65 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6c fer-name.........(if.(fboundp.'l
15a0 69 73 70 2d 64 61 74 61 2d 6d 6f 64 65 29 20 28 6c 69 73 70 2d 64 61 74 61 2d 6d 6f 64 65 29 20 isp-data-mode).(lisp-data-mode).
15c0 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 76 69 65 77 (emacs-lisp-mode)).........(view
15e0 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 49 -mode)).......(when.(y-or-n-p."I
1600 6e 73 74 61 6c 6c 20 6e 65 77 20 70 61 63 6b 61 67 65 3f 20 22 29 0a 20 20 20 20 20 20 20 20 28 nstall.new.package?.").........(
1620 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 2d 66 69 6c 65 20 28 70 61 63 6b 61 67 65 2d 62 75 package-install-file.(package-bu
1640 69 6c 64 2d 2d 61 72 74 69 66 61 63 74 2d 66 69 6c 65 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 ild--artifact-file.entry))......
1660 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 62 79 ...(pop-to-buffer.(get-buffer.by
1680 74 65 2d 63 6f 6d 70 69 6c 65 2d 6c 6f 67 2d 62 75 66 66 65 72 29 29 29 29 29 29 0a 0a 28 70 72 te-compile-log-buffer))))))..(pr
16a0 6f 76 69 64 65 20 27 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 29 0a 3b 3b 3b 20 ovide.'package-recipe-mode).;;;.
16c0 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6d 6f 64 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 package-recipe-mode.el.ends.here
16e0 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1800 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 70 61 63 6b package-build-20240415.1547/pack
1820 61 67 65 2d 72 65 63 69 70 65 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 age-recipe.el...................
1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1880 30 30 32 30 37 31 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 36 37 30 00 20 30 00 00 00 0020713.00000000000.016670..0...
18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a00 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2e 65 6c 20 2d 2d 2d 20 50 61 63 6b 61 67 ;;;.package-recipe.el.---.Packag
1a20 65 20 72 65 63 69 70 65 73 20 61 73 20 45 49 45 49 4f 20 6f 62 6a 65 63 74 73 20 20 2d 2a 2d 20 e.recipes.as.EIEIO.objects..-*-.
1a40 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 3b 20 63 6f 64 69 6e 67 3a 75 74 66 2d 38 20 lexical-binding:t;.coding:utf-8.
1a60 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 38 2d 32 30 32 34 20 -*-..;;.Copyright.(C).2018-2024.
1a80 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a 6f 6e 61 Jonas.Bernoulli..;;.Author:.Jona
1aa0 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 s.Bernoulli.<emacs.package-build
1ac0 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 48 6f 6d 65 70 61 67 @jonas.bernoulli.dev>.;;.Homepag
1ae0 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 65 6c 70 61 2f 70 61 63 6b e:.https://github.com/melpa/pack
1b00 61 67 65 2d 62 75 69 6c 64 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 6d 61 69 6e 74 20 74 6f 6f age-build.;;.Keywords:.maint.too
1b20 6c 73 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 ls..;;.SPDX-License-Identifier:.
1b40 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 GPL-3.0-or-later..;;.This.file.i
1b60 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software:.you.can.redistr
1b80 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
1ba0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
1bc0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 0a 3b 3b 20 62 Public.License.as.published.;;.b
1be0 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 y.the.Free.Software.Foundation,.
1c00 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
1c20 0a 3b 3b 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .;;.or.(at.your.option).any.late
1c40 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 r.version..;;.;;.This.file.is.di
1c60 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 stributed.in.the.hope.that.it.wi
1c80 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 ll.be.useful,.;;.but.WITHOUT.ANY
1ca0 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c .WARRANTY;.without.even.the.impl
1cc0 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 ied.warranty.of.;;.MERCHANTABILI
1ce0 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
1d00 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 URPOSE...See.the.;;.GNU.General.
1d20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e Public.License.for.more.details.
1d40 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 .;;.;;.You.should.have.received.
1d60 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 a.copy.of.the.GNU.General.Public
1d80 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 66 69 6c 65 .License.;;.along.with.this.file
1da0 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e ...If.not,.see.<https://www.gnu.
1dc0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a org/licenses/>...;;;.Commentary:
1de0 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 20 72 65 63 69 70 65 73 20 61 73 20 45 49 45 49 4f 20 6f 62 ..;;.Package.recipes.as.EIEIO.ob
1e00 6a 65 63 74 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d jects...;;;.Code:..(require.'com
1e20 70 61 74 20 6e 69 6c 20 74 29 0a 28 72 65 71 75 69 72 65 20 27 65 69 65 69 6f 29 0a 28 72 65 71 pat.nil.t).(require.'eieio).(req
1e40 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 70 61 72 73 uire.'subr-x).(require.'url-pars
1e60 65 29 0a 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 75 73 65 2d 67 69 e)..(defvar.package-build-use-gi
1e80 74 2d 72 65 6d 6f 74 65 2d 68 67 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 t-remote-hg).(defvar.package-bui
1ea0 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d ld-recipes-dir).(defvar.package-
1ec0 62 75 69 6c 64 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 29 0a 0a 3b 3b 3b 20 43 6c 61 73 73 65 73 0a build-working-dir)..;;;.Classes.
1ee0 0a 28 64 65 66 63 6c 61 73 73 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 20 28 29 0a 20 20 28 .(defclass.package-recipe.()...(
1f00 28 75 72 6c 2d 66 6f 72 6d 61 74 20 20 20 20 20 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c (url-format......:allocation.:cl
1f20 61 73 73 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 72 65 70 ass.......:initform.nil)....(rep
1f40 6f 70 61 67 65 2d 66 6f 72 6d 61 74 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 20 opage-format.:allocation.:class.
1f60 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 73 74 61 62 6c 65 2d ......:initform.nil)....(stable-
1f80 70 20 20 20 20 20 20 20 20 3a 61 6c 6c 6f 63 61 74 69 6f 6e 20 3a 63 6c 61 73 73 20 20 20 20 20 p........:allocation.:class.....
1fa0 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 6e 61 6d 65 20 20 20 20 20 20 20 ..:initform.nil)....(name.......
1fc0 20 20 20 20 20 3a 69 6e 69 74 61 72 67 20 3a 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 3a 69 .....:initarg.:name...........:i
1fe0 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 75 72 6c 20 20 20 20 20 20 20 20 20 20 20 20 nitform.nil)....(url............
2000 20 3a 69 6e 69 74 61 72 67 20 3a 75 72 6c 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 .:initarg.:url............:initf
2020 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 72 65 70 6f 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e orm.nil)....(repo............:in
2040 69 74 61 72 67 20 3a 72 65 70 6f 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 itarg.:repo...........:initform.
2060 6e 69 6c 29 0a 20 20 20 28 72 65 70 6f 70 61 67 65 20 20 20 20 20 20 20 20 3a 69 6e 69 74 61 72 nil)....(repopage........:initar
2080 67 20 3a 72 65 70 6f 70 61 67 65 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 g.:repopage.......:initform.nil)
20a0 0a 20 20 20 28 66 69 6c 65 73 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 61 72 67 20 3a 66 ....(files...........:initarg.:f
20c0 69 6c 65 73 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 iles..........:initform.nil)....
20e0 28 62 72 61 6e 63 68 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 61 72 67 20 3a 62 72 61 6e 63 (branch..........:initarg.:branc
2100 68 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 63 6f 6d h.........:initform.nil)....(com
2120 6d 69 74 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 61 72 67 20 3a 63 6f 6d 6d 69 74 20 20 20 mit..........:initarg.:commit...
2140 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 74 69 6d 65 20 20 20 ......:initform.nil)....(time...
2160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2180 20 20 3a 69 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 76 65 72 73 69 6f 6e 20 20 20 20 ..:initform.nil)....(version....
21a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 ..............................:i
21c0 6e 69 74 66 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 20 nitform.nil)....(version-regexp.
21e0 20 3a 69 6e 69 74 61 72 67 20 3a 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 20 3a 69 6e 69 74 66 .:initarg.:version-regexp.:initf
2200 6f 72 6d 20 6e 69 6c 29 0a 20 20 20 28 6f 6c 64 2d 6e 61 6d 65 73 20 20 20 20 20 20 20 3a 69 6e orm.nil)....(old-names.......:in
2220 69 74 61 72 67 20 3a 6f 6c 64 2d 6e 61 6d 65 73 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 itarg.:old-names......:initform.
2240 6e 69 6c 29 29 0a 20 20 3a 61 62 73 74 72 61 63 74 20 74 29 0a 0a 3b 3b 3b 3b 20 47 69 74 0a 0a nil))...:abstract.t)..;;;;.Git..
2260 28 64 65 66 63 6c 61 73 73 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 20 28 70 61 (defclass.package-git-recipe.(pa
2280 63 6b 61 67 65 2d 72 65 63 69 70 65 29 20 28 29 29 0a 0a 28 64 65 66 63 6c 61 73 73 20 70 61 63 ckage-recipe).())..(defclass.pac
22a0 6b 61 67 65 2d 67 69 74 68 75 62 2d 72 65 63 69 70 65 20 28 70 61 63 6b 61 67 65 2d 67 69 74 2d kage-github-recipe.(package-git-
22c0 72 65 63 69 70 65 29 0a 20 20 28 28 75 72 6c 2d 66 6f 72 6d 61 74 20 20 20 20 20 20 3a 69 6e 69 recipe)...((url-format......:ini
22e0 74 66 6f 72 6d 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 25 73 2e 67 69 74 tform."https://github.com/%s.git
2300 22 29 0a 20 20 20 28 72 65 70 6f 70 61 67 65 2d 66 6f 72 6d 61 74 20 3a 69 6e 69 74 66 6f 72 6d ")....(repopage-format.:initform
2320 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 25 73 22 29 29 29 0a 0a 28 64 65 ."https://github.com/%s")))..(de
2340 66 63 6c 61 73 73 20 70 61 63 6b 61 67 65 2d 67 69 74 6c 61 62 2d 72 65 63 69 70 65 20 28 70 61 fclass.package-gitlab-recipe.(pa
2360 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 0a 20 20 28 28 75 72 6c 2d 66 6f 72 6d 61 74 ckage-git-recipe)...((url-format
2380 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e ......:initform."https://gitlab.
23a0 63 6f 6d 2f 25 73 2e 67 69 74 22 29 0a 20 20 20 28 72 65 70 6f 70 61 67 65 2d 66 6f 72 6d 61 74 com/%s.git")....(repopage-format
23c0 20 3a 69 6e 69 74 66 6f 72 6d 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 63 6f 6d 2f 25 .:initform."https://gitlab.com/%
23e0 73 22 29 29 29 0a 0a 28 64 65 66 63 6c 61 73 73 20 70 61 63 6b 61 67 65 2d 63 6f 64 65 62 65 72 s")))..(defclass.package-codeber
2400 67 2d 72 65 63 69 70 65 20 28 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 0a 20 20 g-recipe.(package-git-recipe)...
2420 28 28 75 72 6c 2d 66 6f 72 6d 61 74 20 20 20 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 22 68 74 74 ((url-format......:initform."htt
2440 70 73 3a 2f 2f 63 6f 64 65 62 65 72 67 2e 6f 72 67 2f 25 73 2e 67 69 74 22 29 0a 20 20 20 28 72 ps://codeberg.org/%s.git")....(r
2460 65 70 6f 70 61 67 65 2d 66 6f 72 6d 61 74 20 3a 69 6e 69 74 66 6f 72 6d 20 22 68 74 74 70 73 3a epopage-format.:initform."https:
2480 2f 2f 63 6f 64 65 62 65 72 67 2e 6f 72 67 2f 25 73 22 29 29 29 0a 0a 28 64 65 66 63 6c 61 73 73 //codeberg.org/%s")))..(defclass
24a0 20 70 61 63 6b 61 67 65 2d 73 6f 75 72 63 65 68 75 74 2d 72 65 63 69 70 65 20 28 70 61 63 6b 61 .package-sourcehut-recipe.(packa
24c0 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 0a 20 20 28 28 75 72 6c 2d 66 6f 72 6d 61 74 20 20 20 ge-git-recipe)...((url-format...
24e0 20 20 20 3a 69 6e 69 74 66 6f 72 6d 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 2e 73 72 2e 68 74 2f ...:initform."https://git.sr.ht/
2500 7e 25 73 22 29 0a 20 20 20 28 72 65 70 6f 70 61 67 65 2d 66 6f 72 6d 61 74 20 3a 69 6e 69 74 66 ~%s")....(repopage-format.:initf
2520 6f 72 6d 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 2e 73 72 2e 68 74 2f 7e 25 73 22 29 29 29 0a 0a orm."https://git.sr.ht/~%s")))..
2540 3b 3b 3b 3b 20 4d 65 72 63 75 72 69 61 6c 0a 0a 28 64 65 66 63 6c 61 73 73 20 70 61 63 6b 61 67 ;;;;.Mercurial..(defclass.packag
2560 65 2d 68 67 2d 72 65 63 69 70 65 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 29 20 28 29 29 e-hg-recipe.(package-recipe).())
2580 0a 0a 28 64 65 66 63 6c 61 73 73 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 6d 6f 74 65 2d 68 ..(defclass.package-git-remote-h
25a0 67 2d 72 65 63 69 70 65 20 28 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 20 28 29 g-recipe.(package-git-recipe).()
25c0 29 0a 0a 3b 3b 3b 20 4d 65 74 68 6f 64 73 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 )..;;;.Methods..(cl-defmethod.pa
25e0 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 20 28 28 72 63 70 ckage-recipe--working-tree.((rcp
2600 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 29 29 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 .package-recipe))...(file-name-a
2620 73 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 s-directory....(expand-file-name
2640 20 28 6f 72 65 66 20 72 63 70 20 6e 61 6d 65 29 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 .(oref.rcp.name).package-build-w
2660 6f 72 6b 69 6e 67 2d 64 69 72 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 orking-dir)))..(cl-defmethod.pac
2680 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d 75 72 6c 20 28 28 72 63 70 20 kage-recipe--upstream-url.((rcp.
26a0 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 29 29 0a 20 20 28 6f 72 20 28 6f 72 65 66 20 72 63 70 package-recipe))...(or.(oref.rcp
26c0 20 75 72 6c 29 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 6f 72 65 66 20 72 63 70 20 75 72 .url).......(format.(oref.rcp.ur
26e0 6c 2d 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 20 72 63 l-format)...............(oref.rc
2700 70 20 72 65 70 6f 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 p.repo))))..(cl-defmethod.packag
2720 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d 75 72 6c 20 28 28 72 63 70 20 70 61 63 e-recipe--upstream-url.((rcp.pac
2740 6b 61 67 65 2d 67 69 74 2d 72 65 6d 6f 74 65 2d 68 67 2d 72 65 63 69 70 65 29 29 0a 20 20 28 63 kage-git-remote-hg-recipe))...(c
2760 6f 6e 63 61 74 20 22 68 67 3a 3a 22 20 28 6f 72 65 66 20 72 63 70 20 75 72 6c 29 29 29 0a 0a 28 oncat."hg::".(oref.rcp.url)))..(
2780 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 cl-defmethod.package-recipe--ups
27a0 74 72 65 61 6d 2d 70 72 6f 74 6f 63 6f 6c 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 72 65 63 tream-protocol.((rcp.package-rec
27c0 69 70 65 29 29 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 ipe))...(let.((url.(package-reci
27e0 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d 75 72 6c 20 72 63 70 29 29 29 0a 20 20 20 20 28 63 6f 6e pe--upstream-url.rcp))).....(con
2800 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5c 5c 28 5b 61 2d 7a 5d 2b 5c 5c d.((string-match."\\`\\([a-z]+\\
2820 29 3a 2f 2f 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 )://".url)............(match-str
2840 69 6e 67 20 31 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d ing.1.url))...........((string-m
2860 61 74 63 68 20 22 5c 5c 60 5b 5e 3a 2f 20 5d 2b 3a 22 20 75 72 6c 29 20 22 73 73 68 22 29 0a 20 atch."\\`[^:/.]+:".url)."ssh")..
2880 20 20 20 20 20 20 20 20 20 28 74 20 22 66 69 6c 65 22 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d .........(t."file"))))..(cl-defm
28a0 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 65 74 63 68 65 72 20 28 28 ethod.package-recipe--fetcher.((
28c0 72 63 70 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 29 29 0a 20 20 28 73 75 62 73 74 72 69 6e rcp.package-recipe))...(substrin
28e0 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 65 69 65 69 6f 2d 6f 62 6a 65 63 74 2d 63 6c 61 g.(symbol-name.(eieio-object-cla
2900 73 73 20 72 63 70 29 29 20 38 20 2d 37 29 29 0a 0a 3b 3b 3b 20 43 6f 6e 73 74 61 6e 74 73 0a 0a ss.rcp)).8.-7))..;;;.Constants..
2920 28 64 65 66 63 6f 6e 73 74 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 6f 72 67 65 2d (defconst.package-recipe--forge-
2940 66 65 74 63 68 65 72 73 0a 20 20 27 28 67 69 74 68 75 62 20 67 69 74 6c 61 62 20 63 6f 64 65 62 fetchers...'(github.gitlab.codeb
2960 65 72 67 20 73 6f 75 72 63 65 68 75 74 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 61 63 6b 61 erg.sourcehut))..(defconst.packa
2980 67 65 2d 72 65 63 69 70 65 2d 2d 66 65 74 63 68 65 72 73 0a 20 20 28 61 70 70 65 6e 64 20 27 28 ge-recipe--fetchers...(append.'(
29a0 67 69 74 20 68 67 29 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 6f 72 67 65 2d 66 65 git.hg).package-recipe--forge-fe
29c0 74 63 68 65 72 73 29 29 0a 0a 3b 3b 3b 20 49 6e 74 65 72 66 61 63 65 0a 0a 28 64 65 66 75 6e 20 tchers))..;;;.Interface..(defun.
29e0 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 72 65 63 69 70 65 73 20 28 29 0a 20 20 22 52 65 74 package-recipe-recipes.()..."Ret
2a00 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 70 61 63 6b 61 urn.a.list.of.the.names.of.packa
2a20 67 65 73 20 77 69 74 68 20 61 76 61 69 6c 61 62 6c 65 20 72 65 63 69 70 65 73 2e 22 0a 20 20 28 ges.with.available.recipes."...(
2a40 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 directory-files.package-build-re
2a60 63 69 70 65 73 2d 64 69 72 20 6e 69 6c 20 22 5e 5b 5e 2e 5d 22 29 29 0a 0a 28 64 65 66 75 6e 20 cipes-dir.nil."^[^.]"))..(defun.
2a80 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 72 65 61 64 2d 6e 61 6d 65 20 28 29 0a 20 20 22 52 package-recipe-read-name.()..."R
2aa0 65 61 64 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 20 66 6f 72 20 77 68 ead.the.name.of.a.package.for.wh
2ac0 69 63 68 20 61 20 72 65 63 69 70 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 22 0a 20 20 28 63 ich.a.recipe.is.available."...(c
2ae0 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 50 61 63 6b 61 67 65 3a 20 22 20 28 70 61 63 6b ompleting-read."Package:.".(pack
2b00 61 67 65 2d 72 65 63 69 70 65 2d 72 65 63 69 70 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 age-recipe-recipes)))..(defun.pa
2b20 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6c 6f 6f 6b 75 70 20 28 6e 61 6d 65 29 0a 20 20 22 52 65 ckage-recipe-lookup.(name)..."Re
2b40 74 75 72 6e 20 61 20 72 65 63 69 70 65 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 20 70 61 63 turn.a.recipe.object.for.the.pac
2b60 6b 61 67 65 20 6e 61 6d 65 64 20 4e 41 4d 45 2e 0a 49 66 20 6e 6f 20 73 75 63 68 20 72 65 63 69 kage.named.NAME..If.no.such.reci
2b80 70 65 20 66 69 6c 65 20 65 78 69 73 74 73 20 6f 72 20 69 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 pe.file.exists.or.if.the.content
2ba0 73 20 6f 66 20 74 68 65 20 72 65 63 69 70 65 0a 66 69 6c 65 20 69 73 20 69 6e 76 61 6c 69 64 2c s.of.the.recipe.file.is.invalid,
2bc0 20 74 68 65 6e 20 72 61 69 73 65 20 61 6e 20 65 72 72 6f 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 .then.raise.an.error."...(let.((
2be0 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 20 70 61 63 6b file.(expand-file-name.name.pack
2c00 61 67 65 2d 62 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 29 29 29 0a 20 20 20 20 28 69 66 age-build-recipes-dir))).....(if
2c20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 6c .(file-exists-p.file).........(l
2c40 65 74 2a 20 28 28 72 65 63 69 70 65 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 et*.((recipe.(with-temp-buffer..
2c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d ........................(insert-
2c80 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 file-contents.file).............
2ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 .............(read.(current-buff
2cc0 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 20 28 63 64 er))))................(plist.(cd
2ce0 72 20 72 65 63 69 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 65 74 63 68 r.recipe))................(fetch
2d00 65 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 66 65 74 63 68 65 72 29 29 0a 20 er.(plist-get.plist.:fetcher))..
2d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 76 61 6c 20 61 72 67 73 29 0a 20 20 20 20 ..............key.val.args).....
2d40 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 76 61 6c 69 64 61 74 65 20 ......(package-recipe--validate.
2d60 72 65 63 69 70 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 recipe.name)...........(while.(a
2d80 6e 64 20 28 73 65 74 71 20 6b 65 79 20 28 70 6f 70 20 70 6c 69 73 74 29 29 0a 20 20 20 20 20 20 nd.(setq.key.(pop.plist)).......
2da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 61 6c 20 28 70 6f 70 20 70 ................(setq.val.(pop.p
2dc0 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 list))).............(unless.(eq.
2de0 6b 65 79 20 3a 66 65 74 63 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 key.:fetcher)...............(pus
2e00 68 20 76 61 6c 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 h.val.args)...............(push.
2e20 6b 65 79 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 key.args)))...........(when.(and
2e40 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 75 73 65 2d 67 69 74 2d 72 65 6d 6f 74 65 2d 68 67 .package-build-use-git-remote-hg
2e60 20 28 65 71 20 66 65 74 63 68 65 72 20 27 68 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 .(eq.fetcher.'hg)).............(
2e80 73 65 74 71 20 66 65 74 63 68 65 72 20 27 67 69 74 2d 72 65 6d 6f 74 65 2d 68 67 29 29 0a 20 20 setq.fetcher.'git-remote-hg))...
2ea0 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 ........(apply.(intern.(format."
2ec0 70 61 63 6b 61 67 65 2d 25 73 2d 72 65 63 69 70 65 22 20 66 65 74 63 68 65 72 29 29 0a 20 20 20 package-%s-recipe".fetcher))....
2ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3a 6e 61 6d 65 20 6e 61 6d 65 20 61 72 ..............name.:name.name.ar
2f00 67 73 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 73 75 63 68 20 72 65 63 69 70 gs)).......(error."No.such.recip
2f20 65 3a 20 25 73 22 20 6e 61 6d 65 29 29 29 29 0a 0a 3b 3b 3b 20 56 61 6c 69 64 61 74 69 6f 6e 0a e:.%s".name))))..;;;.Validation.
2f40 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 72 .;;;###autoload.(defun.package-r
2f60 65 63 69 70 65 2d 76 61 6c 69 64 61 74 65 2d 61 6c 6c 20 28 29 0a 20 20 22 56 61 6c 69 64 61 74 ecipe-validate-all.()..."Validat
2f80 65 20 61 6c 6c 20 72 65 63 69 70 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a e.all.recipes."...(interactive).
2fa0 20 20 28 64 6f 6c 69 73 74 2d 77 69 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 ..(dolist-with-progress-reporter
2fc0 20 28 6e 61 6d 65 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 72 65 63 69 70 65 73 29 29 .(name.(package-recipe-recipes))
2fe0 0a 20 20 20 20 20 20 22 56 61 6c 69 64 61 74 69 6e 67 20 72 65 63 69 70 65 73 2e 2e 2e 22 0a 20 ......."Validating.recipes..."..
3000 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20 20 28 ...(condition-case.err.........(
3020 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6c 6f 6f 6b 75 70 20 6e 61 6d 65 29 0a 20 20 20 20 package-recipe-lookup.name).....
3040 20 20 28 65 72 72 6f 72 20 28 6d 65 73 73 61 67 65 20 22 49 6e 76 61 6c 69 64 20 72 65 63 69 70 ..(error.(message."Invalid.recip
3060 65 20 66 6f 72 20 25 73 3a 20 25 53 22 20 6e 61 6d 65 20 28 63 64 72 20 65 72 72 29 29 29 29 29 e.for.%s:.%S".name.(cdr.err)))))
3080 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 76 61 6c 69 64 61 )..(defun.package-recipe--valida
30a0 74 65 20 28 72 65 63 69 70 65 20 6e 61 6d 65 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 73 6f 6d 65 te.(recipe.name)..."Perform.some
30c0 20 62 61 73 69 63 20 63 68 65 63 6b 73 20 6f 6e 20 74 68 65 20 72 61 77 20 52 45 43 49 50 45 20 .basic.checks.on.the.raw.RECIPE.
30e0 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 64 20 4e 41 4d 45 2e 22 0a 20 20 28 for.the.package.named.NAME."...(
3100 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 69 64 65 6e 74 20 2e 20 2c 70 6c 69 73 74 29 20 72 pcase-let.((`(,ident...,plist).r
3120 65 63 69 70 65 29 29 0a 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 69 64 65 6e 74 29 0a 20 20 ecipe)).....(cl-assert.ident)...
3140 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 79 6d 62 6f 6c 70 20 69 64 65 6e 74 29 29 0a 20 20 ..(cl-assert.(symbolp.ident))...
3160 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 74 72 69 6e 67 3d 20 28 73 79 6d 62 6f 6c 2d 6e 61 ..(cl-assert.(string=.(symbol-na
3180 6d 65 20 69 64 65 6e 74 29 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e me.ident).name)................n
31a0 69 6c 20 22 52 65 63 69 70 65 20 27 25 73 27 20 63 6f 6e 74 61 69 6e 73 20 6d 69 73 6d 61 74 63 il."Recipe.'%s'.contains.mismatc
31c0 68 65 64 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 25 73 27 22 0a 20 20 20 20 20 20 20 20 20 hed.package.name.'%s'"..........
31e0 20 20 20 20 20 20 6e 61 6d 65 20 69 64 65 6e 74 29 0a 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 ......name.ident).....(cl-assert
3200 20 70 6c 69 73 74 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 73 79 6d 62 6f 6c 2d 6b 65 79 73 20 .plist).....(let*.((symbol-keys.
3220 27 28 3a 66 65 74 63 68 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d '(:fetcher))............(string-
3240 6b 65 79 73 20 27 28 3a 75 72 6c 20 3a 72 65 70 6f 20 3a 63 6f 6d 6d 69 74 20 3a 62 72 61 6e 63 keys.'(:url.:repo.:commit.:branc
3260 68 20 3a 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 h.:version-regexp))............(
3280 6c 69 73 74 2d 6b 65 79 73 20 27 28 3a 66 69 6c 65 73 20 3a 6f 6c 64 2d 6e 61 6d 65 73 29 29 0a list-keys.'(:files.:old-names)).
32a0 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 6c 2d 6b 65 79 73 20 28 61 70 70 65 6e 64 20 73 79 6d ...........(all-keys.(append.sym
32c0 62 6f 6c 2d 6b 65 79 73 20 73 74 72 69 6e 67 2d 6b 65 79 73 20 6c 69 73 74 2d 6b 65 79 73 29 29 bol-keys.string-keys.list-keys))
32e0 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 74 68 69 6e 67 20 70 6c 69 73 74 29 0a 20 20 ).......(dolist.(thing.plist)...
3300 20 20 20 20 20 20 28 77 68 65 6e 20 28 6b 65 79 77 6f 72 64 70 20 74 68 69 6e 67 29 0a 20 20 20 ......(when.(keywordp.thing)....
3320 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 6d 65 6d 71 20 74 68 69 6e 67 20 61 6c .......(cl-assert.(memq.thing.al
3340 6c 2d 6b 65 79 73 29 20 6e 69 6c 20 22 55 6e 6b 6e 6f 77 6e 20 6b 65 79 77 6f 72 64 20 25 53 22 l-keys).nil."Unknown.keyword.%S"
3360 20 74 68 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 65 74 63 68 65 72 20 28 .thing))).......(let.((fetcher.(
3380 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 66 65 74 63 68 65 72 29 29 29 0a 20 20 20 20 plist-get.plist.:fetcher))).....
33a0 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 66 65 74 63 68 65 72 20 6e 69 6c 20 22 3a 66 65 74 ....(cl-assert.fetcher.nil.":fet
33c0 63 68 65 72 20 69 73 20 6d 69 73 73 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6d cher.is.missing").........(if.(m
33e0 65 6d 71 20 66 65 74 63 68 65 72 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 6f 72 67 emq.fetcher.package-recipe--forg
3400 65 2d 66 65 74 63 68 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 e-fetchers).............(progn..
3420 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 70 6c 69 73 74 2d 67 .............(cl-assert.(plist-g
3440 65 74 20 70 6c 69 73 74 20 3a 72 65 70 6f 29 20 22 3a 72 65 70 6f 20 69 73 20 6d 69 73 73 69 6e et.plist.:repo).":repo.is.missin
3460 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 6e 6f g")...............(cl-assert.(no
3480 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 75 72 6c 29 29 20 22 3a 75 72 6c 20 t.(plist-get.plist.:url)).":url.
34a0 69 73 20 72 65 64 75 6e 64 61 6e 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 is.redundant"))...........(cl-as
34c0 73 65 72 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 75 72 6c 29 20 22 3a 75 72 sert.(plist-get.plist.:url).":ur
34e0 6c 20 69 73 20 6d 69 73 73 69 6e 67 22 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 l.is.missing"))).......(dolist.(
3500 6b 65 79 20 73 79 6d 62 6f 6c 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c key.symbol-keys).........(when-l
3520 65 74 20 28 28 76 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 6b 65 79 29 29 29 et.((val.(plist-get.plist.key)))
3540 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 79 6d 62 6f 6c 70 20 76 ...........(cl-assert.(symbolp.v
3560 61 6c 29 20 6e 69 6c 20 22 25 73 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 62 75 74 al).nil."%s.must.be.a.symbol.but
3580 20 69 73 20 25 53 22 20 6b 65 79 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 .is.%S".key.val))).......(dolist
35a0 20 28 6b 65 79 20 6c 69 73 74 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c .(key.list-keys).........(when-l
35c0 65 74 20 28 28 76 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 6b 65 79 29 29 29 et.((val.(plist-get.plist.key)))
35e0 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 6c 69 73 74 70 20 76 61 6c ...........(cl-assert.(listp.val
3600 29 20 6e 69 6c 20 22 25 73 20 6d 75 73 74 20 62 65 20 61 20 6c 69 73 74 20 62 75 74 20 69 73 20 ).nil."%s.must.be.a.list.but.is.
3620 25 53 22 20 6b 65 79 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6b 65 %S".key.val))).......(dolist.(ke
3640 79 20 73 74 72 69 6e 67 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 y.string-keys).........(when-let
3660 20 28 28 76 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 6b 65 79 29 29 29 0a 20 .((val.(plist-get.plist.key)))..
3680 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 74 72 69 6e 67 70 20 76 61 6c .........(cl-assert.(stringp.val
36a0 29 20 6e 69 6c 20 22 25 73 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 62 75 74 20 69 ).nil."%s.must.be.a.string.but.i
36c0 73 20 25 53 22 20 6b 65 79 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 s.%S".key.val))).......(when-let
36e0 20 28 28 73 70 65 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 66 69 6c 65 73 29 .((spec.(plist-get.plist.:files)
3700 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 3a 64 65 66 61 75 6c 74 73 27 20 69 73 20 6f 6e 6c )).........;;.`:defaults'.is.onl
3720 79 20 61 6c 6c 6f 77 65 64 20 61 73 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 2e 0a y.allowed.as.the.first.element..
3740 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 20 66 69 6e 64 20 69 74 20 69 6e 20 74 68 61 74 ........;;.If.we.find.it.in.that
3760 20 70 6f 73 69 74 69 6f 6e 2c 20 73 6b 69 70 20 6f 76 65 72 20 69 74 2e 0a 20 20 20 20 20 20 20 .position,.skip.over.it.........
3780 20 28 77 68 65 6e 20 28 65 71 20 28 63 61 72 20 73 70 65 63 29 20 3a 64 65 66 61 75 6c 74 73 29 .(when.(eq.(car.spec).:defaults)
37a0 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 20 28 63 64 72 20 73 70 65 63 29 ...........(setq.spec.(cdr.spec)
37c0 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 6c 6c 20 6f 74 68 65 72 20 65 6c 65 6d 65 6e 74 73 )).........;;.All.other.elements
37e0 20 68 61 76 65 20 74 6f 20 62 65 20 73 74 72 69 6e 67 73 20 6f 72 20 6c 69 73 74 73 20 6f 66 20 .have.to.be.strings.or.lists.of.
3800 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 20 6c 69 73 74 20 77 68 6f 73 65 strings..........;;.A.list.whose
3820 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 60 3a 65 78 63 6c 75 64 65 27 20 69 73 20 .first.element.is.`:exclude'.is.
3840 61 6c 73 6f 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 also.valid..........(dolist.(ent
3860 72 79 20 73 70 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 6f 6e 64 ry.spec)...........(unless.(cond
3880 20 28 28 73 74 72 69 6e 67 70 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .((stringp.entry)...............
38a0 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 65 6e 74 72 79 20 22 2a 22 ...........(not.(equal.entry."*"
38c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6c 69 ))).........................((li
38e0 73 74 70 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 stp.entry)......................
3900 20 20 20 20 28 61 6e 64 2d 6c 65 74 2a 20 28 28 67 6c 6f 62 73 20 28 63 64 72 20 65 6e 74 72 79 ....(and-let*.((globs.(cdr.entry
3920 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )))............................(
3940 61 6e 64 20 28 6f 72 20 28 65 71 20 28 63 61 72 20 65 6e 74 72 79 29 20 3a 65 78 63 6c 75 64 65 and.(or.(eq.(car.entry).:exclude
3960 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
3980 20 20 20 20 20 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 65 6e 74 72 79 29 29 29 0a 20 20 20 ......(stringp.(car.entry)))....
39a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .............................(se
39c0 71 2d 65 76 65 72 79 2d 70 20 28 6c 61 6d 62 64 61 20 28 67 6c 6f 62 29 0a 20 20 20 20 20 20 20 q-every-p.(lambda.(glob)........
39e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a00 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 67 6c 6f 62 29 0a 20 20 20 20 ........(and.(stringp.glob).....
3a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 67 6c 6f 62 ................(not.(equal.glob
3a60 20 22 2a 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."*"))))........................
3a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 73 29 29 29 29 29 ......................globs)))))
3aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 66 69 6c .............(error."Invalid.fil
3ac0 65 73 20 73 70 65 63 20 65 6e 74 72 79 20 25 53 22 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 es.spec.entry.%S".entry)))).....
3ae0 20 20 3b 3b 20 53 69 6c 65 6e 63 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 20 6f 66 20 45 6d ..;;.Silence.byte.compiler.of.Em
3b00 61 63 73 20 32 38 2e 20 20 49 74 20 61 70 70 65 61 72 73 20 74 68 61 74 20 75 73 65 73 0a 20 20 acs.28...It.appears.that.uses...
3b20 20 20 20 20 3b 3b 20 69 6e 73 69 64 65 20 63 6c 2d 61 73 73 65 72 74 20 73 6f 6d 65 74 69 6d 65 ....;;.inside.cl-assert.sometime
3b40 73 2c 20 62 75 74 20 6e 6f 74 20 61 6c 77 61 79 73 2c 20 64 6f 20 6e 6f 74 20 63 6f 75 6e 74 2e s,.but.not.always,.do.not.count.
3b60 0a 20 20 20 20 20 20 28 6c 69 73 74 20 6e 61 6d 65 20 69 64 65 6e 74 20 61 6c 6c 2d 6b 65 79 73 .......(list.name.ident.all-keys
3b80 29 29 0a 20 20 20 20 72 65 63 69 70 65 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 61 63 6b 61 )).....recipe))..(provide.'packa
3ba0 67 65 2d 72 65 63 69 70 65 29 0a 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2e 65 6c ge-recipe).;;;.package-recipe.el
3bc0 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ends.here......................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 70 61 63 6b package-build-20240415.1547/pack
3c20 61 67 65 2d 62 75 69 6c 64 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 age-build-pkg.el................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3c80 30 30 30 31 32 34 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 32 37 37 00 20 30 00 00 00 0001246.00000000000.017277..0...
3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e00 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 22 20 (define-package."package-build".
3e20 22 32 30 32 34 30 34 31 35 2e 31 35 34 37 22 20 22 54 6f 6f 6c 73 20 66 6f 72 20 61 73 73 65 6d "20240415.1547"."Tools.for.assem
3e40 62 6c 69 6e 67 20 61 20 70 61 63 6b 61 67 65 20 61 72 63 68 69 76 65 22 0a 20 20 27 28 28 65 6d bling.a.package.archive"...'((em
3e60 61 63 73 20 22 32 36 2e 31 22 29 0a 20 20 20 20 28 63 6f 6d 70 61 74 20 22 32 37 2e 31 22 29 29 acs."26.1").....(compat."27.1"))
3e80 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 64 39 63 65 33 37 62 38 32 35 32 39 38 32 37 63 65 37 32 30 ...:commit."d9ce37b82529827ce720
3ea0 61 64 33 63 63 66 34 61 66 38 38 37 64 31 39 66 63 66 62 30 22 20 3a 61 75 74 68 6f 72 73 0a 20 ad3ccf4af887d19fcfb0".:authors..
3ec0 20 27 28 28 22 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 22 20 2e 20 22 64 .'(("Donald.Ephraim.Curtis"..."d
3ee0 63 75 72 74 69 73 40 6d 69 6c 6b 62 6f 78 2e 6e 65 74 22 29 0a 20 20 20 20 28 22 53 74 65 76 65 curtis@milkbox.net").....("Steve
3f00 20 50 75 72 63 65 6c 6c 22 20 2e 20 22 73 74 65 76 65 40 73 61 6e 69 74 79 69 6e 63 2e 63 6f 6d .Purcell"..."steve@sanityinc.com
3f20 22 29 0a 20 20 20 20 28 22 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 22 20 2e 20 22 65 6d 61 ").....("Jonas.Bernoulli"..."ema
3f40 63 73 2e 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 cs.package-build@jonas.bernoulli
3f60 2e 64 65 76 22 29 0a 20 20 20 20 28 22 50 68 69 6c 20 48 61 67 65 6c 62 65 72 67 22 20 2e 20 22 .dev").....("Phil.Hagelberg"..."
3f80 74 65 63 68 6e 6f 6d 61 6e 63 79 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e technomancy@gmail.com"))...:main
3fa0 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 tainers...'(("Donald.Ephraim.Cur
3fc0 74 69 73 22 20 2e 20 22 64 63 75 72 74 69 73 40 6d 69 6c 6b 62 6f 78 2e 6e 65 74 22 29 29 0a 20 tis"..."dcurtis@milkbox.net"))..
3fe0 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d .:maintainer...'("Donald.Ephraim
4000 20 43 75 72 74 69 73 22 20 2e 20 22 64 63 75 72 74 69 73 40 6d 69 6c 6b 62 6f 78 2e 6e 65 74 22 .Curtis"..."dcurtis@milkbox.net"
4020 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 6d 61 69 6e 74 22 20 22 74 6f 6f 6c 73 )...:keywords...'("maint"."tools
4040 22 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 65 ")...:url."https://github.com/me
4060 6c 70 61 2f 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 lpa/package-build").;;.Local.Var
4080 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b iables:.;;.no-byte-compile:.t.;;
40a0 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .End:...........................
40c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4200 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 70 61 63 6b package-build-20240415.1547/pack
4220 61 67 65 2d 62 75 69 6c 64 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 age-build.el....................
4240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4280 30 32 32 32 36 30 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 32 30 00 20 30 00 00 00 0222601.00000000000.016520..0...
42a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4400 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2e 65 6c 20 2d 2d 2d 20 54 6f 6f 6c 73 20 66 ;;;.package-build.el.---.Tools.f
4420 6f 72 20 61 73 73 65 6d 62 6c 69 6e 67 20 61 20 70 61 63 6b 61 67 65 20 61 72 63 68 69 76 65 20 or.assembling.a.package.archive.
4440 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 3b 20 63 6f 64 69 6e 67 3a 75 .-*-.lexical-binding:t;.coding:u
4460 74 66 2d 38 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 31 2d tf-8.-*-..;;.Copyright.(C).2011-
4480 32 30 32 34 20 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 0a 3b 3b 20 43 6f 2024.Donald.Ephraim.Curtis.;;.Co
44a0 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 34 20 53 74 65 76 65 20 50 75 72 63 pyright.(C).2012-2024.Steve.Purc
44c0 65 6c 6c 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 2d 32 30 32 34 20 4a ell.;;.Copyright.(C).2016-2024.J
44e0 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 onas.Bernoulli.;;.Copyright.(C).
4500 32 30 30 39 20 50 68 69 6c 20 48 61 67 65 6c 62 65 72 67 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 2009.Phil.Hagelberg..;;.Author:.
4520 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 20 3c 64 63 75 72 74 69 73 40 6d Donald.Ephraim.Curtis.<dcurtis@m
4540 69 6c 6b 62 6f 78 2e 6e 65 74 3e 0a 3b 3b 20 20 20 20 20 53 74 65 76 65 20 50 75 72 63 65 6c 6c ilkbox.net>.;;.....Steve.Purcell
4560 20 3c 73 74 65 76 65 40 73 61 6e 69 74 79 69 6e 63 2e 63 6f 6d 3e 0a 3b 3b 20 20 20 20 20 4a 6f .<steve@sanityinc.com>.;;.....Jo
4580 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 70 61 63 6b 61 67 65 2d 62 75 69 nas.Bernoulli.<emacs.package-bui
45a0 6c 64 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 20 20 20 20 50 ld@jonas.bernoulli.dev>.;;.....P
45c0 68 69 6c 20 48 61 67 65 6c 62 65 72 67 20 3c 74 65 63 68 6e 6f 6d 61 6e 63 79 40 67 6d 61 69 6c hil.Hagelberg.<technomancy@gmail
45e0 2e 63 6f 6d 3e 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 .com>.;;.Homepage:.https://githu
4600 62 2e 63 6f 6d 2f 6d 65 6c 70 61 2f 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 3b 3b 20 4b 65 79 b.com/melpa/package-build.;;.Key
4620 77 6f 72 64 73 3a 20 6d 61 69 6e 74 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 words:.maint.tools..;;.Package-V
4640 65 72 73 69 6f 6e 3a 20 34 2e 30 2e 30 2e 35 30 2d 67 69 74 0a 3b 3b 20 50 61 63 6b 61 67 65 2d ersion:.4.0.0.50-git.;;.Package-
4660 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 36 2e 31 22 29 20 28 63 6f 6d 70 61 Requires:.((emacs."26.1").(compa
4680 74 20 22 32 37 2e 31 22 29 29 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e t."27.1"))..;;.SPDX-License-Iden
46a0 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 68 69 tifier:.GPL-3.0-or-later..;;.Thi
46c0 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e s.file.is.free.software:.you.can
46e0 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b .redistribute.it.and/or.modify.;
4700 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ;.it.under.the.terms.of.the.GNU.
4720 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
4740 68 65 64 0a 3b 3b 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.;;.by.the.Free.Software.Foun
4760 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 dation,.either.version.3.of.the.
4780 4c 69 63 65 6e 73 65 2c 0a 3b 3b 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.;;.or.(at.your.option).
47a0 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 any.later.version..;;.;;.This.fi
47c0 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 le.is.distributed.in.the.hope.th
47e0 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 at.it.will.be.useful,.;;.but.WIT
4800 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 HOUT.ANY.WARRANTY;.without.even.
4820 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 the.implied.warranty.of.;;.MERCH
4840 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
4860 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 ICULAR.PURPOSE...See.the.;;.GNU.
4880 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 General.Public.License.for.more.
48a0 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 details..;;.;;.You.should.have.r
48c0 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 eceived.a.copy.of.the.GNU.Genera
48e0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 l.Public.License.;;.along.with.t
4900 68 69 73 20 66 69 6c 65 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f his.file...If.not,.see.<https://
4920 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d www.gnu.org/licenses/>...;;;.Com
4940 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 61 6c 6c 6f 77 73 20 61 20 mentary:..;;.This.file.allows.a.
4960 63 75 72 61 74 6f 72 20 74 6f 20 70 75 62 6c 69 73 68 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 curator.to.publish.an.archive.of
4980 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 73 2e 0a 0a 3b 3b 20 54 68 65 20 61 72 63 68 69 76 65 .Emacs.packages...;;.The.archive
49a0 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 61 20 73 65 74 20 6f 66 20 72 65 63 69 .is.generated.from.a.set.of.reci
49c0 70 65 73 2c 20 77 68 69 63 68 20 64 65 73 63 72 69 62 65 20 65 6c 69 73 70 0a 3b 3b 20 70 72 6f pes,.which.describe.elisp.;;.pro
49e0 6a 65 63 74 73 20 61 6e 64 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 66 72 6f 6d 20 77 68 69 63 jects.and.repositories.from.whic
4a00 68 20 74 6f 20 67 65 74 20 74 68 65 6d 2e 20 20 54 68 65 20 74 65 72 6d 20 22 70 61 63 6b 61 67 h.to.get.them...The.term."packag
4a20 65 22 0a 3b 3b 20 68 65 72 65 20 69 73 20 75 73 65 64 20 74 6f 20 6d 65 61 6e 20 61 20 73 70 65 e".;;.here.is.used.to.mean.a.spe
4a40 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 20 74 68 61 74 20 cific.version.of.a.project.that.
4a60 69 73 20 70 72 65 70 61 72 65 64 0a 3b 3b 20 66 6f 72 20 64 6f 77 6e 6c 6f 61 64 20 61 6e 64 20 is.prepared.;;.for.download.and.
4a80 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 installation...;;;.Code:..(requi
4aa0 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 20 6e 69 6c re.'cl-lib).(require.'compat.nil
4ac0 20 74 29 0a 28 72 65 71 75 69 72 65 20 27 70 63 61 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 73 .t).(require.'pcase).(require.'s
4ae0 75 62 72 2d 78 29 0a 0a 28 72 65 71 75 69 72 65 20 27 70 61 63 6b 61 67 65 29 0a 28 72 65 71 75 ubr-x)..(require.'package).(requ
4b00 69 72 65 20 27 6c 69 73 70 2d 6d 6e 74 29 0a 28 72 65 71 75 69 72 65 20 27 6a 73 6f 6e 29 0a 0a ire.'lisp-mnt).(require.'json)..
4b20 28 72 65 71 75 69 72 65 20 27 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 29 0a 28 72 65 71 75 69 (require.'package-recipe).(requi
4b40 72 65 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 73 29 0a 0a 3b 3b 3b 20 4f re.'package-build-badges)..;;;.O
4b60 70 74 69 6f 6e 73 0a 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d ptions..(defvar.package-build--m
4b80 65 6c 70 61 2d 62 61 73 65 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 elpa-base...(file-name-directory
4ba0 0a 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 28 66 69 ....(directory-file-name.....(fi
4bc0 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20 6c 6f 61 64 2d 66 69 6c 65 2d le-name-directory.(or.load-file-
4be0 6e 61 6d 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 29 0a 0a 28 64 name.(buffer-file-name))))))..(d
4c00 65 66 67 72 6f 75 70 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 20 6e 69 6c 0a 20 20 22 54 6f 6f efgroup.package-build.nil..."Too
4c20 6c 73 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 70 61 63 6b 61 67 65 2e 65 6c 2d 63 6f 6d 70 6c ls.for.building.package.el-compl
4c40 69 61 6e 74 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 75 70 73 74 72 65 61 6d 20 73 6f 75 72 iant.packages.from.upstream.sour
4c60 63 65 20 63 6f 64 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 65 76 65 6c 6f 70 6d 65 6e 74 29 ce.code."...:group.'development)
4c80 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 6f 72 6b 69 ..(defcustom.package-build-worki
4ca0 6e 67 2d 64 69 72 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 77 6f 72 6b ng-dir...(expand-file-name."work
4cc0 69 6e 67 2f 22 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 6c 70 61 2d 62 61 73 65 29 ing/".package-build--melpa-base)
4ce0 0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 74 6f 20 6b 65 65 70 20 63 ..."Directory.in.which.to.keep.c
4d00 68 65 63 6b 6f 75 74 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 heckouts."...:group.'package-bui
4d20 6c 64 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 ld...:type.'string)..(defcustom.
4d40 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 0a 20 20 28 65 78 70 package-build-archive-dir...(exp
4d60 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 70 61 63 6b 61 67 65 73 2f 22 20 70 61 63 6b 61 67 and-file-name."packages/".packag
4d80 65 2d 62 75 69 6c 64 2d 2d 6d 65 6c 70 61 2d 62 61 73 65 29 0a 20 20 22 44 69 72 65 63 74 6f 72 e-build--melpa-base)..."Director
4da0 79 20 69 6e 20 77 68 69 63 68 20 74 6f 20 6b 65 65 70 20 63 6f 6d 70 69 6c 65 64 20 61 72 63 68 y.in.which.to.keep.compiled.arch
4dc0 69 76 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 ives."...:group.'package-build..
4de0 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b .:type.'string)..(defcustom.pack
4e00 61 67 65 2d 62 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 0a 20 20 28 65 78 70 61 6e 64 2d age-build-recipes-dir...(expand-
4e20 66 69 6c 65 2d 6e 61 6d 65 20 22 72 65 63 69 70 65 73 2f 22 20 70 61 63 6b 61 67 65 2d 62 75 69 file-name."recipes/".package-bui
4e40 6c 64 2d 2d 6d 65 6c 70 61 2d 62 61 73 65 29 0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 63 6f 6e ld--melpa-base)..."Directory.con
4e60 74 61 69 6e 69 6e 67 20 72 65 63 69 70 65 20 66 69 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 taining.recipe.files."...:group.
4e80 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 'package-build...:type.'string).
4ea0 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 72 62 6f 73 .(defcustom.package-build-verbos
4ec0 65 20 74 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 70 72 69 6e 74 20 e.t..."When.non-nil,.then.print.
4ee0 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 6f 67 72 65 73 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e additional.progress.information.
4f00 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 "...:group.'package-build...:typ
4f20 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d e.'boolean)..(defcustom.package-
4f40 62 75 69 6c 64 2d 73 74 61 62 6c 65 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 62 build-stable.nil..."Whether.to.b
4f60 75 69 6c 64 20 72 65 6c 65 61 73 65 20 6f 72 20 73 6e 61 70 73 68 6f 74 20 70 61 63 6b 61 67 65 uild.release.or.snapshot.package
4f80 73 2e 0a 0a 49 66 20 6e 69 6c 2c 20 73 6e 61 70 73 68 6f 74 20 70 61 63 6b 61 67 65 73 20 61 72 s...If.nil,.snapshot.packages.ar
4fa0 65 20 62 75 69 6c 64 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 6c 65 61 73 65 20 70 61 63 6b 61 e.build,.otherwise.release.packa
4fc0 67 65 73 0a 61 72 65 20 62 75 69 6c 64 2e 20 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 ges.are.build...`package-build-s
4fe0 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 20 61 6e 64 2f 6f napshot-version-functions'.and/o
5000 72 0a 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e r.`package-build-release-version
5020 2d 66 75 6e 63 74 69 6f 6e 73 27 20 61 72 65 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e -functions'.are.used.to.determin
5040 65 0a 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 65 61 e.the.appropriate.version.for.ea
5060 63 68 20 70 61 63 6b 61 67 65 20 61 6e 64 20 68 6f 77 20 74 68 65 20 76 65 72 73 69 6f 6e 0a 73 ch.package.and.how.the.version.s
5080 74 72 69 6e 67 20 69 73 20 66 6f 72 6d 61 74 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 tring.is.formatted."...:group.'p
50a0 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a ackage-build...:type.'boolean)..
50c0 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 6c 6c 2d 70 75 62 (defcustom.package-build-all-pub
50e0 6c 69 73 68 61 62 6c 65 20 28 6e 6f 74 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 74 61 62 lishable.(not.package-build-stab
5100 6c 65 29 0a 20 20 22 57 68 65 74 68 65 72 20 65 76 65 6e 20 70 61 63 6b 61 67 65 73 20 74 68 61 le)..."Whether.even.packages.tha
5120 74 20 6c 61 63 6b 20 61 20 72 65 6c 65 61 73 65 20 63 61 6e 20 62 65 20 70 75 62 6c 69 73 68 65 t.lack.a.release.can.be.publishe
5140 64 2e 0a 0a 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 d...This.option.is.used.to.deter
5160 6d 69 6e 65 20 77 68 65 74 68 65 72 20 66 61 69 6c 75 72 65 20 74 6f 20 63 6f 6d 65 20 75 70 20 mine.whether.failure.to.come.up.
5180 77 69 74 68 0a 61 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 with.a.version.string.should.be.
51a0 63 6f 6e 73 69 64 65 72 65 64 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 6e 6f 74 2e 0a 0a 43 75 72 considered.an.error.or.not...Cur
51c0 72 65 6e 74 6c 79 20 74 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 28 6e 6f 74 20 70 61 63 rently.this.defaults.to.(not.pac
51e0 6b 61 67 65 2d 62 75 69 6c 64 2d 73 74 61 62 6c 65 29 2c 20 62 75 74 20 74 68 65 0a 64 65 66 61 kage-build-stable),.but.the.defa
5200 75 6c 74 20 69 73 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 63 68 61 6e 67 65 64 20 74 6f 20 6a ult.is.likely.to.be.changed.to.j
5220 75 73 74 20 60 74 27 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 20 20 53 65 65 0a 61 6c 73 6f ust.`t'.in.the.future...See.also
5240 20 74 68 65 20 63 6f 6d 6d 69 74 20 74 68 61 74 20 61 64 64 65 64 20 74 68 69 73 20 6f 70 74 69 .the.commit.that.added.this.opti
5260 6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a on."...:group.'package-build...:
5280 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 73 65 74 2d 61 66 74 65 72 20 27 28 70 61 63 type.'boolean...:set-after.'(pac
52a0 6b 61 67 65 2d 62 75 69 6c 64 2d 73 74 61 62 6c 65 29 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c kage-build-stable))..(make-obsol
52c0 65 74 65 2d 76 61 72 69 61 62 6c 65 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d ete-variable.'package-build-get-
52e0 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 version-function................
5300 20 20 20 20 20 20 20 20 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 74 61 62 6c 65 0a 20 .........'package-build-stable..
5320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 50 61 63 6b 61 67 65 2d ......................."Package-
5340 42 75 69 6c 64 20 35 2e 30 2e 30 22 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 Build.5.0.0").(defvar.package-bu
5360 69 6c 64 2d 67 65 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 ild-get-version-function.nil..."
5380 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 61 6e 64 20 69 74 This.variable.is.obsolete.and.it
53a0 73 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 6e 69 6c 2e 0a 49 66 20 74 68 69 73 20 69 s.value.should.be.nil..If.this.i
53c0 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 69 74 20 6f 76 65 72 72 69 64 65 73 0a 60 70 61 s.non-nil,.then.it.overrides.`pa
53e0 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 ckage-build-release-version-func
5400 74 69 6f 6e 73 27 20 61 6e 64 0a 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 6e 61 70 73 68 tions'.and.`package-build-snapsh
5420 6f 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 2e 22 29 0a 0a 28 64 65 66 63 75 ot-version-functions'.")..(defcu
5440 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 stom.package-build-release-versi
5460 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 28 6c 69 73 74 20 23 27 70 61 63 6b 61 67 65 2d 62 on-functions...(list.#'package-b
5480 75 69 6c 64 2d 74 61 67 2d 76 65 72 73 69 6f 6e 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 73 20 75 uild-tag-version)..."Functions.u
54a0 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 6c sed.to.determine.the.current.rel
54c0 65 61 73 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 0a 45 61 63 68 20 66 75 6e 63 74 69 6f ease.of.a.package...Each.functio
54e0 6e 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 20 6f 72 64 65 72 2c 20 77 69 74 68 20 74 68 65 20 72 n.is.called.in.order,.with.the.r
5500 65 63 69 70 65 20 6f 62 6a 65 63 74 20 61 73 0a 61 72 67 75 6d 65 6e 74 2c 20 75 6e 74 69 6c 20 ecipe.object.as.argument,.until.
5520 6f 6e 65 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 54 68 65 20 72 65 74 75 72 6e one.returns.non-nil...The.return
5540 65 64 20 76 61 6c 75 65 20 6d 75 73 74 0a 68 61 76 65 20 74 68 65 20 66 6f 72 6d 20 28 43 4f 4d ed.value.must.have.the.form.(COM
5560 4d 49 54 20 54 49 4d 45 20 56 45 52 53 49 4f 4e 29 2c 20 77 68 65 72 65 20 43 4f 4d 4d 49 54 20 MIT.TIME.VERSION),.where.COMMIT.
5580 69 73 20 74 68 65 20 63 6f 6d 6d 69 74 0a 63 68 6f 73 65 6e 20 62 79 20 74 68 65 20 66 75 6e 63 is.the.commit.chosen.by.the.func
55a0 74 69 6f 6e 2c 20 54 49 4d 45 20 69 73 20 69 74 73 20 63 6f 6d 6d 69 74 74 65 72 20 64 61 74 65 tion,.TIME.is.its.committer.date
55c0 2c 20 61 6e 64 20 56 45 52 53 49 4f 4e 0a 69 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 73 74 72 ,.and.VERSION.is.the.version.str
55e0 69 6e 67 20 63 68 6f 73 65 6e 20 66 6f 72 20 43 4f 4d 4d 49 54 2e 0a 0a 49 66 20 6f 62 73 6f 6c ing.chosen.for.COMMIT...If.obsol
5600 65 74 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d 76 65 72 73 69 6f 6e 2d 66 ete.`package-build-get-version-f
5620 75 6e 63 74 69 6f 6e 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 74 68 65 6e 20 74 68 61 74 20 6f unction'.is.non-nil,.then.that.o
5640 76 65 72 72 69 64 65 73 20 74 68 65 20 76 61 6c 75 65 20 73 65 74 20 68 65 72 65 2e 22 0a 20 20 verrides.the.value.set.here."...
5660 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 68 :group.'package-build...:type.'h
5680 6f 6f 6b 0a 20 20 3a 6f 70 74 69 6f 6e 73 20 28 6c 69 73 74 20 23 27 70 61 63 6b 61 67 65 2d 62 ook...:options.(list.#'package-b
56a0 75 69 6c 64 2d 74 61 67 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uild-tag-version................
56c0 20 20 23 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 68 65 61 64 65 72 2d 76 65 72 73 69 6f 6e ..#'package-build-header-version
56e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 70 61 63 6b 61 67 65 2d 62 75 69 6c ..................#'package-buil
5700 64 2d 70 6b 67 2d 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b d-pkg-version))..(defcustom.pack
5720 61 67 65 2d 62 75 69 6c 64 2d 73 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 age-build-snapshot-version-funct
5740 69 6f 6e 73 0a 20 20 28 6c 69 73 74 20 23 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d ions...(list.#'package-build-tim
5760 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 73 65 64 estamp-version)..."Function.used
5780 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 6e 61 70 73 68 .to.determine.the.current.snapsh
57a0 6f 74 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 0a 45 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 ot.of.a.package...Each.function.
57c0 69 73 20 63 61 6c 6c 65 64 20 69 6e 20 6f 72 64 65 72 2c 20 77 69 74 68 20 74 68 65 20 72 65 63 is.called.in.order,.with.the.rec
57e0 69 70 65 20 6f 62 6a 65 63 74 20 61 73 0a 61 72 67 75 6d 65 6e 74 2c 20 75 6e 74 69 6c 20 6f 6e ipe.object.as.argument,.until.on
5800 65 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 e.returns.non-nil...The.returned
5820 20 76 61 6c 75 65 20 6d 75 73 74 0a 68 61 76 65 20 74 68 65 20 66 6f 72 6d 20 28 43 4f 4d 4d 49 .value.must.have.the.form.(COMMI
5840 54 20 54 49 4d 45 20 56 45 52 53 49 4f 4e 29 2c 20 77 68 65 72 65 20 43 4f 4d 4d 49 54 20 69 73 T.TIME.VERSION),.where.COMMIT.is
5860 20 74 68 65 20 63 6f 6d 6d 69 74 0a 63 68 6f 73 65 6e 20 62 79 20 74 68 65 20 66 75 6e 63 74 69 .the.commit.chosen.by.the.functi
5880 6f 6e 2c 20 54 49 4d 45 20 69 73 20 69 74 73 20 63 6f 6d 6d 69 74 74 65 72 20 64 61 74 65 2c 20 on,.TIME.is.its.committer.date,.
58a0 61 6e 64 20 56 45 52 53 49 4f 4e 0a 69 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e and.VERSION.is.the.version.strin
58c0 67 20 63 68 6f 73 65 6e 20 66 6f 72 20 43 4f 4d 4d 49 54 2e 0a 0a 53 6f 6d 65 20 6f 66 20 74 68 g.chosen.for.COMMIT...Some.of.th
58e0 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 73 6e 61 70 73 68 6f 74 e.functions.that.return.snapshot
5900 20 76 65 72 73 69 6f 6e 73 2c 20 69 6e 74 65 72 6e 61 6c 6c 79 0a 75 73 65 20 60 70 61 63 6b 61 .versions,.internally.use.`packa
5920 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f ge-build-release-version-functio
5940 6e 73 27 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 0a 63 75 72 72 65 6e 74 20 72 65 6c ns'.to.determine.the.current.rel
5960 65 61 73 65 2c 20 77 68 69 63 68 20 74 68 65 79 20 75 73 65 20 61 73 20 70 61 72 74 20 6f 66 20 ease,.which.they.use.as.part.of.
5980 74 68 65 20 72 65 74 75 72 6e 65 64 20 56 45 52 53 49 4f 4e 2e 0a 0a 49 66 20 6f 62 73 6f 6c 65 the.returned.VERSION...If.obsole
59a0 74 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d 76 65 72 73 69 6f 6e 2d 66 75 te.`package-build-get-version-fu
59c0 6e 63 74 69 6f 6e 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 74 68 65 6e 20 74 68 61 74 20 6f 76 nction'.is.non-nil,.then.that.ov
59e0 65 72 72 69 64 65 73 20 74 68 65 20 76 61 6c 75 65 20 73 65 74 20 68 65 72 65 2e 22 0a 20 20 3a errides.the.value.set.here."...:
5a00 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 68 6f group.'package-build...:type.'ho
5a20 6f 6b 0a 20 20 3a 6f 70 74 69 6f 6e 73 20 28 6c 69 73 74 20 23 27 70 61 63 6b 61 67 65 2d 62 75 ok...:options.(list.#'package-bu
5a40 69 6c 64 2d 72 65 6c 65 61 73 65 2b 63 6f 75 6e 74 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 ild-release+count-version.......
5a60 20 20 20 20 20 20 20 20 20 20 20 23 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 ...........#'package-build-relea
5a80 73 65 2b 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 se+timestamp-version............
5aa0 20 20 20 20 20 20 23 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 73 74 61 6d 70 2d ......#'package-build-timestamp-
5ac0 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 version))..(defcustom.package-bu
5ae0 69 6c 64 2d 70 72 65 64 69 63 61 74 65 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 50 72 ild-predicate-function.nil..."Pr
5b00 65 64 69 63 61 74 65 20 75 73 65 64 20 62 79 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 edicate.used.by.`package-build-a
5b20 6c 6c 27 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 70 61 63 6b 61 67 65 73 20 ll'.to.determine.which.packages.
5b40 74 6f 20 62 75 69 6c 64 2e 0a 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 73 20 66 75 6e 63 74 to.build..If.non-nil,.this.funct
5b60 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 72 65 63 69 70 65 20 6f 62 ion.is.called.with.the.recipe.ob
5b80 6a 65 63 74 20 61 73 0a 61 72 67 75 6d 65 6e 74 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 74 75 72 ject.as.argument,.and.must.retur
5ba0 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 74 6f 20 62 n.non-nil.if.the.package.is.to.b
5bc0 65 20 62 75 69 6c 64 2e 0a 49 66 20 6e 69 6c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 74 e.build..If.nil.(the.default),.t
5be0 68 65 6e 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 62 75 69 6c 64 2e 22 0a 20 20 3a hen.all.packages.are.build."...:
5c00 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 28 63 group.'package-build...:type.'(c
5c20 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 62 75 69 6c 64 20 61 6c 6c 22 29 20 66 hoice.(const.:tag."build.all").f
5c40 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 unction))..(defcustom.package-bu
5c60 69 6c 64 2d 62 75 69 6c 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 23 27 70 61 63 6b 61 67 65 2d 62 ild-build-function...#'package-b
5c80 75 69 6c 64 2d 2d 62 75 69 6c 64 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 70 61 63 6b 61 67 65 0a 20 uild--build-multi-file-package..
5ca0 20 22 4c 6f 77 2d 6c 65 76 65 6c 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 62 75 69 ."Low-level.function.used.to.bui
5cc0 6c 64 20 61 20 70 61 63 6b 61 67 65 2e 0a 42 79 20 64 65 66 61 75 6c 74 20 61 20 74 61 72 62 61 ld.a.package..By.default.a.tarba
5ce0 6c 6c 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 2c 20 69 6e 63 ll.is.used.for.all.packages,.inc
5d00 6c 75 64 69 6e 67 20 74 68 6f 73 65 0a 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 61 20 73 69 6e luding.those.consisting.of.a.sin
5d20 67 6c 65 20 66 69 6c 65 2e 20 20 49 74 20 74 68 69 73 20 69 73 20 6e 69 6c 2c 20 74 68 65 6e 20 gle.file...It.this.is.nil,.then.
5d40 73 69 6e 67 6c 65 2d 66 69 6c 65 0a 70 61 63 6b 61 67 65 73 20 61 72 65 20 64 69 73 74 72 69 62 single-file.packages.are.distrib
5d60 75 74 65 64 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 74 61 72 62 61 6c 6c 73 2e 22 0a 20 20 uted.without.using.tarballs."...
5d80 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 28 :group.'package-build...:type.'(
5da0 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 75 73 65 20 74 61 72 62 61 6c 6c 20 choice.(const.:tag."use.tarball.
5dc0 66 6f 72 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 for.all.packages"...............
5de0 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 62 75 69 6c 64 2d 6d ..........package-build--build-m
5e00 75 6c 74 69 2d 66 69 6c 65 2d 70 61 63 6b 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ulti-file-package)..............
5e20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 6f 6e 6c 79 20 75 73 65 20 74 61 72 62 61 6c ....(const.:tag."only.use.tarbal
5e40 6c 20 66 6f 72 20 6d 75 6c 74 69 2d 66 69 6c 65 20 70 61 63 6b 61 67 65 73 22 20 6e 69 6c 29 0a l.for.multi-file.packages".nil).
5e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 3b 3b 20 .................function))..;;.
5e80 4e 4f 54 45 20 74 68 61 74 20 74 68 65 73 65 20 68 6f 6f 6b 73 20 61 72 65 20 73 74 69 6c 6c 20 NOTE.that.these.hooks.are.still.
5ea0 65 78 70 65 72 69 6d 65 6e 74 61 6c 2e 20 20 4c 65 74 20 6d 65 20 6b 6e 6f 77 20 69 66 20 74 68 experimental...Let.me.know.if.th
5ec0 65 73 65 0a 3b 3b 20 61 72 65 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f ese.;;.are.potentially.useful.fo
5ee0 72 20 79 6f 75 20 61 6e 64 20 77 68 65 74 68 65 72 20 61 6e 79 20 63 68 61 6e 67 65 73 20 61 72 r.you.and.whether.any.changes.ar
5f00 65 20 72 65 71 75 69 72 65 64 0a 3b 3b 20 74 6f 20 6d 61 6b 65 20 74 68 65 6d 20 6d 6f 72 65 20 e.required.;;.to.make.them.more.
5f20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 79 6f 75 72 20 75 73 65 63 61 73 65 2e 0a 28 64 appropriate.for.your.usecase..(d
5f40 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 6f 72 6b 74 72 65 65 2d 66 75 6e efvar.package-build-worktree-fun
5f60 63 74 69 6f 6e 20 23 27 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 77 6f 72 6b 69 6e 67 2d ction.#'package-recipe--working-
5f80 74 72 65 65 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 65 61 72 6c tree).(defvar.package-build-earl
5fa0 79 2d 77 6f 72 6b 74 72 65 65 2d 66 75 6e 63 74 69 6f 6e 20 23 27 70 61 63 6b 61 67 65 2d 72 65 y-worktree-function.#'package-re
5fc0 63 69 70 65 2d 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b cipe--working-tree).(defvar.pack
5fe0 61 67 65 2d 62 75 69 6c 64 2d 66 65 74 63 68 2d 66 75 6e 63 74 69 6f 6e 20 23 27 70 61 63 6b 61 age-build-fetch-function.#'packa
6000 67 65 2d 62 75 69 6c 64 2d 2d 66 65 74 63 68 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 ge-build--fetch).(defvar.package
6020 2d 62 75 69 6c 64 2d 63 68 65 63 6b 6f 75 74 2d 66 75 6e 63 74 69 6f 6e 20 23 27 70 61 63 6b 61 -build-checkout-function.#'packa
6040 67 65 2d 62 75 69 6c 64 2d 2d 63 68 65 63 6b 6f 75 74 29 0a 28 64 65 66 76 61 72 20 70 61 63 6b ge-build--checkout).(defvar.pack
6060 61 67 65 2d 62 75 69 6c 64 2d 63 6c 65 61 6e 75 70 2d 66 75 6e 63 74 69 6f 6e 20 23 27 70 61 63 age-build-cleanup-function.#'pac
6080 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 6c 65 61 6e 75 70 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d kage-build--cleanup)..(defcustom
60a0 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 65 78 65 63 75 74 61 62 6c .package-build-timeout-executabl
60c0 65 20 22 74 69 6d 65 6f 75 74 22 0a 20 20 22 50 61 74 68 20 74 6f 20 61 20 47 4e 55 20 63 6f 72 e."timeout"..."Path.to.a.GNU.cor
60e0 65 75 74 69 6c 73 20 5c 22 74 69 6d 65 6f 75 74 5c 22 20 63 6f 6d 6d 61 6e 64 20 69 66 20 61 76 eutils.\"timeout\".command.if.av
6100 61 69 6c 61 62 6c 65 2e 0a 54 68 69 73 20 6d 75 73 74 20 62 65 20 61 20 76 65 72 73 69 6f 6e 20 ailable..This.must.be.a.version.
6120 77 68 69 63 68 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 5c 22 2d 6b 5c 22 20 6f 70 74 69 6f 6e which.supports.the.\"-k\".option
6140 2e 0a 0a 4f 6e 20 4d 61 63 4f 53 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 69 6e ...On.MacOS.it.is.possible.to.in
6160 73 74 61 6c 6c 20 63 6f 72 65 75 74 69 6c 73 20 75 73 69 6e 67 20 48 6f 6d 65 62 72 65 77 20 6f stall.coreutils.using.Homebrew.o
6180 72 0a 73 69 6d 69 6c 61 72 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 74 68 r.similar,.which.will.provide.th
61a0 65 20 47 4e 55 20 74 69 6d 65 6f 75 74 20 70 72 6f 67 72 61 6d 20 61 73 0a 5c 22 67 74 69 6d 65 e.GNU.timeout.program.as.\"gtime
61c0 6f 75 74 5c 22 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a out\"."...:group.'package-build.
61e0 20 20 3a 74 79 70 65 20 27 28 66 69 6c 65 20 3a 6d 75 73 74 2d 6d 61 74 63 68 20 74 29 29 0a 0a ..:type.'(file.:must-match.t))..
6200 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 (defcustom.package-build-timeout
6220 2d 73 65 63 73 20 6e 69 6c 0a 20 20 22 57 61 69 74 20 74 68 69 73 20 6d 61 6e 79 20 73 65 63 6f -secs.nil..."Wait.this.many.seco
6240 6e 64 73 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20 63 6f nds.for.external.processes.to.co
6260 6d 70 6c 65 74 65 2e 0a 0a 49 66 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 20 mplete...If.an.external.process.
6280 74 61 6b 65 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 73 70 65 63 69 66 69 65 64 20 68 65 72 65 takes.longer.than.specified.here
62a0 20 74 6f 0a 63 6f 6d 70 6c 65 74 65 2c 20 74 68 65 6e 20 69 74 20 69 73 20 74 65 72 6d 69 6e 61 .to.complete,.then.it.is.termina
62c0 74 65 64 2e 20 20 49 66 20 6e 69 6c 2c 20 74 68 65 6e 20 6e 6f 20 74 69 6d 65 20 6c 69 6d 69 74 ted...If.nil,.then.no.time.limit
62e0 20 69 73 0a 61 70 70 6c 69 65 64 2e 20 20 54 68 69 73 20 73 65 74 74 69 6e 67 20 72 65 71 75 69 .is.applied...This.setting.requi
6300 72 65 73 0a 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 65 78 65 63 75 res.`package-build-timeout-execu
6320 74 61 62 6c 65 27 20 74 6f 20 62 65 20 73 65 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 table'.to.be.set."...:group.'pac
6340 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 6e 75 6d 62 65 72 29 0a 0a 28 64 65 kage-build...:type.'number)..(de
6360 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 72 2d 65 78 65 63 75 74 fcustom.package-build-tar-execut
6380 61 62 6c 65 20 22 74 61 72 22 0a 20 20 22 50 61 74 68 20 74 6f 20 61 20 28 70 72 65 66 65 72 61 able."tar"..."Path.to.a.(prefera
63a0 62 6c 79 20 47 4e 55 29 20 74 61 72 20 63 6f 6d 6d 61 6e 64 2e 0a 43 65 72 74 61 69 6e 20 70 61 bly.GNU).tar.command..Certain.pa
63c0 63 6b 61 67 65 20 6e 61 6d 65 73 20 28 65 2e 67 2e 2c 20 5c 22 40 5c 22 29 20 6d 61 79 20 6e 6f ckage.names.(e.g.,.\"@\").may.no
63e0 74 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c 79 20 77 69 74 68 20 61 20 42 53 44 20 74 61 72 2e 0a t.work.properly.with.a.BSD.tar..
6400 0a 4f 6e 20 4d 61 63 4f 53 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 69 6e 73 74 .On.MacOS.it.is.possible.to.inst
6420 61 6c 6c 20 63 6f 72 65 75 74 69 6c 73 20 75 73 69 6e 67 20 48 6f 6d 65 62 72 65 77 20 6f 72 0a all.coreutils.using.Homebrew.or.
6440 73 69 6d 69 6c 61 72 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 74 68 65 20 similar,.which.will.provide.the.
6460 47 4e 55 20 74 69 6d 65 6f 75 74 20 70 72 6f 67 72 61 6d 20 61 73 0a 5c 22 67 74 61 72 5c 22 2e GNU.timeout.program.as.\"gtar\".
6480 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 "...:group.'package-build...:typ
64a0 65 20 27 28 66 69 6c 65 20 3a 6d 75 73 74 2d 6d 61 74 63 68 20 74 29 29 0a 0a 28 64 65 66 76 61 e.'(file.:must-match.t))..(defva
64c0 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 74 61 72 2d 74 79 70 65 20 6e 69 6c 0a 20 20 r.package-build--tar-type.nil...
64e0 22 54 79 70 65 20 6f 66 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 72 2d 65 78 65 63 "Type.of.`package-build-tar-exec
6500 75 74 61 62 6c 65 27 2e 0a 43 61 6e 20 62 65 20 60 67 6e 75 27 20 6f 72 20 60 62 73 64 27 3b 20 utable'..Can.be.`gnu'.or.`bsd';.
6520 6e 69 6c 20 6d 65 61 6e 73 20 74 68 65 20 74 79 70 65 20 69 73 20 6e 6f 74 20 64 65 63 69 64 65 nil.means.the.type.is.not.decide
6540 64 20 79 65 74 2e 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 d.yet.")..(define-obsolete-varia
6560 62 6c 65 2d 61 6c 69 61 73 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 72 69 74 65 2d 6d ble-alias.'package-build-write-m
6580 65 6c 70 61 2d 62 61 64 67 65 2d 69 6d 61 67 65 73 0a 20 20 27 70 61 63 6b 61 67 65 2d 62 75 69 elpa-badge-images...'package-bui
65a0 6c 64 2d 62 61 64 67 65 2d 64 61 74 61 20 22 50 61 63 6b 61 67 65 2d 42 75 69 6c 64 20 35 2e 30 ld-badge-data."Package-Build.5.0
65c0 2e 30 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 .0")..(defcustom.package-build-b
65e0 61 64 67 65 2d 64 61 74 61 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 61 6e 64 20 63 6f 6c 6f 72 20 adge-data.nil..."Text.and.color.
6600 75 73 65 64 20 69 6e 20 62 61 64 67 65 20 69 6d 61 67 65 73 2c 20 69 66 20 61 6e 79 2e 0a 0a 49 used.in.badge.images,.if.any...I
6620 66 20 6e 69 6c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 74 68 65 6e 20 6e 6f 20 62 61 64 f.nil.(the.default),.then.no.bad
6640 67 65 20 69 6d 61 67 65 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 2c 0a 6f 74 68 65 72 77 69 ge.images.are.generated,.otherwi
6660 73 65 20 74 68 69 73 20 68 61 73 20 74 68 65 20 66 6f 72 6d 20 28 4e 41 4d 45 20 43 4f 4c 4f 52 se.this.has.the.form.(NAME.COLOR
6680 29 2e 20 20 4d 45 4c 50 41 20 73 65 74 73 20 74 68 65 20 76 61 6c 75 65 0a 69 6e 20 69 74 73 20 )...MELPA.sets.the.value.in.its.
66a0 74 6f 70 2d 6c 65 76 65 6c 20 4d 61 6b 65 66 69 6c 65 2c 20 74 6f 20 64 69 66 66 65 72 65 6e 74 top-level.Makefile,.to.different
66c0 20 76 61 6c 75 65 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 0a 63 68 61 6e 6e 65 .values,.depending.on.the.channe
66e0 6c 20 74 68 61 74 20 69 73 20 62 65 69 6e 67 20 62 75 69 6c 64 2e 22 0a 20 20 3a 67 72 6f 75 70 l.that.is.being.build."...:group
6700 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a 74 79 70 65 20 27 28 6c 69 73 74 20 28 .'package-build...:type.'(list.(
6720 73 74 72 69 6e 67 20 3a 74 61 67 20 22 41 72 63 68 69 76 65 20 6e 61 6d 65 22 29 20 63 6f 6c 6f string.:tag."Archive.name").colo
6740 72 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 r))..(defcustom.package-build-ve
6760 72 73 69 6f 6e 2d 72 65 67 65 78 70 0a 20 20 22 5c 5c 60 5b 72 52 76 56 5d 3f 5c 5c 28 3f 31 3a rsion-regexp..."\\`[rRvV]?\\(?1:
6780 5b 30 2d 39 5d 2b 5c 5c 28 5c 5c 2e 5b 30 2d 39 5d 2b 5c 5c 29 2a 5c 5c 29 5c 5c 27 22 0a 20 20 [0-9]+\\(\\.[0-9]+\\)*\\)\\'"...
67a0 22 52 65 67 65 78 70 20 75 73 65 64 20 74 6f 20 6d 61 74 63 68 20 76 61 6c 69 64 20 76 65 72 73 "Regexp.used.to.match.valid.vers
67c0 69 6f 6e 2d 73 74 72 69 6e 67 73 2e 0a 0a 54 68 65 20 66 69 72 73 74 20 63 61 70 74 75 72 65 20 ion-strings...The.first.capture.
67e0 69 73 20 75 73 65 64 20 74 6f 20 65 78 74 72 61 63 74 20 74 68 65 20 61 63 74 75 61 6c 20 76 65 is.used.to.extract.the.actual.ve
6800 72 73 69 6f 6e 20 73 74 72 69 6e 67 2e 0a 53 74 72 69 6e 67 73 20 6d 61 74 63 68 65 64 20 62 79 rsion.string..Strings.matched.by
6820 20 74 68 61 74 20 67 72 6f 75 70 20 6d 75 73 74 20 62 65 20 76 61 6c 69 64 20 61 63 63 6f 72 64 .that.group.must.be.valid.accord
6840 69 6e 67 20 74 6f 0a 60 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 27 2c 20 62 75 74 20 74 68 ing.to.`version-to-list',.but.th
6860 65 20 75 73 65 64 20 72 65 67 65 78 70 20 63 61 6e 20 62 65 20 6d 6f 72 65 20 73 74 72 69 63 74 e.used.regexp.can.be.more.strict
6880 2e 20 20 54 68 65 0a 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 73 75 70 70 6f 72 74 73 20 6f 6e ...The.default.value.supports.on
68a0 6c 79 20 72 65 6c 65 61 73 65 73 20 62 75 74 20 6e 6f 20 70 72 65 2d 72 65 6c 65 61 73 65 73 2e ly.releases.but.no.pre-releases.
68c0 20 20 49 74 0a 61 6c 73 6f 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 20 69 67 6e 6f 72 65 73 20 ..It.also.intentionally.ignores.
68e0 63 65 64 72 74 61 69 6e 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 76 65 72 73 69 6f 6e 20 73 74 72 cedrtain.unfortunate.version.str
6900 69 6e 67 73 0a 73 75 63 68 20 61 73 20 5c 22 31 41 5c 22 20 6f 72 20 5c 22 2e 35 5c 22 2c 20 61 ings.such.as.\"1A\".or.\".5\",.a
6920 6e 64 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 73 20 5c 22 2e 5c 22 20 61 73 20 73 65 70 61 72 61 nd.only.supports.\".\".as.separa
6940 74 6f 72 2e 0a 0a 54 68 65 20 70 61 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 tor...The.part.before.the.first.
6960 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 73 68 6f 75 6c 64 20 6d 61 74 63 68 20 70 72 65 66 69 capture.group.should.match.prefi
6980 78 65 73 0a 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 74 61 67 xes.commonly.used.in.version.tag
69a0 73 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 s...Note.that.this.variable.can.
69c0 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 69 6e 20 61 20 70 61 63 6b 61 67 65 27 73 20 72 65 63 be.overridden.in.a.package's.rec
69e0 69 70 65 2c 0a 75 73 69 6e 67 20 74 68 65 20 60 3a 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 27 ipe,.using.the.`:version-regexp'
6a00 20 73 6c 6f 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a .slot."...:group.'package-build.
6a20 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 61 63 ..:type.'string)..(defcustom.pac
6a40 6b 61 67 65 2d 62 75 69 6c 64 2d 61 6c 6c 6f 77 65 64 2d 67 69 74 2d 70 72 6f 74 6f 63 6f 6c 73 kage-build-allowed-git-protocols
6a60 20 27 28 22 68 74 74 70 73 22 20 22 66 69 6c 65 22 20 22 73 73 68 22 29 0a 20 20 22 50 72 6f 74 .'("https"."file"."ssh")..."Prot
6a80 6f 63 6f 6c 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 65 74 63 68 20 ocols.that.can.be.used.to.fetch.
6aa0 66 72 6f 6d 20 75 70 73 74 72 65 61 6d 20 77 69 74 68 20 67 69 74 2e 0a 42 79 20 64 65 66 61 75 from.upstream.with.git..By.defau
6ac0 6c 74 20 69 6e 73 65 63 75 72 65 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 73 75 63 68 20 61 73 20 5c lt.insecure.protocols,.such.as.\
6ae0 22 68 74 74 70 5c 22 20 6f 72 20 5c 22 67 69 74 5c 22 2c 20 61 72 65 0a 64 69 73 61 6c 6c 6f 77 "http\".or.\"git\",.are.disallow
6b00 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 20 20 3a ed."...:group.'package-build...:
6b20 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 76 61 72 20 type.'(repeat.string))..(defvar.
6b40 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 75 73 65 2d 67 69 74 2d 72 65 6d 6f 74 65 2d 68 67 20 package-build-use-git-remote-hg.
6b60 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 75 73 65 20 60 67 69 74 2d 72 65 6d 6f 74 nil..."Whether.to.use.`git-remot
6b80 65 2d 68 67 27 20 72 65 6d 6f 74 65 20 68 65 6c 70 65 72 20 66 6f 72 20 6d 65 72 63 75 72 69 61 e-hg'.remote.helper.for.mercuria
6ba0 6c 20 72 65 70 6f 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c l.repos.")..(defvar.package-buil
6bc0 64 2d 2d 69 6e 68 69 62 69 74 2d 66 65 74 63 68 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 d--inhibit-fetch.nil..."Whether.
6be0 74 6f 20 69 6e 68 69 62 69 74 20 66 65 74 63 68 69 6e 67 2e 20 20 55 73 65 66 75 6c 20 66 6f 72 to.inhibit.fetching...Useful.for
6c00 20 74 65 73 74 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 61 .testing.purposes.")..(defvar.pa
6c20 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 62 69 74 2d 63 68 65 63 6b 6f 75 74 20 6e 69 ckage-build--inhibit-checkout.ni
6c40 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 69 6e 68 69 62 69 74 20 63 68 65 63 6b 6f 75 74 l..."Whether.to.inhibit.checkout
6c60 2e 20 20 55 73 65 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 22 ...Useful.for.testing.purposes."
6c80 29 0a 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 62 69 )..(defvar.package-build--inhibi
6ca0 74 2d 62 75 69 6c 64 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 69 6e 68 69 62 69 t-build.nil..."Whether.to.inhibi
6cc0 74 20 62 75 69 6c 64 69 6e 67 2e 20 20 55 73 65 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 20 t.building...Useful.for.testing.
6ce0 70 75 72 70 6f 73 65 73 2e 22 29 0a 0a 3b 3b 3b 20 47 65 6e 65 72 69 63 20 55 74 69 6c 69 74 69 purposes.")..;;;.Generic.Utiliti
6d00 65 73 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 es..(defun.package-build--messag
6d20 65 20 28 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 e.(format-string.&rest.args)..."
6d40 42 65 68 61 76 65 20 6c 69 6b 65 20 60 6d 65 73 73 61 67 65 27 20 69 66 20 60 70 61 63 6b 61 67 Behave.like.`message'.if.`packag
6d60 65 2d 62 75 69 6c 64 2d 76 65 72 62 6f 73 65 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 74 68 e-build-verbose'.is.non-nil..Oth
6d80 65 72 77 69 73 65 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 20 20 46 4f 52 4d 41 54 2d 53 54 52 49 4e erwise.do.nothing...FORMAT-STRIN
6da0 47 20 61 6e 64 20 41 52 47 53 20 61 72 65 20 61 73 20 70 65 72 20 74 68 61 74 20 66 75 6e 63 74 G.and.ARGS.are.as.per.that.funct
6dc0 69 6f 6e 2e 22 0a 20 20 28 77 68 65 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 72 62 ion."...(when.package-build-verb
6de0 6f 73 65 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 6d 65 73 73 61 67 65 20 66 6f 72 6d 61 74 2d ose.....(apply.#'message.format-
6e00 73 74 72 69 6e 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 string.args)))..(defun.package-b
6e20 75 69 6c 64 2d 2d 65 72 72 6f 72 20 28 70 61 63 6b 61 67 65 20 66 6f 72 6d 61 74 2d 73 74 72 69 uild--error.(package.format-stri
6e40 6e 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 42 65 68 61 76 65 20 73 69 6d 69 6c 61 72 ng.&rest.args)..."Behave.similar
6e60 20 74 6f 20 60 65 72 72 6f 72 27 20 62 75 74 20 77 69 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 .to.`error'.but.with.additional.
6e80 6c 6f 67 67 69 6e 67 2e 0a 4c 6f 67 20 74 68 65 20 65 72 72 6f 72 20 74 6f 20 5c 22 65 72 72 6f logging..Log.the.error.to.\"erro
6ea0 72 73 2e 6c 6f 67 5c 22 20 69 6e 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 rs.log\".in.`package-build-archi
6ec0 76 65 2d 64 69 72 27 2e 0a 50 72 65 66 69 78 20 74 68 65 20 65 6e 74 72 79 20 77 69 74 68 20 74 ve-dir'..Prefix.the.entry.with.t
6ee0 68 65 20 64 61 74 65 20 61 6e 64 20 69 66 20 70 6f 73 73 69 62 6c 65 20 74 68 65 20 6e 61 6d 65 he.date.and.if.possible.the.name
6f00 20 6f 66 20 61 0a 70 61 63 6b 61 67 65 2e 20 20 50 41 43 4b 41 47 45 20 69 64 65 6e 74 69 66 69 .of.a.package...PACKAGE.identifi
6f20 65 73 20 61 20 70 61 63 6b 61 67 65 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 70 61 63 6b 61 es.a.package,.it.must.be.a.packa
6f40 67 65 0a 6e 61 6d 65 2c 20 61 20 60 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 27 20 6f 62 6a 65 ge.name,.a.`package-recipe'.obje
6f60 63 74 20 6f 72 20 6e 69 6c 2c 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 74 ct.or.nil,.if.the.command.is.not
6f80 0a 62 65 69 6e 67 20 72 75 6e 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 61 63 6b .being.run.for.a.particular.pack
6fa0 61 67 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 age."...(declare.(indent.defun))
6fc0 0a 20 20 28 6c 65 74 20 28 28 65 72 72 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 2d 6d 65 ...(let.((err.(apply.#'format-me
6fe0 73 73 61 67 65 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 61 72 67 73 29 29 29 0a 20 20 20 20 ssage.format-string.args))).....
7000 3b 3b 20 54 68 61 74 27 73 20 61 20 62 69 74 20 6f 66 20 61 6e 20 69 6e 63 6f 6e 76 65 6e 69 65 ;;.That's.a.bit.of.an.inconvenie
7020 6e 74 20 69 6e 74 65 72 66 61 63 65 2e 2e 2e 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 nt.interface........(with-temp-b
7040 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 20 uffer.......(insert.(format."%s.
7060 20 25 2d 32 35 73 20 20 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%-25s..%s\n"...................
7080 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 46 54 25 54 25 7a ....(format-time-string."%FT%T%z
70a0 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ".nil.t).......................(
70c0 69 66 20 28 63 6c 2d 74 79 70 65 70 20 70 61 63 6b 61 67 65 20 27 70 61 63 6b 61 67 65 2d 72 65 if.(cl-typep.package.'package-re
70e0 63 69 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cipe)...........................
7100 28 6f 72 65 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (oref.package.name).............
7120 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 70 61 63 6b 61 67 65 20 22 6e 2f 61 22 29 29 0a ............(or.package."n/a")).
7140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 29 29 0a 20 20 20 20 ......................err)).....
7160 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 20 3f 5c 6e 29 ..(unless.(eq.(char-before).?\n)
7180 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 28 67 .........(insert."\n")).......(g
71a0 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 61 70 70 oto-char.(point-min)).......(app
71c0 65 6e 64 2d 74 6f 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 end-to-file........(point)......
71e0 20 20 28 31 2b 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 ..(1+.(line-end-position))......
7200 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 65 72 72 6f 72 73 2e 6c 6f 67 22 ..(expand-file-name."errors.log"
7220 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 29 0a 20 20 .package-build-archive-dir)))...
7240 20 20 28 65 72 72 6f 72 20 22 25 73 22 20 65 72 72 29 29 29 0a 0a 3b 3b 3b 20 56 65 72 73 69 6f ..(error."%s".err)))..;;;.Versio
7260 6e 20 48 61 6e 64 6c 69 6e 67 0a 3b 3b 3b 3b 20 43 6f 6d 6d 6f 6e 0a 0a 28 64 65 66 75 6e 20 70 n.Handling.;;;;.Common..(defun.p
7280 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 65 6c 65 63 74 2d 76 65 72 73 69 6f 6e 20 28 72 63 ackage-build--select-version.(rc
72a0 70 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 28 28 64 65 66 61 75 6c 74 p)...(pcase-let*.......((default
72c0 2d 64 69 72 65 63 74 6f 72 79 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 6f 72 6b 69 -directory.(package-build--worki
72e0 6e 67 2d 74 72 65 65 20 72 63 70 20 74 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 63 6f 6d 6d 69 ng-tree.rcp.t))........(`(,commi
7300 74 20 2c 74 69 6d 65 20 2c 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a t.,time.,version).........(cond.
7320 20 20 20 20 20 20 20 20 20 28 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 70 61 63 6b .........((with-no-warnings.pack
7340 61 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 29 0a age-build-get-version-function).
7360 20 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 70 61 63 6b ..........(display-warning.'pack
7380 61 67 65 2d 62 75 69 6c 64 20 22 5c 0a 56 61 72 69 61 62 6c 65 20 60 70 61 63 6b 61 67 65 2d 62 age-build."\.Variable.`package-b
73a0 75 69 6c 64 2d 67 65 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 27 20 69 73 20 6f 62 uild-get-version-function'.is.ob
73c0 73 6f 6c 65 74 65 2e 0a 49 6e 73 74 65 61 64 20 73 65 74 20 60 70 61 63 6b 61 67 65 2d 62 75 69 solete..Instead.set.`package-bui
73e0 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 0a 61 6e ld-release-version-functions'.an
7400 64 2f 6f 72 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 6e 61 70 73 68 6f 74 2d 76 65 72 d/or.`package-build-snapshot-ver
7420 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 2c 20 61 6e 64 0a 73 65 74 20 60 70 61 63 6b 61 67 sion-functions',.and.set.`packag
7440 65 2d 62 75 69 6c 64 2d 73 74 61 62 6c 65 27 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 74 68 e-build-stable'.to.control.wheth
7460 65 72 20 72 65 6c 65 61 73 65 73 0a 6f 72 20 73 6e 61 70 73 68 6f 74 73 20 61 72 65 20 62 75 69 er.releases.or.snapshots.are.bui
7480 6c 64 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 ld.")...........(with-no-warning
74a0 73 20 28 66 75 6e 63 61 6c 6c 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d 76 65 72 s.(funcall.package-build-get-ver
74c0 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 72 63 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 sion-function.rcp)))..........(p
74e0 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 73 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 72 ackage-build-stable...........(r
7500 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 2d 75 6e 74 69 6c 2d 73 75 63 63 65 73 73 0a un-hook-with-args-until-success.
7520 20 20 20 20 20 20 20 20 20 20 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 ...........'package-build-releas
7540 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 20 72 63 70 29 29 0a 20 20 20 20 20 20 e-version-functions.rcp)).......
7560 20 20 20 28 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 2d 75 6e 74 69 6c 2d 73 75 ...((run-hook-with-args-until-su
7580 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d ccess............'package-build-
75a0 73 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 20 72 63 70 29 29 snapshot-version-functions.rcp))
75c0 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 ))).....(if.(not.version).......
75e0 20 20 28 66 75 6e 63 61 6c 6c 20 28 69 66 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 6c 6c ..(funcall.(if.package-build-all
7600 2d 70 75 62 6c 69 73 68 61 62 6c 65 20 23 27 65 72 72 6f 72 20 23 27 6d 65 73 73 61 67 65 29 0a -publishable.#'error.#'message).
7620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69 ................."Cannot.determi
7640 6e 65 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 25 73 22 20 28 6f 72 65 66 20 72 63 70 20 6e 61 6d ne.version.for.%s".(oref.rcp.nam
7660 65 29 29 0a 20 20 20 20 20 20 28 6f 73 65 74 20 72 63 70 20 63 6f 6d 6d 69 74 20 63 6f 6d 6d 69 e)).......(oset.rcp.commit.commi
7680 74 29 0a 20 20 20 20 20 20 28 6f 73 65 74 20 72 63 70 20 74 69 6d 65 20 74 69 6d 65 29 0a 20 20 t).......(oset.rcp.time.time)...
76a0 20 20 20 20 28 6f 73 65 74 20 72 63 70 20 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e 29 29 29 ....(oset.rcp.version.version)))
76c0 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d )..(cl-defmethod.package-build--
76e0 73 65 6c 65 63 74 2d 63 6f 6d 6d 69 74 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d select-commit.((rcp.package-git-
7700 72 65 63 69 70 65 29 20 72 65 76 20 65 78 61 63 74 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a recipe).rev.exact)...(pcase-let*
7720 0a 20 20 20 20 20 20 28 28 60 28 2c 68 61 73 68 20 2c 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 .......((`(,hash.,time).........
7740 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 61 70 70 (split-string..........(car.(app
7760 6c 79 20 23 27 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ly.#'process-lines..............
7780 20 20 20 20 20 20 20 20 22 67 69 74 22 20 22 6c 6f 67 22 20 22 2d 6e 31 22 20 22 2d 2d 66 69 72 ........"git"."log"."-n1"."--fir
77a0 73 74 2d 70 61 72 65 6e 74 22 20 22 2d 2d 6e 6f 2d 73 68 6f 77 2d 73 69 67 6e 61 74 75 72 65 22 st-parent"."--no-show-signature"
77c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 72 65 74 74 79 3d ......................"--pretty=
77e0 66 6f 72 6d 61 74 3a 25 48 20 25 63 64 22 20 22 2d 2d 64 61 74 65 3d 75 6e 69 78 22 20 72 65 76 format:%H.%cd"."--date=unix".rev
7800 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 ......................(and.(not.
7820 65 78 61 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 exact)..........................
7840 20 28 63 6f 6e 73 20 22 2d 2d 22 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 70 65 63 .(cons."--".(package-build--spec
7860 2d 67 6c 6f 62 73 20 72 63 70 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 22 20 22 29 29 29 0a -globs.rcp))))).........."."))).
7880 20 20 20 20 28 6c 69 73 74 20 68 61 73 68 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 ....(list.hash.(string-to-number
78a0 20 74 69 6d 65 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 .time))))..(cl-defmethod.package
78c0 2d 62 75 69 6c 64 2d 2d 73 65 6c 65 63 74 2d 63 6f 6d 6d 69 74 20 28 28 72 63 70 20 70 61 63 6b -build--select-commit.((rcp.pack
78e0 61 67 65 2d 68 67 2d 72 65 63 69 70 65 29 20 72 65 76 20 65 78 61 63 74 29 0a 20 20 28 70 63 61 age-hg-recipe).rev.exact)...(pca
7900 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 28 28 60 28 2c 68 61 73 68 20 2c 74 69 6d 65 20 2c 5f se-let*.......((`(,hash.,time.,_
7920 74 69 6d 65 7a 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 0a timezone).........(split-string.
7940 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 61 70 70 6c 79 20 23 27 70 72 6f 63 65 73 73 2d 6c .........(car.(apply.#'process-l
7960 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 ines......................;;.The
7980 20 22 64 61 74 65 22 20 6b 65 79 77 6f 72 64 20 75 73 65 73 20 55 54 43 2e 20 54 68 65 20 22 68 ."date".keyword.uses.UTC..The."h
79a0 67 64 61 74 65 22 20 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gdate".filter...................
79c0 20 20 20 3b 3b 20 72 65 74 75 72 6e 73 20 74 77 6f 20 69 6e 74 65 67 65 72 73 20 73 65 70 61 72 ...;;.returns.two.integers.separ
79e0 61 74 65 64 20 62 79 20 61 20 73 70 61 63 65 3b 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 ated.by.a.space;.the............
7a00 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 6e 69 78 20 74 69 6d 65 73 74 61 6d 70 20 61 6e 64 20 ..........;;.unix.timestamp.and.
7a20 74 68 65 20 74 69 6d 65 7a 6f 6e 65 20 6f 66 66 73 65 74 2e 20 20 57 65 20 75 73 65 0a 20 20 20 the.timezone.offset...We.use....
7a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 68 67 64 61 74 65 22 20 62 65 ..................;;."hgdate".be
7a60 63 61 75 73 65 20 74 68 61 74 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 64 69 cause.that.makes.it.easier.to.di
7a80 73 63 61 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 scard......................;;.th
7aa0 65 20 74 69 6d 65 20 7a 6f 6e 65 20 6f 66 66 73 65 74 2c 20 77 68 69 63 68 20 64 6f 65 73 6e 27 e.time.zone.offset,.which.doesn'
7ac0 74 20 69 6e 74 65 72 65 73 74 20 75 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.interest.us...................
7ae0 20 20 20 20 22 68 67 22 20 22 6c 6f 67 22 20 22 2d 2d 6c 69 6d 69 74 22 20 22 31 22 0a 20 20 20 ...."hg"."log"."--limit"."1"....
7b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 65 6d 70 6c 61 74 65 22 20 22 .................."--template"."
7b20 7b 6e 6f 64 65 7d 20 7b 64 61 74 65 7c 68 67 64 61 74 65 7d 5c 6e 22 20 22 2d 2d 72 65 76 22 20 {node}.{date|hgdate}\n"."--rev".
7b40 72 65 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e rev......................(and.(n
7b60 6f 74 20 65 78 61 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.exact).......................
7b80 20 20 20 20 28 63 6f 6e 73 20 22 2d 2d 22 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 ....(cons."--".(package-build--s
7ba0 70 65 63 2d 67 6c 6f 62 73 20 72 63 70 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 22 20 22 29 pec-globs.rcp)))))..........".")
7bc0 29 29 0a 20 20 20 20 28 6c 69 73 74 20 68 61 73 68 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d )).....(list.hash.(string-to-num
7be0 62 65 72 20 74 69 6d 65 29 29 29 29 0a 0a 3b 3b 3b 3b 20 54 61 67 0a 0a 28 64 65 66 75 6e 20 70 ber.time))))..;;;;.Tag..(defun.p
7c00 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 67 2d 76 65 72 73 69 6f 6e 20 28 72 63 70 29 0a 20 ackage-build-tag-version.(rcp)..
7c20 20 22 44 65 74 65 72 6d 69 6e 65 20 76 65 72 73 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e ."Determine.version.correspondin
7c40 67 20 74 6f 20 6c 61 72 67 65 73 74 20 76 65 72 73 69 6f 6e 20 74 61 67 20 66 6f 72 20 52 43 50 g.to.largest.version.tag.for.RCP
7c60 2e 0a 52 65 74 75 72 6e 20 28 43 4f 4d 4d 49 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d ..Return.(COMMIT-HASH.COMMITTER-
7c80 44 41 54 45 20 56 45 52 53 49 4f 4e 2d 53 54 52 49 4e 47 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 DATE.VERSION-STRING)."...(let.((
7ca0 72 65 67 65 78 70 20 28 6f 72 20 28 6f 72 65 66 20 72 63 70 20 76 65 72 73 69 6f 6e 2d 72 65 67 regexp.(or.(oref.rcp.version-reg
7cc0 65 78 70 29 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 exp).package-build-version-regex
7ce0 70 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 67 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 76 p)).........(tag.nil).........(v
7d00 65 72 73 69 6f 6e 20 27 28 30 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6e 20 28 70 61 ersion.'(0))).....(dolist.(n.(pa
7d20 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6c 69 73 74 2d 74 61 67 73 20 72 63 70 29 29 0a 20 20 20 ckage-build--list-tags.rcp))....
7d40 20 20 20 28 6c 65 74 20 28 28 76 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 ...(let.((v.(ignore-errors......
7d60 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 28 61 6e ............(version-to-list.(an
7d80 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 72 65 67 65 78 70 20 6e 29 0a 20 20 20 20 20 20 d.(string-match.regexp.n).......
7da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7dc0 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 .(match-string.1.n))))))........
7de0 20 28 77 68 65 6e 20 28 61 6e 64 20 76 20 28 76 65 72 73 69 6f 6e 2d 6c 69 73 74 2d 3c 3d 20 76 .(when.(and.v.(version-list-<=.v
7e00 65 72 73 69 6f 6e 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 6c 2d 74 79 70 ersion.v))...........(if.(cl-typ
7e20 65 70 20 72 63 70 20 27 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 0a 20 20 20 20 ep.rcp.'package-git-recipe).....
7e40 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 67 20 28 63 6f 6e 63 61 74 20 22 72 65 66 ..........(setq.tag.(concat."ref
7e60 73 2f 74 61 67 73 2f 22 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 s/tags/".n)).............(setq.t
7e80 61 67 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 65 72 73 69 6f 6e 20 76 ag.n))...........(setq.version.v
7ea0 29 29 29 29 0a 20 20 20 20 28 61 6e 64 20 74 61 67 0a 20 20 20 20 20 20 20 20 20 28 70 63 61 73 )))).....(and.tag..........(pcas
7ec0 65 2d 6c 65 74 20 28 28 60 28 2c 68 61 73 68 20 2c 74 69 6d 65 29 20 28 70 61 63 6b 61 67 65 2d e-let.((`(,hash.,time).(package-
7ee0 62 75 69 6c 64 2d 2d 73 65 6c 65 63 74 2d 63 6f 6d 6d 69 74 20 72 63 70 20 74 61 67 20 74 29 29 build--select-commit.rcp.tag.t))
7f00 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 68 61 73 68 20 74 69 6d 65 20 28 70 61 )............(list.hash.time.(pa
7f20 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 76 65 72 73 69 6f 6e 29 29 29 29 29 29 ckage-version-join.version))))))
7f40 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6c ..(cl-defmethod.package-build--l
7f60 69 73 74 2d 74 61 67 73 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 ist-tags.((_rcp.package-git-reci
7f80 70 65 29 29 0a 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 67 69 74 22 20 22 74 61 67 pe))...(process-lines."git"."tag
7fa0 22 20 22 2d 2d 6c 69 73 74 22 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b "."--list"))..(cl-defmethod.pack
7fc0 61 67 65 2d 62 75 69 6c 64 2d 2d 6c 69 73 74 2d 74 61 67 73 20 28 28 5f 72 63 70 20 70 61 63 6b age-build--list-tags.((_rcp.pack
7fe0 61 67 65 2d 68 67 2d 72 65 63 69 70 65 29 29 0a 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 age-hg-recipe))...(process-lines
8000 20 22 68 67 22 20 22 74 61 67 73 22 20 22 2d 2d 71 75 69 65 74 22 29 29 0a 0a 28 64 65 66 69 6e ."hg"."tags"."--quiet"))..(defin
8020 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 70 61 63 6b 61 e-obsolete-function-alias.'packa
8040 67 65 2d 62 75 69 6c 64 2d 67 65 74 2d 74 61 67 2d 76 65 72 73 69 6f 6e 0a 20 20 27 70 61 63 6b ge-build-get-tag-version...'pack
8060 61 67 65 2d 62 75 69 6c 64 2d 74 61 67 2d 76 65 72 73 69 6f 6e 20 22 50 61 63 6b 61 67 65 2d 42 age-build-tag-version."Package-B
8080 75 69 6c 64 20 35 2e 30 2e 30 22 29 0a 0a 3b 3b 3b 3b 20 48 65 61 64 65 72 0a 0a 28 64 65 66 75 uild.5.0.0")..;;;;.Header..(defu
80a0 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 68 65 61 64 65 72 2d 76 65 72 73 69 6f 6e 20 28 n.package-build-header-version.(
80c0 72 63 70 29 0a 20 20 22 52 65 74 75 72 6e 20 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 69 65 64 rcp)..."Return.version.specified
80e0 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 6c 69 62 72 61 .in.the.header.of.the.main.libra
8100 72 79 2e 0a 0a 57 61 6c 6b 20 74 68 65 20 68 69 73 74 6f 72 79 20 6f 66 20 74 68 65 20 6d 61 69 ry...Walk.the.history.of.the.mai
8120 6e 20 6c 69 62 72 61 72 79 20 75 6e 74 69 6c 20 61 20 63 6f 6d 6d 69 74 20 69 73 20 66 6f 75 6e n.library.until.a.commit.is.foun
8140 64 0a 77 68 69 63 68 20 63 68 61 6e 67 65 73 20 74 68 65 20 60 50 61 63 6b 61 67 65 2d 56 65 72 d.which.changes.the.`Package-Ver
8160 73 69 6f 6e 27 20 6f 72 20 60 56 65 72 73 69 6f 6e 27 20 68 65 61 64 65 72 20 69 6e 20 74 68 65 sion'.or.`Version'.header.in.the
8180 0a 6d 61 69 6e 20 6c 69 62 72 61 72 79 20 74 6f 20 61 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 .main.library.to.a.version.that.
81a0 71 75 61 6c 69 66 69 65 73 20 61 73 20 61 20 72 65 6c 65 61 73 65 2c 20 69 67 6e 6f 72 69 6e 67 qualifies.as.a.release,.ignoring
81c0 0a 61 6e 79 20 70 72 65 2d 72 65 6c 65 61 73 65 73 2e 0a 0a 52 65 74 75 72 6e 20 28 43 4f 4d 4d .any.pre-releases...Return.(COMM
81e0 49 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d 44 41 54 45 20 56 45 52 53 49 4f 4e 2d 53 IT-HASH.COMMITTER-DATE.VERSION-S
8200 54 52 49 4e 47 29 2e 22 0a 20 20 28 61 6e 64 2d 6c 65 74 2a 20 28 28 6c 69 62 20 28 70 61 63 6b TRING)."...(and-let*.((lib.(pack
8220 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 61 69 6e 2d 6c 69 62 72 61 72 79 20 72 63 70 29 29 29 0a 20 age-build--main-library.rcp)))..
8240 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 6c 65 74 20 ...(with-temp-buffer.......(let.
8260 28 63 6f 6d 6d 69 74 20 64 61 74 65 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 73 (commit.date.version).........(s
8280 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 ave-excursion...........(package
82a0 2d 62 75 69 6c 64 2d 2d 69 6e 73 65 72 74 2d 76 65 72 73 69 6f 6e 2d 68 65 61 64 65 72 2d 6c 6f -build--insert-version-header-lo
82c0 67 0a 20 20 20 20 20 20 20 20 20 20 20 72 63 70 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d g............rcp.(file-relative-
82e0 6e 61 6d 65 20 6c 69 62 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 name.lib))).........(while.(and.
8300 28 6e 6f 74 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (not.version)...................
8320 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 63 6f 6d 6d 69 74 20 5c 5c ..(re-search-forward."^commit.\\
8340 28 5b 5e 20 5d 2b 5c 5c 29 20 5c 5c 28 2e 2b 5c 5c 29 22 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 ([^.]+\\).\\(.+\\)".nil.t)).....
8360 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 6d 69 74 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 ......(setq.commit.(match-string
8380 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 61 74 65 20 28 6d 61 74 63 68 .1))...........(setq.date.(match
83a0 2d 73 74 72 69 6e 67 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 -string.2))...........(let.((end
83c0 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 .(save-excursion.(re-search-forw
83e0 61 72 64 20 22 5e 24 22 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ard."^$".nil.t)))).............(
8400 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 20 20 when.(re-search-forward.........
8420 20 20 20 20 20 20 20 20 20 20 20 22 5e 5c 5c 2b 3b 3b 2a 20 2a 5c 5c 28 50 61 63 6b 61 67 65 2d ..........."^\\+;;*.*\\(Package-
8440 5c 5c 29 3f 56 65 72 73 69 6f 6e 3a 20 2a 5c 5c 28 2e 2b 5c 5c 29 22 20 65 6e 64 20 74 29 0a 20 \\)?Version:.*\\(.+\\)".end.t)..
8460 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 65 72 20 28 6d 61 74 63 68 2d 73 .............(let.((ver.(match-s
8480 74 72 69 6e 67 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e tring.2))).................(when
84a0 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 76 65 72 20 22 30 22 29 29 0a 20 20 20 20 .(and.(not.(equal.ver."0")).....
84c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d .......................(string-m
84e0 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atch............................
8500 20 22 5c 5c 60 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 5c 28 5c 5c 2e 5b 30 2d 39 5d 2b 5c 5c 29 ."\\`\\([0-9]+\\)\\(\\.[0-9]+\\)
8520 2a 5c 5c 27 22 20 76 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 *\\'".ver))...................(s
8540 65 74 71 20 76 65 72 73 69 6f 6e 20 76 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 etq.version.ver)))).............
8560 28 77 68 65 6e 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 (when.end...............(goto-ch
8580 61 72 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 76 65 72 73 69 6f 6e 0a ar.end)))).........(and.version.
85a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 63 6f 6d 6d 69 74 0a 20 20 20 20 20 20 .............(list.commit.......
85c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 64 .............(string-to-number.d
85e0 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 ate)....................(package
8600 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 28 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 76 -version-join.(version-to-list.v
8620 65 72 73 69 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 ersion))))))))..(defun.package-b
8640 75 69 6c 64 2d 2d 6d 61 69 6e 2d 6c 69 62 72 61 72 79 20 28 72 63 70 29 0a 20 20 28 70 61 63 6b uild--main-library.(rcp)...(pack
8660 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 61 74 63 68 2d 6c 69 62 72 61 72 79 20 72 63 70 29 29 0a 0a age-build--match-library.rcp))..
8680 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 61 74 63 68 2d 6c 69 62 72 (defun.package-build--match-libr
86a0 61 72 79 20 28 72 63 70 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 28 ary.(rcp.&optional.filename)...(
86c0 6c 65 74 20 28 28 6c 69 62 73 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6c 69 73 74 2d let.((libs.(package-build--list-
86e0 6c 69 62 72 61 72 69 65 73 20 72 63 70 29 29 0a 20 20 20 20 20 20 20 20 28 66 69 6c 65 6e 61 6d libraries.rcp)).........(filenam
8700 65 20 28 6f 72 20 66 69 6c 65 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 28 6f 72 65 66 20 72 63 70 e.(or.filename.(concat.(oref.rcp
8720 20 6e 61 6d 65 29 20 22 2e 65 6c 22 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 .name).".el")))).....(cond......
8740 28 28 63 61 72 20 28 6d 65 6d 62 65 72 20 28 63 6f 6e 63 61 74 20 22 6c 69 73 70 2f 22 20 66 69 ((car.(member.(concat."lisp/".fi
8760 6c 65 6e 61 6d 65 29 20 6c 69 62 73 29 29 29 0a 20 20 20 20 20 28 28 63 61 72 20 28 6d 65 6d 62 lename).libs)))......((car.(memb
8780 65 72 20 66 69 6c 65 6e 61 6d 65 20 6c 69 62 73 29 29 29 0a 20 20 20 20 20 28 28 63 6c 2d 66 69 er.filename.libs)))......((cl-fi
87a0 6e 64 20 66 69 6c 65 6e 61 6d 65 20 6c 69 62 73 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 20 3a nd.filename.libs.:test.#'equal.:
87c0 6b 65 79 20 23 27 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 29 29 29 29 key.#'file-name-nondirectory))))
87e0 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d )..(cl-defmethod.package-build--
8800 6c 69 73 74 2d 6c 69 62 72 61 72 69 65 73 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 list-libraries.((_rcp.package-gi
8820 74 2d 72 65 63 69 70 65 29 29 0a 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 67 69 74 t-recipe))...(process-lines."git
8840 22 20 22 6c 73 2d 66 69 6c 65 73 22 20 22 2a 2e 65 6c 22 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 "."ls-files"."*.el"))..(cl-defme
8860 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6c 69 73 74 2d 6c 69 62 72 61 72 69 thod.package-build--list-librari
8880 65 73 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 65 29 29 0a 20 20 es.((_rcp.package-hg-recipe))...
88a0 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 68 67 22 20 22 66 69 6c 65 73 22 20 22 2d 2d 69 (process-lines."hg"."files"."--i
88c0 6e 63 6c 75 64 65 22 20 22 2a 2a 2f 2a 2e 65 6c 22 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 nclude"."**/*.el"))..(cl-defmeth
88e0 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 73 65 72 74 2d 76 65 72 73 69 6f 6e od.package-build--insert-version
8900 2d 68 65 61 64 65 72 2d 6c 6f 67 0a 20 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 -header-log...((_rcp.package-git
8920 2d 72 65 63 69 70 65 29 20 6c 69 62 29 0a 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 67 -recipe).lib)...(call-process."g
8940 69 74 22 20 6e 69 6c 20 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c it".nil.t.nil................."l
8960 6f 67 22 20 22 2d 2d 66 69 72 73 74 2d 70 61 72 65 6e 74 22 20 22 2d 2d 6e 6f 2d 72 65 6e 61 6d og"."--first-parent"."--no-renam
8980 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 72 65 74 74 79 3d 66 6f es"................."--pretty=fo
89a0 72 6d 61 74 3a 63 6f 6d 6d 69 74 20 25 48 20 25 63 64 22 20 22 2d 2d 64 61 74 65 3d 75 6e 69 78 rmat:commit.%H.%cd"."--date=unix
89c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 4c 22 20 28 66 6f 72 6d 61 74 20 22 "................."-L".(format."
89e0 2f 5e 3b 3b 2a 20 2a 5c 5c 28 50 61 63 6b 61 67 65 2d 5c 5c 29 5c 5c 3f 56 65 72 73 69 6f 6e 3a /^;;*.*\\(Package-\\)\\?Version:
8a00 2f 2c 2b 31 3a 25 73 22 20 6c 69 62 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 /,+1:%s".lib)))..(cl-defmethod.p
8a20 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 73 65 72 74 2d 76 65 72 73 69 6f 6e 2d 68 65 61 ackage-build--insert-version-hea
8a40 64 65 72 2d 6c 6f 67 0a 20 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 der-log...((_rcp.package-hg-reci
8a60 70 65 29 20 5f 6c 69 62 29 0a 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 68 67 22 20 6e pe)._lib)...(call-process."hg".n
8a80 69 6c 20 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 6f 67 22 20 22 il.t.nil................."log"."
8aa0 2d 2d 66 69 72 73 74 2d 70 61 72 65 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --first-parent".................
8ac0 22 2d 2d 74 65 6d 70 6c 61 74 65 22 20 22 63 6f 6d 6d 69 74 3a 20 7b 6e 6f 64 65 7d 20 7b 64 61 "--template"."commit:.{node}.{da
8ae0 74 65 7c 68 67 64 61 74 65 7d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 te|hgdate}\n".................))
8b00 20 3b 20 54 4f 44 4f 20 57 68 61 74 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f .;.TODO.What.is.the.equivalent.o
8b20 66 20 47 69 74 27 73 20 22 2d 4c 22 3f 0a 0a 3b 3b 3b 3b 20 4e 41 4d 45 2d 70 6b 67 0a 0a 28 64 f.Git's."-L"?..;;;;.NAME-pkg..(d
8b40 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 70 6b 67 2d 76 65 72 73 69 6f 6e 20 28 efun.package-build-pkg-version.(
8b60 72 63 70 29 0a 20 20 22 52 65 74 75 72 6e 20 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 69 65 64 rcp)..."Return.version.specified
8b80 20 69 6e 20 74 68 65 20 5c 22 4e 41 4d 45 2d 70 6b 67 2e 65 6c 5c 22 20 66 69 6c 65 2e 0a 52 65 .in.the.\"NAME-pkg.el\".file..Re
8ba0 74 75 72 6e 20 28 43 4f 4d 4d 49 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d 44 41 54 45 turn.(COMMIT-HASH.COMMITTER-DATE
8bc0 20 56 45 52 53 49 4f 4e 2d 53 54 52 49 4e 47 29 2e 22 0a 20 20 28 61 6e 64 2d 6c 65 74 2a 20 28 .VERSION-STRING)."...(and-let*.(
8be0 28 66 69 6c 65 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 66 69 6c 65 20 72 63 (file.(package-build--pkgfile.rc
8c00 70 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 67 65 78 70 20 28 6f 72 20 28 6f 72 65 66 p))).....(let.((regexp.(or.(oref
8c20 20 72 63 70 20 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 29 20 70 61 63 6b 61 67 65 2d 62 75 69 .rcp.version-regexp).package-bui
8c40 6c 64 2d 76 65 72 73 69 6f 6e 2d 72 65 67 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 63 6f ld-version-regexp))...........co
8c60 6d 6d 69 74 20 64 61 74 65 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 63 61 74 63 68 20 mmit.date.version).......(catch.
8c80 27 62 65 66 6f 72 65 2d 6c 61 74 65 73 74 0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 64 6f 'before-latest.........(pcase-do
8ca0 6c 69 73 74 20 28 60 28 2c 63 20 2c 64 29 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 list.(`(,c.,d).(package-build--p
8cc0 6b 67 66 69 6c 65 2d 63 6f 6d 6d 69 74 73 20 72 63 70 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 kgfile-commits.rcp.file)).......
8ce0 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 ....(with-temp-buffer...........
8d00 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(save-excursion...............
8d20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 73 65 72 74 2d 70 6b 67 66 69 6c 65 20 72 (package-build--insert-pkgfile.r
8d40 63 70 20 63 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 cp.c.file)).............(when-le
8d60 74 2a 20 28 28 6e 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 6e 74 68 20 32 20 28 72 65 t*.((n.(ignore-errors.(nth.2.(re
8d80 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 ad.(current-buffer))))).........
8da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 ................(v.(ignore-error
8dc0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 s..............................(
8de0 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 version-to-list.................
8e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 ..............(and.(string-match
8e20 20 72 65 67 65 78 70 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .regexp.n)......................
8e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 6d 61 74 63 68 2d 67 72 6f 75 70 ..............;;.Use.match-group
8e60 20 30 2c 20 6e 6f 74 20 31 2c 20 62 65 63 61 75 73 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 .0,.not.1,.because.in...........
8e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 .........................;;.this
8ea0 20 66 69 6c 65 20 61 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 77 69 74 68 6f 75 74 20 61 .file.a.version.string.without.a
8ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8ee0 20 20 20 20 3b 3b 20 70 72 65 66 69 78 20 69 73 20 65 78 70 65 63 74 65 64 2e 0a 20 20 20 20 20 ....;;.prefix.is.expected.......
8f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ..............................(m
8f20 61 74 63 68 2d 73 74 72 69 6e 67 20 30 20 6e 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 atch-string.0.n))))))...........
8f40 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 76 65 72 73 69 6f 6e 20 28 6e 6f 74 20 28 65 71 75 ....(when.(and.version.(not.(equ
8f60 61 6c 20 76 20 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al.v.version))).................
8f80 28 74 68 72 6f 77 20 27 62 65 66 6f 72 65 2d 6c 61 74 65 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 (throw.'before-latest.nil)).....
8fa0 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 6d 69 74 20 63 29 0a 20 20 20 20 20 20 ..........(setq.commit.c).......
8fc0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 61 74 65 20 64 29 0a 20 20 20 20 20 20 20 20 20 20 ........(setq.date.d)...........
8fe0 20 20 20 20 28 73 65 74 71 20 76 65 72 73 69 6f 6e 20 76 29 29 29 29 29 0a 20 20 20 20 20 20 28 ....(setq.version.v))))).......(
9000 61 6e 64 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 63 6f 6d and.version............(list.com
9020 6d 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d mit..................(string-to-
9040 6e 75 6d 62 65 72 20 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 number.date)..................(p
9060 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 76 65 72 73 69 6f 6e 29 29 29 29 29 ackage-version-join.version)))))
9080 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 66 69 6c 65 )..(defun.package-build--pkgfile
90a0 20 28 72 63 70 29 0a 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 61 74 63 68 2d 6c .(rcp)...(package-build--match-l
90c0 69 62 72 61 72 79 20 72 63 70 20 28 63 6f 6e 63 61 74 20 28 6f 72 65 66 20 72 63 70 20 6e 61 6d ibrary.rcp.(concat.(oref.rcp.nam
90e0 65 29 20 22 2d 70 6b 67 2e 65 6c 22 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 e)."-pkg.el")))..(cl-defmethod.p
9100 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 66 69 6c 65 2d 63 6f 6d 6d 69 74 73 0a 20 20 ackage-build--pkgfile-commits...
9120 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 20 66 69 6c 65 29 ((_rcp.package-git-recipe).file)
9140 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6c 69 6e 65 29 20 28 73 70 6c 69 74 ...(mapcar.(lambda.(line).(split
9160 2d 73 74 72 69 6e 67 20 6c 69 6e 65 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 -string.line."."))...........(pr
9180 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 67 69 74 22 20 22 6c 6f 67 22 20 22 2d 2d 66 69 72 73 74 ocess-lines."git"."log"."--first
91a0 2d 70 61 72 65 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -parent"........................
91c0 20 20 22 2d 2d 70 72 65 74 74 79 3d 66 6f 72 6d 61 74 3a 25 48 20 25 63 64 22 20 22 2d 2d 64 61 .."--pretty=format:%H.%cd"."--da
91e0 74 65 3d 75 6e 69 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te=unix"........................
9200 20 20 22 2d 2d 22 20 66 69 6c 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 .."--".file)))..(cl-defmethod.pa
9220 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 66 69 6c 65 2d 63 6f 6d 6d 69 74 73 0a 20 20 28 ckage-build--pkgfile-commits...(
9240 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 65 29 20 66 69 6c 65 29 0a 20 (_rcp.package-hg-recipe).file)..
9260 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6c 69 6e 65 29 20 28 73 65 71 2d 74 61 6b .(mapcar.(lambda.(line).(seq-tak
9280 65 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6c 69 6e 65 20 22 20 22 29 20 32 29 29 0a 20 20 e.(split-string.line.".").2))...
92a0 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 68 67 22 20 22 6c 6f 67 ........(process-lines."hg"."log
92c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 65 ".........................."--te
92e0 6d 70 6c 61 74 65 22 20 22 7b 6e 6f 64 65 7d 20 7b 64 61 74 65 7c 68 67 64 61 74 65 7d 5c 6e 22 mplate"."{node}.{date|hgdate}\n"
9300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 22 20 66 .........................."--".f
9320 69 6c 65 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 ile)))..(cl-defmethod.package-bu
9340 69 6c 64 2d 2d 69 6e 73 65 72 74 2d 70 6b 67 66 69 6c 65 0a 20 20 28 28 5f 72 63 70 20 70 61 63 ild--insert-pkgfile...((_rcp.pac
9360 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 20 63 6f 6d 6d 69 74 20 66 69 6c 65 29 0a 20 20 kage-git-recipe).commit.file)...
9380 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 67 69 74 22 20 6e 69 6c 20 74 20 6e 69 6c 20 22 73 (call-process."git".nil.t.nil."s
93a0 68 6f 77 22 20 28 63 6f 6e 63 61 74 20 63 6f 6d 6d 69 74 20 22 3a 22 20 66 69 6c 65 29 29 29 0a how".(concat.commit.":".file))).
93c0 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e .(cl-defmethod.package-build--in
93e0 73 65 72 74 2d 70 6b 67 66 69 6c 65 0a 20 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 sert-pkgfile...((_rcp.package-hg
9400 2d 72 65 63 69 70 65 29 20 63 6f 6d 6d 69 74 20 66 69 6c 65 29 0a 20 20 28 63 61 6c 6c 2d 70 72 -recipe).commit.file)...(call-pr
9420 6f 63 65 73 73 20 22 68 67 22 20 6e 69 6c 20 74 20 6e 69 6c 20 22 63 61 74 22 20 22 2d 72 22 20 ocess."hg".nil.t.nil."cat"."-r".
9440 63 6f 6d 6d 69 74 20 66 69 6c 65 29 29 0a 0a 3b 3b 3b 3b 20 54 69 6d 65 73 74 61 6d 70 0a 0a 28 commit.file))..;;;;.Timestamp..(
9460 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 defun.package-build-timestamp-ve
9480 72 73 69 6f 6e 20 28 72 63 70 29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 74 69 6d 65 73 74 61 rsion.(rcp)..."Determine.timesta
94a0 6d 70 20 76 65 72 73 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 6c 61 74 65 mp.version.corresponding.to.late
94c0 73 74 20 72 65 6c 65 76 61 6e 74 20 63 6f 6d 6d 69 74 20 66 6f 72 20 52 43 50 2e 0a 52 65 74 75 st.relevant.commit.for.RCP..Retu
94e0 72 6e 20 28 43 4f 4d 4d 49 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d 44 41 54 45 20 56 rn.(COMMIT-HASH.COMMITTER-DATE.V
9500 45 52 53 49 4f 4e 2d 53 54 52 49 4e 47 29 2c 20 77 68 65 72 65 0a 56 45 52 53 49 4f 4e 2d 53 54 ERSION-STRING),.where.VERSION-ST
9520 52 49 4e 47 20 68 61 73 20 74 68 65 20 66 6f 72 6d 61 74 20 5c 22 25 59 25 6d 25 64 2e 25 48 25 RING.has.the.format.\"%Y%m%d.%H%
9540 4d 5c 22 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 28 2c 68 61 73 68 20 2c 74 69 M\"."...(pcase-let.((`(,hash.,ti
9560 6d 65 29 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 me).(package-build--timestamp-ve
9580 72 73 69 6f 6e 20 72 63 70 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 68 61 73 68 20 74 69 6d 65 rsion.rcp))).....(list.hash.time
95a0 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 72 65 6d 6f 76 65 20 7a 65 72 6f 2d 70 61 64 ...........;;.We.remove.zero-pad
95c0 64 69 6e 67 20 6f 66 20 74 68 65 20 48 48 20 70 6f 72 74 69 6f 6e 2c 20 61 73 0a 20 20 20 20 20 ding.of.the.HH.portion,.as......
95e0 20 20 20 20 20 3b 3b 20 74 68 61 74 20 69 73 20 6c 6f 73 74 20 77 68 65 6e 20 73 74 6f 72 65 64 .....;;.that.is.lost.when.stored
9600 20 69 6e 20 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 .in.archive-contents............
9620 28 63 6f 6e 63 61 74 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 25 (concat.(format-time-string."%Y%
9640 6d 25 64 2e 22 20 74 69 6d 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m%d.".time.t)...................
9660 28 66 6f 72 6d 61 74 20 22 25 64 22 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 0a 20 (format."%d".(string-to-number..
9680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
96a0 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 48 25 4d 22 20 74 69 6d 65 20 74 format-time-string."%H%M".time.t
96c0 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 )))))))..(cl-defmethod.package-b
96e0 75 69 6c 64 2d 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 20 28 28 72 63 70 20 70 61 uild--timestamp-version.((rcp.pa
9700 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 29 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a ckage-git-recipe))...(pcase-let*
9720 0a 20 20 20 20 20 20 28 28 63 6f 6d 6d 69 74 20 28 6f 72 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 .......((commit.(oref.rcp.commit
9740 29 29 0a 20 20 20 20 20 20 20 28 62 72 61 6e 63 68 20 28 6f 72 65 66 20 72 63 70 20 62 72 61 6e ))........(branch.(oref.rcp.bran
9760 63 68 29 29 0a 20 20 20 20 20 20 20 28 62 72 61 6e 63 68 20 28 61 6e 64 20 62 72 61 6e 63 68 20 ch))........(branch.(and.branch.
9780 28 63 6f 6e 63 61 74 20 22 6f 72 69 67 69 6e 2f 22 20 62 72 61 6e 63 68 29 29 29 0a 20 20 20 20 (concat."origin/".branch))).....
97a0 20 20 20 28 72 65 76 20 28 6f 72 20 63 6f 6d 6d 69 74 20 62 72 61 6e 63 68 20 22 6f 72 69 67 69 ...(rev.(or.commit.branch."origi
97c0 6e 2f 48 45 41 44 22 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 72 65 76 2d 68 61 73 68 20 2c 72 n/HEAD"))........(`(,rev-hash.,r
97e0 65 76 2d 74 69 6d 65 29 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 65 6c 65 63 74 2d ev-time).(package-build--select-
9800 63 6f 6d 6d 69 74 20 72 63 70 20 72 65 76 20 63 6f 6d 6d 69 74 29 29 0a 20 20 20 20 20 20 20 28 commit.rcp.rev.commit))........(
9820 60 28 2c 74 61 67 2d 68 61 73 68 20 2c 74 61 67 2d 74 69 6d 65 29 20 28 70 61 63 6b 61 67 65 2d `(,tag-hash.,tag-time).(package-
9840 62 75 69 6c 64 2d 74 61 67 2d 76 65 72 73 69 6f 6e 20 72 63 70 29 29 29 0a 20 20 20 20 3b 3b 20 build-tag-version.rcp))).....;;.
9860 49 66 20 74 68 65 20 6c 61 74 65 73 74 20 63 6f 6d 6d 69 74 20 74 68 61 74 20 74 6f 75 63 68 65 If.the.latest.commit.that.touche
9880 73 20 61 20 72 65 6c 65 76 61 6e 74 20 66 69 6c 65 20 69 73 20 61 6e 20 61 6e 63 65 73 74 6f 72 s.a.relevant.file.is.an.ancestor
98a0 20 6f 66 0a 20 20 20 20 3b 3b 20 74 68 65 20 6c 61 74 65 73 74 20 74 61 67 67 65 64 20 72 65 6c .of.....;;.the.latest.tagged.rel
98c0 65 61 73 65 20 61 6e 64 20 74 68 65 20 74 61 67 20 69 73 20 72 65 61 63 68 61 62 6c 65 20 66 72 ease.and.the.tag.is.reachable.fr
98e0 6f 6d 20 6f 72 69 67 69 6e 2f 48 45 41 44 0a 20 20 20 20 3b 3b 20 28 69 2e 65 2e 2c 20 69 74 20 om.origin/HEAD.....;;.(i.e.,.it.
9900 69 73 6e 27 74 20 6f 6e 20 61 20 73 65 70 61 72 61 74 65 20 72 65 6c 65 61 73 65 20 62 72 61 6e isn't.on.a.separate.release.bran
9920 63 68 29 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 74 61 67 67 65 64 0a 20 20 20 20 3b 3b 20 72 ch).then.use.the.tagged.....;;.r
9940 65 6c 65 61 73 65 2e 20 20 53 6e 61 70 73 68 6f 74 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 elease...Snapshots.should.not.be
9960 20 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 65 20 6c 61 74 65 73 74 20 72 65 6c 65 61 73 65 2e 0a .older.than.the.latest.release..
9980 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 61 67 2d 68 61 73 68 0a 20 20 20 20 20 20 20 20 20 20 ....(if.(and.tag-hash...........
99a0 20 20 20 28 7a 65 72 6f 70 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 67 69 74 22 20 6e 69 ...(zerop.(call-process."git".ni
99c0 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.nil.nil.......................
99e0 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 65 72 67 65 2d 62 61 73 65 22 20 22 2d 2d 69 73 2d 61 ............"merge-base"."--is-a
9a00 6e 63 65 73 74 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ncestor"........................
9a20 20 20 20 20 20 20 20 20 20 20 20 72 65 76 2d 68 61 73 68 20 74 61 67 2d 68 61 73 68 29 29 0a 20 ...........rev-hash.tag-hash))..
9a40 20 20 20 20 20 20 20 20 20 20 20 20 28 7a 65 72 6f 70 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 ............(zerop.(call-process
9a60 20 22 67 69 74 22 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."git".nil.nil.nil..............
9a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 65 72 67 65 2d 62 61 73 65 ....................."merge-base
9aa0 22 20 22 2d 2d 69 73 2d 61 6e 63 65 73 74 6f 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "."--is-ancestor"...............
9ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 67 2d 68 61 73 68 20 72 65 76 ....................tag-hash.rev
9ae0 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 74 61 67 2d 68 61 73 68 20 74 61 67 2d 74 ))).........(list.tag-hash.tag-t
9b00 69 6d 65 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 72 65 76 2d 68 61 73 68 20 72 65 76 2d 74 69 ime).......(list.rev-hash.rev-ti
9b20 6d 65 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 me))))..(cl-defmethod.package-bu
9b40 69 6c 64 2d 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 20 28 28 72 63 70 20 70 61 63 ild--timestamp-version.((rcp.pac
9b60 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 65 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6d 6d 69 kage-hg-recipe))...(let*.((commi
9b80 74 20 28 6f 72 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 t.(oref.rcp.commit))..........(b
9ba0 72 61 6e 63 68 20 28 6f 72 20 28 6f 72 65 66 20 72 63 70 20 62 72 61 6e 63 68 29 20 22 64 65 66 ranch.(or.(oref.rcp.branch)."def
9bc0 61 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 76 20 28 66 6f 72 6d 61 74 20 22 73 ault"))..........(rev.(format."s
9be0 6f 72 74 28 61 6e 63 65 73 74 6f 72 73 28 25 73 29 2c 20 2d 72 65 76 29 22 0a 20 20 20 20 20 20 ort(ancestors(%s),.-rev)".......
9c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 63 6f 6d 6d 69 74 20 28 66 6f 72 6d ................(or.commit.(form
9c20 61 74 20 22 6d 61 78 28 62 72 61 6e 63 68 28 25 73 29 29 22 20 62 72 61 6e 63 68 29 29 29 29 29 at."max(branch(%s))".branch)))))
9c40 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 65 6c 65 63 74 2d 63 6f 6d 6d .....(package-build--select-comm
9c60 69 74 20 72 63 70 20 72 65 76 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c it.rcp.rev.nil)))..(define-obsol
9c80 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c ete-function-alias.'package-buil
9ca0 64 2d 67 65 74 2d 73 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 0a 20 20 27 70 61 63 6b 61 67 d-get-snapshot-version...'packag
9cc0 65 2d 62 75 69 6c 64 2d 73 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 20 22 50 61 63 6b 61 67 e-build-snapshot-version."Packag
9ce0 65 2d 42 75 69 6c 64 20 35 2e 30 2e 30 22 29 0a 0a 3b 3b 3b 3b 20 52 65 6c 65 61 73 65 2b 54 69 e-Build.5.0.0")..;;;;.Release+Ti
9d00 6d 65 73 74 61 6d 70 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 mestamp..(defun.package-build-re
9d20 6c 65 61 73 65 2b 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 20 28 72 63 70 29 0a 20 20 lease+timestamp-version.(rcp)...
9d40 22 44 65 74 65 72 6d 69 6e 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 "Determine.version.string.in.the
9d60 20 5c 22 52 45 4c 45 41 53 45 2e 30 2e 54 49 4d 45 53 54 41 4d 50 5c 22 20 66 6f 72 6d 61 74 20 .\"RELEASE.0.TIMESTAMP\".format.
9d80 66 6f 72 20 52 43 50 2e 0a 0a 2a 45 78 70 65 72 69 6d 65 6e 74 61 6c 2a 20 54 68 69 73 20 66 75 for.RCP...*Experimental*.This.fu
9da0 6e 63 74 69 6f 6e 20 69 73 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 nction.is.still.subject.to.chang
9dc0 65 2e 0a 0a 55 73 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 e...Use.`package-build-release-v
9de0 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 0a 52 ersion-functions'.to.determine.R
9e00 45 4c 45 41 53 45 2e 20 20 54 49 4d 45 53 54 41 4d 50 20 69 73 20 74 68 65 20 43 4f 4d 4d 49 54 ELEASE...TIMESTAMP.is.the.COMMIT
9e20 54 45 52 2d 44 41 54 45 20 66 6f 72 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 64 0a 6c 61 73 74 TER-DATE.for.the.identified.last
9e40 20 72 65 6c 65 76 61 6e 74 20 63 6f 6d 6d 69 74 2c 20 75 73 69 6e 67 20 74 68 65 20 66 6f 72 6d .relevant.commit,.using.the.form
9e60 61 74 20 5c 22 25 59 25 6d 25 64 2e 25 48 25 4d 5c 22 2e 0a 0a 52 65 74 75 72 6e 20 28 43 4f 4d at.\"%Y%m%d.%H%M\"...Return.(COM
9e80 4d 49 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d 44 41 54 45 20 56 45 52 53 49 4f 4e 2d MIT-HASH.COMMITTER-DATE.VERSION-
9ea0 53 54 52 49 4e 47 29 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 28 28 STRING)."...(pcase-let*.......((
9ec0 60 28 2c 73 63 6f 6d 6d 69 74 20 2c 73 74 69 6d 65 20 2c 73 76 65 72 73 69 6f 6e 29 20 28 70 61 `(,scommit.,stime.,sversion).(pa
9ee0 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 20 72 63 ckage-build-timestamp-version.rc
9f00 70 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 72 63 6f 6d 6d 69 74 20 2c 72 74 69 6d 65 20 2c 72 p))........(`(,rcommit.,rtime.,r
9f20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d version).........(run-hook-with-
9f40 61 72 67 73 2d 75 6e 74 69 6c 2d 73 75 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 27 70 61 63 args-until-success..........'pac
9f60 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 kage-build-release-version-funct
9f80 69 6f 6e 73 20 72 63 70 29 29 0a 20 20 20 20 20 20 20 28 61 68 65 61 64 20 28 70 61 63 6b 61 67 ions.rcp))........(ahead.(packag
9fa0 65 2d 62 75 69 6c 64 2d 2d 63 6f 6d 6d 69 74 2d 63 6f 75 6e 74 20 72 63 70 20 73 63 6f 6d 6d 69 e-build--commit-count.rcp.scommi
9fc0 74 20 72 63 6f 6d 6d 69 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 3e 20 t.rcommit))).....(cond......((>.
9fe0 61 68 65 61 64 20 30 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 73 63 6f 6d 6d 69 74 20 73 74 69 ahead.0).......(list.scommit.sti
a000 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d me.............(package-version-
a020 6a 6f 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 69 66 20 72 76 65 join..............(nconc.(if.rve
a040 72 73 69 6f 6e 20 28 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 72 76 65 72 73 69 6f 6e 29 rsion.(version-to-list.rversion)
a060 20 28 6c 69 73 74 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(list.0.0))....................
a080 20 28 6c 69 73 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 .(list.0).....................(v
a0a0 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 73 76 65 72 73 69 6f 6e 29 29 29 29 29 0a 20 20 20 ersion-to-list.sversion)))))....
a0c0 20 20 28 74 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6c 61 74 65 73 74 20 63 6f 6d 6d 69 74 2c ..(t.......;;.The.latest.commit,
a0e0 20 77 68 69 63 68 20 74 6f 75 63 68 65 64 20 61 20 72 65 6c 65 76 61 6e 74 20 66 69 6c 65 2c 20 .which.touched.a.relevant.file,.
a100 69 73 20 65 69 74 68 65 72 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 6c 61 74 65 73 74 20 72 65 is.either.the.......;;.latest.re
a120 6c 65 61 73 65 20 69 74 73 65 6c 66 2c 20 6f 72 20 61 20 63 6f 6d 6d 69 74 20 62 65 66 6f 72 65 lease.itself,.or.a.commit.before
a140 20 74 68 61 74 2e 20 20 44 69 73 74 72 69 62 75 74 65 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 .that...Distribute.the.......;;.
a160 73 61 6d 65 20 63 6f 6d 6d 69 74 2f 72 65 6c 65 61 73 65 20 61 73 20 6f 6e 20 74 68 65 20 73 74 same.commit/release.as.on.the.st
a180 61 62 6c 65 20 63 68 61 6e 6e 65 6c 3b 20 61 73 20 69 74 20 77 6f 75 6c 64 20 6e 6f 74 0a 20 20 able.channel;.as.it.would.not...
a1a0 20 20 20 20 3b 3b 20 6d 61 6b 65 20 73 65 6e 73 65 20 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f ....;;.make.sense.for.the.develo
a1c0 70 6d 65 6e 74 20 63 68 61 6e 6e 65 6c 20 74 6f 20 6c 61 67 20 62 65 68 69 6e 64 20 74 68 65 20 pment.channel.to.lag.behind.the.
a1e0 6c 61 74 65 73 74 0a 20 20 20 20 20 20 3b 3b 20 72 65 6c 65 61 73 65 2e 0a 20 20 20 20 20 20 28 latest.......;;.release........(
a200 6c 69 73 74 20 72 63 6f 6d 6d 69 74 20 72 74 69 6d 65 20 28 70 61 63 6b 61 67 65 2d 76 65 72 73 list.rcommit.rtime.(package-vers
a220 69 6f 6e 2d 6a 6f 69 6e 20 72 76 65 72 73 69 6f 6e 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 52 65 ion-join.rversion))))))..;;;;.Re
a240 6c 65 61 73 65 2b 43 6f 75 6e 74 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c lease+Count..(defun.package-buil
a260 64 2d 72 65 6c 65 61 73 65 2b 63 6f 75 6e 74 2d 76 65 72 73 69 6f 6e 20 28 72 63 70 20 26 6f 70 d-release+count-version.(rcp.&op
a280 74 69 6f 6e 61 6c 20 73 69 6e 67 6c 65 2d 63 6f 75 6e 74 29 0a 20 20 22 44 65 74 65 72 6d 69 6e tional.single-count)..."Determin
a2a0 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5c 22 52 45 4c 45 41 53 e.version.string.in.the.\"RELEAS
a2c0 45 2e 30 2e 43 4f 55 4e 54 5c 22 20 66 6f 72 6d 61 74 20 66 6f 72 20 52 43 50 2e 0a 0a 2a 45 78 E.0.COUNT\".format.for.RCP...*Ex
a2e0 70 65 72 69 6d 65 6e 74 61 6c 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 74 69 perimental*.This.function.is.sti
a300 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 65 2e 0a 0a 55 73 65 20 60 70 61 63 6b ll.subject.to.change...Use.`pack
a320 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 age-build-release-version-functi
a340 6f 6e 73 27 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 0a 52 45 4c 45 41 53 45 2e 20 20 43 4f 55 4e ons'.to.determine.RELEASE...COUN
a360 54 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 6d 69 74 73 20 73 69 6e 63 65 T.is.the.number.of.commits.since
a380 20 52 45 4c 45 41 53 45 20 75 6e 74 69 6c 20 74 68 65 0a 6c 61 73 74 20 72 65 6c 65 76 61 6e 74 .RELEASE.until.the.last.relevant
a3a0 20 63 6f 6d 6d 69 74 2e 20 20 49 66 20 52 45 4c 45 41 53 45 20 69 73 20 74 68 65 20 73 61 6d 65 .commit...If.RELEASE.is.the.same
a3c0 20 61 73 20 66 6f 72 20 74 68 65 20 6c 61 73 74 0a 73 6e 61 70 73 68 6f 74 20 62 75 74 20 43 4f .as.for.the.last.snapshot.but.CO
a3e0 55 4e 54 20 69 73 20 6e 6f 74 20 6c 61 72 67 65 72 20 74 68 61 6e 20 66 6f 72 20 74 68 61 74 20 UNT.is.not.larger.than.for.that.
a400 73 6e 61 70 73 68 6f 74 20 62 65 63 61 75 73 65 0a 68 69 73 74 6f 72 79 20 77 61 73 20 72 65 77 snapshot.because.history.was.rew
a420 72 69 74 74 65 6e 2c 20 74 68 65 6e 20 75 73 65 20 5c 22 52 45 4c 45 41 53 45 2e 30 2e 4f 4c 44 ritten,.then.use.\"RELEASE.0.OLD
a440 43 4f 55 4e 54 2e 4e 45 57 43 4f 55 4e 54 5c 22 2e 0a 0a 52 65 74 75 72 6e 20 28 43 4f 4d 4d 49 COUNT.NEWCOUNT\"...Return.(COMMI
a460 54 2d 48 41 53 48 20 43 4f 4d 4d 49 54 54 45 52 2d 44 41 54 45 20 56 45 52 53 49 4f 4e 2d 53 54 T-HASH.COMMITTER-DATE.VERSION-ST
a480 52 49 4e 47 29 2e 0a 5c 6e 28 66 6e 20 52 43 50 29 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a RING)..\n(fn.RCP)"...(pcase-let*
a4a0 0a 20 20 20 20 20 20 3b 3b 20 47 65 74 20 74 68 65 20 63 6f 6d 6d 69 74 20 62 75 74 20 69 67 6e .......;;.Get.the.commit.but.ign
a4c0 6f 72 65 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 74 69 6d 65 73 74 61 6d 70 2e 0a 20 20 ore.the.associated.timestamp....
a4e0 20 20 20 20 28 28 60 28 2c 73 63 6f 6d 6d 69 74 20 2c 73 74 69 6d 65 20 2c 5f 29 20 28 70 61 63 ....((`(,scommit.,stime.,_).(pac
a500 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 73 74 61 6d 70 2d 76 65 72 73 69 6f 6e 20 72 63 70 kage-build-timestamp-version.rcp
a520 29 29 0a 20 20 20 20 20 20 20 28 60 28 2c 72 63 6f 6d 6d 69 74 20 2c 72 74 69 6d 65 20 2c 76 65 ))........(`(,rcommit.,rtime.,ve
a540 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 rsion).........(run-hook-with-ar
a560 67 73 2d 75 6e 74 69 6c 2d 73 75 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 27 70 61 63 6b 61 gs-until-success..........'packa
a580 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f ge-build-release-version-functio
a5a0 6e 73 20 72 63 70 29 29 0a 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 61 6e 64 20 72 63 ns.rcp))........(version.(and.rc
a5c0 6f 6d 6d 69 74 20 28 76 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 76 65 72 73 69 6f 6e 29 29 ommit.(version-to-list.version))
a5e0 29 0a 20 20 20 20 20 20 20 28 6d 65 72 67 65 2d 62 61 73 65 20 28 61 6e 64 20 72 63 6f 6d 6d 69 )........(merge-base.(and.rcommi
a600 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 t.........................(packa
a620 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 72 67 65 2d 62 61 73 65 20 72 63 70 20 73 63 6f 6d 6d 69 74 ge-build--merge-base.rcp.scommit
a640 20 72 63 6f 6d 6d 69 74 29 29 29 0a 20 20 20 20 20 20 20 28 61 68 65 61 64 20 28 70 61 63 6b 61 .rcommit)))........(ahead.(packa
a660 67 65 2d 62 75 69 6c 64 2d 2d 63 6f 6d 6d 69 74 2d 63 6f 75 6e 74 20 72 63 70 20 73 63 6f 6d 6d ge-build--commit-count.rcp.scomm
a680 69 74 20 72 63 6f 6d 6d 69 74 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 6f it.rcommit))).....(cond......((o
a6a0 72 20 28 77 68 65 6e 20 28 6e 6f 74 20 72 63 6f 6d 6d 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 r.(when.(not.rcommit)...........
a6c0 20 20 3b 3b 20 4e 6f 20 61 70 70 72 6f 70 72 69 61 74 65 20 72 65 6c 65 61 73 65 20 64 65 74 65 ..;;.No.appropriate.release.dete
a6e0 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 65 72 73 69 6f 6e 20 cted..............(setq.version.
a700 28 6c 69 73 74 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 (list.0.0)).............t)......
a720 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6d 65 72 67 65 2d 62 61 73 65 29 0a 20 20 20 20 .....(when.(not.merge-base).....
a740 20 20 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 62 75 74 63 68 65 ........;;.As.a.result.of.butche
a760 72 65 64 20 68 69 73 74 6f 72 79 20 72 65 77 72 69 74 69 6e 67 2c 20 76 65 72 73 69 6f 6e 20 74 red.history.rewriting,.version.t
a780 61 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 68 61 72 65 20 6e 6f 20 68 69 73 74 ags.............;;.share.no.hist
a7a0 6f 72 79 20 61 74 20 61 6c 6c 20 77 69 74 68 20 77 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c ory.at.all.with.what.is.currentl
a7c0 79 20 72 65 61 63 68 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 72 6f 6d 20 y.reachable.............;;.from.
a7e0 74 68 65 20 74 69 70 2e 20 20 43 6f 6d 70 6c 65 74 65 6c 79 20 69 67 6e 6f 72 65 20 74 68 65 73 the.tip...Completely.ignore.thes
a800 65 20 75 6e 72 65 61 63 68 61 62 6c 65 20 74 61 67 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 e.unreachable.tags.and..........
a820 20 20 20 3b 3b 20 62 65 68 61 76 65 20 61 73 20 69 66 20 6e 6f 20 76 65 72 73 69 6f 6e 20 74 61 ...;;.behave.as.if.no.version.ta
a840 67 73 20 65 78 69 73 74 65 64 20 61 74 20 61 6c 6c 2e 20 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c gs.existed.at.all...Unfortunatel
a860 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 6d 65 61 6e 73 20 74 68 61 74 y.............;;.that.means.that
a880 20 75 73 65 72 73 2c 20 77 68 6f 20 68 61 76 65 20 69 6e 73 74 61 6c 6c 65 64 20 61 20 73 6e 61 .users,.who.have.installed.a.sna
a8a0 70 73 68 6f 74 20 62 61 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 6e 20 61 20 pshot.based.............;;.on.a.
a8c0 6e 6f 77 20 61 62 61 6e 64 6f 6e 65 64 20 74 61 67 2c 20 61 72 65 20 73 74 75 63 6b 20 6f 6e 20 now.abandoned.tag,.are.stuck.on.
a8e0 74 68 61 74 20 73 6e 61 70 73 68 6f 74 20 75 6e 74 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 that.snapshot.until.............
a900 3b 3b 20 75 70 73 74 72 65 61 6d 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 76 65 72 73 69 6f ;;.upstream.creates.a.new.versio
a920 6e 20 74 61 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 65 72 73 69 6f 6e n.tag..............(setq.version
a940 20 28 6c 69 73 74 20 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 .(list.0.0)).............t).....
a960 20 20 20 20 20 20 3b 3b 20 53 6e 61 70 73 68 6f 74 20 63 6f 6d 6d 69 74 20 69 73 20 6e 65 77 65 ......;;.Snapshot.commit.is.newe
a980 72 20 74 68 61 6e 20 6c 61 74 65 73 74 20 72 65 6c 65 61 73 65 20 28 6f 72 20 74 68 65 72 65 20 r.than.latest.release.(or.there.
a9a0 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 6c 65 61 73 65 29 2e 0a 20 20 20 is.no...........;;.release).....
a9c0 20 20 20 20 20 20 20 28 3e 20 61 68 65 61 64 20 30 29 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 .......(>.ahead.0)).......(list.
a9e0 73 63 6f 6d 6d 69 74 20 73 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 scommit.stime.............(packa
aa00 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 ge-version-join..............(ap
aa20 70 65 6e 64 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pend.version....................
aa40 20 20 28 6c 69 73 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(list.0)......................
aa60 3b 3b 20 28 54 68 69 73 20 61 72 67 75 6d 65 6e 74 20 2a 63 6f 75 6c 64 2a 20 62 65 20 75 73 65 ;;.(This.argument.*could*.be.use
aa80 64 20 62 79 20 61 20 77 72 61 70 70 65 72 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.by.a.wrapper.)................
aaa0 20 20 20 20 20 20 28 69 66 20 73 69 6e 67 6c 65 2d 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 ......(if.single-count..........
aac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 68 65 61 64 20 3b 20 50 72 65 74 65 6e 64 20 ................ahead.;.Pretend.
aae0 74 69 6d 65 2d 74 72 61 76 65 6c 20 64 6f 65 73 6e 27 74 20 68 61 70 70 65 6e 2e 0a 20 20 20 20 time-travel.doesn't.happen......
ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c ...................(package-buil
ab20 64 2d 2d 65 6e 73 75 72 65 2d 63 6f 75 6e 74 2d 69 6e 63 72 65 61 73 65 0a 20 20 20 20 20 20 20 d--ensure-count-increase........
ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 63 70 20 28 63 6f 70 79 2d 73 65 71 75 65 .................rcp.(copy-seque
ab60 6e 63 65 20 76 65 72 73 69 6f 6e 29 20 61 68 65 61 64 29 29 29 29 29 29 0a 20 20 20 20 20 28 74 nce.version).ahead))))))......(t
ab80 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6c 61 74 65 73 74 20 63 6f 6d 6d 69 74 2c 20 77 68 69 .......;;.The.latest.commit,.whi
aba0 63 68 20 74 6f 75 63 68 65 64 20 61 20 72 65 6c 65 76 61 6e 74 20 66 69 6c 65 2c 20 69 73 20 65 ch.touched.a.relevant.file,.is.e
abc0 69 74 68 65 72 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 6c 61 74 65 73 74 20 72 65 6c 65 61 73 ither.the.......;;.latest.releas
abe0 65 20 69 74 73 65 6c 66 2c 20 6f 72 20 61 20 63 6f 6d 6d 69 74 20 62 65 66 6f 72 65 20 74 68 61 e.itself,.or.a.commit.before.tha
ac00 74 2e 20 20 44 69 73 74 72 69 62 75 74 65 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 73 61 6d 65 t...Distribute.the.......;;.same
ac20 20 63 6f 6d 6d 69 74 2f 72 65 6c 65 61 73 65 20 61 73 20 6f 6e 20 74 68 65 20 73 74 61 62 6c 65 .commit/release.as.on.the.stable
ac40 20 63 68 61 6e 6e 65 6c 3b 20 61 73 20 69 74 20 77 6f 75 6c 64 20 6e 6f 74 0a 20 20 20 20 20 20 .channel;.as.it.would.not.......
ac60 3b 3b 20 6d 61 6b 65 20 73 65 6e 73 65 20 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e ;;.make.sense.for.the.developmen
ac80 74 20 63 68 61 6e 6e 65 6c 20 74 6f 20 6c 61 67 20 62 65 68 69 6e 64 20 74 68 65 20 6c 61 74 65 t.channel.to.lag.behind.the.late
aca0 73 74 0a 20 20 20 20 20 20 3b 3b 20 72 65 6c 65 61 73 65 2e 0a 20 20 20 20 20 20 28 6c 69 73 74 st.......;;.release........(list
acc0 20 72 63 6f 6d 6d 69 74 20 72 74 69 6d 65 20 28 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d .rcommit.rtime.(package-version-
ace0 6a 6f 69 6e 20 76 65 72 73 69 6f 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 join.version))))))..(defun.packa
ad00 67 65 2d 62 75 69 6c 64 2d 2d 65 6e 73 75 72 65 2d 63 6f 75 6e 74 2d 69 6e 63 72 65 61 73 65 20 ge-build--ensure-count-increase.
ad20 28 72 63 70 20 76 65 72 73 69 6f 6e 20 61 68 65 61 64 29 0a 20 20 28 69 66 2d 6c 65 74 20 28 28 (rcp.version.ahead)...(if-let.((
ad40 70 72 65 76 69 6f 75 73 20 28 63 64 72 20 28 61 73 73 71 20 28 69 6e 74 65 72 6e 20 28 6f 72 65 previous.(cdr.(assq.(intern.(ore
ad60 66 20 72 63 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.rcp.name))....................
ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 .............(package-build-arch
ada0 69 76 65 2d 61 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 42 65 63 61 75 73 65 20 ive-alist))))).......;;.Because.
adc0 75 70 73 74 72 65 61 6d 20 6d 61 79 20 68 61 76 65 20 72 65 77 72 69 74 74 65 6e 20 68 69 73 74 upstream.may.have.rewritten.hist
ade0 6f 72 79 2c 20 77 65 20 63 61 6e 6e 6f 74 20 62 65 20 63 65 72 74 61 69 6e 0a 20 20 20 20 20 20 ory,.we.cannot.be.certain.......
ae00 3b 3b 20 74 68 61 74 20 61 70 70 65 6e 64 69 6e 67 20 74 68 65 20 6e 65 77 20 63 6f 75 6e 74 20 ;;.that.appending.the.new.count.
ae20 6f 66 20 63 6f 6d 6d 69 74 73 20 77 6f 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 61 20 76 65 72 of.commits.would.result.in.a.ver
ae40 73 69 6f 6e 0a 20 20 20 20 20 20 3b 3b 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 20 67 72 65 sion.......;;.string.that.is.gre
ae60 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 75 73 65 ater.than.the.version.string.use
ae80 64 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 70 72 65 76 69 6f 75 73 20 73 6e 61 70 d.for.the.......;;.previous.snap
aea0 73 68 6f 74 2e 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 75 6e 74 20 28 6c 69 73 74 20 61 shot........(let.((count.(list.a
aec0 68 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 76 65 72 73 69 6f 6e 20 28 61 72 head)).............(pversion.(ar
aee0 65 66 20 70 72 65 76 69 6f 75 73 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 6f ef.previous.0)).............(pco
af00 75 6e 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20 unt.nil)).........(when.(and....
af20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 7a 65 ............;;.If.there.is.no.ze
af40 72 6f 20 70 61 72 74 2c 20 74 68 65 6e 20 77 65 20 6b 6e 6f 77 20 74 68 61 74 20 74 68 65 20 70 ro.part,.then.we.know.that.the.p
af60 72 65 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6e 61 70 73 68 revious................;;.snapsh
af80 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 65 64 20 61 20 74 61 67 67 65 64 20 72 65 6c 65 ot.exactly.matched.a.tagged.rele
afa0 61 73 65 20 28 69 6e 20 77 68 69 63 68 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ase.(in.which.case..............
afc0 20 20 3b 3b 20 77 65 20 64 6f 20 6e 6f 74 20 61 70 70 65 6e 64 20 7a 65 72 6f 20 61 6e 64 20 74 ..;;.we.do.not.append.zero.and.t
afe0 68 65 20 63 6f 75 6e 74 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 he.count).................(memq.
b000 30 20 70 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 69 0.pversion)................;;.Li
b020 6b 65 77 69 73 65 20 69 66 20 74 68 65 72 65 20 69 73 20 61 20 74 61 67 20 74 68 61 74 20 65 78 kewise.if.there.is.a.tag.that.ex
b040 61 63 74 6c 79 20 6d 61 74 63 68 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 actly.matches.the...............
b060 20 3b 3b 20 70 72 65 76 69 6f 75 73 20 28 6e 6f 6e 2d 29 73 6e 61 70 73 68 6f 74 2c 20 74 68 65 .;;.previous.(non-)snapshot,.the
b080 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6f 6c 64 20 63 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 n.there.is.no.old.count.........
b0a0 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 77 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f .......;;.which.we.would.have.to
b0c0 20 63 6f 6d 70 61 72 65 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 63 6f 75 6e 74 2e 0a 20 20 20 .compare.with.the.new.count.....
b0e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 62 65 72 20 28 6d 61 70 63 6f 6e ............(not.(member.(mapcon
b100 63 61 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 70 76 65 72 73 69 6f 6e 20 cat.#'number-to-string.pversion.
b120 22 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".")............................
b140 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6c 69 73 74 2d 74 61 67 73 20 72 63 70 29 29 .(package-build--list-tags.rcp))
b160 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 73 6e 61 ))...........;;.The.previous.sna
b180 70 73 68 6f 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 61 63 74 6c 79 20 6d 61 74 63 68 20 61 20 74 pshot.does.not.exactly.match.a.t
b1a0 61 67 67 65 64 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76 65 72 73 69 6f 6e 2e 20 20 57 65 20 agged...........;;.version...We.
b1c0 6d 75 73 74 20 73 70 6c 69 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 69 6e must.split.the.version.string.in
b1e0 74 6f 20 69 74 73 20 74 61 67 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 63 6f 75 6e to.its.tag...........;;.and.coun
b200 74 20 70 61 72 74 73 2e 20 20 54 68 65 20 6c 61 73 74 20 7a 65 72 6f 20 70 61 72 74 20 69 73 20 t.parts...The.last.zero.part.is.
b220 74 68 65 20 62 6f 75 6e 64 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 the.boundary............(let.((s
b240 70 6c 69 74 20 28 63 6c 2d 70 6f 73 69 74 69 6f 6e 20 30 20 70 76 65 72 73 69 6f 6e 20 3a 66 72 plit.(cl-position.0.pversion.:fr
b260 6f 6d 2d 65 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 20 30 29 om-end.t)).................(i.0)
b280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 67 67 65 64 20 6e 69 6c 29 29 0a 20 .................(tagged.nil))..
b2a0 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 73 70 6c 69 74 29 0a 20 20 ...........(while.(<.i.split)...
b2c0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 70 76 65 72 73 69 6f 6e 29 ............(push.(pop.pversion)
b2e0 20 74 61 67 67 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 .tagged)...............(cl-incf.
b300 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 63 6f 75 6e 74 20 28 63 64 i)).............(setq.pcount.(cd
b320 72 20 70 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 r.pversion)).............(setq.p
b340 76 65 72 73 69 6f 6e 20 28 6e 72 65 76 65 72 73 65 20 74 61 67 67 65 64 29 29 29 0a 20 20 20 20 version.(nreverse.tagged))).....
b360 20 20 20 20 20 20 3b 3b 20 44 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 77 65 20 63 61 ......;;.Determine.whether.we.ca
b380 6e 20 72 65 73 65 74 20 74 68 65 20 63 6f 75 6e 74 20 6f 72 20 69 6e 63 72 65 61 73 65 20 69 74 n.reset.the.count.or.increase.it
b3a0 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 65 74 68 65 72 20 77 65 20 68 61 76 ,.or...........;;.whether.we.hav
b3c0 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 20 6f 6c 64 20 63 6f 75 6e 74 20 64 75 65 20 e.to.preserve.the.old.count.due.
b3e0 74 6f 20 72 65 77 72 69 74 74 65 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 68 69 73 74 6f 72 to.rewritten...........;;.histor
b400 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 6e 65 y.in.order.to.ensure.that.the.ne
b420 77 20 73 6e 61 70 73 68 6f 74 20 76 65 72 73 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 w.snapshot.version.is...........
b440 3b 3b 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 6e 61 ;;.greater.than.the.previous.sna
b460 70 73 68 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 70 72 65 76 69 pshot............;;.If.the.previ
b480 6f 75 73 20 61 6e 64 20 63 75 72 72 65 6e 74 20 73 6e 61 70 73 68 6f 74 20 63 6f 6d 6d 69 74 73 ous.and.current.snapshot.commits
b4a0 20 64 6f 20 6e 6f 74 20 66 6f 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 .do.not.follow...........;;.the.
b4c0 73 61 6d 65 20 74 61 67 2c 20 74 68 65 6e 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 same.tag,.then.their.respective.
b4e0 63 6f 75 6e 74 73 20 6f 66 20 63 6f 6d 6d 69 74 73 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 counts.of.commits.since.........
b500 20 20 3b 3b 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 74 61 67 20 68 61 76 65 20 6e ..;;.their.respective.tag.have.n
b520 6f 20 72 65 6c 61 74 69 6f 6e 20 74 6f 20 65 61 63 68 20 6f 74 68 65 72 20 61 6e 64 20 77 65 0a o.relation.to.each.other.and.we.
b540 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 61 6e 20 73 69 6d 70 6c 79 20 72 65 73 65 74 20 74 68 ..........;;.can.simply.reset.th
b560 65 20 63 6f 75 6e 74 2c 20 64 65 74 65 72 6d 69 6e 65 64 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 e.count,.determined.above.......
b580 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 76 65 72 73 69 6f 6e 20 70 76 65 72 73 69 .....(when.(equal.version.pversi
b5a0 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 6e 65 77 20 63 6f on).............;;.If.the.new.co
b5c0 75 6e 74 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 6f 6c 64 2c 20 74 68 65 unt.is.smaller.than.the.old,.the
b5e0 6e 20 77 65 20 6b 65 65 70 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 6c 64 n.we.keep.the.............;;.old
b600 20 63 6f 75 6e 74 20 61 6e 64 20 61 70 70 65 6e 64 20 74 68 65 20 6e 65 77 20 63 6f 75 6e 74 20 .count.and.append.the.new.count.
b620 61 73 20 61 20 73 65 70 61 72 61 74 65 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 as.a.separate.version...........
b640 20 20 3b 3b 20 70 61 72 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 ..;;.part..............;;.......
b660 20 20 20 20 20 20 3b 3b 20 57 65 20 6d 61 79 20 68 61 76 65 20 68 61 64 20 74 6f 20 64 6f 20 74 ......;;.We.may.have.had.to.do.t
b680 68 61 74 20 66 6f 72 20 70 72 65 76 69 6f 75 73 20 73 6e 61 70 73 68 6f 74 73 2c 20 70 6f 73 73 hat.for.previous.snapshots,.poss
b6a0 69 62 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 76 65 6e 20 66 6f 72 20 6d 75 6c ibly.............;;.even.for.mul
b6c0 74 69 70 6c 65 20 63 6f 6e 73 65 63 75 74 69 76 65 20 73 6e 61 70 73 68 6f 74 73 2e 20 20 42 65 tiple.consecutive.snapshots...Be
b6e0 67 69 6e 6e 69 6e 67 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 6e ginning.at.the.............;;.en
b700 64 2c 20 73 63 72 61 70 65 20 6f 66 20 61 6c 6c 20 63 6f 75 6e 74 73 20 74 68 61 74 20 61 72 65 d,.scrape.of.all.counts.that.are
b720 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 .smaller.than.the.current.......
b740 20 20 20 20 20 20 3b 3b 20 63 6f 75 6e 74 2c 20 62 75 74 20 6c 65 61 76 65 20 74 68 65 20 6f 74 ......;;.count,.but.leave.the.ot
b760 68 65 72 73 20 69 6e 74 61 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 hers.intact..............(setq.p
b780 63 6f 75 6e 74 20 28 6e 72 65 76 65 72 73 65 20 70 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 count.(nreverse.pcount))........
b7a0 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 70 63 6f 75 6e 74 20 28 3e 20 61 68 65 61 64 .....(while.(and.pcount.(>.ahead
b7c0 20 28 63 61 72 20 70 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 .(car.pcount)))...............(p
b7e0 6f 70 20 70 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 63 op.pcount)).............(when.pc
b800 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 73 6e 61 70 73 ount...............;;.This.snaps
b820 68 6f 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 74 61 67 20 61 73 20 hot.is.based.on.the.same.tag.as.
b840 74 68 65 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6e the.previous...............;;.sn
b860 61 70 73 68 6f 74 20 61 6e 64 2c 20 64 75 65 20 74 6f 20 68 69 73 74 6f 72 79 20 72 65 77 72 69 apshot.and,.due.to.history.rewri
b880 74 69 6e 67 2c 20 74 68 65 20 63 6f 75 6e 74 20 64 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 ting,.the.count.did.............
b8a0 20 20 3b 3b 20 6e 6f 74 20 69 6e 63 72 65 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..;;.not.increase...............
b8c0 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 6e 72 65 76 65 72 73 65 20 28 63 6f 6e 73 20 28 63 61 .(setq.count.(nreverse.(cons.(ca
b8e0 72 20 63 6f 75 6e 74 29 20 70 63 6f 75 6e 74 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 63 6f r.count).pcount)))))).........co
b900 75 6e 74 29 0a 20 20 20 20 28 6c 69 73 74 20 61 68 65 61 64 29 29 29 0a 0a 28 63 6c 2d 64 65 66 unt).....(list.ahead)))..(cl-def
b920 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 72 67 65 2d 62 61 73 65 method.package-build--merge-base
b940 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 20 61 20 62 29 .((_rcp.package-git-recipe).a.b)
b960 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 63 61 72 20 28 70 72 6f 63 65 73 73 2d ...(ignore-errors.(car.(process-
b980 6c 69 6e 65 73 20 22 67 69 74 22 20 22 6d 65 72 67 65 2d 62 61 73 65 22 20 61 20 62 29 29 29 29 lines."git"."merge-base".a.b))))
b9a0 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d ..(cl-defmethod.package-build--m
b9c0 65 72 67 65 2d 62 61 73 65 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 erge-base.((_rcp.package-hg-reci
b9e0 70 65 29 20 61 20 62 29 0a 20 20 28 63 61 72 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 pe).a.b)...(car.(process-lines."
ba00 68 67 22 20 22 6c 6f 67 22 20 22 2d 2d 74 65 6d 70 6c 61 74 65 22 20 22 7b 6e 6f 64 65 7d 5c 5c hg"."log"."--template"."{node}\\
ba20 6e 22 20 22 2d 2d 72 65 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n"."--rev"......................
ba40 20 28 66 6f 72 6d 61 74 20 22 61 6e 63 65 73 74 6f 72 28 25 73 2c 20 25 73 29 22 20 61 20 62 29 .(format."ancestor(%s,.%s)".a.b)
ba60 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 )))..(cl-defmethod.package-build
ba80 2d 2d 63 6f 6d 6d 69 74 2d 63 6f 75 6e 74 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 --commit-count.((_rcp.package-gi
baa0 74 2d 72 65 63 69 70 65 29 20 72 65 76 20 73 69 6e 63 65 29 0a 20 20 28 73 74 72 69 6e 67 2d 74 t-recipe).rev.since)...(string-t
bac0 6f 2d 6e 75 6d 62 65 72 0a 20 20 20 28 63 61 72 20 28 69 66 20 73 69 6e 63 65 0a 20 20 20 20 20 o-number....(car.(if.since......
bae0 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 67 69 74 22 20 22 72 65 76 .......(process-lines."git"."rev
bb00 2d 6c 69 73 74 22 20 22 2d 2d 63 6f 75 6e 74 22 20 72 65 76 20 28 63 6f 6e 63 61 74 20 22 5e 22 -list"."--count".rev.(concat."^"
bb20 20 73 69 6e 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 .since))...........(process-line
bb40 73 20 22 67 69 74 22 20 22 72 65 76 2d 6c 69 73 74 22 20 22 2d 2d 63 6f 75 6e 74 22 20 72 65 76 s."git"."rev-list"."--count".rev
bb60 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 )))))..(cl-defmethod.package-bui
bb80 6c 64 2d 2d 63 6f 6d 6d 69 74 2d 63 6f 75 6e 74 20 28 28 5f 72 63 70 20 70 61 63 6b 61 67 65 2d ld--commit-count.((_rcp.package-
bba0 68 67 2d 72 65 63 69 70 65 29 20 72 65 76 20 73 69 6e 63 65 29 0a 20 20 28 6c 65 6e 67 74 68 20 hg-recipe).rev.since)...(length.
bbc0 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 68 67 22 20 22 6c 6f 67 22 20 22 2d 2d 74 65 6d (process-lines."hg"."log"."--tem
bbe0 70 6c 61 74 65 22 20 22 7b 72 65 76 7d 5c 5c 6e 22 20 22 2d 2d 72 65 76 22 0a 20 20 20 20 20 20 plate"."{rev}\\n"."--rev".......
bc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 69 6e 63 65 0a 20 20 20 ...................(if.since....
bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 ..........................(forma
bc40 74 20 22 6f 6e 6c 79 28 25 73 2c 20 25 73 29 22 20 72 65 76 20 73 69 6e 63 65 29 0a 20 20 20 20 t."only(%s,.%s)".rev.since).....
bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 .......................(format."
bc80 61 6e 63 65 73 74 6f 72 73 28 25 73 29 22 20 72 65 76 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 46 61 ancestors(%s)".rev)))))..;;;;.Fa
bca0 6c 6c 62 61 63 6b 2d 43 6f 75 6e 74 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 llback-Count..(defun.package-bui
bcc0 6c 64 2d 66 61 6c 6c 62 61 63 6b 2d 63 6f 75 6e 74 2d 76 65 72 73 69 6f 6e 20 28 72 63 70 29 0a ld-fallback-count-version.(rcp).
bce0 20 20 22 44 65 74 65 72 6d 69 6e 65 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 69 6e 20 74 .."Determine.version.string.in.t
bd00 68 65 20 5c 22 30 2e 30 2e 30 2e 43 4f 55 4e 54 5c 22 20 66 6f 72 6d 61 74 20 66 6f 72 20 52 43 he.\"0.0.0.COUNT\".format.for.RC
bd20 50 2e 0a 0a 2a 45 78 70 65 72 69 6d 65 6e 74 61 6c 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e P...*Experimental*.This.function
bd40 20 69 73 20 73 74 69 6c 6c 20 73 75 62 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 65 2e 0a 0a 54 68 .is.still.subject.to.change...Th
bd60 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 66 61 6c 6c 62 61 63 is.function.implements.a.fallbac
bd80 6b 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 6e 20 74 68 65 0a 72 65 6c 65 61 73 k.that.can.be.used.on.the.releas
bda0 65 20 63 68 61 6e 6e 65 6c 2c 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 6f 6e e.channel,.for.packages.that.don
bdc0 27 74 20 64 6f 20 72 65 6c 65 61 73 65 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 0a 62 65 20 74 68 't.do.releases...It.should.be.th
bde0 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 e.last.element.of.`package-build
be00 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 2c 0a 61 6e 64 -release-version-functions',.and
be20 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 .at.the.same.time.`package-build
be40 2d 73 6e 61 70 73 68 6f 74 2d 76 65 72 73 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 27 0a 73 68 6f -snapshot-version-functions'.sho
be60 75 6c 64 20 63 6f 6e 74 61 69 6e 20 6f 6e 6c 79 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d uld.contain.only.`package-build-
be80 72 65 6c 65 61 73 65 2b 63 6f 75 6e 74 2d 76 65 72 73 69 6f 6e 27 2e 0a 0a 54 68 65 20 72 65 73 release+count-version'...The.res
bea0 75 6c 74 20 6f 66 20 73 75 63 68 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 74 ult.of.such.a.configuration.is.t
bec0 68 61 74 2c 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 0a 64 6f 6e 27 74 20 64 6f 20 hat,.for.packages.that.don't.do.
bee0 72 65 6c 65 61 73 65 73 2c 20 74 68 65 20 72 65 6c 65 61 73 65 20 61 6e 64 20 73 6e 61 70 73 68 releases,.the.release.and.snapsh
bf00 6f 74 20 63 68 61 6e 6e 65 6c 73 20 70 72 6f 76 69 64 65 0a 74 68 65 20 73 61 6d 65 20 5c 22 30 ot.channels.provide.the.same.\"0
bf20 2e 30 2e 30 2e 43 4f 55 4e 54 5c 22 20 73 6e 61 70 73 68 6f 74 2e 20 20 54 68 61 74 20 77 61 79 .0.0.COUNT\".snapshot...That.way
bf40 2c 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 0a 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 ,.all.packages.are.available.on.
bf60 74 68 65 20 72 65 6c 65 61 73 65 20 63 68 61 6e 6e 65 6c 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 the.release.channel,.which.makes
bf80 20 74 68 61 74 20 63 68 61 6e 6e 65 6c 20 6d 6f 72 65 0a 61 74 74 72 61 63 74 69 76 65 20 74 6f .that.channel.more.attractive.to
bfa0 20 75 73 65 72 73 2c 20 77 68 69 63 68 20 6d 69 67 68 74 20 65 6e 63 6f 75 72 61 67 65 20 73 6f .users,.which.might.encourage.so
bfc0 6d 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 74 6f 0a 72 65 6c 65 61 73 65 20 6d 6f 72 65 20 6f me.maintainers.to.release.more.o
bfe0 66 74 65 6e 2c 20 6f 72 20 69 66 20 74 68 65 79 20 68 61 76 65 20 6e 65 76 65 72 20 64 6f 6e 65 ften,.or.if.they.have.never.done
c000 20 61 20 72 65 6c 65 61 73 65 20 62 65 66 6f 72 65 2c 0a 74 6f 20 66 69 6e 61 6c 6c 79 20 67 65 .a.release.before,.to.finally.ge
c020 74 20 61 72 6f 75 6e 64 20 74 6f 20 74 68 61 74 20 69 6e 69 74 69 61 6c 20 72 65 6c 65 61 73 65 t.around.to.that.initial.release
c040 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 0a 74 68 69 73 20 6d 69 67 68 74 20 68 65 ...In.other.words,.this.might.he
c060 6c 70 20 6f 76 65 72 63 6f 6d 65 20 74 68 65 20 72 65 6c 65 61 73 65 20 63 68 61 6e 6e 65 6c 27 lp.overcome.the.release.channel'
c080 73 20 63 68 69 63 6b 65 6e 20 61 6e 64 20 65 67 67 0a 70 72 6f 62 6c 65 6d 2e 22 0a 20 20 28 6c s.chicken.and.egg.problem."...(l
c0a0 65 74 20 28 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2d 76 65 72 73 69 et.((package-build-release-versi
c0c0 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d on-functions.nil)).....(package-
c0e0 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2b 63 6f 75 6e 74 2d 76 65 72 73 69 6f 6e 20 72 63 70 29 build-release+count-version.rcp)
c100 29 29 0a 0a 3b 3b 3b 20 43 61 6c 6c 20 50 72 6f 63 65 73 73 0a 0a 28 64 65 66 75 6e 20 70 61 63 ))..;;;.Call.Process..(defun.pac
c120 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 28 70 61 63 6b 61 67 kage-build--call-process.(packag
c140 65 20 63 6f 6d 6d 61 6e 64 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 46 6f 72 20 50 41 43 e.command.&rest.args)..."For.PAC
c160 4b 41 47 45 2c 20 72 75 6e 20 43 4f 4d 4d 41 4e 44 20 77 69 74 68 20 41 52 47 53 20 69 6e 20 60 KAGE,.run.COMMAND.with.ARGS.in.`
c180 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 0a 57 65 20 75 73 65 20 74 68 69 73 20 default-directory'..We.use.this.
c1a0 74 6f 20 77 72 61 70 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 70 72 6f 70 65 72 20 65 6e 76 69 72 to.wrap.commands.is.proper.envir
c1c0 6f 6e 6d 65 6e 74 20 73 65 74 74 69 6e 67 73 20 61 6e 64 0a 77 69 74 68 20 61 20 74 69 6d 65 6f onment.settings.and.with.a.timeo
c1e0 75 74 20 73 6f 20 74 68 61 74 20 6e 6f 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 6c 6f 63 6b 20 ut.so.that.no.command.can.block.
c200 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 2c 0a 61 6e 64 20 73 6f 20 77 65 20 63 61 6e the.build.process,.and.so.we.can
c220 20 70 72 6f 70 65 72 6c 79 20 6c 6f 67 20 65 72 72 6f 72 73 2e 20 20 50 41 43 4b 41 47 45 20 6d .properly.log.errors...PACKAGE.m
c240 75 73 74 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 61 20 70 61 63 6b 61 67 65 2c 20 61 20 ust.be.the.name.of.a.package,.a.
c260 60 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 27 20 6f 62 6a 65 63 74 20 6f 72 20 6e 69 6c 2c 20 `package-recipe'.object.or.nil,.
c280 61 6e 64 20 69 73 20 6f 6e 6c 79 20 75 73 65 64 0a 66 6f 72 20 6c 6f 67 67 69 6e 67 20 70 75 72 and.is.only.used.for.logging.pur
c2a0 70 6f 73 65 73 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 poses."...(unless.(file-director
c2c0 79 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 28 65 72 72 6f y-p.default-directory).....(erro
c2e0 72 20 22 43 61 6e 6e 6f 74 20 72 75 6e 20 70 72 6f 63 65 73 73 20 69 6e 20 6e 6f 6e 2d 65 78 69 r."Cannot.run.process.in.non-exi
c300 73 74 65 6e 74 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 stent.directory:.%s"............
c320 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 default-directory))...(with-temp
c340 2d 62 75 66 66 65 72 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 61 72 67 73 2d 6f -buffer.....(pcase-let*.((args-o
c360 72 69 67 20 28 63 6f 6e 73 20 63 6f 6d 6d 61 6e 64 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 rig.(cons.command.args))........
c380 20 20 20 20 20 20 20 20 20 20 28 60 28 2c 63 6f 6d 6d 61 6e 64 20 2e 20 2c 61 72 67 73 29 0a 20 ..........(`(,command...,args)..
c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 61 6e 64 20 28 6e 6f .................(nconc.(and.(no
c3c0 74 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d 6e 74 29 29 0a t.(eq.system-type.'windows-nt)).
c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ..............................(l
c400 69 73 74 20 22 65 6e 76 22 20 22 4c 43 5f 41 4c 4c 3d 43 22 29 29 0a 20 20 20 20 20 20 20 20 20 ist."env"."LC_ALL=C"))..........
c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 70 61 63 6b 61 67 65 ................(if.(and.package
c440 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 73 65 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 -build-timeout-secs.............
c460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 ......................package-bu
c480 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 65 78 65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 ild-timeout-executable).........
c4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 6c 69 73 .....................(nconc.(lis
c4c0 74 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 65 78 65 63 75 74 61 62 t.package-build-timeout-executab
c4e0 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le..............................
c500 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6b 22 20 22 36 30 22 0a 20 20 20 20 20 20 20 20 20 ............."-k"."60"..........
c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c540 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(number-to-string..............
c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 ..............................pa
c580 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 69 6d 65 6f 75 74 2d 73 65 63 73 29 0a 20 20 20 20 20 20 ckage-build-timeout-secs).......
c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c5c0 20 20 20 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....command)....................
c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 .................args)..........
c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 63 6f 6d 6d 61 6e 64 20 ..................(cons.command.
c620 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 69 74 2d args))))..................(exit-
c640 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 code...................(apply.#'
c660 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 63 6f 6d 6d 61 6e 64 20 6e 69 6c 20 28 63 75 72 72 65 6e call-process.command.nil.(curren
c680 74 2d 62 75 66 66 65 72 29 20 6e 69 6c 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c t-buffer).nil.args))).......(unl
c6a0 65 73 73 20 28 65 71 75 61 6c 20 65 78 69 74 2d 63 6f 64 65 20 30 29 20 3b 20 6d 61 79 20 61 6c ess.(equal.exit-code.0).;.may.al
c6c0 73 6f 20 62 65 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 75 so.be.a.string.........(let.((su
c6e0 6d 6d 61 72 79 20 28 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 mmary.(format-message...........
c700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 61 6e 64 20 60 25 73 27 20 65 78 69 74 .............."Command.`%s'.exit
c720 65 64 20 77 69 74 68 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 2d 63 6f 64 65 3a 20 25 73 22 0a ed.with.non-zero.exit-code:.%s".
c740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 ........................(mapconc
c760 61 74 20 23 27 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 61 72 67 73 2d 6f at.#'shell-quote-argument.args-o
c780 72 69 67 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rig.".")........................
c7a0 20 65 78 69 74 2d 63 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 75 70 6c 69 .exit-code)))...........;;.Dupli
c7c0 63 61 74 69 6e 67 20 74 68 65 20 73 75 6d 6d 61 72 79 20 6c 69 6b 65 20 74 68 69 73 20 69 73 20 cating.the.summary.like.this.is.
c7e0 61 20 62 69 74 20 75 6e 66 6f 72 74 75 6e 61 74 65 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 a.bit.unfortunate,.but..........
c800 20 3b 3b 20 73 74 69 6c 6c 20 74 68 65 20 62 65 73 74 20 6f 70 74 69 6f 6e 20 62 65 63 61 75 73 .;;.still.the.best.option.becaus
c820 65 20 77 65 20 77 61 6e 74 20 74 6f 20 73 68 6f 77 20 69 74 20 62 65 66 6f 72 65 20 74 68 65 0a e.we.want.to.show.it.before.the.
c840 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 75 74 70 75 74 2c 20 62 75 74 20 61 6c 73 6f 20 77 61 ..........;;.output,.but.also.wa
c860 6e 74 20 69 74 20 74 6f 20 61 70 70 65 61 72 20 61 73 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 nt.it.to.appear.as.an.error.mess
c880 61 67 65 2c 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 6f 75 74 20 6d 61 6b 69 6e 67 age,...........;;.without.making
c8a0 20 74 68 65 2c 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6d 75 6c 74 69 2d 6c 69 6e 65 2c 20 6f 75 .the,.potentially.multi-line,.ou
c8c0 74 70 75 74 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 65 72 tput.part.of...........;;.the.er
c8e0 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 ror.message............(message.
c900 22 25 73 22 20 73 75 6d 6d 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 "%s".summary)...........(message
c920 20 22 25 73 22 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 ."%s".(buffer-string))..........
c940 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 72 72 6f 72 20 70 61 63 6b 61 67 65 20 22 .(package-build--error.package."
c960 25 73 22 20 73 75 6d 6d 61 72 79 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 %s".summary))))))..(defun.packag
c980 65 2d 62 75 69 6c 64 2d 2d 72 75 6e 2d 70 72 6f 63 65 73 73 20 28 63 6f 6d 6d 61 6e 64 20 26 72 e-build--run-process.(command.&r
c9a0 65 73 74 20 61 72 67 73 29 0a 20 20 22 4c 69 6b 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 est.args)..."Like.`package-build
c9c0 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 27 2c 20 62 75 74 20 6c 61 63 6b 73 20 74 68 65 20 50 --call-process',.but.lacks.the.P
c9e0 41 43 4b 41 47 45 20 61 72 67 75 6d 65 6e 74 2e 22 0a 20 20 28 61 70 70 6c 79 20 23 27 70 61 63 ACKAGE.argument."...(apply.#'pac
ca00 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 6e 69 6c 20 63 6f 6d kage-build--call-process.nil.com
ca20 6d 61 6e 64 20 61 72 67 73 29 29 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 20 27 70 61 63 6b mand.args)).(make-obsolete.'pack
ca40 61 67 65 2d 62 75 69 6c 64 2d 2d 72 75 6e 2d 70 72 6f 63 65 73 73 20 27 70 61 63 6b 61 67 65 2d age-build--run-process.'package-
ca60 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 35 2e 30 2e 30 22 29 0a 0a 3b 3b build--call-process."5.0.0")..;;
ca80 3b 20 57 6f 72 6b 74 72 65 65 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 ;.Worktree..(defun.package-build
caa0 2d 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 20 28 72 63 70 20 26 6f 70 74 69 6f 6e 61 6c 20 65 61 --working-tree.(rcp.&optional.ea
cac0 72 6c 79 29 0a 20 20 28 69 66 20 65 61 72 6c 79 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 rly)...(if.early.......(funcall.
cae0 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 65 61 72 6c 79 2d 77 6f 72 6b 74 72 65 65 2d 66 75 6e package-build-early-worktree-fun
cb00 63 74 69 6f 6e 20 72 63 70 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 61 63 6b 61 67 65 2d ction.rcp).....(funcall.package-
cb20 62 75 69 6c 64 2d 77 6f 72 6b 74 72 65 65 2d 66 75 6e 63 74 69 6f 6e 20 72 63 70 29 29 29 0a 0a build-worktree-function.rcp)))..
cb40 3b 3b 3b 20 46 65 74 63 68 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 ;;;.Fetch..(cl-defmethod.package
cb60 2d 62 75 69 6c 64 2d 2d 66 65 74 63 68 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d -build--fetch.((rcp.package-git-
cb80 72 65 63 69 70 65 29 29 0a 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 70 61 63 6b 61 67 65 2d 62 recipe))...(let.((dir.(package-b
cba0 75 69 6c 64 2d 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 20 72 63 70 20 74 29 29 0a 20 20 20 20 20 uild--working-tree.rcp.t))......
cbc0 20 20 20 28 75 72 6c 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 ...(url.(package-recipe--upstrea
cbe0 6d 2d 75 72 6c 20 72 63 70 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 74 6f 63 6f 6c 20 28 70 m-url.rcp)).........(protocol.(p
cc00 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d 70 72 6f 74 6f 63 6f 6c ackage-recipe--upstream-protocol
cc20 20 72 63 70 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 62 65 72 20 70 72 6f 74 .rcp))).....(unless.(member.prot
cc40 6f 63 6f 6c 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 6c 6c 6f 77 65 64 2d 67 69 74 2d 70 ocol.package-build-allowed-git-p
cc60 72 6f 74 6f 63 6f 6c 73 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d rotocols).......(package-build--
cc80 65 72 72 6f 72 20 72 63 70 0a 20 20 20 20 20 20 20 20 22 46 65 74 63 68 69 6e 67 20 75 73 69 6e error.rcp........."Fetching.usin
cca0 67 20 74 68 65 20 25 73 20 70 72 6f 74 6f 63 6f 6c 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 g.the.%s.protocol.is.not.allowed
ccc0 22 20 70 72 6f 74 6f 63 6f 6c 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e ".protocol)).....(cond......((an
cce0 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 d.(file-exists-p.(expand-file-na
cd00 6d 65 20 22 2e 67 69 74 22 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 me.".git".dir))............(let.
cd20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 0a 20 20 20 20 20 20 ((default-directory.dir)).......
cd40 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 28 63 61 72 20 28 70 72 6f 63 65 73 73 2d 6c 69 .......(string=.(car.(process-li
cd60 6e 65 73 20 22 67 69 74 22 20 22 63 6f 6e 66 69 67 22 20 22 72 65 6d 6f 74 65 2e 6f 72 69 67 69 nes."git"."config"."remote.origi
cd80 6e 2e 75 72 6c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 n.url")).......................u
cda0 72 6c 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c rl))).......(unless.package-buil
cdc0 64 2d 2d 69 6e 68 69 62 69 74 2d 66 65 74 63 68 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 d--inhibit-fetch.........(let.((
cde0 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 default-directory.dir)).........
ce00 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 55 70 64 61 74 ..(package-build--message."Updat
ce20 69 6e 67 20 25 73 22 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d ing.%s".dir)...........(package-
ce40 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 67 69 74 22 20 22 66 build--call-process.rcp."git"."f
ce60 65 74 63 68 22 20 22 2d 66 22 20 22 2d 2d 74 61 67 73 22 20 22 6f 72 69 67 69 6e 22 29 0a 20 20 etch"."-f"."--tags"."origin")...
ce80 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 6d 69 67 68 74 20 6c 61 74 65 72 20 63 68 65 63 6b 6f ........;;.We.might.later.checko
cea0 75 74 20 22 6f 72 69 67 69 6e 2f 48 45 41 44 22 2e 20 53 61 64 6c 79 20 22 67 69 74 20 66 65 74 ut."origin/HEAD"..Sadly."git.fet
cec0 63 68 22 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 61 6e 6e 6f 74 20 62 65 20 74 6f 6c 64 20 ch"...........;;.cannot.be.told.
cee0 74 6f 20 6b 65 65 70 20 69 74 20 75 70 2d 74 6f 2d 64 61 74 65 2c 20 73 6f 20 77 65 20 68 61 76 to.keep.it.up-to-date,.so.we.hav
cf00 65 20 74 6f 20 6d 61 6b 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 73 65 63 6f 6e 64 20 e.to.make...........;;.a.second.
cf20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c request............(package-buil
cf40 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 72 63 70 20 22 d--call-process............rcp."
cf60 67 69 74 22 20 22 72 65 6d 6f 74 65 22 20 22 73 65 74 2d 68 65 61 64 22 20 22 6f 72 69 67 69 6e git"."remote"."set-head"."origin
cf80 22 20 22 2d 2d 61 75 74 6f 22 29 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 77 68 "."--auto"))))......(t.......(wh
cfa0 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 28 en.(file-exists-p.dir).........(
cfc0 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 20 74 29 29 0a 20 20 20 20 20 20 28 delete-directory.dir.t)).......(
cfe0 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 43 6c 6f 6e 69 6e 67 20 package-build--message."Cloning.
d000 25 73 20 74 6f 20 25 73 22 20 75 72 6c 20 64 69 72 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 %s.to.%s".url.dir).......(make-d
d020 69 72 65 63 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 6f 72 6b 69 6e 67 2d 64 irectory.package-build-working-d
d040 69 72 20 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 ir.t).......(let.((default-direc
d060 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 29 29 tory.package-build-working-dir))
d080 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 .........(package-build--call-pr
d0a0 6f 63 65 73 73 20 72 63 70 20 22 67 69 74 22 20 22 63 6c 6f 6e 65 22 20 75 72 6c 20 64 69 72 29 ocess.rcp."git"."clone".url.dir)
d0c0 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 )))))..(cl-defmethod.package-bui
d0e0 6c 64 2d 2d 66 65 74 63 68 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 ld--fetch.((rcp.package-hg-recip
d100 65 29 29 0a 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d e))...(let.((dir.(package-build-
d120 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 20 72 63 70 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 75 -working-tree.rcp.t)).........(u
d140 72 6c 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d 75 72 6c rl.(package-recipe--upstream-url
d160 20 72 63 70 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e 64 20 28 66 69 .rcp))).....(cond......((and.(fi
d180 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e le-exists-p.(expand-file-name.".
d1a0 68 67 22 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 hg".dir))............(let.((defa
d1c0 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ult-directory.dir)).............
d1e0 20 28 73 74 72 69 6e 67 3d 20 28 63 61 72 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 68 .(string=.(car.(process-lines."h
d200 67 22 20 22 70 61 74 68 73 22 20 22 64 65 66 61 75 6c 74 22 29 29 20 75 72 6c 29 29 29 0a 20 20 g"."paths"."default")).url)))...
d220 20 20 20 20 28 75 6e 6c 65 73 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 62 ....(unless.package-build--inhib
d240 69 74 2d 66 65 74 63 68 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d it-fetch.........(let.((default-
d260 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 directory.dir))...........(packa
d280 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 55 70 64 61 74 69 6e 67 20 25 73 22 20 ge-build--message."Updating.%s".
d2a0 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 dir)...........(package-build--c
d2c0 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 68 67 22 20 22 70 75 6c 6c 22 29 0a 20 20 20 all-process.rcp."hg"."pull")....
d2e0 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 .......(package-build--call-proc
d300 65 73 73 20 72 63 70 20 22 68 67 22 20 22 75 70 64 61 74 65 22 29 29 29 29 0a 20 20 20 20 20 28 ess.rcp."hg"."update"))))......(
d320 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 69 72 t.......(when.(file-exists-p.dir
d340 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 20 ).........(delete-directory.dir.
d360 74 29 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 t)).......(package-build--messag
d380 65 20 22 43 6c 6f 6e 69 6e 67 20 25 73 20 74 6f 20 25 73 22 20 75 72 6c 20 64 69 72 29 0a 20 20 e."Cloning.%s.to.%s".url.dir)...
d3a0 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c ....(make-directory.package-buil
d3c0 64 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 20 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 d-working-dir.t).......(let.((de
d3e0 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 77 6f fault-directory.package-build-wo
d400 72 6b 69 6e 67 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 rking-dir)).........(package-bui
d420 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 68 67 22 20 22 63 6c 6f 6e 65 ld--call-process.rcp."hg"."clone
d440 22 20 75 72 6c 20 64 69 72 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 43 68 65 63 6b 6f 75 74 0a 0a 28 ".url.dir))))))..;;;.Checkout..(
d460 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 68 65 63 cl-defmethod.package-build--chec
d480 6b 6f 75 74 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 29 0a kout.((rcp.package-git-recipe)).
d4a0 20 20 28 75 6e 6c 65 73 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 62 69 74 ..(unless.package-build--inhibit
d4c0 2d 63 68 65 63 6b 6f 75 74 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 76 20 28 6f 72 65 66 20 72 -checkout.....(let.((rev.(oref.r
d4e0 63 70 20 63 6f 6d 6d 69 74 29 29 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c cp.commit))).......(package-buil
d500 64 2d 2d 6d 65 73 73 61 67 65 20 22 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 25 73 22 20 72 65 76 d--message."Checking.out.%s".rev
d520 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f ).......(package-build--call-pro
d540 63 65 73 73 20 72 63 70 20 22 67 69 74 22 20 22 72 65 73 65 74 22 20 22 2d 2d 68 61 72 64 22 20 cess.rcp."git"."reset"."--hard".
d560 72 65 76 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 61 63 6b 61 67 65 2d 62 rev))))..(cl-defmethod.package-b
d580 75 69 6c 64 2d 2d 63 68 65 63 6b 6f 75 74 20 28 28 72 63 70 20 70 61 63 6b 61 67 65 2d 68 67 2d uild--checkout.((rcp.package-hg-
d5a0 72 65 63 69 70 65 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 recipe))...(unless.package-build
d5c0 2d 2d 69 6e 68 69 62 69 74 2d 63 68 65 63 6b 6f 75 74 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 --inhibit-checkout.....(let.((re
d5e0 76 20 28 6f 72 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 29 29 29 0a 20 20 20 20 20 20 28 70 61 63 v.(oref.rcp.commit))).......(pac
d600 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 43 68 65 63 6b 69 6e 67 20 6f 75 kage-build--message."Checking.ou
d620 74 20 25 73 22 20 72 65 76 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d t.%s".rev).......(package-build-
d640 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 68 67 22 20 22 75 70 64 61 74 65 22 20 -call-process.rcp."hg"."update".
d660 72 65 76 29 29 29 29 0a 0a 3b 3b 3b 20 47 65 6e 65 72 61 74 65 20 46 69 6c 65 73 0a 0a 28 64 65 rev))))..;;;.Generate.Files..(de
d680 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 70 6b 67 2d 66 69 6c fun.package-build--write-pkg-fil
d6a0 65 20 28 64 65 73 63 20 64 69 72 29 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 70 61 63 6b e.(desc.dir)...(let.((name.(pack
d6c0 61 67 65 2d 64 65 73 63 2d 6e 61 6d 65 20 64 65 73 63 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d age-desc-name.desc))).....(with-
d6e0 74 65 6d 70 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 6f 72 temp-file.(expand-file-name.(for
d700 6d 61 74 20 22 25 73 2d 70 6b 67 2e 65 6c 22 20 6e 61 6d 65 29 20 64 69 72 29 0a 20 20 20 20 20 mat."%s-pkg.el".name).dir)......
d720 20 28 70 70 20 60 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 2c 28 73 79 6d 62 6f 6c 2d 6e .(pp.`(define-package.,(symbol-n
d740 61 6d 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 70 61 63 6b 61 67 65 ame.name)..............,(package
d760 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 76 65 72 73 -version-join.(package-desc-vers
d780 69 6f 6e 20 64 65 73 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 70 61 63 6b 61 67 ion.desc))..............,(packag
d7a0 65 2d 64 65 73 63 2d 73 75 6d 6d 61 72 79 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 e-desc-summary.desc)............
d7c0 20 20 27 2c 28 6d 61 70 63 61 72 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 61 20 28 60 28 2c 70 6b ..',(mapcar.(pcase-lambda.(`(,pk
d7e0 67 20 2c 76 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.,ver))........................
d800 20 20 28 6c 69 73 74 20 70 6b 67 20 28 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 ..(list.pkg.(package-version-joi
d820 6e 20 76 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.ver)))........................
d840 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 72 65 71 73 20 64 65 73 63 29 29 0a 20 20 20 20 20 20 (package-desc-reqs.desc)).......
d860 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6d 61 70 63 61 6e 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 .......,@(cl-mapcan.(pcase-lambd
d880 61 20 28 60 28 2c 6b 65 79 20 2e 20 2c 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 a.(`(,key...,val))..............
d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 73 79 6d 62 6f 6c ...............(when.(or.(symbol
d8c0 70 20 76 61 6c 29 20 28 6c 69 73 74 70 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 p.val).(listp.val)).............
d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 6d 75 73 74 20 71 75 6f ..................;;.We.must.quo
d900 74 65 20 6c 69 73 74 73 20 61 6e 64 20 73 79 6d 62 6f 6c 73 2c 0a 20 20 20 20 20 20 20 20 20 20 te.lists.and.symbols,...........
d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 63 61 75 73 65 20 45 ....................;;.because.E
d940 6d 61 63 73 20 32 34 2e 33 20 61 6e 64 20 65 61 72 6c 69 65 72 20 65 76 61 6c 75 61 74 65 0a 20 macs.24.3.and.earlier.evaluate..
d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .............................;;.
d980 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 77 68 69 63 68 20 77 the.package.information,.which.w
d9a0 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ould............................
d9c0 20 20 20 3b 3b 20 62 72 65 61 6b 20 66 6f 72 20 75 6e 71 75 6f 74 65 64 20 73 79 6d 62 6f 6c 73 ...;;.break.for.unquoted.symbols
d9e0 20 6f 72 20 6c 69 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .or.lists.......................
da00 20 20 20 20 20 20 20 20 20 3b 3b 20 57 68 69 6c 65 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 64 .........;;.While.this.library.d
da20 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oes.not.support.................
da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 63 68 20 6f 6c 64 20 45 6d 61 63 73 65 ..............;;.such.old.Emacse
da60 6e 2c 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 n,.the.packages.that............
da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 70 72 6f 64 75 63 65 ...................;;.we.produce
daa0 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 6e 20 63 6f 6d 70 61 74 69 62 6c 65 2e 0a 20 20 20 20 20 .should.remain.compatible.......
dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 .........................(setq.v
dae0 61 6c 20 28 6c 69 73 74 20 27 71 75 6f 74 65 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 al.(list.'quote.val)))..........
db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6b 65 79 20 76 61 6c ...................(list.key.val
db20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 ))...........................(pa
db40 63 6b 61 67 65 2d 64 65 73 63 2d 65 78 74 72 61 73 20 64 65 73 63 29 29 29 0a 20 20 20 20 20 20 ckage-desc-extras.desc))).......
db60 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 70 72 69 ....(current-buffer)).......(pri
db80 6e 63 20 22 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 5c 6e 3b 3b 20 6e 6f 2d 62 nc.";;.Local.Variables:\n;;.no-b
dba0 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 5c 6e 3b 3b 20 45 6e 64 3a 5c 6e 22 0a 20 20 20 20 20 yte-compile:.t\n;;.End:\n"......
dbc0 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 ........(current-buffer)))))..(d
dbe0 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 74 61 72 2d 74 79 70 65 20 28 29 0a efun.package-build--tar-type.().
dc00 20 20 22 52 65 74 75 72 6e 20 60 62 73 64 27 20 6f 72 20 60 67 6e 75 27 20 64 65 70 65 6e 64 69 .."Return.`bsd'.or.`gnu'.dependi
dc20 6e 67 20 6f 6e 20 74 79 70 65 20 6f 66 20 54 61 72 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 54 65 ng.on.type.of.Tar.executable..Te
dc40 73 74 73 20 61 6e 64 20 73 65 74 73 20 76 61 72 69 61 62 6c 65 20 60 70 61 63 6b 61 67 65 2d 62 sts.and.sets.variable.`package-b
dc60 75 69 6c 64 2d 2d 74 61 72 2d 74 79 70 65 27 20 69 66 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 73 uild--tar-type'.if.not.already.s
dc80 65 74 2e 22 0a 20 20 28 6f 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 74 61 72 2d 74 79 et."...(or.package-build--tar-ty
dca0 70 65 0a 20 20 20 20 20 20 28 61 6e 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 72 2d pe.......(and.package-build-tar-
dcc0 65 78 65 63 75 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 20 28 executable............(let.((v.(
dce0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 shell-command-to-string.........
dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 2d 2d 76 65 72 73 69 .............(format."%s.--versi
dd20 6f 6e 22 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 72 2d 65 78 65 63 75 74 61 62 6c 65 on".package-build-tar-executable
dd40 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 63 6b 61 67 65 2d ))))..............(setq.package-
dd60 62 75 69 6c 64 2d 2d 74 61 72 2d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 build--tar-type.................
dd80 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 62 73 64 74 61 ...(cond.((string-match-p."bsdta
dda0 72 22 20 76 29 20 27 62 73 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r".v).'bsd).....................
ddc0 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 47 4e 55 20 74 61 72 22 20 .....((string-match-p."GNU.tar".
dde0 76 29 20 27 67 6e 75 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 v).'gnu)........................
de00 20 20 28 74 20 27 67 6e 75 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 ..(t.'gnu)))))))..(defun.package
de20 2d 62 75 69 6c 64 2d 2d 63 72 65 61 74 65 2d 74 61 72 20 28 72 63 70 20 64 69 72 65 63 74 6f 72 -build--create-tar.(rcp.director
de40 79 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 74 61 72 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 y)..."Create.a.tar.file.containi
de60 6e 67 20 74 68 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 69 65 64 ng.the.package.version.specified
de80 20 62 79 20 52 43 50 2e 0a 44 49 52 45 43 54 4f 52 59 20 69 73 20 61 20 74 65 6d 70 6f 72 61 72 .by.RCP..DIRECTORY.is.a.temporar
dea0 79 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 64 69 y.directory.that.contains.the.di
dec0 72 65 63 74 6f 72 79 0a 74 68 61 74 20 69 73 20 70 75 74 20 69 6e 20 74 68 65 20 74 61 72 62 61 rectory.that.is.put.in.the.tarba
dee0 6c 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 6f 72 65 66 20 72 63 70 20 6e 61 ll."...(let*.((name.(oref.rcp.na
df00 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 20 72 63 70 me))..........(version.(oref.rcp
df20 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 6d 65 20 28 6f 72 65 66 20 .version))..........(time.(oref.
df40 72 63 70 20 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 72 20 28 65 78 70 61 6e 64 rcp.time))..........(tar.(expand
df60 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2d 22 20 76 65 72 73 -file-name.(concat.name."-".vers
df80 69 6f 6e 20 22 2e 74 61 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.".tar").....................
dfa0 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 ............package-build-archiv
dfc0 65 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 20 28 63 6f 6e 63 61 74 20 6e 61 e-dir))..........(dir.(concat.na
dfe0 6d 65 20 22 2d 22 20 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 me."-".version))).....(when.(and
e000 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d 6e 74 29 0a 20 20 .(eq.system-type.'windows-nt)...
e020 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d .............(eq.(package-build-
e040 2d 74 61 72 2d 74 79 70 65 29 20 27 67 6e 75 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 61 -tar-type).'gnu)).......(setq.ta
e060 72 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5e 5c 5c r.(replace-regexp-in-string."^\\
e080 28 5b 61 2d 7a 5d 5c 5c 29 3a 22 20 22 2f 5c 5c 31 22 20 74 61 72 29 29 29 0a 20 20 20 20 28 6c ([a-z]\\):"."/\\1".tar))).....(l
e0a0 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79 et.((default-directory.directory
e0c0 29 29 0a 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 70 61 )).......(process-file........pa
e0e0 63 6b 61 67 65 2d 62 75 69 6c 64 2d 74 61 72 2d 65 78 65 63 75 74 61 62 6c 65 20 6e 69 6c 0a 20 ckage-build-tar-executable.nil..
e100 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 2a 70 61 63 6b 61 ......(get-buffer-create."*packa
e120 67 65 2d 62 75 69 6c 64 2d 63 68 65 63 6b 6f 75 74 2a 22 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 ge-build-checkout*").nil........
e140 22 2d 63 66 22 20 74 61 72 20 64 69 72 0a 20 20 20 20 20 20 20 3b 3b 20 41 72 67 75 6d 65 6e 74 "-cf".tar.dir........;;.Argument
e160 73 20 74 68 61 74 20 61 72 65 20 6e 65 65 64 20 74 6f 20 73 74 72 69 70 20 6d 65 74 61 64 61 74 s.that.are.need.to.strip.metadat
e180 61 20 74 68 61 74 0a 20 20 20 20 20 20 20 3b 3b 20 70 72 65 76 65 6e 74 20 61 20 72 65 70 72 6f a.that........;;.prevent.a.repro
e1a0 64 75 63 69 62 6c 65 20 74 61 72 62 61 6c 6c 20 61 73 20 64 65 73 63 72 69 62 65 64 20 61 74 0a ducible.tarball.as.described.at.
e1c0 20 20 20 20 20 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f 72 65 70 72 6f 64 75 63 69 62 6c 65 2d 62 .......;;.https://reproducible-b
e1e0 75 69 6c 64 73 2e 6f 72 67 2f 64 6f 63 73 2f 61 72 63 68 69 76 65 73 2e 0a 20 20 20 20 20 20 20 uilds.org/docs/archives.........
e200 22 2d 2d 73 6f 72 74 3d 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2d 2d "--sort=name"........(format."--
e220 6d 74 69 6d 65 3d 40 25 64 22 20 74 69 6d 65 29 0a 20 20 20 20 20 20 20 22 2d 2d 6f 77 6e 65 72 mtime=@%d".time)........"--owner
e240 3d 30 22 20 22 2d 2d 67 72 6f 75 70 3d 30 22 20 22 2d 2d 6e 75 6d 65 72 69 63 2d 6f 77 6e 65 72 =0"."--group=0"."--numeric-owner
e260 22 0a 20 20 20 20 20 20 20 22 2d 2d 70 61 78 2d 6f 70 74 69 6f 6e 3d 65 78 74 68 64 72 2e 6e 61 "........"--pax-option=exthdr.na
e280 6d 65 3d 25 64 2f 50 61 78 48 65 61 64 65 72 73 2f 25 66 2c 64 65 6c 65 74 65 3d 61 74 69 6d 65 me=%d/PaxHeaders/%f,delete=atime
e2a0 2c 64 65 6c 65 74 65 3d 63 74 69 6d 65 22 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 ,delete=ctime")).....(when.(and.
e2c0 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 72 62 6f 73 65 20 6e 6f 6e 69 6e 74 65 72 61 63 package-build-verbose.noninterac
e2e0 74 69 76 65 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 72 65 61 74 65 64 20 25 73 tive).......(message."Created.%s
e300 20 63 6f 6e 74 61 69 6e 69 6e 67 3a 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 .containing:".(file-name-nondire
e320 63 74 6f 72 79 20 74 61 72 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6c 69 6e 65 20 ctory.tar)).......(dolist.(line.
e340 28 73 6f 72 74 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 70 61 63 6b 61 67 65 2d 62 75 69 (sort.(process-lines.package-bui
e360 6c 64 2d 74 61 72 2d 65 78 65 63 75 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ld-tar-executable...............
e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6c 69 ..........................."--li
e3a0 73 74 22 20 22 2d 2d 66 69 6c 65 22 20 74 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st"."--file".tar)...............
e3c0 20 20 20 20 20 20 20 20 20 20 20 20 23 27 73 74 72 69 6e 67 3c 29 29 0a 20 20 20 20 20 20 20 20 ............#'string<)).........
e3e0 28 6d 65 73 73 61 67 65 20 22 20 20 25 73 22 20 6c 69 6e 65 29 29 29 29 29 0a 0a 28 64 65 66 75 (message."..%s".line)))))..(defu
e400 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 70 6b 67 2d 72 65 61 64 6d n.package-build--write-pkg-readm
e420 65 20 28 70 6b 67 20 66 69 6c 65 73 29 0a 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 6e 61 6d e.(pkg.files)...(when-let*.((nam
e440 65 20 28 6f 72 65 66 20 70 6b 67 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e.(oref.pkg.name))..............
e460 20 28 63 6f 6d 6d 65 6e 74 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 .(commentary................(let
e480 2a 20 28 28 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2e 65 6c 22 29 29 0a 20 20 *.((file.(concat.name.".el"))...
e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6f 72 20 28 63 ....................(file.(or.(c
e4c0 61 72 20 28 72 61 73 73 6f 63 20 66 69 6c 65 20 66 69 6c 65 73 29 29 20 66 69 6c 65 29 29 0a 20 ar.(rassoc.file.files)).file))..
e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 61 6e 64 20 .....................(file.(and.
e500 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 29 29 0a file.(expand-file-name.file)))).
e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 .................(and.(file-exis
e540 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ts-p.file)......................
e560 20 28 6c 6d 2d 63 6f 6d 6d 65 6e 74 61 72 79 20 66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 28 77 .(lm-commentary.file))))).....(w
e580 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 66 20 28 3e 3d 20 65 6d ith-temp-buffer.......(if.(>=.em
e5a0 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 38 29 0a 20 20 20 20 20 20 20 20 20 20 acs-major-version.28)...........
e5c0 28 69 6e 73 65 72 74 20 63 6f 6d 6d 65 6e 74 61 72 79 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 (insert.commentary).........;;.T
e5e0 61 6b 65 6e 20 66 72 6f 6d 20 32 38 2e 30 27 73 20 60 6c 6d 2d 63 6f 6d 6d 65 6e 74 61 72 79 27 aken.from.28.0's.`lm-commentary'
e600 2e 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 20 20 28 72 65 70 6c ..........(insert..........(repl
e620 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 20 20 20 20 20 20 3b 20 47 65 74 ace-regexp-in-string.......;.Get
e640 20 72 69 64 20 6f 66 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 22 5b 5b 3a 62 6c 61 6e 6b 3a 5d .rid.of.............."[[:blank:]
e660 5d 2a 24 22 20 22 22 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 74 72 61 69 6c 69 6e 67 20 77 ]*$"."".............;.trailing.w
e680 68 69 74 65 2d 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 hite-space...........(replace-re
e6a0 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 gexp-in-string............(forma
e6c0 74 20 22 25 73 5c 5c 7c 25 73 5c 5c 7c 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t."%s\\|%s\\|%s"................
e6e0 20 20 20 20 3b 3b 20 63 6f 6d 6d 65 6e 74 61 72 79 20 68 65 61 64 65 72 0a 20 20 20 20 20 20 20 ....;;.commentary.header........
e700 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5e 3b 3b 3b 5b 5b 3a 62 6c 61 6e ............(concat."^;;;[[:blan
e720 6b 3a 5d 5d 2a 5c 5c 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k:]]*\\(".......................
e740 20 20 20 20 20 6c 6d 2d 63 6f 6d 6d 65 6e 74 61 72 79 2d 68 65 61 64 65 72 0a 20 20 20 20 20 20 .....lm-commentary-header.......
e760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 29 3a 5b 5b 3a 62 6c 61 ....................."\\):[[:bla
e780 6e 6b 3a 5d 5c 6e 5d 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e nk:]\n]*")...................."^
e7a0 3b 3b 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5d 3f 22 20 20 20 20 20 3b 20 64 6f 75 62 6c 65 20 73 65 6d ;;[[:blank:]]?".....;.double.sem
e7c0 69 63 6f 6c 6f 6e 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 icolon.prefix...................
e7e0 20 22 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5c 6e 5d 2a 5c 5c 27 22 29 20 20 3b 20 74 72 61 69 6c 69 6e ."[[:blank:]\n]*\\'")..;.trailin
e800 67 20 6e 65 77 2d 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 22 22 20 63 6f 6d 6d 65 6e g.new-lines............"".commen
e820 74 61 72 79 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 62 6f 62 70 tary)))).......(unless.(or.(bobp
e840 29 20 28 3d 20 28 63 68 61 72 2d 62 65 66 6f 72 65 29 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 20 ).(=.(char-before).?\n))........
e860 20 28 69 6e 73 65 72 74 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 77 72 69 74 65 .(insert.?\n)).......;;.We.write
e880 20 74 68 65 20 66 69 6c 65 20 65 76 65 6e 20 69 66 20 69 74 20 69 73 20 65 6d 70 74 79 2c 20 77 .the.file.even.if.it.is.empty,.w
e8a0 68 69 63 68 20 69 73 20 70 65 72 68 61 70 73 0a 20 20 20 20 20 20 3b 3b 20 61 20 71 75 65 73 74 hich.is.perhaps.......;;.a.quest
e8c0 69 6f 6e 61 62 6c 65 20 63 68 6f 69 63 65 2c 20 62 75 74 20 61 74 20 6c 65 61 73 74 20 69 74 27 ionable.choice,.but.at.least.it'
e8e0 73 20 63 6f 6e 73 69 73 74 65 6e 74 2e 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e s.consistent........(let.((codin
e900 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 g-system-for-write.buffer-file-c
e920 6f 64 69 6e 67 2d 73 79 73 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 oding-system)).........(write-re
e940 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gion.nil.nil....................
e960 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d ...(expand-file-name.(concat.nam
e980 65 20 22 2d 72 65 61 64 6d 65 2e 74 78 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e."-readme.txt")................
e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 .........................package
e9c0 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e -build-archive-dir))))))..(defun
e9e0 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 67 65 6e 65 72 61 74 65 2d 69 6e 66 6f 2d 66 69 .package-build--generate-info-fi
ea00 6c 65 73 20 28 72 63 70 20 66 69 6c 65 73 20 74 61 72 67 65 74 2d 64 69 72 29 0a 20 20 22 43 72 les.(rcp.files.target-dir)..."Cr
ea20 65 61 74 65 20 61 6e 20 69 6e 66 6f 20 66 69 6c 65 20 66 6f 72 20 65 61 63 68 20 74 65 78 69 6e eate.an.info.file.for.each.texin
ea40 66 6f 20 66 69 6c 65 20 6c 69 73 74 65 64 20 69 6e 20 46 49 4c 45 53 2e 0a 41 6c 73 6f 20 63 72 fo.file.listed.in.FILES..Also.cr
ea60 65 61 74 65 20 74 68 65 20 69 6e 66 6f 20 64 69 72 20 66 69 6c 65 2e 20 20 52 65 6d 6f 76 65 20 eate.the.info.dir.file...Remove.
ea80 65 61 63 68 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 69 6e 66 6f 0a 66 69 6c 65 2e 20 20 54 68 65 each.original.texinfo.file...The
eaa0 20 73 6f 75 72 63 65 20 61 6e 64 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 69 6c 65 20 70 61 74 .source.and.destination.file.pat
eac0 68 73 20 61 72 65 20 65 78 70 61 6e 64 65 64 20 69 6e 0a 60 64 65 66 61 75 6c 74 2d 64 69 72 65 hs.are.expanded.in.`default-dire
eae0 63 74 6f 72 79 27 20 61 6e 64 20 54 41 52 47 45 54 2d 44 49 52 20 72 65 73 70 65 63 74 69 76 65 ctory'.and.TARGET-DIR.respective
eb00 6c 79 2e 22 0a 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 73 72 63 20 2e 20 2c ly."...(pcase-dolist.(`(,src...,
eb20 74 6d 70 29 20 66 69 6c 65 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 78 74 65 6e 73 69 6f 6e tmp).files).....(let.((extension
eb40 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 74 6d 70 29 29 29 0a 20 20 20 .(file-name-extension.tmp)))....
eb60 20 20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 27 28 22 69 6e ...(when.(member.extension.'("in
eb80 66 6f 22 20 22 74 65 78 69 22 20 22 74 65 78 69 6e 66 6f 22 29 29 0a 20 20 20 20 20 20 20 20 28 fo"."texi"."texinfo")).........(
eba0 6c 65 74 2a 20 28 28 73 72 63 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 72 63 let*.((src.(expand-file-name.src
ebc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 6d 70 20 28 65 78 70 61 6e 64 2d 66 ))................(tmp.(expand-f
ebe0 69 6c 65 2d 6e 61 6d 65 20 74 6d 70 20 74 61 72 67 65 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 ile-name.tmp.target-dir)).......
ec00 20 20 20 20 20 20 20 20 20 28 74 65 78 69 20 73 72 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........(texi.src).............
ec20 20 20 20 28 69 6e 66 6f 20 74 6d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 ...(info.tmp))...........(when.(
ec40 6d 65 6d 62 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 27 28 22 74 65 78 69 22 20 22 74 65 78 69 6e member.extension.'("texi"."texin
ec60 66 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 74 fo")).............(delete-file.t
ec80 6d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 66 6f 20 28 63 6f 6e 63 mp).............(setq.info.(conc
eca0 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 74 6d 70 at.(file-name-sans-extension.tmp
ecc0 29 20 22 2e 69 6e 66 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 ).".info")).............(unless.
ece0 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 (file-exists-p.info)............
ed00 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 47 65 6e 65 ...(package-build--message."Gene
ed20 72 61 74 69 6e 67 20 25 73 22 20 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b rating.%s".info)...............;
ed40 3b 20 49 66 20 74 68 65 20 69 6e 66 6f 20 66 69 6c 65 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e ;.If.the.info.file.is.located.in
ed60 20 61 20 73 75 62 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b .a.subdirectory...............;;
ed80 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 72 65 6c 61 74 69 76 65 20 69 6e 63 6c 75 64 65 73 2c .and.contains.relative.includes,
eda0 20 74 68 65 6e 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 65 63 .then.it.is...............;;.nec
edc0 65 73 73 61 72 79 20 74 6f 20 72 75 6e 20 6d 61 6b 65 69 6e 66 6f 20 69 6e 20 74 68 65 20 73 75 essary.to.run.makeinfo.in.the.su
ede0 62 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d bdirectory................(with-
ee00 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 45 72 72 6f 72 3a 20 25 53 22 0a 20 20 20 20 20 demoted-errors."Error:.%S"......
ee20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 ...........(let.((default-direct
ee40 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 74 65 78 69 29 29 29 ory.(file-name-directory.texi)))
ee60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c ...................(package-buil
ee80 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d--call-process.................
eea0 20 20 20 72 63 70 20 22 6d 61 6b 65 69 6e 66 6f 22 20 22 2d 2d 6e 6f 2d 73 70 6c 69 74 22 20 74 ...rcp."makeinfo"."--no-split".t
eec0 65 78 69 20 22 2d 6f 22 20 69 6e 66 6f 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 exi."-o".info)))))...........(wi
eee0 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 45 72 72 6f 72 3a 20 25 53 22 0a 20 20 th-demoted-errors."Error:.%S"...
ef00 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f ..........(let.((default-directo
ef20 72 79 20 74 61 72 67 65 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 ry.target-dir))...............(p
ef40 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 ackage-build--call-process......
ef60 20 20 20 20 20 20 20 20 20 20 72 63 70 20 22 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 22 20 22 2d 2d ..........rcp."install-info"."--
ef80 64 69 72 3d 64 69 72 22 20 69 6e 66 6f 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 50 61 74 63 68 dir=dir".info))))))))..;;;.Patch
efa0 20 4c 69 62 72 61 72 69 65 73 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 .Libraries..(defun.package-build
efc0 2d 2d 75 70 64 61 74 65 2d 6f 72 2d 69 6e 73 65 72 74 2d 68 65 61 64 65 72 20 28 6e 61 6d 65 20 --update-or-insert-header.(name.
efe0 76 61 6c 75 65 29 0a 20 20 22 45 6e 73 75 72 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 value)..."Ensure.current.buffer.
f000 68 61 73 20 4e 41 4d 45 20 68 65 61 64 65 72 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 56 has.NAME.header.with.the.given.V
f020 41 4c 55 45 2e 0a 41 6e 79 20 65 78 69 73 74 69 6e 67 20 68 65 61 64 65 72 20 77 69 6c 6c 20 62 ALUE..Any.existing.header.will.b
f040 65 20 70 72 65 73 65 72 76 65 64 20 61 6e 64 20 67 69 76 65 6e 20 74 68 65 20 5c 22 58 2d 4f 72 e.preserved.and.given.the.\"X-Or
f060 69 67 69 6e 61 6c 2d 5c 22 20 70 72 65 66 69 78 2e 0a 49 66 20 56 41 4c 55 45 20 69 73 20 6e 69 iginal-\".prefix..If.VALUE.is.ni
f080 6c 2c 20 74 68 65 20 6e 65 77 20 68 65 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e l,.the.new.header.will.not.be.in
f0a0 73 65 72 74 65 64 2c 20 62 75 74 20 61 6e 79 20 6f 72 69 67 69 6e 61 6c 20 77 69 6c 6c 0a 73 74 serted,.but.any.original.will.st
f0c0 69 6c 6c 20 62 65 20 72 65 6e 61 6d 65 64 2e 22 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 ill.be.renamed."...(goto-char.(p
f0e0 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6c 65 74 20 28 28 63 61 oint-min))...(cond....((let.((ca
f100 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 74 29 29 0a 20 20 20 20 20 20 28 72 65 2d 73 65 61 se-fold-search.t)).......(re-sea
f120 72 63 68 2d 66 6f 72 77 61 72 64 20 28 66 6f 72 6d 61 74 20 22 5e 3b 2b 2a 20 2a 25 73 20 2a 3a rch-forward.(format."^;+*.*%s.*:
f140 20 2a 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 6e 61 6d 65 29 29 20 6e 69 6c 20 74 29 29 .*".(regexp-quote.name)).nil.t))
f160 0a 20 20 20 20 28 6d 6f 76 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 6e 69 6c .....(move-beginning-of-line.nil
f180 29 0a 20 20 20 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 56 22 20 6e 69 6c 20 74 29 ).....(search-forward."V".nil.t)
f1a0 0a 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 29 0a 20 20 20 20 28 69 6e 73 65 72 74 .....(backward-char).....(insert
f1c0 20 22 58 2d 4f 72 69 67 69 6e 61 6c 2d 22 29 0a 20 20 20 20 28 6d 6f 76 65 2d 62 65 67 69 6e 6e ."X-Original-").....(move-beginn
f1e0 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 6e 69 6c 29 29 0a 20 20 20 28 74 0a 20 20 20 20 3b 3b 20 50 ing-of-line.nil))....(t.....;;.P
f200 75 74 20 74 68 65 20 6e 65 77 20 68 65 61 64 65 72 20 69 6e 20 61 20 73 65 6e 73 69 62 6c 65 20 ut.the.new.header.in.a.sensible.
f220 70 6c 61 63 65 20 69 66 20 77 65 20 63 61 6e 2e 0a 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d place.if.we.can......(re-search-
f240 66 6f 72 77 61 72 64 0a 20 20 20 20 20 22 5e 3b 2b 2a 20 2a 5c 5c 28 56 65 72 73 69 6f 6e 5c 5c forward......"^;+*.*\\(Version\\
f260 7c 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 5c 5c 7c 4b 65 79 77 6f 72 64 73 5c 5c 7c 55 |Package-Requires\\|Keywords\\|U
f280 52 4c 5c 5c 29 20 2a 3a 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 RL\\).*:".nil.t).....(forward-li
f2a0 6e 65 29 29 29 0a 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3b 3b 20 25 73 3a 20 ne)))...(insert.(format.";;.%s:.
f2c0 25 73 5c 6e 22 20 6e 61 6d 65 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b %s\n".name.value)))..(defun.pack
f2e0 61 67 65 2d 62 75 69 6c 64 2d 2d 65 6e 73 75 72 65 2d 65 6e 64 73 2d 68 65 72 65 2d 6c 69 6e 65 age-build--ensure-ends-here-line
f300 20 28 66 69 6c 65 29 0a 20 20 22 41 64 64 20 74 68 65 20 5c 22 46 49 4c 45 20 65 6e 64 73 20 68 .(file)..."Add.the.\"FILE.ends.h
f320 65 72 65 5c 22 20 74 72 61 69 6c 69 6e 67 20 6c 69 6e 65 20 69 66 20 69 74 20 69 73 20 6d 69 73 ere\".trailing.line.if.it.is.mis
f340 73 69 6e 67 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f sing."...(save-excursion.....(go
f360 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 to-char.(point-min)).....(let.((
f380 74 72 61 69 6c 65 72 20 28 66 6f 72 6d 61 74 20 22 3b 3b 3b 20 25 73 20 65 6e 64 73 20 68 65 72 trailer.(format.";;;.%s.ends.her
f3a0 65 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 e".(file-name-nondirectory.file)
f3c0 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 ))).......(unless.(re-search-for
f3e0 77 61 72 64 20 28 66 6f 72 6d 61 74 20 22 5e 25 73 22 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 ward.(format."^%s".(regexp-quote
f400 20 74 72 61 69 6c 65 72 29 29 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d .trailer)).nil.t).........(goto-
f420 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 char.(point-max)).........(inser
f440 74 20 3f 5c 6e 20 74 72 61 69 6c 65 72 20 3f 5c 6e 29 29 29 29 29 0a 0a 3b 3b 3b 20 50 61 63 6b t.?\n.trailer.?\n)))))..;;;.Pack
f460 61 67 65 20 53 74 72 75 63 74 73 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c age.Structs..(defun.package-buil
f480 64 2d 2d 64 65 73 63 2d 66 72 6f 6d 2d 6c 69 62 72 61 72 79 20 28 72 63 70 20 66 69 6c 65 73 20 d--desc-from-library.(rcp.files.
f4a0 26 6f 70 74 69 6f 6e 61 6c 20 6b 69 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 61 &optional.kind)..."Return.the.pa
f4c0 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 52 43 50 2e 0a 0a 54 68 69 73 ckage.description.for.RCP...This
f4e0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 70 61 63 6b 61 67 .function.is.used.for.all.packag
f500 65 73 20 74 68 61 74 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 20 73 69 6e 67 6c 65 0a 66 69 6c 65 es.that.consist.of.a.single.file
f520 20 61 6e 64 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 63 6f 6e 73 69 73 74 .and.those.packages.that.consist
f540 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 20 62 75 74 20 6c 61 63 6b 0a 61 20 66 69 .of.multiple.files.but.lack.a.fi
f560 6c 65 20 6e 61 6d 65 64 20 5c 22 4e 41 4d 45 2d 70 6b 67 2e 65 6c 5c 22 20 6f 72 20 5c 22 4e 41 le.named.\"NAME-pkg.el\".or.\"NA
f580 4d 45 2d 70 6b 67 2e 65 6c 5c 22 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 ME-pkg.el\"...The.returned.value
f5a0 20 69 73 20 61 20 60 70 61 63 6b 61 67 65 2d 64 65 73 63 27 20 73 74 72 75 63 74 20 28 77 68 69 .is.a.`package-desc'.struct.(whi
f5c0 63 68 20 73 65 65 29 2e 0a 54 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 60 6e 61 6d 65 ch.see)..The.values.of.the.`name
f5e0 27 20 61 6e 64 20 60 76 65 72 73 69 6f 6e 27 20 73 6c 6f 74 73 20 61 72 65 20 74 61 6b 65 6e 20 '.and.`version'.slots.are.taken.
f600 66 72 6f 6d 20 52 43 50 0a 69 74 73 65 6c 66 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 60 from.RCP.itself...The.value.of.`
f620 6b 69 6e 64 27 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 20 4b 49 4e 44 20 61 72 67 kind'.is.taken.from.the.KIND.arg
f640 75 6d 65 6e 74 2c 0a 77 68 69 63 68 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 73 69 6e 67 6c 65 ument,.which.defaults.to.`single
f660 27 3b 20 74 68 65 20 6f 74 68 65 72 20 76 61 6c 69 64 20 76 61 6c 75 65 20 62 65 69 6e 67 20 60 ';.the.other.valid.value.being.`
f680 74 61 72 27 2e 0a 0a 4f 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 74 61 6b 65 tar'...Other.information.is.take
f6a0 6e 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 5c 22 4e 41 4d 45 2d 70 6b 67 n.from.the.file.named.\"NAME-pkg
f6c0 2e 65 6c 5c 22 2c 0a 77 68 69 63 68 20 73 68 6f 75 6c 64 20 61 70 70 65 61 72 20 69 6e 20 46 49 .el\",.which.should.appear.in.FI
f6e0 4c 45 53 2e 20 20 41 73 20 61 20 66 61 6c 6c 62 61 63 6b 2c 20 5c 22 4e 41 4d 45 2d 70 6b 67 2e LES...As.a.fallback,.\"NAME-pkg.
f700 65 6c 2e 69 6e 5c 22 0a 69 73 20 61 6c 73 6f 20 74 72 69 65 64 2e 20 20 49 66 20 6e 65 69 74 68 el.in\".is.also.tried...If.neith
f720 65 72 20 66 69 6c 65 20 65 78 69 73 74 73 2c 20 74 68 65 6e 20 72 65 74 75 72 6e 20 6e 69 6c 2e er.file.exists,.then.return.nil.
f740 20 20 49 66 20 61 0a 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 69 6e ..If.a.value.is.not.specified.in
f760 20 74 68 65 20 75 73 65 64 20 66 69 6c 65 2c 20 74 68 65 6e 20 66 61 6c 6c 20 62 61 63 6b 20 74 .the.used.file,.then.fall.back.t
f780 6f 20 74 68 65 0a 76 61 6c 75 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 69 6c o.the.value.specified.in.the.fil
f7a0 65 20 5c 22 4e 41 4d 45 2e 65 6c 5c 22 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 e.\"NAME.el\"."...(let*.((name.(
f7c0 6f 72 65 66 20 72 63 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f oref.rcp.name))..........(versio
f7e0 6e 20 28 6f 72 65 66 20 72 63 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 n.(oref.rcp.version))..........(
f800 63 6f 6d 6d 69 74 20 28 6f 72 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 29 29 0a 20 20 20 20 20 20 commit.(oref.rcp.commit)).......
f820 20 20 20 28 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2e 65 6c 22 29 29 0a 20 20 ...(file.(concat.name.".el"))...
f840 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6f 72 20 28 63 61 72 20 28 72 61 73 73 6f 63 20 66 69 .......(file.(or.(car.(rassoc.fi
f860 6c 65 20 66 69 6c 65 73 29 29 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 69 6e le.files)).file))..........(main
f880 74 61 69 6e 65 72 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 tainers.nil)).....(and.(file-exi
f8a0 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d sts-p.file)..........(with-temp-
f8c0 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 buffer............(insert-file-c
f8e0 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d ontents.file)............(setq.m
f900 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 aintainers..................(if.
f920 28 66 62 6f 75 6e 64 70 20 27 6c 6d 2d 6d 61 69 6e 74 61 69 6e 65 72 73 29 0a 20 20 20 20 20 20 (fboundp.'lm-maintainers).......
f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6d 2d 6d 61 69 6e 74 61 69 6e 65 72 73 29 0a ...............(lm-maintainers).
f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e ...................(with-no-warn
f980 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 2d 6c ings......................(and-l
f9a0 65 74 2a 20 28 28 6d 61 69 6e 74 61 69 6e 65 72 20 28 6c 6d 2d 6d 61 69 6e 74 61 69 6e 65 72 29 et*.((maintainer.(lm-maintainer)
f9c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 ))........................(list.
f9e0 6d 61 69 6e 74 61 69 6e 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b maintainer)))))............(pack
fa00 61 67 65 2d 64 65 73 63 2d 66 72 6f 6d 2d 64 65 66 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 age-desc-from-define............
fa20 20 6e 61 6d 65 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 .name.version.............(or.(s
fa40 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ave-excursion...................
fa60 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 (goto-char.(point-min)).........
fa80 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 ..........(and.(re-search-forwar
faa0 64 20 22 5c 0a 5e 3b 3b 3b 20 5b 5e 20 5d 2a 5c 5c 2e 65 6c 20 2d 2d 2d 5b 20 5c 74 5d 2a 5c 5c d."\.^;;;.[^.]*\\.el.---[.\t]*\\
fac0 28 2e 2a 3f 5c 5c 29 5b 20 5c 74 5d 2a 5c 5c 28 2d 5c 5c 2a 2d 2e 2a 2d 5c 5c 2a 2d 5b 20 5c 74 (.*?\\)[.\t]*\\(-\\*-.*-\\*-[.\t
fae0 5d 2a 5c 5c 29 3f 24 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ]*\\)?$".nil.t).................
fb00 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 .......(match-string-no-properti
fb20 65 73 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4e 6f 20 64 65 73 63 es.1)))................."No.desc
fb40 72 69 70 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ription.available.")............
fb60 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 62 6f 75 6e 64 70 20 27 6c .(cond..............((fboundp.'l
fb80 6d 2d 70 61 63 6b 61 67 65 2d 72 65 71 75 69 72 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 m-package-requires).............
fba0 20 20 28 6c 6d 2d 70 61 63 6b 61 67 65 2d 72 65 71 75 69 72 65 73 29 29 0a 20 20 20 20 20 20 20 ..(lm-package-requires))........
fbc0 20 20 20 20 20 20 28 28 66 62 6f 75 6e 64 70 20 27 70 61 63 6b 61 67 65 2d 2d 70 72 65 70 61 72 ......((fboundp.'package--prepar
fbe0 65 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 e-dependencies)...............(a
fc00 6e 64 2d 6c 65 74 2a 20 28 28 72 65 71 75 69 72 65 2d 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 nd-let*.((require-lines.........
fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6d 2d 68 65 61 64 65 72 2d 6d 75 6c ..................(lm-header-mul
fc40 74 69 6c 69 6e 65 20 22 70 61 63 6b 61 67 65 2d 72 65 71 75 69 72 65 73 22 29 29 29 0a 20 20 20 tiline."package-requires")))....
fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 2d 70 72 65 70 61 72 65 2d 64 .............(package--prepare-d
fc80 65 70 65 6e 64 65 6e 63 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 ependencies..................(pa
fca0 63 6b 61 67 65 2d 72 65 61 64 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 ckage-read-from-string..........
fcc0 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 72 .........(mapconcat.#'identity.r
fce0 65 71 75 69 72 65 2d 6c 69 6e 65 73 20 22 20 22 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 equire-lines."."))))))..........
fd00 20 20 20 3b 3b 20 60 3a 6b 69 6e 64 27 20 61 6e 64 20 60 3a 61 72 63 68 69 76 65 27 20 61 72 65 ...;;.`:kind'.and.`:archive'.are
fd20 20 68 61 6e 64 6c 65 64 20 73 65 70 61 72 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 .handled.separately.............
fd40 20 3a 6b 69 6e 64 20 20 20 20 20 20 20 28 6f 72 20 6b 69 6e 64 20 27 73 69 6e 67 6c 65 29 0a 20 .:kind.......(or.kind.'single)..
fd60 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6f 74 68 65 72 20 6b 65 79 77 6f 72 64 20 ...........;;.The.other.keyword.
fd80 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 61 6c arguments.are.appended.to.the.al
fda0 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 ist.............;;.stored.in.the
fdc0 20 60 65 78 74 72 61 73 27 20 73 6c 6f 74 2e 20 20 4d 61 6b 65 20 73 75 72 65 20 60 3a 63 6f 6d .`extras'.slot...Make.sure.`:com
fde0 6d 69 74 27 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 77 61 79 mit',.which.............;;.alway
fe00 73 20 65 78 69 73 74 73 20 61 6e 64 20 6e 65 76 65 72 20 68 61 73 20 74 6f 20 62 65 20 72 65 6d s.exists.and.never.has.to.be.rem
fe20 6f 76 65 64 2c 20 63 6f 6d 65 73 20 66 69 72 73 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 oved,.comes.first.in............
fe40 20 3b 3b 20 74 68 65 20 65 6e 64 20 72 65 73 75 6c 74 2c 20 73 6f 20 77 65 20 63 61 6e 20 70 6f .;;.the.end.result,.so.we.can.po
fe60 73 74 2d 70 72 6f 63 65 73 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 64 61 74 61 0a 20 20 20 st-process.the.returned.data....
fe80 20 20 20 20 20 20 20 20 20 3b 3b 20 62 79 20 73 69 64 65 2d 65 66 66 65 63 74 2c 20 65 2e 67 2e .........;;.by.side-effect,.e.g.
fea0 2c 20 74 6f 20 72 65 6d 6f 76 65 20 73 6f 6d 65 77 68 61 74 20 62 72 6f 6b 65 6e 20 6d 61 69 6e ,.to.remove.somewhat.broken.main
fec0 74 61 69 6e 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 66 6f 72 6d 61 74 69 6f tainer.............;;.informatio
fee0 6e 2c 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 65 61 73 69 6c 79 20 62 65 20 65 6e 63 6f 64 65 64 n,.that.cannot.easily.be.encoded
ff00 20 61 73 20 6a 73 6f 6e 20 28 73 65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 70 61 .as.json.(see.............;;.`pa
ff20 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 2d 66 6f 72 2d 6a ckage-build--archive-alist-for-j
ff40 73 6f 6e 27 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 75 72 6c 20 20 20 20 20 20 20 20 28 son')..............:url........(
ff60 6c 6d 2d 68 6f 6d 65 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 77 6f 72 lm-homepage).............:keywor
ff80 64 73 20 20 20 28 6c 6d 2d 6b 65 79 77 6f 72 64 73 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 ds...(lm-keywords-list).........
ffa0 20 20 20 20 3b 3b 20 4e 65 77 65 72 20 60 70 61 63 6b 61 67 65 2e 65 6c 27 20 76 65 72 73 69 6f ....;;.Newer.`package.el'.versio
ffc0 6e 73 20 73 75 70 70 6f 72 74 20 62 6f 74 68 20 60 3a 6d 61 69 6e 74 61 69 6e 65 72 73 27 20 61 ns.support.both.`:maintainers'.a
ffe0 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 3a 6d 61 69 6e 74 61 69 6e 65 72 27 2c nd.............;;.`:maintainer',
10000 20 77 68 69 6c 65 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 6e 6c 79 20 73 75 70 70 6f .while.older.versions.only.suppo
10020 72 74 20 74 68 65 20 6c 61 74 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 69 6e rt.the.latter..............:main
10040 74 61 69 6e 65 72 20 20 28 63 61 72 20 6d 61 69 6e 74 61 69 6e 65 72 73 29 0a 20 20 20 20 20 20 tainer..(car.maintainers).......
10060 20 20 20 20 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 ......:maintainers.maintainers..
10080 20 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 73 20 20 20 20 20 28 6c 6d 2d 61 75 74 68 ...........:authors.....(lm-auth
100a0 6f 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 6d 69 74 20 20 20 20 20 20 63 6f ors).............:commit......co
100c0 6d 6d 69 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d mmit)))))..(defun.package-build-
100e0 2d 64 65 73 63 2d 66 72 6f 6d 2d 70 61 63 6b 61 67 65 20 28 72 63 70 20 66 69 6c 65 73 29 0a 20 -desc-from-package.(rcp.files)..
10100 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ."Return.the.package.description
10120 20 66 6f 72 20 52 43 50 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 .for.RCP...This.function.is.used
10140 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 63 6f 6e 73 69 73 74 20 6f 66 20 6d 75 .for.packages.that.consist.of.mu
10160 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 ltiple.files...The.returned.valu
10180 65 20 69 73 20 61 20 60 70 61 63 6b 61 67 65 2d 64 65 73 63 27 20 73 74 72 75 63 74 20 28 77 68 e.is.a.`package-desc'.struct.(wh
101a0 69 63 68 20 73 65 65 29 2e 0a 54 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 60 6e 61 6d ich.see)..The.values.of.the.`nam
101c0 65 27 20 61 6e 64 20 60 76 65 72 73 69 6f 6e 27 20 73 6c 6f 74 73 20 61 72 65 20 74 61 6b 65 6e e'.and.`version'.slots.are.taken
101e0 20 66 72 6f 6d 20 52 43 50 0a 69 74 73 65 6c 66 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 .from.RCP.itself...The.value.of.
10200 60 6b 69 6e 64 27 20 69 73 20 61 6c 77 61 79 73 20 60 74 61 72 27 2e 0a 0a 4f 74 68 65 72 20 69 `kind'.is.always.`tar'...Other.i
10220 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 20 66 69 6c nformation.is.taken.from.the.fil
10240 65 20 6e 61 6d 65 64 20 5c 22 4e 41 4d 45 2e 65 6c 5c 22 2c 0a 77 68 69 63 68 20 73 68 6f 75 6c e.named.\"NAME.el\",.which.shoul
10260 64 20 61 70 70 65 61 72 20 69 6e 20 46 49 4c 45 53 2e 20 20 41 73 20 61 20 66 61 6c 6c 62 61 63 d.appear.in.FILES...As.a.fallbac
10280 6b 2c 20 5c 22 4e 41 4d 45 2e 65 6c 2e 69 6e 5c 22 0a 69 73 20 61 6c 73 6f 20 74 72 69 65 64 2e k,.\"NAME.el.in\".is.also.tried.
102a0 20 20 49 66 20 6e 65 69 74 68 65 72 20 66 69 6c 65 20 65 78 69 73 74 73 2c 20 74 68 65 6e 20 72 ..If.neither.file.exists,.then.r
102c0 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 6f 72 65 66 eturn.nil."...(let*.((name.(oref
102e0 20 72 63 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 6f .rcp.name))..........(version.(o
10300 72 65 66 20 72 63 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d ref.rcp.version))..........(comm
10320 69 74 20 28 6f 72 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 it.(oref.rcp.commit))..........(
10340 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2d 70 6b 67 2e 65 6c 22 29 29 0a 20 20 file.(concat.name."-pkg.el"))...
10360 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6f 72 20 28 63 61 72 20 28 72 61 73 73 6f 63 20 66 69 .......(file.(or.(car.(rassoc.fi
10380 6c 65 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 le.files))....................fi
103a0 6c 65 29 29 29 0a 20 20 20 20 28 61 6e 64 20 28 6f 72 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d le))).....(and.(or.(file-exists-
103c0 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 p.file)..............(file-exist
103e0 73 2d 70 20 28 73 65 74 71 20 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 66 69 6c 65 20 22 2e 69 6e s-p.(setq.file.(concat.file.".in
10400 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 20 28 77 69 74 68 "))))..........(let.((form.(with
10420 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -temp-buffer....................
10440 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a ....(insert-file-contents.file).
10460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 .......................(read.(cu
10480 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e rrent-buffer)))))............(un
104a0 6c 65 73 73 20 28 65 71 20 28 63 61 72 20 66 6f 72 6d 29 20 27 64 65 66 69 6e 65 2d 70 61 63 6b less.(eq.(car.form).'define-pack
104c0 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 age)..............(package-build
104e0 2d 2d 65 72 72 6f 72 20 6e 61 6d 65 20 22 4e 6f 20 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 --error.name."No.define-package.
10500 66 6f 75 6e 64 20 69 6e 20 25 73 22 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 found.in.%s".file))............(
10520 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 60 28 2c 5f pcase-let*................((`(,_
10540 20 2c 5f 20 2c 5f 20 2c 73 75 6d 6d 61 72 79 20 2c 64 65 70 73 20 2e 20 2c 65 78 74 72 61 29 20 .,_.,_.,summary.,deps...,extra).
10560 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 70 73 20 28 65 76 61 form).................(deps.(eva
10580 6c 20 64 65 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 74 2d 64 65 l.deps)).................(alt-de
105a0 73 63 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 64 65 73 63 2d 66 72 6f 6d 2d 6c 69 62 sc.(package-build--desc-from-lib
105c0 72 61 72 79 20 72 63 70 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rary.rcp.files))................
105e0 20 28 61 6c 74 20 28 61 6e 64 20 61 6c 74 2d 64 65 73 63 20 28 70 61 63 6b 61 67 65 2d 64 65 73 .(alt.(and.alt-desc.(package-des
10600 63 2d 65 78 74 72 61 73 20 61 6c 74 2d 64 65 73 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 c-extras.alt-desc))))...........
10620 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5c 72 5c 6e 5d 22 20 ...(when.(string-match."[\r\n]".
10640 73 75 6d 6d 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 summary)................(package
10660 2d 62 75 69 6c 64 2d 2d 65 72 72 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -build--error.name..............
10680 20 20 20 20 22 49 6c 6c 65 67 61 6c 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 70 61 63 6b 61 67 65 20 ...."Illegal.multi-line.package.
106a0 64 65 73 63 72 69 70 74 69 6f 6e 20 69 6e 20 25 73 22 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 description.in.%s".file)).......
106c0 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 66 72 6f 6d 2d 64 65 66 69 6e 65 .......(package-desc-from-define
106e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 ...............name.version.....
10700 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 73 75 ..........(if.(string-empty-p.su
10720 6d 6d 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6e mmary)...................(or.(an
10740 64 20 61 6c 74 2d 64 65 73 63 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 73 75 6d 6d 61 72 79 d.alt-desc.(package-desc-summary
10760 20 61 6c 74 2d 64 65 73 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .alt-desc)).....................
10780 20 20 22 4e 6f 20 64 65 73 63 72 69 70 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 2e 22 29 0a 20 .."No.description.available.")..
107a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6d 6d 61 72 79 29 0a 20 20 20 20 20 20 20 20 ...............summary).........
107c0 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 70 63 61 73 65 2d 6c 61 6d 62 64 61 20 28 60 28 2c ......(mapcar.(pcase-lambda.(`(,
107e0 70 6b 67 20 2c 76 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pkg.,ver))......................
10800 20 20 20 28 75 6e 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 70 6b 67 29 0a 20 20 20 20 20 20 20 ...(unless.(symbolp.pkg)........
10820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c ...................(package-buil
10840 64 2d 2d 65 72 72 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d--error.name...................
10860 20 20 20 20 20 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 .........."Invalid.package.name.
10880 69 6e 20 64 65 70 65 6e 64 65 6e 63 79 3a 20 25 53 22 20 70 6b 67 29 29 0a 20 20 20 20 20 20 20 in.dependency:.%S".pkg))........
108a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 6b 67 20 76 65 72 29 29 .................(list.pkg.ver))
108c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 70 73 29 0a 20 20 20 .......................deps)....
108e0 20 20 20 20 20 20 20 20 20 20 20 3a 6b 69 6e 64 20 20 20 20 20 20 20 27 74 61 72 0a 20 20 20 20 ...........:kind.......'tar.....
10900 20 20 20 20 20 20 20 20 20 20 3a 75 72 6c 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6c 69 73 74 ..........:url........(or.(alist
10920 2d 67 65 74 20 3a 75 72 6c 20 65 78 74 72 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -get.:url.extra)................
10940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 68 6f 6d 65 70 ...............(alist-get.:homep
10960 61 67 65 20 65 78 74 72 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 age.extra)......................
10980 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 75 72 6c 20 61 6c 74 29 29 0a 20 .........(alist-get.:url.alt))..
109a0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 77 6f 72 64 73 20 20 20 28 6f 72 20 28 61 6c .............:keywords...(or.(al
109c0 69 73 74 2d 67 65 74 20 3a 6b 65 79 77 6f 72 64 73 20 65 78 74 72 61 29 0a 20 20 20 20 20 20 20 ist-get.:keywords.extra)........
109e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 .......................(alist-ge
10a00 74 20 3a 6b 65 79 77 6f 72 64 73 20 61 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.:keywords.alt))...............
10a20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 6d 61 69 6e :maintainer.(or.(alist-get.:main
10a40 74 61 69 6e 65 72 20 65 78 74 72 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tainer.extra)...................
10a60 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 6d 61 69 6e 74 61 69 6e ............(alist-get.:maintain
10a80 65 72 20 61 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 73 20 er.alt))...............:authors.
10aa0 20 20 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 3a 61 75 74 68 6f 72 73 20 65 78 74 72 61 ...(or.(alist-get.:authors.extra
10ac0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
10ae0 28 61 6c 69 73 74 2d 67 65 74 20 3a 61 75 74 68 6f 72 73 20 61 6c 74 29 29 0a 20 20 20 20 20 20 (alist-get.:authors.alt)).......
10b00 20 20 20 20 20 20 20 20 3a 63 6f 6d 6d 69 74 20 20 20 20 20 63 6f 6d 6d 69 74 29 29 29 29 29 29 ........:commit.....commit))))))
10b20 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 61 72 ..(defun.package-build--write-ar
10b40 63 68 69 76 65 2d 65 6e 74 72 79 20 28 64 65 73 63 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d chive-entry.(desc)...(with-temp-
10b60 66 69 6c 65 0a 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f file.......(expand-file-name.(co
10b80 6e 63 61 74 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 66 75 6c 6c 2d 6e 61 6d 65 20 64 65 73 ncat.(package-desc-full-name.des
10ba0 63 29 20 22 2e 65 6e 74 72 79 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c).".entry")....................
10bc0 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 0a .....package-build-archive-dir).
10be0 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 ....(set-buffer-file-coding-syst
10c00 65 6d 20 27 75 74 66 2d 38 29 0a 20 20 20 20 28 70 70 20 28 63 6f 6e 73 20 28 70 61 63 6b 61 67 em.'utf-8).....(pp.(cons.(packag
10c20 65 2d 64 65 73 63 2d 6e 61 6d 65 20 20 20 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 e-desc-name....desc)............
10c40 20 20 20 28 76 65 63 74 6f 72 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 76 65 72 73 69 6f 6e ...(vector.(package-desc-version
10c60 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 .desc).......................(pa
10c80 63 6b 61 67 65 2d 64 65 73 63 2d 72 65 71 73 20 20 20 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 ckage-desc-reqs....desc)........
10ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 73 75 6d ...............(package-desc-sum
10cc0 6d 61 72 79 20 64 65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mary.desc)......................
10ce0 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 2d 6b 69 6e 64 20 20 20 20 64 65 73 63 29 0a 20 20 20 .(package-desc-kind....desc)....
10d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 64 65 73 63 ...................(package-desc
10d20 2d 65 78 74 72 61 73 20 20 64 65 73 63 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e -extras..desc))).........(curren
10d40 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b 3b 20 46 69 6c 65 73 20 53 70 65 63 0a 0a 28 64 t-buffer))))..;;;.Files.Spec..(d
10d60 65 66 63 6f 6e 73 74 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 65 66 61 75 6c 74 2d 66 69 efconst.package-build-default-fi
10d80 6c 65 73 2d 73 70 65 63 0a 20 20 27 28 22 2a 2e 65 6c 22 20 22 6c 69 73 70 2f 2a 2e 65 6c 22 0a les-spec...'("*.el"."lisp/*.el".
10da0 20 20 20 20 22 64 69 72 22 20 22 2a 2e 69 6e 66 6f 22 20 22 2a 2e 74 65 78 69 22 20 22 2a 2e 74 ...."dir"."*.info"."*.texi"."*.t
10dc0 65 78 69 6e 66 6f 22 0a 20 20 20 20 22 64 6f 63 2f 64 69 72 22 20 22 64 6f 63 2f 2a 2e 69 6e 66 exinfo"....."doc/dir"."doc/*.inf
10de0 6f 22 20 22 64 6f 63 2f 2a 2e 74 65 78 69 22 20 22 64 6f 63 2f 2a 2e 74 65 78 69 6e 66 6f 22 0a o"."doc/*.texi"."doc/*.texinfo".
10e00 20 20 20 20 22 64 6f 63 73 2f 64 69 72 22 20 22 64 6f 63 73 2f 2a 2e 69 6e 66 6f 22 20 22 64 6f ...."docs/dir"."docs/*.info"."do
10e20 63 73 2f 2a 2e 74 65 78 69 22 20 22 64 6f 63 73 2f 2a 2e 74 65 78 69 6e 66 6f 22 0a 20 20 20 20 cs/*.texi"."docs/*.texinfo".....
10e40 28 3a 65 78 63 6c 75 64 65 0a 20 20 20 20 20 22 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 22 20 (:exclude......".dir-locals.el".
10e60 22 6c 69 73 70 2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 22 0a 20 20 20 20 20 22 74 65 73 74 "lisp/.dir-locals.el"......"test
10e80 2e 65 6c 22 20 22 74 65 73 74 73 2e 65 6c 22 20 22 2a 2d 74 65 73 74 2e 65 6c 22 20 22 2a 2d 74 .el"."tests.el"."*-test.el"."*-t
10ea0 65 73 74 73 2e 65 6c 22 0a 20 20 20 20 20 22 6c 69 73 70 2f 74 65 73 74 2e 65 6c 22 20 22 6c 69 ests.el"......"lisp/test.el"."li
10ec0 73 70 2f 74 65 73 74 73 2e 65 6c 22 20 22 6c 69 73 70 2f 2a 2d 74 65 73 74 2e 65 6c 22 20 22 6c sp/tests.el"."lisp/*-test.el"."l
10ee0 69 73 70 2f 2a 2d 74 65 73 74 73 2e 65 6c 22 29 29 0a 20 20 22 44 65 66 61 75 6c 74 20 76 61 6c isp/*-tests.el"))..."Default.val
10f00 75 65 20 66 6f 72 20 3a 66 69 6c 65 73 20 61 74 74 72 69 62 75 74 65 20 69 6e 20 72 65 63 69 70 ue.for.:files.attribute.in.recip
10f20 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 65 78 70 61 es.")..(defun.package-build-expa
10f40 6e 64 2d 66 69 6c 65 73 2d 73 70 65 63 20 28 72 63 70 20 26 6f 70 74 69 6f 6e 61 6c 20 61 73 73 nd-files-spec.(rcp.&optional.ass
10f60 65 72 74 20 72 65 70 6f 20 73 70 65 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 ert.repo.spec)..."Return.an.alis
10f80 74 20 6f 66 20 66 69 6c 65 73 20 6f 66 20 70 61 63 6b 61 67 65 20 52 43 50 20 74 6f 20 62 65 20 t.of.files.of.package.RCP.to.be.
10fa0 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 61 72 62 61 6c 6c 2e 0a 0a 45 61 63 68 20 65 6c 65 6d 65 included.in.tarball...Each.eleme
10fc0 6e 74 20 68 61 73 20 74 68 65 20 66 6f 72 6d 20 28 53 4f 55 52 43 45 20 2e 20 44 45 53 54 49 4e nt.has.the.form.(SOURCE...DESTIN
10fe0 41 54 49 4f 4e 29 2c 20 77 68 65 72 65 20 53 4f 55 52 43 45 0a 69 73 20 61 20 66 69 6c 65 20 69 ATION),.where.SOURCE.is.a.file.i
11000 6e 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 44 n.the.package's.repository.and.D
11020 45 53 54 49 4e 41 54 49 4f 4e 20 69 73 20 77 68 65 72 65 0a 74 68 61 74 20 66 69 6c 65 20 69 73 ESTINATION.is.where.that.file.is
11040 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 74 61 72 62 61 6c 6c .placed.in.the.package's.tarball
11060 2e 0a 0a 52 43 50 20 69 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 72 65 63 69 70 65 20 61 73 20 ...RCP.is.the.package.recipe.as.
11080 61 6e 20 6f 62 6a 65 63 74 2e 20 20 49 66 20 74 68 65 20 60 66 69 6c 65 73 27 20 73 6c 6f 74 20 an.object...If.the.`files'.slot.
110a0 6f 66 0a 52 43 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 74 68 61 74 20 69 73 20 of.RCP.is.non-nil,.then.that.is.
110c0 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6c 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 0a used.as.the.file.specification..
110e0 4f 74 68 65 72 77 69 73 65 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 65 66 61 75 6c 74 Otherwise.`package-build-default
11100 2d 66 69 6c 65 73 2d 73 70 65 63 27 20 69 73 20 75 73 65 64 2e 0a 0a 49 66 20 6f 70 74 69 6f 6e -files-spec'.is.used...If.option
11120 61 6c 20 41 53 53 45 52 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 72 61 69 73 65 al.ASSERT.is.non-nil,.then.raise
11140 20 61 6e 20 65 72 72 6f 72 20 69 66 20 6e 69 6c 20 77 6f 75 6c 64 0a 62 65 20 72 65 74 75 72 6e .an.error.if.nil.would.be.return
11160 65 64 2e 20 20 49 66 20 41 53 53 45 52 54 20 61 6e 64 20 60 66 69 6c 65 73 27 20 61 72 65 20 62 ed...If.ASSERT.and.`files'.are.b
11180 6f 74 68 20 6e 6f 6e 2d 6e 69 6c 20 61 6e 64 20 75 73 69 6e 67 0a 60 66 69 6c 65 73 27 20 72 65 oth.non-nil.and.using.`files'.re
111a0 73 75 6c 74 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 74 20 6f 66 20 66 69 6c 65 73 20 61 sults.in.the.same.set.of.files.a
111c0 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 70 65 63 2c 0a 74 68 65 6e 20 73 68 6f 77 20 61 20 s.the.default.spec,.then.show.a.
111e0 77 61 72 6e 69 6e 67 2e 0a 0a 41 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 warning...A.files.specification.
11200 69 73 20 61 20 6c 69 73 74 2e 20 20 49 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 70 72 6f is.a.list...Its.elements.are.pro
11220 63 65 73 73 65 64 20 69 6e 0a 6f 72 64 65 72 20 61 6e 64 20 63 61 6e 20 68 61 76 65 20 74 68 65 cessed.in.order.and.can.have.the
11240 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 3a 0a 0a 2d 20 3a 64 65 66 61 75 6c 74 73 0a 0a 20 .following.form:..-.:defaults...
11260 20 49 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 60 3a 64 65 66 61 75 .If.the.first.element.is.`:defau
11280 6c 74 73 27 2c 20 74 68 65 6e 20 74 68 61 74 20 6d 65 61 6e 73 20 74 6f 20 70 72 65 70 65 6e 64 lts',.then.that.means.to.prepend
112a0 0a 20 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 6c 65 73 20 73 70 65 63 20 74 6f 20 74 68 65 ...the.default.files.spec.to.the
112c0 20 53 50 45 43 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 .SPEC.specified.by.the.remaining
112e0 0a 20 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 2d 20 47 4c 4f 42 0a 0a 20 20 41 20 73 74 72 69 6e 67 ...elements...-.GLOB....A.string
11300 20 69 73 20 67 6c 6f 62 2d 65 78 70 61 6e 64 65 64 20 74 6f 20 6d 61 74 63 68 20 7a 65 72 6f 20 .is.glob-expanded.to.match.zero.
11320 6f 72 20 6d 6f 72 65 20 66 69 6c 65 73 2e 20 20 4d 61 74 63 68 65 64 0a 20 20 66 69 6c 65 73 20 or.more.files...Matched...files.
11340 61 72 65 20 63 6f 70 69 65 64 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 are.copied.to.the.top-level.dire
11360 63 74 6f 72 79 2e 0a 0a 2d 20 28 53 55 42 44 49 52 45 43 54 4f 52 59 20 47 4c 4f 42 2e 2e 2e 29 ctory...-.(SUBDIRECTORY.GLOB...)
11380 0a 0a 20 20 41 20 6c 69 73 74 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 61 20 73 74 ....A.list.that.begins.with.a.st
113a0 72 69 6e 67 20 63 61 75 73 65 73 20 74 68 65 20 66 69 6c 65 73 20 6d 61 74 63 68 65 64 20 62 79 ring.causes.the.files.matched.by
113c0 0a 20 20 74 68 65 20 73 65 63 6f 6e 64 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 ...the.second.and.subsequent.ele
113e0 6d 65 6e 74 73 20 74 6f 20 62 65 20 63 6f 70 69 65 64 20 69 6e 74 6f 20 74 68 65 20 73 75 62 2d ments.to.be.copied.into.the.sub-
11400 0a 20 20 64 69 72 65 63 74 6f 72 79 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 66 69 ...directory.specified.by.the.fi
11420 72 73 74 20 65 6c 65 6d 65 6e 74 2e 0a 0a 2d 20 28 3a 65 78 63 6c 75 64 65 20 47 4c 4f 42 2e 2e rst.element...-.(:exclude.GLOB..
11440 2e 29 0a 0a 20 20 41 20 6c 69 73 74 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 60 3a .)....A.list.that.begins.with.`:
11460 65 78 63 6c 75 64 65 27 20 63 61 75 73 65 73 20 66 69 6c 65 73 20 74 68 61 74 20 77 65 72 65 0a exclude'.causes.files.that.were.
11480 20 20 6d 61 74 63 68 65 64 20 62 79 20 65 61 72 6c 69 65 72 20 65 6c 65 6d 65 6e 74 73 20 74 68 ..matched.by.earlier.elements.th
114a0 61 74 20 61 72 65 20 61 6c 73 6f 20 6d 61 74 63 68 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e at.are.also.matched.by.the.secon
114c0 64 0a 20 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 d...and.subsequent.elements.of.t
114e0 68 69 73 20 6c 69 73 74 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 0a his.list.to.be.removed.from.the.
11500 20 20 72 65 74 75 72 6e 65 64 20 61 6c 69 73 74 2e 20 20 46 69 6c 65 73 20 6d 61 74 63 68 65 64 ..returned.alist...Files.matched
11520 20 62 79 20 6c 61 74 65 72 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 6e 6f 74 0a 20 20 61 66 66 .by.later.elements.are.not...aff
11540 65 63 74 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f ected."...(let.((default-directo
11560 72 79 20 28 6f 72 20 72 65 70 6f 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 6f 72 6b ry.(or.repo.(package-build--work
11580 69 6e 67 2d 74 72 65 65 20 72 63 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 70 65 63 20 28 6f ing-tree.rcp))).........(spec.(o
115a0 72 20 73 70 65 63 20 28 6f 72 65 66 20 72 63 70 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 r.spec.(oref.rcp.files))).......
115c0 20 20 28 6e 61 6d 65 20 28 6f 72 65 66 20 72 63 70 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 ..(name.(oref.rcp.name))).....(w
115e0 68 65 6e 20 28 65 71 20 28 63 61 72 20 73 70 65 63 29 20 3a 64 65 66 61 75 6c 74 73 29 0a 20 20 hen.(eq.(car.spec).:defaults)...
11600 20 20 20 20 28 73 65 74 71 20 73 70 65 63 20 28 61 70 70 65 6e 64 20 70 61 63 6b 61 67 65 2d 62 ....(setq.spec.(append.package-b
11620 75 69 6c 64 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 73 2d 73 70 65 63 20 28 63 64 72 20 73 70 65 uild-default-files-spec.(cdr.spe
11640 63 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 70 61 63 6b 61 67 65 2d c)))).....(let.((files.(package-
11660 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 2d 66 69 6c 65 73 2d 73 70 65 63 2d 31 0a 20 20 20 20 20 build--expand-files-spec-1......
11680 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 73 70 65 63 20 70 61 63 6b 61 67 65 2d 62 75 .............(or.spec.package-bu
116a0 69 6c 64 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 73 2d 73 70 65 63 29 29 29 29 0a 20 20 20 20 20 ild-default-files-spec))))......
116c0 20 28 77 68 65 6e 20 61 73 73 65 72 74 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 .(when.assert.........(when.(and
116e0 20 72 63 70 20 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 .rcp.spec....................(eq
11700 75 61 6c 20 66 69 6c 65 73 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 ual.files.(package-build--expand
11720 2d 66 69 6c 65 73 2d 73 70 65 63 2d 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -files-spec-1...................
11740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 65 66 ...............package-build-def
11760 61 75 6c 74 2d 66 69 6c 65 73 2d 73 70 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 ault-files-spec)))...........(me
11780 73 73 61 67 65 20 22 57 61 72 6e 69 6e 67 3a 20 25 73 20 3a 66 69 6c 65 73 20 73 70 65 63 20 69 ssage."Warning:.%s.:files.spec.i
117a0 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 64 65 66 61 75 6c 74 22 20 6e 61 6d s.equivalent.to.the.default".nam
117c0 65 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 66 69 6c 65 73 0a 20 20 20 20 20 20 e)).........(unless.files.......
117e0 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 72 72 6f 72 20 6e 61 6d 65 0a 20 ....(package-build--error.name..
11800 20 20 20 20 20 20 20 20 20 20 20 22 4e 6f 20 6d 61 74 63 68 69 6e 67 20 66 69 6c 65 28 73 29 20 ..........."No.matching.file(s).
11820 66 6f 75 6e 64 20 69 6e 20 25 73 20 75 73 69 6e 67 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 found.in.%s.using.%s"...........
11840 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20 73 70 65 63 20 22 64 65 ..default-directory.(or.spec."de
11860 66 61 75 6c 74 20 73 70 65 63 22 29 29 29 29 0a 20 20 20 20 20 20 66 69 6c 65 73 29 29 29 0a 0a fault.spec")))).......files)))..
11880 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 2d 66 69 6c (defun.package-build--expand-fil
118a0 65 73 2d 73 70 65 63 2d 31 20 28 73 70 65 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 es-spec-1.(spec)..."Return.a.lis
118c0 74 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 20 53 50 45 43 20 69 6e 20 t.of.all.files.matching.SPEC.in.
118e0 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 0a 53 50 45 43 20 69 73 20 61 20 66 `default-directory'..SPEC.is.a.f
11900 75 6c 6c 20 66 69 6c 65 73 20 73 70 65 63 20 61 73 20 73 74 6f 72 65 64 20 69 6e 20 61 20 72 65 ull.files.spec.as.stored.in.a.re
11920 63 69 70 65 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 69 6e 63 6c 75 64 65 20 65 78 cipe.object."...(let.(include.ex
11940 63 6c 75 64 65 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 72 79 20 73 70 65 63 29 0a clude).....(dolist.(entry.spec).
11960 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 6e 74 72 79 29 20 3a ......(if.(eq.(car-safe.entry).:
11980 65 78 63 6c 75 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 72 exclude)...........(dolist.(entr
119a0 79 20 28 63 64 72 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 y.(cdr.entry)).............(push
119c0 20 65 6e 74 72 79 20 65 78 63 6c 75 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 .entry.exclude)).........(push.e
119e0 6e 74 72 79 20 69 6e 63 6c 75 64 65 29 29 29 0a 20 20 20 20 28 63 6c 2d 73 65 74 2d 64 69 66 66 ntry.include))).....(cl-set-diff
11a00 65 72 65 6e 63 65 0a 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 78 70 61 erence......(package-build--expa
11a20 6e 64 2d 66 69 6c 65 73 2d 73 70 65 63 2d 32 20 28 6e 72 65 76 65 72 73 65 20 69 6e 63 6c 75 64 nd-files-spec-2.(nreverse.includ
11a40 65 29 29 0a 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 2d e))......(package-build--expand-
11a60 66 69 6c 65 73 2d 73 70 65 63 2d 32 20 28 6e 72 65 76 65 72 73 65 20 65 78 63 6c 75 64 65 29 29 files-spec-2.(nreverse.exclude))
11a80 0a 20 20 20 20 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 20 3a 6b 65 79 20 23 27 63 61 72 29 29 ......:test.#'equal.:key.#'car))
11aa0 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 2d )..(defun.package-build--expand-
11ac0 66 69 6c 65 73 2d 73 70 65 63 2d 32 20 28 73 70 65 63 20 26 6f 70 74 69 6f 6e 61 6c 20 73 75 62 files-spec-2.(spec.&optional.sub
11ae0 64 69 72 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 69 6c dir)..."Return.a.list.of.all.fil
11b00 65 73 20 6d 61 74 63 68 69 6e 67 20 53 50 45 43 20 69 6e 20 53 55 42 44 49 52 2e 0a 49 66 20 53 es.matching.SPEC.in.SUBDIR..If.S
11b20 55 42 44 49 52 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 UBDIR.is.nil,.use.`default-direc
11b40 74 6f 72 79 27 2e 20 20 53 50 45 43 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 0a 62 65 20 61 tory'...SPEC.is.expected.to.be.a
11b60 20 70 61 72 74 69 61 6c 20 66 69 6c 65 73 20 73 70 65 63 2c 20 63 6f 6e 73 69 73 74 69 6e 67 20 .partial.files.spec,.consisting.
11b80 6f 66 20 65 69 74 68 65 72 20 61 6c 6c 20 69 6e 63 6c 75 64 65 20 72 75 6c 65 73 0a 6f 72 20 61 of.either.all.include.rules.or.a
11ba0 6c 6c 20 65 78 63 6c 75 64 65 20 72 75 6c 65 73 20 28 77 69 74 68 20 74 68 65 20 60 3a 65 78 63 ll.exclude.rules.(with.the.`:exc
11bc0 6c 75 64 65 27 20 6b 65 79 77 6f 72 64 20 72 65 6d 6f 76 65 64 29 2e 22 0a 20 20 28 6d 61 70 63 lude'.keyword.removed)."...(mapc
11be0 61 6e 20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 an.(lambda.(entry).............(
11c00 69 66 20 28 73 74 72 69 6e 67 70 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 if.(stringp.entry)..............
11c20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 ...(mapcar.(lambda.(f)..........
11c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 66 0a 20 20 20 20 20 20 20 .................(cons.f........
11c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 .........................(concat
11c80 20 73 75 62 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .subdir.........................
11ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d ................(replace-regexp-
11cc0 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in-string.......................
11ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 2e 65 6c 5c 5c 2e 69 6e 5c 5c ..................."\\.el\\.in\\
11d00 27 22 20 20 22 2e 65 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '"..".el".......................
11d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f ...................(file-name-no
11d40 6e 64 69 72 65 63 74 6f 72 79 20 66 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndirectory.f)))))...............
11d60 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 70 61 6e 64 2d 77 69 6c 64 63 61 72 64 73 ..........(file-expand-wildcards
11d80 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d .entry))...............(package-
11da0 62 75 69 6c 64 2d 2d 65 78 70 61 6e 64 2d 66 69 6c 65 73 2d 73 70 65 63 2d 32 0a 20 20 20 20 20 build--expand-files-spec-2......
11dc0 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 ..........(cdr.entry)...........
11de0 20 20 20 20 20 28 63 6f 6e 63 61 74 20 73 75 62 64 69 72 20 28 63 61 72 20 65 6e 74 72 79 29 20 .....(concat.subdir.(car.entry).
11e00 22 2f 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 73 70 65 63 29 29 0a 0a 28 64 65 66 75 6e "/"))))...........spec))..(defun
11e20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 6f 70 79 2d 70 61 63 6b 61 67 65 2d 66 69 6c .package-build--copy-package-fil
11e40 65 73 20 28 66 69 6c 65 73 20 74 61 72 67 65 74 2d 64 69 72 29 0a 20 20 22 43 6f 70 79 20 46 49 es.(files.target-dir)..."Copy.FI
11e60 4c 45 53 20 66 72 6f 6d 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 20 74 6f 20 LES.from.`default-directory'.to.
11e80 54 41 52 47 45 54 2d 44 49 52 2e 0a 46 49 4c 45 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 28 TARGET-DIR..FILES.is.a.list.of.(
11ea0 53 4f 55 52 43 45 20 2e 20 44 45 53 54 29 20 72 65 6c 61 74 69 76 65 20 66 69 6c 65 70 61 74 68 SOURCE...DEST).relative.filepath
11ec0 20 70 61 69 72 73 2e 22 0a 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 .pairs."...(package-build--messa
11ee0 67 65 0a 20 20 20 22 43 6f 70 79 69 6e 67 20 66 69 6c 65 73 20 28 2d 3e 29 20 61 6e 64 20 64 69 ge...."Copying.files.(->).and.di
11f00 72 65 63 74 6f 72 69 65 73 20 28 3d 3e 29 5c 6e 20 20 66 72 6f 6d 20 25 73 5c 6e 20 20 74 6f 20 rectories.(=>)\n..from.%s\n..to.
11f20 25 73 22 0a 20 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 74 61 72 67 65 74 2d %s"....default-directory.target-
11f40 64 69 72 29 0a 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 73 72 63 20 2e 20 2c dir)...(pcase-dolist.(`(,src...,
11f60 64 73 74 29 20 66 69 6c 65 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 72 63 2a 20 28 65 78 70 dst).files).....(let.((src*.(exp
11f80 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 72 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 and-file-name.src))...........(d
11fa0 73 74 2a 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 64 73 74 20 74 61 72 67 65 74 st*.(expand-file-name.dst.target
11fc0 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 -dir))).......(make-directory.(f
11fe0 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 64 73 74 2a 29 20 74 29 0a 20 20 20 20 ile-name-directory.dst*).t).....
12000 20 20 28 63 6f 6e 64 20 28 28 66 69 6c 65 2d 72 65 67 75 6c 61 72 2d 70 20 73 72 63 2a 29 0a 20 ..(cond.((file-regular-p.src*)..
12020 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 ............(package-build--mess
12040 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 25 73 20 25 73 20 2d 3e 20 25 73 age..............."..%s.%s.->.%s
12060 22 20 28 69 66 20 28 65 71 75 61 6c 20 73 72 63 20 64 73 74 29 20 22 20 22 20 22 21 22 29 20 73 ".(if.(equal.src.dst)."."."!").s
12080 72 63 20 64 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 rc.dst)..............(copy-file.
120a0 73 72 63 2a 20 64 73 74 2a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d 64 src*.dst*)).............((file-d
120c0 69 72 65 63 74 6f 72 79 2d 70 20 73 72 63 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 irectory-p.src*)..............(p
120e0 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 ackage-build--message...........
12100 20 20 20 20 22 20 20 25 73 20 25 73 20 3d 3e 20 25 73 22 20 28 69 66 20 28 65 71 75 61 6c 20 73 ...."..%s.%s.=>.%s".(if.(equal.s
12120 72 63 20 64 73 74 29 20 22 20 22 20 22 21 22 29 20 73 72 63 20 64 73 74 29 0a 20 20 20 20 20 20 rc.dst)."."."!").src.dst).......
12140 20 20 20 20 20 20 20 28 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 20 73 72 63 2a 20 64 73 74 2a .......(copy-directory.src*.dst*
12160 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 73 70 ))))))..(defun.package-build--sp
12180 65 63 2d 67 6c 6f 62 73 20 28 72 63 70 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 ec-globs.(rcp)..."Return.a.list.
121a0 6f 66 20 76 63 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 66 69 of.vcs.arguments.to.match.the.fi
121c0 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 52 43 50 2e 22 0a 20 20 3b 3b 20 53 65 65 20 les.specified.in.RCP."...;;.See.
121e0 67 6c 6f 62 28 37 29 2c 20 67 69 74 67 6c 6f 73 73 61 72 79 28 37 29 20 61 6e 64 20 22 68 67 20 glob(7),.gitglossary(7).and."hg.
12200 68 65 6c 70 20 70 61 74 74 65 72 6e 73 22 2e 0a 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 74 6f 61 help.patterns"....(cl-flet.((toa
12220 72 67 73 20 28 67 6c 6f 62 20 26 6f 70 74 69 6f 6e 61 6c 20 65 78 63 6c 75 64 65 29 0a 20 20 20 rgs.(glob.&optional.exclude)....
12240 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 69 76 65 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6c ...........;;.Given.an.element.l
12260 69 6b 65 20 28 22 64 69 72 22 20 22 64 69 72 2f 2a 22 29 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 ike.("dir"."dir/*"),.we.want.to.
12280 6d 6f 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 20 63 68 69 6c 64 72 move...............;;.all.childr
122a0 65 6e 20 6f 66 20 22 64 69 72 22 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 2e 20 20 47 en.of."dir".to.the.top-level...G
122c0 6c 6f 62 20 68 61 6e 64 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 lob.handling...............;;.of
122e0 20 67 69 74 2d 6c 6f 67 2f 68 67 2d 6c 6f 67 20 6f 6e 6c 79 20 63 61 72 65 73 20 61 62 6f 75 74 .git-log/hg-log.only.cares.about
12300 20 72 65 67 75 6c 61 72 20 66 69 6c 65 2c 20 73 6f 20 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 .regular.file,.so.if............
12320 20 20 20 3b 3b 20 22 64 69 72 2f 73 75 62 64 69 72 2f 66 69 6c 65 22 20 69 73 20 6d 6f 64 69 66 ...;;."dir/subdir/file".is.modif
12340 69 65 64 2c 20 74 68 65 6e 20 22 64 69 72 2f 2a 22 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 ied,.then."dir/*".does.not......
12360 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 74 63 68 20 74 68 61 74 20 63 68 61 6e 67 65 2e 20 20 .........;;.match.that.change...
12380 55 73 65 20 22 64 69 72 2f 2a 2a 22 20 69 6e 73 74 65 61 64 2c 20 74 6f 20 6d 61 6b 65 20 74 68 Use."dir/**".instead,.to.make.th
123a0 65 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 6f 6f 6b 20 66 6f 72 20 63 68 61 em...............;;.look.for.cha
123c0 6e 67 65 73 20 74 6f 20 66 69 6c 65 73 20 69 6e 20 22 64 69 72 22 20 61 6e 64 20 61 6c 6c 20 73 nges.to.files.in."dir".and.all.s
123e0 75 62 64 69 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 ubdirs................(when.(str
12400 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 2f 2a 22 20 67 6c 6f 62 29 0a 20 20 20 20 20 20 20 20 ing-suffix-p."/*".glob).........
12420 20 20 20 20 20 20 20 20 28 73 65 74 71 20 67 6c 6f 62 20 28 63 6f 6e 63 61 74 20 67 6c 6f 62 20 ........(setq.glob.(concat.glob.
12440 22 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 65 74 79 70 65 63 61 "*")))...............(cl-etypeca
12460 73 65 20 72 63 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d se.rcp.................(package-
12480 67 69 74 2d 72 65 63 69 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 git-recipe..................(lis
124a0 74 20 28 66 6f 72 6d 61 74 20 22 3a 28 67 6c 6f 62 25 73 29 25 73 22 20 28 69 66 20 65 78 63 6c t.(format.":(glob%s)%s".(if.excl
124c0 75 64 65 20 22 2c 65 78 63 6c 75 64 65 22 20 22 22 29 20 67 6c 6f 62 29 29 29 0a 20 20 20 20 20 ude.",exclude"."").glob)))......
124e0 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 65 0a 20 20 ...........(package-hg-recipe...
12500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 66 20 65 78 63 6c 75 64 65 ...............(list.(if.exclude
12520 20 22 2d 2d 65 78 63 6c 75 64 65 22 20 22 2d 2d 69 6e 63 6c 75 64 65 22 29 0a 20 20 20 20 20 20 ."--exclude"."--include").......
12540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 67 6c 6f 62 3a 22 .................(concat."glob:"
12560 20 67 6c 6f 62 29 29 29 29 29 29 0a 20 20 20 20 28 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 .glob)))))).....(mapcan.(lambda.
12580 28 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d 65 78 68 (entry)...............(pcase-exh
125a0 61 75 73 74 69 76 65 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 austive.entry.................((
125c0 61 6e 64 20 67 6c 6f 62 20 28 70 72 65 64 20 73 74 72 69 6e 67 70 29 29 0a 20 20 20 20 20 20 20 and.glob.(pred.stringp))........
125e0 20 20 20 20 20 20 20 20 20 20 28 74 6f 61 72 67 73 20 67 6c 6f 62 29 29 0a 20 20 20 20 20 20 20 ..........(toargs.glob))........
12600 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 60 28 3a 65 78 63 6c 75 64 65 20 2e 20 2c 67 6c 6f .........((and.`(:exclude...,glo
12620 62 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 75 61 72 64 bs).......................(guard
12640 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 74 72 69 6e 67 70 20 67 6c 6f 62 73 29 29 29 0a 20 20 .(cl-every.#'stringp.globs)))...
12660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 ...............(mapcan.(lambda.(
12680 67 29 20 28 74 6f 61 72 67 73 20 67 20 74 29 29 20 67 6c 6f 62 73 29 29 0a 20 20 20 20 20 20 20 g).(toargs.g.t)).globs))........
126a0 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 60 28 2c 64 69 72 20 2e 20 2c 67 6c 6f 62 73 29 0a .........((and.`(,dir...,globs).
126c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 75 61 72 64 20 28 73 74 ......................(guard.(st
126e0 72 69 6e 67 70 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ringp.dir)).....................
12700 20 20 28 67 75 61 72 64 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 74 72 69 6e 67 70 20 67 6c 6f ..(guard.(cl-every.#'stringp.glo
12720 62 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 20 3b 20 53 69 6c bs)))..................dir.;.Sil
12740 65 6e 63 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 20 6f 66 20 45 6d 61 63 73 20 3c 20 32 38 ence.byte-compiler.of.Emacs.<.28
12760 2e 31 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 6e 20 23 27 74 .1...................(mapcan.#'t
12780 6f 61 72 67 73 20 67 6c 6f 62 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 oargs.globs)))).............(let
127a0 20 28 28 73 70 65 63 20 28 6f 72 20 28 6f 72 65 66 20 72 63 70 20 66 69 6c 65 73 29 20 70 61 63 .((spec.(or.(oref.rcp.files).pac
127c0 6b 61 67 65 2d 62 75 69 6c 64 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 73 2d 73 70 65 63 29 29 29 kage-build-default-files-spec)))
127e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 72 20 73 70 65 63 ...............(if.(eq.(car.spec
12800 29 20 3a 64 65 66 61 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ).:defaults)...................(
12820 61 70 70 65 6e 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 65 66 61 75 6c 74 2d 66 69 6c append.package-build-default-fil
12840 65 73 2d 73 70 65 63 20 28 63 64 72 20 73 70 65 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 es-spec.(cdr.spec)).............
12860 20 20 20 20 73 70 65 63 29 29 29 29 29 0a 0a 3b 3b 3b 20 43 6f 6d 6d 61 6e 64 73 0a 0a 3b 3b 3b ....spec)))))..;;;.Commands..;;;
12880 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 ###autoload.(defun.package-build
128a0 2d 61 72 63 68 69 76 65 20 28 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 64 75 6d 70 2d 61 72 -archive.(name.&optional.dump-ar
128c0 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 29 0a 20 20 22 42 75 69 6c 64 20 61 20 70 61 63 6b 61 chive-contents)..."Build.a.packa
128e0 67 65 20 61 72 63 68 69 76 65 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 64 ge.archive.for.the.package.named
12900 20 4e 41 4d 45 2e 0a 49 66 20 44 55 4d 50 2d 41 52 43 48 49 56 45 2d 43 4f 4e 54 45 4e 54 53 20 .NAME..If.DUMP-ARCHIVE-CONTENTS.
12920 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 75 70 64 61 74 65 64 20 61 72 63 68 69 76 65 20 is.non-nil,.the.updated.archive.
12940 63 6f 6e 74 65 6e 74 73 0a 61 72 65 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 64 75 6d 70 65 64 contents.are.subsequently.dumped
12960 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 70 61 63 6b 61 67 65 ."...(interactive.(list.(package
12980 2d 72 65 63 69 70 65 2d 72 65 61 64 2d 6e 61 6d 65 29 20 74 29 29 0a 20 20 28 75 6e 6c 65 73 73 -recipe-read-name).t))...(unless
129a0 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 .(file-exists-p.package-build-ar
129c0 63 68 69 76 65 2d 64 69 72 29 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d chive-dir).....(package-build--m
129e0 65 73 73 61 67 65 20 22 43 72 65 61 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 25 73 22 20 70 essage."Creating.directory.%s".p
12a00 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 0a 20 20 20 20 28 6d ackage-build-archive-dir).....(m
12a20 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 ake-directory.package-build-arch
12a40 69 76 65 2d 64 69 72 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 73 74 61 72 74 2d 74 69 6d 65 20 28 ive-dir))...(let*.((start-time.(
12a60 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 63 70 20 28 70 61 current-time))..........(rcp.(pa
12a80 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6c 6f 6f 6b 75 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 ckage-recipe-lookup.name))......
12aa0 20 20 20 20 28 75 72 6c 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 ....(url.(package-recipe--upstre
12ac0 61 6d 2d 75 72 6c 20 72 63 70 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 70 6f 20 28 6f 72 65 am-url.rcp))..........(repo.(ore
12ae0 66 20 72 63 70 20 72 65 70 6f 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 65 74 63 68 65 72 20 28 f.rcp.repo))..........(fetcher.(
12b00 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 66 65 74 63 68 65 72 20 72 63 70 29 29 0a 20 20 package-recipe--fetcher.rcp))...
12b20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 .......(version.nil)).....(cond.
12b40 28 28 6e 6f 74 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 ((not.noninteractive)...........
12b60 20 28 6d 65 73 73 61 67 65 20 22 20 e2 80 a2 20 25 73 20 70 61 63 6b 61 67 65 20 25 73 20 28 66 .(message.".....%s.package.%s.(f
12b80 72 6f 6d 20 25 73 29 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rom.%s)...".....................
12ba0 28 69 66 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 62 69 74 2d 62 75 69 6c 64 (if.package-build--inhibit-build
12bc0 20 22 46 65 74 63 68 69 6e 67 22 20 22 42 75 69 6c 64 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 ."Fetching"."Building").........
12be0 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............name................
12c00 20 20 20 20 20 28 69 66 20 72 65 70 6f 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 25 73 22 20 66 65 .....(if.repo.(format."%s:%s".fe
12c20 74 63 68 65 72 20 72 65 70 6f 29 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 tcher.repo).url)))...........(pa
12c40 63 6b 61 67 65 2d 62 75 69 6c 64 2d 76 65 72 62 6f 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 ckage-build-verbose............(
12c60 6d 65 73 73 61 67 65 20 22 50 61 63 6b 61 67 65 3a 20 25 73 22 20 6e 61 6d 65 29 0a 20 20 20 20 message."Package:.%s".name).....
12c80 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 46 65 74 63 68 65 72 3a 20 25 73 22 20 66 65 .......(message."Fetcher:.%s".fe
12ca0 74 63 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 6f 75 72 tcher)............(message."Sour
12cc0 63 65 3a 20 20 25 73 5c 6e 22 20 75 72 6c 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 ce:..%s\n".url))).....(funcall.p
12ce0 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 66 65 74 63 68 2d 66 75 6e 63 74 69 6f 6e 20 72 63 70 29 ackage-build-fetch-function.rcp)
12d00 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 69 6e 68 69 .....(unless.package-build--inhi
12d20 62 69 74 2d 62 75 69 6c 64 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d bit-build.......(package-build--
12d40 73 65 6c 65 63 74 2d 76 65 72 73 69 6f 6e 20 72 63 70 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 select-version.rcp).......(setq.
12d60 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 20 72 63 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 version.(oref.rcp.version)).....
12d80 20 20 28 77 68 65 6e 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 ..(when.version.........(package
12da0 2d 62 75 69 6c 64 2d 2d 70 61 63 6b 61 67 65 20 72 63 70 29 0a 20 20 20 20 20 20 20 20 28 77 68 -build--package.rcp).........(wh
12dc0 65 6e 20 64 75 6d 70 2d 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 20 20 20 en.dump-archive-contents........
12de0 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 75 6d 70 2d 61 72 63 68 69 76 65 2d 63 ...(package-build-dump-archive-c
12e00 6f 6e 74 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 76 65 72 73 69 6f ontents))).......(if.(not.versio
12e20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 20 e2 9c 97 20 43 61 6e 6e n)...........(message.".....Cann
12e40 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 76 65 72 73 69 6f 6e 21 22 29 0a 20 20 20 20 20 20 20 20 ot.determine.version!").........
12e60 28 6d 65 73 73 61 67 65 20 22 20 e2 9c 93 20 53 75 63 63 65 73 73 3a 22 29 0a 20 20 20 20 20 20 (message.".....Success:").......
12e80 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 66 69 6c 65 20 2e 20 2c 61 74 74 72 ..(pcase-dolist.(`(,file...,attr
12ea0 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 s)........................(direc
12ec0 74 6f 72 79 2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 tory-files-and-attributes.......
12ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d ..................package-build-
12f00 61 72 63 68 69 76 65 2d 64 69 72 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 archive-dir.nil.................
12f20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c 5c 60 25 73 2d 5b 30 2d 39 5d 2b 22 20 6e ........(format."\\`%s-[0-9]+".n
12f40 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 20 20 25 73 20 ame)))...........(message."..%s.
12f60 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d .%s"....................(format-
12f80 74 69 6d 65 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 time-string.....................
12fa0 22 25 46 54 25 54 25 7a 22 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 "%FT%T%z".(file-attribute-modifi
12fc0 63 61 74 69 6f 6e 2d 74 69 6d 65 20 61 74 74 72 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 cation-time.attrs).t)...........
12fe0 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 .........file)))).....(message."
13000 25 73 20 25 73 20 69 6e 20 25 2e 33 66 73 2c 20 66 69 6e 69 73 68 65 64 20 61 74 20 25 73 22 0a %s.%s.in.%.3fs,.finished.at.%s".
13020 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 76 65 72 73 69 6f 6e 20 22 42 75 69 6c 74 22 .............(if.version."Built"
13040 20 22 46 65 74 63 68 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 0a 20 20 ."Fetched")..............name...
13060 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 2d 74 69 6d 65 20 28 74 69 6d 65 2d 73 69 6e ...........(float-time.(time-sin
13080 63 65 20 73 74 61 72 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f ce.start-time))..............(fo
130a0 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 46 54 25 54 25 7a 22 20 6e 69 6c 20 74 rmat-time-string."%FT%T%z".nil.t
130c0 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 61 63 6b ))))..;;;###autoload.(defun.pack
130e0 61 67 65 2d 62 75 69 6c 64 2d 2d 70 61 63 6b 61 67 65 20 28 72 63 70 29 0a 20 20 22 42 75 69 6c age-build--package.(rcp)..."Buil
13100 64 20 74 68 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 69 65 64 20 d.the.package.version.specified.
13120 62 79 20 52 43 50 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 61 72 63 68 69 76 65 20 65 6e 74 72 79 by.RCP..Return.the.archive.entry
13140 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 70 .for.the.package.and.store.the.p
13160 61 63 6b 61 67 65 0a 69 6e 20 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 ackage.in.`package-build-archive
13180 2d 64 69 72 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f -dir'."...(let.((default-directo
131a0 72 79 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 6f 72 6b 69 6e 67 2d 74 72 65 65 20 ry.(package-build--working-tree.
131c0 72 63 70 29 29 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 rcp))).....(unwind-protect......
131e0 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 61 63 ...(progn...........(funcall.pac
13200 6b 61 67 65 2d 62 75 69 6c 64 2d 63 68 65 63 6b 6f 75 74 2d 66 75 6e 63 74 69 6f 6e 20 72 63 70 kage-build-checkout-function.rcp
13220 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 70 61 63 6b 61 67 )...........(let.((files.(packag
13240 65 2d 62 75 69 6c 64 2d 65 78 70 61 6e 64 2d 66 69 6c 65 73 2d 73 70 65 63 20 72 63 70 20 74 29 e-build-expand-files-spec.rcp.t)
13260 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 )).............(cond............
13280 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 29 20 30 29 0a 20 20 20 20 20 20 20 20 ..((=.(length.files).0).........
132a0 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 72 72 6f 72 20 72 63 70 0a ......(package-build--error.rcp.
132c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 6e 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 ................"Unable.to.find.
132e0 66 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 20 72 65 63 69 70 65 20 70 61 74 74 65 72 6e 73 22 29 files.matching.recipe.patterns")
13300 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 75 )..............(package-build-bu
13320 69 6c 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 ild-function...............(func
13340 61 6c 6c 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 75 69 6c 64 2d 66 75 6e 63 74 69 6f 6e all.package-build-build-function
13360 20 72 63 70 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 28 6c .rcp.files))..............((=.(l
13380 65 6e 67 74 68 20 66 69 6c 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 ength.files).1)...............(p
133a0 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 62 75 69 6c 64 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d ackage-build--build-single-file-
133c0 70 61 63 6b 61 67 65 20 72 63 70 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 package.rcp.files)).............
133e0 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 .(t...............(package-build
13400 2d 2d 62 75 69 6c 64 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 70 61 63 6b 61 67 65 20 72 63 70 20 66 --build-multi-file-package.rcp.f
13420 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 61 63 6b 61 67 iles))).............(when.packag
13440 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e-build-badge-data..............
13460 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 62 61 64 67 65 2d 69 6d 61 .(package-build--write-badge-ima
13480 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 65 66 20 72 63 70 20 6e 61 6d 65 ge................(oref.rcp.name
134a0 29 20 28 6f 72 65 66 20 72 63 70 20 76 65 72 73 69 6f 6e 29 20 70 61 63 6b 61 67 65 2d 62 75 69 ).(oref.rcp.version).package-bui
134c0 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c ld-archive-dir)))).......(funcal
134e0 6c 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 63 6c 65 61 6e 75 70 2d 66 75 6e 63 74 69 6f 6e l.package-build-cleanup-function
13500 20 72 63 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d .rcp))))..(defun.package-build--
13520 62 75 69 6c 64 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d 70 61 63 6b 61 67 65 20 28 72 63 70 20 66 build-single-file-package.(rcp.f
13540 69 6c 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 6f 72 65 66 20 72 63 70 20 6e iles)...(let*.((name.(oref.rcp.n
13560 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 20 72 63 ame))..........(version.(oref.rc
13580 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 69 74 20 28 6f 72 p.version))..........(commit.(or
135a0 65 66 20 72 63 70 20 63 6f 6d 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 ef.rcp.commit))..........(file.(
135c0 63 61 61 72 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 6f 75 72 63 65 20 28 65 caar.files))..........(source.(e
135e0 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 xpand-file-name.file))..........
13600 28 74 61 72 67 65 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 (target.(expand-file-name.(conca
13620 74 20 6e 61 6d 65 20 22 2d 22 20 76 65 72 73 69 6f 6e 20 22 2e 65 6c 22 29 0a 20 20 20 20 20 20 t.name."-".version.".el").......
13640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 63 .............................pac
13660 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 kage-build-archive-dir))........
13680 20 20 28 64 65 73 63 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 64 65 73 63 2d 66 72 6f ..(desc.(package-build--desc-fro
136a0 6d 2d 6c 69 62 72 61 72 79 20 72 63 70 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 m-library.rcp.files))).....(unle
136c0 73 73 20 28 6d 65 6d 62 65 72 20 28 64 6f 77 6e 63 61 73 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d ss.(member.(downcase.(file-name-
136e0 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 nondirectory.file)).............
13700 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 64 6f 77 6e 63 61 73 65 20 28 63 6f 6e 63 61 74 20 ........(list.(downcase.(concat.
13720 6e 61 6d 65 20 22 2e 65 6c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name.".el"))....................
13740 20 20 20 20 20 20 20 28 64 6f 77 6e 63 61 73 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2e .......(downcase.(concat.name.".
13760 65 6c 2e 69 6e 22 29 29 29 29 0a 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d el.in")))).......(package-build-
13780 2d 65 72 72 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 22 53 69 6e 67 6c 65 20 66 69 6c 65 -error.name........."Single.file
137a0 20 25 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 .%s.does.not.match.package.name.
137c0 25 73 22 20 66 69 6c 65 20 6e 61 6d 65 29 29 0a 20 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 73 %s".file.name)).....(copy-file.s
137e0 6f 75 72 63 65 20 74 61 72 67 65 74 20 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 65 6e 61 62 6c ource.target.t).....(let.((enabl
13800 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 e-local-variables.nil)..........
13820 20 28 6d 61 6b 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 .(make-backup-files.nil)........
13840 20 20 20 28 62 65 66 6f 72 65 2d 73 61 76 65 2d 68 6f 6f 6b 20 6e 69 6c 29 29 0a 20 20 20 20 20 ...(before-save-hook.nil))......
13860 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 .(with-current-buffer.(find-file
13880 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d .target).........(package-build-
138a0 2d 75 70 64 61 74 65 2d 6f 72 2d 69 6e 73 65 72 74 2d 68 65 61 64 65 72 20 22 50 61 63 6b 61 67 -update-or-insert-header."Packag
138c0 65 2d 43 6f 6d 6d 69 74 22 20 63 6f 6d 6d 69 74 29 0a 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 e-Commit".commit).........(packa
138e0 67 65 2d 62 75 69 6c 64 2d 2d 75 70 64 61 74 65 2d 6f 72 2d 69 6e 73 65 72 74 2d 68 65 61 64 65 ge-build--update-or-insert-heade
13900 72 20 22 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 22 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 r."Package-Version".version)....
13920 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 6e 73 75 72 65 2d 65 6e 64 73 .....(package-build--ensure-ends
13940 2d 68 65 72 65 2d 6c 69 6e 65 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 28 77 72 69 74 -here-line.source).........(writ
13960 65 2d 66 69 6c 65 20 74 61 72 67 65 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c e-file.target.nil).........(kill
13980 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 -buffer))).....(package-build--w
139a0 72 69 74 65 2d 70 6b 67 2d 72 65 61 64 6d 65 20 72 63 70 20 66 69 6c 65 73 29 0a 20 20 20 20 28 rite-pkg-readme.rcp.files).....(
139c0 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 61 72 63 68 69 76 65 2d 65 6e 74 package-build--write-archive-ent
139e0 72 79 20 64 65 73 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 ry.desc)))..(defun.package-build
13a00 2d 2d 62 75 69 6c 64 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 70 61 63 6b 61 67 65 20 28 72 63 70 20 --build-multi-file-package.(rcp.
13a20 66 69 6c 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 6f 72 65 66 20 72 63 70 20 files)...(let*.((name.(oref.rcp.
13a40 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 6f 72 65 66 20 72 name))..........(version.(oref.r
13a60 63 70 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6d 70 2d 64 69 72 20 28 cp.version))..........(tmp-dir.(
13a80 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 28 6d 61 6b 65 2d 74 65 6d file-name-as-directory.(make-tem
13aa0 70 2d 66 69 6c 65 20 6e 61 6d 65 20 74 29 29 29 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 p-file.name.t)))).....(unwind-pr
13ac0 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 61 72 67 65 74 20 28 65 78 otect.........(let*.((target.(ex
13ae0 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2d 22 20 pand-file-name.(concat.name."-".
13b00 76 65 72 73 69 6f 6e 29 20 74 6d 70 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 version).tmp-dir))..............
13b20 20 20 28 64 65 73 63 20 28 6f 72 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 64 65 73 63 ..(desc.(or.(package-build--desc
13b40 2d 66 72 6f 6d 2d 70 61 63 6b 61 67 65 20 72 63 70 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 -from-package.rcp.files)........
13b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 ..................(package-build
13b80 2d 2d 64 65 73 63 2d 66 72 6f 6d 2d 6c 69 62 72 61 72 79 20 72 63 70 20 66 69 6c 65 73 20 27 74 --desc-from-library.rcp.files.'t
13ba0 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 ar)..........................(pa
13bc0 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 65 72 72 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 ckage-build--error.name.........
13be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 73 5b 2d 70 6b 67 5d 2e 65 6c 20 ..................."%s[-pkg].el.
13c00 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 73 20 6d 69 73 73 69 6e 67 matching.package.name.is.missing
13c20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d "............................nam
13c40 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d e))))...........(package-build--
13c60 63 6f 70 79 2d 70 61 63 6b 61 67 65 2d 66 69 6c 65 73 20 66 69 6c 65 73 20 74 61 72 67 65 74 29 copy-package-files.files.target)
13c80 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 ...........(package-build--write
13ca0 2d 70 6b 67 2d 66 69 6c 65 20 64 65 73 63 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 -pkg-file.desc.target)..........
13cc0 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 67 65 6e 65 72 61 74 65 2d 69 6e 66 6f 2d 66 .(package-build--generate-info-f
13ce0 69 6c 65 73 20 72 63 70 20 66 69 6c 65 73 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 20 20 20 iles.rcp.files.target)..........
13d00 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 72 65 61 74 65 2d 74 61 72 20 72 63 70 20 .(package-build--create-tar.rcp.
13d20 74 6d 70 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c tmp-dir)...........(package-buil
13d40 64 2d 2d 77 72 69 74 65 2d 70 6b 67 2d 72 65 61 64 6d 65 20 72 63 70 20 66 69 6c 65 73 29 0a 20 d--write-pkg-readme.rcp.files)..
13d60 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 61 .........(package-build--write-a
13d80 72 63 68 69 76 65 2d 65 6e 74 72 79 20 64 65 73 63 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 rchive-entry.desc)).......(delet
13da0 65 2d 64 69 72 65 63 74 6f 72 79 20 74 6d 70 2d 64 69 72 20 74 20 6e 69 6c 29 29 29 29 0a 0a 28 e-directory.tmp-dir.t.nil))))..(
13dc0 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 6c 65 61 6e 75 70 20 28 72 63 defun.package-build--cleanup.(rc
13de0 70 29 0a 20 20 28 63 6f 6e 64 20 28 28 63 6c 2d 74 79 70 65 70 20 72 63 70 20 27 70 61 63 6b 61 p)...(cond.((cl-typep.rcp.'packa
13e00 67 65 2d 67 69 74 2d 72 65 63 69 70 65 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 ge-git-recipe)..........(package
13e20 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 67 69 74 22 20 22 -build--call-process.rcp."git"."
13e40 63 6c 65 61 6e 22 20 22 2d 66 22 20 22 2d 64 22 20 22 2d 78 22 29 29 0a 20 20 20 20 20 20 20 20 clean"."-f"."-d"."-x")).........
13e60 28 28 63 6c 2d 74 79 70 65 70 20 72 63 70 20 27 70 61 63 6b 61 67 65 2d 68 67 2d 72 65 63 69 70 ((cl-typep.rcp.'package-hg-recip
13e80 65 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 65 72 63 75 72 69 61 6c 27 73 20 69 6e 74 65 72 e)..........;;.Mercurial's.inter
13ea0 66 61 63 65 20 69 73 20 73 6f 20 6d 75 63 68 20 62 65 74 74 65 72 20 74 68 61 6e 20 47 69 74 27 face.is.so.much.better.than.Git'
13ec0 73 2c 20 74 68 65 79 20 73 61 69 64 2e 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d s,.they.said...........(with-tem
13ee0 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 66 69 6c p-buffer............(process-fil
13f00 65 20 22 68 67 22 20 6e 69 6c 20 74 20 6e 69 6c 20 22 73 74 61 74 75 73 22 20 22 2d 2d 6e 6f 2d e."hg".nil.t.nil."status"."--no-
13f20 73 74 61 74 75 73 22 20 22 2d 2d 75 6e 6b 6e 6f 77 6e 22 20 22 2d 30 22 29 0a 20 20 20 20 20 20 status"."--unknown"."-0").......
13f40 20 20 20 20 20 28 6d 61 70 63 20 23 27 64 65 6c 65 74 65 2d 66 69 6c 65 20 28 73 70 6c 69 74 2d .....(mapc.#'delete-file.(split-
13f60 73 74 72 69 6e 67 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 20 22 5c 30 22 20 74 29 29 29 string.(buffer-string)."\0".t)))
13f80 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 ..........(with-temp-buffer.....
13fa0 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 66 69 6c 65 20 22 68 67 22 20 6e 69 6c 20 74 20 .......(process-file."hg".nil.t.
13fc0 6e 69 6c 20 22 73 74 61 74 75 73 22 20 22 2d 2d 6e 6f 2d 73 74 61 74 75 73 22 20 22 2d 2d 69 67 nil."status"."--no-status"."--ig
13fe0 6e 6f 72 65 64 22 20 22 2d 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 20 23 27 nored"."-0")............(mapc.#'
14000 64 65 6c 65 74 65 2d 66 69 6c 65 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 62 75 66 66 65 delete-file.(split-string.(buffe
14020 72 2d 73 74 72 69 6e 67 29 20 22 5c 30 22 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 r-string)."\0".t)))..........(pa
14040 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 72 63 70 20 22 68 ckage-build--call-process.rcp."h
14060 67 22 20 22 70 75 72 67 65 22 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 g"."purge"))))..;;;###autoload.(
14080 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 6c 6c 20 28 29 0a 20 20 22 42 75 defun.package-build-all.()..."Bu
140a0 69 6c 64 20 61 20 70 61 63 6b 61 67 65 20 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 20 61 76 ild.a.package.for.each.of.the.av
140c0 61 69 6c 61 62 6c 65 20 72 65 63 69 70 65 73 2e 0a 49 66 20 60 70 61 63 6b 61 67 65 2d 62 75 69 ailable.recipes..If.`package-bui
140e0 6c 64 2d 70 72 65 64 69 63 61 74 65 2d 66 75 6e 63 74 69 6f 6e 27 20 69 73 20 6e 6f 6e 2d 6e 69 ld-predicate-function'.is.non-ni
14100 6c 2c 20 74 68 65 6e 20 6f 6e 6c 79 0a 70 61 63 6b 61 67 65 73 20 66 6f 72 20 77 68 69 63 68 20 l,.then.only.packages.for.which.
14120 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 72 65 20 62 75 69 6c 64 2e 22 that.returns.non-nil.are.build."
14140 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 73 74 61 72 74 ...(interactive)...(let*.((start
14160 20 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 63 69 70 .(current-time))..........(recip
14180 65 73 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 72 65 63 69 70 65 73 29 29 0a 20 20 20 es.(package-recipe-recipes))....
141a0 20 20 20 20 20 20 28 74 6f 74 61 6c 20 28 6c 65 6e 67 74 68 20 72 65 63 69 70 65 73 29 29 0a 20 ......(total.(length.recipes))..
141c0 20 20 20 20 20 20 20 20 28 73 75 63 63 65 73 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 73 6b 69 ........(success.0)..........ski
141e0 70 70 65 64 20 69 6e 76 61 6c 69 64 20 66 61 69 6c 65 64 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 pped.invalid.failed).....(dolist
14200 20 28 6e 61 6d 65 20 72 65 63 69 70 65 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 63 70 .(name.recipes).......(let.((rcp
14220 20 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 52 65 63 69 70 65 20 65 72 .(with-demoted-errors."Recipe.er
14240 72 6f 72 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 ror:.%S"....................(pac
14260 6b 61 67 65 2d 72 65 63 69 70 65 2d 6c 6f 6f 6b 75 70 20 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 kage-recipe-lookup.name)))).....
14280 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 72 63 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....(cond.((not.rcp)............
142a0 20 20 20 20 28 70 75 73 68 20 6e 61 6d 65 20 69 6e 76 61 6c 69 64 29 29 0a 20 20 20 20 20 20 20 ....(push.name.invalid))........
142c0 20 20 20 20 20 20 20 28 28 61 6e 64 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 70 72 65 64 69 .......((and.package-build-predi
142e0 63 61 74 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cate-function...................
14300 20 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 70 72 ..(not.(funcall.package-build-pr
14320 65 64 69 63 61 74 65 2d 66 75 6e 63 74 69 6f 6e 20 72 63 70 29 29 29 0a 20 20 20 20 20 20 20 20 edicate-function.rcp))).........
14340 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 61 6d 65 20 73 6b 69 70 70 65 64 29 29 0a 20 20 20 20 .......(push.name.skipped)).....
14360 20 20 20 20 20 20 20 20 20 20 28 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 ..........((with-demoted-errors.
14380 22 42 75 69 6c 64 20 65 72 72 6f 72 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "Build.error:.%S"...............
143a0 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 20 6e 61 6d 65 29 20 ...(package-build-archive.name).
143c0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 73 75 63 63 65 t)................(cl-incf.succe
143e0 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 70 75 73 68 20 6e 61 6d 65 20 66 ss))...............((push.name.f
14400 61 69 6c 65 64 29 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 75 72 61 74 69 6f 6e 20 28 ailed))))).....(let.((duration.(
14420 2f 20 28 66 6c 6f 61 74 2d 74 69 6d 65 20 28 74 69 6d 65 2d 73 75 62 74 72 61 63 74 20 28 63 75 /.(float-time.(time-subtract.(cu
14440 72 72 65 6e 74 2d 74 69 6d 65 29 20 73 74 61 72 74 29 29 20 36 30 29 29 29 0a 20 20 20 20 20 20 rrent-time).start)).60))).......
14460 28 69 66 20 28 6e 6f 74 20 28 6f 72 20 73 6b 69 70 70 65 64 20 69 6e 76 61 6c 69 64 20 66 61 69 (if.(not.(or.skipped.invalid.fai
14480 6c 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 75 63 63 65 73 led))...........(message."Succes
144a0 73 66 75 6c 6c 79 20 62 75 69 6c 74 20 61 6c 6c 20 25 73 20 70 61 63 6b 61 67 65 73 20 28 25 2e sfully.built.all.%s.packages.(%.
144c0 30 66 6d 29 22 20 74 6f 74 61 6c 20 64 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 6d 0fm)".total.duration).........(m
144e0 65 73 73 61 67 65 20 22 53 75 63 63 65 73 73 66 75 6c 6c 79 20 62 75 69 6c 74 20 25 69 20 6f 66 essage."Successfully.built.%i.of
14500 20 25 73 20 70 61 63 6b 61 67 65 73 20 28 25 2e 30 66 6d 29 22 0a 20 20 20 20 20 20 20 20 20 20 .%s.packages.(%.0fm)"...........
14520 20 20 20 20 20 20 20 73 75 63 63 65 73 73 20 74 6f 74 61 6c 20 64 75 72 61 74 69 6f 6e 29 0a 20 .......success.total.duration)..
14540 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 6b 69 70 70 65 64 0a 20 20 20 20 20 20 20 20 20 20 28 .......(when.skipped...........(
14560 6d 65 73 73 61 67 65 20 22 53 6b 69 70 70 65 64 20 25 69 20 70 61 63 6b 61 67 65 73 3a 5c 6e 25 message."Skipped.%i.packages:\n%
14580 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 73 6b s"....................(length.sk
145a0 69 70 70 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f ipped)....................(mapco
145c0 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 63 6f 6e 63 61 74 20 22 20 20 22 20 6e 29 ncat.(lambda.(n).(concat."..".n)
145e0 29 20 28 6e 72 65 76 65 72 73 65 20 73 6b 69 70 70 65 64 29 20 22 5c 6e 22 29 29 29 0a 20 20 20 ).(nreverse.skipped)."\n")))....
14600 20 20 20 20 20 28 77 68 65 6e 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 .....(when.invalid...........(me
14620 73 73 61 67 65 20 22 44 69 64 20 6e 6f 74 20 62 75 69 6c 74 20 70 61 63 6b 61 67 65 73 20 66 6f ssage."Did.not.built.packages.fo
14640 72 20 25 69 20 69 6e 76 61 6c 69 64 20 72 65 63 69 70 65 73 3a 5c 6e 25 73 22 0a 20 20 20 20 20 r.%i.invalid.recipes:\n%s"......
14660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 69 6e 76 61 6c 69 64 29 0a 20 ..............(length.invalid)..
14680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 ..................(mapconcat.(la
146a0 6d 62 64 61 20 28 6e 29 20 28 63 6f 6e 63 61 74 20 22 20 20 22 20 6e 29 29 20 28 6e 72 65 76 65 mbda.(n).(concat."..".n)).(nreve
146c0 72 73 65 20 69 6e 76 61 6c 69 64 29 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 rse.invalid)."\n"))).........(wh
146e0 65 6e 20 66 61 69 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 42 75 en.failed...........(message."Bu
14700 69 6c 64 69 6e 67 20 25 69 20 70 61 63 6b 61 67 65 73 20 66 61 69 6c 65 64 3a 5c 6e 25 73 22 0a ilding.%i.packages.failed:\n%s".
14720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 66 61 69 6c 65 ...................(length.faile
14740 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 d)....................(mapconcat
14760 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 63 6f 6e 63 61 74 20 22 20 20 22 20 6e 29 29 20 28 6e .(lambda.(n).(concat."..".n)).(n
14780 72 65 76 65 72 73 65 20 66 61 69 6c 65 64 29 20 22 5c 6e 22 29 29 29 29 29 29 0a 20 20 28 70 61 reverse.failed)."\n"))))))...(pa
147a0 63 6b 61 67 65 2d 62 75 69 6c 64 2d 64 75 6d 70 2d 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 ckage-build-dump-archive-content
147c0 73 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 63 6c 65 61 6e 75 s))..(defun.package-build-cleanu
147e0 70 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20 70 72 65 76 69 6f 75 73 6c 79 20 62 75 69 6c 74 20 p.()..."Remove.previously.built.
14800 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 76 65 20 72 65 63 packages.that.no.longer.have.rec
14820 69 70 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 70 61 63 6b 61 67 ipes."...(interactive)...(packag
14840 65 2d 62 75 69 6c 64 2d 64 75 6d 70 2d 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 29 29 0a e-build-dump-archive-contents)).
14860 0a 3b 3b 3b 20 41 72 63 68 69 76 65 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 .;;;.Archive..(defun.package-bui
14880 6c 64 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 ld-archive-alist.()..."Return.th
148a0 65 20 61 72 63 68 69 76 65 20 63 6f 6e 74 65 6e 74 73 2c 20 77 69 74 68 6f 75 74 20 75 70 64 61 e.archive.contents,.without.upda
148c0 74 69 6e 67 20 69 74 20 66 69 72 73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 65 ting.it.first."...(let.((file.(e
148e0 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 xpand-file-name."archive-content
14900 73 22 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 29 0a s".package-build-archive-dir))).
14920 20 20 20 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 ....(and.(file-exists-p.file)...
14940 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 .......(with-temp-buffer........
14960 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a ....(insert-file-contents.file).
14980 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 ...........(cdr.(read.(current-b
149a0 75 66 66 65 72 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 uffer)))))))..(defun.package-bui
149c0 6c 64 2d 64 75 6d 70 2d 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 20 28 26 6f 70 74 69 6f ld-dump-archive-contents.(&optio
149e0 6e 61 6c 20 66 69 6c 65 20 70 72 65 74 74 79 2d 70 72 69 6e 74 29 0a 20 20 22 55 70 64 61 74 65 nal.file.pretty-print)..."Update
14a00 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 61 72 63 68 69 76 65 20 63 6f 6e 74 65 6e 74 73 .and.return.the.archive.contents
14a20 2e 0a 0a 55 70 64 61 74 65 20 66 69 6c 65 73 20 5c 22 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e ...Update.files.\"archive-conten
14a40 74 73 5c 22 20 61 6e 64 20 5c 22 65 6c 70 61 2d 70 61 63 6b 61 67 65 73 2e 65 6c 64 5c 22 20 69 ts\".and.\"elpa-packages.eld\".i
14a60 6e 0a 60 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 27 2e 20 20 n.`package-build-archive-dir'...
14a80 49 66 20 6f 70 74 69 6f 6e 61 6c 20 46 49 4c 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 75 73 65 If.optional.FILE.is.non-nil,.use
14aa0 20 74 68 61 74 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 61 72 63 68 69 76 65 20 63 6f 6e 74 65 .that.to.store.the.archive.conte
14ac0 6e 74 73 20 61 6e 64 20 70 6c 61 63 65 20 74 68 65 20 73 65 63 6f 6e 64 0a 66 69 6c 65 20 6e 65 nts.and.place.the.second.file.ne
14ae0 78 74 20 74 6f 20 69 74 2e 0a 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 50 52 45 54 54 59 2d 50 52 xt.to.it...If.optional.PRETTY-PR
14b00 49 4e 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 70 72 65 74 74 79 2d 70 72 69 6e INT.is.non-nil,.then.pretty-prin
14b20 74 0a 5c 22 61 72 63 68 69 76 65 2d 63 6f 6e 74 65 6e 74 73 5c 22 20 69 6e 73 74 65 61 64 20 6f t.\"archive-contents\".instead.o
14b40 66 20 75 73 69 6e 67 20 6f 6e 65 20 6c 69 6e 65 20 70 65 72 20 65 6e 74 72 79 2e 0a 5c 22 65 6c f.using.one.line.per.entry..\"el
14b60 70 61 2d 70 61 63 6b 61 67 65 73 2e 65 6c 64 5c 22 20 61 6c 77 61 79 73 20 75 73 65 73 20 6f 6e pa-packages.eld\".always.uses.on
14b80 65 20 6c 69 6e 65 20 70 65 72 20 65 6e 74 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 e.line.per.entry."...(let.((defa
14ba0 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 ult-directory.package-build-arch
14bc0 69 76 65 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 6e 69 6c 29 0a 20 ive-dir).........(entries.nil)..
14be0 20 20 20 20 20 20 20 28 76 63 2d 70 6b 67 73 20 6e 69 6c 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 .......(vc-pkgs.nil)).....(dolis
14c00 74 20 28 66 69 6c 65 20 28 73 6f 72 74 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 t.(file.(sort.(directory-files.d
14c20 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 74 20 22 2e 2a 5c 5c 2e 65 6e 74 72 79 5c 5c efault-directory.t.".*\\.entry\\
14c40 27 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 '").........................;;.S
14c60 6f 72 74 20 6d 6f 72 65 20 72 65 63 65 6e 74 6c 79 20 62 75 69 6c 64 20 70 61 63 6b 61 67 65 73 ort.more.recently.build.packages
14c80 20 66 69 72 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .first..........................
14ca0 23 27 66 69 6c 65 2d 6e 65 77 65 72 2d 74 68 61 6e 2d 66 69 6c 65 2d 70 29 29 0a 20 20 20 20 20 #'file-newer-than-file-p))......
14cc0 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 79 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 .(let*.((entry.(with-temp-buffer
14ce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 .......................(insert-f
14d00 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-contents.file)..............
14d20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 .........(read.(current-buffer))
14d40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 20 28 63 61 72 20 65 6e 74 ))..............(symbol.(car.ent
14d60 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d ry))..............(name.(symbol-
14d80 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 64 name.symbol))..............(outd
14da0 61 74 65 64 20 28 61 73 73 71 20 73 79 6d 62 6f 6c 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 ated.(assq.symbol.entries)))....
14dc0 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 66 69 6c 65 2d .....(cond..........((not.(file-
14de0 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 20 exists-p.(expand-file-name.name.
14e00 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 29 29 29 0a 20 20 20 package-build-recipes-dir)))....
14e20 20 20 20 20 20 20 20 3b 3b 20 52 65 63 69 70 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 .......;;.Recipe.corresponding.t
14e40 6f 20 74 68 69 73 20 65 6e 74 72 79 20 6e 6f 20 6c 6f 6e 67 65 72 20 65 78 69 73 74 73 2e 0a 20 o.this.entry.no.longer.exists...
14e60 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 72 65 6d 6f 76 65 2d .........(package-build--remove-
14e80 61 72 63 68 69 76 65 2d 66 69 6c 65 73 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 archive-files.entry))..........(
14ea0 6f 75 74 64 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 50 72 65 66 65 72 20 74 68 65 outdated...........;;.Prefer.the
14ec0 20 6d 6f 72 65 20 72 65 63 65 6e 74 6c 79 20 62 75 69 6c 74 20 70 61 63 6b 61 67 65 2c 20 77 68 .more.recently.built.package,.wh
14ee0 69 63 68 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 65 63 65 73 73 61 ich.may.not...........;;.necessa
14f00 72 69 6c 79 20 68 61 76 65 20 74 68 65 20 68 69 67 68 65 73 74 20 76 65 72 73 69 6f 6e 20 6e 75 rily.have.the.highest.version.nu
14f20 6d 62 65 72 2c 20 65 2e 67 2e 2c 20 69 66 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6d 6d mber,.e.g.,.if...........;;.comm
14f40 69 74 20 68 69 73 74 6f 72 69 65 73 20 77 65 72 65 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 it.histories.were.changed.......
14f60 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 72 65 6d 6f 76 65 2d 61 72 63 68 .....(package-build--remove-arch
14f80 69 76 65 2d 66 69 6c 65 73 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 ive-files.entry))..........(t...
14fa0 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 20 ........(push.entry.entries)....
14fc0 20 20 20 20 20 20 20 3b 3b 20 5b 4e 6f 6e 5d 47 4e 55 20 45 4c 50 41 20 72 65 63 69 70 65 73 20 .......;;.[Non]GNU.ELPA.recipes.
14fe0 61 72 65 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 4d 65 6c 70 61 20 72 65 are.not.compatible.with.Melpa.re
15000 63 69 70 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 65 20 61 72 6f 75 6e 64 20 6f cipes............;;.See.around.o
15020 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 22 70 6b 67 2d 73 70 65 63 22 20 69 6e 20 22 70 61 63 ccurrences.of."pkg-spec".in."pac
15040 6b 61 67 65 2d 76 63 2e 65 6c 22 3b 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 65 63 74 69 6f kage-vc.el";...........;;.sectio
15060 6e 20 22 53 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 28 65 6c 70 61 2d 70 61 63 6b 61 67 65 73 n."Specifications.(elpa-packages
15080 29 22 20 69 6e 20 22 52 45 41 44 4d 45 22 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 )".in."README".of.the...........
150a0 3b 3b 20 22 65 6c 70 61 2d 61 64 6d 69 6e 22 20 62 72 61 6e 63 68 20 69 6e 20 22 65 6d 61 63 73 ;;."elpa-admin".branch.in."emacs
150c0 2f 65 6c 70 61 2e 67 69 74 22 20 72 65 70 6f 73 69 74 6f 72 79 3b 20 61 6e 64 20 61 6c 73 6f 0a /elpa.git".repository;.and.also.
150e0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 65 6c 70 61 61 2d 2d 73 75 70 70 6f 72 74 65 64 2d 6b ..........;;.`elpaa--supported-k
15100 65 79 77 6f 72 64 73 27 20 61 6e 64 20 60 65 6c 70 61 61 2d 2d 70 75 62 6c 69 73 68 2d 70 61 63 eywords'.and.`elpaa--publish-pac
15120 6b 61 67 65 2d 73 70 65 63 27 2e 0a 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 2d 6c 65 74 2a 20 kage-spec'............(and-let*.
15140 28 28 72 65 63 69 70 65 20 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 52 ((recipe.(with-demoted-errors."R
15160 65 63 69 70 65 20 65 72 72 6f 72 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ecipe.error:.%S"................
15180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d ................(package-recipe-
151a0 6c 6f 6f 6b 75 70 20 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 lookup.name)))).............(pus
151c0 68 20 60 28 2c 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.`(,symbol.....................
151e0 3a 75 72 6c 20 2c 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 2d 75 70 73 74 72 65 61 6d 2d :url.,(package-recipe--upstream-
15200 75 72 6c 20 72 65 63 69 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 url.recipe).....................
15220 2c 40 28 61 6e 64 20 28 63 6c 2d 74 79 70 65 70 20 72 65 63 69 70 65 20 27 70 61 63 6b 61 67 65 ,@(and.(cl-typep.recipe.'package
15240 2d 68 67 2d 72 65 63 69 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -hg-recipe).....................
15260 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 76 63 2d 62 61 63 6b 65 6e 64 20 27 48 67 29 29 0a 20 .......(list.:vc-backend.'Hg))..
15280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 2d 6c 65 74 2a 20 28 ...................,@(and-let*.(
152a0 28 62 72 61 6e 63 68 20 28 6f 72 65 66 20 72 65 63 69 70 65 20 62 72 61 6e 63 68 29 29 29 0a 20 (branch.(oref.recipe.branch)))..
152c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 62 72 .......................(list.:br
152e0 61 6e 63 68 20 62 72 61 6e 63 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 anch.branch)))..................
15300 20 76 63 2d 70 6b 67 73 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 65 6e 74 72 69 65 73 .vc-pkgs)))))).....(setq.entries
15320 20 28 63 6c 2d 73 6f 72 74 20 65 6e 74 72 69 65 73 20 23 27 73 74 72 69 6e 67 3c 20 3a 6b 65 79 .(cl-sort.entries.#'string<.:key
15340 20 23 27 63 61 72 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 6f 72 .#'car)).....(with-temp-file.(or
15360 20 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 61 72 63 68 69 76 65 .file.(expand-file-name."archive
15380 2d 63 6f 6e 74 65 6e 74 73 22 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d -contents")).......(let.((print-
153a0 6c 65 76 65 6c 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 level.nil).............(print-le
153c0 6e 67 74 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 70 72 65 74 74 79 2d 70 72 ngth.nil)).........(if.pretty-pr
153e0 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 70 20 28 63 6f 6e 73 20 31 20 65 6e 74 72 int.............(pp.(cons.1.entr
15400 69 65 73 29 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 ies).(current-buffer))..........
15420 20 28 69 6e 73 65 72 74 20 22 28 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 .(insert."(1")...........(dolist
15440 20 28 65 6e 74 72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 .(entry.entries).............(ne
15460 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 22 29 0a wline).............(insert.".").
15480 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 65 6e 74 72 79 20 28 63 75 72 72 65 6e ............(prin1.entry.(curren
154a0 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 t-buffer)))...........(insert.")
154c0 5c 6e 22 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 76 63 2d 70 6b 67 73 20 28 63 6c 2d 73 6f \n")))).....(setq.vc-pkgs.(cl-so
154e0 72 74 20 76 63 2d 70 6b 67 73 20 23 27 73 74 72 69 6e 67 3c 20 3a 6b 65 79 20 23 27 63 61 72 29 rt.vc-pkgs.#'string<.:key.#'car)
15500 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 ).....(with-temp-file.(expand-fi
15520 6c 65 2d 6e 61 6d 65 20 22 65 6c 70 61 2d 70 61 63 6b 61 67 65 73 2e 65 6c 64 22 0a 20 20 20 20 le-name."elpa-packages.eld".....
15540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15560 20 20 28 61 6e 64 20 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 ..(and.file.(file-name-nondirect
15580 6f 72 79 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6e 74 2d 6c ory.file))).......(let.((print-l
155a0 65 76 65 6c 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 6e evel.nil).............(print-len
155c0 67 74 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 28 22 29 0a gth.nil)).........(insert."((").
155e0 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 28 63 61 72 20 76 63 2d 70 6b 67 73 29 20 28 63 75 ........(prin1.(car.vc-pkgs).(cu
15600 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 rrent-buffer)).........(dolist.(
15620 65 6e 74 72 79 20 28 63 64 72 20 76 63 2d 70 6b 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 entry.(cdr.vc-pkgs))...........(
15640 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 22 29 newline)...........(insert."..")
15660 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 65 6e 74 72 79 20 28 63 75 72 72 65 6e 74 ...........(prin1.entry.(current
15680 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 5c 6e 20 -buffer))).........(insert.")\n.
156a0 3a 76 65 72 73 69 6f 6e 20 31 20 3a 64 65 66 61 75 6c 74 2d 76 63 20 47 69 74 29 5c 6e 22 29 29 :version.1.:default-vc.Git)\n"))
156c0 29 0a 20 20 20 20 65 6e 74 72 69 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d ).....entries))..(defun.package-
156e0 62 75 69 6c 64 2d 2d 72 65 6d 6f 76 65 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 73 20 28 61 72 63 build--remove-archive-files.(arc
15700 68 69 76 65 2d 65 6e 74 72 79 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 65 6e 74 72 79 20 hive-entry)..."Remove.the.entry.
15720 61 6e 64 20 61 72 63 68 69 76 65 20 66 69 6c 65 20 66 6f 72 20 41 52 43 48 49 56 45 2d 45 4e 54 and.archive.file.for.ARCHIVE-ENT
15740 52 59 2e 22 0a 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 6d 65 73 73 61 67 65 20 22 RY."...(package-build--message."
15760 52 65 6d 6f 76 69 6e 67 20 61 72 63 68 69 76 65 3a 20 25 73 2d 25 73 22 0a 20 20 20 20 20 20 20 Removing.archive:.%s-%s"........
15780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 61 72 63 68 69 76 65 2d ...................(car.archive-
157a0 65 6e 74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entry)..........................
157c0 20 28 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 28 61 72 65 66 20 28 63 64 .(package-version-join.(aref.(cd
157e0 72 20 61 72 63 68 69 76 65 2d 65 6e 74 72 79 29 20 30 29 29 29 0a 20 20 28 6c 65 74 20 28 28 66 r.archive-entry).0)))...(let.((f
15800 69 6c 65 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 61 72 74 69 66 61 63 74 2d 66 69 6c ile.(package-build--artifact-fil
15820 65 20 61 72 63 68 69 76 65 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 66 69 e.archive-entry))).....(when.(fi
15840 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d le-exists-p.file).......(delete-
15860 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 70 61 63 6b file.file)))...(let.((file.(pack
15880 61 67 65 2d 62 75 69 6c 64 2d 2d 61 72 63 68 69 76 65 2d 65 6e 74 72 79 2d 66 69 6c 65 20 61 72 age-build--archive-entry-file.ar
158a0 63 68 69 76 65 2d 65 6e 74 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 65 chive-entry))).....(when.(file-e
158c0 78 69 73 74 73 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 xists-p.file).......(delete-file
158e0 20 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d .file))))..(defun.package-build-
15900 2d 61 72 74 69 66 61 63 74 2d 66 69 6c 65 20 28 61 72 63 68 69 76 65 2d 65 6e 74 72 79 29 0a 20 -artifact-file.(archive-entry)..
15920 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 72 74 69 66 61 63 74 20 66 69 6c 65 20 66 6f 72 20 74 ."Return.the.artifact.file.for.t
15940 68 65 20 70 61 63 6b 61 67 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 41 52 43 48 49 56 45 2d he.package.specified.by.ARCHIVE-
15960 45 4e 54 52 59 2e 0a 54 68 69 73 20 69 73 20 65 69 74 68 65 72 20 61 20 74 61 72 62 61 6c 6c 20 ENTRY..This.is.either.a.tarball.
15980 6f 72 20 61 6e 20 45 6c 69 73 70 20 66 69 6c 65 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a or.an.Elisp.file."...(pcase-let*
159a0 20 28 28 60 28 2c 6e 61 6d 65 20 2e 20 2c 64 65 73 63 29 20 61 72 63 68 69 76 65 2d 65 6e 74 72 .((`(,name...,desc).archive-entr
159c0 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 70 61 63 6b y)................(version.(pack
159e0 61 67 65 2d 76 65 72 73 69 6f 6e 2d 6a 6f 69 6e 20 28 61 72 65 66 20 64 65 73 63 20 30 29 29 29 age-version-join.(aref.desc.0)))
15a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 61 76 6f 75 72 20 28 61 72 65 66 20 64 ................(flavour.(aref.d
15a20 65 73 63 20 33 29 29 29 0a 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 esc.3))).....(expand-file-name..
15a40 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 73 2e 25 73 22 20 6e 61 6d 65 20 76 65 72 73 ....(format."%s-%s.%s".name.vers
15a60 69 6f 6e 20 28 69 66 20 28 65 71 20 66 6c 61 76 6f 75 72 20 27 73 69 6e 67 6c 65 29 20 22 65 6c ion.(if.(eq.flavour.'single)."el
15a80 22 20 22 74 61 72 22 29 29 0a 20 20 20 20 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 "."tar"))......package-build-arc
15aa0 68 69 76 65 2d 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c hive-dir)))..(defun.package-buil
15ac0 64 2d 2d 61 72 63 68 69 76 65 2d 65 6e 74 72 79 2d 66 69 6c 65 20 28 61 72 63 68 69 76 65 2d 65 d--archive-entry-file.(archive-e
15ae0 6e 74 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 6c 65 20 69 6e 20 77 68 69 63 ntry)..."Return.the.file.in.whic
15b00 68 20 41 52 43 48 49 56 45 2d 45 4e 54 52 59 20 73 68 6f 75 6c 64 20 62 65 20 73 74 6f 72 65 64 h.ARCHIVE-ENTRY.should.be.stored
15b20 2e 0a 41 52 43 48 49 56 45 2d 45 4e 54 52 59 20 63 6f 6e 74 61 69 6e 73 20 69 6e 66 6f 72 6d 61 ..ARCHIVE-ENTRY.contains.informa
15b40 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 73 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 tion.about.a.specific.version.of
15b60 0a 61 20 70 61 63 6b 61 67 65 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c .a.package."...(pcase-let*.((`(,
15b80 6e 61 6d 65 20 2e 20 2c 64 65 73 63 29 20 61 72 63 68 69 76 65 2d 65 6e 74 72 79 29 0a 20 20 20 name...,desc).archive-entry)....
15ba0 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 28 70 61 63 6b 61 67 65 2d 76 65 ............(version.(package-ve
15bc0 72 73 69 6f 6e 2d 6a 6f 69 6e 20 28 61 72 65 66 20 64 65 73 63 20 30 29 29 29 29 0a 20 20 20 20 rsion-join.(aref.desc.0)))).....
15be0 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 (expand-file-name......(format."
15c00 25 73 2d 25 73 2e 65 6e 74 72 79 22 20 6e 61 6d 65 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 %s-%s.entry".name.version)......
15c20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 64 69 72 29 29 29 0a 0a 3b 3b package-build-archive-dir)))..;;
15c40 3b 20 4a 73 6f 6e 20 45 78 70 6f 72 74 73 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 ;.Json.Exports..(defun.package-b
15c60 75 69 6c 64 2d 72 65 63 69 70 65 2d 61 6c 69 73 74 2d 61 73 2d 6a 73 6f 6e 20 28 66 69 6c 65 29 uild-recipe-alist-as-json.(file)
15c80 0a 20 20 22 44 75 6d 70 20 74 68 65 20 72 65 63 69 70 65 20 6c 69 73 74 20 74 6f 20 46 49 4c 45 ..."Dump.the.recipe.list.to.FILE
15ca0 20 61 73 20 6a 73 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 46 44 75 6d 70 .as.json."...(interactive."FDump
15cc0 20 6a 73 6f 6e 20 74 6f 20 66 69 6c 65 3a 20 22 29 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 .json.to.file:.")...(with-temp-f
15ce0 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 28 6a 73 6f 6e 2d ile.file.....(insert......(json-
15d00 65 6e 63 6f 64 65 0a 20 20 20 20 20 20 28 63 6c 2d 6d 61 70 63 61 6e 0a 20 20 20 20 20 20 20 28 encode.......(cl-mapcan........(
15d20 6c 61 6d 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 64 65 6d lambda.(name)..........(with-dem
15d40 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 52 65 63 69 70 65 20 65 72 72 6f 72 3a 20 25 53 22 0a 20 oted-errors."Recipe.error:.%S"..
15d60 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 70 61 63 6b 61 67 65 2d 72 65 63 69 70 65 2d 6c ..........(and.(package-recipe-l
15d80 6f 6f 6b 75 70 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 ookup.name).................(wit
15da0 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-temp-buffer...................
15dc0 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 (insert-file-contents...........
15de0 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 20 .........(expand-file-name.name.
15e00 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 72 65 63 69 70 65 73 2d 64 69 72 29 29 0a 20 20 20 20 package-build-recipes-dir)).....
15e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78 70 20 28 72 65 61 64 20 28 ..............(let.((exp.(read.(
15e40 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 current-buffer))))..............
15e60 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 28 63 64 72 20 .......(when.(plist-member.(cdr.
15e80 65 78 70 29 20 3a 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 exp).:files)....................
15ea0 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 64 72 20 65 78 70 29 20 3a 66 69 6c 65 73 0a 20 ...(plist-put.(cdr.exp).:files..
15ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15ee0 28 66 6f 72 6d 61 74 20 22 25 53 22 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 72 20 65 78 70 (format."%S".(plist-get.(cdr.exp
15f00 29 20 3a 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).:files))))....................
15f20 20 28 6c 69 73 74 20 65 78 70 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 70 61 63 6b 61 67 65 .(list.exp))))))........(package
15f40 2d 72 65 63 69 70 65 2d 72 65 63 69 70 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 -recipe-recipes))))))..(defun.pa
15f60 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 2d 69 6e 66 6f 2d 66 6f 72 2d 6a 73 6f 6e 20 28 ckage-build--pkg-info-for-json.(
15f80 69 6e 66 6f 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 49 4e 46 4f 20 73 6f 20 74 68 61 74 20 69 74 info)..."Convert.INFO.so.that.it
15fa0 20 63 61 6e 20 62 65 20 73 65 72 69 61 6c 69 7a 65 20 74 6f 20 4a 53 4f 4e 20 69 6e 20 74 68 65 .can.be.serialize.to.JSON.in.the
15fc0 20 64 65 73 69 72 65 64 20 73 68 61 70 65 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 .desired.shape."...(pcase-let.((
15fe0 60 28 2c 76 65 72 20 2c 64 65 70 73 20 2c 64 65 73 63 20 2c 74 79 70 65 20 2e 20 28 2c 70 72 6f `(,ver.,deps.,desc.,type...(,pro
16000 70 73 29 29 20 28 61 70 70 65 6e 64 20 69 6e 66 6f 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 6c 69 ps)).(append.info.nil))).....(li
16020 73 74 20 3a 76 65 72 20 76 65 72 0a 20 20 20 20 20 20 20 20 20 20 3a 64 65 70 73 20 28 63 6c 2d st.:ver.ver...........:deps.(cl-
16040 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 64 65 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 mapcan.(lambda.(dep)............
16060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 ..................(list.(intern.
16080 28 66 6f 72 6d 61 74 20 22 3a 25 73 22 20 28 63 61 72 20 64 65 70 29 29 29 0a 20 20 20 20 20 20 (format.":%s".(car.dep))).......
160a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 .............................(ca
160c0 64 72 20 64 65 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dr.dep))).......................
160e0 20 20 20 20 20 64 65 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 20 64 65 73 63 0a .....deps)...........:desc.desc.
16100 20 20 20 20 20 20 20 20 20 20 3a 74 79 70 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 3a ..........:type.type...........:
16120 70 72 6f 70 73 20 70 72 6f 70 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 props.props)))..(defun.package-b
16140 75 69 6c 64 2d 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 2d 66 6f 72 2d 6a 73 6f 6e 20 28 29 0a uild--archive-alist-for-json.().
16160 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61 72 63 68 69 76 65 20 61 6c 69 73 74 20 69 6e 20 61 .."Return.the.archive.alist.in.a
16180 20 66 6f 72 6d 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 4a 53 4f 4e 20 65 6e 63 6f 64 69 6e 67 .form.suitable.for.JSON.encoding
161a0 2e 22 0a 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 66 6f 72 6d 61 74 2d 70 65 72 73 6f 6e 0a 20 20 ."...(cl-flet.((format-person...
161c0 20 20 20 20 20 20 20 20 20 20 20 28 70 65 72 73 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........(person).............
161e0 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 63 61 72 20 70 65 72 73 6f 6e 29 29 0a 20 20 20 20 20 .(let.((name.(car.person))......
16200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69 6c 20 28 63 64 72 20 70 65 72 73 6f 6e 29 ..............(mail.(cdr.person)
16220 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 6e 61 6d 65 20 ))................(if.(and.name.
16240 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 mail)....................(format
16260 20 22 25 73 20 3c 25 73 3e 22 20 6e 61 6d 65 20 6d 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ."%s.<%s>".name.mail)...........
16280 20 20 20 20 20 20 20 28 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(or.name.................
162a0 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 25 73 3e 22 20 6d 61 69 6c 29 29 29 29 29 29 0a 20 .....(format."<%s>".mail))))))..
162c0 20 20 20 28 63 6c 2d 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 ...(cl-mapcan.(lambda.(entry)...
162e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 28 66 6f ...............(list.(intern.(fo
16300 72 6d 61 74 20 22 3a 25 73 22 20 28 63 61 72 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20 rmat.":%s".(car.entry)))........
16320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 66 6f 20 28 63 64 ................(let*.((info.(cd
16340 72 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.entry)).......................
16360 20 20 20 20 20 20 20 20 28 65 78 74 72 61 20 28 61 72 65 66 20 69 6e 66 6f 20 34 29 29 0a 20 20 ........(extra.(aref.info.4))...
16380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69 ............................(mai
163a0 6e 74 61 69 6e 65 72 20 28 61 73 73 71 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 65 78 74 72 61 29 ntainer.(assq.:maintainer.extra)
163c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
163e0 28 6d 61 69 6e 74 61 69 6e 65 72 73 20 28 61 73 73 71 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 (maintainers.(assq.:maintainers.
16400 65 78 74 72 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 extra)).........................
16420 20 20 20 20 20 20 28 61 75 74 68 6f 72 73 20 28 61 73 73 71 20 3a 61 75 74 68 6f 72 73 20 65 78 ......(authors.(assq.:authors.ex
16440 74 72 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tra)))..........................
16460 28 77 68 65 6e 20 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (when.maintainer................
16480 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 6d 61 69 6e 74 61 69 6e 65 72 0a 20 ............(setcdr.maintainer..
164a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
164c0 20 20 28 66 6f 72 6d 61 74 2d 70 65 72 73 6f 6e 20 28 63 64 72 20 6d 61 69 6e 74 61 69 6e 65 72 ..(format-person.(cdr.maintainer
164e0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ))))..........................(w
16500 68 65 6e 20 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hen.maintainers.................
16520 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 6c 2d 65 76 65 72 79 20 23 27 6c 69 73 74 70 ...........(if.(cl-every.#'listp
16540 20 28 63 64 72 20 6d 61 69 6e 74 61 69 6e 65 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.maintainers)).............
16560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 6d 61 69 6e 74 ...................(setcdr.maint
16580 61 69 6e 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ainers..........................
165a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 66 6f 72 6d 61 74 2d 70 ..............(mapcar.#'format-p
165c0 65 72 73 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erson...........................
165e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 6d 61 69 6e 74 61 .....................(cdr.mainta
16600 69 6e 65 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iners)))........................
16620 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 3b 20 73 69 6c 65 6e 63 ......(setq.maintainers.;.silenc
16640 65 20 3e 3d 20 33 30 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.>=.30.compiler................
16660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 71 2d 64 65 6c 65 74 65 ....................(assq-delete
16680 2d 61 6c 6c 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 65 78 74 72 61 29 29 29 29 0a 20 20 20 20 -all.:maintainers.extra)))).....
166a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 61 75 74 68 6f .....................(when.autho
166c0 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 rs............................(i
166e0 66 20 28 63 6c 2d 65 76 65 72 79 20 23 27 6c 69 73 74 70 20 28 63 64 72 20 61 75 74 68 6f 72 73 f.(cl-every.#'listp.(cdr.authors
16700 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
16720 20 20 28 73 65 74 63 64 72 20 61 75 74 68 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(setcdr.authors...............
16740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 .........................(mapcar
16760 20 23 27 66 6f 72 6d 61 74 2d 70 65 72 73 6f 6e 20 28 63 64 72 20 61 75 74 68 6f 72 73 29 29 29 .#'format-person.(cdr.authors)))
16780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..............................(s
167a0 65 74 71 20 61 75 74 68 6f 72 73 20 3b 20 73 69 6c 65 6e 63 65 20 3e 3d 20 33 30 20 63 6f 6d 70 etq.authors.;.silence.>=.30.comp
167c0 69 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iler............................
167e0 20 20 20 20 20 20 20 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 3a 61 75 74 68 6f 72 ........(assq-delete-all.:author
16800 73 20 65 78 74 72 61 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.extra)))).....................
16820 20 20 20 20 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 2d 70 6b 67 2d 69 6e 66 6f 2d 66 6f .....(package-build--pkg-info-fo
16840 72 2d 6a 73 6f 6e 20 69 6e 66 6f 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 r-json.info))))................(
16860 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 29 29 29 29 0a package-build-archive-alist)))).
16880 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 61 72 63 68 69 76 65 2d 61 6c .(defun.package-build-archive-al
168a0 69 73 74 2d 61 73 2d 6a 73 6f 6e 20 28 66 69 6c 65 29 0a 20 20 22 44 75 6d 70 20 74 68 65 20 62 ist-as-json.(file)..."Dump.the.b
168c0 75 69 6c 64 20 70 61 63 6b 61 67 65 73 20 6c 69 73 74 20 74 6f 20 46 49 4c 45 20 61 73 20 6a 73 uild.packages.list.to.FILE.as.js
168e0 6f 6e 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 66 69 6c 65 0a 20 20 20 20 on."...(with-temp-file.file.....
16900 28 69 6e 73 65 72 74 20 28 6a 73 6f 6e 2d 65 6e 63 6f 64 65 20 28 70 61 63 6b 61 67 65 2d 62 75 (insert.(json-encode.(package-bu
16920 69 6c 64 2d 2d 61 72 63 68 69 76 65 2d 61 6c 69 73 74 2d 66 6f 72 2d 6a 73 6f 6e 29 29 29 29 29 ild--archive-alist-for-json)))))
16940 0a 0a 3b 3b 3b 20 5f 0a 0a 28 70 72 6f 76 69 64 65 20 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 ..;;;._..(provide.'package-build
16960 29 0a 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 ).;;;.package-build.el.ends.here
16980 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a00 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 32 30 32 34 30 34 31 35 2e 31 35 34 37 2f 70 61 63 6b package-build-20240415.1547/pack
16a20 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 73 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 age-build-badges.el.............
16a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
16a80 30 30 31 32 36 36 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 37 37 35 34 00 20 30 00 00 00 0012667.00000000000.017754..0...
16aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c00 3b 3b 3b 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 73 2e 65 6c 20 2d 2d 2d 20 ;;;.package-build-badges.el.---.
16c20 43 72 65 61 74 65 20 62 61 64 67 65 73 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 20 2d 2a 2d 20 Create.badges.for.packages..-*-.
16c40 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 3b 20 63 6f 64 69 6e 67 3a 75 74 66 2d 38 20 lexical-binding:t;.coding:utf-8.
16c60 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 31 2d 32 30 32 34 20 -*-..;;.Copyright.(C).2011-2024.
16c80 44 6f 6e 61 6c 64 20 45 70 68 72 61 69 6d 20 43 75 72 74 69 73 0a 3b 3b 20 43 6f 70 79 72 69 67 Donald.Ephraim.Curtis.;;.Copyrig
16ca0 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 34 20 53 74 65 76 65 20 50 75 72 63 65 6c 6c 0a 3b ht.(C).2012-2024.Steve.Purcell.;
16cc0 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 38 2d 32 30 32 34 20 4a 6f 6e 61 73 20 ;.Copyright.(C).2018-2024.Jonas.
16ce0 42 65 72 6e 6f 75 6c 6c 69 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 31 2d Bernoulli.;;.Copyright.(C).2021-
16d00 32 30 32 33 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 2023.Free.Software.Foundation,.I
16d20 6e 63 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 39 20 50 68 69 6c 20 48 61 nc.;;.Copyright.(C).2009.Phil.Ha
16d40 67 65 6c 62 65 72 67 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 6f 6e 61 6c 64 20 45 70 68 72 61 gelberg..;;.Author:.Donald.Ephra
16d60 69 6d 20 43 75 72 74 69 73 20 3c 64 63 75 72 74 69 73 40 6d 69 6c 6b 62 6f 78 2e 6e 65 74 3e 0a im.Curtis.<dcurtis@milkbox.net>.
16d80 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ;;.Homepage:.https://github.com/
16da0 6d 65 6c 70 61 2f 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a melpa/package-build.;;.Keywords:
16dc0 20 6d 61 69 6e 74 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 .maint.tools..;;.SPDX-License-Id
16de0 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 0a 0a 3b 3b 20 54 entifier:.GPL-3.0-or-later..;;.T
16e00 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 his.file.is.free.software:.you.c
16e20 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 an.redistribute.it.and/or.modify
16e40 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e .;;.it.under.the.terms.of.the.GN
16e60 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c U.General.Public.License.as.publ
16e80 69 73 68 65 64 0a 3b 3b 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f ished.;;.by.the.Free.Software.Fo
16ea0 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 undation,.either.version.3.of.th
16ec0 65 20 4c 69 63 65 6e 73 65 2c 0a 3b 3b 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e e.License,.;;.or.(at.your.option
16ee0 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 ).any.later.version..;;.;;.This.
16f00 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 file.is.distributed.in.the.hope.
16f20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 that.it.will.be.useful,.;;.but.W
16f40 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 ITHOUT.ANY.WARRANTY;.without.eve
16f60 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 n.the.implied.warranty.of.;;.MER
16f80 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY.or.FITNESS.FOR.A.PA
16fa0 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e RTICULAR.PURPOSE...See.the.;;.GN
16fc0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
16fe0 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 e.details..;;.;;.You.should.have
17000 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 .received.a.copy.of.the.GNU.Gene
17020 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 ral.Public.License.;;.along.with
17040 20 74 68 69 73 20 66 69 6c 65 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a .this.file...If.not,.see.<https:
17060 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 //www.gnu.org/licenses/>...;;;.C
17080 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 43 72 65 61 74 65 20 62 61 64 67 65 73 20 66 6f 72 ommentary:..;;.Create.badges.for
170a0 20 70 61 63 6b 61 67 65 73 2e 0a 3b 3b 20 54 68 65 20 63 6f 64 65 20 69 6e 20 74 68 69 73 20 66 .packages..;;.The.code.in.this.f
170c0 69 6c 65 20 77 61 73 20 6c 69 66 74 65 64 20 66 72 6f 6d 20 60 65 6c 70 61 2d 61 64 6d 69 6e 27 ile.was.lifted.from.`elpa-admin'
170e0 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 64 65 66 76 61 72 20 70 61 63 6b 61 67 65 2d 62 75 ...;;;.Code:..(defvar.package-bu
17100 69 6c 64 2d 62 61 64 67 65 2d 64 61 74 61 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d ild-badge-data)..(defun.package-
17120 62 75 69 6c 64 2d 2d 77 72 69 74 65 2d 62 61 64 67 65 2d 69 6d 61 67 65 20 28 20 6e 61 6d 65 20 build--write-badge-image.(.name.
17140 76 65 72 73 69 6f 6e 20 74 61 72 67 65 74 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 version.target-dir..............
17160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 .............................&op
17180 74 69 6f 6e 61 6c 20 61 72 63 68 69 76 65 20 63 6f 6c 6f 72 29 0a 20 20 22 4d 61 6b 65 20 62 61 tional.archive.color)..."Make.ba
171a0 64 67 65 20 73 76 67 20 66 69 6c 65 2e 0a 54 68 69 73 20 69 73 20 65 73 73 65 6e 74 69 61 6c 6c dge.svg.file..This.is.essentiall
171c0 79 20 61 20 63 6f 70 79 20 6f 66 20 60 65 6c 70 61 61 2d 2d 6d 61 6b 65 2d 62 61 64 67 65 27 2e y.a.copy.of.`elpaa--make-badge'.
171e0 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 "...(let*.((file.(expand-file-na
17200 6d 65 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 22 2d 62 61 64 67 65 2e 73 76 67 22 29 20 74 61 me.(concat.name."-badge.svg").ta
17220 72 67 65 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 66 74 20 28 6f 72 20 61 72 rget-dir))..........(left.(or.ar
17240 63 68 69 76 65 20 28 63 61 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 2d 64 chive.(car.package-build-badge-d
17260 61 74 61 29 20 22 6d 79 45 6c 70 61 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 69 67 68 74 20 ata)."myElpa"))..........(right.
17280 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 28 6f 72 20 63 6f 6c version)..........(color.(or.col
172a0 6f 72 20 28 63 61 64 72 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 2d 64 61 74 or.(cadr.package-build-badge-dat
172c0 61 29 20 22 23 66 66 34 39 31 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 77 20 28 70 61 63 a)."#ff491b"))..........(lw.(pac
172e0 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 2d 2d 73 74 72 69 6e 67 2d 77 69 64 74 68 20 6c kage-build-badge--string-width.l
17300 65 66 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 77 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c eft))..........(rw.(package-buil
17320 64 2d 62 61 64 67 65 2d 2d 73 74 72 69 6e 67 2d 77 69 64 74 68 20 72 69 67 68 74 29 29 0a 20 20 d-badge--string-width.right))...
17340 20 20 20 20 20 20 20 28 70 61 64 20 28 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 .......(pad.(package-build-badge
17360 2d 2d 73 74 72 69 6e 67 2d 77 69 64 74 68 20 22 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 --string-width."x"))..........(w
17380 69 64 74 68 20 28 2f 20 28 2b 20 6c 77 20 72 77 20 28 2a 20 34 20 70 61 64 29 29 20 31 30 29 29 idth.(/.(+.lw.rw.(*.4.pad)).10))
173a0 0a 20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74 20 2d 31 30 29 20 3b 3b 20 53 6d 61 6c 6c 20 ..........(offset.-10).;;.Small.
173c0 61 6c 69 67 6e 6d 65 6e 74 20 63 6f 72 72 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 28 63 alignment.correction..........(c
173e0 74 78 20 60 28 28 6f 66 66 73 65 74 20 2e 20 2c 6f 66 66 73 65 74 29 0a 20 20 20 20 20 20 20 20 tx.`((offset...,offset).........
17400 20 20 20 20 20 20 20 20 28 6c 65 66 74 20 2e 20 2c 6c 65 66 74 29 0a 20 20 20 20 20 20 20 20 20 ........(left...,left)..........
17420 20 20 20 20 20 20 20 28 72 69 67 68 74 20 2e 20 2c 72 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 .......(right...,right).........
17440 20 20 20 20 20 20 20 20 28 6c 77 20 2e 20 2c 6c 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(lw...,lw)..............
17460 20 20 20 28 72 77 20 2e 20 2c 72 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ...(rw...,rw).................(w
17480 69 64 74 68 20 2e 20 2c 77 69 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 idth...,width).................(
174a0 63 6f 6c 6f 72 20 2e 20 2c 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 color...,color).................
174c0 28 70 61 64 20 2e 20 2c 70 61 64 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 (pad...,pad)))).....(with-temp-b
174e0 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 20 20 28 72 65 70 6c uffer.......(insert........(repl
17500 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 22 7b 5c ace-regexp-in-string........."{\
17520 5c 28 5b 5e 7d 5d 2b 5c 5c 29 7d 22 0a 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 \([^}]+\\)}".........(lambda.(st
17540 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 69 6e 73 65 72 74 2d 65 6e 74 69 74 69 65 r)...........(url-insert-entitie
17560 73 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 s-in-string............(format."
17580 25 73 22 20 28 65 76 61 6c 20 28 72 65 61 64 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 %s".(eval.(read.(match-string.1.
175a0 73 74 72 29 29 20 63 74 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 77 68 65 6e str)).ctx)))).........(eval-when
175c0 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 -compile...........(replace-rege
175e0 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 22 5b 20 5c 74 5c 6e 5d xp-in-string............"[.\t\n]
17600 2b 22 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 +"."."............(replace-regex
17620 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 27 22 20 22 5c 22 22 p-in-string............."'"."\""
17640 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 27 31 2e 30 ............."<?xml.version='1.0
17660 27 3f 3e 0a 3c 73 76 67 20 78 6d 6c 6e 73 3d 27 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 '?>.<svg.xmlns='http://www.w3.or
17680 67 2f 32 30 30 30 2f 73 76 67 27 0a 20 20 20 20 20 78 6d 6c 6e 73 3a 78 6c 69 6e 6b 3d 27 68 74 g/2000/svg'......xmlns:xlink='ht
176a0 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 6c 69 6e 6b 27 0a 20 20 20 20 tp://www.w3.org/1999/xlink'.....
176c0 20 77 69 64 74 68 3d 27 7b 77 69 64 74 68 7d 27 0a 20 20 20 20 20 68 65 69 67 68 74 3d 27 32 30 .width='{width}'......height='20
176e0 27 0a 20 20 20 20 20 72 6f 6c 65 3d 27 69 6d 67 27 0a 20 20 20 20 20 61 72 69 61 2d 6c 61 62 65 '......role='img'......aria-labe
17700 6c 3d 27 7b 6c 65 66 74 7d 3a 20 7b 72 69 67 68 74 7d 27 3e 0a 20 20 3c 74 69 74 6c 65 3e 7b 6c l='{left}:.{right}'>...<title>{l
17720 65 66 74 7d 3a 20 7b 72 69 67 68 74 7d 3c 2f 74 69 74 6c 65 3e 0a 20 20 3c 6c 69 6e 65 61 72 47 eft}:.{right}</title>...<linearG
17740 72 61 64 69 65 6e 74 20 69 64 3d 27 73 27 20 78 32 3d 27 30 27 20 79 32 3d 27 31 30 30 25 27 3e radient.id='s'.x2='0'.y2='100%'>
17760 0a 20 20 20 20 3c 73 74 6f 70 20 6f 66 66 73 65 74 3d 27 30 27 20 73 74 6f 70 2d 63 6f 6c 6f 72 .....<stop.offset='0'.stop-color
17780 3d 27 23 62 62 62 27 20 73 74 6f 70 2d 6f 70 61 63 69 74 79 3d 27 2e 31 27 2f 3e 0a 20 20 20 20 ='#bbb'.stop-opacity='.1'/>.....
177a0 3c 73 74 6f 70 20 6f 66 66 73 65 74 3d 27 31 27 20 73 74 6f 70 2d 6f 70 61 63 69 74 79 3d 27 2e <stop.offset='1'.stop-opacity='.
177c0 31 27 2f 3e 0a 20 20 3c 2f 6c 69 6e 65 61 72 47 72 61 64 69 65 6e 74 3e 0a 20 20 3c 63 6c 69 70 1'/>...</linearGradient>...<clip
177e0 50 61 74 68 20 69 64 3d 27 72 27 3e 0a 20 20 20 20 3c 72 65 63 74 20 77 69 64 74 68 3d 27 7b 77 Path.id='r'>.....<rect.width='{w
17800 69 64 74 68 7d 27 20 68 65 69 67 68 74 3d 27 32 30 27 20 72 78 3d 27 33 27 20 66 69 6c 6c 3d 27 idth}'.height='20'.rx='3'.fill='
17820 23 66 66 66 27 2f 3e 0a 20 20 3c 2f 63 6c 69 70 50 61 74 68 3e 0a 20 20 3c 67 20 63 6c 69 70 2d #fff'/>...</clipPath>...<g.clip-
17840 70 61 74 68 3d 27 75 72 6c 28 23 72 29 27 3e 0a 20 20 20 20 3c 72 65 63 74 20 77 69 64 74 68 3d path='url(#r)'>.....<rect.width=
17860 27 7b 28 2f 20 28 2b 20 6c 77 20 28 2a 20 32 20 70 61 64 29 29 20 31 30 29 7d 27 0a 20 20 20 20 '{(/.(+.lw.(*.2.pad)).10)}'.....
17880 20 20 20 20 20 20 68 65 69 67 68 74 3d 27 32 30 27 20 66 69 6c 6c 3d 27 23 35 35 35 27 2f 3e 0a ......height='20'.fill='#555'/>.
178a0 20 20 20 20 3c 72 65 63 74 20 78 3d 27 7b 28 31 2d 20 28 2f 20 28 2b 20 6c 77 20 28 2a 20 32 20 ....<rect.x='{(1-.(/.(+.lw.(*.2.
178c0 70 61 64 29 29 20 31 30 29 29 7d 27 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3d 27 7b 77 pad)).10))}'...........width='{w
178e0 69 64 74 68 7d 27 20 68 65 69 67 68 74 3d 27 32 30 27 20 66 69 6c 6c 3d 27 7b 63 6f 6c 6f 72 7d idth}'.height='20'.fill='{color}
17900 27 2f 3e 0a 20 20 20 20 3c 72 65 63 74 20 77 69 64 74 68 3d 27 7b 77 69 64 74 68 7d 27 20 68 65 '/>.....<rect.width='{width}'.he
17920 69 67 68 74 3d 27 32 30 27 20 66 69 6c 6c 3d 27 75 72 6c 28 23 73 29 27 2f 3e 0a 20 20 3c 2f 67 ight='20'.fill='url(#s)'/>...</g
17940 3e 0a 20 20 3c 67 20 66 69 6c 6c 3d 27 23 66 66 66 27 0a 20 20 20 20 20 74 65 78 74 2d 61 6e 63 >...<g.fill='#fff'......text-anc
17960 68 6f 72 3d 27 6d 69 64 64 6c 65 27 0a 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3d 27 56 hor='middle'......font-family='V
17980 65 72 64 61 6e 61 2c 47 65 6e 65 76 61 2c 44 65 6a 61 56 75 20 53 61 6e 73 2c 73 61 6e 73 2d 73 erdana,Geneva,DejaVu.Sans,sans-s
179a0 65 72 69 66 27 0a 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3d 27 31 31 30 27 0a 20 20 20 20 20 erif'......font-size='110'......
179c0 74 65 78 74 2d 72 65 6e 64 65 72 69 6e 67 3d 27 67 65 6f 6d 65 74 72 69 63 50 72 65 63 69 73 69 text-rendering='geometricPrecisi
179e0 6f 6e 27 3e 0a 20 20 20 20 3c 74 65 78 74 20 61 72 69 61 2d 68 69 64 64 65 6e 3d 27 74 72 75 65 on'>.....<text.aria-hidden='true
17a00 27 0a 20 20 20 20 20 20 20 20 20 20 78 3d 27 7b 28 2b 20 28 2f 20 6c 77 20 32 29 20 70 61 64 20 '...........x='{(+.(/.lw.2).pad.
17a20 6f 66 66 73 65 74 29 7d 27 0a 20 20 20 20 20 20 20 20 20 20 79 3d 27 31 35 30 27 0a 20 20 20 20 offset)}'...........y='150'.....
17a40 20 20 20 20 20 20 66 69 6c 6c 3d 27 23 30 31 30 31 30 31 27 20 66 69 6c 6c 2d 6f 70 61 63 69 74 ......fill='#010101'.fill-opacit
17a60 79 3d 27 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 66 6f 72 6d 3d 27 73 63 61 6c y='.3'...........transform='scal
17a80 65 28 2e 31 29 27 20 74 65 78 74 4c 65 6e 67 74 68 3d 27 7b 6c 77 7d 27 3e 7b 6c 65 66 74 7d 3c e(.1)'.textLength='{lw}'>{left}<
17aa0 2f 74 65 78 74 3e 0a 20 20 20 20 3c 74 65 78 74 20 78 3d 27 7b 28 2b 20 28 2f 20 6c 77 20 32 29 /text>.....<text.x='{(+.(/.lw.2)
17ac0 20 70 61 64 20 6f 66 66 73 65 74 29 7d 27 0a 20 20 20 20 20 20 20 20 20 20 79 3d 27 31 34 30 27 .pad.offset)}'...........y='140'
17ae0 20 74 72 61 6e 73 66 6f 72 6d 3d 27 73 63 61 6c 65 28 2e 31 29 27 0a 20 20 20 20 20 20 20 20 20 .transform='scale(.1)'..........
17b00 20 66 69 6c 6c 3d 27 23 66 66 66 27 0a 20 20 20 20 20 20 20 20 20 20 74 65 78 74 4c 65 6e 67 74 .fill='#fff'...........textLengt
17b20 68 3d 27 7b 6c 77 7d 27 3e 7b 6c 65 66 74 7d 3c 2f 74 65 78 74 3e 0a 20 20 20 20 3c 74 65 78 74 h='{lw}'>{left}</text>.....<text
17b40 20 61 72 69 61 2d 68 69 64 64 65 6e 3d 27 74 72 75 65 27 0a 20 20 20 20 20 20 20 20 20 20 78 3d .aria-hidden='true'...........x=
17b60 27 7b 28 2b 20 6c 77 20 28 2f 20 72 77 20 32 29 20 28 2a 20 33 20 70 61 64 29 20 6f 66 66 73 65 '{(+.lw.(/.rw.2).(*.3.pad).offse
17b80 74 29 7d 27 0a 20 20 20 20 20 20 20 20 20 20 79 3d 27 31 35 30 27 0a 20 20 20 20 20 20 20 20 20 t)}'...........y='150'..........
17ba0 20 66 69 6c 6c 3d 27 23 30 31 30 31 30 31 27 20 20 66 69 6c 6c 2d 6f 70 61 63 69 74 79 3d 27 2e .fill='#010101'..fill-opacity='.
17bc0 33 27 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 66 6f 72 6d 3d 27 73 63 61 6c 65 28 2e 31 3'...........transform='scale(.1
17be0 29 27 20 74 65 78 74 4c 65 6e 67 74 68 3d 27 7b 72 77 7d 27 3e 7b 72 69 67 68 74 7d 3c 2f 74 65 )'.textLength='{rw}'>{right}</te
17c00 78 74 3e 0a 20 20 20 20 3c 74 65 78 74 20 78 3d 27 7b 28 2b 20 6c 77 20 28 2f 20 72 77 20 32 29 xt>.....<text.x='{(+.lw.(/.rw.2)
17c20 20 28 2a 20 33 20 70 61 64 29 20 6f 66 66 73 65 74 29 7d 27 0a 20 20 20 20 20 20 20 20 20 20 79 .(*.3.pad).offset)}'...........y
17c40 3d 27 31 34 30 27 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 66 6f 72 6d 3d 27 73 63 61 6c ='140'...........transform='scal
17c60 65 28 2e 31 29 27 0a 20 20 20 20 20 20 20 20 20 20 66 69 6c 6c 3d 27 23 66 66 66 27 20 74 65 78 e(.1)'...........fill='#fff'.tex
17c80 74 4c 65 6e 67 74 68 3d 27 7b 72 77 7d 27 3e 7b 72 69 67 68 74 7d 3c 2f 74 65 78 74 3e 0a 20 20 tLength='{rw}'>{right}</text>...
17ca0 3c 2f 67 3e 0a 3c 2f 73 76 67 3e 22 29 29 29 29 29 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 </g>.</svg>"))))).......(write-r
17cc0 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 66 69 egion.(point-min).(point-max).fi
17ce0 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 le))))..(defun.package-build-bad
17d00 67 65 2d 2d 73 74 72 69 6e 67 2d 77 69 64 74 68 20 28 73 74 72 29 0a 20 20 22 44 65 74 65 72 6d ge--string-width.(str)..."Determ
17d20 69 6e 65 20 73 74 72 69 6e 67 20 77 69 64 74 68 20 69 6e 20 70 69 78 65 6c 73 20 6f 66 20 53 54 ine.string.width.in.pixels.of.ST
17d40 52 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 3b 3b 20 49 R."...(with-temp-buffer.....;;.I
17d60 6d 61 67 65 4d 61 67 69 63 6b 20 37 2e 31 2e 30 20 6f 72 20 6c 61 74 65 72 20 72 65 71 75 69 72 mageMagick.7.1.0.or.later.requir
17d80 65 73 20 75 73 69 6e 67 20 74 68 65 20 22 6d 61 67 69 63 6b 22 20 64 72 69 76 65 72 2c 0a 20 20 es.using.the."magick".driver,...
17da0 20 20 3b 3b 20 72 61 74 68 65 72 20 74 68 61 6e 20 22 63 6f 6e 76 65 72 74 22 20 64 69 72 65 63 ..;;.rather.than."convert".direc
17dc0 74 6c 79 2c 20 62 75 74 20 44 65 62 69 61 6e 20 64 6f 65 73 6e 27 74 20 70 72 6f 76 69 64 65 20 tly,.but.Debian.doesn't.provide.
17de0 69 74 0a 20 20 20 20 3b 3b 20 79 65 74 20 28 32 30 32 31 29 2e 0a 20 20 20 20 28 6c 65 74 20 28 it.....;;.yet.(2021)......(let.(
17e00 28 61 72 67 73 20 60 28 2c 40 28 69 66 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 (args.`(,@(if.(executable-find."
17e20 6d 61 67 69 63 6b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 magick")........................
17e40 20 27 28 22 6d 61 67 69 63 6b 22 20 22 63 6f 6e 76 65 72 74 22 29 0a 20 20 20 20 20 20 20 20 20 .'("magick"."convert")..........
17e60 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 22 63 6f 6e 76 65 72 74 22 29 29 0a 20 20 20 20 20 .............'("convert"))......
17e80 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 64 65 62 75 67 22 20 22 61 6e 6e 6f 74 61 74 65 22 ............."-debug"."annotate"
17ea0 20 22 78 63 3a 22 20 22 2d 66 6f 6e 74 22 20 22 44 65 6a 61 56 75 2d 53 61 6e 73 22 0a 20 20 20 ."xc:"."-font"."DejaVu-Sans"....
17ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 70 6f 69 6e 74 73 69 7a 65 22 20 22 31 31 30 ..............."-pointsize"."110
17ee0 22 20 22 2d 61 6e 6e 6f 74 61 74 65 22 20 22 30 22 20 2c 73 74 72 20 22 6e 75 6c 6c 3a 22 29 29 "."-annotate"."0".,str."null:"))
17f00 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 28 63 ).......(apply.#'call-process.(c
17f20 61 72 20 61 72 67 73 29 20 6e 69 6c 20 74 20 6e 69 6c 20 28 64 65 6c 71 20 6e 69 6c 20 28 63 64 ar.args).nil.t.nil.(delq.nil.(cd
17f40 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e r.args))).......(goto-char.(poin
17f60 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 72 65 2d 73 65 61 72 63 t-min)).......(if.(not.(re-searc
17f80 68 2d 66 6f 72 77 61 72 64 20 22 4d 65 74 72 69 63 73 3a 2e 2a 3f 77 69 64 74 68 3a 20 5c 5c 28 h-forward."Metrics:.*?width:.\\(
17fa0 5b 30 2d 39 5d 2b 5c 5c 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 [0-9]+\\)"))...........(error."C
17fc0 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 73 74 72 69 6e 67 20 77 69 64 74 68 22 ould.not.determine.string.width"
17fe0 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 77 69 64 74 68 20 28 73 74 72 69 6e 67 2d 74 ).........(let.((width.(string-t
18000 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 29 29 0a 20 20 20 o-number.(match-string.1))))....
18020 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 74 65 73 74 20 61 69 6d 73 20 74 6f 20 63 61 74 63 .......;;.This.test.aims.to.catc
18040 68 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 74 68 65 20 66 6f 6e 74 20 69 73 20 6d 69 73 h.the.case.where.the.font.is.mis
18060 73 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 75 74 20 69 74 20 73 65 65 6d 73 20 sing,...........;;.but.it.seems.
18080 69 74 20 6f 6e 6c 79 20 77 6f 72 6b 73 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 3a 2d 28 0a it.only.works.in.some.cases.:-(.
180a0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3e 20 28 73 74 72 69 6e 67 2d 77 69 ..........(if.(and.(>.(string-wi
180c0 64 74 68 20 73 74 72 29 20 30 29 20 28 6e 6f 74 20 28 3e 20 77 69 64 74 68 20 30 29 29 29 0a 20 dth.str).0).(not.(>.width.0)))..
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 6d 65 73 73 61 67 65 20 22 63 6f .............(progn.(message."co
18100 6e 76 65 72 74 3a 5c 6e 25 73 22 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 nvert:\n%s".(buffer-string))....
18120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 20 ..................(error."Could.
18140 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 73 74 72 69 6e 67 20 77 69 64 74 68 22 29 29 0a 20 20 not.determine.string.width"))...
18160 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 29 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 ..........width))))))..(provide.
18180 27 70 61 63 6b 61 67 65 2d 62 75 69 6c 64 2d 62 61 64 67 65 73 29 0a 3b 3b 3b 20 70 61 63 6b 61 'package-build-badges).;;;.packa
181a0 67 65 2d 62 61 64 67 65 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 ge-badges.el.ends.here..........
181c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
182a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
182c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
182e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
188a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
188c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
188e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
189a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
189c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
189e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................