diff options
Diffstat (limited to 'pkgs/development/tools')
58 files changed, 1277 insertions, 175 deletions
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 5a095c8b6a0e..2f82c1ee66ad 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "cppcheck"; - version = "1.84"; + version = "1.85"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; - sha256 = "1rp8j0akxzcpvr2na5zchz8zxq5ldngiwj7f6sibjq5p3dcyn2w5"; + sha256 = "1xjc0gna9hrqc6liyzkzkr2naapj5bldzad8qdxcjgqz5yd6rb7i"; }; buildInputs = [ pcre ]; diff --git a/pkgs/development/tools/analysis/verasco/default.nix b/pkgs/development/tools/analysis/verasco/default.nix deleted file mode 100644 index 7f623e72dc31..000000000000 --- a/pkgs/development/tools/analysis/verasco/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, lib, fetchurl -, coq, ocaml, findlib, menhir, zarith -, tools ? stdenv.cc -}: - -assert lib.versionAtLeast ocaml.version "4.02"; - -stdenv.mkDerivation rec { - name = "verasco-1.3"; - src = fetchurl { - url = "http://compcert.inria.fr/verasco/release/${name}.tgz"; - sha256 = "0zvljrpwnv443k939zlw1f7ijwx18nhnpr8jl3f01jc5v66hr2k8"; - }; - - buildInputs = [ coq ocaml findlib menhir zarith ]; - - preConfigure = '' - substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc' - ''; - - configureFlags = [ - "-toolprefix ${tools}/bin/" - (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux") - ]; - - prefixKey = "-prefix "; - - enableParallelBuilding = true; - buildFlags = "proof extraction ccheck"; - - installPhase = '' - mkdir -p $out/bin - cp ccheck $out/bin/ - ln -s $out/bin/ccheck $out/bin/verasco - if [ -e verasco.ini ] - then - mkdir -p $out/share - cp verasco.ini $out/share/ - fi - mkdir -p $out/lib/compcert - cp -riv runtime/include $out/lib/compcert - ''; - - meta = { - homepage = http://compcert.inria.fr/verasco/; - description = "A static analyzer for the CompCert subset of ISO C 1999"; - maintainers = with stdenv.lib.maintainers; [ vbgl ]; - license = stdenv.lib.licenses.unfree; - platforms = with stdenv.lib.platforms; darwin ++ linux; - }; -} diff --git a/pkgs/development/tools/ansible-lint/default.nix b/pkgs/development/tools/ansible-lint/default.nix index c460662f4f88..5433725b3050 100644 --- a/pkgs/development/tools/ansible-lint/default.nix +++ b/pkgs/development/tools/ansible-lint/default.nix @@ -19,6 +19,10 @@ pythonPackages.buildPythonPackage rec { patchShebangs bin/ansible-lint ''; + preBuild = '' + export HOME="$TMP" + ''; + checkPhase = '' nosetests test ''; diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix index 42deae45a25d..17b0265fddde 100644 --- a/pkgs/development/tools/apktool/default.nix +++ b/pkgs/development/tools/apktool/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" makeWrapper "${jre}/bin/java" "$out/bin/apktool" \ --add-flags "-jar $out/libexec/apktool/apktool.jar" \ - --prefix PATH : "${buildTools}/build-tools/25.0.1/" + --prefix PATH : "${buildTools.v25_0_1}/build-tools/25.0.1/" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/asmfmt/default.nix b/pkgs/development/tools/asmfmt/default.nix new file mode 100644 index 000000000000..d2cb7e807b58 --- /dev/null +++ b/pkgs/development/tools/asmfmt/default.nix @@ -0,0 +1,37 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +, fetchpatch +}: + +buildGoPackage rec { + name = "asmfmt-${version}"; + version = "1.1"; + + goPackagePath = "github.com/klauspost/asmfmt"; + + src = fetchFromGitHub { + owner = "klauspost"; + repo = "asmfmt"; + rev = "v${version}"; + sha256 = "08mybfizcvck460axakycz9ndzcgwqilp5mmgm4bl8hfrn36mskw"; + }; + + patches = [ + (fetchpatch { + excludes = ["README.md"]; + url = "https://github.com/klauspost/asmfmt/commit/39a37c8aed8095e0fdfb07f78fc8acbd465d9627.patch"; + sha256 = "18bc77l87mf0yvqc3adlakxz6wflyqfsc2wrmh9q0nlqghlmnw5k"; + }) + ]; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Go Assembler Formatter"; + homepage = https://github.com/klauspost/asmfmt; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/asmfmt/deps.nix b/pkgs/development/tools/asmfmt/deps.nix new file mode 100644 index 000000000000..0288fc206d49 --- /dev/null +++ b/pkgs/development/tools/asmfmt/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75"; + sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws"; + }; + } + { + goPackagePath = "sourcegraph.com/sqs/goreturns"; + fetch = { + type = "git"; + url = "https://github.com/sqs/goreturns"; + rev = "538ac601451833c7c4449f8431d65d53c1c60e41"; + sha256 = "0gcplch8zmcgwl6xvcffxg50g3xnf60n7dlqxgn51179qcjr354p"; + }; + } +] 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 af8cd5faacde..142f729517d5 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-08-16"; + version = "2018-11-01"; 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 = "942a0b03cbf159dd6e0f0f40787d6d8e4e832d81"; - sha256 = "0ls2jvz9cxa169a8pbbykv2d4dik4ipf7dj1lkqx5g0ss7lgs6q5"; + rev = "1af8921d52f053fad575f26762533a3823b4a847"; + sha256 = "0srz0sbz4bq9n7cp4g1n3kd3j6rcjqfi25sq8aa64l27yqzbk53x"; }; bazelTarget = "//src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar"; @@ -66,12 +66,13 @@ buildBazelPackage rec { find . -type d -empty -delete ''; - sha256 = "0jkzf1hay0h8ksk9lhfvdliac6c5d7nih934i1xjbrn6zqlivy19"; + sha256 = "1gvl4a9z8p4ch2gmcj3lpp0imrkrvy8wng949p3wlkibi14hc6ww"; }; buildAttrs = { installPhase = '' mkdir -p $out/bin/bazel-bin/src/scala/com/github/johnynek/bazel_deps + cp gen_maven_deps.sh $out/bin wrapProgram "$out/bin/gen_maven_deps.sh" --set JAVA_HOME "${jre}" --prefix PATH : ${lib.makeBinPath [ jre ]} cp bazel-bin/src/scala/com/github/johnynek/bazel_deps/parseproject_deploy.jar $out/bin/bazel-bin/src/scala/com/github/johnynek/bazel_deps diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 35ae59af617c..0ba44b1b17a7 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,4 +1,4 @@ -{ lib, python3Packages, stdenv, writeTextDir, substituteAll }: +{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }: python3Packages.buildPythonApplication rec { version = "0.46.1"; @@ -47,20 +47,20 @@ python3Packages.buildPythonApplication rec { crossFile = writeTextDir "cross-file.conf" '' [binaries] - c = '${stdenv.cc.targetPrefix}cc' - cpp = '${stdenv.cc.targetPrefix}c++' - ar = '${stdenv.cc.bintools.targetPrefix}ar' - strip = '${stdenv.cc.bintools.targetPrefix}strip' + c = '${targetPackages.stdenv.cc.targetPrefix}cc' + cpp = '${targetPackages.stdenv.cc.targetPrefix}c++' + ar = '${targetPackages.stdenv.cc.bintools.targetPrefix}ar' + strip = '${targetPackages.stdenv.cc.bintools.targetPrefix}strip' pkgconfig = 'pkg-config' [properties] needs_exe_wrapper = true [host_machine] - system = '${stdenv.targetPlatform.parsed.kernel.name}' - cpu_family = '${stdenv.targetPlatform.parsed.cpu.family}' - cpu = '${stdenv.targetPlatform.parsed.cpu.name}' - endian = ${if stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"} + system = '${targetPackages.stdenv.targetPlatform.parsed.kernel.name}' + cpu_family = '${targetPackages.stdenv.targetPlatform.parsed.cpu.family}' + cpu = '${targetPackages.stdenv.targetPlatform.parsed.cpu.name}' + endian = ${if targetPackages.stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"} ''; # 0.45 update enabled tests but they are failing @@ -70,7 +70,7 @@ python3Packages.buildPythonApplication rec { inherit (stdenv) cc; - isCross = stdenv.buildPlatform != stdenv.hostPlatform; + isCross = stdenv.targetPlatform != stdenv.hostPlatform; meta = with lib; { homepage = http://mesonbuild.com; diff --git a/pkgs/development/tools/check/default.nix b/pkgs/development/tools/check/default.nix new file mode 100644 index 000000000000..dfa164e6755c --- /dev/null +++ b/pkgs/development/tools/check/default.nix @@ -0,0 +1,30 @@ +{ buildGoPackage +, lib +, fetchFromGitLab +}: + +buildGoPackage rec { + name = "check-unstable-${version}"; + version = "2018-09-12"; + rev = "88db195993f8e991ad402754accd0635490769f9"; + + goPackagePath = "gitlab.com/opennota/check"; + + src = fetchFromGitLab { + inherit rev; + + owner = "opennota"; + repo = "check"; + sha256 = "1983xmdkgpqda4qz8ashc6xv1zg5jl4zly3w566grxc5sfxpgf0i"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "A set of utilities for checking Go sources."; + homepage = https://gitlab.com/opennota/check; + license = licenses.gpl3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/check/deps.nix b/pkgs/development/tools/check/deps.nix new file mode 100644 index 000000000000..b9c50d95d117 --- /dev/null +++ b/pkgs/development/tools/check/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "677d2ff680c1"; + sha256 = "0vp1w1haqcjd82dxd6x9xrllbfwvm957rxwkpji96cgvhsli2bq5"; + }; + } +] diff --git a/pkgs/development/tools/cppclean/default.nix b/pkgs/development/tools/cppclean/default.nix new file mode 100644 index 000000000000..96fe07a7799a --- /dev/null +++ b/pkgs/development/tools/cppclean/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, fetchFromGitHub, python3Packages }: + +with python3Packages; + +buildPythonApplication rec { + name = "cppclean-unstable-${version}"; + version = "2018-05-12"; + + src = fetchFromGitHub { + owner = "myint"; + repo = "cppclean"; + rev = "e7da41eca5e1fd2bd1dddd6655e50128bb96dc28"; + sha256 = "0pymh6r7y19bwcypfkmgwyixrx36pmz338jd83yrjflsbjlriqm4"; + }; + + postUnpack = '' + patchShebangs . + ''; + + checkPhase = '' + ./test.bash + ''; + + meta = with stdenv.lib; { + description = "Finds problems in C++ source that slow development of large code bases"; + homepage = https://github.com/myint/cppclean; + license = licenses.asl20; + maintainers = with maintainers; [ nthorne ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix b/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix new file mode 100644 index 000000000000..d667e49e7cbe --- /dev/null +++ b/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "timescaledb-parallel-copy-${version}"; + version = "2018-05-14"; + + owner = "timescale"; + repo = "timescaledb-parallel-copy"; + + goPackagePath = with src; "github.com/${owner}/${repo}"; + goDeps = ./deps.nix; + + src = fetchFromGitHub { + inherit owner repo; + rev = "20d3e8f8219329f2f4b0a5aa985f280dd04d10bb"; + sha256 = "0waaccw991cnxaxjdxh9ksb94kiiyx1r7gif6pkd5k58js0kfvdn"; + }; + + meta = with stdenv.lib; { + description = "Bulk, parallel insert of CSV records into PostgreSQL"; + homepage = http://github.com/timescale/timescaledb-parallel-copy; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/development/tools/database/timescaledb-parallel-copy/deps.nix b/pkgs/development/tools/database/timescaledb-parallel-copy/deps.nix new file mode 100644 index 000000000000..c672611e09c1 --- /dev/null +++ b/pkgs/development/tools/database/timescaledb-parallel-copy/deps.nix @@ -0,0 +1,21 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/jmoiron/sqlx"; + fetch = { + type = "git"; + url = "https://github.com/jmoiron/sqlx"; + rev = "0dae4fefe7c0e190f7b5a78dac28a1c82cc8d849"; + sha256 = "0r8fyj70n0v84byvagw8w8rzz532s94mjr72b9sx018j0b6xglmy"; + }; + } + { + goPackagePath = "github.com/lib/pq"; + fetch = { + type = "git"; + url = "https://github.com/lib/pq"; + rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8"; + sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r"; + }; + } +] diff --git a/pkgs/development/tools/deadcode/default.nix b/pkgs/development/tools/deadcode/default.nix new file mode 100644 index 000000000000..fbed4e905cfc --- /dev/null +++ b/pkgs/development/tools/deadcode/default.nix @@ -0,0 +1,31 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +# TODO(yl): should we package https://github.com/remyoudompheng/go-misc instead of +# the standalone extract of deadcode from it? +buildGoPackage rec { + name = "deadcode-unstable-${version}"; + version = "2016-07-24"; + rev = "210d2dc333e90c7e3eedf4f2242507a8e83ed4ab"; + + goPackagePath = "github.com/tsenart/deadcode"; + excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)"; + + src = fetchFromGitHub { + inherit rev; + + owner = "tsenart"; + repo = "deadcode"; + sha256 = "05kif593f4wygnrq2fdjhn7kkcpdmgjnykcila85d0gqlb1f36g0"; + }; + + meta = with lib; { + description = "deadcode is a very simple utility which detects unused declarations in a Go package."; + homepage = https://github.com/remyoudompheng/go-misc/tree/master/deadcode; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/errcheck/default.nix b/pkgs/development/tools/errcheck/default.nix new file mode 100644 index 000000000000..1ce49a4cbb9d --- /dev/null +++ b/pkgs/development/tools/errcheck/default.nix @@ -0,0 +1,29 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "errcheck-${version}"; + version = "1.1.0"; + + goPackagePath = "github.com/kisielk/errcheck"; + excludedPackages = "\\(testdata\\)"; + + src = fetchFromGitHub { + owner = "kisielk"; + repo = "errcheck"; + rev = "v${version}"; + sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "errcheck is a program for checking for unchecked errors in go programs."; + homepage = https://github.com/kisielk/errcheck; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/errcheck/deps.nix b/pkgs/development/tools/errcheck/deps.nix new file mode 100644 index 000000000000..8470c9e12aa6 --- /dev/null +++ b/pkgs/development/tools/errcheck/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "80517062f582ea3340cd4baf70e86d539ae7d84d"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75"; + sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws"; + }; + } +] diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix index 70f6d8021ff8..7386dc0eeeba 100644 --- a/pkgs/development/tools/flyway/default.nix +++ b/pkgs/development/tools/flyway/default.nix @@ -1,22 +1,23 @@ { stdenv, fetchurl, jre_headless, makeWrapper }: let - version = "5.1.4"; + version = "5.2.1"; in stdenv.mkDerivation { name = "flyway-${version}"; src = fetchurl { - url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/5.1.4/flyway-commandline-${version}.tar.gz"; - sha256 = "1raz125k55v6xa8gp6ylcjxz77r5364xqp9di46rayx3z2282f7q"; + url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; + sha256 = "0lm536qc8pqj4s21dd47gi99nwwflk17gqzfwaflghw3fnhn7i1s"; }; buildInputs = [ makeWrapper ]; dontBuild = true; dontStrip = true; installPhase = '' mkdir -p $out/bin $out/share/flyway - cp -r sql jars lib drivers $out/share/flyway + cp -r sql jars drivers conf $out/share/flyway + cp -r lib/community $out/share/flyway/lib makeWrapper "${jre_headless}/bin/java" $out/bin/flyway \ --add-flags "-Djava.security.egd=file:/dev/../dev/urandom" \ - --add-flags "-cp '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \ + --add-flags "-classpath '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \ --add-flags "org.flywaydb.commandline.Main" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix index ab32216de80d..9841e7900cd5 100644 --- a/pkgs/development/tools/global-platform-pro/default.nix +++ b/pkgs/development/tools/global-platform-pro/default.nix @@ -62,6 +62,7 @@ stdenv.mkDerivation rec { ''; homepage = https://github.com/martinpaljak/GlobalPlatformPro; license = with licenses; [ lgpl3 ]; + maintainers = with maintainers; [ ekleog ]; platforms = platforms.all; }; } diff --git a/pkgs/development/tools/go-tools/default.nix b/pkgs/development/tools/go-tools/default.nix new file mode 100644 index 000000000000..7e599ed8de71 --- /dev/null +++ b/pkgs/development/tools/go-tools/default.nix @@ -0,0 +1,29 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "go-tools-${version}"; + version = "2017.2.2"; + + goPackagePath = "honnef.co/go/tools"; + excludedPackages = ''\(simple\|ssa\|ssa/ssautil\|lint\|staticcheck\|unused\)/testdata''; + + src = fetchFromGitHub { + owner = "dominikh"; + repo = "go-tools"; + rev = "${version}"; + sha256 = "1khl6szjj0skkfqp234p9rf3icik7fw2pk2x0wbj3wa9q3f84hb7"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "A collection of tools and libraries for working with Go code, including linters and static analysis."; + homepage = https://staticcheck.io; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/go-tools/deps.nix b/pkgs/development/tools/go-tools/deps.nix new file mode 100644 index 000000000000..afe5e50e47bd --- /dev/null +++ b/pkgs/development/tools/go-tools/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "80517062f582ea3340cd4baf70e86d539ae7d84d"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "96e9e165b75e735822645eff82850b08c377be36"; + sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg"; + }; + } +] diff --git a/pkgs/development/tools/gocode-gomod/default.nix b/pkgs/development/tools/gocode-gomod/default.nix new file mode 100644 index 000000000000..b0069d3488e0 --- /dev/null +++ b/pkgs/development/tools/gocode-gomod/default.nix @@ -0,0 +1,50 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "gocode-gomod-unstable-${version}"; + version = "2018-10-16"; + rev = "12640289f65065d652cc942ffa01a52bece1dd53"; + + goPackagePath = "github.com/stamblerre/gocode"; + + # we must allow references to the original `go` package, + # because `gocode` needs to dig into $GOROOT to provide completions for the + # standard packages. + allowGoReference = true; + + excludedPackages = ''internal/suggest/testdata''; + + src = fetchFromGitHub { + inherit rev; + + owner = "stamblerre"; + repo = "gocode"; + sha256 = "1avv0b5p2l8pv38m5gg97k57ndr5k9yy0rfkmmwjq96pa221hs1q"; + }; + + goDeps = ./deps.nix; + + postInstall = '' + mv $bin/bin/gocode $bin/bin/gocode-gomod + ''; + + meta = with stdenv.lib; { + description = "An autocompletion daemon for the Go programming language"; + longDescription = '' + Gocode is a helper tool which is intended to be integrated with your + source code editor, like vim, neovim and emacs. It provides several + advanced capabilities, which currently includes: + + - Context-sensitive autocompletion + + It is called daemon, because it uses client/server architecture for + caching purposes. In particular, it makes autocompletions very fast. + Typical autocompletion time with warm cache is 30ms, which is barely + noticeable. + ''; + homepage = https://github.com/stamblerre/gocode; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ kalbasit ]; + }; +} diff --git a/pkgs/development/tools/gocode-gomod/deps.nix b/pkgs/development/tools/gocode-gomod/deps.nix new file mode 100644 index 000000000000..ac9662697063 --- /dev/null +++ b/pkgs/development/tools/gocode-gomod/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25"; + sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9"; + }; + } +] diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix index bb44074dfc75..3351c0e986b3 100644 --- a/pkgs/development/tools/gocode/default.nix +++ b/pkgs/development/tools/gocode/default.nix @@ -2,10 +2,11 @@ buildGoPackage rec { name = "gocode-unstable-${version}"; - version = "2018-10-22"; - rev = "e893215113e5f7594faa3a8eb176c2700c921276"; + version = "2018-11-05"; + rev = "0af7a86943a6e0237c90f8aeb74a882e1862c898"; goPackagePath = "github.com/mdempsky/gocode"; + excludedPackages = ''internal/suggest/testdata''; # we must allow references to the original `go` package, # because `gocode` needs to dig into $GOROOT to provide completions for the @@ -17,17 +18,11 @@ buildGoPackage rec { owner = "mdempsky"; repo = "gocode"; - sha256 = "1zsll7yghv64890k7skl0g2lg9rsaiisgrfnb8kshsxrcxi1kc2l"; + sha256 = "0fxqn0v6dbwarn444lc1xrx5vfkcidi73f4ba7l4clsb9qdqgyam"; }; goDeps = ./deps.nix; - preBuild = '' - # getting an error building the testdata because they contain invalid files - # on purpose as part of the testing. - rm -r go/src/$goPackagePath/internal/suggest/testdata - ''; - meta = with stdenv.lib; { description = "An autocompletion daemon for the Go programming language"; longDescription = '' diff --git a/pkgs/development/tools/gocode/deps.nix b/pkgs/development/tools/gocode/deps.nix index 4eefdd9c6d04..ac9662697063 100644 --- a/pkgs/development/tools/gocode/deps.nix +++ b/pkgs/development/tools/gocode/deps.nix @@ -4,8 +4,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/tools"; - rev = "6fe81c087942f588f40c3f67b41ce284f2f70eee"; - sha256 = "04yl7rk2lf94bxz74ja5snh7ava9gcnf2yx6y002pfkk538r6w5d"; + rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25"; + sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9"; }; } ] diff --git a/pkgs/development/tools/goconst/default.nix b/pkgs/development/tools/goconst/default.nix new file mode 100644 index 000000000000..9ef94ffdc7fa --- /dev/null +++ b/pkgs/development/tools/goconst/default.nix @@ -0,0 +1,27 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "goconst-${version}"; + version = "1.1.0"; + + goPackagePath = "github.com/jgautheron/goconst"; + excludedPackages = ''testdata''; + + src = fetchFromGitHub { + owner = "jgautheron"; + repo = "goconst"; + rev = version; + sha256 = "0zhscvv9w54q1h2vs8xx3qkz98cf36qhxjvdq0xyz3qvn4vhnyw6"; + }; + + meta = with lib; { + description = "Find in Go repeated strings that could be replaced by a constant"; + homepage = https://github.com/jgautheron/goconst; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/gocyclo/default.nix b/pkgs/development/tools/gocyclo/default.nix new file mode 100644 index 000000000000..91ebaff803eb --- /dev/null +++ b/pkgs/development/tools/gocyclo/default.nix @@ -0,0 +1,28 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "gocyclo-unstable-${version}"; + version = "2015-02-08"; + rev = "aa8f8b160214d8dfccfe3e17e578dd0fcc6fede7"; + + goPackagePath = "github.com/alecthomas/gocyclo"; + + src = fetchFromGitHub { + inherit rev; + + owner = "alecthomas"; + repo = "gocyclo"; + sha256 = "094rj97q38j53lmn2scshrg8kws8c542yq5apih1ahm9wdkv8pxr"; + }; + + meta = with lib; { + description = "Calculate cyclomatic complexities of functions in Go source code."; + homepage = https://github.com/alecthomas/gocyclo; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/gogetdoc/default.nix b/pkgs/development/tools/gogetdoc/default.nix new file mode 100644 index 000000000000..7724ee49465c --- /dev/null +++ b/pkgs/development/tools/gogetdoc/default.nix @@ -0,0 +1,31 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "gogetdoc-unstable-${version}"; + version = "2018-10-25"; + rev = "9098cf5fc236a5e25060730544af2ba6d65cd968"; + + goPackagePath = "github.com/zmb3/gogetdoc"; + excludedPackages = "\\(testdata\\)"; + + src = fetchFromGitHub { + inherit rev; + + owner = "zmb3"; + repo = "gogetdoc"; + sha256 = "159dgkd2lz07kimbpzminli5p539l4ry0dr93r46iz3lk5q76znl"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Gets documentation for items in Go source code"; + homepage = https://github.com/zmb3/gogetdoc; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/gogetdoc/deps.nix b/pkgs/development/tools/gogetdoc/deps.nix new file mode 100644 index 000000000000..d770057d1d78 --- /dev/null +++ b/pkgs/development/tools/gogetdoc/deps.nix @@ -0,0 +1,13 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "6adeb8aab2de"; + sha256 = "0kylkki0ksdm12ppl37fghzbma9hmgqwph0nwngv08v4blk6li6k"; + }; + } +] diff --git a/pkgs/development/tools/gometalinter/default.nix b/pkgs/development/tools/gometalinter/default.nix new file mode 100644 index 000000000000..cce678e9d073 --- /dev/null +++ b/pkgs/development/tools/gometalinter/default.nix @@ -0,0 +1,70 @@ +{ buildGoPackage +, deadcode +, errcheck +, fetchFromGitHub +, go +, go-check +, go-tools +, goconst +, gocyclo +, golint +, gosec +, gotools +, ineffassign +, maligned +, interfacer +, lib +, makeWrapper +, unconvert +}: + +with lib; + +let + runtimeDeps = [ + deadcode + errcheck + go + go-check + go-tools + goconst + gocyclo + golint + gosec + gotools + ineffassign + interfacer + maligned + unconvert + ]; + +in buildGoPackage rec { + name = "gometalinter-${version}"; + version = "2.0.11"; + + goPackagePath = "github.com/alecthomas/gometalinter"; + excludedPackages = "\\(regressiontests\\)"; + + src = fetchFromGitHub { + owner = "alecthomas"; + repo = "gometalinter"; + rev = "v${version}"; + sha256 = "08p7bwvhpgizif8qi59m8mm3mcny70x9msbk8m8vjpphsq55wha4"; + }; + + postInstall = '' + wrapProgram $bin/bin/gometalinter --prefix PATH : "${makeBinPath runtimeDeps}" + ''; + + buildInputs = [ makeWrapper ]; + + allowGoReference = true; + + meta = with lib; { + description = "Concurrently run Go lint tools and normalise their output"; + homepage = https://github.com/alecthomas/gometalinter; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix new file mode 100644 index 000000000000..2cffd86f3965 --- /dev/null +++ b/pkgs/development/tools/gosec/default.nix @@ -0,0 +1,29 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "gosec-${version}"; + version = "1.1.0"; + + goPackagePath = "github.com/securego/gosec"; + excludedPackages = ''cmd/tlsconfig''; + + src = fetchFromGitHub { + owner = "securego"; + repo = "gosec"; + rev = "${version}"; + sha256 = "0vjn3g6w4y4ayx0g766jp31vb78cipl90fcg0mccjr0a539qrpy6"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Golang security checker"; + homepage = https://github.com/securego/gosec; + license = licenses.asl20 ; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/gosec/deps.nix b/pkgs/development/tools/gosec/deps.nix new file mode 100644 index 000000000000..80a77e7fb807 --- /dev/null +++ b/pkgs/development/tools/gosec/deps.nix @@ -0,0 +1,193 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "v1.1.1"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; + }; + } + + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.2.0"; + sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; + }; + } + + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "0de1eaf82fa3"; + sha256 = "177af7bjq6clmkqshnmnwlpwvx80kpi2277q275iwq59lp48viq1"; + }; + } + + { + goPackagePath = "github.com/kr/pretty"; + fetch = { + type = "git"; + url = "https://github.com/kr/pretty"; + rev = "v0.1.0"; + sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp"; + }; + } + + { + goPackagePath = "github.com/kr/pty"; + fetch = { + type = "git"; + url = "https://github.com/kr/pty"; + rev = "v1.1.1"; + sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6"; + }; + } + + { + goPackagePath = "github.com/kr/text"; + fetch = { + type = "git"; + url = "https://github.com/kr/text"; + rev = "v0.1.0"; + sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; + }; + } + + { + goPackagePath = "github.com/nbutton23/zxcvbn-go"; + fetch = { + type = "git"; + url = "https://github.com/nbutton23/zxcvbn-go"; + rev = "a22cb81b2ecd"; + sha256 = "0hm16vc7xrw0cqla6xcn59bb7n2sa0j8rkniywn5dqnbrpza12cd"; + }; + } + + { + goPackagePath = "github.com/onsi/ginkgo"; + fetch = { + type = "git"; + url = "https://github.com/onsi/ginkgo"; + rev = "11459a886d9c"; + sha256 = "1nswc1fnrrs792qbix05h91bilj8rr3wxmxgwi97p2gjk0r292zh"; + }; + } + + { + goPackagePath = "github.com/onsi/gomega"; + fetch = { + type = "git"; + url = "https://github.com/onsi/gomega"; + rev = "dcabb60a477c"; + sha256 = "1775lv5jbsgv3ghq5v2827slqlhqdadrzc1nkpq4y0hdv2qzrgkm"; + }; + } + + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "v1.0.0"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + + { + goPackagePath = "github.com/ryanuber/go-glob"; + fetch = { + type = "git"; + url = "https://github.com/ryanuber/go-glob"; + rev = "256dc444b735"; + sha256 = "07rsd7hranghwc68ib0r2zxd9d5djanzjvd84j9dgj3wqsyg5mi2"; + }; + } + + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "v1.2.2"; + sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + }; + } + + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "8351a756f30f"; + sha256 = "0b6m579i3wrx1m69mqkdng5gjfssprxx0pg45kzrdi68sh0zr5d1"; + }; + } + + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "1d60e4601c6f"; + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; + }; + } + + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "164713f0dfce"; + sha256 = "1qn9vvyqsaaj0az0rbilzc4pfv9sl4vh78c2g37yya5gcdnarh3w"; + }; + } + + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "1cbadb444a80"; + sha256 = "0ih9ysagh4ylj08393497sscf3yziybc6acg4mrh0wa7mld75j56"; + }; + } + + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "e531a2a1c15f"; + sha256 = "0740w56nmjqdj7ld1h3gpcpi3x8n81bdx0pp267rz9hmwkrb2s1c"; + }; + } + + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "788fd7840127"; + sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; + }; + } + + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "eb3733d160e7"; + sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6"; + }; + } +] diff --git a/pkgs/development/tools/gron/default.nix b/pkgs/development/tools/gron/default.nix index 14c8f53a3944..ebe76197ef4e 100644 --- a/pkgs/development/tools/gron/default.nix +++ b/pkgs/development/tools/gron/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "gron-${version}"; - version = "0.5.2"; + version = "0.6.0"; owner = "tomnomnom"; repo = "gron"; @@ -11,7 +11,7 @@ buildGoPackage rec { src = fetchFromGitHub { inherit owner repo; rev = "v${version}"; - sha256 = "0nxcvih8n5a4f0a53dxaipab5ckqxgnsznzymhfw5kv4inr9v6j6"; + sha256 = "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0"; }; goDeps = ./deps.nix; diff --git a/pkgs/development/tools/gron/deps.nix b/pkgs/development/tools/gron/deps.nix index c5b1feb888ae..effc255d877e 100644 --- a/pkgs/development/tools/gron/deps.nix +++ b/pkgs/development/tools/gron/deps.nix @@ -6,8 +6,8 @@ fetch = { type = "git"; url = "https://github.com/${owner}/${repo}"; - rev = "v1.6.0"; - sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7"; + rev = "v1.7.0"; + sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; }; } rec { @@ -32,4 +32,26 @@ sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; }; } + rec { + owner = "mattn"; + repo = "go-colorable"; + goPackagePath = "github.com/${owner}/${repo}"; + fetch = { + type = "git"; + url = "https://github.com/${owner}/${repo}"; + rev = "v0.0.9"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + rec { + owner = "mattn"; + repo = "go-isatty"; + goPackagePath = "github.com/${owner}/${repo}"; + fetch = { + type = "git"; + url = "https://github.com/${owner}/${repo}"; + rev = "v0.0.4"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } ] diff --git a/pkgs/development/tools/iferr/default.nix b/pkgs/development/tools/iferr/default.nix new file mode 100644 index 000000000000..e2aebe9b2dc2 --- /dev/null +++ b/pkgs/development/tools/iferr/default.nix @@ -0,0 +1,28 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "iferr-unstable-${version}"; + version = "2018-06-15"; + rev = "bb332a3b1d9129b6486c7ddcb7030c11b05cfc88"; + + goPackagePath = "github.com/koron/iferr"; + + src = fetchFromGitHub { + inherit rev; + + owner = "koron"; + repo = "iferr"; + sha256 = "1nyqy1sgq2afiama4wy7wap8s03c0hiwwa0f6kwq3y59097rfc0c"; + }; + + meta = with lib; { + description = ''Generate "if err != nil {" block''; + homepage = https://github.com/koron/iferr; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/impl/default.nix b/pkgs/development/tools/impl/default.nix new file mode 100644 index 000000000000..69bbf8afe5ac --- /dev/null +++ b/pkgs/development/tools/impl/default.nix @@ -0,0 +1,30 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "impl-unstable-${version}"; + version = "2018-02-27"; + rev = "3d0f908298c49598b6aa84f101c69670e15d1d03"; + + goPackagePath = "github.com/josharian/impl"; + + src = fetchFromGitHub { + inherit rev; + + owner = "josharian"; + repo = "impl"; + sha256 = "0xpip20x5vclrl0by1760lg73v6lj6nmkbiazlskyvpkw44h8a7c"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "impl generates method stubs for implementing an interface."; + homepage = https://github.com/josharian/impl; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/impl/deps.nix b/pkgs/development/tools/impl/deps.nix new file mode 100644 index 000000000000..3477aaed6075 --- /dev/null +++ b/pkgs/development/tools/impl/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "96e9e165b75e735822645eff82850b08c377be36"; + sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg"; + }; + } +] diff --git a/pkgs/development/tools/ineffassign/default.nix b/pkgs/development/tools/ineffassign/default.nix new file mode 100644 index 000000000000..10e5c61025ab --- /dev/null +++ b/pkgs/development/tools/ineffassign/default.nix @@ -0,0 +1,29 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "ineffassign-unstable-${version}"; + version = "2018-09-09"; + rev = "1003c8bd00dc2869cb5ca5282e6ce33834fed514"; + + goPackagePath = "github.com/gordonklaus/ineffassign"; + excludedPackages = ''testdata''; + + src = fetchFromGitHub { + inherit rev; + + owner = "gordonklaus"; + repo = "ineffassign"; + sha256 = "1rkzqvd3z03vq8q8qi9cghvgggsf02ammj9wq8jvpnx6b2sd16nd"; + }; + + meta = with lib; { + description = "Detect ineffectual assignments in Go code."; + homepage = https://github.com/gordonklaus/ineffassign; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/interfacer/default.nix b/pkgs/development/tools/interfacer/default.nix new file mode 100644 index 000000000000..274ced0b37cd --- /dev/null +++ b/pkgs/development/tools/interfacer/default.nix @@ -0,0 +1,31 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "interfacer-unstable-${version}"; + version = "2018-08-31"; + rev = "c20040233aedb03da82d460eca6130fcd91c629a"; + + goPackagePath = "mvdan.cc/interfacer"; + excludedPackages = ''check/testdata''; + + src = fetchFromGitHub { + inherit rev; + + owner = "mvdan"; + repo = "interfacer"; + sha256 = "0cx4m74mvn200360pmsqxx4z0apk9fcknwwqh8r94zd3jfv4akq2"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "A linter that suggests interface types."; + homepage = https://github.com/mvdan/interfacer; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/interfacer/deps.nix b/pkgs/development/tools/interfacer/deps.nix new file mode 100644 index 000000000000..6810950878be --- /dev/null +++ b/pkgs/development/tools/interfacer/deps.nix @@ -0,0 +1,29 @@ +[ + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "80517062f582ea3340cd4baf70e86d539ae7d84d"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "96e9e165b75e735822645eff82850b08c377be36"; + sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg"; + }; + } + { + goPackagePath = "mvdan.cc/lint"; + fetch = { + type = "git"; + url = "https://github.com/mvdan/lint"; + rev = "adc824a0674b99099789b6188a058d485eaf61c0"; + sha256 = "17mi2rvkg9kzv1shxcyawzcj4jj3v738d1j82fp4yygx859yvr8r"; + }; + } +] diff --git a/pkgs/development/tools/jq/darwin-strptime-test.patch b/pkgs/development/tools/jq/darwin-strptime-test.patch deleted file mode 100644 index 4ea83fc164a3..000000000000 --- a/pkgs/development/tools/jq/darwin-strptime-test.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/tests/jq.test b/tests/jq.test -index 4a4018b..f5aa7d5 100644 ---- a/src/tests/jq.test -+++ b/src/tests/jq.test -@@ -1144,9 +1144,9 @@ bsearch(4) - [1,2,3] - -4 - --[strptime("%Y-%m-%dT%H:%M:%SZ")|(.,mktime)] -+[strptime("%Y-%m-%dT%H:%M:%SZ")|mktime] - "2015-03-05T23:51:47Z" --[[2015,2,5,23,51,47,4,63],1425599507] -+[1425599507] - - strftime("%Y-%m-%dT%H:%M:%SZ") - [2015,2,5,23,51,47,4,63] diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix index 712ec64bd416..b7b2b5066b9f 100644 --- a/pkgs/development/tools/jq/default.nix +++ b/pkgs/development/tools/jq/default.nix @@ -2,33 +2,17 @@ stdenv.mkDerivation rec { name = "jq-${version}"; - version="1.5"; + version="1.6"; src = fetchurl { url="https://github.com/stedolan/jq/releases/download/jq-${version}/jq-${version}.tar.gz"; - sha256="0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4"; + sha256="1a76f46a652i2g333kfvrl6mp2w7whf6h1yly519izg4y967h9cn"; }; outputs = [ "bin" "doc" "man" "dev" "lib" "out" ]; buildInputs = [ oniguruma ]; - patches = [ - (fetchpatch { - name = "CVE-2015-8863.patch"; - url = https://github.com/stedolan/jq/commit/8eb1367ca44e772963e704a700ef72ae2e12babd.diff; - sha256 = "18bjanzvklfzlzzd690y88725l7iwl4f6wnr429na5pfmircbpvh"; - }) - (fetchpatch { - name = "CVE-2016-4074.patch"; - url = https://patch-diff.githubusercontent.com/raw/stedolan/jq/pull/1214.diff; - sha256 = "1w8bapnyp56di6p9casbfczfn8258rw0z16grydavdjddfm280l9"; - }) - ] - ++ stdenv.lib.optional stdenv.isDarwin ./darwin-strptime-test.patch; - - patchFlags = [ "-p2" ]; # `src` subdir was introduced after v1.5 was released - configureFlags = [ "--bindir=\${bin}/bin" diff --git a/pkgs/development/tools/maligned/default.nix b/pkgs/development/tools/maligned/default.nix new file mode 100644 index 000000000000..7e5cbaddd8b3 --- /dev/null +++ b/pkgs/development/tools/maligned/default.nix @@ -0,0 +1,30 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "maligned-unstable-${version}"; + version = "2018-07-07"; + rev = "6e39bd26a8c8b58c5a22129593044655a9e25959"; + + goPackagePath = "github.com/mdempsky/maligned"; + + src = fetchFromGitHub { + inherit rev; + + owner = "mdempsky"; + repo = "maligned"; + sha256 = "08inr5xjqv9flrlyhqd8ck1q26y5xb6iilz0xkb6bqa4dl5ialhi"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Tool to detect Go structs that would take less memory if their fields were sorted."; + homepage = https://github.com/mdempsky/maligned; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/maligned/deps.nix b/pkgs/development/tools/maligned/deps.nix new file mode 100644 index 000000000000..afe5e50e47bd --- /dev/null +++ b/pkgs/development/tools/maligned/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "80517062f582ea3340cd4baf70e86d539ae7d84d"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "96e9e165b75e735822645eff82850b08c377be36"; + sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg"; + }; + } +] diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix index 2974c653acdd..281463528354 100644 --- a/pkgs/development/tools/misc/blackmagic/default.nix +++ b/pkgs/development/tools/misc/blackmagic/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub -, gcc-arm-embedded, libftdi +, gcc-arm-embedded, binutils-arm-embedded, libftdi , python, pythonPackages }: @@ -17,8 +17,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + nativeBuildInputs = [ + gcc-arm-embedded binutils-arm-embedded + ]; + buildInputs = [ - gcc-arm-embedded libftdi python pythonPackages.intelhex diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix index 1c0f80e1ddd7..ba95889b5a80 100644 --- a/pkgs/development/tools/misc/dfu-programmer/default.nix +++ b/pkgs/development/tools/misc/dfu-programmer/default.nix @@ -19,6 +19,6 @@ stdenv.mkDerivation rec { description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader"; homepage = http://dfu-programmer.sourceforge.net/; maintainers = [ maintainers.the-kenny ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index 33a46e16a3ab..e2022156870d 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.24"; + version = "4.25"; src = fetchurl { url = "https://strace.io/files/${version}/${name}.tar.xz"; - sha256 = "0d061cdzk6a1822ds4wpqxg10ny27mi4i9zjmnsbz8nz3vy5jkhz"; + sha256 = "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix index d6c5256ca84d..91f2a5c58fc2 100644 --- a/pkgs/development/tools/misc/teensy-loader-cli/default.nix +++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781"; }; - buildInputs = [ unzip libusb ]; + buildInputs = [ libusb ]; installPhase = '' install -Dm755 teensy_loader_cli $out/bin/teensy-loader-cli @@ -21,6 +21,6 @@ stdenv.mkDerivation { description = "Firmware uploader for the Teensy microcontroller boards"; homepage = https://www.pjrc.com/teensy/; maintainers = with maintainers; [ the-kenny ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/nrpl/default.nix b/pkgs/development/tools/nrpl/default.nix index d6a357235902..234f5a5bfae7 100644 --- a/pkgs/development/tools/nrpl/default.nix +++ b/pkgs/development/tools/nrpl/default.nix @@ -25,7 +25,10 @@ stdenv.mkDerivation rec { "-lpcre" ]; - buildPhase = "nim c -d:release nrpl.nim"; + buildPhase = '' + HOME=$TMPDIR + nim c -d:release nrpl.nim + ''; installPhase = "install -Dt $out/bin nrpl"; diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index d74b480c9c5a..c15970d3f3e6 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -3,7 +3,7 @@ assert stdenv.lib.versionAtLeast ocaml.version "4.02"; let - version = "3.2.1"; + version = "3.2.2"; in stdenv.mkDerivation { @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchzip { url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz"; - sha256 = "1szv2b7d12ll5n6pvnhlv3a6vnlyrkpya4l9fiyyiwyvgd4xzxwf"; + sha256 = "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"; }; buildInputs = [ ocaml findlib dune yojson ]; diff --git a/pkgs/development/tools/pyre/default.nix b/pkgs/development/tools/pyre/default.nix index 99e53610c01c..382e733cb98b 100644 --- a/pkgs/development/tools/pyre/default.nix +++ b/pkgs/development/tools/pyre/default.nix @@ -1,9 +1,15 @@ { stdenv, fetchFromGitHub, ocamlPackages, makeWrapper, writeScript -, dune, python3, rsync, fetchpatch }: +, dune, python3, rsync, fetchpatch, buck }: let # Manually set version - the setup script requires # hg and git + keeping the .git directory around. - pyre-version = "0.0.14"; + pyre-version = "0.0.17"; # also change typeshed revision below with $pyre-src/.typeshed-version + pyre-src = fetchFromGitHub { + owner = "facebook"; + repo = "pyre-check"; + rev = "v${pyre-version}"; + sha256 = "0y86a3g5xbgh0byksyx5jw7yq7w840x85dhz9inz6mkg5j06mcis"; + }; versionFile = writeScript "version.ml" '' cat > "./version.ml" <<EOF open Core @@ -20,12 +26,7 @@ let pyre-bin = stdenv.mkDerivation { name = "pyre-${pyre-version}"; - src = fetchFromGitHub { - owner = "facebook"; - repo = "pyre-check"; - rev = "v${pyre-version}"; - sha256 = "0c8xzaa3ljqb6llr041sydw0l4xqn7x21nw9vaymdxh35nx9bp2v"; - }; + src = pyre-src; nativeBuildInputs = [ makeWrapper ]; @@ -49,7 +50,6 @@ let export HOME=. # "external" because https://github.com/facebook/pyre-check/pull/8/files - cp Makefile.template Makefile sed "s/%VERSION%/external/" dune.in > dune cp ${versionFile} ./scripts/generate-version-number.sh @@ -77,20 +77,18 @@ let description = "A performant type-checker for Python 3"; homepage = https://pyre-check.org; license = licenses.mit; - platforms = with platforms; linux; + platforms = ocamlPackages.ocaml.meta.platforms; maintainers = with maintainers; [ teh ]; }; }; typeshed = stdenv.mkDerivation { name = "typeshed"; - # typeshed doesn't have versions, it seems to be synchronized with - # mypy relases. I'm assigning a random version here (same as pyre). version = pyre-version; src = fetchFromGitHub { owner = "python"; repo = "typeshed"; - rev = "a08c6ea"; - sha256 = "0wy8yh43vhyyc4g7iqnmlj66kz5in02y5qc0c4jdckhpa3mchaqk"; + rev = "bc3f9fe1d3c43b00c04cedb23e0eeebc9e1734b6"; + sha256 = "06b2kj4n49h4sgi8hn5kalmir8llhanfdc7f1924cxvrkj5ry94b"; }; phases = [ "unpackPhase" "installPhase" ]; installPhase = "cp -r $src $out"; @@ -98,19 +96,8 @@ typeshed = stdenv.mkDerivation { in python3.pkgs.buildPythonApplication rec { pname = "pyre-check"; version = pyre-version; - src = fetchFromGitHub { - owner = "facebook"; - repo = "pyre-check"; - rev = "v${pyre-version}"; - sha256 = "0ig7bx2kfn2kbxw74wysh5365yp5gyby42l9l29iclrzdghgk32l"; - }; - patches = [ - (fetchpatch { - url = "https://github.com/facebook/pyre-check/commit/b473d2ed9fc11e7c1cd0c7b8c42f521e5cdc2003.patch"; - sha256 = "05xvyp7j4n6z92bxf64rxfq5pvaadxgx1c8c5qziy75vdz72lkcy"; - }) - ./pyre-bdist-wheel.patch - ]; + src = pyre-src; + patches = [ ./pyre-bdist-wheel.patch ]; # The build-pypi-package script does some funky stuff with build # directories - easier to patch it a bit than to replace it @@ -119,15 +106,21 @@ in python3.pkgs.buildPythonApplication rec { mkdir ./build substituteInPlace scripts/build-pypi-package.sh \ --replace 'NIX_BINARY_FILE' '${pyre-bin}/bin/pyre.bin' \ - --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$(pwd)/build" + --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$PWD/build" + substituteInPlace client/buck.py \ + --replace '"buck"' '"${buck}/bin/buck"' + substituteInPlace client/tests/buck_test.py \ + --replace '"buck"' '"${buck}/bin/buck"' ''; - buildInputs = [ pyre-bin rsync ]; + buildInputs = [ pyre-bin ]; + nativeBuildInputs = [ rsync ]; # only required for build-pypi-package.sh propagatedBuildInputs = with python3.pkgs; [ docutils typeshed ]; buildPhase = '' bash scripts/build-pypi-package.sh --version ${pyre-version} --bundle-typeshed ${typeshed} cp -r build/dist dist ''; - - doCheck = false; # can't open file 'nix_run_setup': + checkPhase = '' + bash scripts/run-python-tests.sh + ''; } diff --git a/pkgs/development/tools/reftools/default.nix b/pkgs/development/tools/reftools/default.nix new file mode 100644 index 000000000000..6ef724022e8c --- /dev/null +++ b/pkgs/development/tools/reftools/default.nix @@ -0,0 +1,29 @@ +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "reftools-unstable-${version}"; + version = "2018-09-14"; + rev = "654d0ba4f96d62286ca33cd46f7674b84f76d399"; + + goPackagePath = "github.com/davidrjenni/reftools"; + excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)"; + + src = fetchFromGitHub { + inherit rev; + + owner = "davidrjenni"; + repo = "reftools"; + sha256 = "12y2h1h15xadc8pa3xsj11hpdxz5dss6k7xaa4h1ifkvnasjp5w2"; + }; + + meta = with lib; { + description = "reftools - refactoring tools for Go"; + homepage = https://github.com/davidrjenni/reftools; + license = licenses.bsd2; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/rust/cargo-asm/default.nix b/pkgs/development/tools/rust/cargo-asm/default.nix index ca793bf49080..246f5b18843c 100644 --- a/pkgs/development/tools/rust/cargo-asm/default.nix +++ b/pkgs/development/tools/rust/cargo-asm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, rustPlatform }: +{ stdenv, fetchFromGitHub, rustPlatform, Security }: rustPlatform.buildRustPackage rec { name = "cargo-asm-${version}"; @@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1m2j6i8hc8isdlj77gv9m6sk6q0x3bvzpva2k16g27i1ngy1989b"; + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; + # Test checks against machine code output, which fails with some # LLVM/compiler versions. doCheck = false; diff --git a/pkgs/development/tools/rust/pyo3-pack/default.nix b/pkgs/development/tools/rust/pyo3-pack/default.nix new file mode 100644 index 000000000000..05c57e46b893 --- /dev/null +++ b/pkgs/development/tools/rust/pyo3-pack/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, rustPlatform, dbus, gmp, openssl, pkgconfig +, darwin }: + +let + inherit (darwin.apple_sdk.frameworks) Security; +in rustPlatform.buildRustPackage rec { + name = "pyo3-pack-${version}"; + version = "0.3.8"; + + src = fetchFromGitHub { + owner = "PyO3"; + repo = "pyo3-pack"; + rev = "v${version}"; + sha256 = "14343209w7wphkqh7pnw08pah09spjbwhk6l548g9ivra057gwaz"; + }; + + cargoSha256 = "0n7z9p3v92ijqc2ix60wi74as5rql61k5qbqi8b1b02b71xmsp7j"; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ gmp openssl ] + ++ stdenv.lib.optional stdenv.isDarwin Security + ++ stdenv.lib.optional stdenv.isLinux dbus; + + # Requires network access, fails in sandbox. + doCheck = false; + + meta = with stdenv.lib; { + description = "Build and publish crates with pyo3 bindings as python packages"; + homepage = https://github.com/PyO3/pyo3-pack; + license = licenses.mit; + maintainers = [ maintainers.danieldk ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix index b009d5ed601b..e28aad40ef47 100644 --- a/pkgs/development/tools/simavr/default.nix +++ b/pkgs/development/tools/simavr/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchFromGitHub, avrbinutils, avrgcc, avrlibc, libelf, which, git, pkgconfig, freeglut +{ stdenv, fetchFromGitHub, libelf, which, git, pkgconfig, freeglut +, avrbinutils, avrgcc, avrlibc , libGLU_combined }: stdenv.mkDerivation rec { @@ -15,14 +16,10 @@ stdenv.mkDerivation rec { # ld: cannot find -lsimavr enableParallelBuilding = false; - preConfigure = '' - substituteInPlace Makefile.common --replace "-I../simavr/sim/avr -I../../simavr/sim/avr" \ - "-I${avrlibc}/avr/include -L${avrlibc}/avr/lib/avr5 -B${avrlibc}/avr/lib -I../simavr/sim/avr -I../../simavr/sim/avr" - ''; buildFlags = "AVR_ROOT=${avrlibc}/avr SIMAVR_VERSION=${version}"; installFlags = buildFlags + " DESTDIR=$(out)"; - + # Hack to avoid TMPDIR in RPATHs. preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" ''; @@ -31,8 +28,8 @@ stdenv.mkDerivation rec { patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" ''; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ which git avrbinutils avrgcc avrlibc libelf freeglut libGLU_combined ]; + nativeBuildInputs = [ which git pkgconfig avrgcc avrbinutils ]; + buildInputs = [ libelf freeglut libGLU_combined ]; meta = with stdenv.lib; { description = "A lean and mean Atmel AVR simulator"; @@ -43,4 +40,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/development/tools/sourcetrail/default.nix b/pkgs/development/tools/sourcetrail/default.nix new file mode 100644 index 000000000000..2182f8697aab --- /dev/null +++ b/pkgs/development/tools/sourcetrail/default.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchurl, autoPatchelfHook +, icu, zlib, expat, dbus, libheimdal, openssl}: + +stdenv.mkDerivation rec { + name = "sourcetrail-${version}"; + version = "2018.3.55"; + + src = fetchurl { + name = "sourtrail.tar.gz"; + url = "https://www.sourcetrail.com/downloads/${version}/linux/64bit"; + sha256 = "6f5fbbecc221e7165ecbf1c4d208e302dade4feea9d43eb3265521efc0a376e2"; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ zlib expat dbus stdenv.cc.cc openssl ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/opt + + mv -v setup/share $out + mv -v data/gui/icon/logo_1024_1024.png $out/share/icons/sourcetrail.png + mv -v data/gui/icon/project_256_256.png $out/share/icons/project-sourcetrail.png + + mkdir -p $out/share/sourcetrail/doc + mv -v README EULA.txt $out/share/sourcetrail/doc + mv -v plugin $out/share/sourcetrail + + cp -rv . $out/opt + + rm $out/opt/lib/libssl.so + rm $out/opt/lib/platforms/{libqeglfs.so,libqwebgl.so} + ln -s ${openssl}/lib/libssl.so $out/opt/lib/libssl.so + + substituteInPlace \ + $out/share/applications/sourcetrail.desktop \ + --replace /usr/bin/ $out/bin/ + + cat <<EOF > $out/bin/sourcetrail + #! ${stdenv.shell} -e + + # XXX: Sourcetrail somehow copies the initial config files into the home + # directory without write permissions. We currently just copy them + # ourselves to work around this problem. + setup_config() { + local src dst + + [ ! -d ~/.config/sourcetrail ] && mkdir -p ~/.config/sourcetrail + for src in $out/opt/data/fallback/*; do + dst=~/.config/sourcetrail/"\$(basename "\$src")" + if [ ! -e "\$dst" ]; then + cp -r "\$src" "\$dst" + fi + done + + chmod -R u+w ~/.config/sourcetrail + } + + [ -d "\$HOME" ] && setup_config + exec "$out/opt/Sourcetrail.sh" "\$@" + EOF + chmod +x $out/bin/sourcetrail + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://www.sourcetrail.com; + description = "A cross-platform source explorer for C/C++ and Java"; + platforms = [ "x86_64-linux" ]; + license = licenses.unfree; + maintainers = with maintainers; [ midchildan ]; + }; +} diff --git a/pkgs/development/tools/unconvert/default.nix b/pkgs/development/tools/unconvert/default.nix new file mode 100644 index 000000000000..1e81c5b9f86e --- /dev/null +++ b/pkgs/development/tools/unconvert/default.nix @@ -0,0 +1,31 @@ + +{ buildGoPackage +, lib +, fetchFromGitHub +}: + +buildGoPackage rec { + name = "unconvert-unstable-${version}"; + version = "2018-07-03"; + rev = "1a9a0a0a3594e9363e49545fb6a4e24ac4c68b7b"; + + goPackagePath = "github.com/mdempsky/unconvert"; + + src = fetchFromGitHub { + inherit rev; + + owner = "mdempsky"; + repo = "unconvert"; + sha256 = "1ww5qk1cmdis4ig5mb0b0w7nzrf3734s51plmgdxqsr35y88q4p9"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Remove unnecessary type conversions from Go source"; + homepage = https://github.com/mdempsky/unconvert; + license = licenses.bsd3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/development/tools/unconvert/deps.nix b/pkgs/development/tools/unconvert/deps.nix new file mode 100644 index 000000000000..333ec7ca3b15 --- /dev/null +++ b/pkgs/development/tools/unconvert/deps.nix @@ -0,0 +1,29 @@ +[ + { + goPackagePath = "github.com/kisielk/gotool"; + fetch = { + type = "git"; + url = "https://github.com/kisielk/gotool"; + rev = "80517062f582ea3340cd4baf70e86d539ae7d84d"; + sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2"; + sha256 = "00mwzxly5isgf0glz7k3k2dkyqkjfc4z55qxajx4lgcp3h8xn9xj"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "96e9e165b75e735822645eff82850b08c377be36"; + sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg"; + }; + } +] diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 47a11e1b7f4d..be2b0689f925 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.10.1"; + version = "1.12.1"; src = fetchzip { url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; - sha256 = "0j9y53k0wxgwjvvpbs6rr4nbydg3bn4khcxsrnzyrakym0ihgmr1"; + sha256 = "084xci8y5na2765sh8flc8c5z7fik62filf1p58aqrb2000vna1j"; }; buildInputs = [ nodejs ]; |