NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.74k stars 13.86k forks source link

Unmaintained Packages #67638

Closed toonn closed 5 years ago

toonn commented 5 years ago

Issue description

Someone asked in #nixos today for a list of packages without maintainers. I don't know of one so I made this : )

Behold, the Approximate List of Unmaintained Packages:

applications/audio/aumix
applications/audio/game-music-emu
applications/audio/gmpc
applications/audio/monkeys-audio
applications/audio/mp3info
applications/audio/mpc123
applications/audio/renoise
applications/editors/ed
applications/editors/emacs-modes/cask
applications/editors/emacs-modes/ecb
applications/editors/emacs-modes/emacs-w3m
applications/editors/emacs-modes/emms
applications/editors/emacs-modes/jdee
applications/editors/emacs-modes/offlineimap
applications/editors/emacs-modes/quack
applications/graphics/djview
applications/graphics/gimp/plugins
applications/misc/girara
applications/misc/gkrellm
applications/misc/gmrun
applications/misc/gv
applications/misc/keepass-plugins/keeagent
applications/misc/rxvt_unicode
applications/misc/sc-im
applications/misc/wordnet
applications/misc/xfe
applications/networking/browsers/mozilla-plugins/flashplayer
applications/networking/browsers/vimb
applications/networking/jmeter
applications/science/chemistry/avogadro
applications/science/logic/prover9
applications/science/math/LiE
applications/science/misc/megam
applications/science/misc/tulip
applications/science/programming/plm
applications/version-management/git-and-tools/git-remote-hg
applications/version-management/nitpick
applications/video/byzanz
applications/video/recordmydesktop
applications/window-managers/cwm
data/fonts/freefont-ttf
data/misc/mobile-broadband-provider-info
development/compilers/mercury
development/compilers/mit-scheme
development/compilers/stalin
development/interpreters/python
development/libraries/aravis
development/libraries/aspell
development/libraries/boehm-gc
development/libraries/cloog-ppl
development/libraries/crypto++
development/libraries/dbus-glib
development/libraries/fox
development/libraries/ftgl
development/libraries/gecode
development/libraries/gtkimageview
development/libraries/herqq
development/libraries/libcanberra
development/libraries/libdmtx
development/libraries/libelf
development/libraries/libelf-freebsd
development/libraries/libextractor
development/libraries/libffi
development/libraries/libgpod
development/libraries/libiconv
development/libraries/libidn
development/libraries/libivykis
development/libraries/libmpc
development/libraries/libofx
development/libraries/libsigsegv
development/libraries/libssh2
development/libraries/libunistring
development/libraries/libusb1
development/libraries/libxmi
development/libraries/libzdb
development/libraries/mpfr
development/libraries/openbabel
development/libraries/physics/geant4/g4py
development/libraries/polkit
development/libraries/ppl
development/libraries/slib
development/libraries/tokyo-cabinet
development/libraries/tokyo-tyrant
development/libraries/unittest-cpp
development/libraries/zziplib
development/pharo/launcher
development/python-modules/GitPython
development/python-modules/automat
development/python-modules/cliapp
development/python-modules/constantly
development/python-modules/gitdb
development/python-modules/gitdb2
development/python-modules/k5test
development/python-modules/koji
development/python-modules/larch
development/python-modules/m2r
development/python-modules/moto
development/python-modules/pykka
development/python-modules/seabreeze
development/python-modules/smmap
development/python-modules/smmap2
development/python-modules/sshpubkeys
development/python-modules/tracing
development/python-modules/ttystatus
development/python-modules/twisted
development/python-modules/txamqp
development/python-modules/ws4py
development/tools/galen
development/tools/java/fastjar
development/tools/misc/autogen
development/tools/misc/complexity
development/tools/misc/cppi
development/tools/misc/gengetopt
development/tools/misc/itstool
development/tools/misc/sloccount
development/tools/misc/tet
development/tools/profiling/oprofile
development/web/remarkjs
games/ball-and-paddle
games/stepmania
misc/seafile-shared
os-specific/linux/acpi
os-specific/linux/tp_smapi
servers/monitoring/riemann
servers/pies
servers/unfs3
tools/X11/xcalib
tools/admin/aws_shell
tools/admin/tightvnc
tools/archivers/gnutar
tools/archivers/zip
tools/backup/wal-e
tools/compression/bzip2
tools/filesystems/gcsfuse
tools/filesystems/httpfs
tools/graphics/argyllcms
tools/graphics/dcraw
tools/misc/convmv
tools/misc/dashing
tools/misc/dbacl
tools/misc/debianutils
tools/misc/dtach
tools/misc/idutils
tools/misc/parallel-rust
tools/misc/recutils
tools/misc/uucp
tools/misc/venus
tools/networking/asynk
tools/networking/ccnet
tools/networking/httping
tools/networking/iftop
tools/networking/lsh
tools/networking/modem-manager
tools/networking/nss-mdns
tools/networking/offlineimap
tools/networking/surfraw
tools/networking/swec
tools/system/lr
tools/system/syslog-ng-incubator
tools/text/ebook-tools
tools/text/enscript
tools/text/gawk
tools/text/gnupatch
tools/text/gnused
tools/text/namazu
tools/text/odt2txt
tools/typesetting/git-latexdiff
tools/typesetting/lout

