diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 837447fe60f..79500a33bf8 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -10,9 +10,9 @@ let hadoopVersion = "cdh4"; sparkSha256 = "00il083cjb9xqzsma2ifphq9ggichwndrj6skh2z5z9jk3z0lgyn"; }; - "2.1.0" = { - hadoopVersion = "hadoop2.4"; - sparkSha256 = "0pbsmbjwijsfgbnm56kgwnmnlqkz3w010ma0d7vzlkdklj40vqn2"; + "2.2.0" = { + hadoopVersion = "hadoop2.7"; + sparkSha256 = "0wjjn2pgalrcji8avhj5d48kl1mf7rhrdxhzf29dbiszq4fkx0s6"; }; }; in diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index e60fd82ff01..e9d6c5f306f 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -35,7 +35,8 @@ buildFHSUserEnv { targetPkgs = pkgs: with pkgs; with xlibs; [ libICE libSM libX11 libXcomposite libXdamage libXext libXfixes libXrender libXxf86vm libxcb xkeyboardconfig - curl dbus fontconfig freetype gcc glib gnutar libxml2 libxslt zlib + curl dbus firefox-bin fontconfig freetype gcc glib gnutar libxml2 libxslt + procps zlib ]; extraInstallCommands = '' @@ -44,13 +45,34 @@ buildFHSUserEnv { ''; runScript = writeScript "install-and-start-dropbox" '' + export BROWSER=firefox + + set -e + + do_install= if ! [ -d "$HOME/.dropbox-dist" ]; then + do_install=1 + else + installed_version=$(cat "$HOME/.dropbox-dist/VERSION") + latest_version=$(printf "${version}\n$installed_version\n" | sort -V | head -n 1) + if [ "x$installed_version" != "x$latest_version" ]; then + do_install=1 + fi + fi + + if [ -n "$do_install" ]; then + installer=$(mktemp) # Dropbox is not installed. # Download and unpack the client. If a newer version is available, # the client will update itself when run. - curl '${installer}' | tar -C "$HOME" -x -z + curl '${installer}' >"$installer" + pkill dropbox || true + rm -fr "$HOME/.dropbox-dist" + tar -C "$HOME" -x -z -f "$installer" + rm "$installer" fi - exec "$HOME/.dropbox-dist/dropboxd" + + exec "$HOME/.dropbox-dist/dropboxd" "$@" ''; meta = with lib; { diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix index 2996040bbd0..bfc55f87b5c 100644 --- a/pkgs/desktops/xfce/core/thunar-build.nix +++ b/pkgs/desktops/xfce/core/thunar-build.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, intltool , gtk, dbus_glib, libstartup_notification, libnotify, libexif, pcre, udev -, exo, libxfce4util, xfconf, xfce4panel +, exo, libxfce4util, xfconf, xfce4panel, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c ''; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; buildInputs = [ intltool gtk dbus_glib libstartup_notification libnotify libexif pcre udev diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix index cbe92df814c..8dfe26f72f4 100644 --- a/pkgs/development/compilers/rust/binaryBuild.nix +++ b/pkgs/development/compilers/rust/binaryBuild.nix @@ -6,12 +6,32 @@ }: let - inherit (stdenv.lib) optionalString; - - needsPatchelf = stdenv.isLinux; + inherit (stdenv.lib) getLib optionalString; + inherit (darwin) libiconv; + inherit (darwin.apple_sdk.frameworks) Security; bootstrapping = versionType == "bootstrap"; + patchBootstrapCargo = '' + ${optionalString (stdenv.isLinux && bootstrapping) '' + patchelf \ + --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" + ''} + ${optionalString (stdenv.isDarwin && bootstrapping) '' + install_name_tool \ + -change /usr/lib/libiconv.2.dylib '${getLib libiconv}/lib/libiconv.2.dylib' \ + "$out/bin/cargo" + install_name_tool \ + -change /usr/lib/libcurl.4.dylib '${getLib curl}/lib/libcurl.4.dylib' \ + "$out/bin/cargo" + install_name_tool \ + -change /usr/lib/libz.1.dylib '${getLib zlib}/lib/libz.1.dylib' \ + "$out/bin/cargo" + ''} + ''; + installComponents = "rustc,rust-std-${platform}" + (optionalString bootstrapping ",rust-docs,cargo") @@ -34,22 +54,21 @@ rec { license = [ licenses.mit licenses.asl20 ]; }; - phases = ["unpackPhase" "installPhase"]; + phases = ["unpackPhase" "installPhase" "fixupPhase"]; - propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security; installPhase = '' ./install.sh --prefix=$out \ --components=${installComponents} - ${optionalString (needsPatchelf && bootstrapping) '' + ${optionalString (stdenv.isLinux && bootstrapping) '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/rustc" patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/bin/rustdoc" - patchelf \ - --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/cargo" ''} ${optionalString (stdenv.isDarwin && bootstrapping) '' install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo" @@ -57,19 +76,14 @@ rec { install_name_tool -change /usr/lib/libz.1.dylib '${stdenv.lib.getLib zlib}/lib/libz.1.dylib' "$out/bin/cargo" ''} - ${optionalString needsPatchelf '' - patchelf \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/rustc" + ${patchBootstrapCargo} # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc # (or similar) here. It causes strange effects where rustc loads # the wrong libraries in a bootstrap-build causing failures that # are very hard to track dow. For details, see # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943 - ''} ''; - }; cargo = stdenv.mkDerivation rec { @@ -85,19 +99,16 @@ rec { license = [ licenses.mit licenses.asl20 ]; }; + phases = ["unpackPhase" "installPhase" "fixupPhase"]; + buildInputs = [ makeWrapper ]; - phases = ["unpackPhase" "installPhase"]; + propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security; installPhase = '' ./install.sh --prefix=$out \ --components=cargo - ${optionalString needsPatchelf '' - patchelf \ - --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/cargo" - ''} + ${patchBootstrapCargo} wrapProgram "$out/bin/cargo" \ --suffix PATH : "${rustc}/bin" diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index d9aa3f757a4..da9680943b5 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, makeWrapper, cacert, zlib, curl, darwin }: +{ stdenv, fetchurl, callPackage }: let # Note: the version MUST be one version prior to the version we're # building - version = "1.19.0"; + version = "1.20.0"; - # fetch hashes by running `print-hashes.sh 1.19.0` + # fetch hashes by running `print-hashes.sh 1.20.0` hashes = { - i686-unknown-linux-gnu = "657b78f3c1a1b4412e12f7278e20cc318022fa276a58f0d38a0d15b515e39713"; - x86_64-unknown-linux-gnu = "30ff67884464d32f6bbbde4387e7557db98868e87fb2afbb77c9b7716e3bff09"; - i686-apple-darwin = "bdfd2189245dc5764c9f26bdba1429c2bf9d57477d8e6e3f0ba42ea0dc63edeb"; - x86_64-apple-darwin = "5c668fb60a3ba3e97dc2cb8967fc4bb9422b629155284dcb89f94d116bb17820"; + i686-unknown-linux-gnu = "abe592e06616cdc2fcca56ddbe482050dd49a1fada35e2af031c64fe6eb14668"; + x86_64-unknown-linux-gnu = "ca1cf3aed73ff03d065a7d3e57ecca92228d35dc36d9274a6597441319f18eb8"; + i686-apple-darwin = "b3c2470f8f132d285e6c989681e251592b67071bc9d93cac8a2e6b66f7bdfcb5"; + x86_64-apple-darwin = "fa1fb8896d5e327cbe6deeb50e6e9a3346de629f2e6bcbd8c10f19f3e2ed67d5"; }; platform = @@ -29,9 +29,8 @@ let sha256 = hashes."${platform}"; }; -in import ./binaryBuild.nix - { inherit stdenv fetchurl makeWrapper cacert zlib curl darwin; +in callPackage ./binaryBuild.nix + { inherit version src platform; buildRustPackage = null; - inherit version src platform; versionType = "bootstrap"; } diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 682e85ce867..fb3001bbf17 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -1,7 +1,11 @@ { stdenv, fetchFromGitHub, file, curl, pkgconfig, python, openssl, cmake, zlib , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2, darwin , version, srcSha, cargoSha256 -, patches ? []}: +, patches ? [] }: + +let + inherit (darwin.apple_sdk.frameworks) CoreFoundation; +in rustPlatform.buildRustPackage rec { name = "cargo-${version}"; @@ -21,13 +25,17 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ] - # FIXME: Use impure version of CoreFoundation because of missing symbols. - # CFURLSetResourcePropertyForKey is defined in the headers but there's no - # corresponding implementation in the sources from opensource.apple.com. - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation libiconv ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ]; LIBGIT2_SYS_USE_PKG_CONFIG=1; + # FIXME: Use impure version of CoreFoundation because of missing symbols. + # CFURLSetResourcePropertyForKey is defined in the headers but there's no + # corresponding implementation in the sources from opensource.apple.com. + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE" + ''; + postInstall = '' # NOTE: We override the `http.cainfo` option usually specified in # `.cargo/config`. This is an issue when users want to specify @@ -36,8 +44,7 @@ rustPlatform.buildRustPackage rec { wrapProgram "$out/bin/cargo" \ --suffix PATH : "${rustc}/bin" \ --set CARGO_HTTP_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \ - ${stdenv.lib.optionalString stdenv.isDarwin ''--suffix DYLD_LIBRARY_PATH : "${rustc}/lib"''} + --set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" ''; checkPhase = '' diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index c42c958b170..3973eaff187 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,7 +6,7 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.20.0"; + version = "1.21.0"; in rec { rustc = callPackage ./rustc.nix { @@ -18,7 +18,7 @@ rec { src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a"; + sha256 = "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp"; }; patches = [ diff --git a/pkgs/development/libraries/libmsgpack/1.4.nix b/pkgs/development/libraries/libmsgpack/1.4.nix deleted file mode 100644 index 2779162feb8..00000000000 --- a/pkgs/development/libraries/libmsgpack/1.4.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ callPackage, fetchFromGitHub, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "1.4.2"; - - src = fetchFromGitHub { - owner = "msgpack"; - repo = "msgpack-c"; - rev = "cpp-${version}"; - sha256 = "0zlanifi5hmm303pzykpidq5jbapl891zwkwhkllfn8ab1jvzbaa"; - }; -}) diff --git a/pkgs/development/libraries/libmsgpack/2.0.nix b/pkgs/development/libraries/libmsgpack/2.0.nix deleted file mode 100644 index d8282b12687..00000000000 --- a/pkgs/development/libraries/libmsgpack/2.0.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ callPackage, fetchFromGitHub, ... } @ args: - -callPackage ./generic.nix (args // rec { - version = "2.0.0"; - - src = fetchFromGitHub { - owner = "msgpack"; - repo = "msgpack-c"; - rev = "cpp-${version}"; - sha256 = "189m44pwpcpf7g4yhzfla4djqyp2kl54wxmwfaj94gwgj5s370i7"; - }; -}) diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix index cc805b499d4..4c60067c48e 100644 --- a/pkgs/development/tools/misc/ycmd/default.nix +++ b/pkgs/development/tools/misc/ycmd/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "ycmd-${version}"; - version = "2017-03-27"; + version = "2017-11-05"; src = fetchgit { url = "git://github.com/Valloric/ycmd.git"; - rev = "2ef1ae0d00a06a47fed3aacfd465a310e8bdb0d2"; - sha256 = "0p5knlxgy66zi229ns1lfdhz5lram93vahmmk54w98fr3h8b1yfj"; + rev = "0ca16e7ba3a9078b697befdce64104e61829aa3b"; + sha256 = "0bs94iv521ac2n53n3k8mw3s6v0hi3hhxhjsr0ips3n99al8wndi"; }; buildInputs = [ cmake boost ] diff --git a/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch b/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch index 6af691426bb..6199758de52 100644 --- a/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch +++ b/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch @@ -1,16 +1,33 @@ diff --git a/cpp/ycm/CMakeLists.txt b/cpp/ycm/CMakeLists.txt -index 00e4882..8f29797 100644 +index 133c987a..33625271 100644 --- a/cpp/ycm/CMakeLists.txt +++ b/cpp/ycm/CMakeLists.txt -@@ -310,11 +310,6 @@ if ( EXTERNAL_LIBCLANG_PATH OR USE_SYSTEM_LIBCLANG ) - # our libraries require, in particular the Python one (from pyenv for - # instance). - set( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE ) -- # When loading our library, the dynamic linker will look for -- # libclang.so.4, not libclang.so.4.x. -- file( RENAME -- ${EXTERNAL_LIBCLANG_PATH}.${CLANG_MAJOR_VERSION}.${CLANG_MINOR_VERSION} -- ${EXTERNAL_LIBCLANG_PATH}.${CLANG_MAJOR_VERSION} ) - endif() +@@ -359,28 +359,6 @@ if( LIBCLANG_TARGET ) + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy "${PATH_TO_LLVM_ROOT}/bin/libclang.dll" "$" + ) +- else() +- add_custom_command( +- TARGET ${PROJECT_NAME} +- POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy "${LIBCLANG_TARGET}" "$" +- ) +- +- if( NOT APPLE ) +- # When loading our library, the dynamic linker may look for +- # libclang.so.x instead of libclang.so.x.y. Create the corresponding +- # symlink. +- get_filename_component( LIBCLANG_NAME ${LIBCLANG_TARGET} NAME ) +- string( REGEX REPLACE "([^.]+).([0-9]+).([0-9]+)$" "\\1.\\2" +- LIBCLANG_SONAME ${LIBCLANG_NAME} ) +- add_custom_command( +- TARGET ${PROJECT_NAME} +- POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E create_symlink +- "${LIBCLANG_NAME}" +- "$/${LIBCLANG_SONAME}" +- ) +- endif() endif() + endif() diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0dddef1051..12d8a3cdcff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6765,9 +6765,9 @@ with pkgs; self = callPackage_i686 ../development/interpreters/self { }; - spark = spark_21; + spark = spark_22; spark_16 = callPackage ../applications/networking/cluster/spark { version = "1.6.3"; }; - spark_21 = callPackage ../applications/networking/cluster/spark { version = "2.1.0"; }; + spark_22 = callPackage ../applications/networking/cluster/spark { version = "2.2.0"; }; spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { }; spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.nix { }; @@ -7738,7 +7738,7 @@ with pkgs; ycmd = callPackage ../development/tools/misc/ycmd { inherit (darwin.apple_sdk.frameworks) Cocoa; - llvmPackages = llvmPackages_4; + llvmPackages = llvmPackages_5; python = python2; }; @@ -9273,8 +9273,6 @@ with pkgs; libmtp = callPackage ../development/libraries/libmtp { }; libmsgpack = callPackage ../development/libraries/libmsgpack { }; - libmsgpack_2_0 = callPackage ../development/libraries/libmsgpack/2.0.nix { }; - libmsgpack_1_4 = callPackage ../development/libraries/libmsgpack/1.4.nix { }; libmysqlconnectorcpp = callPackage ../development/libraries/libmysqlconnectorcpp { mysql = mysql57;