diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-12-15 21:40:23 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-12-15 21:40:23 +0100 |
commit | 24d81d6332bf95574367a1fab9c7b734e2807047 (patch) | |
tree | 6b71810cf703d14dbfb74a62c4f4b3014d5ed450 /pkgs/development/tools | |
parent | 774559a0ca9cc28d797e2ba912abdfb77895c77b (diff) | |
parent | b256afac58b80adde2605eac434a04b9a23bbe95 (diff) | |
download | nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar.gz nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar.bz2 nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar.lz nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar.xz nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.tar.zst nixlib-24d81d6332bf95574367a1fab9c7b734e2807047.zip |
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r-- | pkgs/development/tools/analysis/retdec/default.nix | 113 | ||||
-rw-r--r-- | pkgs/development/tools/continuous-integration/jenkins/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/tools/coursier/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/tools/misc/epm/default.nix | 16 | ||||
-rw-r--r-- | pkgs/development/tools/scalafmt/default.nix | 44 |
5 files changed, 154 insertions, 27 deletions
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix new file mode 100644 index 000000000000..adcda4c83241 --- /dev/null +++ b/pkgs/development/tools/analysis/retdec/default.nix @@ -0,0 +1,113 @@ +{ stdenv, fetchFromGitHub, fetchurl, +# Native build inputs +cmake, +autoconf, automake, libtool, +pkgconfig, +bison, flex, +groff, +perl, +python, +# Runtime tools +time, +upx, +# Build inputs +ncurses, +libffi, +libxml2, +zlib, +}: + +let + release = "3.0"; + + rapidjson = fetchFromGitHub { + owner = "Tencent"; + repo = "rapidjson"; + rev = "v1.1.0"; + sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"; + }; + jsoncpp = fetchFromGitHub { + owner = "open-source-parsers"; + repo = "jsoncpp"; + rev = "1.8.3"; + sha256 = "05gkmg6r94q8a0qdymarcjlnlvmy9s365m9jhz3ysvi71cr31lkz"; + }; + googletest = fetchFromGitHub { + owner = "google"; + repo = "googletest"; + rev = "release-1.8.0"; + sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"; + }; + tinyxml2 = fetchFromGitHub { + owner = "leethomason"; + repo = "tinyxml2"; + rev = "5.0.1"; + sha256 = "015g8520a0c55gwmv7pfdsgfz2rpdmh3d1nq5n9bd65n35492s3q"; + }; + yara = fetchurl { + url = "https://github.com/avast-tl/yara/archive/v1.0-retdec.zip"; + sha256 = "1bjrkgp1sgld2y7gvwrlrz5fs16521ink6xyq72v7yxj3vfa9gps"; + }; + openssl = fetchurl { + url = "https://www.openssl.org/source/openssl-1.1.0f.tar.gz"; + sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj"; + }; + + retdec-support = fetchurl { + url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz"; + sha256 = "6376af57a77147f1363896963d8c1b3745ddb9a6bcec83d63a5846c3f78aeef9"; + }; +in stdenv.mkDerivation rec { + name = "retdec-${version}"; + version = "${release}.0"; + + src = fetchFromGitHub { + owner = "avast-tl"; + repo = "retdec"; + name = "retdec-${release}"; + rev = "refs/tags/v${release}"; + sha256 = "0cpc5lxg8qphdzl3gg9dx992ar35r8ik8wyysr91l2qvfhx93wks"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake autoconf automake libtool pkgconfig bison flex groff perl python ]; + + buildInputs = [ ncurses libffi libxml2 zlib ]; + + prePatch = '' + find . -wholename "*/deps/rapidjson/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${rapidjson}|' + find . -wholename "*/deps/jsoncpp/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${jsoncpp}|' + find . -wholename "*/deps/googletest/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${googletest}|' + find . -wholename "*/deps/tinyxml2/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${tinyxml2}|' + + find . -wholename "*/yaracpp/deps/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|URL .*|URL ${yara}|' + + find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \ + xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|' + + 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 + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A retargetable machine-code decompiler based on LLVM"; + inherit (src.meta) homepage; + license = licenses.mit; + maintainers = with maintainers; [ dtzWill ]; + }; +} + diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index 5f6e35fc75f8..f44187a0ac16 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "jenkins-${version}"; - version = "2.93"; + version = "2.95"; src = fetchurl { url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; - sha256 = "1wk62lmll0abbgl3drmrf5kg8hya3glkwx7h0gfhcna3vjb95ll1"; + sha256 = "08pmsxsk5qbs7h3m1ya7xbik95n58ak8m4p01y97l49kc70bj2hv"; }; buildCommand = '' diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix index 874f8dcd96a3..2f2200010709 100644 --- a/pkgs/development/tools/coursier/default.nix +++ b/pkgs/development/tools/coursier/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper ]; - phases = "installPhase"; + unpackPhase = ":"; installPhase = '' mkdir -p $out/bin cp ${src} $out/bin/coursier chmod +x $out/bin/coursier - wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin ; + wrapProgram $out/bin/coursier --prefix PATH ":" ${jre}/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/epm/default.nix b/pkgs/development/tools/misc/epm/default.nix index 9d84011e3657..8d2e67859005 100644 --- a/pkgs/development/tools/misc/epm/default.nix +++ b/pkgs/development/tools/misc/epm/default.nix @@ -1,16 +1,22 @@ -{stdenv, fetchurl, rpm}: +{stdenv, fetchFromGitHub, rpm}: stdenv.mkDerivation rec { name = "epm-${version}"; - version = "4.2"; + version = "4.4"; - src = fetchurl { - url = "http://www.msweet.org/files/project2/epm-4.2-source.tar.bz2"; - sha256 = "13imglm1fgd7p5y9lc0xsl6x4cdjsk5lnan5sn8f7m4jwbx8kik6"; + src = fetchFromGitHub { + repo = "epm"; + owner = "michaelrsweet"; + rev = "v${version}"; + sha256 = "0kaw7v2m20qirapkps4dna6nf9xibnwljvvv0l9vpvi920kw7j7p"; }; buildInputs = [ rpm ]; + preInstall = '' + sed -i 's/README/README.md/' Makefile + ''; + meta = with stdenv.lib; { description = "The ESP Package Manager generates distribution archives for a variety of platforms"; homepage = http://www.msweet.org/projects.php?Z2; diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix index 391c653b98ab..6c30768d900c 100644 --- a/pkgs/development/tools/scalafmt/default.nix +++ b/pkgs/development/tools/scalafmt/default.nix @@ -1,29 +1,37 @@ -{ stdenv, fetchurl, unzip, jre }: +{ stdenv, jdk, jre, coursier, makeWrapper }: -stdenv.mkDerivation rec { - version = "0.6.8"; +let baseName = "scalafmt"; - name = "${baseName}-${version}"; - - src = fetchurl { - url = "https://github.com/scalameta/scalafmt/releases/download/v${version}/${baseName}.tar.gz"; - sha256 = "1iaanrxk5lhxx1zj9gbxzgqbnyy1azfrab984mga7di5z1hs02s2"; + version = "1.3.0"; + deps = stdenv.mkDerivation { + name = "${baseName}-deps-${version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/coursier fetch com.geirsson:scalafmt-cli_2.12:${version} > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0q1vw6drpdrfifbm3266igpml0phdk6pl0gd3b5amysigx83m251"; }; +in +stdenv.mkDerivation rec { + name = "${baseName}-${version}"; - unpackPhase = "tar xvzf $src"; + buildInputs = [ jdk makeWrapper deps ]; - installPhase = '' - mkdir -p "$out/bin" - mkdir -p "$out/lib" + doCheck = true; - cp cli/target/scala-2.11/scalafmt.jar "$out/lib/${name}.jar" + phases = [ "installPhase" "checkPhase" ]; - cat > "$out/bin/${baseName}" << EOF - #!${stdenv.shell} - exec ${jre}/bin/java -jar "$out/lib/${name}.jar" "\$@" - EOF + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/${baseName} \ + --add-flags "-cp $CLASSPATH org.scalafmt.cli.Cli" + ''; - chmod a+x "$out/bin/${baseName}" + checkPhase = '' + $out/bin/${baseName} --version | grep -q "${version}" ''; meta = with stdenv.lib; { |