This is 168 unmaintained packages. Some that caught my eye, ed, rxvt_unicode, python, gnutar, zip and bzip2.

Steps to reproduce

Command I used to produce this approximate list (there's false positives and probably negatives alike): nix-shell -p rg busybox --run "rg -l 'maintainers *= *\[ *\]\)?;' ~/src/nixpkgs | sed -e 's:.*nixpkgs/pkgs/::' -e '\:nixos/tests:d' -e 's:/default\.nix::' -e '/\.nix$/d' | sort"

Alternative by Graham (not sure where to get pkgs.json, probably fewer false negatives but more false positives: jq '.packages[] | select(.meta.maintainers == []) | .name' pkgs.json

vikanezrimaya commented 5 years ago
worldofpeace commented 5 years ago

Note that certain packages have a special deriver that automatically adds a maintainer.

I think a clearer way to check what packages have no maintainers is to use nix eval

nix eval -f . ed.meta.maintainers
[ ]

nix eval -f . gnome-photos.meta.maintainers                                                                                                                               
[ { email = "lucabru@src.gnome.org"; github = "lethalman"; githubId = 480920; name = "Luca Bruno"; } { email = "jtojnar@gmail.com"; github = "jtojnar"; githubId = 705123; name = "Jan Tojnar"; } { email = "torhedinbronner@gmail.com"; github = "hedning"; githubId = 71978; name = "Tor Hedin Brønner"; } { email = "worldofpeace@protonmail.ch"; github = "worldofpeace"; githubId = 28888242; name = "Worldofpeace"; } ]

or perhaps using nix directly would be even better.

markuskowa commented 5 years ago

I did try this approach, which yields a longer list (includes some false positives such as automatically generated derviations).

adisbladis commented 5 years ago

All emacs packages without maintainers were dropped as a part of https://github.com/NixOS/nixpkgs/pull/66301.

FRidh commented 5 years ago

Closing this because there isn't anything actionable and the list is not entirely accurate either. Note that, when talking about maintained or not, there are many core packages maintained by only few. It would be very important if those packages get more maintainers. An example is e2fsprogs.

toonn commented 5 years ago

@FRidh, the actionable part would be setting up a webpage that allows people to easily find packages that aren't maintained or have few maintainers. Using maybe some stats from the binary cache or about version lag to indicate which packages have a greater need of maintainers.

phanirithvij commented 3 months ago

Now since a few maintainers have left leaving many packages without maintainers, I think this has to be a priority.

pinpox commented 2 months ago

Cross-posting for reference since I stumbled across this, there is/was an RFC regarding this topic: https://github.com/NixOS/rfcs/pull/81