Nixpkgs: unstable part of version instead of pname

Created on 11 Sep 2019  Â·  7Comments  Â·  Source: NixOS/nixpkgs

As discussed in https://github.com/repology/repology/issues/854#issuecomment-530450656, in many packages we currently have unstable a part of version, rather than pname suggested in https://nixos.org/nixpkgs/manual/#sec-package-naming. I know I am guilty of promulgating this and we should probably fix that before switching Repology to pname & version.

$ rg version.+=.+unstable pkgs
pkgs/servers/echoip/default.nix
pkgs/servers/demoit/default.nix
pkgs/games/gnome-hexgl/default.nix
pkgs/games/warmux/default.nix
pkgs/misc/lguf-brightness/default.nix
pkgs/games/gscrabble/default.nix
pkgs/misc/uq/default.nix
pkgs/misc/sound-of-sorting/default.nix
pkgs/games/frogatto/default.nix
pkgs/games/frogatto/engine.nix
pkgs/games/frogatto/data.nix
pkgs/servers/mumsi/default.nix
pkgs/servers/webmetro/default.nix
pkgs/development/beam-modules/hex-registry-snapshot.nix
pkgs/development/lua-modules/overrides.nix
pkgs/desktops/surf-display/default.nix
pkgs/games/qgo/default.nix
pkgs/games/devilutionx/default.nix
pkgs/games/assaultcube/default.nix
pkgs/data/fonts/gelasio/default.nix
pkgs/data/fonts/noto-fonts/tools.nix
pkgs/data/fonts/lalezar-fonts/default.nix
pkgs/data/fonts/ir-standard-fonts/default.nix
pkgs/data/fonts/xkcd-font/default.nix
pkgs/servers/monitoring/prometheus/json-exporter.nix
pkgs/development/compilers/crystal/crystal2nix.nix
pkgs/development/compilers/carp/default.nix
pkgs/development/compilers/z88dk/default.nix
pkgs/development/compilers/gerbil/unstable.nix
pkgs/development/compilers/openspin/default.nix
pkgs/development/compilers/qbe/default.nix
pkgs/development/compilers/gambit/unstable.nix
pkgs/development/misc/rappel/default.nix
pkgs/development/libraries/dee/default.nix
pkgs/development/libraries/libgumath/default.nix
pkgs/development/libraries/libunity/default.nix
pkgs/development/libraries/libxnd/default.nix
pkgs/development/python-modules/tess/default.nix
pkgs/development/tools/rdocker/default.nix
pkgs/development/tools/fusee-launcher/default.nix
pkgs/development/tools/quicktemplate/default.nix
pkgs/development/tools/ofono-phonesim/default.nix
pkgs/development/libraries/libelfin/default.nix
pkgs/development/tools/osslsigncode/default.nix
pkgs/development/libraries/mutest/default.nix
pkgs/development/libraries/libndtypes/default.nix
pkgs/development/tools/statik/default.nix
pkgs/development/tools/go-outline/default.nix
pkgs/development/libraries/multipart-parser-c/default.nix
pkgs/development/tools/yaml2json/default.nix
pkgs/development/libraries/mumlib/default.nix
pkgs/development/libraries/yubico-pam/default.nix
pkgs/development/libraries/coin3d/default.nix
pkgs/development/python-modules/nxt-python/default.nix
pkgs/development/ocaml-modules/ppx_tools/default.nix
pkgs/development/libraries/soxt/default.nix
pkgs/development/libraries/ticpp/default.nix
pkgs/development/libraries/rapidcheck/default.nix
pkgs/development/libraries/g2o/default.nix
pkgs/development/python-modules/nmigen-boards/default.nix
pkgs/development/python-modules/pybluez/default.nix
pkgs/development/libraries/beignet/default.nix
pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
pkgs/development/python-modules/ptable/default.nix
pkgs/development/tools/dep2nix/default.nix
pkgs/development/libraries/gthree/default.nix
pkgs/development/python-modules/nmigen/default.nix
pkgs/development/python-modules/glasgow/default.nix
pkgs/development/libraries/libykclient/default.nix
pkgs/tools/backup/iceshelf/default.nix
pkgs/tools/backup/easysnap/default.nix
pkgs/tools/backup/diskrsync/default.nix
pkgs/development/tools/vgo2nix/default.nix
pkgs/development/tools/easyjson/default.nix
pkgs/development/python-modules/google_cloud_testutils/default.nix
pkgs/development/python-modules/backports_shutil_get_terminal_size/default.nix
pkgs/tools/networking/openconnect_pa/default.nix
pkgs/development/python-modules/pytest-ordering/default.nix
pkgs/development/python-modules/pymaging_png/default.nix
pkgs/development/python-modules/nbmerge/default.nix
pkgs/tools/package-management/cargo-outdated/default.nix
pkgs/development/python-modules/fx2/default.nix
pkgs/tools/misc/vdirsyncer/default.nix
pkgs/tools/misc/ltunify/default.nix
pkgs/tools/misc/zabbixctl/default.nix
pkgs/tools/misc/gif-for-cli/default.nix
pkgs/development/python-modules/python-unshare/default.nix
pkgs/tools/X11/xcape/default.nix
pkgs/tools/misc/cht.sh/default.nix
pkgs/development/python-modules/pyfantom/default.nix
pkgs/tools/misc/dpt-rp1-py/default.nix
pkgs/tools/misc/fffuu/default.nix
pkgs/tools/misc/pandoc-imagine/default.nix
pkgs/tools/misc/uhubctl/default.nix
pkgs/tools/graphics/yaxg/default.nix
pkgs/tools/graphics/svgbob/default.nix
pkgs/os-specific/linux/fscrypt/default.nix
pkgs/tools/security/ripasso/cursive.nix
pkgs/tools/security/b2sum/default.nix
pkgs/os-specific/linux/facetimehd/default.nix
pkgs/os-specific/linux/anbox/default.nix
pkgs/applications/window-managers/yabar/unstable.nix
pkgs/applications/window-managers/i3/pystatus.nix
pkgs/applications/window-managers/i3/layout-manager.nix
pkgs/applications/window-managers/kbdd/default.nix
pkgs/applications/window-managers/i3/blocks.nix
pkgs/os-specific/linux/ledger-udev-rules/default.nix
pkgs/applications/networking/flent/http-getter.nix
pkgs/applications/networking/ps2client/default.nix
pkgs/applications/misc/antfs-cli/default.nix
pkgs/applications/virtualization/virt-top/default.nix
pkgs/applications/misc/qt-box-editor/default.nix
pkgs/applications/editors/amp/default.nix
pkgs/applications/misc/gpscorrelate/default.nix
pkgs/applications/misc/web-media-controller/default.nix
pkgs/applications/misc/tilix/default.nix
pkgs/applications/misc/tdrop/default.nix
pkgs/development/python-modules/pymaging/default.nix
pkgs/applications/misc/perkeep/default.nix
pkgs/development/python-modules/pytricia/default.nix
pkgs/applications/misc/cataract/unstable.nix
pkgs/applications/misc/kjv/default.nix
pkgs/applications/misc/pbpst/default.nix
pkgs/applications/misc/slstatus/default.nix
pkgs/applications/misc/autospotting/default.nix
pkgs/applications/misc/lifelines/default.nix
pkgs/applications/misc/ssocr/default.nix
pkgs/applications/misc/bicon/default.nix
pkgs/applications/misc/glom/default.nix
pkgs/applications/office/planner/default.nix
pkgs/applications/office/bookworm/default.nix
pkgs/applications/graphics/ufraw/default.nix
pkgs/applications/video/mjpg-streamer/default.nix
pkgs/applications/audio/rhvoice/default.nix
pkgs/applications/audio/speech-denoiser/default.nix
pkgs/applications/audio/musly/default.nix
pkgs/servers/sql/postgresql/ext/pgjwt.nix
pkgs/development/tools/build-managers/redo-apenwarr/default.nix
pkgs/development/tools/misc/blackmagic/default.nix
pkgs/development/tools/misc/universal-ctags/default.nix
pkgs/development/tools/analysis/panopticon/default.nix
pkgs/tools/typesetting/tex/latexrun/default.nix
pkgs/desktops/pantheon/desktop/gala/default.nix
pkgs/desktops/pantheon/artwork/elementary-redacted-script/default.nix
pkgs/desktops/gnome-3/core/vino/default.nix
pkgs/desktops/gnome-3/extensions/window-corner-preview/default.nix
pkgs/desktops/gnome-3/extensions/tilingnome/default.nix
pkgs/desktops/gnome-3/extensions/timepp/default.nix
pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix
pkgs/desktops/gnome-3/extensions/mediaplayer/default.nix
pkgs/desktops/gnome-3/extensions/caffeine/default.nix
pkgs/applications/window-managers/xmonad/log-applet/default.nix
pkgs/applications/networking/remote/x2goclient/default.nix
pkgs/applications/networking/instant-messengers/chatterino2/default.nix
pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
pkgs/applications/science/biology/poretools/default.nix
pkgs/applications/science/electronics/fped/default.nix
pkgs/applications/science/electronics/verilog/default.nix
pkgs/applications/graphics/gimp/plugins/default.nix
pkgs/applications/audio/deadbeef/plugins/lyricbar.nix
pkgs/applications/audio/csound/csound-manual/default.nix
pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix

