diff options
author | Will Dietz <w@wdtz.org> | 2018-02-02 15:00:33 -0600 |
---|---|---|
committer | Will Dietz <w@wdtz.org> | 2018-02-02 16:12:39 -0600 |
commit | 5a08309e8d0ad64e2644a7ab23170625820fcb87 (patch) | |
tree | 061a7bd3a5b1422e8203fc0615790276dbda3880 /pkgs/development | |
parent | 0380728ddc419d9950765317da056dd9f12fc0ae (diff) | |
download | nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar.gz nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar.bz2 nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar.lz nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar.xz nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.tar.zst nixlib-5a08309e8d0ad64e2644a7ab23170625820fcb87.zip |
retdec: separate "support", greatuly reduce size by default
Don't include PE signatures by default, offer "full" variant containing them if desired.
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/tools/analysis/retdec/default.nix | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix index 585fc28345a7..f88546163d44 100644 --- a/pkgs/development/tools/analysis/retdec/default.nix +++ b/pkgs/development/tools/analysis/retdec/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchurl, +{ stdenv, fetchFromGitHub, fetchurl, fetchzip, # Native build inputs cmake, autoconf, automake, libtool, @@ -15,6 +15,8 @@ ncurses, libffi, libxml2, zlib, +# PE (Windows) data, huge space savings if not needed +withPEPatterns ? false, }: let @@ -53,9 +55,14 @@ let sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj"; }; - retdec-support = fetchurl { + retdec-support = fetchzip { url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz"; - sha256 = "6376af57a77147f1363896963d8c1b3745ddb9a6bcec83d63a5846c3f78aeef9"; + sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3" + else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv"; + # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed) + extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) '' + rm -rf $out/generic/yara_patterns/static-code/pe + ''; }; in stdenv.mkDerivation rec { name = "retdec-${version}"; @@ -90,13 +97,14 @@ in stdenv.mkDerivation rec { find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \ xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|' + cat > cmake/install-share.sh <<EOF + #!/bin/sh + mkdir -p $out/share/retdec/ + ln -s ${retdec-support} $out/share/retdec/support + EOF chmod +x cmake/*.sh patchShebangs cmake/*.sh - sed -i cmake/install-share.sh \ - -e 's|WGET_PARAMS.*|cp ${retdec-support} "$INSTALL_PATH/$ARCH_NAME"|' \ - -e '/echo "RUN: wget/,+7d' - substituteInPlace scripts/unpack.sh --replace ' upx -d' ' ${upx}/bin/upx -d' substituteInPlace scripts/config.sh --replace /usr/bin/time ${time}/bin/time ''; |