···87 fi
88 done
8900000090 runHook postInstall
91 '';
92
···87 fi
88 done
8990+ # Copy the source so it can be used by dependent packages. For example,
91+ # phoenix applications need the source of phoenix and phoenix_html to
92+ # build javascript and css assets.
93+ mkdir -p $out/src
94+ cp -r $src/* "$out/src"
95+96 runHook postInstall
97 '';
98
+21
pkgs/development/beam-modules/mix-release.nix
···81 # Phoenix projects for example will need compile.phoenix
82 mix deps.compile --no-deps-check --skip-umbrella-children
8300000000000000000000084 runHook postConfigure
85 '';
86
···81 # Phoenix projects for example will need compile.phoenix
82 mix deps.compile --no-deps-check --skip-umbrella-children
8384+ # Symlink dependency sources. This is needed for projects that require
85+ # access to the source of their dependencies. For example, Phoenix
86+ # applications need javascript assets to build asset bundles.
87+ ${lib.optionalString (mixNixDeps != { }) ''
88+ mkdir -p deps
89+90+ ${lib.concatMapStringsSep "\n" (dep: ''
91+ dep_name=$(basename ${dep} | cut -d '-' -f2)
92+ dep_path="deps/$dep_name"
93+ if [ -d "${dep}/src" ]; then
94+ ln -s ${dep}/src $dep_path
95+ fi
96+ '') (builtins.attrValues mixNixDeps)}
97+ ''}
98+99+ # Symlink deps to build root. Similar to above, but allows for mixFodDeps
100+ # Phoenix projects to find javascript assets.
101+ ${lib.optionalString (mixFodDeps != null) ''
102+ ln -s ../deps ./
103+ ''}
104+105 runHook postConfigure
106 '';
107