diff --git a/lib/maintainers.nix b/lib/maintainers.nix index c43096deb29..69bb69c8e20 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -262,6 +262,7 @@ joelmo = "Joel Moberg "; joelteon = "Joel Taylor "; johbo = "Johannes Bornhold "; + johnramsden = "John Ramsden "; joko = "Ioannis Koutras "; jonafato = "Jon Banafato "; jpbernardy = "Jean-Philippe Bernardy "; diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml index 28c573e6d23..6147b983013 100644 --- a/nixos/doc/manual/release-notes/rl-1703.xml +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -315,7 +315,7 @@ following incompatible changes: let pkgs = import <nixpkgs> {}; in - import pkgs.path { overlays = [(self: super: ...)] } + import pkgs.path { overlays = [(self: super: ...)]; } diff --git a/nixos/modules/programs/nylas-mail.nix b/nixos/modules/programs/nylas-mail.nix new file mode 100644 index 00000000000..9a6cf755f2a --- /dev/null +++ b/nixos/modules/programs/nylas-mail.nix @@ -0,0 +1,37 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.nylas-mail; + defaultUser = "nylas-mail"; +in { + ###### interface + options = { + services.nylas-mail = { + + enable = mkEnableOption '' + nylas-mail - Open-source mail client built on the modern web with Electron, React, and Flux + ''; + + gnome3-keyring = mkOption { + type = types.bool; + default = true; + description = "Enable gnome3 keyring for nylas-mail."; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.nylas-mail-bin ]; + + services.gnome3.gnome-keyring = mkIf cfg.gnome3-keyring { + enable = true; + }; + + }; +} diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix index 1fcfd5f2b60..22da4ed50b4 100644 --- a/pkgs/applications/altcoins/default.nix +++ b/pkgs/applications/altcoins/default.nix @@ -43,4 +43,10 @@ rec { primecoind = callPackage ./primecoin.nix { withGui = false; }; stellar-core = callPackage ./stellar-core.nix { }; + + zcash = callPackage ./zcash { + withGui = false; + openssl = pkgs.openssl_1_1_0; + boost = pkgs.boost163; + }; } diff --git a/pkgs/applications/altcoins/zcash/default.nix b/pkgs/applications/altcoins/zcash/default.nix new file mode 100644 index 00000000000..0146bad6f86 --- /dev/null +++ b/pkgs/applications/altcoins/zcash/default.nix @@ -0,0 +1,49 @@ +{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost +, zlib, gtest, gmock, miniupnpc, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent +, withGui }: + +let libsnark = callPackage ./libsnark { inherit boost openssl; }; + librustzcash = callPackage ./librustzcash {}; +in +with stdenv.lib; +stdenv.mkDerivation rec{ + + name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version; + version = "1.0.8"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "zcash"; + rev = "f630519d865ce22a6cf72a29785f2a876902f8e1"; + sha256 = "1zjxg3dp0amjfs67469yp9b223v9hx29lkxid9wz2ivxj3paq7bv"; + }; + + enableParallelBuilding = true; + + buildInputs = [ pkgconfig gtest gmock gmp libsnark autoreconfHook openssl wget db62 boost zlib + miniupnpc protobuf libevent libsodium librustzcash ] + ++ optionals stdenv.isLinux [ utillinux ] + ++ optionals withGui [ qt4 qrencode ]; + + configureFlags = [ "LIBSNARK_INCDIR=${libsnark}/include/libsnark" + "--with-boost-libdir=${boost.out}/lib" + ] ++ optionals withGui [ "--with-gui=qt4" ]; + + patchPhase = '' + sed -i"" '/^\[LIBSNARK_INCDIR/d' configure.ac + sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac + sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am + ''; + + postInstall = '' + cp zcutil/fetch-params.sh $out/bin/zcash-fetch-params + ''; + + meta = { + description = "Peer-to-peer, anonymous electronic cash system"; + homepage = "https://z.cash/"; + maintainers = with maintainers; [ rht ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/altcoins/zcash/librustzcash/default.nix b/pkgs/applications/altcoins/zcash/librustzcash/default.nix new file mode 100644 index 00000000000..4ce9a279d91 --- /dev/null +++ b/pkgs/applications/altcoins/zcash/librustzcash/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + name = "librustzcash-unstable-${version}"; + version = "2017-03-17"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "librustzcash"; + rev = "91348647a86201a9482ad4ad68398152dc3d635e"; + sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c"; + }; + + depsSha256 = "02qx8zdhmj7rmhqqq5q9428x9mlrjxxcnn4yhnygz9gfgvada2hx"; + + installPhase = '' + mkdir -p $out/lib + cp target/release/librustzcash.a $out/lib/ + mkdir -p $out/include + cp include/librustzcash.h $out/include/ + ''; + + meta = with stdenv.lib; { + description = "Rust-language assets for Zcash"; + homepage = "https://github.com/zcash/librustzcash"; + maintainers = with maintainers; [ rht ]; + license = with licenses; [ mit asl20 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix b/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix new file mode 100644 index 00000000000..c5a824cd17d --- /dev/null +++ b/pkgs/applications/altcoins/zcash/libsnark/ate-pairing.nix @@ -0,0 +1,29 @@ +{ stdenv, xbyak, gmp, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "ate-pairing-unstable-${version}"; + version = "2016-05-03"; + + src = fetchFromGitHub { + owner = "herumi"; + repo = "ate-pairing"; + rev = "dcb9da999b1113f90b115bccb6f4b57ddf3a8452"; + sha256 = "0jr6r1cma414k8mhsyp7n8hqaqxi7zklsp6820a095sbb3zajckh"; + }; + + buildInputs = [ gmp xbyak ]; + + installPhase = '' + mkdir -p $out + cp -r lib $out + cp -r include $out + ''; + + meta = with stdenv.lib; { + description = "Optimal Ate Pairing over Barreto-Naehrig Curves"; + homepage = "https://github.com/herumi/ate-pairing"; + maintainers = with maintainers; [ rht ]; + license = licenses.bsd3; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/altcoins/zcash/libsnark/default.nix b/pkgs/applications/altcoins/zcash/libsnark/default.nix new file mode 100644 index 00000000000..9dd3f6886c8 --- /dev/null +++ b/pkgs/applications/altcoins/zcash/libsnark/default.nix @@ -0,0 +1,45 @@ +{ stdenv, libsodium, callPackage, boost, zlib, openssl, gmp, procps, fetchFromGitHub }: + +let atePairing = callPackage ./ate-pairing.nix { inherit xbyak; }; + mie = callPackage ./mie.nix { }; + xbyak = callPackage ./xbyak.nix {}; +in +stdenv.mkDerivation rec{ + name = "libsnark-unstable-${version}"; + version = "2017-02-09"; + + src = fetchFromGitHub { + owner = "zcash"; + repo = "libsnark"; + rev = "9ada3f84ab484c57b2247c2f41091fd6a0916573"; + sha256 = "0vhslcb9rwqab9szavyn856z4h9w1syiamfcixqmj0s908zzlaaq"; + }; + + buildInputs = [ libsodium atePairing mie xbyak zlib openssl boost gmp ]; + + makeFlags = [ + "PREFIX=$(out)" + "CURVE=ALT_BN128" + "NO_SUPERCOP=1" + "STATIC=1" + ]; + + buildPhase = '' + CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" \ + make lib \ + CURVE=ALT_BN128 \ + MULTICORE=1 \ + STATIC=1 \ + NO_PROCPS=1 \ + NO_GTEST=1 \ + FEATUREFLAGS=-DMONTGOMERY_OUTPUT \ + ''; + + meta = with stdenv.lib; { + description = "a C++ library for zkSNARK proofs"; + homepage = "https://github.com/zcash/libsnark"; + maintainers = with maintainers; [ rht ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/altcoins/zcash/libsnark/mie.nix b/pkgs/applications/altcoins/zcash/libsnark/mie.nix new file mode 100644 index 00000000000..c92c113a27a --- /dev/null +++ b/pkgs/applications/altcoins/zcash/libsnark/mie.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "mie-unstable-${version}"; + version = "2016-05-10"; + + src = fetchFromGitHub { + owner = "herumi"; + repo = "mie"; + rev = "704b625b7770a8e1eab26ac65d1fed14c2fcf090"; + sha256 = "144bpmgfs2m4qqv7a2mccgi1aq5jmlr25gnk78ryq09z8cyv88y2"; + }; + + phases = ["unpackPhase" "installPhase"]; + + installPhase = '' + mkdir -p $out + cp -r include $out + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/herumi/mie"; + maintainers = with maintainers; [ rht ]; + license = licenses.bsd3; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix b/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix new file mode 100644 index 00000000000..c0b36ab9344 --- /dev/null +++ b/pkgs/applications/altcoins/zcash/libsnark/xbyak.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "xbyak-unstable-${version}"; + version = "2016-05-03"; + + src = fetchFromGitHub { + owner = "herumi"; + repo = "xbyak"; + rev = "b6133a02dd6b7116bea31d0e6b7142bf97f071aa"; + sha256 = "1rc2nx8kj2lj13whxb9chhh79f4hmjjj4j1hpqsd0lbdb60jikrn"; + }; + + phases = ["unpackPhase" "installPhase"]; + + installPhase = '' + mkdir -p $out/include + cp -r xbyak $out/include + ''; + + meta = with stdenv.lib; { + description = "JIT assembler for x86, x64"; + homepage = "https://github.com/herumi/xbyak"; + maintainers = with maintainers; [ rht ]; + license = licenses.bsd3; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix b/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix new file mode 100644 index 00000000000..4c768325fee --- /dev/null +++ b/pkgs/applications/networking/mailreaders/nylas-mail-bin/default.nix @@ -0,0 +1,136 @@ +{ dpkg, fetchurl, lib, pkgs, stdenv, config +, alsaLib +, atk +, cairo +, coreutils +, cups +, dbus +, desktop_file_utils +, expat +, fontconfig +, freetype +, gcc-unwrapped +, gdk_pixbuf +, glib +, gnome2 +, libgcrypt +, libgnome_keyring +, libnotify +, makeWrapper +, nodejs +, nspr +, nss +, pango +, python2 +, udev +, wget +, xorg +}: + +stdenv.mkDerivation rec { + name = "${pkgname}-${version}"; + pkgname = "nylas-mail-bin"; + version = "2.0.32"; + subVersion = "fec7941"; + + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = "https://edgehill.s3-us-west-2.amazonaws.com/${version}-${subVersion}/linux-deb/x64/NylasMail.deb"; + sha256 = "40060aa1dc3b5187b8ed4a07b9de3427e3c5a291df98c2c82395647fa2aa4ada"; + } + else + throw "NylasMail is not supported on ${stdenv.system}"; + + propagatedBuildInputs = [ + alsaLib + atk + cairo + coreutils + cups + dbus + desktop_file_utils + expat + fontconfig + freetype + gcc-unwrapped + gdk_pixbuf + glib + gnome2.GConf + gnome2.gtk + libgnome_keyring + libnotify + nodejs + nspr + nss + pango + python2 + udev + wget + xorg.libX11 + xorg.libXScrnSaver + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + xorg.libxkbfile + ]; + + + buildInputs = [ gnome2.gnome_keyring ]; + + nativeBuildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p $out + + ${dpkg}/bin/dpkg-deb -x $src unpacked + mv unpacked/usr/* $out/ + + # Fix path in desktop file + substituteInPlace $out/share/applications/nylas-mail.desktop \ + --replace /usr/bin/nylas-mail $out/bin/nylas-mail + + # Patch librariess + noderp=$(patchelf --print-rpath $out/share/nylas-mail/libnode.so) + patchelf --set-rpath $noderp:$out/lib:${stdenv.cc.cc.lib}/lib:${xorg.libxkbfile.out}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ + $out/share/nylas-mail/libnode.so + + ffrp=$(patchelf --print-rpath $out/share/nylas-mail/libffmpeg.so) + patchelf --set-rpath $ffrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ + $out/share/nylas-mail/libffmpeg.so + + # Patch binaries + binrp=$(patchelf --print-rpath $out/share/nylas-mail/nylas) + patchelf --interpreter $(cat "$NIX_CC"/nix-support/dynamic-linker) \ + --set-rpath $binrp:$out/lib:${stdenv.cc.cc.lib}/lib:${lib.makeLibraryPath propagatedBuildInputs } \ + $out/share/nylas-mail/nylas + + wrapProgram $out/share/nylas-mail/nylas --set LD_LIBRARY_PATH "${xorg.libxkbfile}/lib:${pkgs.gnome3.libgnome_keyring}/lib"; + + # Fix path to bash so apm can install plugins. + substituteInPlace $out/share/nylas-mail/resources/apm/bin/apm \ + --replace /bin/bash ${stdenv.shell} + + wrapProgram $out/share/nylas-mail/resources/apm/bin/apm \ + --set PATH "${coreutils}/bin" + patchelf --interpreter $(cat "$NIX_CC"/nix-support/dynamic-linker) \ + --set-rpath ${gcc-unwrapped.lib}/lib $out/share/nylas-mail/resources/apm/bin/node + ''; + + meta = with stdenv.lib; { + description = "Open-source mail client built on the modern web with Electron, React, and Flux"; + longDescription = '' + Nylas Mail is an open-source mail client built on the modern web with Electron, React, and Flux. It is designed to be extensible, so it's easy to create new experiences and workflows around email. Nylas Mail can be enabled with it's requirements by enabling 'services.nylas-mail.enable=true'. Alternatively, make sure to have services.gnome3.gnome-keyring.enable = true; in your configuration.nix before running nylas-mail. If you happen to miss this step, you should remove ~/.nylas-mail and "~/.config/Nylas Mail" for a blank setup". + ''; + license = licenses.gpl3; + maintainers = with maintainers; [ johnramsden ]; + homepage = https://nylas.com; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/compilers/julia/0.5.nix b/pkgs/development/compilers/julia/0.5.nix index 1ee4dea51e3..6e379091703 100644 --- a/pkgs/development/compilers/julia/0.5.nix +++ b/pkgs/development/compilers/julia/0.5.nix @@ -155,7 +155,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = true; + doCheck = !stdenv.isDarwin; checkTarget = "testall"; # Julia's tests require read/write access to $HOME preCheck = '' diff --git a/pkgs/development/compilers/mono/5.0.nix b/pkgs/development/compilers/mono/5.0.nix new file mode 100644 index 00000000000..e51bbc0c308 --- /dev/null +++ b/pkgs/development/compilers/mono/5.0.nix @@ -0,0 +1,7 @@ +{ stdenv, callPackage, Foundation, libobjc }: + +callPackage ./generic-cmake.nix (rec { + inherit Foundation libobjc; + version = "5.0.0.48"; + sha256 = "13n20wmijkhd7vm41lzz1n774rna67d94prl33bz1lly0idsciq0"; +}) diff --git a/pkgs/development/compilers/mono/generic-cmake.nix b/pkgs/development/compilers/mono/generic-cmake.nix new file mode 100644 index 00000000000..ab232f07d1b --- /dev/null +++ b/pkgs/development/compilers/mono/generic-cmake.nix @@ -0,0 +1,94 @@ +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which }: + +let + llvm = callPackage ./llvm.nix { }; +in +stdenv.mkDerivation rec { + name = "mono-${version}"; + + src = fetchurl { + inherit sha256; + url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2"; + }; + + buildInputs = + [ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib python autoconf libtool automake cmake which + ] + ++ (stdenv.lib.optionals stdenv.isDarwin [ Foundation libobjc ]); + + propagatedBuildInputs = [glib]; + + NIX_LDFLAGS = if stdenv.isDarwin then "" else "-lgcc_s" ; + + # To overcome the bug https://bugzilla.novell.com/show_bug.cgi?id=644723 + dontDisableStatic = true; + + # In fact I think this line does not help at all to what I + # wanted to achieve: have mono to find libgdiplus automatically + configureFlags = [ + "--x-includes=${libX11.dev}/include" + "--x-libraries=${libX11.out}/lib" + "--with-libgdiplus=${libgdiplus}/lib/libgdiplus.so" + ] + ++ stdenv.lib.optionals withLLVM [ + "--enable-llvm" + "--enable-llvmloaded" + "--with-llvm=${llvm}" + ]; + + configurePhase = '' + substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}" + ./autogen.sh --prefix $out + ''; + + # Attempt to fix this error when running "mcs --version": + # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image + dontStrip = true; + + # Parallel building doesn't work, as shows http://hydra.nixos.org/build/2983601 + enableParallelBuilding = false; + + # We want pkg-config to take priority over the dlls in the Mono framework and the GAC + # because we control pkg-config + patches = [ ./pkgconfig-before-gac.patch ]; + + # Patch all the necessary scripts. Also, if we're using LLVM, we fix the default + # LLVM path to point into the Mono LLVM build, since it's private anyway. + preBuild = '' + makeFlagsArray=(INSTALL=`type -tp install`) + patchShebangs ./ + substituteInPlace mcs/class/corlib/System/Environment.cs --replace /usr/share "$out/share" + '' + stdenv.lib.optionalString withLLVM '' + substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")" + ''; + + # Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps + # Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive + # http://www.mono-project.com/Config_DllMap + postBuild = '' + find . -name 'config' -type f | xargs \ + sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \ + -e "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" \ + ''; + + # Without this, any Mono application attempting to open an SSL connection will throw with + # The authentication or decryption has failed. + # ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. + postInstall = '' + echo "Updating Mono key store" + $out/bin/cert-sync ${cacert}/etc/ssl/certs/ca-bundle.crt + '' + # According to [1], gmcs is just mcs + # [1] https://github.com/mono/mono/blob/master/scripts/gmcs.in + + '' + ln -s $out/bin/mcs $out/bin/gmcs + ''; + + meta = { + homepage = http://mono-project.com/; + description = "Cross platform, open source .NET development framework"; + platforms = with stdenv.lib.platforms; darwin ++ linux; + maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz vrthra ]; + license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ? + }; +} diff --git a/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch b/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch new file mode 100644 index 00000000000..1b9c59402bf --- /dev/null +++ b/pkgs/development/compilers/mono/pkgconfig-before-gac-5x.patch @@ -0,0 +1,65 @@ +diff -Naur mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets +--- mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets.old 2017-04-24 23:45:18.348116305 +0200 ++++ mono-5.0.0/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets 2017-04-24 23:45:11.407051755 +0200 +@@ -167,8 +167,8 @@ + $(ReferencePath); + @(AdditionalReferencePath); + {HintPathFromItem}; +- {TargetFrameworkDirectory}; + {PkgConfig}; ++ {TargetFrameworkDirectory}; + {GAC}; + {RawFileName}; + $(OutDir) +diff -Naur mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets +--- mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets.old 2017-04-24 23:49:53.019616196 +0200 ++++ mono-5.0.0/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets 2017-04-24 23:50:05.709729585 +0200 +@@ -232,8 +232,8 @@ + $(ReferencePath); + @(AdditionalReferencePath); + {HintPathFromItem}; +- {TargetFrameworkDirectory}; + {PkgConfig}; ++ {TargetFrameworkDirectory}; + {GAC}; + {RawFileName}; + $(OutDir) +diff -Naur mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets +--- mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets.old 2017-04-24 23:52:33.200037047 +0200 ++++ mono-5.0.0/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets 2017-04-24 23:52:43.281125802 +0200 +@@ -139,8 +139,8 @@ + $(ReferencePath); + @(AdditionalReferencePath); + {HintPathFromItem}; +- {TargetFrameworkDirectory}; + {PkgConfig}; ++ {TargetFrameworkDirectory}; + {GAC}; + {RawFileName}; + $(OutDir) +diff -Naur mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets +--- mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets.old 2017-04-24 23:54:02.585821594 +0200 ++++ mono-5.0.0/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets 2017-04-24 23:54:09.313880438 +0200 +@@ -234,8 +234,8 @@ + $(ReferencePath); + @(AdditionalReferencePath); + {HintPathFromItem}; +- {TargetFrameworkDirectory}; + {PkgConfig}; ++ {TargetFrameworkDirectory}; + {GAC}; + {RawFileName}; + $(OutDir) +diff -Naur mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets.old mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets +--- mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets.old 2017-04-24 23:55:46.244895155 +0200 ++++ mono-5.0.0/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets 2017-04-24 23:55:51.998961342 +0200 +@@ -232,8 +232,8 @@ + $(ReferencePath); + @(AdditionalReferencePath); + {HintPathFromItem}; +- {TargetFrameworkDirectory}; + {PkgConfig}; ++ {TargetFrameworkDirectory}; + {GAC}; + {RawFileName}; + $(OutDir) diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index a977e0801a8..17e545d95a7 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { rewriting logic computation. ''; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.peti ]; }; } diff --git a/pkgs/development/libraries/db/db-6.2.nix b/pkgs/development/libraries/db/db-6.2.nix new file mode 100644 index 00000000000..f897e3744af --- /dev/null +++ b/pkgs/development/libraries/db/db-6.2.nix @@ -0,0 +1,8 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "6.2.23"; + sha256 = "1isxx4jfmnh913jzhp8hhfngbk6dsg46f4kjpvvc56maj64jqqa7"; + license = stdenv.lib.licenses.agpl3; + extraPatches = [ ./clang-6.0.patch ]; +}) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 647a34e95db..1b53acf12b1 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -68,7 +68,8 @@ stdenv.mkDerivation ({ ++ lib.optionals stdenv.isi686 [ ./fix-i686-memchr.patch ./i686-fix-vectorized-strcspn.patch - ]; + ] + ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch; postPatch = # Needed for glibc to build with the gnumake 3.82 diff --git a/pkgs/development/libraries/glibc/fix-x64-abi.patch b/pkgs/development/libraries/glibc/fix-x64-abi.patch new file mode 100644 index 00000000000..1d60dcd7988 --- /dev/null +++ b/pkgs/development/libraries/glibc/fix-x64-abi.patch @@ -0,0 +1,35 @@ +From 3288c6da64add3b4561b8c10fff522027caea01c Mon Sep 17 00:00:00 2001 +From: Nicholas Miell +Date: Sat, 17 Jun 2017 18:21:07 -0700 +Subject: [PATCH] Align the stack on entry to __tls_get_addr() + +Old versions of gcc (4 & 5) didn't align the stack according to the +AMD64 psABI when calling __tls_get_addr(). Apparently new versions of +gcc (7) got much more aggressive about vectorizing and generating MOVAPS +instructions, which means old binaries built with the buggy versions of +gcc are much more likely to crash when using versions of glibc built +using gcc 7. + +For example, a large number of Linux games built using the Unity game +engine and available for purchase on Steam. +--- + elf/dl-tls.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/elf/dl-tls.c b/elf/dl-tls.c +index 5aba33b3fa..3f3cb917de 100644 +--- a/elf/dl-tls.c ++++ b/elf/dl-tls.c +@@ -827,6 +827,10 @@ rtld_hidden_proto (__tls_get_addr) + rtld_hidden_def (__tls_get_addr) + #endif + ++#ifdef __x86_64__ ++/* Old versions of gcc didn't align the stack. */ ++__attribute__((force_align_arg_pointer)) ++#endif + /* The generic dynamic and local dynamic model cannot be used in + statically linked applications. */ + void * +-- +2.13.0 diff --git a/pkgs/development/libraries/kde-frameworks/kwallet-dbus.patch b/pkgs/development/libraries/kde-frameworks/kwallet-dbus.patch new file mode 100644 index 00000000000..00f3d8baedf --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwallet-dbus.patch @@ -0,0 +1,9 @@ +diff --git a/src/runtime/kwalletd/org.kde.kwalletd5.service.in b/src/runtime/kwalletd/org.kde.kwalletd5.service.in +index 76eb90e..7a78e83 100644 +--- a/src/runtime/kwalletd/org.kde.kwalletd5.service.in ++++ b/src/runtime/kwalletd/org.kde.kwalletd5.service.in +@@ -1,3 +1,3 @@ + [D-BUS Service] + Name=org.kde.kwalletd5 +-Exec=@CMAKE_INSTALL_PREFIX@/bin/kwalletd5 ++Exec=@CMAKE_INSTALL_BINDIR@/kwalletd5 diff --git a/pkgs/development/libraries/kde-frameworks/kwallet.nix b/pkgs/development/libraries/kde-frameworks/kwallet.nix index fca0dedd083..ece915071ad 100644 --- a/pkgs/development/libraries/kde-frameworks/kwallet.nix +++ b/pkgs/development/libraries/kde-frameworks/kwallet.nix @@ -15,4 +15,5 @@ mkDerivation { knotifications kservice kwidgetsaddons kwindowsystem libgcrypt qgpgme ]; propagatedBuildInputs = [ qtbase ]; + patches = [ ./kwallet-dbus.patch ]; } diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 3d4fbab3e42..28d435fbb9c 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -28,7 +28,7 @@ let inherit (stdenv.lib) optional optionals hasPrefix; in let result = { libav_0_8 = libavFun "0.8.20" "0c7a2417c3a01eb74072691bb93ce802ae1be08f"; - libav_11 = libavFun "11.9" "36ed1329099676ff3c970576e03c6a21f2da2e15"; + libav_11 = libavFun "11.10" "38db6721ca8423682e4d614c170eccc33ba32e00"; libav_12 = libavFun "12" "4ecde7274621c82a6882b7614d907b28de25cc4e"; }; diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix index ef32575c8e3..f7fcf8a2206 100644 --- a/pkgs/development/libraries/wxwidgets/3.0/default.nix +++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix @@ -1,46 +1,51 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, gtk3, libXinerama, libSM, libXxf86vm , xf86vidmodeproto , gstreamer, gst-plugins-base, GConf, setfile , withMesa ? true, mesa_glu ? null, mesa_noglu ? null , compat24 ? false, compat26 ? true, unicode ? true -, withWebKit ? false, webkitgtk24x-gtk2 ? null +, withGtk2 ? true +, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk216x ? null , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null }: assert withMesa -> mesa_glu != null && mesa_noglu != null; -assert withWebKit -> webkitgtk24x-gtk2 != null; +assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x) != null; with stdenv.lib; let - version = "3.0.2"; + version = "3.0.3.1"; in stdenv.mkDerivation { name = "wxwidgets-${version}"; - src = fetchurl { - url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2"; - sha256 = "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l"; + src = fetchFromGitHub { + owner = "wxWidgets"; + repo = "wxWidgets"; + rev = "v${version}"; + sha256 = "1b90in65k1ij6kyk41knxs86i6hx5lkz30gpvzdvh0cbjagv5asq"; }; buildInputs = - [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer + [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst-plugins-base GConf ] ++ optional withMesa mesa_glu - ++ optional withWebKit webkitgtk24x-gtk2 + ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x) ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ]; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = optional stdenv.isDarwin AGL; - patches = [ (fetchpatch { - url = "https://raw.githubusercontent.com/jessehager/MINGW-packages/af6ece963d8157dd3fbc710bcc190647c4924c63/mingw-w64-wxwidgets/wxWidgets-3.0.2-gcc6-abs.patch"; - sha256 = "0100pg0z7i6cjyysf2k3330pmqmdaxgc9hz6kxnfvc31dynjcq3h"; - }) ]; + patches = + # "Add support for WebKit2GTK+ in wxWebView". Will be in 3.0.4 + optional (!withGtk2) (fetchpatch { + url = "https://github.com/wxWidgets/wxWidgets/commit/ec6e54bc893fb7516731ca9c71e0d0bbc5ae9ff7.patch"; + sha256 = "0gxd83xajm7gdv9rdzyvqwa2p5nz29nr23i0zx2dgfpsvz2qjp3q"; + }); configureFlags = - [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl" + [ "--disable-precomp-headers" "--enable-mediactrl" (if compat24 then "--enable-compat24" else "--disable-compat24") (if compat26 then "--enable-compat26" else "--disable-compat26") ] ++ optional unicode "--enable-unicode" @@ -72,7 +77,7 @@ stdenv.mkDerivation { passthru = { inherit compat24 compat26 unicode; - gtk = gtk2; + gtk = if withGtk2 then gtk2 else gtk3; }; enableParallelBuilding = true; diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix new file mode 100644 index 00000000000..de2010275ef --- /dev/null +++ b/pkgs/development/ocaml-modules/benchmark/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, ocaml_pcre }: + +let version = "1.4"; in + +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-benchmark-${version}"; + + src = fetchzip { + url = "https://github.com/Chris00/ocaml-benchmark/releases/download/${version}/benchmark-${version}.tar.gz"; + sha256 = "16wi8ld7c3mq77ylpgbnj8qqqqimyzwxs47v06vyrwpma5pab5xa"; + }; + + buildInputs = [ ocaml findlib ocamlbuild ocaml_pcre ]; + + createFindlibDestdir = true; + + meta = { + homepage = http://ocaml-benchmark.forge.ocamlcore.org/; + platforms = ocaml.meta.platforms or []; + description = "Benchmark running times of code"; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ volth ]; + }; +} diff --git a/pkgs/development/ocaml-modules/ptmap/default.nix b/pkgs/development/ocaml-modules/ptmap/default.nix new file mode 100644 index 00000000000..aa44fe3d009 --- /dev/null +++ b/pkgs/development/ocaml-modules/ptmap/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchzip, ocaml, findlib, obuild }: + +let version = "2.0.1"; in + +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-ptmap-${version}"; + + src = fetchzip { + url = "https://github.com/UnixJunkie/ptmap/archive/v${version}.tar.gz"; + sha256 = "09ib4q5amkac2yy0hr7yn1n1j6y10v08chh82qc70wl7s473if15"; + }; + + buildInputs = [ ocaml findlib obuild ]; + + createFindlibDestdir = true; + + buildPhase = '' + substituteInPlace ptmap.obuild --replace 'build-deps: qcheck' "" + obuild configure + obuild build lib-ptmap + ''; + + installPhase = '' + obuild install --destdir $out/lib/ocaml/${ocaml.version}/site-lib + ''; + + meta = { + homepage = https://www.lri.fr/~filliatr/software.en.html; + platforms = ocaml.meta.platforms or []; + description = "Maps over integers implemented as Patricia trees"; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ volth ]; + }; +} diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix new file mode 100644 index 00000000000..a62c321a4e8 --- /dev/null +++ b/pkgs/development/ocaml-modules/rope/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, benchmark }: + +let version = "0.5"; in + +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-rope-${version}"; + + src = fetchzip { + url = "https://forge.ocamlcore.org/frs/download.php/1156/rope-${version}.tar.gz"; + sha256 = "1i8kzg19jrapl30mq8m91vy09z0r0dl4bnpw24ga96w8pxqf9qhd"; + }; + + buildInputs = [ ocaml findlib ocamlbuild benchmark ]; + + createFindlibDestdir = true; + + meta = { + homepage = http://rope.forge.ocamlcore.org/; + platforms = ocaml.meta.platforms or []; + description = ''Ropes ("heavyweight strings") in OCaml''; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ volth ]; + }; +} diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix new file mode 100644 index 00000000000..dc2d545a765 --- /dev/null +++ b/pkgs/development/tools/build-managers/qbs/default.nix @@ -0,0 +1,41 @@ +{ stdenv, qt5, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "qbs-${version}"; + + version = "1.8"; + + src = fetchFromGitHub { + owner = "qt-labs"; + repo = "qbs"; + rev = "fa9c21d6908e0dad805113f570ac883c1dc5067a"; + sha256 = "1manriz75rav1vldkk829yk1la9md4m872l5ykl9m982i9801d9g"; + }; + + enableParallelBuilding = true; + + buildInputs = with qt5; [ + qtbase + qtscript + ]; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + buildPhase = '' + # From http://doc.qt.io/qbs/building.html + qmake -r qbs.pro + make + ''; + + postInstall = '' + mv $out/usr/local/* "$out" + ''; + + meta = with stdenv.lib; { + description = "A tool that helps simplify the build process for developing projects across multiple platforms"; + license = licenses.lgpl21; + maintainers = with maintainers; [ expipiplus1 ]; + inherit version; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix new file mode 100644 index 00000000000..ab84cb37656 --- /dev/null +++ b/pkgs/development/tools/misc/blackmagic/default.nix @@ -0,0 +1,59 @@ +{ stdenv, lib, fetchFromGitHub +, gcc-arm-embedded, bash, libftdi +, python, pythonPackages +}: + +with lib; + +stdenv.mkDerivation rec { + name = "blackmagic-${version}"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "blacksphere"; + repo = "blackmagic"; + rev = "d3a8f27fdbf952194e8fc5ce9b2fc9bcef7c545c"; + sha256 = "0c3l7cfqag3g7zrfn4mmikkx7076hb1r856ybhhdh0f6zji2j6jx"; + fetchSubmodules = true; + }; + + buildInputs = [ + gcc-arm-embedded + libftdi + python + pythonPackages.intelhex + ]; + + postPatch = '' + # Prevent calling out to `git' to generate a version number: + substituteInPlace src/Makefile \ + --replace '`git describe --always --dirty`' '${version}' + + # Fix scripts that generate headers: + for f in $(find scripts libopencm3/scripts -type f); do + patchShebangs "$f" + done + ''; + + buildPhase = "${stdenv.shell} ${./helper.sh}"; + installPhase = ":"; # buildPhase does this. + + meta = { + description = "In-application debugger for ARM Cortex microcontrollers"; + longDescription = '' + The Black Magic Probe is a modern, in-application debugging tool + for embedded microprocessors. It allows you to see what is going + on "inside" an application running on an embedded microprocessor + while it executes. + + This package builds the firmware for all supported platforms, + placing them in separate directories under the firmware + directory. It also places the FTDI version of the blackmagic + executable in the bin directory. + ''; + homepage = https://github.com/blacksphere/blackmagic; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ pjones ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/misc/blackmagic/helper.sh b/pkgs/development/tools/misc/blackmagic/helper.sh new file mode 100755 index 00000000000..b4c7558885b --- /dev/null +++ b/pkgs/development/tools/misc/blackmagic/helper.sh @@ -0,0 +1,49 @@ +################################################################################ +# Build all of the platforms manually since the `all_platforms' target +# doesn't preserve all of the build outputs and overrides CFLAGS. +set -e +set -u + +################################################################################ +# Prevent a warning from shellcheck: +out=${out:-/tmp} + +################################################################################ +export CFLAGS=$NIX_CFLAGS_COMPILE + +################################################################################ +PRODUCTS="blackmagic.bin blackmagic.hex blackmagic_dfu.bin blackmagic_dfu.hex" + +################################################################################ +make_platform() { + echo "Building for hardware platform $1" + + make clean + make PROBE_HOST="$1" + + if [ "$1" = libftdi ]; then + mkdir -p "$out/bin" + install -m 0555 blackmagic "$out/bin" + fi + + for f in $PRODUCTS; do + if [ -r "$f" ]; then + mkdir -p "$out/firmware/$1" + install -m 0444 "$f" "$out/firmware/$1" + fi + done + +} + +################################################################################ +# Start by building libopencm3: +make -C libopencm3 + +################################################################################ +# And now all of the platforms: +cd src + +for platform in platforms/*/Makefile.inc; do + probe=$(basename "$(dirname "$platform")") + make_platform "$probe" +done diff --git a/pkgs/development/tools/ocaml/obuild/default.nix b/pkgs/development/tools/ocaml/obuild/default.nix new file mode 100644 index 00000000000..0b5295654d3 --- /dev/null +++ b/pkgs/development/tools/ocaml/obuild/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchzip, ocaml }: + +let version = "0.1.8"; in + +stdenv.mkDerivation { + name = "obuild-${version}"; + + src = fetchzip { + url = "https://github.com/ocaml-obuild/obuild/archive/obuild-v${version}.tar.gz"; + sha256 = "1q1k2qqd08j1zakvydgvwgwpyn0ll7rs65gap0pvg3amnh5cp3wd"; + }; + + buildInputs = [ ocaml ]; + + buildPhase = '' + ./bootstrap + ''; + + installPhase = '' + mkdir -p $out/bin + cp dist/build/obuild/obuild dist/build/obuild-from-oasis/obuild-from-oasis dist/build/obuild-simple/obuild-simple $out/bin/ + ''; + + meta = { + homepage = https://github.com/ocaml-obuild/obuild; + platforms = ocaml.meta.platforms or []; + description = "Simple package build system for OCaml"; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ volth ]; + }; +} diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix index 790ab51c80d..ea4f44f52bb 100644 --- a/pkgs/os-specific/linux/atop/default.nix +++ b/pkgs/os-specific/linux/atop/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { sed -e "/touch.*LOGPATH/s@touch@echo should have created @" -i Makefile sed -e 's/chown/true/g' -i Makefile sed -e '/chkconfig/d' -i Makefile + sed -e 's/chmod 04711/chmod 0711/g' -i Makefile ''; preInstall = '' diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index b81c8f257b8..2f4689beea4 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "firmware-linux-nonfree-${version}"; - version = "2017-04-16"; + version = "2017-07-05"; # This repo is built by merging the latest versions of # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { owner = "fpletz"; repo = "linux-firmware"; rev = version; - sha256 = "0ar29vjjpsw7r7pqqa8b0jxx03k230cn7x8fkqi23bj68bd9x5pc"; + sha256 = "0vlk043y7c32g4d9hz93j64x372qqrwsq65mh8s5s5xrvamja2if"; }; preInstall = '' diff --git a/pkgs/os-specific/linux/kernel/linux-4.11.nix b/pkgs/os-specific/linux/kernel/linux-4.11.nix index afdb1427e85..51151b449a4 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.11.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.11.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.11.8"; + version = "4.11.9"; extraMeta.branch = "4.11"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1f4x4wym6kr57zhjpmvj9p7z2j43zcvpyvkh2nnhsb4yxg5qszcf"; + sha256 = "0q60690hmqhz2x3v6qyjq7lhp2j99dcldvd46myc9ggp78d93j1z"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 8c05fdc711b..5ac5a52c0a5 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.75"; + version = "4.4.76"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0l3rklx1957czsddg3jb5xw5rvw8bf58s4yrkswikphv7j5crzjg"; + sha256 = "180mngyar7ky2aiaszmgfqpfvwi0kxcym8j3ifflzggwqjkgrrki"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index f1bdb3c2cb9..dcd5694ebbc 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.35"; + version = "4.9.36"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0dklbr686ygvpbjs6chra9vycfvp8xjgkvapai14lglzsx72749l"; + sha256 = "1x615q5fl17fqr8h0552l7lzrpmn1n9azmsrnq9xhf980imfj0d0"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index a24eedce7c7..959e9d4ebf8 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix (args // { - version = "1.13.1"; - sha256 = "0xk7gcsgwhz047h54adn8crnkrkr7g1z79w8ik34v6k0lrr6r1d5"; + version = "1.13.2"; + sha256 = "0w4vj6hl23z9kdw09v7jzq3c1593i4fhwmrz6qx2g7cq2i6j6zyp"; }) diff --git a/pkgs/shells/lambda-mod-zsh-theme/default.nix b/pkgs/shells/lambda-mod-zsh-theme/default.nix index b1b17bef29d..8e2a0950d19 100644 --- a/pkgs/shells/lambda-mod-zsh-theme/default.nix +++ b/pkgs/shells/lambda-mod-zsh-theme/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation { - name = "lambda-mod-zsh-theme-unstable-2017-05-21"; + name = "lambda-mod-zsh-theme-unstable-2017-07-05"; src = fetchFromGitHub { owner = "halfo"; repo = "lambda-mod-zsh-theme"; - sha256 = "1410ryc22i20na5ypa1q6f106lkjj8n1qfjmb77q4rspi0ydaiy4"; - rev = "6fa277361ec2c84e612b5b6d876797ebe72102a5"; + sha256 = "03kdhifxsnfbly6hqpr1h6kf52kyhdbh82nvwkkyrz1lw2cxl89n"; + rev = "ba7d5fea16db91fc8de887e69250f4e501b1e36d"; }; buildPhases = [ "unpackPhase" "installPhase" ]; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 7a70f2bdbff..2bbeea8133e 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -3,6 +3,7 @@ , zfs ? null , efiSupport ? false , zfsSupport ? true +, xenSupport ? false }: with stdenv.lib; @@ -46,6 +47,7 @@ in ( assert efiSupport -> canEfi; assert zfsSupport -> zfs != null; +assert !(efiSupport && xenSupport); stdenv.mkDerivation rec { name = "grub-${version}"; @@ -98,7 +100,8 @@ stdenv.mkDerivation rec { patches = [ ./fix-bash-completion.patch ]; configureFlags = optional zfsSupport "--enable-libzfs" - ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.system}.target}" "--program-prefix=" ]; + ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.system}.target}" "--program-prefix=" ] + ++ optionals xenSupport [ "--with-platform=xen" "--target=${efiSystemsBuild.${stdenv.system}.target}"]; # save target that grub is compiled for grubTarget = if efiSupport diff --git a/pkgs/tools/misc/grub/pvgrub_image/configs/grub-bootstrap.cfg b/pkgs/tools/misc/grub/pvgrub_image/configs/grub-bootstrap.cfg new file mode 100644 index 00000000000..e9883149ab5 --- /dev/null +++ b/pkgs/tools/misc/grub/pvgrub_image/configs/grub-bootstrap.cfg @@ -0,0 +1 @@ +normal (memdisk)/grub.cfg diff --git a/pkgs/tools/misc/grub/pvgrub_image/configs/grub.cfg b/pkgs/tools/misc/grub/pvgrub_image/configs/grub.cfg new file mode 100644 index 00000000000..69115b7101c --- /dev/null +++ b/pkgs/tools/misc/grub/pvgrub_image/configs/grub.cfg @@ -0,0 +1,10 @@ +# The parentheses around ${root} here to match Grub's config file syntax +if search -s -f /boot/grub/grub.cfg ; then + echo "Reading (${root})/boot/grub/grub.cfg" + configfile /boot/grub/grub.cfg +fi + +if search -s -f /grub/grub.cfg ; then + echo "Reading (${root})/grub/grub.cfg" + configfile /grub/grub.cfg +fi diff --git a/pkgs/tools/misc/grub/pvgrub_image/default.nix b/pkgs/tools/misc/grub/pvgrub_image/default.nix new file mode 100644 index 00000000000..ee6e5065f40 --- /dev/null +++ b/pkgs/tools/misc/grub/pvgrub_image/default.nix @@ -0,0 +1,42 @@ +{ stdenv, grub2_xen }: + +with stdenv.lib; +let + efiSystemsBuild = { + "i686-linux".target = "i386"; + "x86_64-linux".target = "x86_64"; + "aarch64-linux".target = "aarch64"; + }; + +in ( + +stdenv.mkDerivation rec { + name = "pvgrub-image"; + + configs = ./configs; + + buildInputs = [ grub2_xen ]; + + buildCommand = '' + cp "${configs}"/* . + tar -cf memdisk.tar grub.cfg + # We include all modules except all_video.mod as otherwise grub will fail printing "no symbol table" + # if we include it. + grub-mkimage -O "${efiSystemsBuild.${stdenv.system}.target}-xen" -c grub-bootstrap.cfg \ + -m memdisk.tar -o "grub-${efiSystemsBuild.${stdenv.system}.target}-xen.bin" \ + $(ls "${grub2_xen}/lib/grub/${efiSystemsBuild.${stdenv.system}.target}-xen/" |grep 'mod''$'|grep -v '^all_video\.mod''$') + mkdir -p "$out/lib/grub-xen" + cp "grub-${efiSystemsBuild.${stdenv.system}.target}-xen.bin" $out/lib/grub-xen/ + ''; + + meta = with stdenv.lib; { + description = "PvGrub image for use for booting PV Xen guests"; + + longDescription = + '' This package provides a PvGrub image for booting Para-Virtualized (PV) + Xen guests + ''; + + platforms = platforms.gnu; + }; +}) diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index a227030f0bc..bc8ea769e8b 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -2,8 +2,8 @@ , fetchurl , cmake , libjpeg -, szip , zlib +, szip ? null }: stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { zlib ]; - preConfigure = "export SZIP_INSTALL=${szip}"; + preConfigure = stdenv.lib.optionalString (szip != null) "export SZIP_INSTALL=${szip}"; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" @@ -31,11 +31,12 @@ stdenv.mkDerivation rec { "-DHDF4_BUILD_WITH_INSTALL_NAME=OFF" "-DHDF4_ENABLE_JPEG_LIB_SUPPORT=ON" "-DHDF4_ENABLE_NETCDF=OFF" - "-DHDF4_ENABLE_SZIP_ENCODING=ON" - "-DHDF4_ENABLE_SZIP_SUPPORT=ON" "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON" "-DHDF4_BUILD_FORTRAN=OFF" "-DJPEG_DIR=${libjpeg}" + ] ++ stdenv.lib.optionals (szip != null) [ + "-DHDF4_ENABLE_SZIP_ENCODING=ON" + "-DHDF4_ENABLE_SZIP_SUPPORT=ON" ]; doCheck = true; diff --git a/pkgs/tools/misc/zabbix-cli/default.nix b/pkgs/tools/misc/zabbix-cli/default.nix new file mode 100644 index 00000000000..77c06ea1911 --- /dev/null +++ b/pkgs/tools/misc/zabbix-cli/default.nix @@ -0,0 +1,24 @@ +{ fetchFromGitHub, lib, python2Packages }: +let + pythonPackages = python2Packages; + +in pythonPackages.buildPythonApplication rec { + name = "zabbix-cli-${version}"; + version = "1.6.1"; + + propagatedBuildInputs = with pythonPackages; [ argparse requests ]; + + src = fetchFromGitHub { + owner = "usit-gd"; + repo = "zabbix-cli"; + rev = version; + sha256 = "17ip3s8ifgj264zwxrr857wk02xmzmlsjrr613mdhkgdwizqbcs3"; + }; + + meta = with lib; { + description = "Command-line interface for Zabbix"; + homepage = src.meta.homepage; + license = [ licenses.gpl3 ]; + maintainers = [ maintainers.womfoo ]; + }; +} diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 45dfd52dba1..a90f38ccc09 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -79,6 +79,9 @@ let doInstallCheck = true; + # socket path becomes too long otherwise + preInstallCheck = lib.optional stdenv.isDarwin "export TMPDIR=/tmp"; + separateDebugInfo = stdenv.isLinux; crossAttrs = { diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix index 820bcbb9a35..1467faac8e3 100644 --- a/pkgs/tools/package-management/nixops/default.nix +++ b/pkgs/tools/package-management/nixops/default.nix @@ -1,9 +1,9 @@ { callPackage, fetchurl }: callPackage ./generic.nix (rec { - version = "1.5"; + version = "1.5.1"; src = fetchurl { url = "http://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2"; - sha256 = "0z4pzc55wjab8v4bkrff94f8qp1g9ydgxxpl2dvy5130bg1s52wd"; + sha256 = "0pba9c8ya4hvqmg458p74g69hb06lh0f5bsgw7dsi8pjrcb0624g"; }; }) diff --git a/pkgs/tools/security/hologram/default.nix b/pkgs/tools/security/hologram/default.nix index abdcd5d2d3e..911c1b12562 100644 --- a/pkgs/tools/security/hologram/default.nix +++ b/pkgs/tools/security/hologram/default.nix @@ -15,6 +15,10 @@ buildGoPackage rec { goDeps = ./deps.nix; + preConfigure = '' + sed -i 's|cacheTimeout != 3600|cacheTimeout != 0|' cmd/hologram-server/main.go + ''; + meta = with stdenv.lib; { homepage = https://github.com/AdRoll/hologram/; description = "Easy, painless AWS credentials on developer laptops."; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c10870b64a..6961e85f829 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1713,6 +1713,8 @@ with pkgs; mcrcon = callPackage ../tools/networking/mcrcon {}; + zabbix-cli = callPackage ../tools/misc/zabbix-cli { }; + ### DEVELOPMENT / EMSCRIPTEN buildEmscriptenPackage = callPackage ../development/em-modules/generic { }; @@ -2259,6 +2261,12 @@ with pkgs; zfsSupport = false; }; + grub2_xen = callPackage ../tools/misc/grub/2.0x.nix { + xenSupport = true; + }; + + grub2_pvgrub_image = callPackage ../tools/misc/grub/pvgrub_image { }; + grub4dos = callPackage ../tools/misc/grub4dos { stdenv = stdenv_32bit; }; @@ -2364,7 +2372,9 @@ with pkgs; hddtemp = callPackage ../tools/misc/hddtemp { }; - hdf4 = callPackage ../tools/misc/hdf4 { }; + hdf4 = callPackage ../tools/misc/hdf4 { + szip = null; + }; hdf5 = callPackage ../tools/misc/hdf5 { gfortran = null; @@ -5751,6 +5761,11 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Foundation; }); + mono50 = lowPrio (callPackage ../development/compilers/mono/5.0.nix { + inherit (darwin) libobjc; + inherit (darwin.apple_sdk.frameworks) Foundation; + }); + monoDLLFixer = callPackage ../build-support/mono-dll-fixer { }; mozart-binary = callPackage ../development/compilers/mozart/binary.nix { }; @@ -6533,6 +6548,8 @@ with pkgs; bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; bison = bison3; + blackmagic = callPackage ../development/tools/misc/blackmagic { }; + bloaty = callPackage ../development/tools/bloaty { }; bossa = callPackage ../development/tools/misc/bossa { @@ -6993,6 +7010,8 @@ with pkgs; noweb = callPackage ../development/tools/literate-programming/noweb { }; nuweb = callPackage ../development/tools/literate-programming/nuweb { tex = texlive.combined.scheme-small; }; + obuild = callPackage ../development/tools/ocaml/obuild { }; + omake = callPackage ../development/tools/ocaml/omake { inherit (ocamlPackages_4_02) ocaml; }; @@ -7539,6 +7558,7 @@ with pkgs; db53 = callPackage ../development/libraries/db/db-5.3.nix { }; db6 = db60; db60 = callPackage ../development/libraries/db/db-6.0.nix { }; + db62 = callPackage ../development/libraries/db/db-6.2.nix { }; dbus = callPackage ../development/libraries/dbus { }; dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; @@ -9722,6 +9742,8 @@ with pkgs; re2 = callPackage ../development/libraries/re2 { }; + qbs = callPackage ../development/tools/build-managers/qbs { }; + qca2 = callPackage ../development/libraries/qca2 { qt = qt4; }; qca2-qt5 = callPackage ../development/libraries/qca2 { qt = qt5.qtbase; }; @@ -16178,6 +16200,8 @@ with pkgs; thinkingRock = callPackage ../applications/misc/thinking-rock { }; + nylas-mail-bin = callPackage ../applications/networking/mailreaders/nylas-mail-bin { }; + thunderbird = callPackage ../applications/networking/mailreaders/thunderbird { inherit (gnome2) libIDL; libpng = libpng_apng; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 1c611610817..fea8fe05bab 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -114,6 +114,8 @@ let }; camlimages = camlimages_4_1; + benchmark = callPackage ../development/ocaml-modules/benchmark { }; + biniou = callPackage ../development/ocaml-modules/biniou { }; bin_prot_p4 = callPackage ../development/ocaml-modules/bin_prot { }; @@ -551,6 +553,8 @@ let ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { }; + ptmap = callPackage ../development/ocaml-modules/ptmap { }; + pycaml = callPackage ../development/ocaml-modules/pycaml { }; qcheck = callPackage ../development/ocaml-modules/qcheck { }; @@ -561,6 +565,8 @@ let reason = callPackage ../development/compilers/reason { }; + rope = callPackage ../development/ocaml-modules/rope { }; + rresult = callPackage ../development/ocaml-modules/rresult { }; safepass = callPackage ../development/ocaml-modules/safepass { };