Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefer pname and version in mkDerivations instead of name #123438

Merged
merged 3 commits into from May 23, 2021

Conversation

samuela
Copy link
Member

@samuela samuela commented May 18, 2021

Motivation for this change

In pursuit of #103997, I present this PR which AFAICT gets rid of most if not all of the remaining usages of name in mkDerivations. I did a search through pkgs/, and fixed each manually.

I only tackled mkDerivations with "literal" name usage. Functions that generate mkDerivations with name are another beast. Also batch files for things like node/yarn/etc we're skipped. Instances of mkDerivation outside of pkgs/ were not addressed.

Logs for nixpkgs-review wip can be found here: https://gist.github.com/samuela/a71de800aef3e31a2e0e116b10ff0aa5. There are three failures, but they seem unrelated to the changes in this PR. Perhaps these should packages should be marked broken?

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@r-rmcgibbo
Copy link

r-rmcgibbo commented May 18, 2021

Result of nixpkgs-review pr 123438 at 958bf5d run on aarch64-linux 1

7 packages marked as broken and skipped:
  • gnome.gnome-documents
  • jboss
  • libsForQt512.kcachegrind
  • pulseeffects-legacy
  • pulseeffects-pw
  • unfs3
  • xmonad_log_applet
1 package failed to build:
48 packages skipped due to time constraints:
  • adapta-gtk-theme
  • calls
  • cantata
  • cinnamon.cinnamon-common
  • cinnamon.cinnamon-screensaver
  • clementine
  • drush
  • empathy (gnome.empathy)
  • enlightenment.enlightenment
  • evolution-ews
  • ...
73 packages built successfully:
  • adminer
  • almanah
  • mod_dnssd (apacheHttpdPackages.mod_dnssd)
  • php (apacheHttpdPackages.php ,php74)
  • arcanist
  • automysqlbackup
  • bookstack
  • bubblemail
  • chrome-gnome-shell
  • cinnamon.cinnamon-control-center
  • clamsmtp
  • dkimproxy
  • dotnetPackages.NDeskOptions
  • dspam
  • engelsystem
  • evolution
  • evolution-data-server (gnome.evolution-data-server ,gnome.evolution_data_server)
  • folks (gnome.folks)
  • gfbgraph (gnome.gfbgraph)
  • gnome-multi-writer
  • gnome-online-accounts (gnome.gnome-online-accounts ,gnome.gnome_online_accounts)
  • gnome.cheese
  • gnome.file-roller
  • gnome.gnome-books
  • gnome.gnome-contacts
  • gnome.gnome-disk-utility
  • gnome.gnome-initial-setup
  • gnome.gnome-maps
  • gnome.gnome-music
  • gnome.gnome-online-miners
  • gnome.gnome-session (gnome.gnome_session)
  • gnome.gnome-shell (gnome.gnome_shell)
  • gnome.gnome-tweaks (gnome.gnome-tweak-tool)
  • gnome.gnome-user-share
  • grilo-plugins (gnome.grilo-plugins)
  • libgdata (gnome.libgdata)
  • libzapojit (gnome.libzapojit)
  • gnome.nautilus
  • gnome.nautilus-python
  • gnome.totem
  • tracker-miners (gnome.tracker-miners)
  • gvfs (gnome2.gvfs)
  • gnomeExtensions.easyScreenCast
  • gnomeExtensions.gsconnect
  • icingaweb2
  • kgx
  • lighttpd
  • logrotate
  • mailutils
  • matomo
  • matomo-beta
  • mdadm (mdadm4)
  • miniHttpd
  • nextcloud-news-updater
  • pantheon.extra-elementary-contracts
  • petidomo
  • phoronix-test-suite
  • pies
  • popa3d
  • prayer
  • psensor
  • rabbitvcs
  • rapid-photo-downloader
  • smartmontools
  • system-sendmail
  • tlp
  • tomcat_connectors
  • udiskie
  • udisks (udisks2)
  • ursadb
  • usermount
  • wp-cli
  • yle-dl
