@@ -160,6 +160,7 @@ repository specified by variable `epkg-repository'."
160
160
161
161
;;;### autoload
162
162
(defun emir-import-emacs-packages ()
163
+ " Import built-in packages."
163
164
(interactive )
164
165
(let ((alist (emir--builtin-packages-alist)))
165
166
(emir-with-emacs-worktree
@@ -206,6 +207,8 @@ repository specified by variable `epkg-repository'."
206
207
207
208
;;;### autoload
208
209
(defun emir-import-ewiki-packages (&optional drew-only )
210
+ " Import packages from the Emacswiki
211
+ With a prefix argument, only import Drew's packages."
209
212
(interactive " P" )
210
213
(with-emir-repository 'epkg-wiki-package
211
214
(magit-git " checkout" " master" )
@@ -229,6 +232,7 @@ repository specified by variable `epkg-repository'."
229
232
230
233
;;;### autoload
231
234
(defun emir-import-ewiki-package (name )
235
+ " Import the package named NAME from the Emacswiki."
232
236
(interactive (list (read-string " Package: " )))
233
237
(with-emir-repository 'epkg-wiki-package
234
238
(magit-process-buffer)
@@ -242,6 +246,8 @@ repository specified by variable `epkg-repository'."
242
246
243
247
;;;### autoload
244
248
(defun emir-add-package (name url class &rest plist )
249
+ " Mirror the package named NAME from URL using CLASS
250
+ Keys in PLIST must be supported by the CLASS constructor."
245
251
(interactive
246
252
(let* ((url (emir-read-url " Add package from url" ))
247
253
(class (emir--read-class url))
@@ -266,11 +272,15 @@ repository specified by variable `epkg-repository'."
266
272
267
273
;;;### autoload
268
274
(defun emir-add-nongnu-elpa-packages (&optional dry-run )
275
+ " Mirror new packages from NonGNU ELPA.
276
+ With a prefix argument, only show which packages would be added."
269
277
(interactive " P" )
270
278
(emir--add-elpa-packages 'nongnu dry-run))
271
279
272
280
;;;### autoload
273
281
(defun emir-add-gnu-elpa-packages (&optional dry-run )
282
+ " Mirror new packages from GNU ELPA.
283
+ With a prefix argument, only show which packages would be added."
274
284
(interactive " P" )
275
285
(emir--add-elpa-packages 'gnu dry-run))
276
286
@@ -309,6 +319,8 @@ repository specified by variable `epkg-repository'."
309
319
310
320
;;;### autoload
311
321
(defun emir-add-melpa-packages (&optional dry-run interactive )
322
+ " Mirror new packages from Melpa.
323
+ With a prefix argument, only show which packages would be added."
312
324
(interactive (list current-prefix-arg t ))
313
325
(pcase-dolist
314
326
(`(, name , url , class , branch )
@@ -345,6 +357,8 @@ repository specified by variable `epkg-repository'."
345
357
346
358
;;;### autoload
347
359
(defun emir-update-package (name &optional interactive )
360
+ " Update the package named NAME.
361
+ With a prefix argument, update even if there are no new commits."
348
362
(interactive (list (epkg-read-package " Update package: " )
349
363
(prefix-numeric-value current-prefix-arg)))
350
364
(setq emir--force-push nil )
@@ -373,6 +387,7 @@ repository specified by variable `epkg-repository'."
373
387
374
388
;;;### autoload
375
389
(defun emir-update-github-packages ()
390
+ " Update all mirrored packages that are distributed on Github."
376
391
(interactive )
377
392
(let ((start (current-time )))
378
393
(emir-gh-foreach-query
@@ -423,18 +438,30 @@ repository specified by variable `epkg-repository'."
423
438
424
439
;;;### autoload
425
440
(defun emir-update-wiki-packages (&optional from recreate )
441
+ " Update all mirrored packages that are distributed on the Emacswiki.
442
+ With a prefix argument, read a package, and only update that and later
443
+ packages in alphabetic order. If optional RECREATE is non-nil, update
444
+ each package, regardless of whether any new commits were fetched."
426
445
(interactive (list (and current-prefix-arg
427
446
(epkg-read-package " Limit to packages after: " ))))
428
447
(emir--update-packages [wiki] from recreate))
429
448
430
449
;;;### autoload
431
450
(defun emir-update-slow-packages (&optional from recreate )
451
+ " Update mirrored packages that are expensive to update.
452
+ With a prefix argument, read a package, and only update that and later
453
+ packages in alphabetic order. If optional RECREATE is non-nil, update
454
+ each package, regardless of whether any new commits were fetched."
432
455
(interactive (list (and current-prefix-arg
433
456
(epkg-read-package " Limit to packages after: " ))))
434
457
(emir--update-packages [subtree] from recreate))
435
458
436
459
;;;### autoload
437
460
(defun emir-update-other-packages (&optional from recreate )
461
+ " Update mirrored packages that are not updated by another update command.
462
+ With a prefix argument, read a package, and only update that and later
463
+ packages in alphabetic order. If optional RECREATE is non-nil, update
464
+ each package, regardless of whether any new commits were fetched."
438
465
(interactive (list (and current-prefix-arg
439
466
(epkg-read-package " Limit to packages after: " ))))
440
467
(emir--update-packages [mirrored* !github* !wiki !subtree*]
@@ -496,13 +523,18 @@ repository specified by variable `epkg-repository'."
496
523
497
524
;;;### autoload
498
525
(defun emir-regenerate-metadata (&optional from )
526
+ " Re-generate metadata for all mirrored packages.
527
+ With a prefix argument, read a package, and only update that and later
528
+ packages in alphabetic order."
499
529
(interactive (list (and current-prefix-arg
500
530
(epkg-read-package " Limit to packages after: " ))))
501
531
(emir-with-emacs-worktree
502
532
(emir--update-packages nil from " Regenerate metadata" )))
503
533
504
534
;;;### autoload
505
535
(defun emir-update-licenses (&optional all )
536
+ " Update license information for packages with problematic licenses.
537
+ With a prefix argument, update license information for all packages."
506
538
(interactive " P" )
507
539
(dolist (pkg (epkgs))
508
540
(with-slots (name) pkg
@@ -522,6 +554,7 @@ repository specified by variable `epkg-repository'."
522
554
523
555
;;;### autoload
524
556
(defun emir-join-provided (name feature reason )
557
+ " Declare that the package NAME provides FEATURE because of REASON."
525
558
(interactive
526
559
(let* ((name (epkg-read-package " Package: " ))
527
560
(pkg (epkg name))
@@ -542,6 +575,7 @@ repository specified by variable `epkg-repository'."
542
575
543
576
;;;### autoload
544
577
(defun emir-drop-provided (name feature reason )
578
+ " Declare that the package NAME does not provide FEATURE because of REASON."
545
579
(interactive
546
580
(let* ((name (epkg-read-package " Package: " ))
547
581
(pkg (epkg name))
@@ -561,6 +595,7 @@ repository specified by variable `epkg-repository'."
561
595
562
596
;;;### autoload
563
597
(defun emir-drop-required (name feature reason )
598
+ " Declare that the package NAME does not require FEATURE because of REASON."
564
599
(interactive
565
600
(let* ((name (epkg-read-package " Package: " ))
566
601
(pkg (epkg name))
@@ -582,6 +617,7 @@ repository specified by variable `epkg-repository'."
582
617
583
618
;;;### autoload
584
619
(defun emir-shelve-package (name &optional melpa-msg )
620
+ " Shelve the package named NAME."
585
621
(interactive (list (epkg-read-package " Shelve package: " nil [mirrored*])))
586
622
(let ((pkg (epkg name)))
587
623
(with-demoted-errors " Error: %S"
@@ -622,6 +658,7 @@ repository specified by variable `epkg-repository'."
622
658
623
659
;;;### autoload
624
660
(defun emir-shelve-archived-github-packages ()
661
+ " Shelve packages hosted on Github which have been archived by upstream."
625
662
(interactive )
626
663
(dolist (name (epkgs 'name [github*]))
627
664
(let ((pkg (epkg name)))
@@ -640,6 +677,7 @@ repository specified by variable `epkg-repository'."
640
677
641
678
;;;### autoload
642
679
(defun emir-remove-package (name )
680
+ " Remove the package named NAME."
643
681
(interactive
644
682
(let ((name (epkg-read-package " Remove package: " )))
645
683
(unless (y-or-n-p (format " Really REMOVE (not shelve) %s ? " name))
@@ -706,6 +744,7 @@ repository specified by variable `epkg-repository'."
706
744
; ;;; Migrate
707
745
708
746
(defun emir-migrate-package (name url class )
747
+ " Change the upstream repository from which to get the package named NAME."
709
748
(interactive
710
749
(let* ((name (epkg-read-package " Migrate package: " ))
711
750
(melpa-url (nth 4 (assoc name (emir-melpa--migrated-packages))))
@@ -753,6 +792,11 @@ repository specified by variable `epkg-repository'."
753
792
; ;;; Stage
754
793
755
794
(defun emir-stage (&optional name dump sort )
795
+ " Stage changes in the Epkg repository.
796
+ If optional NAME is non-nil, stage the module of the package by that
797
+ name. If optional DUMP is non-nil (which interactively it is, then
798
+ dump the Epkg database. If optional SORT is non-nil, then sort the
799
+ \" .gitmodules\" file."
756
800
(interactive (list nil t t ))
757
801
(with-emir-repository t
758
802
(when name
@@ -770,6 +814,7 @@ repository specified by variable `epkg-repository'."
770
814
" ewiki" " gnu-elpa" " nongnu-elpa" " melpa" )))
771
815
772
816
(defun emir-dump-database ()
817
+ " Dump the Epkg database as SQL statements to a file."
773
818
(interactive )
774
819
(emacsql-sqlite-dump-database (oref (epkg-db) connection)))
775
820
0 commit comments