Skip to content

Latest commit

 

History

History
302 lines (280 loc) · 10.4 KB

emacsorphanage.org

File metadata and controls

302 lines (280 loc) · 10.4 KB

Epkgs: Orphanage

(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)

up

Legend

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.

Dropped of by maintainer

(emir--list-orphans (list "dropped by maintainer"))
Package (88)EM
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

Upstream has disappeared but there are dependents

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)EM
dedicated
ecasound
image+
keydef
miniedit
osd
pager
smarty-mode
tail
vm

Upstream is unresponsive but there are issues

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)EM
edb
elisp-depend
evil-escape
helm-gitignore
hyperspec
macrostep
oberon
omtose-phellack-themes
ox-pandoc
read-char-spec
setnu
tablist
which-key-posframe
yafolding

Wiki packages needed by non-wiki packages

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)EM
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

New

(emir--list-orphans (list nil))