The documentation should probably be clarified re this.
cc @volth @worldofpeace

repology documentation

Most helpful comment

The main issue with where to place unstable probably comes from the fact that we use it for two different things:

  • unstable variants of packages – should go to pname
  • main package but version obtained from VCS (because the latest release is too old and broken) – should go to version

Nix makes it hard to tell which is which since it does not know any blessed attributes other than name, and parseDrvName only recognizes the first case.

All 7 comments

But even with this scheme pname won't be the upstream name. Is the rule even desirable?
What does repology do to consider package version which are commits off the source repo?

Repology can mark packages ending with unstable as ignored (light gray).

The main issue with where to place unstable probably comes from the fact that we use it for two different things:

  • unstable variants of packages – should go to pname
  • main package but version obtained from VCS (because the latest release is too old and broken) – should go to version

Nix makes it hard to tell which is which since it does not know any blessed attributes other than name, and parseDrvName only recognizes the first case.

@jtojnar and I also talked about this on IRC #nixos-dev

(note: when I say "attributes" I meant attrPath in all-packages.nix)

@volth made a good summary comment about this https://github.com/NixOS/nixpkgs/issues/68531#issuecomment-533760929

Thank you for your contributions.
This has been automatically marked as stale because it has had no activity for 180 days.
If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.
Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the
    related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse. 3. Ask on the #nixos channel on
    irc.freenode.net.

Still unresolved.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tomberek picture tomberek  Â·  3Comments

matthiasbeyer picture matthiasbeyer  Â·  3Comments

yawnt picture yawnt  Â·  3Comments

chris-martin picture chris-martin  Â·  3Comments

ghost picture ghost  Â·  3Comments