diff options
Diffstat (limited to 'pkgs')
33 files changed, 616 insertions, 307 deletions
diff --git a/pkgs/applications/audio/chuck/clang.patch b/pkgs/applications/audio/chuck/clang.patch deleted file mode 100644 index 77227ef0fd4..00000000000 --- a/pkgs/applications/audio/chuck/clang.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/ugen_osc.cpp b/src/ugen_osc.cpp -index 6b93c6b..dbefe4f 100644 ---- a/src/ugen_osc.cpp -+++ b/src/ugen_osc.cpp -@@ -1232,7 +1232,7 @@ CK_DLL_CTRL( gen5_coeffs ) - Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(in_args<0) return; -+ if(in_args!=0) return; - size = in_args->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1287,7 +1287,7 @@ CK_DLL_CTRL( gen7_coeffs ) - Chuck_Array8 * in_args = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(in_args<0) return; -+ if(in_args!=0) return; - size = in_args->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1340,7 +1340,7 @@ CK_DLL_CTRL( gen9_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1390,7 +1390,7 @@ CK_DLL_CTRL( gen10_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen10coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1441,7 +1441,7 @@ CK_DLL_CTRL( gen17_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen17coeffs, %d\n", weights); -- if(weights<0) return; -+ if(weights!=0) return; - size = weights->size(); - if(size >= genX_MAX_COEFFS) size = genX_MAX_COEFFS - 1; - -@@ -1502,7 +1502,7 @@ CK_DLL_CTRL( curve_coeffs ) - Chuck_Array8 * weights = (Chuck_Array8 *)GET_CK_OBJECT(ARGS); - - // fprintf(stdout, "calling gen17coeffs, %d\n", weights); -- if(weights<0) goto done; -+ if(weights!=0) goto done; - - nargs = weights->size(); - if (nargs < 5 || (nargs % 3) != 2) { // check number of args diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch index 3387f725544..dc98a172691 100644 --- a/pkgs/applications/audio/chuck/darwin-limits.patch +++ b/pkgs/applications/audio/chuck/darwin-limits.patch @@ -1,5 +1,5 @@ ---- a/src/util_string.cpp 2014-10-27 22:52:11.875981552 +0100 -+++ b/src/util_string.cpp 2014-10-27 22:54:18.613001994 +0100 +--- a/src/core/util_string.cpp 2014-10-27 22:52:11.875981552 +0100 ++++ b/src/core/util_string.cpp 2014-10-27 22:54:18.613001994 +0100 @@ -40,6 +40,10 @@ #include <linux/limits.h> #endif // __PLATFORM_LINUX__ diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix index 6113a776a67..da26a718835 100644 --- a/pkgs/applications/audio/chuck/default.nix +++ b/pkgs/applications/audio/chuck/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "1.3.5.2"; + version = "1.4.0.0"; name = "chuck-${version}"; src = fetchurl { url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz"; - sha256 = "02z7sglax3j09grj5s1skmw8z6wz7b21hjrm95nrrdpwbxabh079"; + sha256 = "1b17rsf7bv45gfhyhfmpz9d4rkxn24c0m2hgmpfjz3nlp0rf7bic"; }; nativeBuildInputs = [ flex bison which ]; @@ -17,16 +17,15 @@ stdenv.mkDerivation rec { ++ lib.optional (!stdenv.isDarwin) alsaLib ++ lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ]; - patches = [ ./clang.patch ./darwin-limits.patch ]; + patches = [ ./darwin-limits.patch ]; NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-Wno-missing-sysroot"; NIX_LDFLAGS = lib.optional stdenv.isDarwin "-framework MultitouchSupport"; postPatch = '' - substituteInPlace src/makefile --replace "/usr/bin" "$out/bin" - substituteInPlace src/makefile.osx \ + substituteInPlace src/core/makefile.x/makefile.osx \ --replace "weak_framework" "framework" \ - --replace "MACOSX_DEPLOYMENT_TARGET=10.5" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET" + --replace "MACOSX_DEPLOYMENT_TARGET=10.9" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET" ''; makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ]; @@ -36,7 +35,7 @@ stdenv.mkDerivation rec { description = "Programming language for real-time sound synthesis and music creation"; homepage = http://chuck.cs.princeton.edu; license = licenses.gpl2; - platforms = with platforms; linux ++ darwin; + platforms = platforms.unix; maintainers = with maintainers; [ ftrvxmtrx ]; }; } diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index 8c9833ae40d..e326e9c1008 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, qmake, qttools, makeWrapper }: +{ mkDerivation, lib, fetchFromGitHub, qmake, qttools }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "gpxsee"; - version = "7.9"; + version = "7.11"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "029l5dhc9nnxiw7p0s4gyfkcqw709z7lz96aq8krs75mfk4fv07k"; + sha256 = "1b4ky7m990h3rmam9lb1w6vns1mxd8ri6is3a8qgdl8kd6xcl5d7"; }; - nativeBuildInputs = [ qmake makeWrapper ]; + nativeBuildInputs = [ qmake ]; buildInputs = [ qttools ]; preConfigure = '' @@ -20,12 +20,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postInstall = '' - wrapProgram $out/bin/gpxsee \ - --prefix XDG_DATA_DIRS ":" $out/share - ''; - - meta = with stdenv.lib; { + meta = with lib; { homepage = https://www.gpxsee.org/; description = "GPS log file viewer and analyzer"; longDescription = '' diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix index 32aa15b09e4..0f7c55645ba 100644 --- a/pkgs/applications/misc/mako/default.nix +++ b/pkgs/applications/misc/mako/default.nix @@ -1,33 +1,22 @@ { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc , systemd, pango, cairo, gdk_pixbuf -, wayland, wayland-protocols -, fetchpatch }: +, wayland, wayland-protocols }: stdenv.mkDerivation rec { pname = "mako"; - version = "1.3"; + version = "1.4"; src = fetchFromGitHub { owner = "emersion"; repo = pname; rev = "v${version}"; - sha256 = "17azdc37xsbmx13fkfp23vg9lznrv9fh6nhagn64wdq3nhsxm3b6"; + sha256 = "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9"; }; - # to be removed with next release - patches = [ - (fetchpatch { - url = "https://github.com/emersion/mako/commit/ca8e763f06756136c534b1bbd2e5b536be6b1995.patch"; - sha256 = "09mi7nn2vwc69igxxc6y2m36n3snhsz0ady99yabhrzl17k4ryds"; - }) - ]; - nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ]; buildInputs = [ systemd pango cairo gdk_pixbuf wayland ]; - mesonFlags = [ - "-Dicons=enabled" "-Dman-pages=enabled" "-Dzsh-completions=true" - ]; + mesonFlags = [ "-Dzsh-completions=true" ]; meta = with stdenv.lib; { description = "A lightweight Wayland notification daemon"; diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index a308eb8aaa4..32cec42160f 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -4,7 +4,7 @@ , lib }: -args@{ name, bazelFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }: +args@{ name, bazelFlags ? [], bazelBuildFlags ? [], bazelFetchFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }: let fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" ]; @@ -12,11 +12,11 @@ let fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ]; in stdenv.mkDerivation (fBuildAttrs // { - inherit name bazelFlags bazelTarget; + inherit name bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget; deps = stdenv.mkDerivation (fFetchAttrs // { name = "${name}-deps"; - inherit bazelFlags bazelTarget; + inherit bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget; nativeBuildInputs = fFetchAttrs.nativeBuildInputs or [] ++ [ bazel ]; @@ -49,6 +49,7 @@ in stdenv.mkDerivation (fBuildAttrs // { fetch \ --loading_phase_threads=1 \ $bazelFlags \ + $bazelFetchFlags \ $bazelTarget runHook postBuild @@ -149,6 +150,7 @@ in stdenv.mkDerivation (fBuildAttrs // { "''${host_linkopts[@]}" \ '' + '' $bazelFlags \ + $bazelBuildFlags \ $bazelTarget runHook postBuild diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 306b70419ed..6afe93c7e4c 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -46,7 +46,6 @@ let ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; releaseDir = "target/${stdenv.hostPlatform.config}/${buildType}"; - in stdenv.mkDerivation (args // { inherit cargoDeps; @@ -104,7 +103,7 @@ in stdenv.mkDerivation (args // { "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \ "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \ cargo build \ - --${buildType} \ + ${stdenv.lib.optionalString (buildType == "release") "--release"} \ --target ${stdenv.hostPlatform.config} \ --frozen ${concatStringsSep " " cargoBuildFlags} ) diff --git a/pkgs/development/libraries/libtensorflow/default.nix b/pkgs/development/libraries/libtensorflow/default.nix deleted file mode 100644 index 98096371e40..00000000000 --- a/pkgs/development/libraries/libtensorflow/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ config, stdenv -, fetchurl -, patchelf -, cudaSupport ? config.cudaSupport or false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11 -}: -with stdenv.lib; -let - tfType = if cudaSupport then "gpu" else "cpu"; - system = - if stdenv.isx86_64 - then if stdenv.isLinux then "linux-x86_64" - else if stdenv.isDarwin then "darwin-x86_64" else unavailable - else unavailable; - unavailable = throw "libtensorflow is not available for this platform!"; - cudatoolkit_joined = symlinkJoin { - name = "unsplit_cudatoolkit"; - paths = [ cudatoolkit.out - cudatoolkit.lib ];}; - rpath = makeLibraryPath ([stdenv.cc.libc stdenv.cc.cc.lib] ++ - optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]); - patchLibs = - if stdenv.isDarwin - then '' - install_name_tool -id $out/lib/libtensorflow.so $out/lib/libtensorflow.so - install_name_tool -id $out/lib/libtensorflow_framework.so $out/lib/libtensorflow_framework.so - '' - else '' - ${patchelf}/bin/patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so - ${patchelf}/bin/patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so - ''; - -in stdenv.mkDerivation rec { - pname = "libtensorflow"; - version = "1.9.0"; - name = "${pname}-${version}"; - src = fetchurl { - url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-${tfType}-${system}-${version}.tar.gz"; - sha256 = - if system == "linux-x86_64" then - if cudaSupport - then "1q3mh06x344im25z7r3vgrfksfdsi8fh8ldn6y2mf86h4d11yxc3" - else "0l9ps115ng5ffzdwphlqmj3jhidps2v5afppdzrbpzmy41xz0z21" - else if system == "darwin-x86_64" then - if cudaSupport - then unavailable - else "1qj0v1706w6mczycdsh38h2glyv5d25v62kdn98wxd5rw8f9v657" - else unavailable; - }; - - # Patch library to use our libc, libstdc++ and others - buildCommand = '' - . $stdenv/setup - mkdir -pv $out - tar -C $out -xzf $src - chmod +w $out/lib/libtensorflow.so - chmod +w $out/lib/libtensorflow_framework.so - ${patchLibs} - chmod -w $out/lib/libtensorflow.so - chmod -w $out/lib/libtensorflow_framework.so - - # Write pkgconfig file. - mkdir $out/lib/pkgconfig - cat > $out/lib/pkgconfig/tensorflow.pc << EOF - Name: TensorFlow - Version: ${version} - Description: Library for computation using data flow graphs for scalable machine learning - Requires: - Libs: -L$out/lib -ltensorflow - Cflags: -I$out/include/tensorflow - EOF - ''; - - meta = { - description = "C API for TensorFlow"; - homepage = https://www.tensorflow.org/versions/master/install/install_c; - license = licenses.asl20; - platforms = with platforms; linux ++ darwin; - maintainers = [maintainers.basvandijk]; - }; -} diff --git a/pkgs/development/libraries/science/math/tensorflow/bin.nix b/pkgs/development/libraries/science/math/tensorflow/bin.nix new file mode 100644 index 00000000000..3db7a6f1d1e --- /dev/null +++ b/pkgs/development/libraries/science/math/tensorflow/bin.nix @@ -0,0 +1,72 @@ +{ stdenv +, fetchurl +, patchelf +, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11 +}: + +with stdenv.lib; +let + unavailable = throw "libtensorflow is not available for this platform!"; + + tfType = if cudaSupport then "gpu" else "cpu"; + + system = + if stdenv.isLinux then "linux" + else if stdenv.isDarwin then "darwin" + else unavailable; + + platform = + if stdenv.isx86_64 then "x86_64" + else unavailable; + + rpath = makeLibraryPath ([stdenv.cc.libc stdenv.cc.cc.lib] ++ + optionals cudaSupport [ cudatoolkit.out cudatoolkit.lib cudnn nvidia_x11 ]); + + packages = import ./binary-hashes.nix; + packageName = "${tfType}-${system}-${platform}"; + url = packages.${packageName} or unavailable; + + patchLibs = + if stdenv.isDarwin + then '' + install_name_tool -id $out/lib/libtensorflow.dylib $out/lib/libtensorflow.dylib + install_name_tool -id $out/lib/libtensorflow_framework.dylib $out/lib/libtensorflow_framework.dylib + '' + else '' + patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so + patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so + ''; + +in stdenv.mkDerivation rec { + pname = "libtensorflow"; + inherit (packages) version; + + src = fetchurl url; + + # Patch library to use our libc, libstdc++ and others + buildCommand = '' + mkdir -pv $out + tar -C $out -xzf $src + chmod -R +w $out + ${patchLibs} + + # Write pkgconfig file. + mkdir $out/lib/pkgconfig + cat > $out/lib/pkgconfig/tensorflow.pc << EOF + Name: TensorFlow + Version: ${version} + Description: Library for computation using data flow graphs for scalable machine learning + Requires: + Libs: -L$out/lib -ltensorflow + Cflags: -I$out/include/tensorflow + EOF + ''; + + meta = { + description = "C API for TensorFlow"; + homepage = https://www.tensorflow.org/install/lang_c; + license = licenses.asl20; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ basvandijk ]; + }; +} diff --git a/pkgs/development/libraries/science/math/tensorflow/binary-hashes.nix b/pkgs/development/libraries/science/math/tensorflow/binary-hashes.nix new file mode 100644 index 00000000000..892dfa2a609 --- /dev/null +++ b/pkgs/development/libraries/science/math/tensorflow/binary-hashes.nix @@ -0,0 +1,15 @@ +{ +version = "1.14.0"; +"cpu-linux-x86_64" = { + url = "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.14.0.tar.gz"; + sha256 = "04bi3ijq4sbb8c5vk964zlv0j9mrjnzzxd9q9knq3h273nc1a36k"; +}; +"gpu-linux-x86_64" = { + url = "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-linux-x86_64-1.14.0.tar.gz"; + sha256 = "1ffnpyj9jjgwxpjfiyjvq4dm3n6nwiksim5jld9zw7fdswh215x6"; +}; +"cpu-darwin-x86_64" = { + url = "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-darwin-x86_64-1.14.0.tar.gz"; + sha256 = "0zsd5ils1a17j6jzh0c7q1z56fw46gkzybbnms7h2rgg8al0rh92"; +}; +} diff --git a/pkgs/development/libraries/science/math/tensorflow/prefetcher.sh b/pkgs/development/libraries/science/math/tensorflow/prefetcher.sh new file mode 100755 index 00000000000..515f25df4c1 --- /dev/null +++ b/pkgs/development/libraries/science/math/tensorflow/prefetcher.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +version=1.14.0 +hashfile=binary-hashes.nix +rm -f $hashfile +echo "{" >> $hashfile +echo "version = \"$version\";" >> $hashfile +for sys in "linux" "darwin"; do + for tfpref in "cpu" "gpu"; do + for platform in "x86_64"; do + if [ $sys = "darwin" ] && [ $tfpref = "gpu" ]; then + continue + fi + url=https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-$tfpref-$sys-$platform-$version.tar.gz + hash=$(nix-prefetch-url $url) + echo "\"${tfpref}-${sys}-${platform}\" = {" >> $hashfile + echo " url = \"$url\";" >> $hashfile + echo " sha256 = \"$hash\";" >> $hashfile + echo "};" >> $hashfile + done + done +done +echo "}" >> $hashfile + diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix index 5221ef9418f..e30da732a46 100644 --- a/pkgs/development/libraries/swiften/default.nix +++ b/pkgs/development/libraries/swiften/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w"; }; + patches = [ ./scons.patch ]; + sconsFlags = [ "openssl=${openssl.dev}" "boost_includedir=${boost.dev}/include" @@ -23,12 +25,13 @@ stdenv.mkDerivation rec { installFlags+=" SWIFT_INSTALLDIR=$out" ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "An XMPP library for C++, used by the Swift client"; homepage = http://swift.im/swiften.html; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.twey ]; - broken = true; # TODO: Build is failing! }; } diff --git a/pkgs/development/libraries/swiften/scons.patch b/pkgs/development/libraries/swiften/scons.patch new file mode 100644 index 00000000000..d956767696d --- /dev/null +++ b/pkgs/development/libraries/swiften/scons.patch @@ -0,0 +1,9 @@ +--- a/BuildTools/SCons/SConscript.boot ++++ b/BuildTools/SCons/SConscript.boot +@@ -129,5 +129 @@ vars.Add(PathVariable("sparkle_public_dsa_key", "Optional path to a public DSA k +-env_ENV = { +- 'PATH' : os.environ['PATH'], +- 'LD_LIBRARY_PATH' : os.environ.get("LD_LIBRARY_PATH", ""), +- 'TERM' : os.environ.get("TERM", ""), +-} ++env_ENV = os.environ diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix index d02a4e1b9f2..a562ba8f2fa 100644 --- a/pkgs/development/python-modules/tensorflow/bin.nix +++ b/pkgs/development/python-modules/tensorflow/bin.nix @@ -35,15 +35,19 @@ assert cudaSupport -> cudatoolkit != null && cudnn != null && nvidia_x11 != null; + +# unsupported combination +assert ! (stdenv.isDarwin && cudaSupport); + let - cudatoolkit_joined = symlinkJoin { - name = "unsplit_cudatoolkit"; - paths = [ cudatoolkit.out - cudatoolkit.lib ];}; + packages = import ./binary-hashes.nix; + + variant = if cudaSupport then "-gpu" else ""; + pname = "tensorflow${variant}"; in buildPythonPackage rec { - pname = "tensorflow"; - version = "1.14.0"; + inherit pname; + inherit (packages) version; format = "wheel"; src = let @@ -52,8 +56,7 @@ in buildPythonPackage rec { platform = if stdenv.isDarwin then "mac" else "linux"; unit = if cudaSupport then "gpu" else "cpu"; key = "${platform}_py_${pyver}_${unit}"; - dls = import (./. + "/tf${version}-hashes.nix"); - in fetchurl dls.${key}; + in fetchurl packages.${key}; propagatedBuildInputs = [ protobuf @@ -86,12 +89,12 @@ in buildPythonPackage rec { # patchelf --shrink-rpath will remove the cuda libraries. postFixup = let rpath = stdenv.lib.makeLibraryPath - ([ stdenv.cc.cc.lib zlib ] ++ lib.optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]); + ([ stdenv.cc.cc.lib zlib ] ++ lib.optionals cudaSupport [ cudatoolkit.out cudatoolkit.lib cudnn nvidia_x11 ]); in - lib.optionalString (stdenv.isLinux) '' + lib.optionalString stdenv.isLinux '' rrPath="$out/${python.sitePackages}/tensorflow/:$out/${python.sitePackages}/tensorflow/contrib/tensor_forest/:${rpath}" internalLibPath="$out/${python.sitePackages}/tensorflow/python/_pywrap_tensorflow_internal.so" - find $out -name '*${stdenv.hostPlatform.extensions.sharedLibrary}' -exec patchelf --set-rpath "$rrPath" {} \; + find $out \( -name '*.so' -or -name '*.so.*' \) -exec patchelf --set-rpath "$rrPath" {} \; ''; @@ -100,7 +103,7 @@ in buildPythonPackage rec { homepage = http://tensorflow.org; license = licenses.asl20; maintainers = with maintainers; [ jyp abbradar ]; - platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; # Python 2.7 build uses different string encoding. # See https://github.com/NixOS/nixpkgs/pull/37044#issuecomment-373452253 broken = stdenv.isDarwin && !isPy3k; diff --git a/pkgs/development/python-modules/tensorflow/tf1.14.0-hashes.nix b/pkgs/development/python-modules/tensorflow/binary-hashes.nix index f6b367aea38..fa4809dc3f1 100644 --- a/pkgs/development/python-modules/tensorflow/tf1.14.0-hashes.nix +++ b/pkgs/development/python-modules/tensorflow/binary-hashes.nix @@ -1,4 +1,5 @@ { +version = "1.14.0"; linux_py_27_cpu = { url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.14.0-cp27-none-linux_x86_64.whl"; sha256 = "0yywdrfk97dh1bxhibspg0raz70fx9lcczj6xlimqy4xb60clx7k"; diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index a8f902fdb38..43134fb746d 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -1,9 +1,16 @@ -{ stdenv, buildBazelPackage, lib, fetchFromGitHub, fetchpatch, symlinkJoin -, buildPythonPackage, isPy3k, pythonOlder, pythonAtLeast -, which, swig, binutils, glibcLocales -, python, jemalloc, openmpi -, numpy, six, protobuf, tensorflow-tensorboard, backports_weakref, mock, enum34, absl-py -, cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null +{ stdenv, pkgs, buildBazelPackage, lib, fetchFromGitHub, fetchpatch, symlinkJoin +# Python deps +, buildPythonPackage, isPy3k, pythonOlder, pythonAtLeast, python +# Python libraries +, numpy, tensorflow-tensorboard, backports_weakref, mock, enum34, absl-py +, future, setuptools, wheel, keras-preprocessing, keras-applications, google-pasta +, termcolor, grpcio, six, wrapt, protobuf, tensorflow-estimator +# Common deps +, git, swig, which, binutils, glibcLocales, cython +# Common libraries +, jemalloc, openmpi, astor, gast, grpc, sqlite, openssl, jsoncpp, re2 +, curl, snappy, flatbuffers, icu, double-conversion, libpng, libjpeg, giflib +, cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null, nccl ? null # XLA without CUDA is broken , xlaSupport ? cudaSupport # Default from ./configure script @@ -21,128 +28,333 @@ assert cudaSupport -> nvidia_x11 != null assert ! (stdenv.isDarwin && cudaSupport); let - withTensorboard = pythonOlder "3.6"; cudatoolkit_joined = symlinkJoin { - name = "${cudatoolkit.name}-unsplit"; + name = "${cudatoolkit.name}-merged"; paths = [ cudatoolkit.out cudatoolkit.lib ]; }; + cudatoolkit_cc_joined = symlinkJoin { + name = "${cudatoolkit.cc.name}-merged"; + paths = [ + cudatoolkit.cc + binutils.bintools # for ar, dwp, nm, objcopy, objdump, strip + ]; + }; + + # Needed for _some_ system libraries, grep INCLUDEDIR. + includes_joined = symlinkJoin { + name = "tensorflow-deps-merged"; + paths = [ + pkgs.protobuf + jsoncpp + ]; + }; + tfFeature = x: if x then "1" else "0"; - version = "1.5.0"; + version = "1.14.0"; + variant = if cudaSupport then "-gpu" else ""; + pname = "tensorflow${variant}"; + + # TODO: remove after there's support for setupPyDistFlags + setuppy = ../../../development/interpreters/python/run_setup.py; - pkg = buildBazelPackage rec { - name = "tensorflow-build-${version}"; + bazel-build = buildBazelPackage rec { + name = "${pname}-${version}"; src = fetchFromGitHub { owner = "tensorflow"; repo = "tensorflow"; rev = "v${version}"; - sha256 = "1c4djsaip901nasm7a6dsimr02bsv70a7b1g0kysb4n39qpdh22q"; + sha256 = "06jvwlsm14b8rqwd8q8796r0vmn0wk64s4ps2zg0sapkmp9vvcmi"; }; patches = [ - # Fix build with Bazel >= 0.10 + # Work around https://github.com/tensorflow/tensorflow/issues/24752 + ./no-saved-proto.patch + # Fixes for NixOS jsoncpp + ./system-jsoncpp.patch + + # https://github.com/tensorflow/tensorflow/pull/29673 (fetchpatch { - url = "https://github.com/tensorflow/tensorflow/commit/6fcfab770c2672e2250e0f5686b9545d99eb7b2b.patch"; - sha256 = "0p61za1mx3a7gj1s5lsps16fcw18iwnvq2b46v1kyqfgq77a12vb"; + name = "fix-compile-with-cuda-and-mpi.patch"; + url = "https://github.com/tensorflow/tensorflow/pull/29673/commits/498e35a3bfe38dd75cf1416a1a23c07c3b59e6af.patch"; + sha256 = "1m2qmwv1ysqa61z6255xggwbq6mnxbig749bdvrhnch4zydxb4di"; }) + + # https://github.com/tensorflow/tensorflow/issues/29220 (fetchpatch { - url = "https://github.com/tensorflow/tensorflow/commit/3f57956725b553d196974c9ad31badeb3eabf8bb.patch"; - sha256 = "11dja5gqy0qw27sc9b6yw9r0lfk8dznb32vrqqfcnypk2qmv26va"; + name = "bazel-0.27.patch"; + url = "https://github.com/tensorflow/tensorflow/commit/cfccbdb8c4a92dd26382419dceb4d934c2380391.patch"; + sha256 = "1l56wjia2c4685flsfkkgy471wx3c66wyv8khspv06zchj0k0liw"; }) ]; - nativeBuildInputs = [ swig which ]; + # On update, it can be useful to steal the changes from gentoo + # https://gitweb.gentoo.org/repo/gentoo.git/tree/sci-libs/tensorflow - buildInputs = [ python jemalloc openmpi glibcLocales numpy ] - ++ lib.optionals cudaSupport [ cudatoolkit cudnn nvidia_x11 ]; + nativeBuildInputs = [ + swig which cython + ]; + + buildInputs = [ + python + jemalloc + openmpi + glibcLocales + git + + # python deps needed during wheel build time + numpy + keras-preprocessing + protobuf + wrapt + gast + astor + absl-py + termcolor + keras-applications + + # libs taken from system through the TF_SYS_LIBS mechanism + grpc + sqlite + openssl + jsoncpp + pkgs.protobuf + curl + snappy + flatbuffers + icu + double-conversion + libpng + libjpeg + giflib + re2 + pkgs.lmdb + + # for building the wheel + setuptools + wheel + ] ++ lib.optionals (!isPy3k) [ + future + mock + ] ++ lib.optionals cudaSupport [ + cudatoolkit + cudnn + nvidia_x11 + ]; + + + # arbitrarily set to the current latest bazel version, overly careful + TF_IGNORE_MAX_BAZEL_VERSION = true; + + # Take as many libraries from the system as possible. Keep in sync with + # list of valid syslibs in + # https://github.com/tensorflow/tensorflow/blob/master/third_party/systemlibs/syslibs_configure.bzl + TF_SYSTEM_LIBS = lib.concatStringsSep "," [ + "absl_py" + "astor_archive" + "boringssl" + # Not packaged in nixpkgs + # "com_github_googleapis_googleapis" + # "com_github_googlecloudplatform_google_cloud_cpp" + "com_google_protobuf" + "com_google_protobuf_cc" + "com_googlesource_code_re2" + "curl" + "cython" + "double_conversion" + "flatbuffers" + "gast_archive" + "gif_archive" + "grpc" + "hwloc" + "icu" + "jpeg" + "jsoncpp_git" + "keras_applications_archive" + "lmdb" + "nasm" + # "nsync" # not packaged in nixpkgs + "org_sqlite" + "pasta" + "pcre" + "png_archive" + "protobuf_archive" + "six_archive" + "snappy" + "swig" + "termcolor_archive" + "wrapt" + "zlib_archive" + ]; - preConfigure = '' + INCLUDEDIR = "${includes_joined}/include"; + + PYTHON_BIN_PATH = python.interpreter; + + TF_NEED_GCP = true; + TF_NEED_HDFS = true; + TF_ENABLE_XLA = tfFeature xlaSupport; + + CC_OPT_FLAGS = " "; + + # https://github.com/tensorflow/tensorflow/issues/14454 + TF_NEED_MPI = tfFeature cudaSupport; + + TF_NEED_CUDA = tfFeature cudaSupport; + TF_CUDA_PATHS = lib.optionalString cudaSupport "${cudatoolkit_joined},${cudnn},${nccl}"; + GCC_HOST_COMPILER_PREFIX = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin"; + TF_CUDA_COMPUTE_CAPABILITIES = lib.concatStringsSep "," cudaCapabilities; + + postPatch = '' + # https://github.com/tensorflow/tensorflow/issues/20919 + sed -i '/androidndk/d' tensorflow/lite/kernels/internal/BUILD + + # Tensorboard pulls in a bunch of dependencies, some of which may + # include security vulnerabilities. So we make it optional. + # https://github.com/tensorflow/tensorflow/issues/20280#issuecomment-400230560 + sed -i '/tensorboard >=/d' tensorflow/tools/pip_package/setup.py + ''; + + preConfigure = let + opt_flags = [] + ++ lib.optionals sse42Support ["-msse4.2"] + ++ lib.optionals avx2Support ["-mavx2"] + ++ lib.optionals fmaSupport ["-mfma"]; + in '' patchShebangs configure - export PYTHON_BIN_PATH="${python.interpreter}" - export PYTHON_LIB_PATH="$NIX_BUILD_TOP/site-packages" - export TF_NEED_GCP=1 - export TF_NEED_HDFS=1 - export TF_ENABLE_XLA=${tfFeature xlaSupport} - export CC_OPT_FLAGS=" " - # https://github.com/tensorflow/tensorflow/issues/14454 - export TF_NEED_MPI=${tfFeature cudaSupport} - export TF_NEED_CUDA=${tfFeature cudaSupport} - ${lib.optionalString cudaSupport '' - export CUDA_TOOLKIT_PATH=${cudatoolkit_joined} - export TF_CUDA_VERSION=${cudatoolkit.majorVersion} - export CUDNN_INSTALL_PATH=${cudnn} - export TF_CUDNN_VERSION=${cudnn.majorVersion} - export GCC_HOST_COMPILER_PATH=${cudatoolkit.cc}/bin/gcc - export TF_CUDA_COMPUTE_CAPABILITIES=${lib.concatStringsSep "," cudaCapabilities} - ''} + # dummy ldconfig + mkdir dummy-ldconfig + echo "#!${stdenv.shell}" > dummy-ldconfig/ldconfig + chmod +x dummy-ldconfig/ldconfig + export PATH="$PWD/dummy-ldconfig:$PATH" + export PYTHON_LIB_PATH="$NIX_BUILD_TOP/site-packages" + export CC_OPT_FLAGS="${lib.concatStringsSep " " opt_flags}" mkdir -p "$PYTHON_LIB_PATH" ''; - NIX_LDFLAGS = lib.optionals cudaSupport [ "-lcublas" "-lcudnn" "-lcuda" "-lcudart" ]; + configurePhase = '' + runHook preConfigure + ./configure + runHook postConfigure + ''; - hardeningDisable = [ "all" ]; + # FIXME: Tensorflow uses dlopen() for CUDA libraries. + # No idea why gpr isn't linked properly; perhaps Tensorflow expects a static library? + NIX_LDFLAGS = [ "-lgpr" ] ++ lib.optionals cudaSupport [ "-lcudart" "-lcublas" "-lcufft" "-lcurand" "-lcusolver" "-lcusparse" "-lcudnn" ]; - bazelFlags = [ "--config=opt" ] - ++ lib.optional sse42Support "--copt=-msse4.2" - ++ lib.optional avx2Support "--copt=-mavx2" - ++ lib.optional fmaSupport "--copt=-mfma" - ++ lib.optional cudaSupport "--config=cuda"; + hardeningDisable = [ "format" ]; - bazelTarget = "//tensorflow/tools/pip_package:build_pip_package"; + bazelFlags = [ + # temporary fixes to make the build work with bazel 0.27 + "--incompatible_no_support_tools_in_action_inputs=false" + ]; + bazelBuildFlags = [ + "--config=opt" # optimize using the flags set in the configure phase + ]; + + bazelTarget = "//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow"; fetchAttrs = { preInstall = '' rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,local_*,\@local_*} ''; - sha256 = "1nc98aqrp14q7llypcwaa0kdn9xi7r0p1mnd3vmmn1m299py33ca"; + # cudaSupport causes fetch of ncclArchive, resulting in different hashes + sha256 = if cudaSupport then + "1rbzvir569ch33bpvm47byx954vr80rjnzrbgs4rg3bqww73hr3k" + else + "1wnhma450zh72raiq7ddd9lyq3a056cjqiy6i7y4sidiy09ncvcg"; }; buildAttrs = { + outputs = [ "out" "python" ]; + preBuild = '' patchShebangs . - find -type f -name CROSSTOOL\* -exec sed -i \ - -e 's,/usr/bin/ar,${binutils.bintools}/bin/ar,g' \ - {} \; ''; installPhase = '' - sed -i 's,.*bdist_wheel.*,cp -rL . "$out"; exit 0,' bazel-bin/tensorflow/tools/pip_package/build_pip_package - bazel-bin/tensorflow/tools/pip_package/build_pip_package $PWD/dist + mkdir -p "$out" + tar -xf bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz -C "$out" + # Write pkgconfig file. + mkdir "$out/lib/pkgconfig" + cat > "$out/lib/pkgconfig/tensorflow.pc" << EOF + Name: TensorFlow + Version: ${version} + Description: Library for computation using data flow graphs for scalable machine learning + Requires: + Libs: -L$out/lib -ltensorflow + Cflags: -I$out/include/tensorflow + EOF + + # build the source code, then copy it to $python (build_pip_package + # actually builds a symlink farm so we must dereference them). + bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "$PWD/dist" + cp -Lr "$PWD/dist" "$python" ''; }; - - dontFixup = true; }; in buildPythonPackage rec { - pname = "tensorflow"; - inherit version; + inherit version pname; - src = pkg; + src = bazel-build.python; - installFlags = lib.optional (!withTensorboard) "--no-dependencies"; + # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow + # and the propagated input tensorflow-tensorboard, which causes environment collisions. + # Another possibility would be to have tensorboard only in the buildInputs + # https://github.com/tensorflow/tensorflow/blob/v1.7.1/tensorflow/tools/pip_package/setup.py#L79 + postInstall = '' + rm $out/bin/tensorboard + ''; - postPatch = lib.optionalString (pythonAtLeast "3.4") '' - sed -i '/enum34/d' setup.py + # TODO: remove after there's support for setupPyDistFlags + buildPhase = '' + runHook preBuild + cp ${setuppy} nix_run_setup + ${python.interpreter} nix_run_setup --project_name ${pname} bdist_wheel + runHook postBuild ''; - propagatedBuildInputs = [ numpy six protobuf absl-py ] - ++ lib.optional (!isPy3k) mock - ++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ] - ++ lib.optional withTensorboard tensorflow-tensorboard; + # tensorflow/tools/pip_package/setup.py + propagatedBuildInputs = [ + absl-py + astor + gast + google-pasta + keras-applications + keras-preprocessing + numpy + six + protobuf + tensorflow-estimator + termcolor + wrapt + grpcio + ] ++ lib.optionals (!isPy3k) [ + mock + future # FIXME + ] ++ lib.optionals (pythonOlder "3.4") [ + backports_weakref enum34 + ] ++ lib.optionals withTensorboard [ + tensorflow-tensorboard + ]; # Actual tests are slow and impure. + # TODO try to run them anyway + # TODO better test (files in tensorflow/tools/ci_build/builds/*test) checkPhase = '' ${python.interpreter} -c "import tensorflow" ''; + passthru.libtensorflow = bazel-build.out; + meta = with stdenv.lib; { description = "Computation using data flow graphs for scalable machine learning"; homepage = http://tensorflow.org; diff --git a/pkgs/development/python-modules/tensorflow/no-saved-proto.patch b/pkgs/development/python-modules/tensorflow/no-saved-proto.patch new file mode 100644 index 00000000000..ead112f8ddd --- /dev/null +++ b/pkgs/development/python-modules/tensorflow/no-saved-proto.patch @@ -0,0 +1,14 @@ +diff --git a/tensorflow/cc/saved_model/BUILD b/tensorflow/cc/saved_model/BUILD +index 8626ed0087..27deb34387 100644 +--- a/tensorflow/cc/saved_model/BUILD ++++ b/tensorflow/cc/saved_model/BUILD +@@ -49,9 +49,6 @@ cc_library( + # tf_lib depending on the build platform. + "//tensorflow/core:lib", + "//tensorflow/core:protos_all_cc", +- ]) + if_mobile([ +- # Mobile-friendly SavedModel proto. See go/portable-proto for more info. +- "//tensorflow/core:saved_model_portable_proto", + ]) + if_android([ + "//tensorflow/core:android_tensorflow_lib", + ]) + if_ios([ diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh index 3059340d127..d590fb0f173 100644..100755 --- a/pkgs/development/python-modules/tensorflow/prefetcher.sh +++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh @@ -1,7 +1,10 @@ +#!/usr/bin/env bash + version=1.14.0 -hashfile=tf${version}-hashes.nix +hashfile=binary-hashes.nix rm -f $hashfile echo "{" >> $hashfile +echo "version = \"$version\";" >> $hashfile for sys in "linux" "mac"; do for tfpref in "cpu/tensorflow" "gpu/tensorflow_gpu"; do for pykind in "py2-none-any" "py3-none-any" "cp27-none-linux_x86_64" "cp35-cp35m-linux_x86_64" "cp36-cp36m-linux_x86_64" "cp37-cp37m-linux_x86_64"; do diff --git a/pkgs/development/python-modules/tensorflow/system-jsoncpp.patch b/pkgs/development/python-modules/tensorflow/system-jsoncpp.patch new file mode 100644 index 00000000000..ecb2d04d7ee --- /dev/null +++ b/pkgs/development/python-modules/tensorflow/system-jsoncpp.patch @@ -0,0 +1,21 @@ +diff --git a/third_party/systemlibs/jsoncpp.BUILD b/third_party/systemlibs/jsoncpp.BUILD +index 526fd0c418..646f3fdcea 100644 +--- a/third_party/systemlibs/jsoncpp.BUILD ++++ b/third_party/systemlibs/jsoncpp.BUILD +@@ -7,6 +7,7 @@ filegroup( + + HEADERS = [ + "include/json/autolink.h", ++ "include/json/allocator.h", + "include/json/config.h", + "include/json/features.h", + "include/json/forwards.h", +@@ -23,7 +24,7 @@ genrule( + cmd = """ + for i in $(OUTS); do + i=$${i##*/} +- ln -sf $(INCLUDEDIR)/jsoncpp/json/$$i $(@D)/include/json/$$i ++ ln -sf $(INCLUDEDIR)/json/$$i $(@D)/include/json/$$i + done + """, + ) diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix index 57de59605f3..ebc85c19b39 100644 --- a/pkgs/development/tools/misc/universal-ctags/default.nix +++ b/pkgs/development/tools/misc/universal-ctags/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "universal-ctags-${version}"; - version = "2018-07-23"; + version = "unstable-2019-07-30"; src = fetchFromGitHub { owner = "universal-ctags"; repo = "ctags"; - rev = "3522685695ad3312cf4b19399e0c44f3395dd089"; - sha256 = "1f67hy8c2yr9z4ydsqd7wg8iagzn01qjw2ccx6g8mngv3i3jz9mv"; + rev = "920e7910146915e5cae367bc9f135ffd8b042042"; + sha256 = "14n3ix77rkhq6vq6kspmgjrmm0kg0f8cxikyqdq281sbnfq8bajn"; }; nativeBuildInputs = [ autoreconfHook pkgconfig pythonPackages.docutils ]; @@ -21,6 +21,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-tmpdir=/tmp" ]; + postPatch = '' + # Remove source of non-determinism + substituteInPlace main/options.c \ + --replace "printf (\" Compiled: %s, %s\n\", __DATE__, __TIME__);" "" + ''; + postConfigure = '' sed -i 's|/usr/bin/env perl|${perl}/bin/perl|' misc/optlib2c ''; diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix index 64ed110b2a3..755ec390a9c 100644 --- a/pkgs/os-specific/linux/anbox/default.nix +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -64,6 +64,8 @@ stdenv.mkDerivation rec { libGL ]; + NIX_CFLAGS_COMPILE = "-Wno-error=missing-field-initializers"; + patchPhase = '' patchShebangs scripts diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix index 6415cc635d5..2f5c392c173 100644 --- a/pkgs/os-specific/linux/anbox/kmod.nix +++ b/pkgs/os-specific/linux/anbox/kmod.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "anbox-modules"; - version = "2018-09-08-" + kernel.version; + version = "2019-07-13-" + kernel.version; src = fetchFromGitHub { owner = "anbox"; repo = "anbox-modules"; - rev = "27fd47e11ef6eef93738f8f3df3e42c88975544e"; - sha256 = "1hnf5x5swjcws6mnxmd3byll8l7qsxxj9pgki2k31rbmqqf2sb0x"; + rev = "816dd4d6e702cf77a44cfe208659af6c39e02b57"; + sha256 = "115xrv3fz5bk51hz8cwb61h0xnrsnv217fxmbpw35a6hjrk7gslc"; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 448c36a481c..57d9ad8fc16 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.134"; + version = "4.14.135"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0b9xj1rwr5fpw2giirfghzxxc0wp1hwf4nqvalx314pxxysyf88b"; + sha256 = "0x2v0pj4hjb71qkxbqn4ymg6zmyabp91kylyzd270nbig7i234a2"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 8a07b99900c..a1192b68b3f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.62"; + version = "4.19.63"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1p6s1ksrsq3za7644j0qf9brf6brwq39jxpfln5ypmyfi5qn9gh7"; + sha256 = "0pfjwpa6szvdr941y13806hlsgsbslfsvkrd5534p1iip5h8g63m"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.2.nix b/pkgs/os-specific/linux/kernel/linux-5.2.nix index 324c5237444..9a0551c4d06 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.2.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.2.4"; + version = "5.2.5"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0hzfayq79bksng09ngw3k3h3zkd6ndfn059rvwpznypy1fg8pkdi"; + sha256 = "15ndscsp3yqgas901g6inpmyvinz4cwr5y3md516j2pr8cl40if6"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 3a80f4aa1de..82ac359158b 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -22,29 +22,31 @@ rec { beta = stable; stable_430 = generic { - version = "430.34"; - sha256_64bit = "0c3x25gilibbgazvp20d5sfmmgcf0gfqf024nzzqryxg4m05h39b"; - settingsSha256 = "1xpf9gbpq5xynxm6f401ab09aa243h1sk2vcxvzjwqgcil36zzad"; - persistencedSha256 = "00dd0m87nwqfv9i23bvbqgcz10x9mvfxg9249nvhp4y3ha65rms6"; + version = "430.40"; + sha256_64bit = "1myzhy1mf27dcx0admm3pbbkfdd9p66lw0cq2mz1nwds92gqj07p"; + settingsSha256 = "0rg9dxg02pnpi0a1yi3a41wn6kmlk0dm6dvfbazyqi4gbzr12qrl"; + persistencedSha256 = "0findlrs5v1m7gl0vxkpd04lh54pib80w5vp4j77qb5snhgvckhq"; }; # Last one supporting x86 legacy_390 = generic { - version = "390.116"; - sha256_32bit = "0aavzi99ps7r6nrchf4h9gw3fkvm2z6wppkqkz5fwcy7x03ky4qk"; - sha256_64bit = "106qc62a7m9imchqfq8rfn8fwyrjxg383354q7z2wr8112fyhyg1"; - settingsSha256 = "0n4pj8dzkr7ccwrn5p46mn59cnijdhg8zmn3idjzrk56pq0hbgjr"; - persistencedSha256 = "0bnjr0smhlwlqpyg9m6lca3b7brl2mw8aypc6p7525dn9d9kv6kb"; + version = "390.129"; + sha256_32bit = "0dkgkp0zx40hf1fsq5xnvbschp7r3c1x1pnpdxna24pi4s62cm2q"; + sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n"; + settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l"; + persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf"; patches = [ - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-4.16.patch?h=2ad07241ea525a6b6b555b6cb96a97634a4b2cb0"; - sha256 = "11b3dp0na496rn13v5q4k66bf61174800g36rcwj42r0xj9cfak2"; - }) - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-5.1.patch?h=42d50ef8d6048608d18bdf2c296dd335260c5a1a"; - sha256 = "03v46ym2bcckg9q2xrilkg21hfiwypr6gl4jmly2q3m4yza9ja6r"; - })]; + (fetchurl { + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-4.16.patch?h=2ad07241ea525a6b6b555b6cb96a97634a4b2cb0"; + sha256 = "11b3dp0na496rn13v5q4k66bf61174800g36rcwj42r0xj9cfak2"; + }) + + (fetchurl { + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-5.1.patch?h=42d50ef8d6048608d18bdf2c296dd335260c5a1a"; + sha256 = "03v46ym2bcckg9q2xrilkg21hfiwypr6gl4jmly2q3m4yza9ja6r"; + }) + ]; }; legacy_340 = generic { diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix index 9345fbe03d6..a0cb4dc2eaf 100644 --- a/pkgs/servers/jellyfin/default.nix +++ b/pkgs/servers/jellyfin/default.nix @@ -18,12 +18,12 @@ let in stdenv.mkDerivation rec { pname = "jellyfin"; - version = "10.3.6"; + version = "10.3.7"; # Impossible to build anything offline with dotnet src = fetchurl { url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz"; - sha256 = "1vkb952y4n2gxgm2grxmpx93mljzfqm1m9f13lbw7qdhxb80zy41"; + sha256 = "1lpd0dvf7x0wgl8bllqzk54nnbn9fj73jcsz292g7nip1ippgibl"; }; buildInputs = [ diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index d0f3fc88fc0..fa92411cea6 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -4,13 +4,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - version = "2019-07-22"; + version = "2019-07-31"; name = "oh-my-zsh-${version}"; - rev = "508cba2fc2ec545504abcf38ecdd958f3a89e5e8"; + rev = "6d2221e697ea4a2445202b1c32283610f84585ef"; src = fetchgit { inherit rev; url = "https://github.com/robbyrussell/oh-my-zsh"; - sha256 = "0pql5p8dwz576s0hgqrzk4543qawlghy7rv3k3jyhrwi4xx4z84d"; + sha256 = "0yj2cymh2a74014ng7vyfh1b8qhbk14s0sbcj0426mykvilfd31b"; }; pathsToLink = [ "/share/oh-my-zsh" ]; diff --git a/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch b/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch new file mode 100644 index 00000000000..d9f491ca290 --- /dev/null +++ b/pkgs/tools/security/bitwarden_rs/cargo-lock-lettre.patch @@ -0,0 +1,58 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 2e0b695..6d23410 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -114,8 +114,8 @@ dependencies = [ + "handlebars 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonwebtoken 6.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +- "lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", +- "lettre_email 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lettre_email 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "multipart 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)", +@@ -1007,13 +1007,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + + [[package]] + name = "lettre" +-version = "0.9.1" ++version = "0.9.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + dependencies = [ + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bufstream 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +- "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +- "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "fast_chemail 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", +@@ -1026,14 +1024,12 @@ dependencies = [ + + [[package]] + name = "lettre_email" +-version = "0.9.1" ++version = "0.9.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + dependencies = [ + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "email 0.0.20 (registry+https://github.com/rust-lang/crates.io-index)", +- "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +- "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +- "lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", ++ "lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", +@@ -2858,8 +2854,8 @@ dependencies = [ + "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" + "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" + "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" +-"checksum lettre 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "646aee0a55545eaffdf0df1ac19b500b51adb3095ec4dfdc704134e56ea23531" +-"checksum lettre_email 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae1b3d43e4bb7beb9974a359cbb3ea4f93dfba6c1c0c6e9c9f82e538e0f9ab9f" ++"checksum lettre 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c66afaa5dfadbb81d4e00fd1d1ab057c7cd4c799c5a44e0009386d553587e728" ++"checksum lettre_email 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bbb68ca999042d965476e47bbdbacd52db0927348b6f8062c44dd04a3b1fd43b" + "checksum libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "42914d39aad277d9e176efbdad68acb1d5443ab65afe0e0e4f0d49352a950880" + "checksum libsqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd6457c70bbff456d9fe49deaba35ec47c3e598bf8d7950ff0575ceb7a8a6ad1" + "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix index d22a2773fd9..f04996f1b43 100644 --- a/pkgs/tools/security/bitwarden_rs/default.nix +++ b/pkgs/tools/security/bitwarden_rs/default.nix @@ -2,21 +2,26 @@ rustPlatform.buildRustPackage rec { pname = "bitwarden_rs"; - version = "1.9.0"; + version = "1.9.1"; src = fetchFromGitHub { owner = "dani-garcia"; repo = pname; rev = version; - sha256 = "14c2blzkmdd9s0gpf6b7y141yx9s2v2gmwy5l1lgqjhi3h6jpcqr"; + sha256 = "0jfb4b2lp2v01aw615lx0qj1qh73hyrbjn9kva7zqp74wcfw12gp"; }; + cargoPatches = [ + # type annotations required: cannot resolve `std::string::String: std::convert::AsRef<_>` + ./cargo-lock-lettre.patch + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security CoreServices ]; RUSTC_BOOTSTRAP = 1; - cargoSha256 = "038l6alcdc0g4avpbzxgd2k09nr3wrsbry763bq2c77qqgwldj8r"; + cargoSha256 = "0p39gqrqdmgqhngp1qyh6jl0sp0ifj5n3bxfqafjbspb4zph3ls4"; meta = with stdenv.lib; { description = "An unofficial lightweight implementation of the Bitwarden server API using Rust and SQLite"; diff --git a/pkgs/tools/security/bitwarden_rs/vault.nix b/pkgs/tools/security/bitwarden_rs/vault.nix index 44c8047684f..76b9f24224c 100644 --- a/pkgs/tools/security/bitwarden_rs/vault.nix +++ b/pkgs/tools/security/bitwarden_rs/vault.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "bitwarden_rs-vault"; - version = "2.10.1"; + version = "2.11.0"; src = fetchurl { url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz"; - sha256 = "1avgxlsxi7mb8zpqai3j1qb43qq09ya5ngb7l4q7mj0d89lxrzhb"; + sha256 = "06f0rcpqhz5qjm01jbxx2czhnj9ng29rgsrilm5r5xx31s9dnhg7"; }; buildCommand = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d35b7c9f39..8d3f900b5a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1093,12 +1093,18 @@ in tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { }; - libtensorflow = callPackage ../development/libraries/libtensorflow { + libtensorflow-bin = callPackage ../development/libraries/science/math/tensorflow/bin.nix { + cudaSupport = pkgs.config.cudaSupport or false; inherit (linuxPackages) nvidia_x11; - cudatoolkit = cudatoolkit_9_0; - cudnn = cudnn_cudatoolkit_9_0; + cudatoolkit = cudatoolkit_10_0; + cudnn = cudnn_cudatoolkit_10_0; }; + libtensorflow = + if python.pkgs.tensorflow ? libtensorflow + then python.pkgs.tensorflow.libtensorflow + else libtensorflow-bin; + behdad-fonts = callPackage ../data/fonts/behdad-fonts { }; blink1-tool = callPackage ../tools/misc/blink1-tool { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index be6a291b7c7..68718fe9f6b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5700,15 +5700,22 @@ in { tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { }; - tensorflow = - if stdenv.isDarwin - then callPackage ../development/python-modules/tensorflow/bin.nix { } - else callPackage ../development/python-modules/tensorflow/bin.nix rec { - cudaSupport = pkgs.config.cudaSupport or false; - inherit (pkgs.linuxPackages) nvidia_x11; - cudatoolkit = pkgs.cudatoolkit_10_0; - cudnn = pkgs.cudnn_cudatoolkit_10_0; - }; + tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix { + cudaSupport = pkgs.config.cudaSupport or false; + inherit (pkgs.linuxPackages) nvidia_x11; + cudatoolkit = pkgs.cudatoolkit_10; + cudnn = pkgs.cudnn_cudatoolkit_10; + }; + + tensorflow-build = callPackage ../development/python-modules/tensorflow { + cudaSupport = pkgs.config.cudaSupport or false; + inherit (pkgs.linuxPackages) nvidia_x11; + cudatoolkit = pkgs.cudatoolkit_10; + cudnn = pkgs.cudnn_cudatoolkit_10; + nccl = pkgs.nccl_cudatoolkit_10; + }; + + tensorflow = if stdenv.isDarwin then self.tensorflow-bin else self.tensorflow-build; tensorflowWithoutCuda = self.tensorflow.override { cudaSupport = false; |