From 49e5bd0dbe534352b449f326d67bbc8a8b696c6a Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 18 Nov 2018 23:13:02 -0600 Subject: [PATCH] doc/stdenv: document more setup hook Here I document setup hooks provided by: - cmake - xcbuildHook - meson - ninja - unzip - wafHook - scons --- doc/stdenv.xml | 99 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 68f07bfe21e3..e38ff403e748 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -2464,7 +2464,104 @@ addEnvHooks "$hostOffset" myBashFunction - + + + cmake + + + + Overrides the default configure phase to run the CMake command. By + default, we use the Make generator of CMake. In + addition, dependencies are added automatically to CMAKE_PREFIX_PATH so + that packages are correctly detected by CMake. Some additional flags + are passed in to give similar behavior to configure-based packages. You + can disable this hook’s behavior by setting configurePhase to a custom + value, or by setting dontUseCmakeConfigure. cmakeFlags controls flags + passed only to CMake. By default, parallel building is enabled as CMake + supports parallel building almost everywhere. When Ninja is also in + use, CMake will detect that and use the ninja generator. + + + + + + xcbuildHook + + + + Overrides the build and install phases to run the “xcbuild” command. + This hook is needed when a project only comes with build files for the + XCode build system. You can disable this behavior by setting buildPhase + and configurePhase to a custom value. xcbuildFlags controls flags + passed only to xcbuild. + + + + + + meson + + + + Overrides the configure phase to run meson to generate Ninja files. You + can disable this behavior by setting configurePhase to a custom value, + or by setting dontUseMesonConfigure. To run these files, you should + accompany meson with ninja. mesonFlags controls only the flags passed + to meson. By default, parallel building is enabled as Meson supports + parallel building almost everywhere. + + + + + + ninja + + + + Overrides the build, install, and check phase to run ninja instead of + make. You can disable this behavior with the dontUseNinjaBuild, + dontUseNinjaInstall, and dontUseNinjaCheck, respectively. Parallel + building is enabled by default in Ninja. + + + + + + unzip + + + + This setup hook will allow you to unzip .zip files specified in $src. + There are many similar packages like unrar, undmg, etc. + + + + + + wafHook + + + + Overrides the configure, build, and install phases. This will run the + "waf" script used by many projects. If waf doesn’t exist, it will copy + the version of waf available in Nixpkgs wafFlags can be used to pass + flags to the waf script. + + + + + + scons + + + + Overrides the build, install, and check phases. This uses the scons + build system as a replacement for make. scons does not provide a + configure phase, so everything is managed at build and install time. + + + +