diff options
Diffstat (limited to 'pkgs/development/tools')
62 files changed, 930 insertions, 179 deletions
diff --git a/pkgs/development/tools/analysis/autoflake/default.nix b/pkgs/development/tools/analysis/autoflake/default.nix index 9522b1cf6b74..ce650adb7ef2 100644 --- a/pkgs/development/tools/analysis/autoflake/default.nix +++ b/pkgs/development/tools/analysis/autoflake/default.nix @@ -3,12 +3,12 @@ with python3Packages; buildPythonApplication rec { pname = "autoflake"; - version = "1.0"; + version = "1.1"; name = "${pname}-${version}"; src = fetchPypi { inherit pname version; - sha256 = "12k4v8w7awqp83j727y0iwcbjqj3ccvbai7c9m0wgbmq5xkvav8a"; + sha256 = "a74d684a7a02654f74582addc24a3016c06809316cc140457a4fe93a1e6ed131"; }; propagatedBuildInputs = [ pyflakes ]; diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 91037588552c..6043e2d289d7 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "6.19"; + version = "8.8"; name = "checkstyle-${version}"; src = fetchurl { url = "mirror://sourceforge/checkstyle/${name}-bin.tar.gz"; - sha256 = "0x899i5yamwyhv7wgii80fv5hl8bdq0b8wlx1f789l85ik8rjwk9"; + sha256 = "0yawd6mbz6cqj0qlrh01vy33p30f4s3pfrvsxwg5l11p416zzrz4"; }; installPhase = '' diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 97bd0d6e3dff..02f44f4bf704 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.80"; + version = "1.82"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; - sha256 = "1yx06yhkqlv9849ns7p97mj09gm9j7xc51q7yvzkk8ldvx4d4h88"; + sha256 = "0kk9injrxbv4mmmjswrh1kidal6l0sdzbp40kv8vwf5aiv8jjaz0"; }; buildInputs = [ pcre ]; diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix index f2481013fbbd..ec4d19423e6d 100644 --- a/pkgs/development/tools/analysis/include-what-you-use/default.nix +++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { ''; homepage = http://include-what-you-use.org; license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix index 284bf26782fe..1be5655b1e53 100644 --- a/pkgs/development/tools/analysis/spin/default.nix +++ b/pkgs/development/tools/analysis/spin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, makeWrapper, yacc, gcc +{ stdenv, lib, requireFile, makeWrapper, yacc, gcc , withISpin ? true, tk, swarm, graphviz }: let @@ -7,12 +7,17 @@ let in stdenv.mkDerivation rec { name = "spin-${version}"; - version = "6.4.7"; + version = "6.4.8"; url-version = stdenv.lib.replaceChars ["."] [""] version; - src = fetchurl { - url = "http://spinroot.com/spin/Src/spin${url-version}.tar.gz"; - sha256 = "17m2xaag0jns8hsa4466zxq35ylg9fnzynzvjjmx4ympbiil6mqv"; + src = requireFile { + name = "spin${url-version}.tar.gz"; + sha256 = "1rpazi5fj772121cn7r85fxypmaiv0x6x2l82b5y1xqzyf0fi4ph"; + message = '' + reCAPTCHA is preventing us to download the file for you. + Please download it at http://spinroot.com/spin/Src/index.html + and add it to the nix-store using nix-prefetch-url. + ''; }; nativeBuildInputs = [ makeWrapper ]; @@ -20,6 +25,12 @@ in stdenv.mkDerivation rec { sourceRoot = "Spin/Src${version}"; + unpackPhase = '' + # The archive is compressed twice + gunzip -c $src > spin.tar.gz + tar -xzf spin.tar.gz + ''; + installPhase = '' install -Dm755 spin $out/bin/spin wrapProgram $out/bin/spin \ diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix index 158de9226c69..d1320960f39a 100644 --- a/pkgs/development/tools/apktool/default.nix +++ b/pkgs/development/tools/apktool/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "apktool-${version}"; - version = "2.3.0"; + version = "2.3.1"; src = fetchurl { urls = [ "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar" "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar" ]; - sha256 = "b724c158ec99dbad723024e259fd73e5135c40d652a3c599cec6ade9264a568e"; + sha256 = "01xj2hivwwp3msvv0psxyxrzg95vj2ny56l3n90glhwznn7l60ai"; }; phases = [ "installPhase" ]; diff --git a/pkgs/development/tools/build-managers/bazel/0.4.nix b/pkgs/development/tools/build-managers/bazel/0.4.nix index d131232e96d9..7fa39ef21627 100644 --- a/pkgs/development/tools/build-managers/bazel/0.4.nix +++ b/pkgs/development/tools/build-managers/bazel/0.4.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { description = "Build tool that builds code quickly and reliably"; license = licenses.asl20; maintainers = with maintainers; [ cstrahan philandstuff ]; - platforms = platforms.unix; + platforms = platforms.linux; }; name = "bazel-${version}"; diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix index b4b2a4210d21..fcf06782e4dd 100644 --- a/pkgs/development/tools/build-managers/cmake/2.8.nix +++ b/pkgs/development/tools/build-managers/cmake/2.8.nix @@ -43,6 +43,11 @@ stdenv.mkDerivation rec { sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv"; }); + postPatch = '' + substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \ + --replace '"-framework CoreServices"' '""' + ''; + buildInputs = [ curl expat zlib bzip2 ] ++ optional useNcurses ncurses ++ optional useQt4 qt4; @@ -76,7 +81,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.cmake.org/; description = "Cross-Platform Makefile Generator"; - platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.linux; + platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [ ]; }; } diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index 4a2afbeedfe6..04d7d93455e9 100644 --- a/pkgs/development/tools/build-managers/conan/default.nix +++ b/pkgs/development/tools/build-managers/conan/default.nix @@ -1,27 +1,59 @@ -{ lib, buildPythonApplication, fetchPypi -, requests, fasteners, pyyaml, pyjwt, colorama, patch -, bottle, pluginbase, six, distro, pylint, node-semver -, future, pygments, mccabe -}: - -buildPythonApplication rec { - version = "0.28.1"; +{ lib, fetchpatch, python }: + +let newPython = python.override { + packageOverrides = self: super: { + distro = super.distro.overridePythonAttrs (oldAttrs: rec { + version = "1.1.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1vn1db2akw98ybnpns92qi11v94hydwp130s8753k6ikby95883j"; + }; + }); + node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec { + version = "0.2.0"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1080pdxrvnkr8i7b7bk0dfx6cwrkkzzfaranl7207q6rdybzqay3"; + }; + }); + }; +}; + +in newPython.pkgs.buildPythonApplication rec { + version = "1.1.1"; # remove patch below when updating pname = "conan"; - src = fetchPypi { + src = newPython.pkgs.fetchPypi { inherit pname version; - sha256 = "0zf564iqh0099yd779f9fgk21qyp87d7cmgfj34hmncf8y3qh32a"; + sha256 = "1k1r401bc9fgmhd5n5f29mjcn346r3zdrm7p28nwpr2r2p3fslrl"; }; - propagatedBuildInputs = [ + checkInputs = with newPython.pkgs; [ + nose + parameterized + mock + webtest + codecov + ]; + + propagatedBuildInputs = with newPython.pkgs; [ requests fasteners pyyaml pyjwt colorama patch bottle pluginbase six distro pylint node-semver future pygments mccabe ]; - # enable tests once all of these pythonPackages available: - # [ nose nose_parameterized mock webtest codecov ] - doCheck = false; + patches = [ + # already merged, remove with the next package update + (fetchpatch { + url = "https://github.com/conan-io/conan/commit/51cc4cbd51ac8f9b9efa2bf678a2d7810e273ff3.patch"; + sha256 = "0d93g4hjpfk8z870imwdswkw5qba2h5zhfgwwijiqhr2pv7fl1y7"; + }) + ]; + + preCheck = '' + export HOME="$TMP/conan-home" + mkdir -p "$HOME" + ''; meta = with lib; { homepage = https://conan.io; diff --git a/pkgs/development/tools/build-managers/doit/default.nix b/pkgs/development/tools/build-managers/doit/default.nix index 200ec6429a79..aeeb4dbd7798 100644 --- a/pkgs/development/tools/build-managers/doit/default.nix +++ b/pkgs/development/tools/build-managers/doit/default.nix @@ -3,14 +3,14 @@ let name = "doit"; - version = "0.30.3"; + version = "0.31.0"; in python3Packages.buildPythonApplication { name = "${name}-${version}"; src = fetchurl { url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz"; - sha256 = "1fcsslc3mc4bszq5xdqbxv37720s1s31d6pbfwc2iyxk1x2wi219"; + sha256 = "0v1yr04bfqnz3sp261np3zhf0y1b3a1daxc83iq308lscf39fdgx"; }; buildInputs = with python3Packages; [ mock pytest ]; diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix index 4a37ca011c28..2f4daa2edc86 100644 --- a/pkgs/development/tools/build-managers/icmake/default.nix +++ b/pkgs/development/tools/build-managers/icmake/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "icmake-${version}"; - version = "9.02.06"; + version = "9.02.07"; src = fetchFromGitHub { - sha256 = "1hs7fhqpkhlrjvjhfarf5bmxl8dw3r0immzdib27gwh3sfzgpx0b"; + sha256 = "1q3rwri5s1sqm4h75bahkjnlym4bk2ygg4fb75yrniwnj8rhdp12"; rev = version; repo = "icmake"; owner = "fbb-git"; diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 5db0bce21f79..27aa38cfa7e1 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -1,5 +1,7 @@ -{ lib, python3Packages }: -python3Packages.buildPythonApplication rec { +{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, m4 }: let + targetPrefix = lib.optionalString stdenv.isCross + (targetPlatform.config + "-"); +in python3Packages.buildPythonApplication rec { version = "0.44.0"; pname = "meson"; name = "${pname}-${version}"; @@ -33,6 +35,26 @@ python3Packages.buildPythonApplication rec { setupHook = ./setup-hook.sh; + crossFile = writeTextDir "cross-file.conf" '' + [binaries] + c = '${targetPrefix}cc' + cpp = '${targetPrefix}c++' + ar = '${targetPrefix}ar' + strip = '${targetPrefix}strip' + pkgconfig = 'pkg-config' + + [properties] + needs_exe_wrapper = true + + [host_machine] + system = '${targetPlatform.parsed.kernel.name}' + cpu_family = '${targetPlatform.parsed.cpu.family}' + cpu = '${targetPlatform.parsed.cpu.name}' + endian = ${if targetPlatform.isLittleEndian then "'little'" else "'big'"} + ''; + + inherit (stdenv) cc isCross; + meta = with lib; { homepage = http://mesonbuild.com; description = "SCons-like build system that use python as a front-end language and Ninja as a building backend"; diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh index 8f96e6146be0..341b1ff9e6eb 100644 --- a/pkgs/development/tools/build-managers/meson/setup-hook.sh +++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh @@ -6,11 +6,15 @@ mesonConfigurePhase() { fi # Build release by default. - mesonFlags="--buildtype=${mesonBuildType:-release} $mesonFlags" + if [ -n "@isCross@" ]; then + crossMesonFlags="--cross-file=@crossFile@/cross-file.conf" + fi + + mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-release} $mesonFlags" echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}" - meson build $mesonFlags "${mesonFlagsArray[@]}" + CC=@cc@/bin/cc CXX=@cc@/bin/c++ meson build $mesonFlags "${mesonFlagsArray[@]}" cd build if ! [[ -v enableParallelBuilding ]]; then @@ -29,7 +33,7 @@ fi mesonCheckPhase() { runHook preCheck - meson test + meson test --print-errorlogs runHook postCheck } diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix index a28e4a32168d..14c5eab8cd68 100644 --- a/pkgs/development/tools/doctl/default.nix +++ b/pkgs/development/tools/doctl/default.nix @@ -4,8 +4,8 @@ buildGoPackage rec { name = "doctl-${version}"; version = "${major}.${minor}.${patch}"; major = "1"; - minor = "5"; - patch = "0"; + minor = "7"; + patch = "2"; goPackagePath = "github.com/digitalocean/doctl"; excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)''; @@ -21,7 +21,7 @@ buildGoPackage rec { owner = "digitalocean"; repo = "doctl"; rev = "v${version}"; - sha256 = "0dk7l4b0ngqkwdlx8qgr99jzipyzazvkv7dybi75dnp725lwxkl2"; + sha256 = "1nkyl5274mbdf4j60f2sj0kvvppcpccf7xws11c9vj9c3zxs7r97"; }; meta = { diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index a176c5cb7645..5414abff66ae 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -1,13 +1,17 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which , docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, dblatex, gettext, itstool }: +let + pythonEnv = python.withPackages (ps: with ps; [ six ]); +in + stdenv.mkDerivation rec { name = "gtk-doc-${version}"; - version = "1.25"; + version = "1.27"; src = fetchurl { url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz"; - sha256 = "0hpxcij9xx9ny3gs9p0iz4r8zslw8wqymbyababiyl7603a6x90y"; + sha256 = "0vwsdl61nvnmqswlz5j9m4hg7qirhazwcikcnqf9nx0c13vx6sz2"; }; patches = [ @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = - [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl + [ pkgconfig perl pythonEnv libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl gnome-doc-utils dblatex gettext which itstool ]; diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix index b6daade32e78..95c2a6a28a78 100644 --- a/pkgs/development/tools/documentation/mkdocs/default.nix +++ b/pkgs/development/tools/documentation/mkdocs/default.nix @@ -4,14 +4,14 @@ with python.pkgs; buildPythonApplication rec { pname = "mkdocs"; - version = "0.17.2"; + version = "0.17.3"; name = "${pname}-${version}"; src = fetchFromGitHub { owner = "mkdocs"; repo = "mkdocs"; rev = version; - sha256 = "0hpjs9qj0nr57a249yv8xvl61d3d2rrdfqxp1fm28z77l2xjj772"; + sha256 = "15lv60gdc837zja5kn2rfp78kwyb1ckc43jg01zfzqra4qz7b6rw"; }; checkInputs = [ diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix index 11e2c6d2c5a4..43026e55e7f3 100644 --- a/pkgs/development/tools/flyway/default.nix +++ b/pkgs/development/tools/flyway/default.nix @@ -23,7 +23,7 @@ description = "Evolve your Database Schema easily and reliably across all your instances"; homepage = "https://flywaydb.org/"; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.cmcdragonkai ]; }; } diff --git a/pkgs/development/tools/fmbt/default.nix b/pkgs/development/tools/fmbt/default.nix new file mode 100644 index 000000000000..11880213bada --- /dev/null +++ b/pkgs/development/tools/fmbt/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, python, autoreconfHook, pkgconfig, makeWrapper +, flex +, gettext, libedit, glib, imagemagick, libxml2, boost, gnuplot, graphviz +, tesseract, gts, libXtst +}: +stdenv.mkDerivation rec { + version = "0.39"; + name = "fMBT-${version}"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "fMBT"; + rev = "v${version}"; + sha256 = "15sxwdcsjybq50vkla4md2ay8m67ndc4vwcsl5vwsjkim5qlxslb"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig flex makeWrapper + python.pkgs.wrapPython ]; + + buildInputs = [ python gettext libedit glib imagemagick libxml2 boost + gnuplot graphviz tesseract gts + ]; + + propagatedBuildInputs = with python.pkgs; [ + pyside pydbus pexpect pysideShiboken + ]; + + preBuild = '' + export PYTHONPATH="$PYTHONPATH:$out/lib/python${python.pythonVersion}/site-packages" + export PATH="$PATH:$out/bin" + export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [libXtst]}" + ''; + + postInstall = '' + echo -e '#! ${stdenv.shell}\npython "$@"' > "$out/bin/fmbt-python" + chmod a+x "$out/bin/fmbt-python" + patchShebangs "$out/bin" + for i in "$out"/bin/*; do + wrapProgram "$i" --suffix "PATH" ":" "$PATH" \ + --suffix "PYTHONPATH" ":" "$PYTHONPATH" \ + --suffix "LD_LIBRARY_PATH" ":" "$LD_LIBRARY_PATH" + done + ''; + + meta = with stdenv.lib; { + description = "Free Model-Based Testing tool"; + homepage = "https://github.com/intel/fMBT"; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; + }; +} + diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix index f1533f551b2e..58bc24e1ec64 100644 --- a/pkgs/development/tools/gauge/default.nix +++ b/pkgs/development/tools/gauge/default.nix @@ -2,15 +2,16 @@ buildGoPackage rec { name = "gauge-${version}"; - version = "0.9.6"; + version = "0.9.7"; goPackagePath = "github.com/getgauge/gauge"; + excludedPackages = ''\(build\|man\)''; src = fetchFromGitHub { owner = "getgauge"; repo = "gauge"; rev = "v${version}"; - sha256 = "0p2bnrzgx616jbyr9h4h9azaq7ry63z4qkwgy0ivwrpmhfqfqwmh"; + sha256 = "09afsi97yxlqwmrxvihravqvz17m7y402gbw4hvdk0iixa6jpq6a"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/gllvm/default.nix b/pkgs/development/tools/gllvm/default.nix new file mode 100644 index 000000000000..58ee7699b459 --- /dev/null +++ b/pkgs/development/tools/gllvm/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "gllvm-${version}"; + version = "2018-02-09"; + + goPackagePath = "github.com/SRI-CSL/gllvm"; + + src = fetchFromGitHub { + owner = "SRI-CSL"; + repo = "gllvm"; + rev = "ef83222afd22452dd1277329df227a326db9f84f"; + sha256 = "068mc8q7jmpjzh6pr0ygvv39mh4k7vz0dmiacxf3pdsigy3d1y1a"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/SRI-CSL/gllvm; + description = "Whole Program LLVM: wllvm ported to go"; + license = licenses.bsd3; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix index f11bb83a74ab..4ca3bf5e0741 100644 --- a/pkgs/development/tools/gnulib/default.nix +++ b/pkgs/development/tools/gnulib/default.nix @@ -1,17 +1,16 @@ { stdenv, fetchgit }: stdenv.mkDerivation { - name = "gnulib-0.1-357-gffe6467"; - - phases = ["unpackPhase" "installPhase"]; + name = "gnulib-20180226"; src = fetchgit { url = "http://git.savannah.gnu.org/r/gnulib.git"; - rev = "92b60e61666f008385d9b7f7443da17c7a44d1b1"; - sha256 = "0sa1dndvaxhw0zyc19al5cmpgzlwnnznjz89lw1b4vj3xn7avjnr"; + rev = "0bec5d56c6938c2f28417bb5fd1c4b05ea2e7d28"; + sha256 = "0sifr3bkmhyr5s6ljgfyr0fw6w49ajf11rlp1r797f3r3r6j9w4k"; }; installPhase = "mkdir -p $out; mv * $out/"; + dontFixup = true; meta = { homepage = http://www.gnu.org/software/gnulib/; diff --git a/pkgs/development/tools/go-langserver/default.nix b/pkgs/development/tools/go-langserver/default.nix new file mode 100644 index 000000000000..84efaf2a4b63 --- /dev/null +++ b/pkgs/development/tools/go-langserver/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "go-langserver-${version}"; + version = "unstable-2018-03-05"; + rev = "5d7a5dd74738978d635f709669241f164c120ebd"; + + goPackagePath = "github.com/sourcegraph/go-langserver"; + subPackages = [ "." ]; + + src = fetchFromGitHub { + inherit rev; + owner = "sourcegraph"; + repo = "go-langserver"; + sha256 = "0aih0akk3wk3332znkhr2bzxcc3parijq7n089mdahnf20k69xyz"; + }; + + meta = with stdenv.lib; { + description = "A Go language server protocol server"; + homepage = https://github.com/sourcegraph/go-langserver; + license = licenses.mit; + maintainers = with maintainers; [ johnchildren ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/guile/guile-lint/default.nix b/pkgs/development/tools/guile/guile-lint/default.nix index 19441c540179..fd9347a4007f 100644 --- a/pkgs/development/tools/guile/guile-lint/default.nix +++ b/pkgs/development/tools/guile/guile-lint/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { "exec guile" "exec ${guile}/bin/guile" ''; - doCheck = true; + doCheck = !stdenv.isDarwin; meta = with stdenv.lib; { description = "Checks syntax and semantics in a Guile program or module"; diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix index a259fd7d76ba..7efe556ebde0 100644 --- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix +++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix @@ -8,9 +8,10 @@ mkDerivation { src = fetchFromGitHub { owner = "haskell-CI"; repo = "haskell-ci"; - rev = "36b2ee58b9fd160d606608832625b2b6c32aec43"; - sha256 = "16g99jh5bszvfvb7mmyhl95mkf1l3ydyax8d9py91hi3m8r0c2x0"; + rev = "7ca5d751c35c6dc43392397b4641c4611ed55121"; + sha256 = "04f9jcxqv1mn0rw31x23ns6xdhgqjv55blsksadwr25qn2521zxb"; }; + jailbreak = true; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix index 0307027faa2e..b277957efa93 100644 --- a/pkgs/development/tools/icestorm/default.nix +++ b/pkgs/development/tools/icestorm/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "icestorm-${version}"; - version = "2018.02.14"; + version = "2018.03.07"; src = fetchFromGitHub { owner = "cliffordwolf"; repo = "icestorm"; - rev = "edbf5fce90ff0e71922a54241a1aec914cc3e230"; - sha256 = "01d6xv5c4x8w8lamc8n3vnqsyn7ykhh1ws7k96d6ij5fs52k94xb"; + rev = "535fde63613eccfeb7e5aad8ff97fbfb652a33b6"; + sha256 = "1j2p961k1fsq1xq8fnrv0hpwrb948q12jkb479zmrfk61w6la0df"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix index bfb37fc5f03b..c7cc05439763 100644 --- a/pkgs/development/tools/java/cfr/default.nix +++ b/pkgs/development/tools/java/cfr/default.nix @@ -1,28 +1,20 @@ -{ stdenv, fetchurl, jre }: +{ stdenv, makeWrapper, fetchurl, jre }: stdenv.mkDerivation rec { name = "cfr-${version}"; - version = "0_101"; + version = "0_125"; src = fetchurl { - sha256 = "0zwl3whypdm2qrw3hwaqjnifkb4wcdn8fx9scrjkli54bhr6dqch"; url = "http://www.benf.org/other/cfr/cfr_${version}.jar"; + sha256 = "1ad9ddg79cybv8j8l3mm67znyw54z5i55x4m9n239fn26p1ndawa"; }; - buildInputs = [ jre ]; + buildInputs = [ makeWrapper ]; - phases = [ "installPhase" ]; - - installPhase = '' - jar=$out/share/cfr/cfr_${version}.jar - - install -Dm644 ${src} $jar - - cat << EOF > cfr - #!${stdenv.shell} - exec ${jre}/bin/java -jar $jar "\''${@}" - EOF - install -Dm755 cfr $out/bin/cfr + buildCommand = '' + jar=$out/share/java/cfr_${version}.jar + install -Dm444 $src $jar + makeWrapper ${jre}/bin/java $out/bin/cfr --add-flags "-jar $jar" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/json2hcl/default.nix b/pkgs/development/tools/json2hcl/default.nix new file mode 100644 index 000000000000..d53b39021339 --- /dev/null +++ b/pkgs/development/tools/json2hcl/default.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "json2hcl"; + name = "${pname}-${version}"; + version = "0.0.6"; + + src = fetchFromGitHub { + inherit owner; + repo = pname; + rev = "v${version}"; + sha256 = "0knil88n2w41w3nzqz6ljgfjkl5r3x0bh7ifqgiyf6sin3pl4pn0"; + }; + + owner = "kvz"; + goPackagePath = "github.com/${owner}/${pname}"; + goDeps = ./deps.nix; + + meta = with lib; { + description = "Convert JSON to HCL, and vice versa"; + license = with licenses; [ mit ]; + maintainers = [ maintainers.matthewbauer ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/json2hcl/deps.nix b/pkgs/development/tools/json2hcl/deps.nix new file mode 100644 index 000000000000..bb9df28ad87f --- /dev/null +++ b/pkgs/development/tools/json2hcl/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/Acconut/hcl"; + fetch = { + type = "git"; + url = "https://github.com/Acconut/hcl"; + rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"; + sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"; + sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"; + }; + } +] diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index 77944297a972..660917ee9f1f 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which pkgconfig perl ] # autogen needs a build autogen when cross-compiling ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - buildPackages.autogen buildPackages.texinfo ]; + buildPackages.buildPackages.autogen buildPackages.texinfo ]; buildInputs = [ guile libxml2 ]; diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.16.x.nix index 507df5def0c1..43efcf462800 100644 --- a/pkgs/development/tools/misc/automake/automake-1.15.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.16.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: stdenv.mkDerivation rec { - name = "automake-1.15.1"; + name = "automake-1.16"; src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg"; + sha256 = "12jvcmkcmd5p14b41w9f7ixd3sca97pymd6lqbkwnl8qn6bjv3zr"; }; nativeBuildInputs = [ autoconf perl ]; diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix new file mode 100644 index 000000000000..e84aa0ef555a --- /dev/null +++ b/pkgs/development/tools/misc/fsatrace/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "fsatrace-${version}"; + version = "0.0.1-160"; + + src = fetchFromGitHub { + owner = "jacereda"; + repo = "fsatrace"; + rev = "2bf89d836e0156e68f121b0ffeedade7c9381f77"; + sha256 = "0bndfmm0y738azwzf6m6xg6gjnrwcqlfjsampk67vga40yylwkbw"; + }; + + preConfigure = '' + mkdir -p $out/libexec/${name} + export makeFlags=INSTALLDIR=$out/libexec/${name} + ''; + + postInstall = '' + mkdir -p $out/bin + ln -s $out/libexec/${name}/fsatrace $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/jacereda/fsatrace; + description = "filesystem access tracer"; + license = licenses.isc; + maintainers = [ maintainers.peti ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/gdb/darwin-target-match.patch b/pkgs/development/tools/misc/gdb/darwin-target-match.patch new file mode 100644 index 000000000000..1328d919503a --- /dev/null +++ b/pkgs/development/tools/misc/gdb/darwin-target-match.patch @@ -0,0 +1,11 @@ +--- a/configure 2017-06-05 00:51:26.000000000 +0900 ++++ b/configure 2018-03-06 23:12:58.000000000 +0900 +@@ -3603,7 +3603,7 @@ + noconfigdirs="$noconfigdirs ld gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; +- x86_64-*-darwin[912]*) ++ x86_64-*-darwin*) + noconfigdirs="$noconfigdirs ld gas gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index e068b908caf4..b5840d074668 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -35,7 +35,8 @@ stdenv.mkDerivation rec { sha256 = "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg"; }; - patches = [ ./debug-info-from-env.patch ]; + patches = [ ./debug-info-from-env.patch ] + ++ stdenv.lib.optional stdenv.isDarwin ./darwin-target-match.patch; nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ] # TODO(@Ericson2314) not sure if should be host or target diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index 35126c85d3fe..296d9673d8f1 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "global-${version}"; - version = "6.5.7"; + version = "6.6.2"; src = fetchurl { url = "mirror://gnu/global/${name}.tar.gz"; - sha256 = "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r"; + sha256 = "0zvi5vxwiq0dy8mq2cgs64m8harxs0fvkmsnvi0ayb0w608lgij3"; }; nativeBuildInputs = [ libtool makeWrapper ]; diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix index 3d8b29e4ebc2..775a31df2b17 100644 --- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix +++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix @@ -3,11 +3,11 @@ , procps, autoreconfHook, utilmacros, gnome2 }: stdenv.mkDerivation rec { - name = "intel-gpu-tools-1.21"; + name = "intel-gpu-tools-1.22"; src = fetchurl { url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.xz"; - sha256 = "0gvh317dg5c7kvjxxkh8g70hh3r3dc73mc4dzyvfa8nb4ix6xbyr"; + sha256 = "0p4swf9577p6hzglw1lh2sz63wjkk37b7691saj2qw8ha7fc2rix"; }; nativeBuildInputs = [ pkgconfig utilmacros ]; diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index 80d1a75e801d..f5da3f9daa4d 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, libunwind }: +{ stdenv, fetchurl, perl, libunwind, buildPackages }: stdenv.mkDerivation rec { name = "strace-${version}"; @@ -9,11 +9,12 @@ stdenv.mkDerivation rec { sha256 = "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw"; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ perl ]; - buildInputs = [ libunwind ]; # support -k + buildInputs = stdenv.lib.optional libunwind.supportsHost [ libunwind ]; # support -k - configureFlags = stdenv.lib.optional stdenv.hostPlatform.isAarch64 "--enable-mpers=check"; + configureFlags = stdenv.lib.optional (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isRiscV) "--enable-mpers=check"; meta = with stdenv.lib; { homepage = http://strace.io/; diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile index d52f576be243..788341de3fa6 100644 --- a/pkgs/development/tools/misc/travis/Gemfile +++ b/pkgs/development/tools/misc/travis/Gemfile @@ -1,3 +1,3 @@ source "https://rubygems.org" -gem "travis" +gem "travis", "1.8.8" diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock index 529be0793605..a1c8332a3d44 100644 --- a/pkgs/development/tools/misc/travis/Gemfile.lock +++ b/pkgs/development/tools/misc/travis/Gemfile.lock @@ -45,7 +45,7 @@ PLATFORMS ruby DEPENDENCIES - travis + travis (= 1.8.8) BUNDLED WITH - 1.14.4 + 1.14.6 diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix index a520c4deb342..b5c5740e80ff 100644 --- a/pkgs/development/tools/misc/travis/default.nix +++ b/pkgs/development/tools/misc/travis/default.nix @@ -1,5 +1,10 @@ { lib, bundlerEnv, ruby }: +# Maintainer notes for updating +# 1. increment version number in Gemfile +# 2. run $ nix-shell --command "bundler install && bundix" +# in the travis directory in nixpkgs + bundlerEnv { inherit ruby; pname = "travis"; diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix index 148923848beb..c9a54bd324c2 100644 --- a/pkgs/development/tools/misc/travis/gemset.nix +++ b/pkgs/development/tools/misc/travis/gemset.nix @@ -16,6 +16,7 @@ version = "3.6.8"; }; ethon = { + dependencies = ["ffi"]; source = { remotes = ["https://rubygems.org"]; sha256 = "1i873cvma4j52xmij7kasjylh66vf60cy5prkp4cz4hcn9jlkznl"; @@ -24,6 +25,7 @@ version = "0.10.1"; }; faraday = { + dependencies = ["multipart-post"]; source = { remotes = ["https://rubygems.org"]; sha256 = "18p1csdivgwmshfw3mb698a3bn0yrykg30khk5qxjf6n168g91jr"; @@ -32,6 +34,7 @@ version = "0.11.0"; }; faraday_middleware = { + dependencies = ["faraday"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0bcarc90brm1y68bl957w483bddsy9idj2gghqnysk6bbxpsvm00"; @@ -48,6 +51,7 @@ version = "1.9.18"; }; gh = { + dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"]; source = { remotes = ["https://rubygems.org"]; sha256 = "0g4df0jsscq16g6f27flfmvk7p4sbq81d5mdylbz4ikqq60kywzg"; @@ -72,6 +76,7 @@ version = "2.0.3"; }; launchy = { + dependencies = ["addressable"]; source = { remotes = ["https://rubygems.org"]; sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; @@ -112,6 +117,7 @@ version = "1.0.1"; }; pusher-client = { + dependencies = ["json" "websocket"]; source = { remotes = ["https://rubygems.org"]; sha256 = "18ymxz34gmg7jff3h0nyzp5vdg5i06dbdxlrdl2nq4hf14qwj1f4"; @@ -120,6 +126,7 @@ version = "0.6.2"; }; travis = { + dependencies = ["backports" "faraday" "faraday_middleware" "gh" "highline" "launchy" "pusher-client" "typhoeus"]; source = { remotes = ["https://rubygems.org"]; sha256 = "02bjz73f6r9b7nskwzcvcbr4hlvgwrf9rnr6d218d2i1rk4ww936"; @@ -128,6 +135,7 @@ version = "1.8.8"; }; typhoeus = { + dependencies = ["ethon"]; source = { remotes = ["https://rubygems.org"]; sha256 = "03x3fxjsnhgayl4s96h0a9975awlvx2v9nmx2ba0cnliglyczdr8"; diff --git a/pkgs/development/tools/misc/travis/shell.nix b/pkgs/development/tools/misc/travis/shell.nix new file mode 100644 index 000000000000..ddcf493bb468 --- /dev/null +++ b/pkgs/development/tools/misc/travis/shell.nix @@ -0,0 +1,11 @@ +# Env to update Gemfile.lock / gemset.nix + +with import <nixpkgs> {}; +stdenv.mkDerivation { + name = "env"; + buildInputs = [ + ruby.devEnv + gnumake + bundix + ]; +} diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix index 0ad79005d91e..0fa854f9b2a1 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/data.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "usb-modeswitch-data-${version}"; - version = "20170205"; + version = "20170806"; src = fetchurl { url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2"; - sha256 = "1l9q4xk02zd0l50bqhyk906wbcs26ji7259q0f7qv3cj52fzvp72"; + sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff"; }; inherit (usb-modeswitch) makeFlags; diff --git a/pkgs/development/tools/mypy/default.nix b/pkgs/development/tools/mypy/default.nix index f06f9c6828c8..7e8725745c2e 100644 --- a/pkgs/development/tools/mypy/default.nix +++ b/pkgs/development/tools/mypy/default.nix @@ -2,14 +2,14 @@ buildPythonApplication rec { pname = "mypy"; - version = "0.560"; + version = "0.570"; # Tests not included in pip package. doCheck = false; src = fetchPypi { inherit pname version; - sha256 = "1jja0xlwqajxzab8sabiycax8060zikg89dnl9a7lkqcrwprl35x"; + sha256 = "09cz0h4d6xcdqlchw080nkjlwki3mgjrlvfnj5hxxwi3cgv9imw3"; }; propagatedBuildInputs = [ lxml typed-ast psutil ]; diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix deleted file mode 100644 index 5028ac9580c5..000000000000 --- a/pkgs/development/tools/node-webkit/nw11.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ stdenv, fetchurl, buildEnv, makeWrapper -, xorg, alsaLib, dbus, glib, gtk2, atk, pango, freetype, fontconfig -, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap -, libnotify}: -let - bits = if stdenv.system == "x86_64-linux" then "x64" - else "ia32"; - - nwEnv = buildEnv { - name = "node-webkit-env"; - paths = [ - xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk_pixbuf - freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage - xorg.libXext xorg.libXfixes nss nspr gconf expat dbus stdenv.cc - xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr libcap - libnotify - ]; - - extraOutputsToInstall = [ "lib" "out" ]; - }; - -in stdenv.mkDerivation rec { - name = "node-webkit-${version}"; - version = "0.11.2"; - - src = fetchurl { - url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz"; - sha256 = if bits == "x64" then - "1iby0yrnbk9xfcsfz59f6g00l6rxiyxvq78shs0c145ky7lknq5q" else - "1hk3c9z3kwmqaj87vc5k1a7fv8jhkyqw1wjmsl3q5i50w880h398"; - }; - - installPhase = '' - mkdir -p $out/share/node-webkit - cp -R * $out/share/node-webkit - - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot - - ln -s ${systemd.lib}/lib/libudev.so $out/share/node-webkit/libudev.so.0 - - patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw - patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot - - mkdir -p $out/bin - ln -s $out/share/node-webkit/nw $out/bin - ln -s $out/share/node-webkit/nwsnapshot $out/bin - ''; - - buildInputs = [ makeWrapper ]; - - meta = with stdenv.lib; { - description = "An app runtime based on Chromium and node.js"; - homepage = https://github.com/rogerwang/node-webkit; - platforms = ["i686-linux" "x86_64-linux"]; - maintainers = [ maintainers.offline ]; - license = licenses.bsd3; - }; -} diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix new file mode 100644 index 000000000000..6a2995b2bbe0 --- /dev/null +++ b/pkgs/development/tools/nwjs/default.nix @@ -0,0 +1,87 @@ +{ stdenv, fetchurl, buildEnv, makeWrapper + +, xorg, alsaLib, dbus, glib, gtk2, gtk3, atk, pango, freetype, fontconfig +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap +, libnotify +, ffmpeg, libxcb, libXScrnSaver, cups +, sqlite, udev +}: +let + bits = if stdenv.system == "x86_64-linux" then "x64" + else "ia32"; + + nwEnv = buildEnv { + name = "nwjs-env"; + paths = [ + xorg.libX11 xorg.libXrender glib /*gtk2*/ gtk3 atk pango cairo gdk_pixbuf + freetype fontconfig xorg.libXcomposite alsaLib xorg.libXdamage + xorg.libXext xorg.libXfixes nss nspr gconf expat dbus + xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr + xorg.libXScrnSaver cups + libcap libnotify + # libnw-specific (not chromium dependencies) + ffmpeg libxcb + # chromium runtime deps (dlopen’d) + sqlite udev + ]; + + extraOutputsToInstall = [ "lib" "out" ]; + }; + +in stdenv.mkDerivation rec { + name = "nwjs-${version}"; + version = "0.23.6"; + + src = fetchurl { + url = "http://dl.nwjs.io/v${version}/nwjs-v${version}-linux-${bits}.tar.gz"; + sha256 = if bits == "x64" then + "0ppyjspdvacarhdn4xd5i1pqgmf4z1bxnh1cry780489h25rcjgj" else + "0c0j73vnzhsry5rdx41d954a29jmjnvzli728cfbjybfr51zdybg"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + # we have runtime deps like sqlite3 that should remain + dontPatchELF = true; + + installPhase = + let ccPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]; + in '' + mkdir -p $out/share/nwjs + cp -R * $out/share/nwjs + find $out/share/nwjs + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw + + ln -s ${systemd.lib}/lib/libudev.so $out/share/nwjs/libudev.so.0 + + libpath="$out/share/nwjs/lib/" + for f in "$libpath"/*.so; do + patchelf --set-rpath "${nwEnv}/lib:${ccPath}:$libpath" "$f" + done + patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:${ccPath}:$libpath" $out/share/nwjs/nw + # check, whether all RPATHs are correct (all dependencies found) + checkfile=$(mktemp) + for f in "$libpath"/*.so "$out/share/nwjs/nw"; do + (echo "$f:"; + ldd "$f" ) > "$checkfile" + done + if <"$checkfile" grep -e "not found"; then + cat "$checkfile" + exit 1 + fi + + mkdir -p $out/bin + ln -s $out/share/nwjs/nw $out/bin + ''; + + buildInputs = [ makeWrapper ]; + + meta = with stdenv.lib; { + description = "An app runtime based on Chromium and node.js"; + homepage = http://nwjs.io/; + platforms = ["i686-linux" "x86_64-linux"]; + maintainers = [ maintainers.offline ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/tools/parsing/antlr/4.7.nix b/pkgs/development/tools/parsing/antlr/4.7.nix index 41b079bbd23b..f58d0f9904aa 100644 --- a/pkgs/development/tools/parsing/antlr/4.7.nix +++ b/pkgs/development/tools/parsing/antlr/4.7.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "antlr-${version}"; - version = "4.7"; + version = "4.7.1"; src = fetchurl { url ="http://www.antlr.org/download/antlr-${version}-complete.jar"; - sha256 = "0r08ay63s5aajix5j8j7lf7j7l7wiwdkr112b66nyhkj5f6c72yd"; + sha256 = "1236gwnzchama92apb2swmklnypj01m7bdwwfvwvl8ym85scw7gl"; }; unpackPhase = "true"; diff --git a/pkgs/development/tools/parsing/jshon/default.nix b/pkgs/development/tools/parsing/jshon/default.nix index 5406b4e9a0e5..359daad2d517 100644 --- a/pkgs/development/tools/parsing/jshon/default.nix +++ b/pkgs/development/tools/parsing/jshon/default.nix @@ -1,10 +1,10 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, jansson }: stdenv.mkDerivation rec { - name = "jshon-20140712"; + name = "jshon-20160111.2"; rev = "a61d7f2f85f4627bc3facdf951746f0fd62334b7"; - sha256 = "b0365e58553b9613a5636545c5bfd4ad05ab5024f192e1cb1d1824bae4e1a380"; + sha256 = "1053w7jbl90q3p5y34pi4i8an1ddsjzwaib5cfji75ivamc5wdmh"; src = fetchFromGitHub { inherit rev sha256; diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix index dcf89d1604d9..da1bcced32ec 100644 --- a/pkgs/development/tools/parsing/re2c/default.nix +++ b/pkgs/development/tools/parsing/re2c/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "re2c-${version}"; - version = "0.16"; + version = "1.0.3"; sourceRoot = "${src.name}/re2c"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "skvadrik"; repo = "re2c"; rev = version; - sha256 = "0cijgmbyx34nwl2jmsswggkgvzy364871rkbxz8biq9x8xrhhjw5"; + sha256 = "0grx7nl9fwcn880v5ssjljhcb9c5p2a6xpwil7zxpmv0rwnr3yqi"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/development/tools/pew/default.nix b/pkgs/development/tools/pew/default.nix index 6eb3e88a0d13..73046165b1ab 100644 --- a/pkgs/development/tools/pew/default.nix +++ b/pkgs/development/tools/pew/default.nix @@ -29,4 +29,4 @@ with python3Packages; buildPythonApplication rec { platforms = platforms.all; maintainers = with maintainers; [ berdario ]; }; - } \ No newline at end of file + } diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix index de2e6eb96a81..c5c406ef36c0 100644 --- a/pkgs/development/tools/pipenv/default.nix +++ b/pkgs/development/tools/pipenv/default.nix @@ -2,11 +2,11 @@ with python3Packages; buildPythonApplication rec { name = "${pname}-${version}"; pname = "pipenv"; - version = "10.1.0"; + version = "10.1.2"; src = fetchPypi { inherit pname version; - sha256 = "3732350e3cd8cc033d66748c418bab4b018dc0a4fcf1687f17a103ac44eac0c6"; + sha256 = "ce6dbb305fb1f262dba0dcb50c06591e4d146f7bfe079cc9f0ce3f89c7516ae9"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix index 13fbea3fc231..a2c75a02aa28 100644 --- a/pkgs/development/tools/rtags/default.nix +++ b/pkgs/development/tools/rtags/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { description = "C/C++ client-server indexer based on clang"; homepage = https://github.com/andersbakken/rtags; license = stdenv.lib.licenses.gpl3; - platforms = stdenv.lib.platforms.allBut [ "i686-linux" ]; + platforms = with stdenv.lib.platforms; x86_64 ++ aarch64; }; } diff --git a/pkgs/development/tools/sassc/default.nix b/pkgs/development/tools/sassc/default.nix index 326fa84f472a..5598dc1606d9 100644 --- a/pkgs/development/tools/sassc/default.nix +++ b/pkgs/development/tools/sassc/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sassc-${version}"; - version = "3.4.8"; + version = "3.5.0"; src = fetchurl { url = "https://github.com/sass/sassc/archive/${version}.tar.gz"; - sha256 = "02lnibrl6zgczkhvz01bdp0d2b0rbl69dfv5mdnbr4l8km7sa7b1"; + sha256 = "0hl0j4ky13fzcv2y7w352gaq8fjmypwgazf7ddqdv0sbj8qlxx96"; }; patchPhase = '' diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index 554a5585f150..d5671b974f59 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -6,7 +6,7 @@ let allSpecs = { "x86_64-linux" = { system = "linux64"; - sha256 = "13iyz6579yw4fk9dr4nf2pdj55v1iflj8yf9a4zz7qw5996d5yk7"; + sha256 = "1m119kbsr6gm8a37q92rflp5mp3fjzw8cy4r5j4bnihkai7khq94"; }; "x86_64-darwin" = { @@ -28,7 +28,7 @@ let in stdenv.mkDerivation rec { name = "chromedriver-${version}"; - version = "2.35"; + version = "2.36"; src = fetchurl { url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip"; diff --git a/pkgs/development/tools/vcstool/default.nix b/pkgs/development/tools/vcstool/default.nix index 51e066f3d390..0822b33aef00 100644 --- a/pkgs/development/tools/vcstool/default.nix +++ b/pkgs/development/tools/vcstool/default.nix @@ -6,11 +6,11 @@ with python3Packages; buildPythonApplication rec { name = "${pname}-${version}"; pname = "vcstool"; - version = "0.1.31"; + version = "0.1.33"; src = fetchPypi { inherit pname version; - sha256 = "0n2zkvy2km9ky9lljf1mq5nqyqi5qqzfy2a6sgkjg2grvsk7abxc"; + sha256 = "1140d3ecafb2c42c2c1a309950c7f327b09b548c00fbf6e37c8f44b8a610dfbc"; }; propagatedBuildInputs = [ pyyaml ]; diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix index 19bdb1cd9ef7..c78767e115a2 100644 --- a/pkgs/development/tools/wllvm/default.nix +++ b/pkgs/development/tools/wllvm/default.nix @@ -1,13 +1,13 @@ { stdenv, python3Packages }: python3Packages.buildPythonApplication rec { - version = "1.1.3"; + version = "1.1.5"; pname = "wllvm"; name = "${pname}-${version}"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "1scv9bwr888x2km8njg0000xkj8pz73c0gjbphhqaj8vy87y25cb"; + sha256 = "02lnilhqz7mq0w6mp574rmjxiszp1wyla16jqr89r0z9vjg2j9rv"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/yarn2nix/bin/yarn2nix.js b/pkgs/development/tools/yarn2nix/bin/yarn2nix.js new file mode 100755 index 000000000000..3eadea559032 --- /dev/null +++ b/pkgs/development/tools/yarn2nix/bin/yarn2nix.js @@ -0,0 +1,144 @@ +#!/usr/bin/env node +"use strict"; + +const crypto = require('crypto'); +const fs = require("fs"); +const https = require("https"); +const path = require("path"); +const util = require("util"); + +const lockfile = require("@yarnpkg/lockfile") +const docopt = require("docopt").docopt; + +//////////////////////////////////////////////////////////////////////////////// + +const USAGE = ` +Usage: yarn2nix [options] + +Options: + -h --help Shows this help. + --no-nix Hide the nix output + --no-patch Don't patch the lockfile if hashes are missing + --lockfile=FILE Specify path to the lockfile [default: ./yarn.lock]. +` + +const HEAD = ` +{fetchurl, linkFarm}: rec { + offline_cache = linkFarm "offline" packages; + packages = [ +`.trim(); + +//////////////////////////////////////////////////////////////////////////////// + +function generateNix(lockedDependencies) { + let found = {}; + + console.log(HEAD) + + for (var depRange in lockedDependencies) { + let dep = lockedDependencies[depRange]; + + let depRangeParts = depRange.split('@'); + let [url, sha1] = dep["resolved"].split("#"); + let file_name = path.basename(url) + + if (found.hasOwnProperty(file_name)) { + continue; + } else { + found[file_name] = null; + } + + + console.log(` + { + name = "${file_name}"; + path = fetchurl { + name = "${file_name}"; + url = "${url}"; + sha1 = "${sha1}"; + }; + }`) + } + + console.log(" ];") + console.log("}") +} + + +function getSha1(url) { + return new Promise((resolve, reject) => { + https.get(url, (res) => { + const { statusCode } = res; + const hash = crypto.createHash('sha1'); + if (statusCode !== 200) { + const err = new Error('Request Failed.\n' + + `Status Code: ${statusCode}`); + // consume response data to free up memory + res.resume(); + reject(err); + } + + res.on('data', (chunk) => { hash.update(chunk); }); + res.on('end', () => { resolve(hash.digest('hex')) }); + res.on('error', reject); + }); + }); +}; + +function updateResolvedSha1(pkg) { + // local dependency + if (!pkg.resolved) { return Promise.resolve(); } + let [url, sha1] = pkg.resolved.split("#", 2) + if (!sha1) { + return new Promise((resolve, reject) => { + getSha1(url).then(sha1 => { + pkg.resolved = `${url}#${sha1}`; + resolve(); + }).catch(reject); + }); + } else { + // nothing to do + return Promise.resolve(); + }; +} + +function values(obj) { + var entries = []; + for (let key in obj) { + entries.push(obj[key]); + } + return entries; +} + +//////////////////////////////////////////////////////////////////////////////// +// Main +//////////////////////////////////////////////////////////////////////////////// + +var options = docopt(USAGE); + +let data = fs.readFileSync(options['--lockfile'], 'utf8') +let json = lockfile.parse(data) +if (json.type != "success") { + throw new Error("yarn.lock parse error") +} + +// Check fore missing hashes in the yarn.lock and patch if necessary +var pkgs = values(json.object); +Promise.all(pkgs.map(updateResolvedSha1)).then(() => { + let newData = lockfile.stringify(json.object); + + if (newData != data) { + console.error("found changes in the lockfile", options["--lockfile"]); + + if (options["--no-patch"]) { + console.error("...aborting"); + process.exit(1); + } + + fs.writeFileSync(options['--lockfile'], newData); + } + + if (!options['--no-nix']) { + generateNix(json.object); + } +}) diff --git a/pkgs/development/tools/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix/default.nix new file mode 100644 index 000000000000..e86c0aac2c99 --- /dev/null +++ b/pkgs/development/tools/yarn2nix/default.nix @@ -0,0 +1,199 @@ +{ stdenv, lib, fetchurl, linkFarm, runCommand, nodejs, yarn }: + +let + unlessNull = item: alt: + if item == null then alt else item; + + yarn2nix = mkYarnPackage { + src = ./.; + yarnNix = ./yarn.nix; + + passthru = { + inherit + defaultYarnFlags + linkNodeModulesHook + mkYarnModules + mkYarnNix + mkYarnPackage + # Export yarn again to make it easier to find out which yarn was used. + yarn + ; + }; + + meta = with lib; { + description = "generate nix expressions from a yarn.lock file"; + homepage = "https://github.com/moretea/yarn2nix"; + license = licenses.gpl3; + maintainers = with maintainers; [ manveru zimbatm ]; + }; + }; + + # Generates the yarn.nix from the yarn.lock file + mkYarnNix = yarnLock: + runCommand "yarn.nix" {} + "${yarn2nix}/bin/yarn2nix --lockfile ${yarnLock} --no-patch > $out"; + + # Loads the generated offline cache. This will be used by yarn as + # the package source. + importOfflineCache = yarnNix: + let + pkg = import yarnNix { inherit fetchurl linkFarm; }; + in + pkg.offline_cache; + + defaultYarnFlags = [ + "--offline" + "--frozen-lockfile" + "--ignore-engines" + "--ignore-scripts" + ]; + + mkYarnModules = { + name, + packageJSON, + yarnLock, + yarnNix ? mkYarnNix yarnLock, + yarnFlags ? defaultYarnFlags, + pkgConfig ? {}, + preBuild ? "", + }: + let + offlineCache = importOfflineCache yarnNix; + extraBuildInputs = (lib.flatten (builtins.map (key: + pkgConfig.${key} . buildInputs or [] + ) (builtins.attrNames pkgConfig))); + postInstall = (builtins.map (key: + if (pkgConfig.${key} ? postInstall) then + '' + for f in $(find -L -path '*/node_modules/${key}' -type d); do + (cd "$f" && (${pkgConfig.${key}.postInstall})) + done + '' + else + "" + ) (builtins.attrNames pkgConfig)); + in + stdenv.mkDerivation { + inherit name preBuild; + phases = ["configurePhase" "buildPhase"]; + buildInputs = [ yarn nodejs ] ++ extraBuildInputs; + + configurePhase = '' + # Yarn writes cache directories etc to $HOME. + export HOME=$PWD/yarn_home + ''; + + buildPhase = '' + runHook preBuild + + cp ${packageJSON} ./package.json + cp ${yarnLock} ./yarn.lock + chmod +w ./yarn.lock + + yarn config --offline set yarn-offline-mirror ${offlineCache} + + # Do not look up in the registry, but in the offline cache. + # TODO: Ask upstream to fix this mess. + sed -i -E 's|^(\s*resolved\s*")https?://.*/|\1|' yarn.lock + yarn install ${lib.escapeShellArgs yarnFlags} + + ${lib.concatStringsSep "\n" postInstall} + + mkdir $out + mv node_modules $out/ + patchShebangs $out + ''; + }; + + # This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into + # the shell-hook environment. + linkNodeModulesHook = '' + if [[ -d node_modules || -L node_modules ]]; then + echo "./node_modules is present. Replacing." + rm -rf node_modules + fi + + ln -s "$node_modules" node_modules + ''; + + mkYarnPackage = { + name ? null, + src, + packageJSON ? src + "/package.json", + yarnLock ? src + "/yarn.lock", + yarnNix ? mkYarnNix yarnLock, + yarnFlags ? defaultYarnFlags, + yarnPreBuild ? "", + pkgConfig ? {}, + extraBuildInputs ? [], + publishBinsFor ? null, + ... + }@attrs: + let + package = lib.importJSON packageJSON; + pname = package.name; + version = package.version; + deps = mkYarnModules { + name = "${pname}-modules-${version}"; + preBuild = yarnPreBuild; + inherit packageJSON yarnLock yarnNix yarnFlags pkgConfig; + }; + publishBinsFor_ = unlessNull publishBinsFor [pname]; + in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig"] // { + inherit src; + + name = unlessNull name "${pname}-${version}"; + + buildInputs = [ yarn nodejs ] ++ extraBuildInputs; + + node_modules = deps + "/node_modules"; + + configurePhase = attrs.configurePhase or '' + runHook preConfigure + + if [ -d npm-packages-offline-cache ]; then + echo "npm-pacakges-offline-cache dir present. Removing." + rm -rf npm-packages-offline-cache + fi + + if [[ -d node_modules || -L node_modules ]]; then + echo "./node_modules is present. Removing." + rm -rf node_modules + fi + + mkdir -p node_modules + ln -s $node_modules/* node_modules/ + ln -s $node_modules/.bin node_modules/ + + if [ -d node_modules/${pname} ]; then + echo "Error! There is already an ${pname} package in the top level node_modules dir!" + exit 1 + fi + + runHook postConfigure + ''; + + # Replace this phase on frontend packages where only the generated + # files are an interesting output. + installPhase = attrs.installPhase or '' + runHook preInstall + + mkdir -p $out + cp -r node_modules $out/node_modules + cp -r . $out/node_modules/${pname} + rm -rf $out/node_modules/${pname}/node_modules + + mkdir $out/bin + node ${./fixup_bin.js} $out ${lib.concatStringsSep " " publishBinsFor_} + + runHook postInstall + ''; + + passthru = { + inherit package deps; + } // (attrs.passthru or {}); + + # TODO: populate meta automatically + }); +in + yarn2nix diff --git a/pkgs/development/tools/yarn2nix/fixup_bin.js b/pkgs/development/tools/yarn2nix/fixup_bin.js new file mode 100644 index 000000000000..dab1759c2046 --- /dev/null +++ b/pkgs/development/tools/yarn2nix/fixup_bin.js @@ -0,0 +1,45 @@ +#!/usr/bin/env node +"use strict"; + +/* Usage: + * node fixup_bin.js <output_dir> [<bin_pkg_1>, <bin_pkg_2> ... ] + */ + +const fs = require("fs"); +const path = require("path"); + +const output = process.argv[2]; +const packages_to_publish_bin = process.argv.slice(3); +const derivation_bin_path = output + "/bin"; + +function processPackage(name) { + console.log("Processing ", name); + const package_path = output + "/node_modules/" + name; + const package_json_path = package_path + "/package.json"; + const package_json = JSON.parse(fs.readFileSync(package_json_path)); + + if (!package_json.bin) { + console.log("No binaries provided"); + return; + } + + // There are two alternative syntaxes for `bin` + // a) just a plain string, in which case the name of the package is the name of the binary. + // b) an object, where key is the name of the eventual binary, and the value the path to that binary. + if (typeof package_json.bin == "string") { + let bin_name = package_json.bin; + package_json.bin = { }; + package_json.bin[package_json.name] = bin_name; + } + + for (let binName in package_json.bin) { + const bin_path = package_json.bin[binName]; + const full_bin_path = path.normalize(package_path + "/" + bin_path); + fs.symlinkSync(full_bin_path, derivation_bin_path + "/"+ binName); + console.log("Linked", binName); + } +} + +packages_to_publish_bin.forEach((pkg) => { + processPackage(pkg); +}); diff --git a/pkgs/development/tools/yarn2nix/package.json b/pkgs/development/tools/yarn2nix/package.json new file mode 100644 index 000000000000..130eee67c560 --- /dev/null +++ b/pkgs/development/tools/yarn2nix/package.json @@ -0,0 +1,19 @@ +{ + "name": "yarn2nix", + "version": "1.0.0", + "description": "Convert packages.json and yarn.lock into a Nix expression that downloads all the dependencies", + "main": "index.js", + "repository": ".", + "author": "Maarten Hoogendoorn <maarten@moretea.nl>", + "license": "MIT", + "scripts": { + "yarn2nix": "bin/yarn2nix.js" + }, + "bin": { + "yarn2nix": "bin/yarn2nix.js" + }, + "dependencies": { + "@yarnpkg/lockfile": "^1.0.0", + "docopt": "^0.6.2" + } +} diff --git a/pkgs/development/tools/yarn2nix/yarn.lock b/pkgs/development/tools/yarn2nix/yarn.lock new file mode 100644 index 000000000000..976d2c530e1e --- /dev/null +++ b/pkgs/development/tools/yarn2nix/yarn.lock @@ -0,0 +1,11 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@yarnpkg/lockfile@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.0.0.tgz#33d1dbb659a23b81f87f048762b35a446172add3" + +docopt@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" \ No newline at end of file diff --git a/pkgs/development/tools/yarn2nix/yarn.nix b/pkgs/development/tools/yarn2nix/yarn.nix new file mode 100644 index 000000000000..a9e42e7d986c --- /dev/null +++ b/pkgs/development/tools/yarn2nix/yarn.nix @@ -0,0 +1,23 @@ +{fetchurl, linkFarm}: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + + { + name = "lockfile-1.0.0.tgz"; + path = fetchurl { + name = "lockfile-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.0.0.tgz"; + sha1 = "33d1dbb659a23b81f87f048762b35a446172add3"; + }; + } + + { + name = "docopt-0.6.2.tgz"; + path = fetchurl { + name = "docopt-0.6.2.tgz"; + url = "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz"; + sha1 = "b28e9e2220da5ec49f7ea5bb24a47787405eeb11"; + }; + } + ]; +} diff --git a/pkgs/development/tools/yq/default.nix b/pkgs/development/tools/yq/default.nix index 6fb7f8440ef4..c911cdb58250 100644 --- a/pkgs/development/tools/yq/default.nix +++ b/pkgs/development/tools/yq/default.nix @@ -1,25 +1,23 @@ -{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, jq }: +{ stdenv, lib, buildPythonApplication, fetchPypi, pyyaml, xmltodict, jq }: buildPythonApplication rec { - pname = "yq"; - version = "2.3.4"; + version = "2.4.1"; - propagatedBuildInputs = [ pyyaml jq ]; + propagatedBuildInputs = [ pyyaml xmltodict jq ]; # ValueError: underlying buffer has been detached doCheck = false; src = fetchPypi { inherit pname version; - sha256 = "04ckrlmin8m176iicyfhddp4r0yry5hx306vhfglf8mcp1jkga78"; + sha256 = "4833d4055b0f1c1f1a2fd292421b3472da39c7dc2727d7819efd11065a5fd310"; }; meta = with lib; { description = "Command-line YAML processor - jq wrapper for YAML documents."; - homepage = https://pypi.python.org/pypi/yq; + homepage = https://github.com/kislyuk/yq; license = [ licenses.asl20 ]; maintainers = [ maintainers.womfoo ]; }; - } |