summary refs log tree commit diff
path: root/pkgs/build-support/rust/build-rust-crate/install-crate.nix
blob: c41df34ca39bb9a3c39b88a78dc811d4c2b03a18 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
crateName: metadata:
''
  runHook preInstall
  mkdir -p $out
  if [[ -s target/env ]]; then
    cp target/env $out/env
  fi
  if [[ -s target/link.final ]]; then
    mkdir -p $out/lib
    cp target/link.final $out/lib/link
  fi
  if [[ "$(ls -A target/lib)" ]]; then
    mkdir -p $out/lib
    cp target/lib/* $out/lib #*/
    for lib in $out/lib/*.so $out/lib/*.dylib; do #*/
      ln -s $lib $(echo $lib | sed -e "s/-${metadata}//")
    done
  fi
  if [[ "$(ls -A target/build)" ]]; then # */
    mkdir -p $out/lib
    cp -r target/build/* $out/lib # */
  fi
  if [[ "$(ls -A target/bin)" ]]; then
    mkdir -p $out/bin
    cp -P target/bin/* $out/bin # */
  fi
  runHook postInstall
''