Skip to content

Commit

Permalink
Merge branch 'master' into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
LnL7 committed Nov 17, 2017
2 parents 1352789 + 399a22e commit 3681820
Show file tree
Hide file tree
Showing 12 changed files with 122 additions and 92 deletions.
6 changes: 3 additions & 3 deletions pkgs/applications/networking/cluster/spark/default.nix
Expand Up @@ -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
Expand Down
28 changes: 25 additions & 3 deletions pkgs/applications/networking/dropbox/default.nix
Expand Up @@ -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 = ''
Expand All @@ -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; {
Expand Down
4 changes: 2 additions & 2 deletions 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 {
Expand All @@ -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
Expand Down
55 changes: 33 additions & 22 deletions pkgs/development/compilers/rust/binaryBuild.nix
Expand Up @@ -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")
Expand All @@ -34,42 +54,36 @@ 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/rustdoc"
"$out/bin/rustc"
patchelf \
--set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
"$out/bin/cargo"
"$out/bin/rustdoc"
''}
${optionalString (stdenv.isDarwin && bootstrapping) ''
install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo"
install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo"
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 {
Expand All @@ -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"
Expand Down
19 changes: 9 additions & 10 deletions 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 =
Expand All @@ -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";
}
21 changes: 14 additions & 7 deletions 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}";
Expand All @@ -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
Expand All @@ -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 = ''
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/compilers/rust/default.nix
Expand Up @@ -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 {
Expand All @@ -18,7 +18,7 @@ rec {

src = fetchurl {
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a";
sha256 = "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp";
};

patches = [
Expand Down
12 changes: 0 additions & 12 deletions pkgs/development/libraries/libmsgpack/1.4.nix

This file was deleted.

12 changes: 0 additions & 12 deletions pkgs/development/libraries/libmsgpack/2.0.nix

This file was deleted.

6 changes: 3 additions & 3 deletions pkgs/development/tools/misc/ycmd/default.nix
Expand Up @@ -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 ]
Expand Down
39 changes: 28 additions & 11 deletions 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" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
)
- else()
- add_custom_command(
- TARGET ${PROJECT_NAME}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy "${LIBCLANG_TARGET}" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
- )
-
- 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}"
- "$<TARGET_FILE_DIR:${PROJECT_NAME}>/${LIBCLANG_SONAME}"
- )
- endif()
endif()
endif()

0 comments on commit 3681820

Please sign in to comment.