diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-11-18 23:13:02 -0600 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2018-11-19 13:03:09 -0600 |
commit | 49e5bd0dbe534352b449f326d67bbc8a8b696c6a (patch) | |
tree | da0aeb426c50634efe0a54e75dd5d26528145ade | |
parent | 4621d14b4a2dc44c60222453e59c546bbfcea792 (diff) |
doc/stdenv: document more setup hook
Here I document setup hooks provided by:
- cmake
- xcbuildHook
- meson
- ninja
- unzip
- wafHook
- scons
-rw-r--r-- | doc/stdenv.xml | 99 |
1 files changed, 98 insertions, 1 deletions
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 </para> </listitem> </varlistentry> - </variablelist> + <varlistentry> + <term> + cmake + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + xcbuildHook + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + meson + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + ninja + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + unzip + </term> + <listitem> + <para> + This setup hook will allow you to unzip .zip files specified in $src. + There are many similar packages like unrar, undmg, etc. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + wafHook + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + scons + </term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + </variablelist> </para> </section> <section xml:id="sec-purity-in-nixpkgs"> |