summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-11-18 23:13:02 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2018-11-19 13:03:09 -0600
commit49e5bd0dbe534352b449f326d67bbc8a8b696c6a (patch)
treeda0aeb426c50634efe0a54e75dd5d26528145ade /doc
parent4621d14b4a2dc44c60222453e59c546bbfcea792 (diff)
downloadnixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar.gz
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar.bz2
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar.lz
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar.xz
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.tar.zst
nixpkgs-49e5bd0dbe534352b449f326d67bbc8a8b696c6a.zip
doc/stdenv: document more setup hook
Here I document setup hooks provided by:

- cmake
- xcbuildHook
- meson
- ninja
- unzip
- wafHook
- scons
Diffstat (limited to 'doc')
-rw-r--r--doc/stdenv.xml99
1 files changed, 98 insertions, 1 deletions
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 68f07bfe21e..e38ff403e74 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">