(require 'emir)
(defconst emir--orphans-cache
(cl-delete-if (lambda (it)
(member (cdr (assq 'name it))
'(".github" "p")))
(cl-sort (ghub-get "/orgs/emacsorphanage/repos" nil
:unpaginate t
:auth 'emir)
#'string< :key (lambda (it) (cdr (assq 'name it))))))
(defun emir--list-orphans (&optional only columns-fn sort-column)
(let ((table
(--keep
(let* ((name (cdr (assq 'name it)))
(name (if (equal name "image-plus") "image+" name))
(pkg (epkg name))
(type (and pkg (closql--abbrev-class (eieio-object-class pkg))))
(rcp (epkg-get-recipe 'melpa name))
(reason (emir--config name :orphanage)))
(and (or (not only)
(member reason only))
`(,name
,(if pkg (if (eq type 'orphaned) "✔" type) "")
,(if rcp
(if (string-prefix-p "emacsorphanage/" (oref rcp repo))
"✔"
(closql--abbrev-class (eieio-object-class rcp)))
"")
,@(and columns-fn (funcall columns-fn name)))))
emir--orphans-cache)))
(when sort-column
(setq table (cl-sort table #'string<
:key (apply-partially #'nth sort-column))))
(epkg-add-org-header table '("Package" "E" "M"))))
(epkg-add-org-header rows header)
In the below tables, a ✔ in the E column means that a package is mirrored on the Emacsmirror, while a ✔ in the M column means that a package is available from Melpa.
(emir--list-orphans (list "dropped by maintainer"))
Package (88) | E | M |
---|---|---|
ac-alchemist | ✔ | ✔ |
ac-capf | ✔ | ✔ |
ac-emoji | ✔ | ✔ |
ac-etags | ✔ | ✔ |
ac-ispell | ✔ | ✔ |
ac-racer | ✔ | ✔ |
ansible-doc | ✔ | ✔ |
anzu | ✔ | ✔ |
applescript-mode | ✔ | ✔ |
codic | ✔ | ✔ |
company-jedi | ✔ | ✔ |
cpp-auto-include | ✔ | ✔ |
dart-mode | ✔ | ✔ |
dired-k | ✔ | ✔ |
direx | ✔ | ✔ |
docean | ✔ | ✔ |
easy-highlight | ✔ | |
emamux | ✔ | ✔ |
emamux-ruby-test | ✔ | ✔ |
evil-anzu | ✔ | ✔ |
evil-textobj-line | ✔ | ✔ |
fancy-battery | ✔ | ✔ |
farmhouse-themes | ✔ | ✔ |
fontawesome | ✔ | ✔ |
gh-md | ✔ | ✔ |
git-gutter | ✔ | ✔ |
git-gutter-fringe | ✔ | ✔ |
git-messenger | ✔ | ✔ |
go-add-tags | ✔ | ✔ |
go-direx | ✔ | ✔ |
go-eldoc | ✔ | ✔ |
go-impl | ✔ | ✔ |
god-mode | ✔ | ✔ |
gom-mode | ✔ | ✔ |
haxe-mode | ✔ | ✔ |
helm-ack | ✔ | ✔ |
helm-ag | ✔ | ✔ |
helm-css-scss | ✔ | ✔ |
helm-github-issues | ✔ | |
helm-gtags | ✔ | ✔ |
helm-haskell-import | ✔ | |
helm-ispell | ✔ | ✔ |
helm-open-github | ✔ | ✔ |
helm-package | ✔ | |
helm-perldoc | ✔ | ✔ |
helm-pydoc | ✔ | ✔ |
helm-robe | ✔ | ✔ |
helm-swoop | ✔ | ✔ |
helm-themes | ✔ | ✔ |
help-find-org-mode | ✔ | ✔ |
import-popwin | ✔ | ✔ |
jedi-eldoc | ✔ | |
konoha-mode | ✔ | |
libegit2 | ||
literate-coffee-mode | ✔ | ✔ |
ltsv | ✔ | |
magit-gerrit | ✔ | ✔ |
magit-p4 | ✔ | ✔ |
magit-svn | ✔ | ✔ |
manage-minor-mode | ✔ | ✔ |
mongo | ✔ | ✔ |
octicons | ✔ | ✔ |
opam | ✔ | ✔ |
org-page | ✔ | ✔ |
org-redmine | ✔ | ✔ |
osx-trash | ✔ | ✔ |
ov | ✔ | ✔ |
perl-utils | ✔ | |
pkg-info | ✔ | ✔ |
popup-complete | ✔ | ✔ |
popwin | ✔ | ✔ |
pyimpsort | ✔ | ✔ |
pylint | ✔ | ✔ |
qt-pro-mode | ✔ | ✔ |
quickrun | ✔ | ✔ |
req-package | ✔ | ✔ |
reverse-theme | ✔ | ✔ |
smeargle | ✔ | ✔ |
sound-wav | ✔ | ✔ |
sourcemap | ✔ | ✔ |
splitjoin | ✔ | ✔ |
swoop | ✔ | ✔ |
test-more | ✔ | |
thingopt | ✔ | ✔ |
tora-mode | ✔ | |
undohist | ✔ | ✔ |
yascroll | ✔ | ✔ |
zoom-window | ✔ | ✔ |
The upstream repository or file download for these packages has disappeared.
Or at least it wasn’t available for a long time; in some cases the upstream might be available again. I do not check to make sure this is not the case. If you find such a package, then please let me know.
Of course there are many more packages whose upstream has disappeared, then those listed here, many of which can be found on the Emacsattic.
Those unmaintained packages that made it into the orphanage instead of just the attic, did so because other mirrored packages depend on them, and/or because they are available from Melpa (I mirror all packages that are available from there).
(emir--list-orphans (list "upstream disappeared"))
Package (10) | E | M |
---|---|---|
dedicated | ✔ | ✔ |
ecasound | ✔ | |
image+ | ✔ | ✔ |
keydef | ✔ | ✔ |
miniedit | ✔ | ✔ |
osd | ✔ | |
pager | ✔ | ✔ |
smarty-mode | ✔ | ✔ |
tail | ✔ | |
vm | ✔ |
The upstream repositories for these packages still existed (or at least they still existed when the packages were added here), but the packages have issues that have to be fixed and the maintainers did not respond when I contacted them. I have patched these packages here in the orphanage to fix these issues.
- Multiple packages bundle
hyperspec
but none of them is the authoritive upstream. Attempts to get the various non-upstreams talking have failed so far.
(emir--list-orphans (list "upstream unresponsive" "multiple non-upstreams"))
Package (14) | E | M |
---|---|---|
edb | ✔ | |
elisp-depend | ✔ | ✔ |
evil-escape | ✔ | ✔ |
helm-gitignore | ✔ | ✔ |
hyperspec | ✔ | |
macrostep | ✔ | ✔ |
oberon | ✔ | ✔ |
omtose-phellack-themes | ✔ | ✔ |
ox-pandoc | ✔ | ✔ |
read-char-spec | ✔ | |
setnu | ✔ | |
tablist | ✔ | ✔ |
which-key-posframe | ✔ | ✔ |
yafolding | ✔ | ✔ |
These packages are being distributed on the Emacswiki and other packages that are not distributed on the Emacswiki depend on them.
Anyone can edit packages on the Emacswiki, which is a big security risk, so the Emacsmirror mirrors a frozen copy from the orphanage instead of the world-writable copy from the wiki.
Melpa also uses the frozen copies, see issue #2342.
We should occationally review updates to these packages to make new versions available to the Emacsmirror and Melpa, but at present we don’t do that.
(emir--list-orphans
(list "wiki needed by non-wiki")
;; (lambda (name)
;; (let ((pkg (epkg name)))
;; (list (oref pkg updated)
;; (format "%s" (car (oref pkg maintainers)))
;; (mapconcat (pcase-lambda (`(,dependant ,_))
;; (format "%s (%s)" dependant
;; (ignore-errors
;; (closql--abbrev-class
;; (eieio-object-class (epkg dependant))))))
;; (epkg-reverse-dependencies name)
;; ", "))))
;; 3
)
Package (23) | E | M |
---|---|---|
cygwin-mount | ✔ | |
dirtree | ✔ | ✔ |
ert-expectations | ✔ | ✔ |
findr | ✔ | ✔ |
highline | ✔ | |
http-post-simple | ✔ | ✔ |
key-chord | ✔ | ✔ |
later-do | ✔ | |
levenshtein | ✔ | ✔ |
oddmuse | ✔ | |
org-json | ✔ | |
policy-switch | ✔ | |
run-assoc | ✔ | |
screenshot | ✔ | |
shell-history | ✔ | ✔ |
showtip | ✔ | ✔ |
sr-speedbar | ✔ | ✔ |
transpose-frame | ✔ | ✔ |
tree-mode | ✔ | ✔ |
unit-test | ✔ | |
w32-browser | ✔ | ✔ |
windata | ✔ | ✔ |
yaoddmuse | ✔ |
(emir--list-orphans (list nil))