NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18k stars 14.01k forks source link

Deprecate explicit setting of `phases = [...]` #28910

Open dezgeg opened 7 years ago

dezgeg commented 7 years ago

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

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" ]; ```
vyp commented 7 years ago

Or maybe just document to not forget about fixupPhase?

globin commented 7 years ago

I'm very in favour of this!

oxij commented 7 years ago

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".

disassembler commented 7 years ago

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?

grahamc commented 6 years ago

Not doable for 18.09.

stale[bot] commented 4 years ago

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.
mjlbach commented 4 years ago

If this list is remade, Xpra should be removed

stale[bot] commented 3 years ago

I marked this as stale due to inactivity. → More info

stale[bot] commented 3 years ago

I marked this as stale due to inactivity. → More info

Mic92 commented 3 years ago

still relevant

CMCDragonkai commented 3 years ago

I would suggest a whitelist and a blacklist. Or inclusive phase list and an exclusive phase list. One overrides the other.

siraben commented 3 years ago

@Stunkymonkey I suggest you batch your changes into maybe 10-20 packages per PR. You can still have individual commits per package, but title the PR treewide: remove phases or similar.

Stunkymonkey commented 3 years ago

i would like to pack them into one PR, but i feel that the merging process would just get delayed for many days. this way it is nice and separate, but the downside are the notifications you receive.

AndersonTorres commented 3 years ago

We should either undocument phases

Nope.

First, many automated packages use it as a low-level structure. If they are still present, then they should stay documented even if they are not recommended for high-level human-generated packages.

Second, undocument things is an horrendous practice. An undocumented piece in a code makes it harder to understand, and it can become frustrating for a newcomer.

or at least write that it's a bad idea

It is the best course of action indeed.

AndersonTorres commented 3 years ago

i would like to pack them into one PR, but i feel that the merging process would just get delayed for many days.

Pack 10 or 20 per round. Treewide modifications don't need to be so treewide.

Stunkymonkey commented 3 years ago

Pack 10 or 20 per round. Treewide modifications don't need to be so treewide.

if you have a look at the latest PRs you see improvements. I hope that is okay for everybody.

this issue progressed very well in the last weeks, due to the nice help reviewers provided to me.

i am currently short on time. So I hope someone else is interested in closing this issue and could continue the work.

the current progress:

$ rg 'phases = ' pkgs/ --files-with-matches | wc -l
67

could someone tell where phases = ... is wanted? or is the goal to remove it in the future? the remaining packages with rg 'phases = ' pkgs/ --files-with-matches | sort:

``` pkgs/applications/blockchains/whirlpool-gui/default.nix pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix pkgs/applications/editors/emacs/elisp-packages/org-mac-link/default.nix pkgs/applications/editors/emacs/elisp-packages/perl-completion/default.nix pkgs/applications/editors/emacs/elisp-packages/rect-mark/default.nix pkgs/applications/graphics/gimp/plugins/default.nix pkgs/applications/graphics/sane/config.nix pkgs/applications/misc/googleearth/default.nix pkgs/applications/misc/kdbplus/default.nix pkgs/applications/misc/minergate-cli/default.nix pkgs/applications/misc/minergate/default.nix pkgs/applications/networking/instant-messengers/bitlbee/plugins.nix pkgs/applications/office/ib/controller/default.nix pkgs/applications/office/ib/tws/default.nix pkgs/applications/office/moneyplex/default.nix pkgs/applications/science/logic/tlaplus/tlaps.nix pkgs/applications/science/logic/tlaplus/toolbox.nix pkgs/applications/science/logic/why3/with-provers.nix pkgs/applications/science/math/mathematica/10.nix pkgs/applications/science/math/mathematica/11.nix pkgs/applications/science/math/mathematica/9.nix pkgs/applications/science/programming/plm/default.nix pkgs/applications/version-management/mercurial/default.nix pkgs/build-support/emacs/elpa.nix pkgs/build-support/fetchgx/default.nix pkgs/build-support/fetchmavenartifact/default.nix pkgs/build-support/mkshell/default.nix pkgs/build-support/release/default.nix pkgs/build-support/release/maven-build.nix pkgs/build-support/replace-secret/replace-secret.nix pkgs/build-support/rust/fetchCargoTarball.nix pkgs/build-support/rust/sysroot/default.nix pkgs/build-support/src-only/default.nix pkgs/build-support/templaterpm/default.nix pkgs/build-support/trivial-builders.nix pkgs/build-support/vm/default.nix pkgs/build-support/vm/test.nix pkgs/development/beam-modules/fetch-hex.nix pkgs/development/beam-modules/fetch-rebar-deps.nix pkgs/development/compilers/aliceml/default.nix pkgs/development/compilers/intel-graphics-compiler/default.nix pkgs/development/compilers/rust/rust-lib-src.nix pkgs/development/compilers/rust/rust-src.nix pkgs/development/haskell-modules/generic-builder.nix pkgs/development/haskell-modules/make-package-set.nix pkgs/development/java-modules/build-maven-package.nix pkgs/development/java-modules/m2install.nix pkgs/development/python-modules/buildbot/default.nix pkgs/development/python-modules/deskcon/default.nix pkgs/development/tools/build-managers/bloop/default.nix pkgs/development/tools/neoload/default.nix pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix pkgs/games/andyetitmoves/default.nix pkgs/games/vessel/default.nix pkgs/games/worldofgoo/default.nix pkgs/misc/cups/drivers/canon/default.nix pkgs/misc/my-env/default.nix pkgs/misc/source-and-tags/default.nix pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix pkgs/os-specific/darwin/apple-source-releases/Security/boot.nix pkgs/stdenv/darwin/default.nix pkgs/test/haskell/shellFor/default.nix pkgs/test/stdenv-inputs/default.nix ```
AndersonTorres commented 3 years ago

The Elisp packages are script-generated. The only useful way to "get rid of phases" in them is to modifying the scripts that generate them. For now, I think they can be ignored.

The other I don't know for sure, but should be safe to modify them.

Stunkymonkey commented 3 years ago

if the last two PRs get merged I do not know what to do next here. There are now "38" (will be "36" hopefully) files left. Most of them require more expertise then I have or are not free. And someone a darwin system for a few files. This issue is close to being fixed. Maybe this is something, that is wanted for release 21.11 So please continue the work

Pandapip1 commented 5 days ago

NOTE: srcOnly relies on phases = [...].

SuperSandro2000 commented 4 days ago

I don't think that is an exception. It can also just disable buildPhase

Pandapip1 commented 4 days ago

I don't think that is an exception. It can also just disable buildPhase

...and configurePhase, and checkPhase, and fixupPhase, and installCheckPhase, and distPhase? phases = [...]; is a lot clearer and robust.

AndersonTorres commented 4 days ago

I tend to disagree.

If there are too much phases to disable, just use a custom build.sh script.

Pandapip1 commented 4 days ago

We're talking in the context of srcOnly, where that is not feasible.

AndersonTorres commented 3 days ago

Why not?

https://github.com/NixOS/nixpkgs/blob/master/pkgs%2Fbuild-support%2Fsrc-only%2Fdefault.nix