diff options
Diffstat (limited to 'pkgs/development/tools')
98 files changed, 1226 insertions, 492 deletions
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 34b9e53f6e47..690db9a30e1a 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,19 +1,24 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - version = "8.11"; + version = "8.12"; name = "checkstyle-${version}"; src = fetchurl { url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar"; - sha256 = "13x4m4rn7rix64baclcm2jqbizkj38njif2ba0ycmvyjm62smfwv"; + sha256 = "000048flqhkwnjn37bh07wgn6q4m12s3h3p9piqgvxswrjc95x3y"; }; - phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper jre ]; + + unpackPhase = ":"; installPhase = '' - mkdir -p $out/checkstyle - cp $src $out/checkstyle/checkstyle-all.jar + runHook preInstall + install -D $src $out/checkstyle/checkstyle-all.jar + makeWrapper ${jre}/bin/java $out/bin/checkstyle \ + --add-flags "-jar $out/checkstyle/checkstyle-all.jar" + runHook postInstall ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/analysis/emma/default.nix b/pkgs/development/tools/analysis/emma/default.nix index c4e37e5c700a..1bd24b4785d0 100644 --- a/pkgs/development/tools/analysis/emma/default.nix +++ b/pkgs/development/tools/analysis/emma/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation { homepage = http://emma.sourceforge.net/; description = "A code coverage tool for Java"; platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.cpl10; }; } diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix index a5a3d2439186..7f2df62008f0 100644 --- a/pkgs/development/tools/analysis/findbugs/default.nix +++ b/pkgs/development/tools/analysis/findbugs/default.nix @@ -39,5 +39,6 @@ stdenv.mkDerivation rec { homepage = http://findbugs.sourceforge.net/; maintainers = with maintainers; [ pSub ]; platforms = with platforms; unix; + license = licenses.lgpl3; }; } diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 481247a41c4e..bc9bb5d5fa3d 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -3,14 +3,14 @@ with lib; stdenv.mkDerivation rec { - version = "0.77.0"; + version = "0.79.0"; name = "flow-${version}"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "v${version}"; - sha256 = "1wcbqw5vwb3wsz9dkhi2k159ms98kn1nw3g9lc2j9w1m8ki41lql"; + sha256 = "1m8239jl0kmpgmk81mak6k3hmmikji6bb3v0zaknb1z3jl8aa1wb"; }; installPhase = '' diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix index c950228907a0..2f517eb00841 100644 --- a/pkgs/development/tools/analysis/frama-c/default.nix +++ b/pkgs/development/tools/analysis/frama-c/default.nix @@ -9,17 +9,17 @@ in stdenv.mkDerivation rec { name = "frama-c-${version}"; - version = "20171101"; - slang = "Sulfur"; + version = "20180502"; + slang = "Chlorine"; src = fetchurl { url = "http://frama-c.com/download/frama-c-${slang}-${version}.tar.gz"; - sha256 = "1vwjfqmm1r36gkybsy3a7m89q5zicf4rnz5vlsn9imnpjpl9gjw1"; + sha256 = "1m4r8h8n1z957pylyf9b0kjblh59imnqm1bkb4s6rdwl4a1gbjgc"; }; why2 = fetchurl { - url = "http://why.lri.fr/download/why-2.39.tar.gz"; - sha256 = "0nf17jl00s7q9z8gkbamnf7mglvxqrm3967c17ic4c9xz8g125a8"; + url = "http://why.lri.fr/download/why-2.40.tar.gz"; + sha256 = "0h1mbpxsgwvf3pbl0qbg22j6f4v1ffka24ap1ajbjk9b1yb3ali8"; }; nativeBuildInputs = [ autoconf makeWrapper ]; diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2/cutter.nix index ff2b4d3b54f5..4269661a4ff3 100644 --- a/pkgs/development/tools/analysis/radare2-cutter/default.nix +++ b/pkgs/development/tools/analysis/radare2/cutter.nix @@ -4,20 +4,11 @@ # Qt , qtbase, qtsvg, qtwebengine # buildInputs -, radare2 +, r2-for-cutter , python3 }: let - r2 = radare2.overrideDerivation (o: { - name = "radare2-for-cutter-${version}"; - src = fetchFromGitHub { - owner = "radare"; - repo = "radare2"; - rev = "a98557bfbfa96e9f677a8c779ee78085ee5a23bb"; - sha256 = "04jl1lq3dqljb6vagzlym4wc867ayhx1v52f75rkfz0iybsh249r"; - }; - }); - version = "1.6"; + version = "1.7"; in stdenv.mkDerivation rec { name = "radare2-cutter-${version}"; @@ -26,7 +17,7 @@ stdenv.mkDerivation rec { owner = "radareorg"; repo = "cutter"; rev = "v${version}"; - sha256 = "1ps52yf94yfnws3nn1iiwch2jy33dyvi7j47xkmh0m5fpdqi5xk7"; + sha256 = "0z9wzxd5hw0ivakrg3xiv4zx1rjj032hlmizq0pxj22xjrj1gg9n"; }; postUnpack = "export sourceRoot=$sourceRoot/src"; @@ -41,7 +32,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ qmake pkgconfig ]; - buildInputs = [ qtbase qtsvg qtwebengine r2 python3 ]; + buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 ]; qmakeFlags = [ "CONFIG+=link_pkgconfig" diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 0264305134cb..85559269f279 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -1,4 +1,5 @@ {stdenv, fetchFromGitHub +, callPackage , ninja, meson , pkgconfig , libusb, readline, libewf, perl, zlib, openssl , gtk2 ? null, vte ? null, gtkdialog ? null @@ -15,66 +16,94 @@ assert pythonBindings -> python != null; let inherit (stdenv.lib) optional; - #<generated> - # DO NOT EDIT! Automatically generated by ./update.py - version_commit = "18681"; - gittap = "2.7.0"; - gittip = "6e08e452a7ec231a73997c44b4ff556c2998c7d9"; - version = "2.7.0"; - sha256 = "1a9z8w897256dhh3yhyfnshz3n2nrc4plc2i06cm5sznhl6x9xfx"; - cs_tip = "ec8a5ce98fa0422a395489ed47da912b15d77441"; - cs_sha256 = "080a64bqck28a2xfjwz29ddcr8p6hc6gi67mgry3pca289qrkk3q"; - #</generated> -in -stdenv.mkDerivation rec { - name = "radare2-${version}"; - src = fetchFromGitHub { - owner = "radare"; - repo = "radare2"; - rev = version; - inherit sha256; - }; + generic = { + version_commit, + gittap, + gittip, + rev, + version, + sha256, + cs_tip, + cs_sha256 + }: + stdenv.mkDerivation rec { + name = "radare2-${version}"; + + src = fetchFromGitHub { + owner = "radare"; + repo = "radare2"; + inherit rev sha256; + }; - postPatch = let - capstone = fetchFromGitHub { - owner = "aquynh"; - repo = "capstone"; - # version from $sourceRoot/shlr/Makefile - rev = cs_tip; - sha256 = cs_sha256; - }; - in '' - if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi - ln -s ${capstone} shlr/capstone - ''; + postPatch = let + capstone = fetchFromGitHub { + owner = "aquynh"; + repo = "capstone"; + # version from $sourceRoot/shlr/Makefile + rev = cs_tip; + sha256 = cs_sha256; + }; + in '' + if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi + # When using meson, it expects capstone source relative to build directory + mkdir -p build/shlr + ln -s ${capstone} build/shlr/capstone + ''; - postInstall = '' - ln -s $out/bin/radare2 $out/bin/r2 - install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm - ''; + postInstall = '' + ln -s $out/bin/radare2 $out/bin/r2 + install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm + ''; - mesonFlags = [ - "-Dr2_version_commit=${version_commit}" - "-Dr2_gittap=${gittap}" - "-Dr2_gittip=${gittip}" - ]; + mesonFlags = [ + "-Dr2_version_commit=${version_commit}" + "-Dr2_gittap=${gittap}" + "-Dr2_gittip=${gittip}" + # 2.8.0 expects this, but later it becomes an option with default=false. + "-Dcapstone_in_builddir=true" + ]; - enableParallelBuilding = true; + enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ninja meson ]; - buildInputs = [ readline libusb libewf perl zlib openssl] - ++ optional useX11 [gtkdialog vte gtk2] - ++ optional rubyBindings [ruby] - ++ optional pythonBindings [python] - ++ optional luaBindings [lua]; + nativeBuildInputs = [ pkgconfig ninja meson ]; + buildInputs = [ readline libusb libewf perl zlib openssl] + ++ optional useX11 [gtkdialog vte gtk2] + ++ optional rubyBindings [ruby] + ++ optional pythonBindings [python] + ++ optional luaBindings [lua]; - meta = { - description = "unix-like reverse engineering framework and commandline tools"; - homepage = http://radare.org/; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [raskin makefu mic92]; - platforms = with stdenv.lib.platforms; linux; - inherit version; + meta = { + description = "unix-like reverse engineering framework and commandline tools"; + homepage = http://radare.org/; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [raskin makefu mic92]; + platforms = with stdenv.lib.platforms; linux; + inherit version; + }; }; +in { + #<generated> + # DO NOT EDIT! Automatically generated by ./update.py + radare2 = generic { + version_commit = "19251"; + gittap = "2.8.0"; + gittip = "a76b965410aba07b4ef8b96d90b25b271c2003dd"; + rev = "2.8.0"; + version = "2.8.0"; + sha256 = "1d9rkzc3vychy2h1bnywwx4why83rr18r0lvvl1cqx87ad5awcjk"; + cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a"; + cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4"; + }; + r2-for-cutter = generic { + version_commit = "19251"; + gittap = "2.8.0-118-gb0547831f"; + gittip = "b0547831f127b7357e3c93bc43933482a4d6213b"; + rev = "b0547831f127b7357e3c93bc43933482a4d6213b"; + version = "2018-08-07"; + sha256 = "1ix42kipd1aayb494ajbxawzc1cwikm9fxk343d1kchxx4a30a1m"; + cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a"; + cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4"; + }; + #</generated> } diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py index 1f16a00905c1..fae6a52a3920 100755 --- a/pkgs/development/tools/analysis/radare2/update.py +++ b/pkgs/development/tools/analysis/radare2/update.py @@ -2,14 +2,16 @@ #!nix-shell -p nix -p python3 -p git -i python # USAGE - just run the script: ./update.py # When editing this file, make also sure it passes the mypy typecheck -# and is formatted with yapf. -import urllib.request -import json -import tempfile -import subprocess +# and is formatted with black. import fileinput +import json import re +import subprocess +import tempfile +import urllib.request +from datetime import datetime from pathlib import Path +from typing import Dict def sh(*args: str) -> str: @@ -18,50 +20,107 @@ def sh(*args: str) -> str: def prefetch_github(owner: str, repo: str, ref: str) -> str: - return sh("nix-prefetch-url", "--unpack", - f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz") + return sh( + "nix-prefetch-url", + "--unpack", + f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz", + ) -def main() -> None: +def get_radare2_rev() -> str: url = "https://api.github.com/repos/radare/radare2/releases/latest" with urllib.request.urlopen(url) as response: release = json.load(response) # type: ignore - version = release["tag_name"] - with tempfile.TemporaryDirectory() as dirname: + return release["tag_name"] + + +def get_r2_cutter_rev() -> str: + url = "https://api.github.com/repos/radareorg/cutter/contents/" + with urllib.request.urlopen(url) as response: + data = json.load(response) # type: ignore + for entry in data: + if entry["name"] == "radare2": + return entry["sha"] + raise Exception("no radare2 submodule found in github.com/radareorg/cutter") + - def git(*args: str) -> str: - return sh("git", "-C", dirname, *args) +def git(dirname: str, *args: str) -> str: + return sh("git", "-C", dirname, *args) - git("clone", "--branch", version, "https://github.com/radare/radare2", - ".") - sha256 = prefetch_github("radare", "radare2", version) + +def get_repo_info(dirname: str, rev: str) -> Dict[str, str]: + sha256 = prefetch_github("radare", "radare2", rev) + + cs_tip = None + with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile: + for l in makefile: + match = re.match("CS_TIP=(\S+)", l) + if match: + cs_tip = match.group(1) + assert cs_tip is not None + + cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip) + + return dict( + rev=rev, + sha256=sha256, + version_commit=git(dirname, "rev-list", "--all", "--count"), + gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"), + gittip=git(dirname, "rev-parse", "HEAD"), + cs_tip=cs_tip, + cs_sha256=cs_sha256, + ) + + +def write_package_expr(version: str, info: Dict[str, str]) -> str: + return f"""generic {{ + version_commit = "{info["version_commit"]}"; + gittap = "{info["gittap"]}"; + gittip = "{info["gittip"]}"; + rev = "{info["rev"]}"; + version = "{version}"; + sha256 = "{info["sha256"]}"; + cs_tip = "{info["cs_tip"]}"; + cs_sha256 = "{info["cs_sha256"]}"; + }}""" + + +def main() -> None: + radare2_rev = get_radare2_rev() + r2_cutter_rev = get_r2_cutter_rev() + + with tempfile.TemporaryDirectory() as dirname: + git( + dirname, + "clone", + "--branch", + radare2_rev, + "https://github.com/radare/radare2", + ".", + ) nix_file = str(Path(__file__).parent.joinpath("default.nix")) - cs_tip = None - with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile: - for l in makefile: - match = re.match("CS_TIP=(\S+)", l) - if match: - cs_tip = match.group(1) - assert cs_tip is not None + radare2_info = get_repo_info(dirname, radare2_rev) + + git(dirname, "checkout", r2_cutter_rev) + + timestamp = git(dirname, "log", "-n1", "--format=%at") + r2_cutter_version = datetime.fromtimestamp(int(timestamp)).strftime("%Y-%m-%d") - cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip) + r2_cutter_info = get_repo_info(dirname, r2_cutter_rev) in_block = False with fileinput.FileInput(nix_file, inplace=True) as f: for l in f: if "#<generated>" in l: in_block = True - print(f""" #<generated> + print( + f""" #<generated> # DO NOT EDIT! Automatically generated by ./update.py - version_commit = "{git("rev-list", "--all", "--count")}"; - gittap = "{git("describe", "--tags", "--match", "[0-9]*")}"; - gittip = "{git("rev-parse", "HEAD")}"; - version = "{version}"; - sha256 = "{sha256}"; - cs_tip = "{cs_tip}"; - cs_sha256 = "{cs_sha256}"; - #</generated>""") + radare2 = {write_package_expr(radare2_rev, radare2_info)}; + r2-for-cutter = {write_package_expr(r2_cutter_version, r2_cutter_info)}; + #</generated>""" + ) elif "#</generated>" in l: in_block = False elif not in_block: diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix index 19609e15c765..7cf709066542 100644 --- a/pkgs/development/tools/backblaze-b2/default.nix +++ b/pkgs/development/tools/backblaze-b2/default.nix @@ -22,7 +22,7 @@ buildPythonApplication rec { postInstall = '' mv "$out/bin/b2" "$out/bin/backblaze-b2" - sed 's/^have b2 \&\&$/have backblaze-b2 \&\&/' -i contrib/bash_completion/b2 + sed 's/^have b2 \&\&$/_have backblaze-b2 \&\&/' -i contrib/bash_completion/b2 sed 's/^\(complete -F _b2\) b2/\1 backblaze-b2/' -i contrib/bash_completion/b2 mkdir -p "$out/etc/bash_completion.d" diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix index 5f2e9b5f440d..f66c84142648 100644 --- a/pkgs/development/tools/bloaty/default.nix +++ b/pkgs/development/tools/bloaty/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, zlib, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "2018-06-15"; + version = "1.0"; name = "bloaty-${version}"; src = fetchFromGitHub { owner = "google"; repo = "bloaty"; - rev = "bdbb3ce196c86d2154f5fba99b5ff73ca43446a9"; - sha256 = "1r7di2p8bi12jpgl6cm4ygi1s0chv767mdcavc7pb45874vl02fx"; + rev = "v${version}"; + sha256 = "0fck83zyh9bwlwdk3fkhv3337g9nii6rzf96gyghmnrsp9rzxs3l"; fetchSubmodules = true; }; diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix index 69f467f577c8..1018abd6ee9c 100644 --- a/pkgs/development/tools/build-managers/bazel/0.4.nix +++ b/pkgs/development/tools/build-managers/bazel/0.4.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = with maintainers; [ cstrahan philandstuff ]; platforms = platforms.linux; + broken = true; # 2018-08-07 }; name = "bazel-${version}"; diff --git a/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix index 76e2ad1e7cac..af8cd5faacde 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel-deps/default.nix @@ -2,7 +2,7 @@ buildBazelPackage rec { name = "bazel-deps-${version}"; - version = "2018-05-31"; + version = "2018-08-16"; meta = with stdenv.lib; { homepage = "https://github.com/johnynek/bazel-deps"; @@ -15,8 +15,8 @@ buildBazelPackage rec { src = fetchFromGitHub { owner = "johnynek"; repo = "bazel-deps"; - rev = "dd7d0086d3a61c1d5c3370a0300824d0c75946e4"; - sha256 = "1h9ddgk6vn0bhnnkwwz4n1iqv2rcdj521dxhdwj5wwpndbciw855"; + rev = "942a0b03cbf159dd6e0f0f40787d6d8e4e832d81"; + sha256 = "0ls2jvz9cxa169a8pbbykv2d4dik4ipf7dj1lkqx5g0ss7lgs6q5"; }; bazelTarget = "//src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar"; @@ -26,7 +26,7 @@ buildBazelPackage rec { fetchAttrs = { preInstall = '' # Remove all built in external workspaces, Bazel will recreate them when building - rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,local_*,\@local_*} + rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,embedded_jdk,\@embedded_jdk.marker,local_*,\@local_*} # For each external workspace, remove all files that aren't referenced by Bazel # Many of these files are non-hermetic (for example .git/refs/remotes/origin/HEAD) files_to_delete=() @@ -66,7 +66,7 @@ buildBazelPackage rec { find . -type d -empty -delete ''; - sha256 = "0fh9jjwk3aq0kklhl9zyy8hj8gjm1y1fy4ygjinm0469w9jdgc3g"; + sha256 = "0jkzf1hay0h8ksk9lhfvdliac6c5d7nih934i1xjbrn6zqlivy19"; }; buildAttrs = { diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix index 56b64cd061b5..8d4b95c8808e 100644 --- a/pkgs/development/tools/build-managers/bazel/default.nix +++ b/pkgs/development/tools/build-managers/bazel/default.nix @@ -1,15 +1,15 @@ { stdenv, lib, fetchurl, runCommand, makeWrapper , jdk, zip, unzip, bash, writeCBin, coreutils -, which, python, gnused, gnugrep, findutils +, which, python, perl, gnused, gnugrep, findutils # Always assume all markers valid (don't redownload dependencies). # Also, don't clean up environment variables. , enableNixHacks ? false # Apple dependencies -, libcxx, CoreFoundation, CoreServices, Foundation +, cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation }: let - srcDeps = stdenv.lib.singleton ( + srcDeps = lib.singleton ( fetchurl { url = "https://github.com/google/desugar_jdk_libs/archive/f5e6d80c6b4ec6b0a46603f72b015d45cf3c11cd.zip"; sha256 = "c80f3f3d442d8a6ca7adc83f90ecd638c3864087fdd6787ffac070b6f1cc8f9b"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { version = "0.15.2"; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://github.com/bazelbuild/bazel/"; description = "Build tool that builds code quickly and reliably"; license = licenses.asl20; @@ -74,39 +74,80 @@ stdenv.mkDerivation rec { } ''; - postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' - export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" - '' + '' - find src/main/java/com/google/devtools -type f -print0 | while IFS="" read -r -d "" path; do - substituteInPlace "$path" \ - --replace /bin/bash ${customBash}/bin/bash \ - --replace /usr/bin/env ${coreutils}/bin/env - done - # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. - substituteInPlace scripts/bootstrap/compile.sh \ - --replace /bin/sh ${customBash}/bin/bash - - echo "build --experimental_distdir=${distDir}" >> .bazelrc - echo "fetch --experimental_distdir=${distDir}" >> .bazelrc - echo "build --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\"" >> .bazelrc - echo "build --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\"" >> .bazelrc - echo "build --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\"" >> .bazelrc - echo "build --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\"" >> .bazelrc - sed -i -e "361 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh - sed -i -e "361 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh - sed -i -e "361 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh - sed -i -e "361 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh - - # --experimental_strict_action_env (which will soon become the - # default, see bazelbuild/bazel#2574) hardcodes the default - # action environment to a value that on NixOS at least is bogus. - # So we hardcode it to something useful. - substituteInPlace \ - src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \ - --replace /bin:/usr/bin ${defaultShellPath} - - patchShebangs . - ''; + postPatch = let + darwinPatches = '' + # Disable Bazel's Xcode toolchain detection which would configure compilers + # and linkers from Xcode instead of from PATH + export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 + + # Framework search paths aren't added by bintools hook + # https://github.com/NixOS/nixpkgs/pull/41914 + export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks" + + # libcxx includes aren't added by libcxx hook + # https://github.com/NixOS/nixpkgs/pull/41589 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1" + + # don't use system installed Xcode to run clang, use Nix clang instead + sed -i -e "s;/usr/bin/xcrun clang;${clang}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \ + scripts/bootstrap/compile.sh \ + src/tools/xcode/realpath/BUILD \ + src/tools/xcode/stdredirect/BUILD \ + tools/osx/BUILD + + # clang installed from Xcode has a compatibility wrapper that forwards + # invocations of gcc to clang, but vanilla clang doesn't + sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl + + sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl + wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) + for wrapper in "''${wrappers[@]}"; do + sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper + done + ''; + genericPatches = '' + find src/main/java/com/google/devtools -type f -print0 | while IFS="" read -r -d "" path; do + substituteInPlace "$path" \ + --replace /bin/bash ${customBash}/bin/bash \ + --replace /usr/bin/env ${coreutils}/bin/env + done + # Fixup scripts that generate scripts. Not fixed up by patchShebangs below. + substituteInPlace scripts/bootstrap/compile.sh \ + --replace /bin/sh ${customBash}/bin/bash + + echo "build --experimental_distdir=${distDir}" >> .bazelrc + echo "fetch --experimental_distdir=${distDir}" >> .bazelrc + echo "build --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\"" >> .bazelrc + echo "build --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\"" >> .bazelrc + echo "build --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\"" >> .bazelrc + echo "build --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\"" >> .bazelrc + sed -i -e "361 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh + sed -i -e "361 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh + sed -i -e "361 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh + sed -i -e "361 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh + + # --experimental_strict_action_env (which will soon become the + # default, see bazelbuild/bazel#2574) hardcodes the default + # action environment to a value that on NixOS at least is bogus. + # So we hardcode it to something useful. + substituteInPlace \ + src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \ + --replace /bin:/usr/bin ${defaultShellPath} + + # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash + echo "PATH=$PATH:${defaultShellPath}" >> runfiles.bash.tmp + cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp + mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash + + # the bash completion requires perl + # https://github.com/bazelbuild/bazel/issues/5943 + substituteInPlace scripts/bazel-complete-template.bash \ + --replace "perl" "${perl}/bin/perl" + + patchShebangs . + ''; + in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches + + genericPatches; buildInputs = [ jdk @@ -119,7 +160,7 @@ stdenv.mkDerivation rec { makeWrapper which customBash - ] ++ lib.optionals (stdenv.isDarwin) [ libcxx CoreFoundation CoreServices Foundation ]; + ] ++ lib.optionals (stdenv.isDarwin) [ cctools clang libcxx CoreFoundation CoreServices Foundation ]; # If TMPDIR is in the unpack dir we run afoul of blaze's infinite symlink # detector (see com.google.devtools.build.lib.skyframe.FileFunction). diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix index 8f352f84b228..fb12b5a9c14a 100644 --- a/pkgs/development/tools/build-managers/bear/default.nix +++ b/pkgs/development/tools/build-managers/bear/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "bear-${version}"; - version = "2.3.11"; + version = "2.3.12"; src = fetchFromGitHub { owner = "rizsotto"; repo = "Bear"; rev = version; - sha256 = "0r6ykvclq9ws055ssd8w33dicmk5l9pisv0fpzkks700n8d3z9f3"; + sha256 = "1zzz2yiiny9pm4h6ayb82xzxc2j5djcpf8va2wagcw92m7w6miqw"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix index 968411ca9cc5..cffcb594a0d2 100644 --- a/pkgs/development/tools/build-managers/buildbot/worker.nix +++ b/pkgs/development/tools/build-managers/buildbot/worker.nix @@ -3,11 +3,11 @@ pythonPackages.buildPythonApplication (rec { name = "${pname}-${version}"; pname = "buildbot-worker"; - version = "1.2.0"; + version = "1.3.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "0lcaga16zf75aa6ckl9ahjbrs3n3bw7nj6m8g03n77873cgh94x4"; + sha256 = "1l9iqyqn9yln6ln6dhfkngzx92a61v1cf5ahqj4ax663i02yq7fh"; }; buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix index c61bf3287db1..a57d20e2702a 100644 --- a/pkgs/development/tools/build-managers/cmake/2.8.nix +++ b/pkgs/development/tools/build-managers/cmake/2.8.nix @@ -84,5 +84,6 @@ stdenv.mkDerivation rec { description = "Cross-Platform Makefile Generator"; platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [ ]; + license = stdenv.lib.licenses.bsd3; }; } diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index ed0928febe29..81a1dd23f2e0 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -126,5 +126,6 @@ stdenv.mkDerivation rec { description = "Cross-Platform Makefile Generator"; platforms = if useQt4 then qt4.meta.platforms else platforms.all; maintainers = with maintainers; [ ttuegel lnl7 ]; + license = licenses.bsd3; }; } diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix index b9a8c97bd5eb..11461fc69522 100644 --- a/pkgs/development/tools/build-managers/dub/default.nix +++ b/pkgs/development/tools/build-managers/dub/default.nix @@ -4,7 +4,7 @@ let dubBuild = stdenv.mkDerivation rec { name = "dubBuild-${version}"; - version = "1.8.1"; + version = "1.10.0"; enableParallelBuilding = true; @@ -12,7 +12,7 @@ let owner = "dlang"; repo = "dub"; rev = "v${version}"; - sha256 = "16r7x4jsfv5fjssvs6mwj8ymr6fjpvbkjhpr4f4368sjr5iyfad6"; + sha256 = "02xxpfcjs427jqbwz0vh5vl3bh62ys65zmi9gpa3svzqffyx13n4"; }; postUnpack = '' @@ -51,40 +51,45 @@ let # Need to test in a fixed-output derivation, otherwise the # network tests would fail if sandbox mode is enabled. - dubUnittests = stdenv.mkDerivation rec { - name = "dubUnittests-${version}"; - version = dubBuild.version; - - enableParallelBuilding = dubBuild.enableParallelBuilding; - preferLocalBuild = true; - inputString = dubBuild.outPath; - outputHashAlgo = "sha256"; - outputHash = builtins.hashString "sha256" inputString; - - src = dubBuild.src; - - postUnpack = dubBuild.postUnpack; - postPatch = dubBuild.postPatch; - - nativeBuildInputs = dubBuild.nativeBuildInputs; - buildInputs = dubBuild.buildInputs; - - buildPhase = '' - # Can't use dub from dubBuild directly because one unittest - # (issue895-local-configuration) needs to generate a config - # file under ../etc relative to the dub location. - cp ${dubBuild}/bin/dub bin/ - export DUB=$NIX_BUILD_TOP/source/bin/dub - export PATH=$PATH:$NIX_BUILD_TOP/source/bin/ - export DC=${dmd.out}/bin/dmd - export HOME=$TMP - ./test/run-unittest.sh - ''; - - installPhase = '' - echo -n $inputString > $out - ''; - }; + # Disable tests on Darwin for now because they don't work + # reliably there. + dubUnittests = if !stdenv.hostPlatform.isDarwin then + stdenv.mkDerivation rec { + name = "dubUnittests-${version}"; + version = dubBuild.version; + + enableParallelBuilding = dubBuild.enableParallelBuilding; + preferLocalBuild = true; + inputString = dubBuild.outPath; + outputHashAlgo = "sha256"; + outputHash = builtins.hashString "sha256" inputString; + + src = dubBuild.src; + + postUnpack = dubBuild.postUnpack; + postPatch = dubBuild.postPatch; + + nativeBuildInputs = dubBuild.nativeBuildInputs; + buildInputs = dubBuild.buildInputs; + + buildPhase = '' + # Can't use dub from dubBuild directly because one unittest + # (issue895-local-configuration) needs to generate a config + # file under ../etc relative to the dub location. + cp ${dubBuild}/bin/dub bin/ + export DUB=$NIX_BUILD_TOP/source/bin/dub + export PATH=$PATH:$NIX_BUILD_TOP/source/bin/ + export DC=${dmd.out}/bin/dmd + export HOME=$TMP + ./test/run-unittest.sh + ''; + + installPhase = '' + echo -n $inputString > $out + ''; + } + else + ""; in diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 3cb906d50edf..ca53c4d8c535 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,7 +1,6 @@ -{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, substituteAll }: let - targetPrefix = lib.optionalString stdenv.isCross - (targetPlatform.config + "-"); -in python3Packages.buildPythonApplication rec { +{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, substituteAll }: + +python3Packages.buildPythonApplication rec { version = "0.46.1"; pname = "meson"; @@ -48,10 +47,10 @@ in python3Packages.buildPythonApplication rec { crossFile = writeTextDir "cross-file.conf" '' [binaries] - c = '${targetPrefix}cc' - cpp = '${targetPrefix}c++' - ar = '${targetPrefix}ar' - strip = '${targetPrefix}strip' + c = '${stdenv.cc.targetPrefix}cc' + cpp = '${stdenv.cc.targetPrefix}c++' + ar = '${stdenv.cc.bintools.targetPrefix}ar' + strip = '${stdenv.cc.bintools.targetPrefix}strip' pkgconfig = 'pkg-config' [properties] @@ -69,7 +68,9 @@ in python3Packages.buildPythonApplication rec { # checkInputs = [ ninja pkgconfig ]; # checkPhase = "python ./run_project_tests.py"; - inherit (stdenv) cc isCross; + inherit (stdenv) cc; + + isCross = stdenv.buildPlatform != stdenv.hostPlatform; meta = with lib; { homepage = http://mesonbuild.com; diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index b028534f3c86..98cd7e136d22 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.the-kenny ]; + license = stdenv.lib.licenses.asl20; }; } diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index d9e260a13de3..e96852602fc7 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -122,5 +122,6 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [ gleber tazjin ]; + license = stdenv.lib.licenses.asl20; }; } diff --git a/pkgs/development/tools/build-managers/remake/default.nix b/pkgs/development/tools/build-managers/remake/default.nix index 926cc83cd976..3eca6f02e45d 100644 --- a/pkgs/development/tools/build-managers/remake/default.nix +++ b/pkgs/development/tools/build-managers/remake/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "1zi16pl7sqn1aa8b7zqm9qnd9vjqyfywqm8s6iap4clf86l7kss2"; }; + patches = [ + ./glibc-2.27-glob.patch + ]; + buildInputs = [ readline ]; meta = { diff --git a/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch b/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch new file mode 100644 index 000000000000..ef876e2fb237 --- /dev/null +++ b/pkgs/development/tools/build-managers/remake/glibc-2.27-glob.patch @@ -0,0 +1,34 @@ +diff --git a/glob/glob.c b/glob/glob.c +index f3911bcd861..6cb76e8e162 100644 +--- a/glob/glob.c ++++ b/glob/glob.c +@@ -208,29 +208,8 @@ my_realloc (p, n) + #endif /* __GNU_LIBRARY__ || __DJGPP__ */ + + +-#if !defined __alloca && !defined __GNU_LIBRARY__ +- +-# ifdef __GNUC__ +-# undef alloca +-# define alloca(n) __builtin_alloca (n) +-# else /* Not GCC. */ +-# ifdef HAVE_ALLOCA_H +-# include <alloca.h> +-# else /* Not HAVE_ALLOCA_H. */ +-# ifndef _AIX +-# ifdef WINDOWS32 +-# include <malloc.h> +-# else +-extern char *alloca (); +-# endif /* WINDOWS32 */ +-# endif /* Not _AIX. */ +-# endif /* sparc or HAVE_ALLOCA_H. */ +-# endif /* GCC. */ +- + # define __alloca alloca + +-#endif +- + #ifndef __GNU_LIBRARY__ + # define __stat stat + # ifdef STAT_MACROS_BROKEN diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix index 9c23b85e2272..b5751a19455e 100644 --- a/pkgs/development/tools/build-managers/sbt/default.nix +++ b/pkgs/development/tools/build-managers/sbt/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "sbt-${version}"; - version = "1.2.0"; + version = "1.2.1"; src = fetchurl { urls = [ @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz" "https://cocl.us/sbt-${version}.tgz" ]; - sha256 = "1rrn0v4bhgar3mrgs931ifggb8kfg23fv5cgvskrdd7iyvg0z9wc"; + sha256 = "1pyp98svh5x8b6yp5vfl0jhz8aysjm0dqvqf7znyb3l7knfqk726"; }; patchPhase = '' diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix index e86d61cf6c9a..5c6283b00a15 100644 --- a/pkgs/development/tools/build-managers/waf/default.nix +++ b/pkgs/development/tools/build-managers/waf/default.nix @@ -1,15 +1,17 @@ -{ stdenv, fetchurl, python2 }: +{ stdenv, fetchFromGitLab, python, ensureNewerSourcesForZipFilesHook }: stdenv.mkDerivation rec { name = "waf-${version}"; - version = "2.0.6"; + version = "2.0.10"; - src = fetchurl { - url = "https://waf.io/waf-${version}.tar.bz2"; - sha256 = "1wyl0jl10i0p2rj49sig5riyppgkqlkqmbvv35d5bqxri3y4r38q"; + src = fetchFromGitLab { + owner = "ita1024"; + repo = "waf"; + rev = name; + sha256 = "12p5myq72r5qg7wp2gwbnyvh6lzzcrwp9h3dw194x38g52m0prc7"; }; - buildInputs = [ python2 ]; + buildInputs = [ python ensureNewerSourcesForZipFilesHook ]; configurePhase = '' python waf-light configure @@ -23,7 +25,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Meta build system"; - homepage = "https://waf.io/"; + homepage = https://waf.io; license = licenses.bsd3; platforms = platforms.all; maintainers = with maintainers; [ vrthra ]; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 479bfe35e969..0b6d0cd28efd 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,16 +1,16 @@ { lib, buildGoPackage, fetchFromGitLab, fetchurl }: let - version = "11.1.0"; + version = "11.2.0"; # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 docker_x86_64 = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz"; - sha256 = "0l7j69isnp6wlix3ysjxcr9dgcx5a0j9z2k0bsl714ff339js6j5"; + sha256 = "1dphrws6118l0ryvgny0z5h9fsdbwckm4x21bh8hwb6bxdbqr0yn"; }; docker_arm = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz"; - sha256 = "16x9wbyd90jgyn7x45j9cyrdfz4hg8qav132schqrrdfrgjyrb4x"; + sha256 = "162lzbi7z9afp470w0qkcja728jyb48s7krzinmvg45fb3fb0lfn"; }; in buildGoPackage rec { @@ -29,7 +29,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "0b632jnqbj74nx27nlpiia6nq8668gf41lcb4s24gw9jnfmrwhym"; + sha256 = "1y4fb5jbks6xab7zim10s112h11bq04hh3lddmhm4f2nyqcmlrqh"; }; patches = [ ./fix-shell-path.patch ]; diff --git a/pkgs/development/tools/database/sqldeveloper/18.2.nix b/pkgs/development/tools/database/sqldeveloper/18.2.nix new file mode 100644 index 000000000000..adb22f45c8e1 --- /dev/null +++ b/pkgs/development/tools/database/sqldeveloper/18.2.nix @@ -0,0 +1,84 @@ +{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, jdk }: + +let + version = "18.2.0.183.1748"; + + desktopItem = makeDesktopItem { + name = "sqldeveloper"; + exec = "sqldeveloper"; + icon = "sqldeveloper"; + desktopName = "Oracle SQL Developer 18"; + genericName = "Oracle SQL Developer 18"; + comment = "Oracle's Oracle DB GUI client"; + categories = "Application;Development;"; + }; +in + stdenv.mkDerivation rec { + + inherit version; + name = "sqldeveloper-${version}"; + + src = requireFile rec { + name = "sqldeveloper-${version}-no-jre.zip"; + url = "http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/"; + message = '' + This Nix expression requires that ${name} already be part of the store. To + obtain it you need to + + - navigate to ${url} + - make sure that it says "Version ${version}" above the list of downloads + - if it does not, click on the "Previous Version" link below the downloads + and repeat until the version is correct. This is necessarry because as the + time of this writing there exists no permanent link for the current version + yet. + Also consider updating this package yourself (you probably just need to + change the `version` variable and update the sha256 to the one of the + new file) or opening an issue at the nixpkgs repo. + - accept the license agreement + - download the file listed under "Other Platforms" + - sign in or create an oracle account if neccessary + + and then add the file to the Nix store using either: + + nix-store --add-fixed sha256 ${name} + + or + + nix-prefetch-url --type sha256 file:///path/to/${name} + ''; + sha256 = "0clz2w4ghqczy9sz6j4qqygk20whdwkca192pd3v0dw09875as0k"; + }; + + buildInputs = [ makeWrapper unzip ]; + + unpackCmd = "unzip $curSrc"; + + installPhase = '' + mkdir -p $out/libexec $out/share/{applications,pixmaps} + mv * $out/libexec/ + + mv $out/libexec/icon.png $out/share/pixmaps/sqldeveloper.png + cp ${desktopItem}/share/applications/* $out/share/applications + + makeWrapper $out/libexec/sqldeveloper/bin/sqldeveloper $out/bin/sqldeveloper \ + --set JAVA_HOME ${jdk.home} \ + --run "cd $out/libexec/sqldeveloper/bin" + ''; + + meta = with stdenv.lib; { + description = "Oracle's Oracle DB GUI client"; + longDescription = '' + Oracle SQL Developer is a free integrated development environment that + simplifies the development and management of Oracle Database in both + traditional and Cloud deployments. SQL Developer offers complete + end-to-end development of your PL/SQL applications, a worksheet for + running queries and scripts, a DBA console for managing the database, + a reports interface, a complete data modeling solution, and a migration + platform for moving your 3rd party databases to Oracle. + ''; + homepage = http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ ardumont flokli ma27 ]; + }; +} diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix index f2c756e30f12..45e8ba4f7c02 100644 --- a/pkgs/development/tools/database/sqldeveloper/default.nix +++ b/pkgs/development/tools/database/sqldeveloper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, openjdk }: +{ stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, jdk }: let version = "17.4.1.054.0712"; @@ -46,29 +46,23 @@ in nix-prefetch-url --type sha256 file:///path/to/${name} ''; - # obtained by `sha256sum sqldeveloper-${version}-no-jre.zip` sha256 = "7e92ca94d02489002db291c96f1d67f9b2501a8967ff3457103fcf60c1eb154a"; }; buildInputs = [ makeWrapper unzip ]; - buildCommand = '' - mkdir -p $out/bin - echo >$out/bin/sqldeveloper '#! ${stdenv.shell}' - echo >>$out/bin/sqldeveloper 'export JAVA_HOME=${openjdk}/lib/openjdk' - echo >>$out/bin/sqldeveloper 'export JDK_HOME=$JAVA_HOME' - echo >>$out/bin/sqldeveloper "cd $out/lib/${name}/sqldeveloper/bin" - echo >>$out/bin/sqldeveloper '${stdenv.shell} sqldeveloper "$@"' - chmod +x $out/bin/sqldeveloper + unpackCmd = "unzip $curSrc"; - mkdir -p $out/lib/ - cd $out - unzip ${src} - mv sqldeveloper $out/lib/${name} + installPhase = '' + mkdir -p $out/libexec $out/share/{applications,pixmaps} + mv * $out/libexec/ - install -D -m 444 $out/lib/$name/icon.png $out/share/pixmaps/sqldeveloper.png - mkdir -p $out/share/applications + mv $out/libexec/icon.png $out/share/pixmaps/sqldeveloper.png cp ${desktopItem}/share/applications/* $out/share/applications + + makeWrapper $out/libexec/sqldeveloper/bin/sqldeveloper $out/bin/sqldeveloper \ + --set JAVA_HOME ${jdk.home} \ + --run "cd $out/libexec/sqldeveloper/bin" ''; meta = with stdenv.lib; { @@ -84,7 +78,7 @@ in ''; homepage = http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/; license = licenses.unfree; - maintainers = [ maintainers.ardumont ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ ardumont flokli ]; }; } diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix index 7e8a41590724..9b16d55d4138 100644 --- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix +++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix @@ -13,7 +13,7 @@ python2Packages.buildPythonApplication { nativeBuildInputs = [ intltool pkgconfig ]; buildInputs = [ libxslt ]; - configureFlags = "--disable-scrollkeeper"; + configureFlags = [ "--disable-scrollkeeper" ]; preBuild = '' substituteInPlace xml2po/xml2po/Makefile --replace '-e "s+^#!.*python.*+#!$(PYTHON)+"' '-e "s\"^#!.*python.*\"#!$(PYTHON)\""' diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix index bc29fe2cbcf9..b1703cd45dd5 100644 --- a/pkgs/development/tools/dtools/default.nix +++ b/pkgs/development/tools/dtools/default.nix @@ -2,21 +2,21 @@ stdenv.mkDerivation rec { name = "dtools-${version}"; - version = "2.079.1"; + version = "2.081.2"; srcs = [ (fetchFromGitHub { owner = "dlang"; repo = "dmd"; rev = "v${version}"; - sha256 = "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj"; + sha256 = "1wwk4shqldvgyczv1ihmljpfj3yidq7mxcj69i9kjl7jqx54hw62"; name = "dmd"; }) (fetchFromGitHub { owner = "dlang"; repo = "tools"; rev = "v${version}"; - sha256 = "0fvpfwh3bh3fymrmis3n39x9hkfklmv81lrlqcyl8fmmk694yvad"; + sha256 = "1sbcfj8r1nvy7ynh9dy55q9bvfvxwf1z3llpxckvi8p6yvf35qn2"; name = "dtools"; }) ]; diff --git a/pkgs/development/tools/easyjson/default.nix b/pkgs/development/tools/easyjson/default.nix index de9fb82f66f2..3ae172213639 100644 --- a/pkgs/development/tools/easyjson/default.nix +++ b/pkgs/development/tools/easyjson/default.nix @@ -1,20 +1,19 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -{ stdenv, buildGoPackage, fetchgit }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "easyjson-unstable-${version}"; - version = "2018-06-06"; - rev = "3fdea8d05856a0c8df22ed4bc71b3219245e4485"; - + version = "2018-07-30"; goPackagePath = "github.com/mailru/easyjson"; + goDeps = ./deps.nix; - src = fetchgit { - inherit rev; - url = "https://github.com/mailru/easyjson"; - sha256 = "0g3crph77yhv4ipdnwqc32z4cp87ahi4ikad5kyy6q4znnxliz74"; + src = fetchFromGitHub { + owner = "mailru"; + repo = "easyjson"; + rev = "03f2033d19d5860aef995fe360ac7d395cd8ce65"; + sha256 = "0r62ym6m1ijby7nwplq0gdnhak8in63njyisrwhr3xpx9vkira97"; }; - goDeps = ./deps.nix; + enableParallelBuilding = true; meta = with stdenv.lib; { homepage = "https://github.com/mailru/easyjson"; diff --git a/pkgs/development/tools/flootty/default.nix b/pkgs/development/tools/flootty/default.nix index 796c3dc79a09..1baddb52259c 100644 --- a/pkgs/development/tools/flootty/default.nix +++ b/pkgs/development/tools/flootty/default.nix @@ -1,22 +1,18 @@ -{ stdenv, python }: +{ stdenv, python3Packages }: -let - inherit (python.pkgs) buildPythonApplication fetchPypi; -in - -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "Flootty"; - version = "3.2.1"; + version = "3.2.2"; - src = fetchPypi { + src = python3Packages.fetchPypi { inherit pname version; - sha256 = "0vjwl6g1bwm6jwp9wjla663cm831zf0rc9361mvpn4imdsfz7hxs"; + sha256 = "0gfl143ly81pmmrcml91yr0ypvwrs5q4s1sfdc0l2qkqpy233ih7"; }; meta = with stdenv.lib; { description = "A collaborative terminal. In practice, it's similar to a shared screen or tmux session"; homepage = "https://floobits.com/help/flootty"; license = licenses.asl20; - maintainers = with maintainers; [ sellout ]; + maintainers = with maintainers; [ sellout enzime ]; }; } diff --git a/pkgs/development/tools/ghp-import/default.nix b/pkgs/development/tools/ghp-import/default.nix index 9bad3fc6870a..44c16b3a4bfd 100644 --- a/pkgs/development/tools/ghp-import/default.nix +++ b/pkgs/development/tools/ghp-import/default.nix @@ -3,12 +3,12 @@ with python3.pkgs; buildPythonApplication rec { - version = "0.4.1"; + version = "0.5.5"; pname = "ghp-import"; src = fetchPypi { inherit pname version; - sha256 = "6058810e1c46dd3b5b1eee87e203bdfbd566e10cfc77566edda7aa4dbf6a3053"; + sha256 = "1mvmpi7lqflw2lr0g0y5f9s0d1pv9cav4gbmaqnziqg442klx4iy"; }; disabled = isPyPy; diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix new file mode 100644 index 000000000000..7c697bc5e576 --- /dev/null +++ b/pkgs/development/tools/global-platform-pro/default.nix @@ -0,0 +1,98 @@ +{ stdenv, fetchFromGitHub, jdk, maven, writeText, makeWrapper, jre_headless, pcsclite }: + +# TODO: This is quite a bit of duplicated logic with gephi. Factor it out? +stdenv.mkDerivation rec { + pname = "global-platform-pro"; + version = "0.3.10-rc11"; # Waiting for release https://github.com/martinpaljak/GlobalPlatformPro/issues/128 + describeVersion = "v0.3.10-rc11-0-g8923747"; # git describe --tags --always --long --dirty + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "martinpaljak"; + repo = "GlobalPlatformPro"; + rev = "v${version}"; + sha256 = "0rk81x2y7vx1caxm6wa59fjrfxmjn7s8yxaxm764p8m2qxk3m4y2"; + }; + + # This patch hardcodes the return of a git command the build system tries to + # run. As `fetchFromGitHub` doesn't fetch a full-fledged git repository, + # this command can only fail at build-time. As a consequence, we include the + # `describeVersion` variable defined above here. + # + # See upstream issue https://github.com/martinpaljak/GlobalPlatformPro/issues/129 + patches = [ (writeText "${name}-version.patch" '' + diff --git a/pom.xml b/pom.xml + index 1e5a82d..1aa01fe 100644 + --- a/pom.xml + +++ b/pom.xml + @@ -121,14 +121,10 @@ + </execution> + </executions> + <configuration> + - <executable>git</executable> + + <executable>echo</executable> + <outputFile>target/generated-resources/pro/javacard/gp/pro_version.txt</outputFile> + <arguments> + - <argument>describe</argument> + - <argument>--tags</argument> + - <argument>--always</argument> + - <argument>--long</argument> + - <argument>--dirty</argument> + + <argument>${describeVersion}</argument> + </arguments> + </configuration> + </plugin> + '') ]; + + deps = stdenv.mkDerivation { + name = "${name}-deps"; + inherit src patches; + nativeBuildInputs = [ jdk maven ]; + installPhase = '' + # Download the dependencies + while ! mvn package "-Dmaven.repo.local=$out/.m2" -Dmaven.wagon.rto=5000; do + echo "timeout, restart maven to continue downloading" + done + + # And keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files + # with lastModified timestamps inside + find "$out/.m2" -type f \ + -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' \ + -delete + ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "15bbi7z9v601all9vr2azh8nk8rpz2vd91yvvw8id6birnbhn3if"; + }; + + nativeBuildInputs = [ jdk maven makeWrapper ]; + + buildPhase = '' + cp -dpR "${deps}/.m2" ./ + chmod -R +w .m2 + mvn package --offline -Dmaven.repo.local="$(pwd)/.m2" + ''; + + installPhase = '' + mkdir -p "$out/lib/java" "$out/share/java" + cp -R target/apidocs "$out/doc" + cp target/gp.jar "$out/share/java" + makeWrapper "${jre_headless}/bin/java" "$out/bin/gp" \ + --add-flags "-jar '$out/share/java/gp.jar'" \ + --prefix LD_LIBRARY_PATH : "${pcsclite.out}/lib" + ''; + + meta = with stdenv.lib; { + description = "Command-line utility for managing applets and keys on Java Cards"; + longDescription = '' + This command-line utility can be used to manage applets and keys + on Java Cards. It is made available as the `gp` executable. + + The executable requires the PC/SC daemon running for correct execution. + If you run NixOS, it can be enabled with `services.pcscd.enable = true;`. + ''; + homepage = https://github.com/martinpaljak/GlobalPlatformPro; + license = with licenses; [ lgpl3 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/tools/glock/default.nix b/pkgs/development/tools/glock/default.nix index 98813f143cbb..35f7a2bfdea1 100644 --- a/pkgs/development/tools/glock/default.nix +++ b/pkgs/development/tools/glock/default.nix @@ -19,6 +19,7 @@ buildGoPackage rec { meta = with stdenv.lib; { homepage = https://github.com/robfig/glock; description = "A command-line tool to lock Go dependencies to specific revisions"; + license = licenses.mit; maintainers = [ maintainers.rushmorem ]; }; } diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix index 04c35f7b8bb7..dfb603d101fc 100644 --- a/pkgs/development/tools/goa/default.nix +++ b/pkgs/development/tools/goa/default.nix @@ -8,32 +8,12 @@ buildGoPackage rec { subPackages = [ "goagen" ]; src = fetchFromGitHub { - rev = "v${version}"; owner = "goadesign"; repo = "goa"; + rev = "v${version}"; sha256 = "13401jf907z3qh11h9clb3z0i0fshwkmhx11fq9z6vx01x8x2in1"; }; - buildInputs = [ makeWrapper ]; - - allowGoReference = true; - - outputs = [ "out" ]; - - preInstall = '' - export bin=$out - ''; - - postInstall = '' - # goagen needs GOPATH to be set - wrapProgram $out/bin/goagen \ - --prefix GOPATH ":" $out/share/go - - # and it needs access to all its dependancies - mkdir -p $out/share/go - cp -Rv $NIX_BUILD_TOP/go/{pkg,src} $out/share/go/ - ''; - goDeps = ./deps.nix; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix index 30dd7f217915..1403194925d3 100644 --- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix +++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix @@ -9,8 +9,8 @@ mkDerivation { src = fetchFromGitHub { owner = "haskell-CI"; repo = "haskell-ci"; - rev = "f7ab8c794d7a957370d89f9b4e285a6d20bf8af8"; - sha256 = "0w8qjdy8hzdrwmqnkf4y967r9xh0k21w3hxqlsjp66cay1vby2s8"; + rev = "f67bc41621d40d6559684be5406d65409df4c480"; + sha256 = "1r79dbgjq97h30xa3xhf75l0bivag8an9ag00mgzgpglvgc96czm"; }; isLibrary = true; isExecutable = true; diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix index daa3713a8d16..2ef6b4a1d548 100644 --- a/pkgs/development/tools/hcloud/default.nix +++ b/pkgs/development/tools/hcloud/default.nix @@ -2,14 +2,14 @@ buildGoPackage rec { name = "hcloud-${version}"; - version = "1.5.0"; + version = "1.6.0"; goPackagePath = "github.com/hetznercloud/cli"; src = fetchFromGitHub { owner = "hetznercloud"; repo = "cli"; rev = "v${version}"; - sha256 = "1pbfa977ihqn7j3ynyqghxjw0wmq0vgha4lsshdpf5xr2n3w0r8l"; + sha256 = "0iswy8xjqvshwk9w2vz3miph953qdh21xga9hl6aili84x25xzbx"; }; buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ]; diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix new file mode 100644 index 000000000000..5cf0badf668e --- /dev/null +++ b/pkgs/development/tools/kubectx/default.nix @@ -0,0 +1,38 @@ +{ stdenv, lib, fetchFromGitHub, kubectl, makeWrapper }: + +with lib; + +stdenv.mkDerivation rec { + name = "kubectx"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "ahmetb"; + repo = "${name}"; + rev = "v${version}"; + sha256 = "1bmmaj5fffx4hy55l6x4vl5gr9rp2yhg4vs5b9sya9rjvdkamdx5"; + }; + + buildInputs = [ makeWrapper ]; + + dontBuild = true; + doCheck = false; + + installPhase = '' + mkdir -p $out/bin + cp kubectx $out/bin + cp kubens $out/bin + + for f in $out/bin/*; do + wrapProgram $f --prefix PATH : ${makeBinPath [ kubectl ]} + done + ''; + + meta = { + description = "Fast way to switch between clusters and namespaces in kubectl!"; + license = licenses.asl20; + homepage = https://github.com/ahmetb/kubectx; + maintainers = with maintainers; [ periklis ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/development/tools/lattice-diamond/default.nix b/pkgs/development/tools/lattice-diamond/default.nix new file mode 100644 index 000000000000..1691f09e6e41 --- /dev/null +++ b/pkgs/development/tools/lattice-diamond/default.nix @@ -0,0 +1,115 @@ +{ stdenv, rpmextract, patchelf, makeWrapper, file, requireFile, glib, zlib, + freetype, fontconfig, xorg }: + +stdenv.mkDerivation rec { + name = "diamond-3.10"; + + nativeBuildInputs = [ rpmextract patchelf makeWrapper file ]; + + src = requireFile { + name = "diamond_3_10-base_x64-111-2-x86_64-linux.rpm"; + url = "http://www.latticesemi.com/view_document?document_id=52180"; + sha256 = "ec0b370cf8bd55831eeed7c5eadcabacbd6e63ac657c20209d672119a07a5c0f"; + }; + + buildCommand = '' + origprefix=usr/local/diamond/3.10_x64 + prefix=diamond + + echo "Unpacking $src..." + rpmextract $src + + # Move $pwd/usr/local/diamond/VERS to $out/diamond, cd. + mkdir -p $out/$prefix + rmdir $out/$prefix + mv $origprefix $out/$prefix + + cd $out + + # Extract all tarballs. + for tb in \ + cae_library/cae_library.tar.gz \ + embedded_source/embedded_source.tar.gz \ + ispfpga/ispfpga.tar.gz \ + synpbase/synpbase.tar.gz \ + tcltk/tcltk.tar.gz \ + bin/bin.tar.gz \ + examples/examples.tar.gz \ + data/data.tar.gz ; do + + echo "Extracting tarball $prefix/$tb" + cd $out/$prefix/$(dirname $tb) + tar xf $(basename $tb) + rm $(basename $tb) + done + + # Patch shebangs in start scripts . + cd $out/$prefix/bin/lin64 + for tool in \ + programmer \ + pgrcmd \ + diamond_env \ + powercal \ + model300 \ + update \ + diamond \ + debugger \ + ddtcmd \ + cableserver \ + revealrva \ + ipexpress \ + fileutility \ + diamond ; do + + echo "Patching script $prefix/bin/lin64/$tool..." + patchShebangs $tool + done + + # Patch executable ELFs. + for path in bin/lin64 ispfpga/bin/lin64; do + cd $out/$prefix/$path + for f in *; do + if ! file $f | grep -q "ELF 64-bit LSB executable" ; then + continue + fi + echo "Patching ELF $prefix/$path/$f..." + # We force RPATH otherwise libraries from LD_LIBRARY_PATH (which the + # tools mangle by themselves) will not be able to find their + # dependencies from nix. + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$libPath" --force-rpath \ + $f + done + done + + # Remove 32-bit libz. + rm $out/$prefix/bin/lin64/libz.{so,so.1} + + # Make wrappers (should these target more than the 'diamond' tool?). + # The purpose of these is just to call the target program using its + # absolute path - otherwise, it will crash. + mkdir -p bin + for tool in diamond ; do + makeWrapper $out/$prefix/bin/lin64/$tool $out/bin/$tool + done + ''; + + libPath = stdenv.lib.makeLibraryPath [ + glib zlib freetype fontconfig + xorg.libSM xorg.libICE xorg.libXrender xorg.libXext xorg.libX11 xorg.libXt + ]; + + meta = { + description = "Vendor development tools for Lattice FPGA devices"; + longDescription = '' + Lattice Diamond software is the leading-edge software design environment + for cost- sensitive, low-power Lattice FPGA architectures. It is the + next-generation replacement for ispLEVER. + ''; + homepage = "http://www.latticesemi.com/latticediamond"; + license = stdenv.lib.licenses.unfree; + maintainers = with stdenv.lib.maintainers; [ q3k ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/tools/literate-programming/Literate/default.nix b/pkgs/development/tools/literate-programming/Literate/default.nix index 4bc3e77dbaa7..8fbbcdb6e5f7 100644 --- a/pkgs/development/tools/literate-programming/Literate/default.nix +++ b/pkgs/development/tools/literate-programming/Literate/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, dmd, dub }: stdenv.mkDerivation { - name = "Literate-2017-05-28"; + name = "Literate-2018-08-20"; src = fetchgit { url = "https://github.com/zyedidia/Literate.git"; - rev = "23928d64bb19b5101dbcc794da6119beaf59f679"; - sha256 = "094lramvacarzj8443ns18zyv7dxnivwi7kdk5xi5r2z4gx338iq"; + rev = "737567e49c9e12ac56222c147191da58ea1521e2"; + sha256 = "19v8v66lv8ayg3irqkbk7ln5lkmgwpx4wgz8h3yr81arl40bbzqs"; }; buildInputs = [ dmd dub ]; diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix index 0a3316005236..8f437af0ada8 100644 --- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, autoconf, makeWrapper }: +{ stdenv, fetchurl, perl, autoconf }: stdenv.mkDerivation rec { name = "automake-1.11.6"; @@ -17,11 +17,12 @@ stdenv.mkDerivation rec { patches = [ ./fix-test-autoconf-2.69.patch ./fix-perl-5.26.patch ]; - buildInputs = [perl autoconf makeWrapper]; + buildInputs = [ perl autoconf ]; # Disable indented log output from Make, otherwise "make.test" will # fail. preCheck = "unset NIX_INDENT_MAKE"; + doCheck = false; # takes _a lot_ of time, fails 11 of 782 tests # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! diff --git a/pkgs/development/tools/misc/automake/automake-1.16.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix index 6646b8472526..478fc14d680d 100644 --- a/pkgs/development/tools/misc/automake/automake-1.16.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, autoconf, doCheck ? false }: +{ stdenv, fetchurl, perl, autoconf }: stdenv.mkDerivation rec { name = "automake-1.16.1"; @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { # Disable indented log output from Make, otherwise "make.test" will # fail. preCheck = "unset NIX_INDENT_MAKE"; - inherit doCheck; + doCheck = false; # takes _a lot_ of time, fails 3 out of 2698 tests, all seem to be related to paths + doInstallCheck = false; # runs the same thing, fails the same tests # The test suite can run in parallel. enableParallelBuilding = true; diff --git a/pkgs/development/tools/misc/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix index 66b0467657a2..4475e58207e7 100644 --- a/pkgs/development/tools/misc/avrdude/default.nix +++ b/pkgs/development/tools/misc/avrdude/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "15m1w1qad3dj7r8n5ng1qqcaiyx1gyd6hnc3p2apgjllccdp77qg"; }; - configureFlags = stdenv.lib.optionalString docSupport "--enable-doc"; + configureFlags = stdenv.lib.optionals docSupport "--enable-doc"; buildInputs = [ yacc flex libusb libelf libftdi1 readline ] ++ stdenv.lib.optionals docSupport [ texLive texinfo texi2html ]; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 890ff7b64a91..3ca9e539ddd8 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -1,6 +1,6 @@ { stdenv, buildPackages , fetchurl, zlib, autoreconfHook264 -, hostPlatform, targetPlatform +, hostPlatform, buildPlatform, targetPlatform , noSysDirs, gold ? true, bison ? null }: @@ -121,6 +121,9 @@ stdenv.mkDerivation rec { doCheck = false; # fails + # else fails with "./sanity.sh: line 36: $out/bin/size: not found" + doInstallCheck = buildPlatform == hostPlatform && hostPlatform == targetPlatform; + enableParallelBuilding = true; passthru = { diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix index 0b86deb52055..d6c8f1f33eec 100644 --- a/pkgs/development/tools/misc/cquery/default.nix +++ b/pkgs/development/tools/misc/cquery/default.nix @@ -5,8 +5,8 @@ let src = fetchFromGitHub { owner = "cquery-project"; repo = "cquery"; - rev = "34b357bc5e873d52d2aa41287c6e138244cea109"; - sha256 = "0i34v30cl73485bzpbis539x0iq9whpv0403ca5a9h6vqwnvdn7c"; + rev = "e17df5b41e5a687559a0b75dba9c0f1f399c4aea"; + sha256 = "06z8bg73jppb4msiqvsjbpz6pawwny831k56w5kcxrjgp22v24s1"; fetchSubmodules = true; }; @@ -15,7 +15,7 @@ let in stdenv.mkDerivation rec { name = "cquery-${version}"; - version = "2018-05-01"; + version = "2018-08-08"; inherit src; @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DSYSTEM_CLANG=ON" "-DCLANG_CXX=ON" + "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12" ]; shell = stdenv.shell; @@ -47,6 +48,10 @@ stdenv.mkDerivation rec { installCheckPhase = '' pushd ${src} $out/bin/cquery --ci --test-unit + + # The integration tests have to be disabled because cquery ignores `--init` + # if they are invoked, which means it won't find the system includes. + #$out/bin/cquery --ci --test-index ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/cquery/wrapper b/pkgs/development/tools/misc/cquery/wrapper index f0bea41536d0..534f900f94af 100644 --- a/pkgs/development/tools/misc/cquery/wrapper +++ b/pkgs/development/tools/misc/cquery/wrapper @@ -1,6 +1,6 @@ #! @shell@ -e -initString="--init={\"extraClangArguments\": [@standard_library_includes@" +initString="--init={\"cacheDirectory\": \"/tmp/cquery\", \"extraClangArguments\": [@standard_library_includes@" if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then read -a cflags_array <<< ${NIX_CFLAGS_COMPILE} diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix index 0b1bbf5f9e4d..67cd321cfd53 100644 --- a/pkgs/development/tools/misc/cscope/default.nix +++ b/pkgs/development/tools/misc/cscope/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "cscope-15.8b"; + name = "cscope-15.9"; src = fetchurl { url = "mirror://sourceforge/cscope/${name}.tar.gz"; - sha256 = "1byk29rcpyygrnr03h5j3y8j0aqxldd9dr5ihi9q982sy28x12a8"; + sha256 = "0ngiv4aj3rr35k3q3wjx0y19gh7i1ydqa0cqip6sjwd8fph5ll65"; }; - configureFlags = "--with-ncurses=${ncurses.dev}"; + configureFlags = [ "--with-ncurses=${ncurses.dev}" ]; buildInputs = [ ncurses ]; nativeBuildInputs = stdenv.lib.optional emacsSupport emacs; diff --git a/pkgs/development/tools/misc/ddd/default.nix b/pkgs/development/tools/misc/ddd/default.nix index 9375dfb20cd8..7238bcdeb6b8 100644 --- a/pkgs/development/tools/misc/ddd/default.nix +++ b/pkgs/development/tools/misc/ddd/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { sha256 = "0p5nx387857w3v2jbgvps2p6mlm0chajcdw5sfrddcglsxkwvmis"; }; buildInputs = [motif ncurses libX11 libXt]; - configureFlags = "--with-x"; + configureFlags = [ "--with-x" ]; patches = [ ./gcc44.patch ]; diff --git a/pkgs/development/tools/misc/dialog/default.nix b/pkgs/development/tools/misc/dialog/default.nix index 591254c73f57..a433c4a338cd 100644 --- a/pkgs/development/tools/misc/dialog/default.nix +++ b/pkgs/development/tools/misc/dialog/default.nix @@ -1,12 +1,9 @@ { stdenv, fetchurl, ncurses , withLibrary ? false, libtool , unicodeSupport ? true +, enableShared ? !stdenv.isDarwin }: -let optStr = stdenv.lib.optionalString; - buildShared = !stdenv.isDarwin; -in - assert withLibrary -> libtool != null; assert unicodeSupport -> ncurses.unicode && ncurses != null; @@ -24,14 +21,14 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - configureFlags = '' - --disable-rpath-hacks - ${optStr withLibrary "--with-libtool"} - --with-libtool-opts=${optStr buildShared "-shared"} - --with-ncurses${optStr unicodeSupport "w"} - ''; + configureFlags = [ + "--disable-rpath-hacks" + (stdenv.lib.withFeature withLibrary "libtool") + "--with-ncurses${stdenv.lib.optionalString unicodeSupport "w"}" + "--with-libtool-opts=${stdenv.lib.optionalString enableShared "-shared"}" + ]; - installTargets = "install${optStr withLibrary "-full"}"; + installTargets = "install${stdenv.lib.optionalString withLibrary "-full"}"; meta = { homepage = http://invisible-island.net/dialog/dialog.html; diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index af140bfb1d65..85adf73ed2ac 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -10,7 +10,11 @@ stdenv.mkDerivation rec { sha256 = "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp"; }; - patches = ./debug-info-from-env.patch; + patches = [ ./debug-info-from-env.patch ]; + + postPatch = '' + patchShebangs tests + ''; hardeningDisable = [ "format" ]; @@ -35,7 +39,7 @@ stdenv.mkDerivation rec { # # I wrote this testing for the nanonote. - buildPhase = if stdenv.hostPlatform == stdenv.buildPlatform then null else '' + buildPhase = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' pushd libebl make popd @@ -50,7 +54,7 @@ stdenv.mkDerivation rec { popd ''; - installPhase = if stdenv.hostPlatform == stdenv.buildPlatform then null else '' + installPhase = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' pushd libelf make install popd @@ -63,6 +67,9 @@ stdenv.mkDerivation rec { cp version.h $out/include ''; + doCheck = false; # fails 3 out of 174 tests + doInstallCheck = false; # fails 70 out of 174 tests + meta = { homepage = https://sourceware.org/elfutils/; description = "A set of utilities to handle ELF objects"; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index b5840d074668..ae59f85a211e 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -18,7 +18,7 @@ let basename = "gdb-${version}"; - version = "8.1"; + version = "8.1.1"; in assert targetPlatform.isHurd -> mig != null && hurd != null; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.xz"; - sha256 = "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg"; + sha256 = "0g6hv9xk12aa58w77fydaldqr9a6b0a6bnwsq87jfc6lkcbc7p4p"; }; patches = [ ./debug-info-from-env.patch ] diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix index 9cd6e2c5e1ac..7e92df1a9978 100644 --- a/pkgs/development/tools/misc/gnum4/default.nix +++ b/pkgs/development/tools/misc/gnum4/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { doCheck = false; - configureFlags = "--with-syscmd-shell=${stdenv.shell}"; + configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ]; # Upstream is aware of it; it may be in the next release. patches = [ ./s_isdir.patch ] ++ stdenv.lib.optional hostPlatform.isDarwin stdenv.secure-format-patch; diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix index f4f72491970c..42da07baca66 100644 --- a/pkgs/development/tools/misc/hydra/default.nix +++ b/pkgs/development/tools/misc/hydra/default.nix @@ -3,11 +3,18 @@ , gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt , guile, perl, postgresql, nukeReferences, git, boehmgc , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar -, rpm, dpkg, cdrkit, pixz }: +, rpm, dpkg, cdrkit, pixz, lib, fetchpatch, boost, autoreconfHook +}: with stdenv; let + isGreaterNix20 = with lib.versions; + let + inherit (nix) version; + inherit (lib) toInt; + in major version == "2" && toInt (minor version) >= 1 || toInt (major version) > 2; + perlDeps = buildEnv { name = "hydra-perl-deps"; paths = with perlPackages; @@ -40,6 +47,7 @@ let FileSlurp IOCompress IPCRun + JSON JSONAny JSONXS LWP @@ -63,15 +71,15 @@ let }; in releaseTools.nixBuild rec { name = "hydra-${version}"; - version = "2017-11-21"; + version = "2018-08-07"; inherit stdenv; src = fetchFromGitHub { owner = "NixOS"; repo = "hydra"; - rev = "b7bc4384b7b471d1ddf892cb03f16189a66d5a0d"; - sha256 = "05g37z3ilazzqa5rqj5zljndwxjbvpc18xibh6jlwjwpvg3kpbbh"; + rev = "4dca8fe14d3f782bdf927f37efce722acefffff3"; + sha256 = "1yas4psmvfp7lhcp81ia2sy93b78j9hiw9a6n3q2m1a616hwpm25"; }; buildInputs = @@ -80,17 +88,24 @@ in releaseTools.nixBuild rec { guile # optional, for Guile + Guix support perlDeps perl nix postgresql # for running the tests - ]; + ] ++ lib.optionals isGreaterNix20 [ boost ]; hydraPath = lib.makeBinPath ( [ sqlite subversion openssh nix coreutils findutils pixz gzip bzip2 lzma gnutar unzip git gitAndTools.topGit mercurial darcs gnused bazaar ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] ); - postUnpack = '' - # Clean up when building from a working tree. - (cd $sourceRoot && (git ls-files -o --directory | xargs -r rm -rfv)) || true - ''; + nativeBuildInputs = [ autoreconfHook ]; + + # adds a patch which ensures compatibility with the API of Nix 2.0. + # it has been reverted in https://github.com/NixOS/hydra/commit/162d671c48a418bd10a8a171ca36787ef3695a44, + # for Nix 2.1/unstable compatibility. Reapplying helps if Nix 2.0 is used to keep the build functional. + patches = lib.optionals (!isGreaterNix20) [ + (fetchpatch { + url = "https://github.com/NixOS/hydra/commit/08de434bdd0b0a22abc2081be6064a6c846d3920.patch"; + sha256 = "0kz77njp5ynn9l81g3q8zrryvnsr06nk3iw0a60187wxqzf5fmf8"; + }) + ]; configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ]; @@ -99,8 +114,6 @@ in releaseTools.nixBuild rec { PERL5LIB=$(pwd)/src/lib:$PERL5LIB; ''; - preConfigure = "autoreconf -vfi"; - enableParallelBuilding = true; preCheck = '' @@ -130,6 +143,6 @@ in releaseTools.nixBuild rec { description = "Nix-based continuous build system"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ domenkozar ]; + maintainers = with maintainers; [ ma27 ]; }; - } +} diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix index d92b20a12b02..a1b358807c4e 100644 --- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix +++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix @@ -1,25 +1,28 @@ { stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev , libX11, libXext, libXv, libXrandr, glib, bison, libunwind, python3, kmod -, procps, utilmacros, gnome2 }: +, procps, utilmacros, gnome2, openssl }: stdenv.mkDerivation rec { - name = "intel-gpu-tools-1.22"; + name = "intel-gpu-tools-${version}"; + version = "1.23"; src = fetchurl { - url = "https://xorg.freedesktop.org/archive/individual/app/${name}.tar.xz"; - sha256 = "0p4swf9577p6hzglw1lh2sz63wjkk37b7691saj2qw8ha7fc2rix"; + url = "https://xorg.freedesktop.org/archive/individual/app/igt-gpu-tools-${version}.tar.xz"; + sha256 = "1l4s95m013p2wvddwr4cjqyvsgmc88zxx2887p1fbb1va5n0hjsd"; }; nativeBuildInputs = [ pkgconfig utilmacros ]; buildInputs = [ libdrm libpciaccess cairo dri2proto udev libX11 kmod libXext libXv libXrandr glib bison libunwind python3 procps - gnome2.gtkdoc ]; + gnome2.gtkdoc openssl ]; preConfigure = '' ./autogen.sh ''; preBuild = '' + patchShebangs tests + patchShebangs debugger/system_routine/pre_cpp.py substituteInPlace tools/Makefile.am --replace '$(CAIRO_CFLAGS)' '$(CAIRO_CFLAGS) $(GLIB_CFLAGS)' substituteInPlace tests/Makefile.am --replace '$(CAIRO_CFLAGS)' '$(CAIRO_CFLAGS) $(GLIB_CFLAGS)' diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 39ec46ffbfdd..df24f6003d7f 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { setupHook = [ ./setup-hook.sh ]; - #doCheck = true; # problems when loading libc.so.6 + doCheck = false; # fails 8 out of 24 tests, problems when loading libc.so.6 meta = { homepage = https://nixos.org/patchelf.html; diff --git a/pkgs/development/tools/misc/rman/default.nix b/pkgs/development/tools/misc/rman/default.nix index 702dabcf3955..8093846780d2 100644 --- a/pkgs/development/tools/misc/rman/default.nix +++ b/pkgs/development/tools/misc/rman/default.nix @@ -8,7 +8,12 @@ stdenv.mkDerivation { sha256 = "0prdld6nbkdlkcgc2r1zp13h2fh8r0mlwxx423dnc695ddlk18b8"; }; - makeFlags = "BINDIR=$(out)/bin MANDIR=$(out)/share/man"; + postPatch = '' + substituteInPlace Makefile \ + --replace ginstall install + ''; + + makeFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/share/man" ]; preInstall = '' mkdir -p $out/bin @@ -17,6 +22,8 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; + doCheck = false; # "check" target is probably meant to do "installcheck" or something + meta = { description = "Parse formatted man pages and man page source from most flavors of UNIX and converts them to HTML, ASCII, TkMan, DocBook, and other formats"; license = "artistic"; diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix index 94a452ce0836..a76a180741ef 100644 --- a/pkgs/development/tools/misc/srecord/default.nix +++ b/pkgs/development/tools/misc/srecord/default.nix @@ -10,8 +10,9 @@ stdenv.mkDerivation rec { buildInputs = [ boost libtool groff ghostscript libgcrypt ]; - configureFlags = stdenv.lib.optionalString - (libgcrypt == null) "--without-gcrypt"; + configureFlags = [ + (stdenv.lib.optional (libgcrypt == null) "--without-gcrypt") + ]; meta = with stdenv.lib; { description = "Collection of powerful tools for manipulating EPROM load files"; diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index a5fd8f5cf64d..1e449d722c35 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "strace-${version}"; - version = "4.23"; + version = "4.24"; src = fetchurl { url = "https://strace.io/files/${version}/${name}.tar.xz"; - sha256 = "1bcsq2gbpcb81ayryvn56a6kjx42fc21la6qgds35n0xbybacq3q"; + sha256 = "0d061cdzk6a1822ds4wpqxg10ny27mi4i9zjmnsbz8nz3vy5jkhz"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { configureFlags = stdenv.lib.optional (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) "--enable-mpers=check"; + # fails 1 out of 523 tests with + # "strace-k.test: failed test: ../../strace -e getpid -k ../stack-fcall output mismatch" + doCheck = false; + meta = with stdenv.lib; { homepage = https://strace.io/; description = "A system call tracer for Linux"; diff --git a/pkgs/development/tools/misc/swig/2.x.nix b/pkgs/development/tools/misc/swig/2.x.nix index 6dbaca26c818..acf1988c947d 100644 --- a/pkgs/development/tools/misc/swig/2.x.nix +++ b/pkgs/development/tools/misc/swig/2.x.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake libtool bison ]; buildInputs = [ pcre ]; - configureFlags = "--without-tcl"; + configureFlags = [ "--without-tcl" ]; postPatch = '' # Disable ccache documentation as it need yodl diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix index 48a2e7bd2cb1..077d037aa97f 100644 --- a/pkgs/development/tools/misc/swig/3.x.nix +++ b/pkgs/development/tools/misc/swig/3.x.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake libtool bison ]; buildInputs = [ pcre ]; - configureFlags = "--without-tcl"; + configureFlags = [ "--without-tcl" ]; postPatch = '' # Disable ccache documentation as it need yodl diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix index e10fd25d046f..cfd1c7728cb2 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # 'make check' uses boost and tcl buildInputs = stdenv.lib.optionals doCheck [ boost tcl ]; - configureFlags = "--disable-ccache"; + configureFlags = [ "--disable-ccache" ]; meta = { description = "Interface compiler that connects C/C++ code to higher-level languages"; diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index 12534297ff3d..101298cd3052 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { buildInputs = [ xz.bin ] ++ optionals stdenv.isSunOS [ libiconv gawk ] - ++ optionals interactive [ ncurses procps ]; + ++ optional interactive ncurses; configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ] ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk"; @@ -33,6 +33,8 @@ stdenv.mkDerivation rec { installTargets="install install-tex"; ''; + checkInputs = [ procps ]; + doCheck = interactive && !stdenv.isDarwin && !stdenv.isSunOS; # flaky diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix index 6840bcac0dc5..90c377c4472f 100644 --- a/pkgs/development/tools/nwjs/default.nix +++ b/pkgs/development/tools/nwjs/default.nix @@ -30,13 +30,13 @@ let in stdenv.mkDerivation rec { name = "nwjs-${version}"; - version = "0.23.6"; + version = "0.32.2"; src = fetchurl { url = "https://dl.nwjs.io/v${version}/nwjs-v${version}-linux-${bits}.tar.gz"; sha256 = if bits == "x64" then - "0ppyjspdvacarhdn4xd5i1pqgmf4z1bxnh1cry780489h25rcjgj" else - "0c0j73vnzhsry5rdx41d954a29jmjnvzli728cfbjybfr51zdybg"; + "0f0p17mbr24zhzm2cf77ddy6yj4k0k181dzf4gxdf8szd5vxpliy" else + "0a3b712abfa0c3e7e808b1d08ea5d53375a71060e7d144fdcb58c4fe88fa2250"; }; phases = [ "unpackPhase" "installPhase" ]; diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix index 31cd7ccfd2c0..da88a09d7719 100644 --- a/pkgs/development/tools/ocaml/camlp5/default.nix +++ b/pkgs/development/tools/ocaml/camlp5/default.nix @@ -6,11 +6,11 @@ in stdenv.mkDerivation { - name = "camlp5${if transitional then "_transitional" else ""}-7.05"; + name = "camlp5${if transitional then "_transitional" else ""}-7.06"; src = fetchzip { - url = https://github.com/camlp5/camlp5/archive/rel705.tar.gz; - sha256 = "16igfyjl2jja4f1mibjfzk0c2jr09nxsz6lb63x1jkccmy6430q2"; + url = https://github.com/camlp5/camlp5/archive/rel706.tar.gz; + sha256 = "02zg6qjkzx58zmp79364s5jyqhh56nclcz1jzhh53hk37g9f96qf"; }; buildInputs = [ ocaml ]; diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix index 142a30eba8da..c30478132cf2 100644 --- a/pkgs/development/tools/ocaml/jbuilder/default.nix +++ b/pkgs/development/tools/ocaml/jbuilder/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "jbuilder-${version}"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "ocaml"; repo = "dune"; rev = "${version}"; - sha256 = "08gb7l2rrfrsqvigna1cvvphww80zlvj7lqvaj4m4y9llanmnxcg"; + sha256 = "0k6r9qrbwlnb4rqwqys5fr7khwza7n7d8wpgl9jbb3xpag2zl3q9"; }; buildInputs = with ocamlPackages; [ ocaml findlib ]; diff --git a/pkgs/development/tools/ocaml/obuild/default.nix b/pkgs/development/tools/ocaml/obuild/default.nix index 1de95f730372..41cde6f8ab73 100644 --- a/pkgs/development/tools/ocaml/obuild/default.nix +++ b/pkgs/development/tools/ocaml/obuild/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchzip, ocaml }: -let version = "0.1.8"; in +let version = "0.1.10"; in stdenv.mkDerivation { name = "obuild-${version}"; src = fetchzip { url = "https://github.com/ocaml-obuild/obuild/archive/obuild-v${version}.tar.gz"; - sha256 = "1q1k2qqd08j1zakvydgvwgwpyn0ll7rs65gap0pvg3amnh5cp3wd"; + sha256 = "15arsgbhk1c39vd8qhpa3pag94m44bwvzggdvkibx6hnpkv8z9bn"; }; buildInputs = [ ocaml ]; diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix index 73b7da119abe..7e84719ae47d 100644 --- a/pkgs/development/tools/ocaml/opam/default.nix +++ b/pkgs/development/tools/ocaml/opam/default.nix @@ -87,5 +87,6 @@ in stdenv.mkDerivation rec { homepage = http://opam.ocamlpro.com/; maintainers = [ maintainers.henrytill ]; platforms = platforms.all; + license = licenses.lgpl21Plus; }; } diff --git a/pkgs/development/tools/parsing/antlr/2.7.7.nix b/pkgs/development/tools/parsing/antlr/2.7.7.nix index cafb076aa811..0c67baa96010 100644 --- a/pkgs/development/tools/parsing/antlr/2.7.7.nix +++ b/pkgs/development/tools/parsing/antlr/2.7.7.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, jdk, python}: +{ stdenv, fetchurl, jdk, python2 }: stdenv.mkDerivation { name = "antlr-2.7.7"; @@ -7,7 +7,8 @@ stdenv.mkDerivation { sha256 = "1ffvcwdw73id0dk6pj2mlxjvbg0662qacx4ylayqcxgg381fnfl5"; }; patches = [ ./2.7.7-fixes.patch ]; - buildInputs = [jdk python]; + buildInputs = [ jdk ]; + nativeBuildInputs = [ python2 ]; meta = with stdenv.lib; { description = "Powerful parser generator"; @@ -19,6 +20,7 @@ stdenv.mkDerivation { walk parse trees. ''; homepage = http://www.antlr.org/; + license = licenses.bsd3; platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/parsing/antlr/3.4.nix b/pkgs/development/tools/parsing/antlr/3.4.nix index c892b8fa8eab..8074b7c35ad9 100644 --- a/pkgs/development/tools/parsing/antlr/3.4.nix +++ b/pkgs/development/tools/parsing/antlr/3.4.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; unpackPhase = "true"; - + installPhase = '' mkdir -p "$out"/{lib/antlr,bin} cp "$src" "$out/lib/antlr/antlr-${version}-complete.jar" @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { walk parse trees. ''; homepage = http://www.antlr.org/; + license = licenses.bsd3; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/tools/parsing/antlr/3.5.nix b/pkgs/development/tools/parsing/antlr/3.5.nix index 030a19e99405..35179b336026 100644 --- a/pkgs/development/tools/parsing/antlr/3.5.nix +++ b/pkgs/development/tools/parsing/antlr/3.5.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; unpackPhase = "true"; - + installPhase = '' mkdir -p "$out"/{lib/antlr,bin} cp "$src" "$out/lib/antlr/antlr-${version}-complete.jar" @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { walk parse trees. ''; homepage = http://www.antlr.org/; + license = licenses.bsd3; platforms = platforms.linux; }; } diff --git a/pkgs/development/tools/parsing/antlr/4.7.nix b/pkgs/development/tools/parsing/antlr/4.7.nix index e097b5b3d5a5..1ebf7d7dfe24 100644 --- a/pkgs/development/tools/parsing/antlr/4.7.nix +++ b/pkgs/development/tools/parsing/antlr/4.7.nix @@ -1,41 +1,81 @@ -{stdenv, fetchurl, jre}: +{ stdenv, fetchurl, jre +, fetchFromGitHub, cmake, ninja, pkgconfig, libuuid, darwin }: -stdenv.mkDerivation rec { - name = "antlr-${version}"; +let version = "4.7.1"; - src = fetchurl { - url ="https://www.antlr.org/download/antlr-${version}-complete.jar"; - sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl"; + source = fetchFromGitHub { + owner = "antlr"; + repo = "antlr4"; + rev = version; + sha256 = "1xb4d9bd4hw406v85s64gg8gwcrrsrw171vhga1gz4xj6pzfwxz7"; }; - unpackPhase = "true"; - - installPhase = '' - mkdir -p "$out"/{share/java,bin} - cp "$src" "$out/share/java/antlr-${version}-complete.jar" - - echo "#! ${stdenv.shell}" >> "$out/bin/antlr" - echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr" - - echo "#! ${stdenv.shell}" >> "$out/bin/grun" - echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun" - - chmod a+x "$out/bin/antlr" "$out/bin/grun" - ln -s "$out/bin/antlr"{,4} - ''; - - inherit jre; - - meta = with stdenv.lib; { - description = "Powerful parser generator"; - longDescription = '' - ANTLR (ANother Tool for Language Recognition) is a powerful parser - generator for reading, processing, executing, or translating structured - text or binary files. It's widely used to build languages, tools, and - frameworks. From a grammar, ANTLR generates a parser that can build and - walk parse trees. + runtime = { + cpp = stdenv.mkDerivation { + name = "antlr-runtime-cpp-${version}"; + src = source; + + outputs = [ "out" "dev" "doc" ]; + + nativeBuildInputs = [ cmake ninja pkgconfig ]; + buildInputs = stdenv.lib.optional stdenv.isLinux libuuid + ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation; + + postUnpack = '' + export sourceRoot=$sourceRoot/runtime/Cpp + ''; + + meta = with stdenv.lib; { + description = "C++ target for ANTLR 4"; + homepage = http://www.antlr.org/; + license = licenses.bsd3; + platforms = platforms.unix; + }; + }; + }; + + antlr = stdenv.mkDerivation { + name = "antlr-${version}"; + src = fetchurl { + url ="https://www.antlr.org/download/antlr-${version}-complete.jar"; + sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl"; + }; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p "$out"/{share/java,bin} + cp "$src" "$out/share/java/antlr-${version}-complete.jar" + + echo "#! ${stdenv.shell}" >> "$out/bin/antlr" + echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr" + + echo "#! ${stdenv.shell}" >> "$out/bin/grun" + echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun" + + chmod a+x "$out/bin/antlr" "$out/bin/grun" + ln -s "$out/bin/antlr"{,4} ''; - homepage = http://www.antlr.org/; - platforms = platforms.unix; + + inherit jre; + + passthru = { + inherit runtime; + jarLocation = "${antlr}/share/java/antlr-${version}-complete.jar"; + }; + + meta = with stdenv.lib; { + description = "Powerful parser generator"; + longDescription = '' + ANTLR (ANother Tool for Language Recognition) is a powerful parser + generator for reading, processing, executing, or translating structured + text or binary files. It's widely used to build languages, tools, and + frameworks. From a grammar, ANTLR generates a parser that can build and + walk parse trees. + ''; + homepage = http://www.antlr.org/; + license = licenses.bsd3; + platforms = platforms.unix; + }; }; -} +in antlr diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix index 071ad9332914..019c154a6b76 100644 --- a/pkgs/development/tools/parsing/bison/2.x.nix +++ b/pkgs/development/tools/parsing/bison/2.x.nix @@ -8,8 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0c9li3iaslzzr3zig6m3zlmb4r8i0wfvkcrvdyiqxasb09mjkqh8"; }; - nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl; + nativeBuildInputs = [ m4 ]; propagatedBuildInputs = [ m4 ]; + checkInputs = [ perl ]; patches = lib.optional stdenv.isDarwin ./darwin-vasnprintf.patch; diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix index 1062a361413c..7e09b0a8cd38 100644 --- a/pkgs/development/tools/parsing/flex/2.5.35.nix +++ b/pkgs/development/tools/parsing/flex/2.5.35.nix @@ -8,6 +8,10 @@ stdenv.mkDerivation rec { sha256 = "0wh06nix8bd4w1aq4k2fbbkdq5i30a9lxz3xczf3ff28yy0kfwzm"; }; + postPatch = '' + patchShebangs tests + ''; + nativeBuildInputs = [ flex bison texinfo help2man autoreconfHook ]; propagatedBuildInputs = [ m4 ]; @@ -17,10 +21,13 @@ stdenv.mkDerivation rec { "ac_cv_func_realloc_0_nonnull=yes" ]; - meta = { + doCheck = false; # fails 2 out of 46 tests + + meta = with stdenv.lib; { branch = "2.5.35"; homepage = http://flex.sourceforge.net/; description = "A fast lexical analyser generator"; - platforms = stdenv.lib.platforms.unix; + license = licenses.bsd2; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/parsing/flex/2.6.1.nix b/pkgs/development/tools/parsing/flex/2.6.1.nix index 954c2bbcb245..3a46c6c8f01e 100644 --- a/pkgs/development/tools/parsing/flex/2.6.1.nix +++ b/pkgs/development/tools/parsing/flex/2.6.1.nix @@ -8,6 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0fy14c35yz2m1n1m4f02by3501fn0cca37zn7jp8lpp4b3kgjhrw"; }; + postPatch = '' + patchShebangs tests + '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + substituteInPlace Makefile.in --replace "tests" " "; + ''; + buildInputs = [ bison ]; propagatedBuildInputs = [ m4 ]; @@ -21,14 +27,10 @@ stdenv.mkDerivation rec { sed -i Makefile -e 's/-no-undefined//;' ''; - # disable tests which can't run on build machine - postPatch = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - substituteInPlace Makefile.in --replace "tests" " "; - ''; - - meta = { + meta = with stdenv.lib; { homepage = https://github.com/westes/flex; description = "A fast lexical analyser generator"; - platforms = stdenv.lib.platforms.unix; + license = licenses.bsd2; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 17323a06cc18..d7d27ac9a1cd 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -19,7 +19,10 @@ stdenv.mkDerivation rec { + "/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch"; sha256 = "1aarhcmz7mfrgh15pkj6f7ikxa2m0mllw1i1vscsf1kw5d05lw6f"; })]; - postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + + postPatch = '' + patchShebangs tests + '' + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' substituteInPlace Makefile.in --replace "tests" " " substituteInPlace doc/Makefile.am --replace 'flex.1: $(top_srcdir)/configure.ac' 'flex.1: ' @@ -30,10 +33,10 @@ stdenv.mkDerivation rec { buildInputs = [ bison ]; propagatedBuildInputs = [ m4 ]; - preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - export ac_cv_func_malloc_0_nonnull=yes - export ac_cv_func_realloc_0_nonnull=yes - ''; + preConfigure = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; postConfigure = stdenv.lib.optionalString (stdenv.isDarwin || stdenv.isCygwin) '' sed -i Makefile -e 's/-no-undefined//;' @@ -41,9 +44,10 @@ stdenv.mkDerivation rec { dontDisableStatic = stdenv.buildPlatform != stdenv.hostPlatform; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/westes/flex; description = "A fast lexical analyser generator"; - platforms = stdenv.lib.platforms.unix; + license = licenses.bsd2; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix index da1bcced32ec..1d0545f6889e 100644 --- a/pkgs/development/tools/parsing/re2c/default.nix +++ b/pkgs/development/tools/parsing/re2c/default.nix @@ -15,6 +15,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; + preCheck = '' + patchShebangs run_tests.sh + ''; + meta = with stdenv.lib; { description = "Tool for writing very fast and very flexible scanners"; homepage = "http://re2c.org"; diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix index 6087400af5be..0b2b49717645 100644 --- a/pkgs/development/tools/profiling/oprofile/default.nix +++ b/pkgs/development/tools/profiling/oprofile/default.nix @@ -8,11 +8,11 @@ assert withGUI -> qt4 != null; stdenv.mkDerivation rec { - name = "oprofile-1.2.0"; + name = "oprofile-1.3.0"; src = fetchurl { url = "mirror://sourceforge/oprofile/${name}.tar.gz"; - sha256 = "0zd5ih6gmm1pkqavd9laa93iff7qv5jkbfjznhlyxl5p826gk5gb"; + sha256 = "1rj76vvkhpfn9k04s7jhb813ximfcwd9h5gh18pr4fgcw6yxiplm"; }; postPatch = '' diff --git a/pkgs/development/tools/profiling/pprof/default.nix b/pkgs/development/tools/profiling/pprof/default.nix index f506db32d9a2..9130f31f21d3 100644 --- a/pkgs/development/tools/profiling/pprof/default.nix +++ b/pkgs/development/tools/profiling/pprof/default.nix @@ -2,16 +2,16 @@ { stdenv, buildGoPackage, fetchgit }: buildGoPackage rec { - name = "pprof-${version}"; - version = "2017-08-28"; - rev = "d19a98b9bcec464f178b20da0f936cef7e15462e"; + name = "pprof-unstable-${version}"; + version = "2018-08-15"; + rev = "781f11b1fcf71fae9d185e7189b5e686f575075a"; goPackagePath = "github.com/google/pprof"; src = fetchgit { inherit rev; url = "git://github.com/google/pprof"; - sha256 = "0wh589fndvvidisy0jy19y0ykw4l05paqd53s8kli7h9zdcl11gq"; + sha256 = "1nvzwcj6h4q0lsjlri3bym4axgv848w3xz57iz5p0wz9lcd5jsmf"; }; goDeps = ./deps.nix; diff --git a/pkgs/development/tools/profiling/pprof/deps.nix b/pkgs/development/tools/profiling/pprof/deps.nix index f8bd466423c3..e76f6367996b 100644 --- a/pkgs/development/tools/profiling/pprof/deps.nix +++ b/pkgs/development/tools/profiling/pprof/deps.nix @@ -1,12 +1,21 @@ # This file was generated by https://github.com/kamilchm/go2nix v1.2.1 [ { + goPackagePath = "github.com/chzyer/readline"; + fetch = { + type = "git"; + url = "https://github.com/chzyer/readline"; + rev = "2972be24d48e78746da79ba8e24e8b488c9880de"; + sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r"; + }; + } + { goPackagePath = "github.com/ianlancetaylor/demangle"; fetch = { type = "git"; url = "https://github.com/ianlancetaylor/demangle"; - rev = "4883227f66371e02c4948937d3e2be1664d9be38"; - sha256 = "1yj7c9i1sg26fyx6cmz87x3qh71rldkl6h87x5gysqzipm9jg54l"; + rev = "fcd258a6f0b45dc345a407ee5568cf9a4d24a0ae"; + sha256 = "10hdzq6n4mb13g8ddqvwjwx14djfyxhh0gjc888vdihzvhyqhvrp"; }; } ] diff --git a/pkgs/development/tools/puppet/puppet-lint/Gemfile b/pkgs/development/tools/puppet/puppet-lint/Gemfile new file mode 100644 index 000000000000..105049819129 --- /dev/null +++ b/pkgs/development/tools/puppet/puppet-lint/Gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "puppet-lint" diff --git a/pkgs/development/tools/puppet/puppet-lint/Gemfile.lock b/pkgs/development/tools/puppet/puppet-lint/Gemfile.lock new file mode 100644 index 000000000000..8c5d369fb371 --- /dev/null +++ b/pkgs/development/tools/puppet/puppet-lint/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + puppet-lint (2.3.6) + +PLATFORMS + ruby + +DEPENDENCIES + puppet-lint + +BUNDLED WITH + 1.16.3 diff --git a/pkgs/development/tools/puppet/puppet-lint/default.nix b/pkgs/development/tools/puppet/puppet-lint/default.nix new file mode 100644 index 000000000000..2940605b1b08 --- /dev/null +++ b/pkgs/development/tools/puppet/puppet-lint/default.nix @@ -0,0 +1,7 @@ +{ bundlerApp }: + +bundlerApp { + pname = "puppet-lint"; + gemdir = ./.; + exes = [ "puppet-lint" ]; +} diff --git a/pkgs/development/tools/puppet/puppet-lint/gemset.nix b/pkgs/development/tools/puppet/puppet-lint/gemset.nix new file mode 100644 index 000000000000..86d18b0c554c --- /dev/null +++ b/pkgs/development/tools/puppet/puppet-lint/gemset.nix @@ -0,0 +1,10 @@ +{ + puppet-lint = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wyk2l440d96ps3x127r52n51kqpqi2nzb3xlg92qn6aksqhnkis"; + type = "gem"; + }; + version = "2.3.6"; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/qtcreator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch b/pkgs/development/tools/qtcreator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch new file mode 100644 index 000000000000..84e268712912 --- /dev/null +++ b/pkgs/development/tools/qtcreator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch @@ -0,0 +1,94 @@ +From c6d02dba2911d93e2379cfb5e550b93558dd51bf Mon Sep 17 00:00:00 2001 +From: Greg Nietsky <gregory@distrotech.co.za> +Date: Tue, 4 Mar 2014 11:33:40 +0200 +Subject: [PATCH] Fix: Allow qt-creator to build on arm aarch32 and aarch64 + +Botan is imported hardwired for x86 this small patch allows it +too operate on arm other platforms could be added. + +Task-number: QTCREATORBUG-8107 +Change-Id: Iddea28f21c9fa1afd2fdd5d16a44e6c96a516a7a +--- + src/libs/3rdparty/botan/botan.cpp | 16 +++++++++++++++- + src/libs/3rdparty/botan/botan.h | 2 ++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp +index 917c385..4364a2e 100644 +--- a/src/libs/3rdparty/botan/botan.cpp ++++ b/src/libs/3rdparty/botan/botan.cpp +@@ -1101,6 +1101,8 @@ class Montgomery_Exponentiator : public Modular_Exponentiator + + #if (BOTAN_MP_WORD_BITS != 32) + #error The mp_x86_32 module requires that BOTAN_MP_WORD_BITS == 32 ++#elif !defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) ++typedef Botan::u64bit dword; + #endif + + #ifdef Q_OS_UNIX +@@ -1118,6 +1120,7 @@ extern "C" { + */ + inline word word_madd2(word a, word b, word* c) + { ++#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + asm( + ASM("mull %[b]") + ASM("addl %[c],%[a]") +@@ -1127,6 +1130,11 @@ inline word word_madd2(word a, word b, word* c) + : "0"(a), "1"(b), [c]"g"(*c) : "cc"); + + return a; ++#else ++ dword z = (dword)a * b + *c; ++ *c = (word)(z >> BOTAN_MP_WORD_BITS); ++ return (word)z; ++#endif + } + + /* +@@ -1134,6 +1142,7 @@ inline word word_madd2(word a, word b, word* c) + */ + inline word word_madd3(word a, word b, word c, word* d) + { ++#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + asm( + ASM("mull %[b]") + +@@ -1147,6 +1156,11 @@ inline word word_madd3(word a, word b, word c, word* d) + : "0"(a), "1"(b), [c]"g"(c), [d]"g"(*d) : "cc"); + + return a; ++#else ++ dword z = (dword)a * b + c + *d; ++ *d = (word)(z >> BOTAN_MP_WORD_BITS); ++ return (word)z; ++#endif + } + + } +@@ -2315,7 +2329,7 @@ namespace Botan { + + extern "C" { + +-#ifdef Q_OS_UNIX ++#if defined(Q_OS_UNIX) && defined(BOTAN_TARGET_CPU_IS_X86_FAMILY) + /* + * Helper Macros for x86 Assembly + */ +diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h +index 6a9cbe0..3bfdbc2 100644 +--- a/src/libs/3rdparty/botan/botan.h ++++ b/src/libs/3rdparty/botan/botan.h +@@ -81,7 +81,9 @@ + #endif + + #define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN ++#if !defined(__arm__) && !defined(__aarch64__) + #define BOTAN_TARGET_CPU_IS_X86_FAMILY ++#endif + #define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 1 + + #if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) || \ +-- +2.3.0 + diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix index 38d385d1d553..1f0e8795dd6b 100644 --- a/pkgs/development/tools/qtcreator/default.nix +++ b/pkgs/development/tools/qtcreator/default.nix @@ -23,6 +23,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qmake makeWrapper ]; + patches = optional (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) ./0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch; + doCheck = true; enableParallelBuilding = true; @@ -55,6 +57,6 @@ stdenv.mkDerivation rec { homepage = https://wiki.qt.io/Category:Tools::QtCreator; license = "LGPL"; maintainers = [ maintainers.akaWolf ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" ]; }; } diff --git a/pkgs/development/tools/quicktemplate/default.nix b/pkgs/development/tools/quicktemplate/default.nix index 624866ea9e37..e66500ac8339 100644 --- a/pkgs/development/tools/quicktemplate/default.nix +++ b/pkgs/development/tools/quicktemplate/default.nix @@ -1,20 +1,19 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -{ stdenv, buildGoPackage, fetchgit }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "quicktemplate-unstable-${version}"; version = "2018-04-30"; - rev = "a91e0946457b6583004fbfc159339b8171423aed"; - goPackagePath = "github.com/valyala/quicktemplate"; + goDeps = ./deps.nix; - src = fetchgit { - inherit rev; - url = "https://github.com/valyala/quicktemplate"; + src = fetchFromGitHub { + owner = "valyala"; + repo = "quicktemplate"; + rev = "a91e0946457b6583004fbfc159339b8171423aed"; sha256 = "1z89ang5pkq5qs5b2nwhzyrw0zjlsas539l9kix374fhka49n8yc"; }; - goDeps = ./deps.nix; + enableParallelBuilding = true; meta = with stdenv.lib; { homepage = "https://github.com/valyala/quicktemplate"; diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix index 775b744f8398..a1b9090417c1 100644 --- a/pkgs/development/tools/react-native-debugger/default.nix +++ b/pkgs/development/tools/react-native-debugger/default.nix @@ -38,11 +38,11 @@ let ]; in stdenv.mkDerivation rec { name = "react-native-debugger-${version}"; - version = "0.7.18"; + version = "0.7.20"; src = fetchurl { url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip"; - sha256 = "186n438sy9wzrx2zdw4qq4hsz89wiy01bpfa6fdjisvxgz6r8sgw"; + sha256 = "0nd707plj2c96g0dl976dv8b6dlfh12pdqrmxvp0qc2m2j6y9vig"; }; buildInputs = [ unzip ]; diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix index 0dcc1287791d..c3040ec567c7 100644 --- a/pkgs/development/tools/rust/cbindgen/default.nix +++ b/pkgs/development/tools/rust/cbindgen/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { name = "rust-cbindgen-${version}"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "eqrion"; repo = "cbindgen"; rev = "v${version}"; - sha256 = "03qzqy3indqghqy7rnli1zrrlnyfkygxjpb2s7041cik54kf2krw"; + sha256 = "0hifmn9578cf1r5m4ajazg3rhld2ybd2v48xz04vfhappkarv4w2"; }; cargoSha256 = "0c3xpzff8jldqbn5a25yy6c2hlz5xy636ml6sj5d24wzcgwg5a2i"; diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index a2cd55f52b90..238c3bc704d0 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -6,12 +6,12 @@ let allSpecs = { "x86_64-linux" = { system = "linux64"; - sha256 = "07b39j1glr53yxbbkkkkx12h8r44fybqkn4fd7s2lr1ysyq5vn1a"; + sha256 = "1iwmdkkxfmmiqzvj2bjh98db6j6zfb8s2m5kq15wmnq0g44gxski"; }; "x86_64-darwin" = { system = "mac64"; - sha256 = "11hs4mmlvxjaanq41h0dljj4sff0lfwk31svvdmzfg91idlikpsz"; + sha256 = "1blp4ig5fm6ar8mxm78dc2gvv7n82mq3kqswbyjrcizl91qs4cpx"; }; }; @@ -28,7 +28,7 @@ let in stdenv.mkDerivation rec { name = "chromedriver-${version}"; - version = "2.40"; + version = "2.41"; src = fetchurl { url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip"; diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix index d1b1c84a3136..4acfa4a2b0ed 100644 --- a/pkgs/development/tools/sqsh/default.nix +++ b/pkgs/development/tools/sqsh/default.nix @@ -34,6 +34,7 @@ in stdenv.mkDerivation rec { it is intended as a replacement for the venerable 'isql' program supplied by Sybase. ''; + license = licenses.gpl2; homepage = https://sourceforge.net/projects/sqsh/; platforms = platforms.all; }; diff --git a/pkgs/development/tools/toxiproxy/default.nix b/pkgs/development/tools/toxiproxy/default.nix index 10a27e2e3b88..565ec7904f18 100644 --- a/pkgs/development/tools/toxiproxy/default.nix +++ b/pkgs/development/tools/toxiproxy/default.nix @@ -22,5 +22,6 @@ buildGoPackage rec { meta = { description = "Proxy for for simulating network conditions."; maintainers = with lib.maintainers; [ avnik ]; + license = lib.licenses.mit; }; } diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix index 9dbdcfaa8aab..2f5552945714 100644 --- a/pkgs/development/tools/wp-cli/default.nix +++ b/pkgs/development/tools/wp-cli/default.nix @@ -2,11 +2,11 @@ let name = "wp-cli-${version}"; - version = "1.5.1"; + version = "2.0.0"; src = fetchurl { url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar"; - sha256 = "1lnjbl6rcv32g6akj4552ncyqmbsawmx1dnbmxr0rjj7wr8484f1"; + sha256 = "1s8pv8vdjwiwknpwsxc59l1zxc2np7nrp6bjd0s8jwsrv5fgjzsp"; }; completion = fetchurl { @@ -36,9 +36,7 @@ in stdenv.mkDerivation rec { inherit name version; buildCommand = '' - mkdir -p $out/{bin,share/bash-completion/completions} - - ln -s ${bin} $out/bin/wp + install -Dm755 ${bin} $out/bin/wp install -Dm644 ${completion} $out/share/bash-completion/completions/wp # this is a very basic run test diff --git a/pkgs/development/tools/xcbuild/platforms.nix b/pkgs/development/tools/xcbuild/platforms.nix index bc60af9e1a5c..e20dc878b535 100644 --- a/pkgs/development/tools/xcbuild/platforms.nix +++ b/pkgs/development/tools/xcbuild/platforms.nix @@ -294,8 +294,7 @@ runCommand "Platforms" {} '' install -D ${writeText "PackageTypes.xcspec" (toPlist {} PackageTypes)} $platform/Developer/Library/Xcode/Specifications/PackageTypes.xcspec install -D ${writeText "ProductTypes.xcspec" (toPlist {} ProductTypes)} $platform/Developer/Library/Xcode/Specifications/ProductTypes.xcspec - # per-platform bins go here - mkdir -p $platform/usr/bin + ln -s $platform $platform/usr mkdir -p $platform/Developer ln -s ${sdks} $platform/Developer/SDKs diff --git a/pkgs/development/tools/xcbuild/sdks.nix b/pkgs/development/tools/xcbuild/sdks.nix index b0af26e87c12..74192d9c6744 100644 --- a/pkgs/development/tools/xcbuild/sdks.nix +++ b/pkgs/development/tools/xcbuild/sdks.nix @@ -1,4 +1,5 @@ -{ runCommand, lib, toolchainName, sdkName, writeText, version, xcodePlatform }: +{ stdenv, runCommand, lib, toolchainName, sdkName +, writeText, version, xcodePlatform, libcxx, symlinkJoin }: let inherit (lib.generators) toPlist; @@ -18,11 +19,11 @@ let }; in -runCommand "SDKs" { - inherit version; -} '' +runCommand "SDKs" {} '' sdk=$out/${sdkName}.sdk install -D ${writeText "SDKSettings.plist" (toPlist {} SDKSettings)} $sdk/SDKSettings.plist install -D ${writeText "SystemVersion.plist" (toPlist {} SystemVersion)} $sdk/System/Library/CoreServices/SystemVersion.plist + ln -s $sdk $sdk/usr + ln -s $sdk $out/${xcodePlatform}.sdk '' diff --git a/pkgs/development/tools/xcbuild/toolchains.nix b/pkgs/development/tools/xcbuild/toolchains.nix index 01a8fbdb0b06..59e009a43386 100644 --- a/pkgs/development/tools/xcbuild/toolchains.nix +++ b/pkgs/development/tools/xcbuild/toolchains.nix @@ -1,4 +1,4 @@ -{ runCommand, toolchainName, fetchurl, makeWrapper, stdenv +{ runCommand, toolchainName, fetchurl, stdenv , buildPackages, lib, writeText }: let @@ -20,52 +20,52 @@ let }; in -runCommand "Toolchains" { - nativeBuildInputs = [ makeWrapper ]; -} ('' +runCommand "Toolchains" {} ('' toolchain=$out/XcodeDefault.xctoolchain mkdir -p $toolchain install -D ${writeText "ToolchainInfo.plist" (toPlist {} ToolchainInfo)} $toolchain/ToolchainInfo.plist - mkdir -p $toolchain/usr/include - mkdir -p $toolchain/usr/lib - mkdir -p $toolchain/usr/libexec - mkdir -p $toolchain/usr/share - mkdir -p $toolchain/usr/bin + ln -s $toolchain $toolchain/usr + + mkdir -p $toolchain/include + mkdir -p $toolchain/lib + mkdir -p $toolchain/libexec + mkdir -p $toolchain/share + mkdir -p $toolchain/bin for bin in ${getBin stdenv.cc}/bin/*; do - ln -s $bin $toolchain/usr/bin + ln -s $bin $toolchain/bin done for bin in ${getBin stdenv.cc.bintools.bintools}/bin/*; do - if ! [ -e "$toolchain/usr/bin/$(basename $bin)" ]; then - ln -s $bin $toolchain/usr/bin + if ! [ -e "$toolchain/bin/$(basename $bin)" ]; then + ln -s $bin $toolchain/bin fi done - ln -s ${buildPackages.yacc}/bin/yacc $toolchain/usr/bin/yacc - ln -s ${buildPackages.yacc}/bin/bison $toolchain/usr/bin/bison - ln -s ${buildPackages.flex}/bin/flex $toolchain/usr/bin/flex - ln -s ${buildPackages.flex}/bin/flex++ $toolchain/usr/bin/flex++ - ln -s $toolchain/bin/flex $toolchain/usr/bin/lex + ln -s ${buildPackages.yacc}/bin/yacc $toolchain/bin/yacc + ln -s ${buildPackages.yacc}/bin/bison $toolchain/bin/bison + ln -s ${buildPackages.flex}/bin/flex $toolchain/bin/flex + ln -s ${buildPackages.flex}/bin/flex++ $toolchain/bin/flex++ + ln -s $toolchain/bin/flex $toolchain/bin/lex - ln -s ${buildPackages.m4}/bin/m4 $toolchain/usr/bin/m4 - ln -s $toolchain/usr/bin/m4 $toolchain/usr/bin/gm4 + ln -s ${buildPackages.m4}/bin/m4 $toolchain/bin/m4 + ln -s $toolchain/bin/m4 $toolchain/bin/gm4 - ln -s ${buildPackages.unifdef}/bin/unifdef $toolchain/usr/bin/unifdef - ln -s ${buildPackages.unifdef}/bin/unifdefall $toolchain/usr/bin/unifdefall + ln -s ${buildPackages.unifdef}/bin/unifdef $toolchain/bin/unifdef + ln -s ${buildPackages.unifdef}/bin/unifdefall $toolchain/bin/unifdefall - ln -s ${buildPackages.gperf}/bin/gperf $toolchain/usr/bin/gperf - ln -s ${buildPackages.indent}/bin/indent $toolchain/usr/bin/indent - ln -s ${buildPackages.ctags}/bin/ctags $toolchain/usr/bin/ctags + ln -s ${buildPackages.gperf}/bin/gperf $toolchain/bin/gperf + ln -s ${buildPackages.indent}/bin/indent $toolchain/bin/indent + ln -s ${buildPackages.ctags}/bin/ctags $toolchain/bin/ctags '' + optionalString stdenv.isDarwin '' for bin in ${getBin buildPackages.darwin.cctools}/bin/*; do - if ! [ -e "$toolchain/usr/bin/$(basename $bin)" ]; then - ln -s $bin $toolchain/usr/bin + if ! [ -e "$toolchain/bin/$(basename $bin)" ]; then + ln -s $bin $toolchain/bin fi done - ln -s ${buildPackages.darwin.bootstrap_cmds}/bin/mig $toolchain/usr/bin - ln -s ${mkdep-darwin-src} $toolchain/usr/bin/mkdep + ln -s ${buildPackages.darwin.bootstrap_cmds}/bin/mig $toolchain/bin + ln -s ${mkdep-darwin-src} $toolchain/bin/mkdep '') diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix index 77ef8565a34e..4aa08f994576 100644 --- a/pkgs/development/tools/xcbuild/wrapper.nix +++ b/pkgs/development/tools/xcbuild/wrapper.nix @@ -1,4 +1,4 @@ -{ lib, buildPackages, makeWrapper, writeText, runCommand +{ stdenv, lib, buildPackages, makeWrapper, writeText, runCommand , CoreServices, ImageIO, CoreGraphics , targetPlatform , xcodePlatform ? targetPlatform.xcodePlatform or "MacOSX" @@ -36,14 +36,14 @@ let ''; xcode-select = writeText "xcode-select" '' -#!/usr/bin/env sh +#!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in -h | --help) ;; # noop -s | --switch) shift;; # noop -r | --reset) ;; # noop -v | --version) echo xcode-select version ${xcodeSelectVersion} ;; - -p | --print-path) echo @DEVELOPER_DIR@ ;; + -p | -print-path | --print-path) echo @DEVELOPER_DIR@ ;; --install) ;; # noop esac shift @@ -51,7 +51,7 @@ done ''; xcrun = writeText "xcrun" '' -#!/usr/bin/env sh +#!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in --sdk | -sdk) shift ;; @@ -86,16 +86,20 @@ runCommand "xcodebuild-${xcbuild.version}" { inherit (xcbuild) meta; # ensure that the toolchain goes in PATH - propagatedBuildInputs = [ "${toolchains}/XcodeDefault.xctoolchain/usr" ]; + propagatedBuildInputs = [ "${toolchains}/XcodeDefault.xctoolchain" ]; - passthru = { inherit xcbuild; }; + passthru = { + inherit xcbuild; + toolchain = "${toolchains}/XcodeDefault.xctoolchain"; + sdk = "${sdks}/${sdkName}"; + platform = "${platforms}/${xcodePlatform}.platform"; + }; preferLocalBuild = true; } '' mkdir -p $out/bin - mkdir -p $out/usr - ln -s $out/bin $out/usr/bin + ln -s $out $out/usr mkdir -p $out/Library/Xcode ln -s ${xcbuild}/Library/Xcode/Specifications $out/Library/Xcode/Specifications @@ -108,7 +112,8 @@ runCommand "xcodebuild-${xcbuild.version}" { --add-flags "DERIVED_DATA_DIR=." \ --set DEVELOPER_DIR "$out" \ --set SDKROOT ${sdkName} \ - --run '[ "$1" = "-version" ] && (echo Xcode ${xcodeVer}; echo Build version ${sdkBuildVersion}) && exit 0' + --run '[ "$1" = "-version" ] && [ "$#" -eq 1 ] && (echo Xcode ${xcodeVer}; echo Build version ${sdkBuildVersion}) && exit 0' \ + --run '[ "$1" = "-license" ] && exit 0' substitute ${xcode-select} $out/bin/xcode-select \ --subst-var-by DEVELOPER_DIR $out diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index bf8dbf671c01..dae90569a90b 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "yarn-${version}"; - version = "1.9.2"; + version = "1.9.4"; src = fetchzip { url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; - sha256 = "0bk006zs1bk6nwj9x07ry314fgxi21sk79h1paljbs6yzrv62h4g"; + sha256 = "0lxncqvz66167ijhsi76ds2yp8140d9ywn89y5vm92010irsgs20"; }; buildInputs = [ nodejs ]; |