Nixpkgs: Deprecate explicit setting of `phases = [...]`

Created on 3 Sep 2017  路  7Comments  路  Source: NixOS/nixpkgs

Doing stuff like phases = [ "unpackPhase" "buildPhase" "installPhase" ]; is a bad idea, because:

  • Semi-important but not crucial phases like fixupPhase are almost always forgotten, leading to things like:

    • huge closures due to not running patchelf --shrink-rpath

    • uncompressed manpages

  • It breaks setup hooks that want to add their own phases (e.g. autoreconfHook which appends to preConfigurePhases)

We should either undocument phases or at least write that it's a bad idea, and replace all the following with proper dontBuild etc. flags:
maintainers/scripts/nix-generate-from-cpan.nix: phases = [ "installPhase" ]; nixos/modules/security/wrappers/default.nix: phases = [ "installPhase" "fixupPhase" ]; nixos/modules/services/amqp/activemq/default.nix: phases = [ "installPhase" ]; nixos/modules/services/misc/gitlab.nix: phases = "installPhase fixupPhase"; nixos/modules/services/networking/pptpd.nix: phases = [ "installPhase" ]; nixos/modules/services/networking/xl2tpd.nix: phases = [ "installPhase" ]; nixos/modules/services/web-apps/frab.nix: phases = "installPhase fixupPhase"; nixos/tests/mesos.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/applications/altcoins/zcash/libsnark/mie.nix: phases = ["unpackPhase" "installPhase"]; pkgs/applications/editors/brackets/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/applications/editors/eclipse/plugins.nix: phases = [ "installPhase" ]; pkgs/applications/editors/eclipse/plugins.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/editors/eclipse/plugins.nix: phases = [ "installPhase" ]; pkgs/applications/editors/emacs-modes/darcsum/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix: phases = [ "buildPhase" "installPhase"]; pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix: phases = [ "buildPhase" "installPhase"]; pkgs/applications/editors/emacs-modes/rect-mark/default.nix: phases = [ "buildPhase" "installPhase"]; pkgs/applications/editors/emacs-modes/xml-rpc/default.nix: phases = [ "buildPhase" "installPhase"]; pkgs/applications/editors/lighttable/default.nix: phases = [ "installPhase" ]; pkgs/applications/editors/sublime3/default.nix: phases = [ "installPhase" ]; pkgs/applications/graphics/gimp/plugins/default.nix: inherit name; phases = "extraLib installPhase"; pkgs/applications/graphics/sane/config.nix: phases = "installPhase"; pkgs/applications/graphics/swingsane/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/misc/audio/wavrsocvt/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/misc/avrdudess/default.nix: phases = [ "buildPhase" ]; pkgs/applications/misc/cura/lulzbot.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/misc/emem/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/misc/ganttproject-bin/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/misc/gollum/default.nix: phases = [ "installPhase" ]; pkgs/applications/misc/googleearth/default.nix: phases = "unpackPhase installPhase"; pkgs/applications/misc/gpsprune/default.nix: phases = [ "installPhase" ]; pkgs/applications/misc/josm/default.nix: phases = [ "installPhase" ]; pkgs/applications/misc/kdbplus/default.nix: phases = "unpackPhase installPhase"; pkgs/applications/misc/nix-tour/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/misc/osmctools/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/misc/pdfdiff/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/applications/misc/translate-shell/default.nix: phases = [ "buildPhase" "installPhase" "postFixup" ]; pkgs/applications/misc/vue/default.nix: phases = "installPhase"; pkgs/applications/misc/weather/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/networking/browsers/chromium/plugins.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ]; pkgs/applications/networking/browsers/firefox-bin/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/networking/cluster/helm/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/networking/dropbox-cli/default.nix: phases = "unpackPhase installPhase"; pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix: phases = [ "installPhase" ]; pkgs/applications/networking/mailreaders/notmuch/mutt.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix: phases = "unpackPhase installPhase"; pkgs/applications/networking/mumble/overlay.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/networking/p2p/freenet/default.nix: phases = [ "installPhase" ]; pkgs/applications/networking/remote/citrix-receiver/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/office/ib/controller/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/office/ib/tws/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/applications/office/jabref/default.nix: phases = [ "installPhase" ]; pkgs/applications/office/moneyplex/default.nix: phases = [ "unpackPhase" "installPhase" "postInstall" ]; pkgs/applications/office/ppl-address-book/default.nix: phases = [ "installPhase" ]; pkgs/applications/office/zotero/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/applications/science/biology/picard-tools/default.nix: phases = [ "installPhase" ]; pkgs/applications/science/biology/varscan/default.nix: phases = [ "installPhase" ]; pkgs/applications/science/electronics/eagle/default.nix: phases = [ "installPhase" ]; pkgs/applications/science/logic/logisim/default.nix: phases = [ "installPhase" ]; pkgs/applications/science/logic/saw-tools/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/applications/science/logic/verifast/default.nix: phases = "unpackPhase installPhase"; pkgs/applications/science/machine-learning/torch/torch-distro.nix: phases = [ "unpackPhase" "patchPhase" "buildPhase"]; pkgs/applications/science/math/mathematica/10.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/applications/science/math/mathematica/9.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/applications/science/math/mathematica/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/applications/science/math/scilab-bin/default.nix: phases = [ "unpackPhase" "fixupPhase" "installPhase" ]; pkgs/applications/science/programming/fdr/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/science/programming/plm/default.nix: phases = [ "installPhase" ]; pkgs/applications/search/grepm/default.nix: phases = [ "installPhase" ]; pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix: phases = "installPhase"; pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/applications/version-management/git-and-tools/git-extras/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/applications/version-management/git-and-tools/hub/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/applications/version-management/gitlab/default.nix: phases = ["buildPhase"]; pkgs/applications/virtualization/driver/win-qemu/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/virtualization/driver/win-spice/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/applications/virtualization/driver/win-virtio/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/build-support/emacs/elpa.nix: phases = "installPhase fixupPhase distPhase"; pkgs/build-support/emacs/wrapper.nix: phases = [ "installPhase" ]; pkgs/build-support/fetchgx/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/build-support/fetchmavenartifact/default.nix: phases = "installPhase fixupPhase"; pkgs/build-support/release/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/build-support/release/maven-build.nix: phases = "setupPhase unpackPhase patchPhase mvnCompile ${if doTestCompile then "mvnTestCompile mvnTestJar" else ""} ${if doTest then "mvnTest" else ""} ${if doJavadoc then "mvnJavadoc" else ""} ${if doCheckstyle then "mvnCheckstyle" else ""} mvnJar mvnAssembly mvnRelease finalPhase"; pkgs/build-support/rust/fetchcargo.nix: phases = "unpackPhase installPhase"; pkgs/build-support/src-only/default.nix: phases = ["unpackPhase" "patchPhase" "installPhase"]; pkgs/build-support/templaterpm/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/build-support/vm/default.nix: phases = "prepareImagePhase sysInfoPhase buildPhase installPhase"; pkgs/build-support/vm/test.nix: phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase"; pkgs/data/fonts/droid/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/google-fonts/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/data/fonts/input-fonts/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/liberationsansnarrow/binary.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/lobster-two/default.nix: phases = ["installPhase"]; pkgs/data/fonts/meslo-lg/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/oldstandard/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/tempora-lgc/default.nix: phases = "installPhase"; pkgs/data/fonts/ucs-fonts/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/data/fonts/unifont/default.nix: phases = "installPhase"; pkgs/development/beam-modules/fetch-hex.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/compilers/adobe-flex-sdk/default.nix: phases = "installPhase"; pkgs/development/compilers/aliceml/default.nix: phases = [ "unpackPhase" "patchPhase" "configurePhase" "buildPhase" ]; pkgs/development/compilers/closure/default.nix: phases = [ "installPhase" ]; pkgs/development/compilers/elm/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/compilers/gcc-arm-embedded/6/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/development/compilers/gcc-arm-embedded/default.nix: phases = "unpackPhase patchPhase installPhase"; pkgs/development/compilers/lessc/default.nix: phases = [ "installPhase" ]; pkgs/development/compilers/rust/binaryBuild.nix: phases = ["unpackPhase" "installPhase"]; pkgs/development/compilers/rust/binaryBuild.nix: phases = ["unpackPhase" "installPhase"]; pkgs/development/haskell-modules/hoogle.nix: phases = [ "buildPhase" ]; pkgs/development/haskell-modules/make-package-set.nix: phases = ["installPhase"]; pkgs/development/interpreters/acl2/default.nix: phases = "unpackPhase installPhase"; pkgs/development/interpreters/clojure/clooj.nix: phases = "installPhase"; pkgs/development/java-modules/build-maven-package.nix: phases = [ "unpackPhase" "buildPhase" ]; pkgs/development/java-modules/m2install.nix: phases = "installPhase"; pkgs/development/libraries/apache-activemq/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/libraries/hunspell/dictionaries.nix: phases = "unpackPhase patchPhase buildPhase installPhase"; pkgs/development/libraries/hunspell/dictionaries.nix: phases = "unpackPhase installPhase"; pkgs/development/libraries/hunspell/dictionaries.nix: phases = "unpackPhase installPhase"; pkgs/development/libraries/hunspell/dictionaries.nix: phases = "unpackPhase patchPhase installPhase"; pkgs/development/libraries/hunspell/dictionaries.nix: phases = ["unpackPhase" "installPhase"]; pkgs/development/libraries/java/jflex/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/libraries/java/lombok/default.nix: phases = [ "installPhase" ]; pkgs/development/libraries/miniball/default.nix: phases = [ "installPhase" ]; pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/development/libraries/science/math/cudnn/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/development/libraries/sqlite-amalgamation/default.nix: phases = [ "unpackPhase" "buildPhase" ]; pkgs/development/lisp-modules/clwrapper/default.nix: phases="installPhase fixupPhase"; pkgs/development/misc/avr8-burn-omat/default.nix: phases = "unpackPhase installPhase"; pkgs/development/mobile/adb-sync/default.nix: phases = "installPhase"; pkgs/development/mobile/androidenv/androidndk.nix: phases = "buildPhase"; pkgs/development/mobile/androidenv/androidndk_r8e.nix: phases = "buildPhase"; pkgs/development/ruby-modules/gem/default.nix: phases = attrs.phases or [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" "fixupPhase" ]; pkgs/development/tools/alloy/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/ammonite/default.nix: phases = "installPhase"; pkgs/development/tools/apktool/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/continuous-integration/cide/default.nix: phases = ["installPhase"]; pkgs/development/tools/coursier/default.nix: phases = "installPhase"; pkgs/development/tools/github/github-release/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/tools/gnulib/default.nix: phases = ["unpackPhase" "installPhase"]; pkgs/development/tools/java/cfr/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/jsduck/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/misc/chruby/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; pkgs/development/tools/misc/distcc/masq.nix: phases = [ "installPhase" ]; pkgs/development/tools/neoload/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/node-webkit/nw12.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix: phases = "unpackPhase patchPhase buildPhase"; pkgs/development/tools/ocaml/utop/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/parse-cli-bin/default.nix: phases = "installPhase"; pkgs/development/tools/parsing/lemon/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/development/tools/postiats-utilities/default.nix: phases = "unpackPhase patchPhase installPhase"; pkgs/development/tools/rhc/default.nix: phases = [ "installPhase" ]; pkgs/development/tools/ronn/default.nix: phases = ["installPhase"]; pkgs/development/tools/thrust/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/development/tools/xcbuild/wrapper.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/development/web/twitter-bootstrap/default.nix: phases = [ "installPhase" ]; pkgs/games/90secondportraits/default.nix: phases = "installPhase"; pkgs/games/andyetitmoves/default.nix: phases = "unpackPhase installPhase"; pkgs/games/anki/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/games/duckmarines/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/games/flightgear/default.nix: phases = [ "installPhase" ]; pkgs/games/minecraft-server/default.nix: phases = "installPhase"; pkgs/games/minecraft/default.nix: phases = "installPhase"; pkgs/games/mrrescue/default.nix: phases = "installPhase"; pkgs/games/orthorobot/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/games/rimshot/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/games/scrolls/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/games/sienna/default.nix: phases = "installPhase"; pkgs/games/tcl2048/default.nix: phases = "installPhase"; pkgs/games/vapor/default.nix: phases = "installPhase"; pkgs/games/vessel/default.nix: phases = "installPhase"; pkgs/games/worldofgoo/default.nix: phases = "unpackPhase installPhase"; pkgs/games/zandronum/bin.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/misc/cups/drivers/canon/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/misc/cups/drivers/estudio/default.nix: phases = [ "unpackPhase" pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix: phases = [ "installPhase" ]; pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix: phases = [ "installPhase" ]; pkgs/misc/drivers/gutenprint/bin.nix: phases = "buildPhase"; pkgs/misc/drivers/postscript-lexmark/default.nix: phases = [ "unpackPhase" "installPhase"]; pkgs/misc/drivers/sundtek/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/misc/emulators/fceux/default.nix: phases = "unpackPhase buildPhase"; pkgs/misc/lilypond/fonts.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/misc/lilypond/with-fonts.nix: phases = "installPhase"; pkgs/misc/my-env/default.nix: phases = [ "buildPhase" "fixupPhase" ]; pkgs/misc/my-env/default.nix: phases= pkgs/misc/source-and-tags/default.nix: phases = "unpackPhase buildPhase"; pkgs/os-specific/darwin/apple-sdk/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-sdk/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-sdk/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-sdk/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-sdk/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/Security/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/os-specific/darwin/cf-private/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/os-specific/darwin/xcode/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; pkgs/os-specific/linux/apparmor/default.nix: phases = ''unpackPhase installPhase''; pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix: phases = [ "buildPhase" ]; pkgs/os-specific/linux/firmware/intel2200BGFirmware/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/firmware/openelec-dvb-firmware/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/firmware/rtl8192su-firmware/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/firmware/rtl8723bs-firmware/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/linux/i810switch/default.nix: phases = "unpackPhase installPhase"; pkgs/os-specific/linux/kernel/patches.nix: phases = [ "installPhase" ]; pkgs/os-specific/windows/mingw-headers/default.nix: phases = [ "installPhase" ]; pkgs/os-specific/windows/mingwrt/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/os-specific/windows/w32api/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/servers/atlassian/confluence.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/servers/atlassian/crowd.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; pkgs/servers/atlassian/jira.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; pkgs/servers/dict/dictd-db-collector.nix: phases = ["installPhase"]; pkgs/servers/http/jboss/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/servers/http/jetty/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/servers/http/nix-binary-cache/default.nix: phases = ["installPhase"]; pkgs/servers/http/winstone/default.nix: phases = [ "installPhase" ]; pkgs/servers/misc/subsonic/default.nix: phases = ["unpackPhase" "installPhase"]; pkgs/servers/monitoring/riemann/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/servers/monitoring/seyren/default.nix: phases = ["installPhase"]; pkgs/servers/nosql/eventstore/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/servers/plex/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" "distPhase" ]; pkgs/servers/search/elasticsearch/plugins.nix: phases = ["installPhase"]; pkgs/servers/search/solr/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/servers/xmpp/ejabberd/default.nix: phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ]; pkgs/servers/zookeeper/default.nix: phases = ["unpackPhase" "installPhase"]; pkgs/shells/oh-my-zsh/default.nix: phases = "installPhase"; pkgs/stdenv/darwin/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/tools/X11/runningx/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/tools/X11/sct/default.nix: phases = ["patchPhase" "buildPhase" "installPhase"]; pkgs/tools/X11/xgeometry-select/default.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/tools/X11/xpra/libfakeXinerama.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/tools/admin/google-cloud-sdk/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/tools/graphics/ditaa/default.nix: phases = [ "installPhase" ]; pkgs/tools/graphics/dpic/default.nix: phases = [ "unpackPhase" "buildPhase" "installPhase" ]; pkgs/tools/graphics/facedetect/default.nix: phases = [ "unpackPhase" "patchPhase" "installPhase" ]; pkgs/tools/graphics/pdfread/default.nix: phases = "unpackPhase patchPhase installPhase"; pkgs/tools/misc/emv/default.nix: phases = [ "installPhase" ]; pkgs/tools/misc/gibo/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/tools/misc/plantuml/default.nix: phases = [ "installPhase" ]; pkgs/tools/misc/plowshare/default.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/tools/misc/ponysay/default.nix: phases = "unpackPhase installPhase fixupPhase"; pkgs/tools/misc/pws/default.nix: phases = ["installPhase"]; pkgs/tools/misc/ultrastar-manager/default.nix: phases = [ "unpackPhase" "patchPhase" ]; pkgs/tools/misc/xxd/default.nix: phases = [ "installPhase" ]; pkgs/tools/networking/maphosts/default.nix: phases = ["installPhase"]; pkgs/tools/security/ecryptfs/helper.nix: phases = [ "installPhase" ]; pkgs/tools/security/enpass/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/tools/security/gorilla-bin/default.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/tools/security/keybase-gui/default.nix: phases = ["unpackPhase" "installPhase" "fixupPhase"]; pkgs/tools/security/kpcli/default.nix: phases = [ "installPhase" "fixupPhase" ]; pkgs/tools/security/ossec/default.nix: phases = [ "unpackPhase" "patchPhase" "buildPhase" ]; pkgs/tools/security/prey/default.nix: phases = "unpackPhase installPhase"; pkgs/tools/system/collectd/data.nix: phases = [ "installPhase" ]; pkgs/tools/system/r10k/default.nix: phases = ["installPhase"]; pkgs/tools/text/papertrail/default.nix: phases = [ "installPhase" ]; pkgs/tools/text/reckon/default.nix: phases = [ "installPhase" ]; pkgs/top-level/all-packages.nix: phases = ["unpackPhase" "installPhase"]; pkgs/top-level/dotnet-packages.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/top-level/emacs-packages.nix: phases = [ "buildPhase" "installPhase" ]; pkgs/top-level/php-packages.nix: phases = [ "installPhase" ]; pkgs/top-level/php-packages.nix: phases = [ "installPhase" ]; pkgs/top-level/python-packages.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/top-level/python-packages.nix: phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; pkgs/top-level/python-packages.nix: phases = [ "unpackPhase" "installPhase" ]; pkgs/top-level/rust-packages.nix: phases = [ "unpackPhase" "installPhase" ];

enhancement sprintable hygiene

Most helpful comment

As an author of osmctools expression I want to note that at least some
of those uses are legit.

I agree that adding fixupPhase there (or pretty much to any expression
lacking it) wouldn't hurt.

But I think that explicitly disabling all the phases when you don't want
them is a pain in the ass (and would require a lot of maintenance when
stdenv adds a phase).

I'd prefer a solution where hooks and fixupPhase are not "phases" but
some special things you are not supposed to touch. To me they seem to be
more of "prePhases" and "postPhases" things than "phases".

All 7 comments

Or maybe just document to not forget about fixupPhase?

I'm very in favour of this!

As an author of osmctools expression I want to note that at least some
of those uses are legit.

I agree that adding fixupPhase there (or pretty much to any expression
lacking it) wouldn't hurt.

But I think that explicitly disabling all the phases when you don't want
them is a pain in the ass (and would require a lot of maintenance when
stdenv adds a phase).

I'd prefer a solution where hooks and fixupPhase are not "phases" but
some special things you are not supposed to touch. To me they seem to be
more of "prePhases" and "postPhases" things than "phases".

If touching phases directly is deprecated, how would you go about reordering phases without manually touching the phases attribute? I'm thinking of things like python where checkInstall does tests before the installation phase, but a test requiring calling of an exucution a shell command generated (and wrapped) in the install phase that isn't created until after the install phase?

Not doable for 18.09.

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.

If this list is remade, Xpra should be removed

Was this page helpful?
0 / 5 - 0 ratings

Related issues

spacekitteh picture spacekitteh  路  3Comments

matthiasbeyer picture matthiasbeyer  路  3Comments

tomberek picture tomberek  路  3Comments

domenkozar picture domenkozar  路  3Comments

sid-kap picture sid-kap  路  3Comments