diff options
author | volth <volth@webmaster.ms> | 2018-10-13 13:22:11 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-13 13:22:11 +0000 |
commit | a974ecf803ff858e65f4e6172bdf8d35ec5019f2 (patch) | |
tree | b2353dc656b6157820928d029a9da07e078e7987 /pkgs/development/tools | |
parent | ccd4024c56df7a084d112779daafa5ddc1a09e24 (diff) | |
parent | 548ced628d233e6ec5431ae3d8d1668d65177639 (diff) | |
download | nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar.gz nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar.bz2 nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar.lz nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar.xz nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.tar.zst nixlib-a974ecf803ff858e65f4e6172bdf8d35ec5019f2.zip |
Merge branch 'staging' into remove-top-perlXMLParser
Diffstat (limited to 'pkgs/development/tools')
21 files changed, 654 insertions, 466 deletions
diff --git a/pkgs/development/tools/analysis/cpplint/default.nix b/pkgs/development/tools/analysis/cpplint/default.nix new file mode 100644 index 000000000000..10ed99e3ffe6 --- /dev/null +++ b/pkgs/development/tools/analysis/cpplint/default.nix @@ -0,0 +1,29 @@ +{ lib, pythonPackages, fetchFromGitHub }: + +pythonPackages.buildPythonApplication rec { + pname = "cpplint"; + version = "1.3.0"; + + # Fetch from github instead of pypi, since the test cases are not in the pypi archive + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "107v7bp35kxbv9v7wl79h7115z1m4b48rhasp0cnivql1grd277i"; + }; + + postPatch = '' + patchShebangs cpplint_unittest.py + ''; + + checkPhase = '' + ./cpplint_unittest.py + ''; + + meta = with lib; { + homepage = https://github.com/cpplint/cpplint; + description = "Static code checker for C++"; + maintainers = [ maintainers.bhipple ]; + license = [ licenses.bsd3 ]; + }; +} diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix index 187b2d7b03f9..89b0a33c0682 100644 --- a/pkgs/development/tools/analysis/pmd/default.nix +++ b/pkgs/development/tools/analysis/pmd/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pmd-${version}"; - version = "6.7.0"; + version = "6.8.0"; buildInputs = [ unzip ]; src = fetchurl { url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip"; - sha256 = "0bnbr8zq28dgvwka563g5lbya5jhmjrahnbwagcs4afpsrm7zj6c"; + sha256 = "1vfkg2l3sl5ahhs89nvkg0z1ah1k67c44nwpvaymq73rb2bb8ibr"; }; installPhase = '' @@ -16,10 +16,11 @@ stdenv.mkDerivation rec { cp -R * $out ''; - meta = { - description = "Scans Java source code and looks for potential problems"; - homepage = http://pmd.sourceforge.net/; - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "An extensible cross-language static code analyzer."; + homepage = https://pmd.github.io/; + platforms = platforms.unix; + license = with licenses; [ bsdOriginal asl20 ]; }; } diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix index a4c62e6fc32c..428ca259f496 100644 --- a/pkgs/development/tools/analysis/retdec/default.nix +++ b/pkgs/development/tools/analysis/retdec/default.nix @@ -1,121 +1,218 @@ -{ stdenv, fetchFromGitHub, fetchurl, fetchzip, -# Native build inputs -cmake, -autoconf, automake, libtool, -pkgconfig, -bison, flex, -groff, -perl, -python, -# Runtime tools -time, -upx, -# Build inputs -ncurses, -libffi, -libxml2, -zlib, -# PE (Windows) data, huge space savings if not needed -withPEPatterns ? false, +{ stdenv +, fetchFromGitHub +, fetchzip +, lib +, callPackage +, openssl +, cmake +, autoconf +, automake +, libtool +, pkgconfig +, bison +, flex +, groff +, perl +, python3 +, time +, upx +, ncurses +, libffi +, libxml2 +, zlib +, withPEPatterns ? false }: let - release = "3.0"; - + capstone = fetchFromGitHub { + owner = "avast-tl"; + repo = "capstone"; + rev = "27c713fe4f6eaf9721785932d850b6291a6073fe"; + sha256 = "105z1g9q7s6n15qpln9vzhlij7vj6cyc5dqdr05n7wzjvlagwgxc"; + }; + elfio = fetchFromGitHub { + owner = "avast-tl"; + repo = "elfio"; + rev = "998374baace397ea98f3b1d768e81c978b4fba41"; + sha256 = "09n34rdp0wpm8zy30zx40wkkc4gbv2k3cv181y6c1260rllwk5d1"; + }; + keystone = fetchFromGitHub { # only for tests + owner = "keystone-engine"; + repo = "keystone"; + rev = "d7ba8e378e5284e6384fc9ecd660ed5f6532e922"; + sha256 = "1yzw3v8xvxh1rysh97y0i8y9svzbglx2zbsqjhrfx18vngh0x58f"; + }; + libdwarf = fetchFromGitHub { + owner = "avast-tl"; + repo = "libdwarf"; + rev = "85465d5e235cc2d2f90d04016d6aca1a452d0e73"; + sha256 = "11y62r65py8yp57i57a4cymxispimn62by9z4j2g19hngrpsgbki"; + }; + llvm = fetchFromGitHub { + owner = "avast-tl"; + repo = "llvm"; + rev = "725d0cee133c6ab9b95c493f05de3b08016f5c3c"; + sha256 = "0dzvafmn4qs62w1y9vh0a11clpj6q3hb41aym4izpcyybjndf9bq"; + }; + pelib = fetchFromGitHub { + owner = "avast-tl"; + repo = "pelib"; + rev = "a7004b2e80e4f6dc984f78b821e7b585a586050d"; + sha256 = "0nyrb3g749lxgcymz1j584xbb1x6rvy1mc700lyn0brznvqsm81n"; + }; rapidjson = fetchFromGitHub { owner = "Tencent"; repo = "rapidjson"; rev = "v1.1.0"; sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"; }; + yaracpp = callPackage ./yaracpp.nix {}; # is its own package because it needs a patch + yaramod = fetchFromGitHub { + owner = "avast-tl"; + repo = "yaramod"; + rev = "v2.1.2"; + sha256 = "1rpyqzkrqvk721hf75wb7aasw5mzp9wz4j89p0x1l9p5x1b3maz3"; + }; jsoncpp = fetchFromGitHub { owner = "open-source-parsers"; repo = "jsoncpp"; - rev = "1.8.3"; - sha256 = "05gkmg6r94q8a0qdymarcjlnlvmy9s365m9jhz3ysvi71cr31lkz"; + rev = "1.8.4"; + sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm"; }; - googletest = fetchFromGitHub { + googletest = fetchFromGitHub { # only for tests owner = "google"; repo = "googletest"; - rev = "release-1.8.0"; - sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"; + rev = "83fa0cb17dad47a1d905526dcdddb5b96ed189d2"; + sha256 = "1c2r0p9v7vz2vasy8bknfb448l6wsvzw35s8hmc5z013z5502mpk"; }; tinyxml2 = fetchFromGitHub { owner = "leethomason"; repo = "tinyxml2"; - rev = "5.0.1"; + rev = "cc1745b552dd12bb1297a99f82044f83b06729e0"; 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 = fetchzip { - url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz"; - sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3" - else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv"; + retdec-support = let + version = "2018-02-08"; # make sure to adjust both hashes (once with withPEPatterns=true and once withPEPatterns=false) + in fetchzip { + url = "https://github.com/avast-tl/retdec-support/releases/download/${version}/retdec-support_${version}.tar.xz"; + sha256 = if withPEPatterns then "148i8flbyj1y4kfdyzsz7jsj38k4h97npjxj18h6v4wksd4m4jm7" + else "0ixv9qyqq40pzyqy6v9jf5rxrvivjb0z0zn260nbmb9gk765bacy"; + stripRoot = false; # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed) - extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) '' - rm -rf $out/generic/yara_patterns/static-code/pe + extraPostFetch = lib.optionalString (!withPEPatterns) '' + rm -r "$out/generic/yara_patterns/static-code/pe" ''; + } // { + inherit version; # necessary to check the version against the expected version }; + + # patch CMakeLists.txt for a dependency and compare the versions to the ones expected by upstream + # this has to be applied for every dependency (which it is in postPatch) + patchDep = dep: '' + # check if our version of dep is the same version that upstream expects + echo "Checking version of ${dep.dep_name}" + expected_rev="$( sed -n -e 's|.*URL https://github.com/.*/archive/\(.*\)\.zip.*|\1|p' "deps/${dep.dep_name}/CMakeLists.txt" )" + if [ "$expected_rev" != '${dep.rev}' ]; then + echo "The ${dep.dep_name} dependency has the wrong version: ${dep.rev} while $expected_rev is expected." + exit 1 + fi + + # patch the CMakeLists.txt file to use our local copy of the dependency instead of fetching it at build time + sed -i -e 's|URL .*|URL ${dep}|' "deps/${dep.dep_name}/CMakeLists.txt" + ''; + in stdenv.mkDerivation rec { name = "retdec-${version}"; - version = "${release}.0"; + + # If you update this you will also need to adjust the versions of the updated dependencies. You can do this by first just updating retdec + # itself and trying to build it. The build should fail and tell you which dependencies you have to upgrade to which versions. + # I've notified upstream about this problem here: + # https://github.com/avast-tl/retdec/issues/412 + version = "3.2"; src = fetchFromGitHub { owner = "avast-tl"; repo = "retdec"; - name = "retdec-${release}"; - rev = "refs/tags/v${release}"; - sha256 = "0cpc5lxg8qphdzl3gg9dx992ar35r8ik8wyysr91l2qvfhx93wks"; - fetchSubmodules = true; + name = "retdec-${version}"; + rev = "refs/tags/v${version}"; + sha256 = "0chky656lsddn20bnm3pmz6ix20y4a0y8swwr42hrhi01vkhmzrp"; }; - nativeBuildInputs = [ cmake autoconf automake libtool pkgconfig bison flex groff perl python ]; + nativeBuildInputs = [ + cmake + autoconf + automake + libtool + pkgconfig + bison + flex + groff + perl + python3 + ]; - buildInputs = [ ncurses libffi libxml2 zlib ]; + buildInputs = [ + openssl + 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}|' + cmakeFlags = [ + "-DRETDEC_TESTS=ON" # build tests + ]; - find . -wholename "*/yaracpp/deps/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|URL .*|URL ${yara}|' + # all dependencies that are normally fetched during build time (the subdirectories of `deps`) + # all of these need to be fetched through nix and the CMakeLists files need to be patched not to fetch them themselves + external_deps = [ + (capstone // { dep_name = "capstone"; }) + (elfio // { dep_name = "elfio"; }) + (googletest // { dep_name = "googletest"; }) + (jsoncpp // { dep_name = "jsoncpp"; }) + (keystone // { dep_name = "keystone"; }) + (libdwarf // { dep_name = "libdwarf"; }) + (llvm // { dep_name = "llvm"; }) + (pelib // { dep_name = "pelib"; }) + (rapidjson // { dep_name = "rapidjson"; }) + (tinyxml2 // { dep_name = "tinyxml2"; }) + (yaracpp // { dep_name = "yaracpp"; }) + (yaramod // { dep_name = "yaramod"; }) + ]; - find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|' + postPatch = (lib.concatMapStrings patchDep external_deps) + '' + # install retdec-support + echo "Checking version of retdec-support" + expected_version="$( sed -n -e "s|^version = '\(.*\)'$|\1|p" 'cmake/install-share.py' )" + if [ "$expected_version" != '${retdec-support.version}' ]; then + echo "The retdec-support dependency has the wrong version: ${retdec-support.version} while $expected_version is expected." + exit 1 + fi + mkdir -p "$out/share/retdec" + cp -r ${retdec-support} "$out/share/retdec/support" # write permission needed during install + chmod -R u+w "$out/share/retdec/support" + # python file originally responsible for fetching the retdec-support archive to $out/share/retdec + # that is not necessary anymore, so empty the file + echo > cmake/install-share.py - 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 - - substituteInPlace scripts/unpack.sh --replace ' upx -d' ' ${upx}/bin/upx -d' - substituteInPlace scripts/config.sh --replace /usr/bin/time ${time}/bin/time + # call correct `time` and `upx` programs + substituteInPlace scripts/retdec-config.py --replace /usr/bin/time ${time}/bin/time + substituteInPlace scripts/retdec-unpacker.py --replace "'upx'" "'${upx}/bin/upx'" ''; enableParallelBuilding = true; - meta = with stdenv.lib; { + doInstallCheck = true; + installCheckPhase = '' + ${python3.interpreter} "$out/bin/retdec-tests-runner.py" + ''; + + meta = with lib; { description = "A retargetable machine-code decompiler based on LLVM"; homepage = https://retdec.com; license = licenses.mit; - maintainers = with maintainers; [ dtzWill ]; - broken = withPEPatterns; # retdec-full is broken, 2018-04-11 + maintainers = with maintainers; [ dtzWill timokau ]; + platforms = ["x86_64-linux" "i686-linux"]; }; } diff --git a/pkgs/development/tools/analysis/retdec/yaracpp.nix b/pkgs/development/tools/analysis/retdec/yaracpp.nix new file mode 100644 index 000000000000..cc857b86145f --- /dev/null +++ b/pkgs/development/tools/analysis/retdec/yaracpp.nix @@ -0,0 +1,49 @@ +{ stdenv +, fetchFromGitHub +, coreutils +}: + +let + yara = fetchFromGitHub { + owner = "avast-tl"; + repo = "yara"; + rev = "ea101c5856941f39cad2db3012f2660d1d5c8b65"; + sha256 = "033ssx2hql5k4pv9si043s3mjq2b748ymjzif8pg6rdwh260faky"; + }; +in stdenv.mkDerivation rec { + # only fetches the yaracpp source patched to work with a local yara clone, + # does not build anything + name = "yaracpp-src-${version}"; + version = "2018-10-09"; + rev = "b92bde0e59e3b75bc445227e04b71105771dee8b"; # as specified in retdec/deps/yaracpp/CMakeLists.txt + + src = fetchFromGitHub { + inherit rev; + owner = "avast-tl"; + repo = "yaracpp"; + sha256 = "0fan7q79j7s3bjmhsd2nw6sqyi14xgikn7mr2p4nj87lick5l4a2"; + }; + + postPatch = '' + # check if our version of yara is the same version that upstream expects + echo "Checking version of yara" + expected_rev="$( sed -n -e 's|.*URL https://github.com/.*/archive/\(.*\)\.zip.*|\1|p' "deps/CMakeLists.txt" )" + if [ "$expected_rev" != '${yara.rev}' ]; then + echo "The yara dependency has the wrong version: ${yara.rev} while $expected_rev is expected." + exit 1 + fi + + # patch the CMakeLists.txt file to use our local copy of the dependency instead of fetching it at build time + sed -i -e "s|URL .*|URL ${yara}|" "deps/CMakeLists.txt" + + # abuse the CONFIGURE_COMMAND to make the source writeable after copying it to the build locatoin (necessary for the build) + sed -i -e 's|CONFIGURE_COMMAND ""|CONFIGURE_COMMAND COMMAND ${coreutils}/bin/chmod -R u+w .|' "deps/CMakeLists.txt" + ''; + + buildPhase = "# do nothing"; + configurePhase = "# do nothing"; + installPhase = '' + mkdir -p "$out" + cp -r * "$out" + ''; +} diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix deleted file mode 100644 index adb279cdea68..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/default.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ stdenv, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }: - -let - withPlugins = plugins: runCommand "wrapped-${package.name}" { - buildInputs = [ makeWrapper ] ++ plugins; - propagatedBuildInputs = package.propagatedBuildInputs; - passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins); - } '' - makeWrapper ${package}/bin/buildbot $out/bin/buildbot \ - --prefix PYTHONPATH : "${package}/lib/python2.7/site-packages:$PYTHONPATH" - ln -sfv ${package}/lib $out/lib - ''; - - package = pythonPackages.buildPythonApplication rec { - name = "${pname}-${version}"; - pname = "buildbot"; - version = "1.2.0"; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "02gwmls8kgm6scy36hdy0bg645zs1pxlrgwkcn79wrl7cfmabcbv"; - }; - - buildInputs = with pythonPackages; [ - lz4 - txrequests - pyjade - boto3 - moto - txgithub - mock - setuptoolsTrial - isort - pylint - astroid - pyflakes - openssh - buildbot-worker - buildbot-pkg - treq - ]; - - propagatedBuildInputs = with pythonPackages; [ - # core - twisted - jinja2 - zope_interface - sqlalchemy - sqlalchemy_migrate - future - dateutil - txaio - autobahn - pyjwt - distro - - # tls - pyopenssl - service-identity - idna - - # docs - sphinx - sphinxcontrib-blockdiag - sphinxcontrib-spelling - pyenchant - docutils - ramlfications - sphinx-jinja - - ]; - - patches = [ - # This patch disables the test that tries to read /etc/os-release which - # is not accessible in sandboxed builds. - ./skip_test_linux_distro.patch - ]; - - # TimeoutErrors on slow machines -> aarch64 - doCheck = !stdenv.isAarch64; - - postPatch = '' - substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" - ''; - - passthru = { inherit withPlugins; }; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; -in package diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/tools/build-managers/buildbot/pkg.nix deleted file mode 100644 index 11f5be4e98e9..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/pkg.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, buildPythonPackage, fetchPypi, setuptools }: - -buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-pkg"; - version = "1.2.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "70f429311c5812ffd334f023f4f50b904be5c672c8674ee6d28a11a7c096f18a"; - }; - - propagatedBuildInputs = [ setuptools ]; - - postPatch = '' - # Their listdir function filters out `node_modules` folders. - # Do we have to care about that with Nix...? - substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" "" - ''; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Packaging Helper"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; -} diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix deleted file mode 100644 index 430cdee3ca8c..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/plugins.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ stdenv, pythonPackages, buildbot-pkg }: - -{ - www = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot_www"; - version = buildbot-pkg.version; - - # NOTE: wheel is used due to buildbot circular dependency - format = "wheel"; - - src = pythonPackages.fetchPypi { - inherit pname version format; - sha256 = "001kxjcyn5sxiq7m1izy4djj7alw6qpgaid4f518s9xgm4a8hwcb"; - }; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot UI"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - console-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-console-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "11p9l9r9rh8cq0ihzjcdxfbi55n7inbsz45zqq67rkvqn5nhj5b6"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Console View Plugin"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - waterfall-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-waterfall-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "1yx63frfpbvwy4hfib1psyq5ad0wysyzfrla8d7lgbdaip021wzw"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Waterfall View Plugin"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - grid-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-grid-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "06my75hli3w1skdkx1qz6zqw2wckanhrcvlqm4inylj9v9pcrgv6"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Grid View Plugin"; - maintainers = with maintainers; [ nand0p ]; - license = licenses.gpl2; - }; - }; - - wsgi-dashboards = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-wsgi-dashboards"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "073gz44fa5k1p8k46k0ld9gg16j8zdj6sc297qfyqpiw28ybhc5s"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot WSGI dashboards Plugin"; - maintainers = with maintainers; [ ]; - license = licenses.gpl2; - }; - }; - -} diff --git a/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch b/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch deleted file mode 100644 index 8fe5c7b56b4f..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py ---- buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-04-19 16:57:02.000000000 +0200 -+++ buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-05-04 12:22:54.575762551 +0200 -@@ -147,6 +147,7 @@ - _sendBuildbotNetUsageData({'foo': 'bar'}) - - def test_linux_distro(self): -+ raise SkipTest("NixOS sandboxed builds hides /etc/os-release") - system = platform.system() - if system != "Linux": - raise SkipTest("test is only for linux") diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix deleted file mode 100644 index 4fabad9d3701..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/worker.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, pythonPackages }: - -pythonPackages.buildPythonApplication (rec { - name = "${pname}-${version}"; - pname = "buildbot-worker"; - version = "1.4.0"; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "12zvf4c39b6s4g1f2w407q8kkw602m88rc1ggi4w9pkw3bwbxrgy"; - }; - - buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; - propagatedBuildInputs = with pythonPackages; [ twisted future ]; - - postPatch = '' - substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" - ''; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Worker Daemon"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; -}) diff --git a/pkgs/development/tools/ejson/Gemfile b/pkgs/development/tools/ejson/Gemfile new file mode 100644 index 000000000000..f860fe5075d4 --- /dev/null +++ b/pkgs/development/tools/ejson/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'fpm' +gem 'ronn' diff --git a/pkgs/development/tools/ejson/Gemfile.lock b/pkgs/development/tools/ejson/Gemfile.lock new file mode 100644 index 000000000000..bc72352c7ab1 --- /dev/null +++ b/pkgs/development/tools/ejson/Gemfile.lock @@ -0,0 +1,54 @@ +GEM + remote: https://rubygems.org/ + specs: + arr-pm (0.0.10) + cabin (> 0) + backports (3.8.0) + cabin (0.9.0) + childprocess (0.7.1) + ffi (~> 1.0, >= 1.0.11) + clamp (1.0.1) + dotenv (2.2.1) + ffi (1.9.18) + fpm (1.9.2) + arr-pm (~> 0.0.10) + backports (>= 2.6.2) + cabin (>= 0.6.0) + childprocess + clamp (~> 1.0.0) + ffi + json (>= 1.7.7, < 2.0) + pleaserun (~> 0.0.29) + ruby-xz + stud + hpricot (0.8.6) + insist (1.0.0) + io-like (0.3.0) + json (1.8.6) + mustache (0.99.8) + pleaserun (0.0.30) + cabin (> 0) + clamp + dotenv + insist + mustache (= 0.99.8) + stud + rdiscount (2.2.0.1) + ronn (0.7.3) + hpricot (>= 0.8.2) + mustache (>= 0.7.0) + rdiscount (>= 1.5.8) + ruby-xz (0.2.3) + ffi (~> 1.9) + io-like (~> 0.3) + stud (0.0.23) + +PLATFORMS + ruby + +DEPENDENCIES + fpm + ronn + +BUNDLED WITH + 1.16.0 diff --git a/pkgs/development/tools/ejson/default.nix b/pkgs/development/tools/ejson/default.nix new file mode 100644 index 000000000000..80129f318e39 --- /dev/null +++ b/pkgs/development/tools/ejson/default.nix @@ -0,0 +1,46 @@ +{ lib, bundlerEnv, ruby, buildGoPackage, fetchFromGitHub }: +let + # needed for manpage generation + gems = bundlerEnv { + name = "ejson-gems"; + gemdir = ./.; + inherit ruby; + }; +in buildGoPackage rec { + name = "ejson-${version}"; + version = "1.2.0"; + rev = "v${version}"; + + nativeBuildInputs = [ gems ]; + + goPackagePath = "github.com/Shopify/ejson"; + subPackages = [ "cmd/ejson" ]; + + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "Shopify"; + repo = "ejson"; + inherit rev; + sha256 = "07ig24fryb9n0mfyqb0sgpj7di9y7wbvh2ppwfs2jqfpvpncd7yh"; + }; + + # set HOME, otherwise bundler will insert stuff in the manpages + postBuild = '' + cd go/src/$goPackagePath + HOME=$PWD make man + ''; + + postInstall = '' + mkdir -p $out/share + cp -r build/man $out/share + ''; + + meta = with lib; { + description = "A small library to manage encrypted secrets using asymmetric encryption."; + license = licenses.mit; + homepage = https://github.com/Shopify/ejson; + platforms = platforms.unix; + maintainers = [ maintainers.manveru ]; + }; +} diff --git a/pkgs/development/tools/ejson/deps.nix b/pkgs/development/tools/ejson/deps.nix new file mode 100644 index 000000000000..b0c7defc5d78 --- /dev/null +++ b/pkgs/development/tools/ejson/deps.nix @@ -0,0 +1,48 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/codegangsta/cli"; + fetch = { + type = "git"; + url = "https://github.com/codegangsta/cli"; + rev = "9908e96513e5a94de37004098a3974a567f18111"; + sha256 = "0g6sihdb53nlf770dp3jc0qqxnlir5n2yjbp5p5vf7kcj3p54p34"; + }; + } + { + goPackagePath = "github.com/dustin/gojson"; + fetch = { + type = "git"; + url = "https://github.com/dustin/gojson"; + rev = "057ac0edc14e44d03df3bb03449e666ff50884c1"; + sha256 = "1kzzbi5yshcg1v99gab5ymd3psild3p0rbq9jf7mssjvh11yza6f"; + }; + } + { + goPackagePath = "github.com/smartystreets/goconvey"; + fetch = { + type = "git"; + url = "https://github.com/smartystreets/goconvey"; + rev = "90f2eae17a8bdcbe3f6f654fc76af7f39e97d7b9"; + sha256 = "0s984ksmc8npf642nwwd1a81c2sfi613v7yia9jff710i5472fah"; + }; + } + { + goPackagePath = "github.com/urfave/cli"; + fetch = { + type = "git"; + url = "https://github.com/urfave/cli"; + rev = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"; + sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "ca7e7f10cb9fd9c1a6ff7f60436c086d73714180"; + sha256 = "02wmfdq40fjszrd9l2w4c1g34zxnxyydwr4sqvp2blmw2s6ww4bx"; + }; + } +] \ No newline at end of file diff --git a/pkgs/development/tools/ejson/gemset.nix b/pkgs/development/tools/ejson/gemset.nix new file mode 100644 index 000000000000..b6fb1473d222 --- /dev/null +++ b/pkgs/development/tools/ejson/gemset.nix @@ -0,0 +1,188 @@ +{ + arr-pm = { + dependencies = ["cabin"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07yx1g1nh4zdy38i2id1xyp42fvj4vl6i196jn7szvjfm0jx98hg"; + type = "gem"; + }; + version = "0.0.10"; + }; + backports = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17pcz0z6jms5jydr1r95kf1bpk3ms618hgr26c62h34icy9i1dpm"; + type = "gem"; + }; + version = "3.8.0"; + }; + cabin = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici"; + type = "gem"; + }; + version = "0.9.0"; + }; + childprocess = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04cypmwyy4aj5p9b5dmpwiz5p1gzdpz6jaxb42fpckdbmkpvn6j1"; + type = "gem"; + }; + version = "0.7.1"; + }; + clamp = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jb6l4scp69xifhicb5sffdixqkw8wgkk9k2q57kh2y36x1px9az"; + type = "gem"; + }; + version = "1.0.1"; + }; + dotenv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pgzlvs0sswnqlgfm9gkz2hlhkc0zd3vnlp2vglb1wbgnx37pjjv"; + type = "gem"; + }; + version = "2.2.1"; + }; + ffi = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0"; + type = "gem"; + }; + version = "1.9.18"; + }; + fpm = { + dependencies = ["arr-pm" "backports" "cabin" "childprocess" "clamp" "ffi" "json" "pleaserun" "ruby-xz" "stud"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09vzjsiwa2dlhph6fc519x5l0bfn2qfhayfld48cdl2561x5c7fb"; + type = "gem"; + }; + version = "1.9.2"; + }; + hpricot = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z"; + type = "gem"; + }; + version = "0.8.6"; + }; + insist = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg"; + type = "gem"; + }; + version = "1.0.0"; + }; + io-like = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04nn0s2wmgxij3k760h3r8m1dgih5dmd9h4v1nn085yi824i5z6k"; + type = "gem"; + }; + version = "0.3.0"; + }; + json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; + type = "gem"; + }; + version = "1.8.6"; + }; + mustache = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; + type = "gem"; + }; + version = "0.99.8"; + }; + pleaserun = { + dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hgnrl67zkqaxmfkwbyscawj4wqjm7h8khpbj58s6iw54wp3408p"; + type = "gem"; + }; + version = "0.0.30"; + }; + rdiscount = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; + type = "gem"; + }; + version = "2.2.0.1"; + }; + ronn = { + dependencies = ["hpricot" "mustache" "rdiscount"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2"; + type = "gem"; + }; + version = "0.7.3"; + }; + ruby-xz = { + dependencies = ["ffi" "io-like"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11bgpvvk0098ghvlxr4i713jmi2izychalgikwvdwmpb452r3ndw"; + type = "gem"; + }; + version = "0.2.3"; + }; + stud = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb"; + type = "gem"; + }; + version = "0.0.23"; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix index dfb603d101fc..7469d506244b 100644 --- a/pkgs/development/tools/goa/default.nix +++ b/pkgs/development/tools/goa/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "goa-${version}"; - version = "1.0.0"; + version = "1.4.0"; goPackagePath = "github.com/goadesign/goa"; subPackages = [ "goagen" ]; @@ -11,7 +11,7 @@ buildGoPackage rec { owner = "goadesign"; repo = "goa"; rev = "v${version}"; - sha256 = "13401jf907z3qh11h9clb3z0i0fshwkmhx11fq9z6vx01x8x2in1"; + sha256 = "1qx3c7dyq5wqxidfrk3ywc55fk64najj63f2jmfisfq4ixgwxdw9"; }; goDeps = ./deps.nix; diff --git a/pkgs/development/tools/goa/deps.nix b/pkgs/development/tools/goa/deps.nix index 14e9234be8a2..d92489259055 100644 --- a/pkgs/development/tools/goa/deps.nix +++ b/pkgs/development/tools/goa/deps.nix @@ -1,39 +1,12 @@ -# This file was generated by go2nix. +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 [ { - goPackagePath = "github.com/armon/go-metrics"; - fetch = { - type = "git"; - url = "https://github.com/armon/go-metrics"; - rev = "3df31a1ada83e310c2e24b267c8e8b68836547b4"; - sha256 = "1l99f1bzvdhyqhnsrpi1pd07bps0msilzilrd7m4w7i1m5kra529"; - }; - } - { goPackagePath = "github.com/dimfeld/httppath"; fetch = { type = "git"; url = "https://github.com/dimfeld/httppath"; - rev = "c8e499c3ef3c3e272ed8bdcc1ccf39f73c88debc"; - sha256 = "0452zvrzjvy8pk5q6ykivz2cks082r4lmh7hghscxfqw6gf3siwi"; - }; - } - { - goPackagePath = "github.com/dimfeld/httptreemux"; - fetch = { - type = "git"; - url = "https://github.com/dimfeld/httptreemux"; - rev = "96acf0909c0b45ebf4a25a816cedc6d317e63679"; - sha256 = "0f9qbm1b8l7b21i2v8vmjyzfwf1mgkvxlk5250bwkp5i8n4ml2r6"; - }; - } - { - goPackagePath = "github.com/goadesign/goa"; - fetch = { - type = "git"; - url = "https://github.com/goadesign/goa"; - rev = "ea323df387ea68f8ac9fd79336f523c25e12c92e"; - sha256 = "13401jf907z3qh11h9clb3z0i0fshwkmhx11fq9z6vx01x8x2in1"; + rev = "ee938bf735983d53694d79138ad9820efff94c92"; + sha256 = "1c1kic8g3r78g6h4xl8n2ac1waxsb9fqz40k20ypi08k24mv3ha9"; }; } { @@ -41,8 +14,8 @@ fetch = { type = "git"; url = "https://github.com/manveru/faker"; - rev = "717f7cf83fb78669bfab612749c2e8ff63d5be11"; - sha256 = "1p6laz0hnb2vhfvam83rz6vl2amajqa6nifnsj2lg3mcs9ga8c0f"; + rev = "9fbc68a78c4dbc7914e1a23f88f126bea4383b97"; + sha256 = "1cnrf4wdjhxd9fryhlp2krl9acz6dzwic89gshs49pg3aajlf4dy"; }; } { @@ -50,8 +23,8 @@ fetch = { type = "git"; url = "https://github.com/satori/go.uuid"; - rev = "0aa62d5ddceb50dbcb909d790b5345affd3669b6"; - sha256 = "1vfzfcspanxcbpdpv49580rh6kamzcs3lm70xnx724mkwi41zi8w"; + rev = "36e9d2ebbde5e3f13ab2e25625fd453271d6522e"; + sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35"; }; } { @@ -59,8 +32,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/cobra"; - rev = "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744"; - sha256 = "02bgp0yy9bi05k2in9axqi3db1c6mjffdsmki51pn9iryxz4zkh3"; + rev = "4dab30cb33e6633c33c787106bafbfbfdde7842d"; + sha256 = "1g7p7c2azqaxbfkx5yaznk0z1inqnajlbwv921k6vh8i1xdblxk5"; }; } { @@ -68,8 +41,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/pflag"; - rev = "c7e63cf4530bcd3ba943729cee0efeff2ebea63f"; - sha256 = "197mlkgb01zk86fxfl8r8maymcxsspqblg7hmngjxf7ivdid1i1l"; + rev = "1ce0cc6db4029d97571db82f85092fccedb572ce"; + sha256 = "02wsc01npnpc7srqw7rzaihn2hjmrkfy2x412fxbb675j2hk9cx6"; }; } { @@ -82,21 +55,12 @@ }; } { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "71a035914f99bb58fe82eac0f1289f10963d876c"; - sha256 = "06m16c9vkwc8m2mcxcxa7p8mb26ikc810lgzd5m8k1r6lp3hc8wm"; - }; - } - { goPackagePath = "golang.org/x/tools"; fetch = { type = "git"; url = "https://go.googlesource.com/tools"; - rev = "f1a397bba50dee815e8c73f3ec94ffc0e8df1a09"; - sha256 = "1wy8nn2vg70n98g80i1zrk49129phyfbzxbicj748bmf82rnaxzg"; + rev = "f60d9635b16a5a57b06eaa119614ba4df421966a"; + sha256 = "1h587gvgwlpjdn8q3s8i1blfwfklqi0cpb0szj99w1mkgl0ads13"; }; } { @@ -104,8 +68,9 @@ fetch = { type = "git"; url = "https://gopkg.in/yaml.v2"; - rev = "31c299268d302dd0aa9a0dcf765a3d58971ac83f"; - sha256 = "14jkpa8g0s448n2x5qdi05m59ncsdscby1wy2p089zxl9nqavm8h"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; }; } ] + diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix new file mode 100644 index 000000000000..87571f1fcbb7 --- /dev/null +++ b/pkgs/development/tools/lazygit/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "lazygit-${version}"; + version = "0.4"; + + goPackagePath = "github.com/jesseduffield/lazygit"; + + src = fetchFromGitHub { + owner = "jesseduffield"; + repo = "lazygit"; + rev = "v${version}"; + sha256 = "0piljnwv778z7zc1pglkidiys1a3yv4d7z9wsrcj1nszlcn3ifyz"; + }; + + postPatch = '' + rm -rf scripts + ''; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Simple terminal UI for git commands"; + license = licenses.mit; + maintainers = with stdenv.lib.maintainers; [ fpletz ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix deleted file mode 100644 index 2e03bb8025ef..000000000000 --- a/pkgs/development/tools/ocaml/camlp5/5.15.nix +++ /dev/null @@ -1,46 +0,0 @@ -{stdenv, fetchurl, ocaml, transitional ? false}: - -let - pname = "camlp5"; - webpage = http://pauillac.inria.fr/~ddr/camlp5/; - metafile = ./META; -in - -assert !stdenv.lib.versionOlder "4.00" ocaml.version; - -stdenv.mkDerivation rec { - - name = "${pname}${if transitional then "_transitional" else ""}-${version}"; - version = "5.15"; - - src = fetchurl { - url = "${webpage}/distrib/src/${pname}-${version}.tgz"; - sha256 = "1sx5wlfpydqskm97gp7887p3avbl3vanlmrwj35wx5mbzj6kn9nq"; - }; - - buildInputs = [ ocaml ]; - - prefixKey = "-prefix "; - - preConfigure = "configureFlagsArray=(" + (if transitional then "--transitional" else "--strict") + - " --libdir $out/lib/ocaml/${ocaml.version}/site-lib)"; - - buildFlags = "world.opt"; - - postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml.version}/site-lib/camlp5/META"; - - meta = { - description = "Preprocessor-pretty-printer for OCaml"; - longDescription = '' - Camlp5 is a preprocessor and pretty-printer for OCaml programs. - It also provides parsing and printing tools. - ''; - homepage = "${webpage}"; - license = stdenv.lib.licenses.bsd3; - branch = "5"; - platforms = ocaml.meta.platforms or []; - maintainers = [ - stdenv.lib.maintainers.z77z - ]; - }; -} diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index 4ad1bfb3234d..d74b480c9c5a 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,10 +1,9 @@ -{ stdenv, fetchzip, ocaml, findlib, yojson -, withEmacsMode ? false, emacs }: +{ stdenv, fetchzip, ocaml, findlib, dune, yojson }: assert stdenv.lib.versionAtLeast ocaml.version "4.02"; let - version = "3.1.0"; + version = "3.2.1"; in stdenv.mkDerivation { @@ -13,15 +12,12 @@ stdenv.mkDerivation { src = fetchzip { url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz"; - sha256 = "1vf0c2mmflp94r8hshb44lsvnfdy03ld6mld2n79cdxr3zl24ci2"; + sha256 = "1szv2b7d12ll5n6pvnhlv3a6vnlyrkpya4l9fiyyiwyvgd4xzxwf"; }; - buildInputs = [ ocaml findlib yojson ] - ++ stdenv.lib.optional withEmacsMode emacs; + buildInputs = [ ocaml findlib dune yojson ]; - preConfigure = "mkdir -p $out/bin"; - prefixKey = "--prefix "; - configureFlags = stdenv.lib.optional withEmacsMode "--enable-compiled-emacs-mode"; + inherit (dune) installPhase; meta = with stdenv.lib; { description = "An editor-independent tool to ease the development of programs in OCaml"; diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix index 55902f48bb73..ecc86d51a06e 100644 --- a/pkgs/development/tools/profiling/systemtap/default.nix +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -5,9 +5,9 @@ let ## fetchgit info url = git://sourceware.org/git/systemtap.git; - rev = "4051c70c9318c837981384cbb23f3e9eb1bd0892"; - sha256 = "0sd8n3j3rishks3gyqj2jyqhps7hmlfjyz8i0w8v98cczhhh04rq"; - version = "2017.10.18"; + rev = "release-${version}"; + sha256 = "0hckbmrlcz5nj438409fmdjjaaqzf68r2242v10lkssw5daia1gj"; + version = "3.3"; inherit (kernel) stdenv; inherit (stdenv) lib; @@ -18,12 +18,6 @@ let src = fetchgit { inherit url rev sha256; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ elfutils gettext python2 python2Packages.setuptools ]; - # FIXME: Workaround for bug in kbuild, where quoted -I"/foo" flags would get mangled in out-of-tree kbuild dirs - postPatch = '' - substituteInPlace buildrun.cxx --replace \ - 'o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl;' \ - 'o << "EXTRA_CFLAGS += -I" << s.runtime_path << endl;' - ''; enableParallelBuilding = true; }; @@ -53,7 +47,7 @@ in runCommand "systemtap-${kernel.version}-${version}" { }; } '' mkdir -p $out/bin - for bin in $stapBuild/bin/*; do # hello emacs */ + for bin in $stapBuild/bin/*; do ln -s $bin $out/bin done rm $out/bin/stap $out/bin/dtrace diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 0463ab3ba0af..836003eeb736 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "rust-bindgen-${version}"; - version = "0.40.0"; + version = "0.42.2"; src = fetchFromGitHub { owner = "rust-lang-nursery"; repo = "rust-bindgen"; rev = "v${version}"; - sha256 = "0d7jqgi3aadwqcxiaz7axsq9h6n2i42yd3q0p1hc5l0kcdwwbj5k"; + sha256 = "10h0h7x8yf4dsyw2p2nas2jg5p3i29np0y3rfzrdq898d70gvq4j"; }; - cargoSha256 = "1rjyazhnk9xihqw1qzkkcrab627lqbj789g5d5nb8bn2hkbdx5d6"; + cargoSha256 = "01jvi86xgz0r7ia9agnfpms6b6x68lzwj6f085m0w659i94acgpi"; libclang = llvmPackages.libclang.lib; #for substituteAll |