5 suggestions:
  • warning: missing-patch-comment

    Consider adding a comment explaining the purpose of this patch on the line preceeding.
    Near pkgs/servers/mail/clamsmtp/default.nix:12:15:

       |
    12 |   patches = [ ./header-order.patch ];
       |               ^
    
  • warning: missing-phase-hooks

    buildPhase should probably contain runHook preBuild and runHook postBuild.

    Near pkgs/servers/mail/system-sendmail/default.nix:24:3:

       |
    24 |   buildPhase = ''
       |   ^
    
  • warning: license-missing

    Package is missing a license.

    Near pkgs/servers/mail/system-sendmail/default.nix:30:3:

       |
    30 |   meta = with lib; {
       |   ^
    
  • warning: maintainers-missing

    Package does not have a maintainer. Consider adding yourself?

    Near pkgs/servers/pies/default.nix:47:5:

       |
    47 |     maintainers = [ ];
       |     ^
    
  • warning: maintainers-missing

    Package does not have a maintainer. Consider adding yourself?

    Near pkgs/servers/unfs3/default.nix:32:5:

       |
    32 |     maintainers = [ ];
       |     ^
    

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


Result of nixpkgs-review pr 123438 at 958bf5d run on x86_64-linux 1

23 packages marked as broken and skipped:
  • gnome.gnome-documents
  • hhvm
  • jboss
  • libsForQt512.kcachegrind
  • php73Extensions.pcs
  • php73Extensions.v8
  • php73Extensions.v8js
  • php73Extensions.zmq
  • php73Packages.phpmd
  • php74Extensions.pcs
  • ...
1 package failed to build:
257 packages skipped due to time constraints:
  • adapta-gtk-theme
  • adminer
  • almanah
  • arcanist
  • automysqlbackup
  • bookstack
  • bubblemail
  • calls
  • cantata
  • chrome-gnome-shell
  • ...
161 packages built successfully:
  • mod_dnssd (apacheHttpdPackages.mod_dnssd)
  • php (apacheHttpdPackages.php ,php74)
  • clamsmtp
  • dkimproxy
  • dotnetPackages.NDeskOptions
  • dspam
  • evolution-data-server (gnome.evolution-data-server ,gnome.evolution_data_server)
  • gnome-online-accounts (gnome.gnome-online-accounts ,gnome.gnome_online_accounts)
  • grilo-plugins (gnome.grilo-plugins)
  • libgdata (gnome.libgdata)
  • tracker-miners (gnome.tracker-miners)
  • gvfs (gnome2.gvfs)
  • lighttpd
  • mdadm (mdadm4)
  • miniHttpd
  • petidomo
  • php73
  • php73Extensions.ast
  • php73Extensions.bcmath
  • php73Extensions.calendar
  • php73Extensions.ctype
  • php73Extensions.curl
  • php73Extensions.dom
  • php73Extensions.exif
  • php73Extensions.fileinfo
  • php73Extensions.filter
  • php73Extensions.ftp
  • php73Extensions.gd
  • php73Extensions.gettext
  • php73Extensions.gmp
  • php73Extensions.hash
  • php73Extensions.iconv
  • php73Extensions.imap
  • php73Extensions.intl
  • php73Extensions.json
  • php73Extensions.ldap
  • php73Extensions.maxminddb
  • php73Extensions.mbstring
  • php73Extensions.mysqli
  • php73Extensions.mysqlnd
  • php73Extensions.opcache
  • php73Extensions.openssl
  • php73Extensions.pcntl
  • php73Extensions.pcov
  • php73Extensions.pdo
  • php73Extensions.pdo_mysql
  • php73Extensions.pdo_odbc
  • php73Extensions.pdo_pgsql
  • php73Extensions.pdo_sqlite
  • php73Extensions.pgsql
  • php73Extensions.posix
  • php73Extensions.readline
  • php73Extensions.session
  • php73Extensions.simplexml
  • php73Extensions.soap
  • php73Extensions.sockets
  • php73Extensions.sodium
  • php73Extensions.sqlite3
  • php73Extensions.tokenizer
  • php73Extensions.xmlreader
  • php73Extensions.xmlwriter
  • php73Extensions.zip
  • php73Extensions.zlib
  • php74Extensions.ast
  • php74Extensions.bcmath
  • php74Extensions.calendar
  • php74Extensions.ctype
  • php74Extensions.curl
  • php74Extensions.dom
  • php74Extensions.exif
  • php74Extensions.fileinfo
  • php74Extensions.filter
  • php74Extensions.ftp
  • php74Extensions.gd
  • php74Extensions.gettext
  • php74Extensions.gmp
  • php74Extensions.iconv
  • php74Extensions.igbinary
  • php74Extensions.imap
  • php74Extensions.intl
  • php74Extensions.json
  • php74Extensions.ldap
  • php74Extensions.maxminddb
  • php74Extensions.mbstring
  • php74Extensions.mysqli
  • php74Extensions.mysqlnd
  • php74Extensions.opcache
  • php74Extensions.openssl
  • php74Extensions.pcntl
  • php74Extensions.pcov
  • php74Extensions.pdo
  • php74Extensions.pdo_mysql
  • php74Extensions.pdo_odbc
  • php74Extensions.pdo_pgsql
  • php74Extensions.pdo_sqlite
  • php74Extensions.pgsql
  • php74Extensions.pinba
  • php74Extensions.posix
  • php74Extensions.readline
  • php74Extensions.session
  • php74Extensions.simplexml
  • php74Extensions.soap
  • php74Extensions.sockets
  • php74Extensions.sodium
  • php74Extensions.sqlite3
  • php74Extensions.tokenizer
  • php74Extensions.xmlreader
  • php74Extensions.xmlwriter
  • php74Extensions.zip
  • php74Extensions.zlib
  • php80
  • php80Extensions.ast
  • php80Extensions.bcmath
  • php80Extensions.calendar
  • php80Extensions.ctype
  • php80Extensions.curl
  • php80Extensions.dom
  • php80Extensions.exif
  • php80Extensions.fileinfo
  • php80Extensions.filter
  • php80Extensions.ftp
  • php80Extensions.gd
  • php80Extensions.gettext
  • php80Extensions.gmp
  • php80Extensions.iconv
  • php80Extensions.imap
  • php80Extensions.intl
  • php80Extensions.ldap
  • php80Extensions.maxminddb
  • php80Extensions.mbstring
  • php80Extensions.mysqli
  • php80Extensions.mysqlnd
  • php80Extensions.opcache
  • php80Extensions.openssl
  • php80Extensions.pcntl
  • php80Extensions.pdo
  • php80Extensions.pdo_mysql
  • php80Extensions.pdo_odbc
  • php80Extensions.pdo_pgsql
  • php80Extensions.pdo_sqlite
  • php80Extensions.pgsql
  • php80Extensions.posix
  • php80Extensions.readline
  • php80Extensions.session
  • php80Extensions.simplexml
  • php80Extensions.soap
  • php80Extensions.sockets
  • php80Extensions.sodium
  • php80Extensions.sqlite3
  • php80Extensions.tokenizer
  • php80Extensions.xmlreader
  • php80Extensions.xmlwriter
  • php80Extensions.zip
  • php80Extensions.zlib
  • pies
  • popa3d
  • prayer
  • system-sendmail
  • tomcat_connectors
  • udisks (udisks2)
  • ursadb

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

Copy link
Contributor

@Mindavi Mindavi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Left some suggestions, up to you to decide if you want to implement those.

pkgs/servers/http/jboss/default.nix Outdated Show resolved Hide resolved
pkgs/servers/ursadb/default.nix Show resolved Hide resolved
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
@SuperSandro2000 SuperSandro2000 merged commit 02c595e into NixOS:master May 23, 2021
@samuela samuela deleted the samuela/pname-version branch May 23, 2021 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants