diff options
Diffstat (limited to 'nixpkgs/pkgs/development/beam-modules/mix-release.nix')
-rw-r--r-- | nixpkgs/pkgs/development/beam-modules/mix-release.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/beam-modules/mix-release.nix b/nixpkgs/pkgs/development/beam-modules/mix-release.nix index 0f070cce7ad3..d48dc38a4b8d 100644 --- a/nixpkgs/pkgs/development/beam-modules/mix-release.nix +++ b/nixpkgs/pkgs/development/beam-modules/mix-release.nix @@ -81,6 +81,27 @@ stdenv.mkDerivation (overridable // { # Phoenix projects for example will need compile.phoenix mix deps.compile --no-deps-check --skip-umbrella-children + # Symlink dependency sources. This is needed for projects that require + # access to the source of their dependencies. For example, Phoenix + # applications need javascript assets to build asset bundles. + ${lib.optionalString (mixNixDeps != { }) '' + mkdir -p deps + + ${lib.concatMapStringsSep "\n" (dep: '' + dep_name=$(basename ${dep} | cut -d '-' -f2) + dep_path="deps/$dep_name" + if [ -d "${dep}/src" ]; then + ln -s ${dep}/src $dep_path + fi + '') (builtins.attrValues mixNixDeps)} + ''} + + # Symlink deps to build root. Similar to above, but allows for mixFodDeps + # Phoenix projects to find javascript assets. + ${lib.optionalString (mixFodDeps != null) '' + ln -s ../deps ./ + ''} + runHook postConfigure ''; |