diff options
Diffstat (limited to 'pkgs/development')
48 files changed, 1154 insertions, 619 deletions
diff --git a/pkgs/development/compilers/graalvm/default.nix b/pkgs/development/compilers/graalvm/default.nix index 7721ce06a561..a35143b43496 100644 --- a/pkgs/development/compilers/graalvm/default.nix +++ b/pkgs/development/compilers/graalvm/default.nix @@ -50,6 +50,9 @@ let rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_${sha1}/libffi.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; } rec { sha1 = "8819cea8bfe22c9c63f55465e296b3855ea41786"; name = "TruffleJSON_${sha1}/trufflejson.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/trufflejson-20180130.jar; } rec { sha1 = "9712a8124c40298015f04a74f61b3d81a51513af"; name = "CHECKSTYLE_8.8_${sha1}/checkstyle-8.8.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/checkstyle-8.8-all.jar; } + rec { sha1 = "a828a4f32caf9ac0b74f2548f87310959558c526"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612.tar.gz; } + rec { sha1 = "7ac829f0c9a37f5cc39afd2265588a365480720d"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612-linux-amd64.tar.gz; } + rec { sha1 = "e6e60889b7211a80b21052a249bd7e0f88f79fee"; name = "Java-WebSocket_${sha1}/java-websocket.jar"; url = mirror://maven/org/java-websocket/Java-WebSocket/1.3.9/Java-WebSocket-1.3.9.jar; } ]; findbugs = fetchzip { @@ -61,13 +64,13 @@ let in rec { mx = stdenv.mkDerivation rec { - version = "5.176.4"; + version = "5.192.0"; name = "mx"; src = fetchFromGitHub { owner = "graalvm"; repo = "mx"; rev = version; - sha256 = "0xmx4hpnd6m9hk49lgwnvwd0q11s2m4d8axwq7zzc8wm10d692xw"; + sha256 = "04gdf1gzlc8a6li8lcnrs2j9zicj11fs1vqqf7cmhb4pm2h72hml"; }; nativeBuildInputs = [ makeWrapper ]; buildPhase = '' @@ -79,6 +82,11 @@ in rec { 'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False): print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly)) return True' + + # avoid crash with 'ValueError: ZIP does not support timestamps before 1980' + substituteInPlace mx.py --replace \ + 'zipfile.ZipInfo(arcname, time.localtime(os.path.getmtime(join(root, f)))[:6])' \ + 'zipfile.ZipInfo(arcname, time.strptime ("1 Jan 1980", "%d %b %Y" )[:6])' ''; installPhase = '' mkdir -p $out/bin @@ -97,9 +105,9 @@ in rec { # copy of pkgs.oraclejvm8 with JVMCI interface (TODO: it should work with pkgs.openjdk8 too) jvmci8 = stdenv.mkDerivation rec { - version = "0.45"; + version = "0.49"; name = let - n = "jvmci8u171-${version}"; + n = "jvmci${/*"8u191"*/ lib.removePrefix "oraclejdk-" oraclejdk8.name}-${version}"; in if (lib.stringLength n) == (lib.stringLength oraclejdk8.name) then n else @@ -108,7 +116,7 @@ in rec { owner = "graalvm"; repo = "graal-jvmci-8"; rev = "jvmci-${version}"; - sha256 = "1nppk9dpamisiadss1iy82i3rf6igndbf1vax85w9lz310kh0d12"; + sha256 = "1zgin0w1qa7wmfhcisx470fhnmddfxxp5nyyix31yaa7dznql82k"; }; buildInputs = [ mx mercurial ]; postUnpack = '' @@ -146,7 +154,7 @@ in rec { }; graalvm8 = stdenv.mkDerivation rec { - version = "1.0.0-rc3"; + version = "1.0.0-rc8"; name = let n = "graal-${version}"; in if (lib.stringLength n) == (lib.stringLength jvmci8.name) then @@ -157,7 +165,7 @@ in rec { owner = "oracle"; repo = "graal"; rev = "vm-${version}"; - sha256 = "1hcs4m6ailapgi3bikav1i517vqn5pn595cyqqjfvlnkjwihbnc3"; + sha256 = "1fada4awrr8bhw294xdiq4bagvgrlcr44mw6338gaal0ky3vkm0p"; }; buildInputs = [ mx zlib mercurial jvmci8 ]; postUnpack = '' @@ -170,6 +178,17 @@ in rec { hg checkout ${lib.escapeShellArg src.rev} ) ''; + postPatch = '' + substituteInPlace substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/PosixDirectives.java \ + --replace '<zlib.h>' '<${zlib.dev}/include/zlib.h>' + substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \ + --replace 'cmd.add("-v");' 'cmd.add("-v"); cmd.add("-L${zlib}/lib");' + substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/c/codegen/CCompilerInvoker.java \ + --replace 'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "gcc");' \ + 'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "${stdenv.cc}/bin/gcc");' + substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \ + --replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";' + ''; buildPhase = '' # make a copy of jvmci8 cp -dpR ${jvmci8} $out @@ -178,13 +197,14 @@ in rec { export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild export MX_CACHE_DIR=${makeMxCache graal-mxcache} + ( cd substratevm mkdir -p clibraries mx --java-home $out build # bootstrap native-image (that was removed from mx build in https://github.com/oracle/graal/commit/140d7a7edf54ec5872a8ff45869cd1ae499efde4) - mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/svm-driver.jar com.oracle.svm.driver.NativeImage + mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/jdk1.8/svm-driver.jar com.oracle.svm.driver.NativeImage ) ( cd tools mx --java-home $out build @@ -195,17 +215,17 @@ in rec { mkdir -p $out/jre/tools/{profiler,chromeinspector,truffle/builder} $out/jre/lib/{graal,include,truffle/include} cp -vpLR substratevm/svmbuild/native-image-root/lib/* $out/jre/lib/ || true # ignore "same file" error when dereferencing symlinks cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/bin/* $out/jre/lib/amd64/ - cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/graal-*processor*.jar $out/jre/lib/graal/ + cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-*processor*.jar $out/jre/lib/graal/ cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/include/ - cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/graal-management.jar $out/jre/lib/jvmci/ + cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-management.jar $out/jre/lib/jvmci/ cp -vdpR $out/jre/lib/svm/clibraries $out/jre/lib/svm/builder/ - cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/dists/* $out/jre/lib/truffle/ + cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/* $out/jre/lib/truffle/ cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/truffle/include/ cp -vpLR substratevm/svmbuild/native-image-root/tools/* $out/jre/tools/ cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/chromeinspector* $out/jre/tools/chromeinspector/ cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/truffle-profiler* $out/jre/tools/profiler/ cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/* $out/jre/tools/truffle/ - cp -vp $MX_ALT_OUTPUT_ROOT/truffle/dists/truffle-nfi.jar $out/jre/tools/truffle/builder/ + cp -vp $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/truffle-nfi.jar $out/jre/tools/truffle/builder/ echo "name=GraalVM ${version}" > $out/jre/lib/amd64/server/vm.properties echo -n "graal" > $out/jre/lib/jvmci/compiler-name diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix index d12d3fefb944..a1ecdd610a3e 100644 --- a/pkgs/development/coq-modules/contribs/default.nix +++ b/pkgs/development/coq-modules/contribs/default.nix @@ -1018,7 +1018,7 @@ let mkContrib = repo: revs: param: sha256 = "0fp3vdl79c8d759qjhk42rjfpkd0ba4pcw572f5gxn28kfwz3rrj"; }; - zfc = mkContrib "zfc" [ "8.5" "8.6" "8.7" ] { + zfc = mkContrib "zfc" [ "8.5" "8.6" "8.7" "8.8" ] { version = "v8.5.0-5-gbba3259"; rev = "bba325933370fea64780b1afa2fad54c1b567819"; sha256 = "0iwkpmc22nwasrk4g7ki4s5y05zjs7kmqk3j98giwp2wiavhgapn"; diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix index 92c3c87774ab..99a6fe311a01 100644 --- a/pkgs/development/coq-modules/mathcomp/default.nix +++ b/pkgs/development/coq-modules/mathcomp/default.nix @@ -1,6 +1,8 @@ -{ callPackage, fetchurl, coq }: +{ stdenv, fetchurl, coq, ncurses, which +, graphviz, withDoc ? false +}: -let param = +let params = let param_1_7 = { version = "1.7.0"; @@ -16,14 +18,48 @@ let param = "8.6" = param_1_7; "8.7" = param_1_7; "8.8" = param_1_7; + "8.9" = param_1_7; - }."${coq.coq-version}" -; in + }; + param = params."${coq.coq-version}"; +in -callPackage ./generic.nix { +stdenv.mkDerivation { name = "coq${coq.coq-version}-mathcomp-${param.version}"; + src = fetchurl { url = "https://github.com/math-comp/math-comp/archive/mathcomp-${param.version}.tar.gz"; inherit (param) sha256; }; + + nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; + buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); + + enableParallelBuilding = true; + + buildFlags = stdenv.lib.optionalString withDoc "doc"; + + preBuild = '' + patchShebangs etc/utils/ssrcoqdep || true + cd mathcomp + export COQBIN=${coq}/bin/ + ''; + + installPhase = '' + make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install + '' + stdenv.lib.optionalString withDoc '' + make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ + ''; + + meta = with stdenv.lib; { + homepage = http://ssr.msr-inria.inria.fr/; + license = licenses.cecill-b; + maintainers = [ maintainers.vbgl maintainers.jwiegley ]; + platforms = coq.meta.platforms; + }; + + passthru = { + compatibleCoqVersions = v: builtins.hasAttr v params; + }; + } diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix deleted file mode 100644 index 2a602711965f..000000000000 --- a/pkgs/development/coq-modules/mathcomp/generic.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, coq, ncurses, which -, graphviz, withDoc ? false -, src, name -}: - -stdenv.mkDerivation { - - inherit name; - inherit src; - - nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; - buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ]; - propagatedBuildInputs = [ coq ]; - - enableParallelBuilding = true; - - buildFlags = stdenv.lib.optionalString withDoc "doc"; - - preBuild = '' - patchShebangs etc/utils/ssrcoqdep || true - cd mathcomp - export COQBIN=${coq}/bin/ - ''; - - installPhase = '' - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install - '' + stdenv.lib.optionalString withDoc '' - make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/ - ''; - - meta = with stdenv.lib; { - homepage = http://ssr.msr-inria.inria.fr/; - license = licenses.cecill-b; - maintainers = [ maintainers.vbgl maintainers.jwiegley ]; - platforms = coq.meta.platforms; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ]; - }; - -} diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix index 9e9c3c7957aa..840189e347a5 100644 --- a/pkgs/development/coq-modules/ssreflect/default.nix +++ b/pkgs/development/coq-modules/ssreflect/default.nix @@ -1,6 +1,8 @@ -{ callPackage, fetchurl, coq }: +{ stdenv, fetchurl, coq, ncurses, which +, graphviz, withDoc ? false +}: -let param = +let params = let param_1_7 = { version = "1.7.0"; @@ -16,14 +18,49 @@ let param = "8.6" = param_1_7; "8.7" = param_1_7; "8.8" = param_1_7; + "8.9" = param_1_7; - }."${coq.coq-version}" -; in + }; + param = params."${coq.coq-version}"; +in + +stdenv.mkDerivation { -callPackage ./generic.nix { name = "coq${coq.coq-version}-ssreflect-${param.version}"; src = fetchurl { url = "https://github.com/math-comp/math-comp/archive/mathcomp-${param.version}.tar.gz"; inherit (param) sha256; }; + + nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; + buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]); + + enableParallelBuilding = true; + + preBuild = '' + patchShebangs etc/utils/ssrcoqdep || true + cd mathcomp/ssreflect + export COQBIN=${coq}/bin/ + ''; + + installPhase = '' + make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install + ''; + + postInstall = stdenv.lib.optionalString withDoc '' + mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/ + cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/ + ''; + + meta = with stdenv.lib; { + homepage = http://ssr.msr-inria.inria.fr/; + license = licenses.cecill-b; + maintainers = with maintainers; [ vbgl jwiegley ]; + inherit (coq.meta) platforms; + }; + + passthru = { + compatibleCoqVersions = v: builtins.hasAttr v params; + }; + } diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix deleted file mode 100644 index 23e364cd960d..000000000000 --- a/pkgs/development/coq-modules/ssreflect/generic.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, coq, ncurses, which -, graphviz, withDoc ? false -, src, name, patches ? [] -}: - -stdenv.mkDerivation { - - inherit name; - inherit src; - - nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ]; - buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ]; - propagatedBuildInputs = [ coq ]; - - enableParallelBuilding = true; - - inherit patches; - - preBuild = '' - patchShebangs etc/utils/ssrcoqdep || true - cd mathcomp/ssreflect - export COQBIN=${coq}/bin/ - ''; - - installPhase = '' - make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install - ''; - - postInstall = '' - # mkdir -p $out/bin - # cp -p bin/ssrcoq $out/bin - # cp -p bin/ssrcoq.byte $out/bin - '' + stdenv.lib.optionalString withDoc '' - mkdir -p $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/ - cp -r html $out/share/doc/coq/${coq.coq-version}/user-contrib/mathcomp/ssreflect/ - ''; - - meta = with stdenv.lib; { - homepage = http://ssr.msr-inria.inria.fr/; - license = licenses.cecill-b; - maintainers = with maintainers; [ vbgl jwiegley ]; - platforms = coq.meta.platforms; - }; - - passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" ]; - }; - -} diff --git a/pkgs/development/dhall-modules/default.nix b/pkgs/development/dhall-modules/default.nix new file mode 100644 index 000000000000..b6632a86f31f --- /dev/null +++ b/pkgs/development/dhall-modules/default.nix @@ -0,0 +1,9 @@ +{ pkgs }: + +# TODO: add into the toplevel fixpoint instead of using rec +rec { + + prelude = prelude_3_0_0; + prelude_3_0_0 = pkgs.callPackage ./prelude/v3.nix {}; + +} diff --git a/pkgs/development/dhall-modules/prelude/v3.nix b/pkgs/development/dhall-modules/prelude/v3.nix new file mode 100644 index 000000000000..ef673310ceb0 --- /dev/null +++ b/pkgs/development/dhall-modules/prelude/v3.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "dhall-prelude"; + + src = fetchFromGitHub { + owner = "dhall-lang"; + repo = "dhall-lang"; + # Commit where the v3.0.0 prelude folder was merged into dhall-lang + # and a LICENSE file has been added. + rev = "f6aa9399f1ac831d66c34104abe6856023c5b2df"; + sha256 = "0kqjgh3y1l3cb3rj381j7c09547g1vh2dsfzpm08y1qajhhf9vgf"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + cp -r Prelude $out + ''; + + meta = { + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ Profpatsch ]; + }; +} diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 56ffd6ee54ee..1a6d38ba5d8d 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -893,6 +893,9 @@ self: super: { # https://github.com/aisamanra/config-ini/issues/12 config-ini = dontCheck super.config-ini; + # We've remove cpython 3.4 from nixpkgs + cpython = null; + # doctest >=0.9 && <0.12 genvalidity-property = doJailbreak super.genvalidity-property; path = dontCheck super.path; diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 8f230c92aaa1..a0bf655a67b7 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -443,6 +443,7 @@ stdenv.mkDerivation ({ env = shellFor { packages = p: [ drv ]; + inherit shellHook; }; }; diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix deleted file mode 100644 index 18b90cd1da46..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.4/default.nix +++ /dev/null @@ -1,214 +0,0 @@ -{ stdenv, fetchurl, fetchpatch -, bzip2 -, expat -, libffi -, gdbm -, lzma -, ncurses -, openssl -, readline -, sqlite -, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false -, zlib -, callPackage -, self -, CF, configd -, python-setup-hook -# For the Python package set -, packageOverrides ? (self: super: {}) -}: - -assert x11Support -> tcl != null - && tk != null - && xproto != null - && libX11 != null; - -with stdenv.lib; - -let - majorVersion = "3.4"; - minorVersion = "9"; - minorVersionSuffix = ""; - version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; - libPrefix = "python${majorVersion}"; - sitePackages = "lib/${libPrefix}/site-packages"; - - buildInputs = filter (p: p != null) [ - zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ] - ++ optionals x11Support [ tcl tk libX11 xproto ] - ++ optionals stdenv.isDarwin [ CF configd ]; - - hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); - -in stdenv.mkDerivation { - name = "python3-${version}"; - pythonVersion = majorVersion; - inherit majorVersion version; - - inherit buildInputs; - - src = fetchurl { - url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; - sha256 = "1n9b1kavmw8b7rc3gkrka4fjzrbfq9iqy791yncaf09bp9v9cqjr"; - }; - - NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; - - # Determinism: The interpreter is patched to write null timestamps when compiling python files. - # This way python doesn't try to update them when we freeze timestamps in nix store. - DETERMINISTIC_BUILD=1; - # Determinism: We fix the hashes of str, bytes and datetime objects. - PYTHONHASHSEED=0; - - prePatch = optionalString stdenv.isDarwin '' - substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' - substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' - ''; - - patches = [ - ./no-ldconfig.patch - ./ld_library_path.patch - ] ++ optionals (x11Support && stdenv.isDarwin) [ - ./use-correct-tcl-tk-on-darwin.patch - ] ++ optionals hasDistutilsCxxPatch [ - # Fix for http://bugs.python.org/issue1222585 - # Upstream distutils is calling C compiler to compile C++ code, which - # only works for GCC and Apple Clang. This makes distutils to call C++ - # compiler when needed. - (fetchpatch { - url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch"; - sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8"; - extraPrefix = ""; - }) - ]; - - postPatch = '' - # Determinism - substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])" - # Determinism. This is done unconditionally - substituteInPlace "Lib/importlib/_bootstrap.py" --replace "source_mtime = int(source_stats['mtime'])" "source_mtime = 1" - '' + optionalString (x11Support && (tix != null)) '' - substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" - '' - # Avoid picking up getentropy() from glibc >= 2.25, as that would break - # on older kernels. http://bugs.python.org/issue29157 - + optionalString stdenv.isLinux '' - substituteInPlace Python/random.c --replace 'defined(HAVE_GETENTROPY)' '0' - cat Python/random.c - ''; - - CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}"; - LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}"; - LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}"; - - configureFlags = [ - "--enable-shared" - "--with-threads" - "--without-ensurepip" - "--with-system-expat" - "--with-system-ffi" - ] - # Never even try to use lchmod on linux, - # don't rely on detecting glibc-isms. - ++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no"; - - preConfigure = '' - for i in /usr /sw /opt /pkg; do # improve purity - substituteInPlace ./setup.py --replace $i /no-such-path - done - ${optionalString stdenv.isDarwin '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2" - export MACOSX_DEPLOYMENT_TARGET=10.6 - '' - + optionalString stdenv.hostPlatform.isMusl '' - export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000" - ''} - ''; - - setupHook = python-setup-hook sitePackages; - - postInstall = '' - # needed for some packages, especially packages that backport functionality - # to 2.x from 3.x - for item in $out/lib/python${majorVersion}/test/*; do - if [[ "$item" != */test_support.py* - && "$item" != */test/support - && "$item" != */test/libregrtest - && "$item" != */test/regrtest.py* ]]; then - rm -rf "$item" - else - echo $item - fi - done - touch $out/lib/python${majorVersion}/test/__init__.py - - ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}" - paxmark E $out/bin/python${majorVersion} - - # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484 - echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py - - # Determinism: Windows installers were not deterministic. - # We're also not interested in building Windows installers. - find "$out" -name 'wininst*.exe' | xargs -r rm -f - - # Use Python3 as default python - ln -s "$out/bin/idle3" "$out/bin/idle" - ln -s "$out/bin/pydoc3" "$out/bin/pydoc" - ln -s "$out/bin/python3" "$out/bin/python" - ln -s "$out/bin/python3-config" "$out/bin/python-config" - ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc" - - # Get rid of retained dependencies on -dev packages, and remove - # some $TMPDIR references to improve binary reproducibility. - # Note that the .pyc file of _sysconfigdata.py should be regenerated! - for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do - sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g" - done - - # Determinism: rebuild all bytecode - # We exclude lib2to3 because that's Python 2 code which fails - # We rebuild three times, once for each optimization level - find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i - - ''; - - passthru = let - pythonPackages = callPackage ../../../../../top-level/python-packages.nix { - python = self; - overrides = packageOverrides; - }; - in rec { - inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch; - executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; - withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; - pkgs = pythonPackages; - isPy3 = true; - isPy34 = true; - is_py3k = true; # deprecated - interpreter = "${self}/bin/${executable}"; - }; - - enableParallelBuilding = true; - - doCheck = false; # expensive, and fails - - meta = { - homepage = http://python.org; - description = "A high-level dynamically-typed programming language"; - longDescription = '' - Python is a remarkably powerful dynamic programming language that - is used in a wide variety of application domains. Some of its key - distinguishing features include: clear, readable syntax; strong - introspection capabilities; intuitive object orientation; natural - expression of procedural code; full modularity, supporting - hierarchical packages; exception-based error handling; and very - high level dynamic data types. - ''; - license = licenses.psfl; - platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ fridh ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch b/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch deleted file mode 100644 index 3172eb6d18e4..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 85991e0d7f0e631240f3f6233bd65d1128a66dec Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk <fridh@fridh.nl> -Date: Thu, 14 Sep 2017 10:00:31 +0200 -Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH - -Backports support for LD_LIBRARY_PATH from 3.6 ---- - Lib/ctypes/util.py | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 780cd5d21b..d7ac15070f 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -181,8 +181,32 @@ elif os.name == "posix": - def _findSoname_ldconfig(name): - return None - -+ def _findLib_ld(name): -+ # See issue #9998 for why this is needed -+ expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) -+ cmd = ['ld', '-t'] -+ libpath = os.environ.get('LD_LIBRARY_PATH') -+ if libpath: -+ for d in libpath.split(':'): -+ cmd.extend(['-L', d]) -+ cmd.extend(['-o', os.devnull, '-l%s' % name]) -+ result = None -+ try: -+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, -+ stderr=subprocess.PIPE, -+ universal_newlines=True) -+ out, _ = p.communicate() -+ res = re.search(expr, os.fsdecode(out)) -+ if res: -+ result = res.group(0) -+ except Exception as e: -+ pass # result will be None -+ return result -+ - def find_library(name): -- return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -+ # See issue #9998 -+ return _findSoname_ldconfig(name) or \ -+ _get_soname(_findLib_gcc(name) or _findLib_ld(name)) - - ################################################################ - # test code --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.4/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.4/no-ldconfig.patch deleted file mode 100644 index 3cb77a107254..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.4/no-ldconfig.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 81bd99ad9058feb1d0361bc8862e8567c21a6142 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk <fridh@fridh.nl> -Date: Mon, 28 Aug 2017 09:24:06 +0200 -Subject: [PATCH] Don't use ldconfig and speed up uuid load - ---- - Lib/ctypes/util.py | 52 ++-------------------------------------------------- - Lib/uuid.py | 50 ++------------------------------------------------ - 2 files changed, 4 insertions(+), 98 deletions(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 595113bffd..780cd5d21b 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -88,28 +88,7 @@ elif os.name == "posix": - import re, tempfile - - def _findLib_gcc(name): -- expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) -- fdout, ccout = tempfile.mkstemp() -- os.close(fdout) -- cmd = 'if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;' \ -- 'LANG=C LC_ALL=C $CC -Wl,-t -o ' + ccout + ' 2>&1 -l' + name -- try: -- f = os.popen(cmd) -- try: -- trace = f.read() -- finally: -- rv = f.close() -- finally: -- try: -- os.unlink(ccout) -- except FileNotFoundError: -- pass -- if rv == 10: -- raise OSError('gcc or cc command not found') -- res = re.search(expr, trace) -- if not res: -- return None -- return res.group(0) -+ return None - - - if sys.platform == "sunos5": -@@ -200,34 +179,7 @@ elif os.name == "posix": - else: - - def _findSoname_ldconfig(name): -- import struct -- if struct.calcsize('l') == 4: -- machine = os.uname().machine + '-32' -- else: -- machine = os.uname().machine + '-64' -- mach_map = { -- 'x86_64-64': 'libc6,x86-64', -- 'ppc64-64': 'libc6,64bit', -- 'sparc64-64': 'libc6,64bit', -- 's390x-64': 'libc6,64bit', -- 'ia64-64': 'libc6,IA-64', -- } -- abi_type = mach_map.get(machine, 'libc6') -- -- # XXX assuming GLIBC's ldconfig (with option -p) -- regex = os.fsencode( -- '\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)) -- try: -- with subprocess.Popen(['/sbin/ldconfig', '-p'], -- stdin=subprocess.DEVNULL, -- stderr=subprocess.DEVNULL, -- stdout=subprocess.PIPE, -- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: -- res = re.search(regex, p.stdout.read()) -- if res: -- return os.fsdecode(res.group(1)) -- except OSError: -- pass -+ return None - - def find_library(name): - return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -diff --git a/Lib/uuid.py b/Lib/uuid.py -index 1061bffc43..846f5819f5 100644 ---- a/Lib/uuid.py -+++ b/Lib/uuid.py -@@ -451,57 +451,11 @@ def _netbios_getnode(): - return ((bytes[0]<<40) + (bytes[1]<<32) + (bytes[2]<<24) + - (bytes[3]<<16) + (bytes[4]<<8) + bytes[5]) - --# Thanks to Thomas Heller for ctypes and for his help with its use here. - --# If ctypes is available, use it to find system routines for UUID generation. --# XXX This makes the module non-thread-safe! - _uuid_generate_random = _uuid_generate_time = _UuidCreate = None --try: -- import ctypes, ctypes.util - -- # The uuid_generate_* routines are provided by libuuid on at least -- # Linux and FreeBSD, and provided by libc on Mac OS X. -- for libname in ['uuid', 'c']: -- try: -- lib = ctypes.CDLL(ctypes.util.find_library(libname)) -- except: -- continue -- if hasattr(lib, 'uuid_generate_random'): -- _uuid_generate_random = lib.uuid_generate_random -- if hasattr(lib, 'uuid_generate_time'): -- _uuid_generate_time = lib.uuid_generate_time -- if _uuid_generate_random is not None: -- break # found everything we were looking for -- -- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted -- # in issue #8621 the function generates the same sequence of values -- # in the parent process and all children created using fork (unless -- # those children use exec as well). -- # -- # Assume that the uuid_generate functions are broken from 10.5 onward, -- # the test can be adjusted when a later version is fixed. -- import sys -- if sys.platform == 'darwin': -- import os -- if int(os.uname().release.split('.')[0]) >= 9: -- _uuid_generate_random = _uuid_generate_time = None -- -- # On Windows prior to 2000, UuidCreate gives a UUID containing the -- # hardware address. On Windows 2000 and later, UuidCreate makes a -- # random UUID and UuidCreateSequential gives a UUID containing the -- # hardware address. These routines are provided by the RPC runtime. -- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last -- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear -- # to bear any relationship to the MAC address of any network device -- # on the box. -- try: -- lib = ctypes.windll.rpcrt4 -- except: -- lib = None -- _UuidCreate = getattr(lib, 'UuidCreateSequential', -- getattr(lib, 'UuidCreate', None)) --except: -- pass -+_uuid_generate_time = _UuidCreate = None -+ - - def _unixdll_getnode(): - """Get the hardware address on Unix using ctypes.""" --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch deleted file mode 100644 index b73f62b97ec5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.4/use-correct-tcl-tk-on-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2779658..902d0eb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext): - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without -@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext): - if dir not in include_dirs: - include_dirs.append(dir) - -- # Check for various platform-specific directories -- if host_platform == 'sunos5': -- include_dirs.append('/usr/openwin/include') -- added_lib_dirs.append('/usr/openwin/lib') -- elif os.path.exists('/usr/X11R6/include'): -- include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -- elif os.path.exists('/usr/X11R5/include'): -- include_dirs.append('/usr/X11R5/include') -- added_lib_dirs.append('/usr/X11R5/lib') -- else: -- # Assume default location for X11 -- include_dirs.append('/usr/X11/include') -- added_lib_dirs.append('/usr/X11/lib') -- - # If Cygwin, then verify that X is installed before proceeding - if host_platform == 'cygwin': - x11_inc = find_file('X11/Xlib.h', [], include_dirs) -@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext): - if host_platform in ['aix3', 'aix4']: - libs.append('ld') - -- # Finally, link with the X11 libraries (not appropriate on cygwin) -- if host_platform != "cygwin": -- libs.append('X11') -- - ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], - define_macros=[('WITH_APPINIT', 1)] + defs, - include_dirs = include_dirs, diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix index 5d4eae4e0639..02d767000682 100644 --- a/pkgs/development/libraries/http-parser/default.nix +++ b/pkgs/development/libraries/http-parser/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python2Packages, utillinux, fixDarwinDylibNames }: +{ stdenv, fetchurl }: let version = "2.8.1"; @@ -10,38 +10,18 @@ in stdenv.mkDerivation { sha256 = "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai"; }; + NIX_CFLAGS_COMPILE = "-Wno-error"; patches = [ ./build-shared.patch ]; + makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ]; + buildFlags = "library"; + doCheck = true; + checkTarget = "test"; - configurePhase = "gyp -f make --depth=`pwd` http_parser.gyp"; - - buildFlags = [ "BUILDTYPE=Release" ]; - - buildInputs = - [ python2Packages.gyp ] - ++ stdenv.lib.optional stdenv.isLinux utillinux - ++ stdenv.lib.optionals stdenv.isDarwin [ python2Packages.python fixDarwinDylibNames ]; - - doCheck = !stdenv.isDarwin; - - checkPhase = '' - out/Release/test-nonstrict - out/Release/test-strict - ''; - - installPhase = '' - mkdir -p $out/lib - mv out/Release/${if stdenv.isDarwin then "*.dylib" else "lib.target/*"} $out/lib - - mkdir -p $out/include - mv http_parser.h $out/include - ''; - - meta = { + meta = with stdenv.lib; { description = "An HTTP message parser written in C"; - homepage = https://github.com/joyent/http-parser; - - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.unix; + maintainers = with maintainers; [ matthewbauer ]; + license = licenses.mit; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix index 5ec4634d6323..7f932d52dc41 100644 --- a/pkgs/development/libraries/java/lombok/default.nix +++ b/pkgs/development/libraries/java/lombok/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "lombok-1.16.22"; + name = "lombok-1.18.4"; src = fetchurl { url = "https://projectlombok.org/downloads/${name}.jar"; - sha256 = "1hr2jjlqdnxrw7ablqkf7ljc6n2q6a04ww14di06zs6i3l82zzpa"; + sha256 = "0hlpycnmzd71ihn59hzf445dvwky2lkv57jimx91i6v7xcnr5wrr"; }; buildCommand = '' diff --git a/pkgs/development/python-modules/httmock/default.nix b/pkgs/development/python-modules/httmock/default.nix new file mode 100644 index 000000000000..b50753c55864 --- /dev/null +++ b/pkgs/development/python-modules/httmock/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, requests }: + +buildPythonPackage rec { + pname = "httmock"; + version = "1.2.6"; + + src = fetchFromGitHub { + owner = "patrys"; + repo = "httmock"; + rev = version; + sha256 = "0iya8qsb2jm03s9p6sf1yzgm1irxl3dcq0k0a9ygl0skzjz5pvab"; + }; + + checkInputs = [ requests ]; + + meta = with stdenv.lib; { + description = "A mocking library for requests"; + homepage = https://github.com/patrys/httmock; + license = licenses.asl20; + maintainers = with maintainers; [ nyanloutre ]; + }; +} diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix index cdbcfee7180f..de8380280670 100644 --- a/pkgs/development/python-modules/imageio/default.nix +++ b/pkgs/development/python-modules/imageio/default.nix @@ -1,28 +1,42 @@ { stdenv , buildPythonPackage -, fetchurl +, fetchPypi +, pillow +, psutil , pytest , numpy +, isPy3k +, futures +, enum34 }: buildPythonPackage rec { pname = "imageio"; - version = "1.6"; + version = "2.4.1"; - src = fetchurl { - url = "https://github.com/imageio/imageio/archive/v${version}.tar.gz"; - sha256 = "195snkk3fsbjqd5g1cfsd9alzs5q45gdbi2ka9ph4yxqb31ijrbv"; + src = fetchPypi { + sha256 = "0jjiwf6wjipmykh33prjh448qv8mpgngfi77ndc7mym5r1xhgf0n"; + inherit pname version; }; - buildInputs = [ pytest ]; - propagatedBuildInputs = [ numpy ]; + checkInputs = [ pytest psutil ]; + propagatedBuildInputs = [ numpy pillow ] ++ stdenv.lib.optionals (!isPy3k) [ + futures + enum34 + ]; checkPhase = '' + export IMAGEIO_USERDIR="$TMP" + export IMAGEIO_NO_INTERNET="true" + export HOME="$(mktemp -d)" py.test ''; - # Tries to write in /var/tmp/.imageio - doCheck = false; + # For some reason, importing imageio also imports xml on Nix, see + # https://github.com/imageio/imageio/issues/395 + postPatch = '' + substituteInPlace tests/test_meta.py --replace '"urllib",' "\"urllib\",\"xml\"" + ''; meta = with stdenv.lib; { description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats"; diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix index 63613b516868..637c014cb1ab 100644 --- a/pkgs/development/python-modules/moviepy/default.nix +++ b/pkgs/development/python-modules/moviepy/default.nix @@ -4,6 +4,7 @@ , numpy , decorator , imageio +, isPy3k , tqdm }: diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix new file mode 100644 index 000000000000..24ab69f1a0bc --- /dev/null +++ b/pkgs/development/python-modules/python-gitlab/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildPythonPackage, fetchPypi, requests, six, mock, httmock }: + +buildPythonPackage rec { + pname = "python-gitlab"; + version = "1.6.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795"; + }; + + propagatedBuildInputs = [ requests six ]; + + checkInputs = [ mock httmock ]; + + meta = with stdenv.lib; { + description = "Interact with GitLab API"; + homepage = https://github.com/python-gitlab/python-gitlab; + license = licenses.lgpl3; + maintainers = with maintainers; [ nyanloutre ]; + }; +} 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/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/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/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/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/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/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/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/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"; + }; + } +] |