nixpkgs/pkgs/development/compilers/haxe/setup-hook.sh
aszlig d68e9b855c
haxe: Add setup-hook and patch to add haxlib path.
Introduces a new environment variable called HAXELIB_PATH and the patch
for haxelib is trying to search that environment variable for other
libraries. If the haxelib path for a particular library isn't found, it
reverts to the normal behaviour of searching the user's home directory
for a file called .haxelib, which in turn points to a repsitory path and
that in turn has .current/.dev files to point it to the right version
number.

This avoids workarounds like this when using Nix to build Haxe projects:

configurePhase = ''
  export HOME="$(pwd)"
  echo "$(pwd)" > .haxelib

  mkdir dependency1
  echo dev > dependency1/.current
  echo "${dependency1}" > dependency1/.dev

  mkdir dependency2
  echo dev > dependency2/.current
  echo "${dependency2}" > dependency2/.dev
'';

Now every haxelib is expected to be in $out/lib/haxe/$name and whenever
it is listed in buildInputs of another Haxe derivation, HAXELIB_PATH
gets automatically set in the build environment.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-03-20 08:39:21 +01:00

6 lines
96 B
Bash

addHaxeLibPath() {
addToSearchPath HAXELIB_PATH "$1/lib/haxe"
}
envHooks+=(addHaxeLibPath)