summary refs log tree commit diff
path: root/pkgs/build-support/rust/build-rust-crate/install-crate.nix
blob: 3b0282621ea180d27159c668f94eb7db2b7f4838 (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
29
30
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 [[ -d target/bin ]]; then
    if [[ "$(ls -A target/bin)" ]]; then
      mkdir -p $out/bin
      cp -P target/bin/* $out/bin # */
    fi
  fi
  runHook postInstall
''