Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { autoPatchelfHook
- , libudev
- , linuxPackages
- , makeWrapper
- , ocl-icd
- , openssl
- , solana-bin-src
- , solana-bpf-tools
- , stdenv
- , writeScriptBin
- , zlib
- , bpfToolsVersion ? "v1.5"
- , bpfToolsCacheDirTarget ? ".cache/solana/${bpfToolsVersion}/bpf-tools"
- }:
- let
- # Eelco forgive me for I have sinned.
- fake-rustup = writeScriptBin "rustup" ''
- echo bpf something-something
- echo fake-rustup called >> /dev/stderr
- '';
- in
- stdenv.mkDerivation {
- name = "solana-bin";
- src = solana-bin-src;
- version = "1.6.7";
- autoPatchelfIgnoreMissingDeps = "1"; # lib_sgx_*.so libs seem non-essential
- nativeBuildInputs = [ autoPatchelfHook ];
- buildInputs = [
- fake-rustup
- libudev
- makeWrapper
- ocl-icd
- openssl
- stdenv.cc.cc.lib
- solana-bpf-tools
- zlib
- ];
- inherit bpfToolsCacheDirTarget;
- postBuild = ''
- set -x
- cp -r . $out
- solanaHome=$out/bpf-tools-home
- bpfToolsCacheSource=$out/bin/sdk/bpf/dependencies/bpf-tools
- mkdir -p $bpfToolsCacheSource $solanaHome/$bpfToolsCacheDirTarget
- cp -r ${solana-bpf-tools}/* $solanaHome/$bpfToolsCacheDirTarget
- ln -sf $solanaHome/$bpfToolsCacheDirTarget $solanaBpfToolsCacheSource
- wrapProgram $out/bin/cargo-build-bpf --set HOME $solanaHome
- set +x
- '';
- installPhase = "true";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement