diff options
Diffstat (limited to 'pkgs/os-specific')
71 files changed, 821 insertions, 401 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 9a6624104f455..5a58410ae9261 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -198,23 +198,29 @@ in rec { }; overrides = super: { - QuartzCore = stdenv.lib.overrideDerivation super.QuartzCore (drv: { - installPhase = drv.installPhase + '' - f="$out/Library/Frameworks/QuartzCore.framework/Headers/CoreImage.h" - substituteInPlace "$f" \ - --replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage" - ''; + AppKit = stdenv.lib.overrideDerivation super.AppKit (drv: { + __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [ + "/System/Library/PrivateFrameworks/" + ]; }); - CoreServices = stdenv.lib.overrideDerivation super.CoreServices (drv: { - __propagatedSandboxProfile = drv.__propagatedSandboxProfile ++ ['' - (allow mach-lookup (global-name "com.apple.CoreServices.coreservicesd")) - '']; + CoreMedia = stdenv.lib.overrideDerivation super.CoreMedia (drv: { + __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [ + "/System/Library/Frameworks/CoreImage.framework" + ]; }); Security = stdenv.lib.overrideDerivation super.Security (drv: { setupHook = ./security-setup-hook.sh; }); + + QuartzCore = stdenv.lib.overrideDerivation super.QuartzCore (drv: { + installPhase = drv.installPhase + '' + f="$out/Library/Frameworks/QuartzCore.framework/Headers/CoreImage.h" + substituteInPlace "$f" \ + --replace "QuartzCore/../Frameworks/CoreImage.framework/Headers" "CoreImage" + ''; + }); }; bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix { diff --git a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix index 8dcf28a59094a..7fd32a64fe575 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix @@ -1,25 +1,23 @@ { stdenv, appleDerivation }: appleDerivation { - postUnpack = '' - substituteInPlace $sourceRoot/Makefile \ - --replace "/usr/lib" "/lib" \ - --replace "/usr/local/lib" "/lib" \ - --replace "/usr/bin" "" \ - --replace "/bin/" "" \ + prePatch = '' + substituteInPlace Makefile \ + --replace /usr/lib /lib \ + --replace /usr/local/lib /lib \ + --replace /usr/bin "" \ + --replace /bin/ "" \ --replace "CC = " "CC = cc #" \ - --replace "SDK_DIR = " "SDK_DIR = . #" - ''; - - # Mac OS didn't support rpaths back before 10.5, and this package intentionally builds stubs targeting versions prior to that - NIX_DONT_SET_RPATH = "1"; - NIX_NO_SELF_RPATH = "1"; + --replace "SDK_DIR = " "SDK_DIR = . #" \ - installPhase = '' - export DSTROOT=$out - make install + # Mac OS didn't support rpaths back before 10.5, but we don't care about it. + substituteInPlace Makefile \ + --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.6 \ + --replace -mmacosx-version-min=10.5 -mmacosx-version-min=10.6 ''; + installFlags = [ "DSTROOT=$(out)" ]; + meta = with stdenv.lib; { description = "Apple's common startup stubs for darwin"; maintainers = with maintainers; [ copumpkin ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix index 3d7e59f155472..28406c9751dc5 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -23,7 +23,7 @@ appleDerivation rec { (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include) done - (cd ${cctools}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o) + (cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o) cat <<EOF > $out/include/TargetConditionals.h #ifndef __TARGETCONDITIONALS__ diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix index 2b31b04204024..20168d24dd712 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix @@ -8,10 +8,6 @@ appleDerivation { propagatedBuildInputs = [ Security ]; - propagatedSandboxProfile = '' - (allow mach-lookup (global-name "com.apple.SystemConfiguration.configd")) - ''; - patchPhase = '' HACK=$PWD/hack mkdir $HACK diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index 965632b5788da..478f9e7e303f6 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -42,6 +42,7 @@ let adv_cmds = "163"; file_cmds = "264.1.1"; shell_cmds = "187"; + system_cmds = "550.6"; }; "osx-10.11.5" = { Libc = "1082.50.1"; # 10.11.6 still unreleased :/ @@ -240,6 +241,7 @@ let network_cmds = applePackage "network_cmds" "osx-10.11.6" "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {}; file_cmds = applePackage "file_cmds" "osx-10.11.6" "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {}; shell_cmds = applePackage "shell_cmds" "osx-10.11.6" "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {}; + system_cmds = applePackage "system_cmds" "osx-10.11.6" "1h46j2c5v02pkv5d9fyv6cpgyg0lczvwicrx6r9s210cl03l77jl" {}; libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {}; libsecurity_apple_cspdl = libsecPackage "libsecurity_apple_cspdl" "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix new file mode 100644 index 0000000000000..2247ef3ddd2ff --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix @@ -0,0 +1,37 @@ +{ stdenv, appleDerivation, xcbuild }: + +appleDerivation rec { + # xcbuild fails with: + # /nix/store/fc0rz62dh8vr648qi7hnqyik6zi5sqx8-xcbuild-wrapper/nix-support/setup-hook: line 1: 9083 Segmentation fault: 11 xcodebuild OTHER_CFLAGS="$NIX_CFLAGS_COMPILE" OTHER_CPLUSPLUSFLAGS="$NIX_CFLAGS_COMPILE" OTHER_LDFLAGS="$NIX_LDFLAGS" build + # buildInputs = [ xcbuild ]; + + # # temporary install phase until xcodebuild has "install" support + # installPhase = '' + # mkdir -p $out/bin/ + # install system_cmds-*/Build/Products/Release/* $out/bin/ + + # for n in 1 5 8; do + # mkdir -p $out/share/man/man$n + # install */*.$n $out/share/man/man$n + # done + # ''; + + # For now we just build sysctl because that's all I need... Please open a + # PR if you need any other utils before we fix the xcodebuild. + buildPhase = "cc sysctl.tproj/sysctl.c -o sysctl"; + + installPhase = + '' + mkdir -p $out/bin + install sysctl $out/bin + for n in 5 8; do + mkdir -p $out/share/man/man$n + install sysctl.tproj/*.$n $out/share/man/man$n + done + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ shlevy ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix index 0ce9c54e48c4a..2c7da5be6e4c1 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix @@ -1,9 +1,9 @@ -{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl }: +{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl, python }: appleDerivation { phases = [ "unpackPhase" "patchPhase" "installPhase" ]; - buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl ]; + buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ]; patchPhase = '' substituteInPlace Makefile \ diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix index 5fc0db44f860e..613606b50358a 100644 --- a/pkgs/os-specific/darwin/binutils/default.nix +++ b/pkgs/os-specific/darwin/binutils/default.nix @@ -3,24 +3,24 @@ }: # Make sure both underlying packages claim to have prepended their binaries -# with the same prefix. -assert binutils-raw.prefix == cctools.prefix; +# with the same targetPrefix. +assert binutils-raw.targetPrefix == cctools.targetPrefix; let - inherit (binutils-raw) prefix; + inherit (binutils-raw) targetPrefix; cmds = [ "ar" "ranlib" "as" "dsymutil" "install_name_tool" "ld" "strip" "otool" "lipo" "nm" "strings" "size" ]; in -# TODO loop over prefixed binaries too +# TODO loop over targetPrefixed binaries too stdenv.mkDerivation { - name = "${prefix}cctools-binutils-darwin"; + name = "${targetPrefix}cctools-binutils-darwin"; buildCommand = '' mkdir -p $out/bin $out/include - ln -s ${binutils-raw.out}/bin/${prefix}c++filt $out/bin/${prefix}c++filt + ln -s ${binutils-raw.out}/bin/${targetPrefix}c++filt $out/bin/${targetPrefix}c++filt # We specifically need: # - ld: binutils doesn't provide it on darwin @@ -33,26 +33,17 @@ stdenv.mkDerivation { # - strip: the binutils one seems to break mach-o files # - lipo: gcc build assumes it exists # - nm: the gnu one doesn't understand many new load commands - for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: prefix + e) cmds)}; do + for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: targetPrefix + e) cmds)}; do ln -sf "${cctools}/bin/$i" "$out/bin/$i" done - for i in ${stdenv.lib.getDev binutils-raw}/include/*.h; do - ln -s "$i" "$out/include/$(basename $i)" - done - - for i in ${cctools}/include/*; do - ln -s "$i" "$out/include/$(basename $i)" - done - # FIXME: this will give us incorrect man pages for bits of cctools ln -s ${binutils-raw.out}/share $out/share - ln -s ${binutils-raw.out}/lib $out/lib ln -s ${cctools}/libexec $out/libexec ''; passthru = { - inherit prefix; + inherit targetPrefix; }; } diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index 1f2e7c1437803..bcca11d66b19b 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -5,9 +5,9 @@ }: let - # The prefix prepended to binary names to allow multiple binuntils on the + # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. - prefix = stdenv.lib.optionalString + targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; in @@ -19,7 +19,7 @@ assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null); let baseParams = rec { - name = "${prefix}cctools-port-${version}"; + name = "${targetPrefix}cctools-port-${version}"; version = "895"; src = fetchFromGitHub { @@ -29,6 +29,8 @@ let sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ autoconf automake libtool_2 ]; buildInputs = [ libuuid ] ++ # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang) @@ -39,9 +41,15 @@ let ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; + __propagatedImpureHostDeps = [ + # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them + "/usr/lib/libobjc.A.dylib" + "/usr/lib/libobjc.dylib" + ]; + enableParallelBuilding = true; - # TODO(@Ericson2314): Always pass "--target" and always prefix. + # TODO(@Ericson2314): Always pass "--target" and always targetPrefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ "CXXFLAGS=-I${libcxx}/include/c++/v1" @@ -105,7 +113,7 @@ let ''; passthru = { - inherit prefix; + inherit targetPrefix; }; meta = { diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index 8a6eb77e6b1e1..5b0d404faaf02 100644 --- a/pkgs/os-specific/linux/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-lib/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "alsa-lib-1.1.4.1"; + name = "alsa-lib-1.1.5"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2" "http://alsa.cybermirror.org/lib/${name}.tar.bz2" ]; - sha256 = "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi"; + sha256 = "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl"; }; patches = [ diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index ae0aaa3cb6389..dc11d21ff1cb9 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, lib, pkgconfig, alsaLib, libogg, libpulseaudio ? null, libjack2 ? null }: stdenv.mkDerivation rec { - name = "alsa-plugins-1.1.4"; + name = "alsa-plugins-1.1.5"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2" "http://alsa.cybermirror.org/plugins/${name}.tar.bz2" ]; - sha256 = "12hsvm6rpinjkg06pa9hzndkdrbfw6wk6yk00cm8y1gbv8xiq3ak"; + sha256 = "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr"; }; # ToDo: a52, etc.? diff --git a/pkgs/os-specific/linux/alsa-tools/default.nix b/pkgs/os-specific/linux/alsa-tools/default.nix index 940dde1f75dd5..d1cae06d7fffc 100644 --- a/pkgs/os-specific/linux/alsa-tools/default.nix +++ b/pkgs/os-specific/linux/alsa-tools/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { name = "alsa-tools-${version}"; - version = "1.1.3"; + version = "1.1.5"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/tools/${name}.tar.bz2" "http://alsa.cybermirror.org/tools/${name}.tar.bz2" ]; - sha256 = "02b75fyfmm9m2iz59d3xa97cas4f697a4pzdxn1i64kjd36iv3yq"; + sha256 = "0d6m5dm5yskfr6q42cv1ihp5lfgv4a67nj39gpp26ll3vrknag5w"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index 4cb4af5ca7240..c9b5b0d2e2dc8 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "alsa-utils-${version}"; - version = "1.1.4"; + version = "1.1.5"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2" "http://alsa.cybermirror.org/utils/${name}.tar.bz2" ]; - sha256 = "17cxih9ibjp1193dyd79j50pyfa9dvrs6r9kpwrvzicjvr2110x7"; + sha256 = "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj"; }; patchPhase = '' diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix index ffc723e55d266..ff32ca01a97ff 100644 --- a/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { name = "android-udev-rules-${version}"; - version = "20171107"; + version = "20171113"; src = fetchFromGitHub { owner = "M0Rf30"; repo = "android-udev-rules"; rev = version; - sha256 = "17al46an6yhjdpz9gxcxzv3zgzjy5c8yn89jwnjdhbq0gkw28nsy"; + sha256 = "11gcnk6wjc2sw05hwi4xphvx9ksmkpvsdziaczymqxkaads3f1dy"; }; installPhase = '' diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 0030f60000d20..03b30af6c3e13 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation rec { CONFIG_DEFAULT_SETFONT_DIR "/etc/kbd" ${extraConfig} - CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.prefix}" + CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.targetPrefix}" EOF make oldconfig @@ -87,7 +87,7 @@ stdenv.mkDerivation rec { ''; postConfigure = lib.optionalString useMusl '' - makeFlagsArray+=("CC=${stdenv.cc.prefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib") + makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib") ''; nativeBuildInputs = lib.optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc; diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 8aa1cec9e12f4..fd585515cf02c 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, cmake # dependencies , glib, libXinerama @@ -73,6 +73,16 @@ stdenv.mkDerivation rec { sha256 = "15j8h251v9jpdg6h6wn1vb45pkk806pf9s5n3rdrps9r185w8hn8"; }; + patches = [ + # Patch to fix compilation on gcc-7 from conky PR + # https://github.com/brndnmtthws/conky/pull/402 + (fetchpatch { + name = "gcc7.patch"; + url = "https://github.com/brndnmtthws/conky/commit/6140122b82d50acc333e5d2a813cc1933ecc6d21.patch"; + sha256 = "1fblfj1w2kc0gshc2pq9lc1pxxsgmgh8byb1xs2v6amx15kj11k7"; + }) + ]; + postPatch = '' sed -i -e '/include.*CheckIncludeFile)/i include(CheckIncludeFiles)' \ cmake/ConkyPlatformChecks.cmake diff --git a/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch b/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch new file mode 100644 index 0000000000000..916161e35a492 --- /dev/null +++ b/pkgs/os-specific/linux/criu/criu-2.12.1-glibc-2.26.patch @@ -0,0 +1,13 @@ +--- a/criu/cr-restore.c ++++ b/criu/cr-restore.c +@@ -650,3 +650,2 @@ static void zombie_prepare_signals(void) + (1 << SIGSYS) |\ +- (1 << SIGUNUSED)|\ + (1 << SIGSTKFLT)|\ +--- a/test/zdtm/static/pthread01.c ++++ b/test/zdtm/static/pthread01.c +@@ -45,3 +45,3 @@ static char *decode_signal(const sigset_t *s, char *buf) + COLLECT(SIGXFSZ); COLLECT(SIGVTALRM); COLLECT(SIGPROF); COLLECT(SIGWINCH); COLLECT(SIGIO); +- COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS); COLLECT(SIGUNUSED); ++ COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS); + #undef COLLECT diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix index 23d1c4821b878..4ceb397d9f82c 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -11,11 +11,13 @@ stdenv.mkDerivation rec { sha256 = "18m0sjgcfvzc86w49fd3kxw145nmrsvc5w7zf42nxdiklmszbr1k"; }; + patches = [ ./criu-2.12.1-glibc-2.26.patch ]; + enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig docbook_xsl ]; buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet python ]; - patchPhase = '' + postPatch = '' chmod +w ./scripts/gen-offsets.sh substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" diff --git a/pkgs/os-specific/linux/dbus-broker/default.nix b/pkgs/os-specific/linux/dbus-broker/default.nix index 7caf5e359d034..d2b3f6005b230 100644 --- a/pkgs/os-specific/linux/dbus-broker/default.nix +++ b/pkgs/os-specific/linux/dbus-broker/default.nix @@ -1,21 +1,24 @@ -{ stdenv, fetchgit, fetchFromGitHub, meson, ninja, pkgconfig +{ stdenv, fetchgit, fetchFromGitHub, docutils, meson, ninja, pkgconfig , dbus, glib, systemd }: stdenv.mkDerivation rec { name = "dbus-broker-${version}"; - version = "3"; + version = "8"; src = fetchFromGitHub { owner = "bus1"; repo = "dbus-broker"; rev = "v${version}"; - sha256 = "1f2vw5b2cbdgd3g7vnzwr9lsw9v4xc5nc0nf9xc3qb5xqzsq7v7i"; + sha256 = "07k8y6pcx58dfd0vvxcbz352v4apajs5lf0chv6fdp7xf7wbbcwb"; fetchSubmodules = true; }; - nativeBuildInputs = [ meson ninja pkgconfig ]; + nativeBuildInputs = [ docutils meson ninja pkgconfig ]; + buildInputs = [ dbus glib systemd ]; + enableParallelBuilding = true; + prePatch = '' substituteInPlace meson.build \ --replace "dep_systemd.get_pkgconfig_variable('systemdsystemunitdir')" "'$out/lib/systemd/system'" \ diff --git a/pkgs/os-specific/linux/devmem2/default.nix b/pkgs/os-specific/linux/devmem2/default.nix index 969197c2dc9d1..e38a76ca89124 100644 --- a/pkgs/os-specific/linux/devmem2/default.nix +++ b/pkgs/os-specific/linux/devmem2/default.nix @@ -4,7 +4,10 @@ stdenv.mkDerivation rec { name = "devmem2-2004-08-05"; src = fetchurl { - url = "http://lartmaker.nl/lartware/port/devmem2.c"; + urls = [ + "http://lartmaker.nl/lartware/port/devmem2.c" + "https://raw.githubusercontent.com/hackndev/tools/7ed212230f8fbb1da3424a15ee88de3279bf96ec/devmem2.c" + ]; sha256 = "14f1k7v6i1yaxg4xcaaf5i4aqn0yabba857zjnbg9wiymy82qf7c"; }; diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index 918527aa318b7..70c1a8cfdf557 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}: +{stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}: let s = # Generated upstream information rec { @@ -9,7 +9,8 @@ let url="http://fbterm.googlecode.com/files/fbterm-1.7.0.tar.gz"; sha256="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; }; - buildInputs = [gpm freetype fontconfig ncurses libx86]; + buildInputs = [gpm freetype fontconfig ncurses] + ++ lib.optional (stdenv.isi686 || stdenv.isx86_64) libx86; in stdenv.mkDerivation { inherit (s) name version; diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 09ca05484f7fb..988f4efb9cdb7 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -1,31 +1,56 @@ { stdenv, fetchurl, gtk_doc, pkgconfig, gobjectIntrospection, intltool -, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive -, libsoup, docbook2x, gpgme, libxslt, libelf, libsmbios, efivar -, fwupdate, libyaml, valgrind, meson, libuuid, pygobject3 -, pillow, ninja, gcab +, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib_networking +, libsoup, docbook2x, gpgme, libxslt, libelf, libsmbios, efivar, glibcLocales +, fwupdate, libyaml, valgrind, meson, libuuid, pygobject3, colord +, pillow, ninja, gcab, gnutls, python3Packages, wrapGAppsHook }: -let version = "0.9.6"; -in - stdenv.mkDerivation - { name = "fwupd-${version}"; - src = fetchurl - { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "0h3y4ygckvkjdx7yxwbm273iv84yk37ivlcf4xvq95g64vs8gfhf"; - }; - buildInputs = - [ gtk_doc pkgconfig gobjectIntrospection intltool libgudev - polkit appstream-glib gusb sqlite libarchive libsoup - docbook2x libxslt libelf libsmbios fwupdate libyaml valgrind - meson gpgme libuuid pygobject3 pillow ninja gcab - ]; - patches = [ ./fix-missing-deps.patch ]; - preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${efivar}/include/efivar" - ''; - mesonFlags = [ "-Denable-colorhug=false" "-Denable-man=false" "-Denable-tests=false" "--localstatedir=/var" "-Denable-doc=false" "-Dwith-bootdir=/boot" ]; - enableParallelBuilding = true; - meta = - { license = [ stdenv.lib.licenses.gpl2 ]; - platforms = stdenv.lib.platforms.linux; - }; - } +let + version = "1.0.1"; +in stdenv.mkDerivation { + name = "fwupd-${version}"; + src = fetchurl { + url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; + sha256 = "1k627rja7df51dkzqvkzgbwrrj4049k6408d01m34n66zwr2fp59"; + }; + + nativeBuildInputs = [ + meson ninja gtk_doc pkgconfig gobjectIntrospection intltool glibcLocales + valgrind gcab docbook2x libxslt pygobject3 python3Packages.pycairo wrapGAppsHook + ]; + buildInputs = [ + polkit appstream-glib gusb sqlite libarchive libsoup libelf libsmbios fwupdate libyaml + libgudev colord gpgme libuuid pillow gnutls glib_networking + ]; + + LC_ALL = "en_US.UTF-8"; # For po/make-images + + NIX_CFLAGS_COMPILE = [ + "-I${efivar}/include/efivar" + # warning: "__LIBELF_INTERNAL__" is not defined + "-Wno-error=undef" + ]; + + patches = [ + ./fix-missing-deps.patch + ]; + postPatch = '' + patchShebangs . + ''; + + mesonFlags = [ + "-Denable-man=false" + "-Denable-tests=false" + "-Denable-doc=false" + "-Dwith-bootdir=/boot" + "-Dwith-udevdir=lib/udev" + "-Dwith-systemdunitdir=lib/systemd/system" + "--localstatedir=/var" + ]; + + enableParallelBuilding = true; + meta = { + homepage = https://fwupd.org/; + license = [ stdenv.lib.licenses.gpl2 ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch index be199227f3f82..46e11952afe0a 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch @@ -1,86 +1,99 @@ -diff -Naur fwupd-0.9.6-orig/data/meson.build fwupd-0.9.6/data/meson.build ---- fwupd-0.9.6-orig/data/meson.build 2017-08-03 05:45:02.000000000 -0400 -+++ fwupd-0.9.6/data/meson.build 2017-09-02 19:58:37.324596487 -0400 -@@ -20,7 +20,7 @@ +--- a/data/builder/meson.build ++++ b/data/builder/meson.build +@@ -1,3 +0,0 @@ +-install_data('README.md', +- install_dir : join_paths(get_option('localstatedir'), 'lib', 'fwupd', 'builder') +-) +--- a/data/meson.build ++++ b/data/meson.build +@@ -7,16 +7,12 @@ + subdir('installed-tests') + endif + +-install_data(['daemon.conf'], +- install_dir : join_paths(get_option('sysconfdir'), 'fwupd') +-) +- + install_data(['org.freedesktop.fwupd.metainfo.xml'], + install_dir: join_paths(get_option('datadir'), 'metainfo') ) - install_data(['90-fwupd-devices.rules'], -- install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d') -+ install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d') + install_data(['org.freedesktop.fwupd.conf'], +- install_dir : join_paths(get_option('sysconfdir'), 'dbus-1', 'system.d') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d') ) - con2 = configuration_data() -@@ -52,7 +52,7 @@ - output : 'fwupd-offline-update.service', - configuration : con2, - install: true, -- install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'), -+ install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'), + install_data(['metadata.xml'], +--- a/data/pki/meson.build ++++ b/data/pki/meson.build +@@ -3,13 +3,13 @@ + 'GPG-KEY-Hughski-Limited', + 'GPG-KEY-Linux-Vendor-Firmware-Service', + ], +- install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd') ) - endif -@@ -63,6 +63,6 @@ - output : 'fwupd.service', - configuration : con2, - install: true, -- install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'), -+ install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'), + install_data([ + 'GPG-KEY-Linux-Vendor-Firmware-Service', + ], +- install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd-metadata') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd-metadata') ) endif -diff -Naur fwupd-0.9.6-orig/libdfu/meson.build fwupd-0.9.6/libdfu/meson.build ---- fwupd-0.9.6-orig/libdfu/meson.build 2017-08-03 05:45:02.000000000 -0400 -+++ fwupd-0.9.6/libdfu/meson.build 2017-09-02 19:58:37.325596508 -0400 -@@ -23,6 +23,10 @@ - giounix, - libm, - gusb, -+ uuid, -+ libarchive, -+ soup, -+ libgcab - ] - if get_option('enable-libelf') -diff -Naur fwupd-0.9.6-orig/meson.build fwupd-0.9.6/meson.build ---- fwupd-0.9.6-orig/meson.build 2017-08-03 05:45:02.000000000 -0400 -+++ fwupd-0.9.6/meson.build 2017-09-02 19:59:07.406216716 -0400 -@@ -124,6 +124,7 @@ - if polkit.version().version_compare('>= 0.114') - conf.set('HAVE_POLKIT_0_114', '1') +@@ -17,12 +17,12 @@ + install_data([ + 'LVFS-CA.pem', + ], +- install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd') + ) + install_data([ + 'LVFS-CA.pem', + ], +- install_dir : join_paths(get_option('sysconfdir'), 'pki', 'fwupd-metadata') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'pki', 'fwupd-metadata') + ) endif -+libgcab = dependency('libgcab-1.0') - gudev = dependency('gudev-1.0') - appstream_glib = dependency('appstream-glib', version : '>= 0.6.9') - gusb = dependency('gusb', version : '>= 0.2.9') -@@ -200,7 +201,7 @@ - 'fwupd-plugins-2') - conf.set_quoted('PLUGINDIR', plugin_dir) --conf.set_quoted('SYSCONFDIR', get_option('sysconfdir')) -+conf.set_quoted('SYSCONFDIR', '/etc') - conf.set_quoted('BINDIR', - join_paths(get_option('prefix'), - get_option('bindir'))) -@@ -227,6 +228,9 @@ - plugin_deps += gmodule - plugin_deps += gusb - plugin_deps += soup -+plugin_deps += libarchive -+plugin_deps += uuid -+plugin_deps += libgcab - - subdir('data') - subdir('docs') -@@ -255,6 +259,3 @@ - endif +--- a/data/remotes.d/meson.build ++++ b/data/remotes.d/meson.build +@@ -3,7 +3,7 @@ + 'lvfs.conf', + 'lvfs-testing.conf', + ], +- install_dir : join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d') ++ install_dir : join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d') + ) endif --if get_option('enable-systemd') -- meson.add_install_script('meson_post_install.sh', systemd.get_pkgconfig_variable('systemdsystemunitdir'), localstatedir) --endif -diff -Naur fwupd-0.9.6-orig/po/make-images.sh fwupd-0.9.6/po/make-images.sh ---- fwupd-0.9.6-orig/po/make-images.sh 2017-08-03 05:45:02.000000000 -0400 -+++ fwupd-0.9.6/po/make-images.sh 2017-09-02 19:58:37.328596570 -0400 +@@ -19,12 +19,12 @@ + output : 'fwupd.conf', + configuration : con2, + install: true, +- install_dir: join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d'), ++ install_dir: join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d'), + ) + configure_file( + input : 'vendor.conf', + output : 'vendor.conf', + configuration : con2, + install: true, +- install_dir: join_paths(get_option('sysconfdir'), 'fwupd', 'remotes.d'), ++ install_dir: join_paths(get_option('prefix'), 'etc', 'fwupd', 'remotes.d'), + ) +--- a/meson_post_install.sh ++++ b/meson_post_install.sh +@@ -11,6 +11,4 @@ + echo 'Updating systemd deps' + mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants + ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service +- echo 'Creating stateful directory' +- mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd + #fi +--- a/po/make-images.sh ++++ b/po/make-images.sh @@ -7,6 +7,7 @@ # install -m 0755 -d ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/ @@ -89,26 +102,3 @@ diff -Naur fwupd-0.9.6-orig/po/make-images.sh fwupd-0.9.6/po/make-images.sh for x in ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/*/LC_IMAGES/*.bmp ; do gzip -f ${x} done -diff -Naur fwupd-0.9.6-orig/src/meson.build fwupd-0.9.6/src/meson.build ---- fwupd-0.9.6-orig/src/meson.build 2017-08-03 05:45:02.000000000 -0400 -+++ fwupd-0.9.6/src/meson.build 2017-09-02 19:58:37.329596590 -0400 -@@ -24,6 +24,9 @@ - polkit, - soup, - sqlite, -+ uuid, -+ libarchive, -+ libgcab - ], - link_with : fwupd, - c_args : [ -@@ -73,6 +76,9 @@ - gpgme, - gpgerror, - valgrind, -+ uuid, -+ libarchive, -+ libgcab - ], - link_with : fwupd, - c_args : [ diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index b18b6de0d140d..b9ac015f45918 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -25,12 +25,7 @@ in stdenv.mkDerivation rec { url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch"; sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa"; }) - ++ stdenv.lib.optionals isFuse3 [ - ./fuse3-no-udev.patch # only required for udevrulesdir - ./fuse3-install.patch - # install_man makes the build non-reproducible by encoding the date - ./fuse3-install_man.patch - ]; + ++ stdenv.lib.optional isFuse3 ./fuse3-install.patch; nativeBuildInputs = if isFuse3 @@ -40,6 +35,8 @@ in stdenv.mkDerivation rec { outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common"; + mesonFlags = stdenv.lib.optional isFuse3 "-Dudevrulesdir=etc/udev/rules.d"; + preConfigure = '' export MOUNT_FUSE_PATH=$out/sbin export INIT_D_PATH=$TMPDIR/etc/init.d diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 669d115aab991..7856f6389c7d0 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -13,8 +13,8 @@ in { }; fuse_3 = mkFuse { - version = "3.2.0"; - sha256Hash = "0bfpwkfamg4rcbq1s7v5rblpisqq73z6d5j3dxypgqll07hfg51x"; + version = "3.2.1"; + sha256Hash = "19bsvb5lc8k1i0h5ld109kixn6mdshzvg3y7820k9mnw34kh09y0"; maintainers = [ maintainers.primeos ]; }; } diff --git a/pkgs/os-specific/linux/fuse/fuse3-install_man.patch b/pkgs/os-specific/linux/fuse/fuse3-install_man.patch deleted file mode 100644 index 491f92e364f6c..0000000000000 --- a/pkgs/os-specific/linux/fuse/fuse3-install_man.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/doc/meson.build 1970-01-01 01:00:01.000000000 +0100 -+++ b/doc/meson.build 2017-09-22 01:53:01.859190506 +0200 -@@ -1,5 +1,4 @@ - # Attention, emacs, please use -*- mode: python -*- - # (even though this isn't actually Python code) - --install_man('fusermount3.1', 'mount.fuse.8') - diff --git a/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch b/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch deleted file mode 100644 index c48abfe59c53c..0000000000000 --- a/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch +++ /dev/null @@ -1,12 +0,0 @@ -+++ b/util/meson.build 2017-09-23 20:59:31.555392297 +0200 ---- a/util/meson.build 2017-09-23 20:59:58.333180437 +0200 -@@ -18,8 +18,7 @@ - install: true, - install_dir: get_option('sbindir')) - --udev = dependency('udev') --udevrulesdir = join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d') -+udevrulesdir = 'etc/udev/rules.d' - - meson.add_install_script('install_helper.sh', get_option('sysconfdir'), - get_option('bindir'), udevrulesdir) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index b64278ae4ba09..be9be49208a43 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "iproute2-${version}"; - version = "4.13.0"; + version = "4.14.1"; src = fetchurl { url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; - sha256 = "0l2w84cwr54gaw3cbxijf614l76hx8mgcz57v81rwl68z3nq3yww"; + sha256 = "0rq0n7yxb0hmk0s6wx5awzjgf7ikjbibd0a5ix20ldfcmxlc0fnl"; }; preConfigure = '' diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix index 93a0f8a4c2909..6039ada44e245 100644 --- a/pkgs/os-specific/linux/ipset/default.nix +++ b/pkgs/os-specific/linux/ipset/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libmnl }: stdenv.mkDerivation rec { - name = "ipset-6.27"; + name = "ipset-6.34"; src = fetchurl { url = "http://ipset.netfilter.org/${name}.tar.bz2"; - sha256 = "0ddj66wr0xh9v6ks430l8r80lj2s9qc44d9c2ik48lwm0fl9fj3j"; + sha256 = "106nv1ngcvap0mqmb6jm07lc1q3w796rkzc1vrfs4yhbcwdq63np"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix index 310cdbd1eee8a..fab66a329e2e3 100644 --- a/pkgs/os-specific/linux/jfbview/default.nix +++ b/pkgs/os-specific/linux/jfbview/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mujs, mupdf, ncurses, openjpeg +, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg , openssl , imageSupport ? true, imlib2 ? null }: @@ -27,16 +27,12 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; buildInputs = [ - freetype harfbuzz jbig2dec libjpeg libX11 mujs mupdf ncurses openjpeg + freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg openssl ] ++ stdenv.lib.optionals imageSupport [ imlib2 ]; - patches = [ - ./mupdf-1.9.patch - ]; - configurePhase = '' # Hack. Probing (`ldconfig -p`) fails with ‘cannot execute binary file’. # Overriding `OPENJP2 =` later works, but makes build output misleading: diff --git a/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch b/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch deleted file mode 100644 index 99d7377239bf3..0000000000000 --- a/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- JFBView-0.5.2-src/Makefile 2016-06-11 23:27:54.969894750 -0700 -+++ JFBView-0.5.2-src/Makefile 2016-06-11 23:24:45.181142832 -0700 -@@ -134,13 +134,22 @@ - - .PHONY: detect_libopenjp2 - detect_libopenjp2: -- $(eval OPENJP2 = $(shell ldconfig -p | grep -q libopenjp2 && echo 'openjp2' || echo 'openjpeg')) -+ $(eval OPENJP2 = $(shell echo libopenjp2 | grep -q libopenjp2 && echo 'openjp2' || echo 'openjpeg')) - @echo "OPENJP2 = $(OPENJP2)" >> $(CONFIG_MK) - - # mupdf_version only depends on -lmupdf. - mupdf_version: mupdf_version.cpp -- $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf -- -+ $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf \ -+ -lpthread \ -+ -lform \ -+ -lncurses \ -+ -lfreetype \ -+ -lharfbuzz \ -+ -lz \ -+ -ljbig2dec \ -+ -ljpeg \ -+ -lmujs \ -+ -lopenjp2 - endif - - diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 0f7ad055af867..64f8163369bbe 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -571,6 +571,7 @@ with stdenv.lib; ${optionalString (versionOlder version "4.14") '' MEDIA_RC_SUPPORT y ''} + MEDIA_CONTROLLER y MEDIA_USB_SUPPORT y MEDIA_PCI_SUPPORT y MEDIA_ANALOG_TV_SUPPORT y diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix index 3744c28e204f4..a859a3cefbd48 100644 --- a/pkgs/os-specific/linux/kernel/hardened-config.nix +++ b/pkgs/os-specific/linux/kernel/hardened-config.nix @@ -82,6 +82,10 @@ HARDENED_USERCOPY y # Randomize allocator freelists. SLAB_FREELIST_RANDOM y +${optionalString (versionAtLeast version "4.14") '' + SLAB_FREELIST_HARDENED y +''} + # Wipe higher-level memory allocations on free() with page_poison=1 PAGE_POISONING y PAGE_POISONING_NO_SANITY y @@ -96,6 +100,9 @@ GCC_PLUGINS y # Enable gcc plugin options ${optionalString (versionAtLeast version "4.11") '' GCC_PLUGIN_STRUCTLEAK y # A port of the PaX structleak plugin ''} +${optionalString (versionAtLeast version "4.14") '' + GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y # Also cover structs passed by address +''} # Disable various dangerous settings ACPI_CUSTOM_METHOD n # Allows writing directly to physical memory diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix index d214422583317..72ae02bbecdef 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix @@ -1,11 +1,11 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.13.12"; + version = "4.13.16"; extraMeta.branch = "4.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0x6yz5yb25789ky6hm55abja9374gcaqz06hg7rmmap3y1dhd65z"; + sha256 = "0cf7prqzl1ajbgl98w0symdyn0k5wl5xaf1l5ldgy6l083yg69dh"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix new file mode 100644 index 0000000000000..127a65b715c2f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -0,0 +1,18 @@ +{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: + +with stdenv.lib; + +import ./generic.nix (args // rec { + version = "4.14.2"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); + + # branchVersion needs to be x.y + extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; + sha256 = "0k264zxibhldgi9fcax11bjdv89jkdn1nbvvng312j2f19i909p9"; + }; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 324d2e8291e8a..11809364d96c3 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.97"; + version = "4.4.102"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "03hnm66nv7l1f21z893rghgpgghs1i2pxzhcahpi7d6nsm5mwqgq"; + sha256 = "1zmaispqs9lw1kyalhln2l53hsg99riisgnmc50qj7cyalmc5qpd"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 86108f553b8ab..3e3626cb39d4b 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.61"; + version = "4.9.65"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "17ni4skllgd24ddg1ifj1s9b5mqx38filrabgmlw7w4ff9src8z0"; + sha256 = "15a8a7p6i2dgiglps22cwsy5gsfkc39fy4jzvhjwz8s9fn3p1fi4"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix index b0d9f04efc845..33885a082d635 100644 --- a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix +++ b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix @@ -1,8 +1,8 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: let - modDirVersion = "4.9.59"; - tag = "r73"; + modDirVersion = "4.9.61"; + tag = "r76"; in import ./generic.nix (args // rec { version = "${modDirVersion}-ti-${tag}"; @@ -12,7 +12,7 @@ import ./generic.nix (args // rec { owner = "beagleboard"; repo = "linux"; rev = "${version}"; - sha256 = "1kzbbaqmzgvfls1v9jir2ck9vcdd774mq474vhr5x6dqjnnb5kg9"; + sha256 = "0hcz4fwjyic42mrn8qsvzm4jq1g5k51awjj3d2das7k8frjalaby"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix index 55b40c9cd7daa..863b6dcae7827 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix @@ -3,9 +3,9 @@ with stdenv.lib; let - version = "4.13.12"; + version = "4.14.2"; revision = "a"; - sha256 = "10zfdv0s5jdpp9nqbxi34wwf1pqh3fjflgcd60f7cbr95ivvkl9r"; + sha256 = "0bpkff1phc68shw6spkhd6zbxgjkgvdglym8b2hp383h14845qhb"; # modVersion needs to be x.y.z, will automatically add .0 if needed modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix index c7e9859ded79b..92b202100a63d 100644 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix @@ -1,6 +1,6 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: -import ./generic.nix (args // rec { +import ./generic.nix (rec { mptcpVersion = "0.93"; modDirVersion = "4.9.60"; version = "${modDirVersion}-mptcp_v${mptcpVersion}"; @@ -43,4 +43,4 @@ import ./generic.nix (args // rec { TCP_CONG_BALIA m '' + (args.extraConfig or ""); -} // (args.argsOverride or {})) +} // args // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 54e37e7213039..3fe9ff8e28709 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ -{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: +{ stdenv, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.14-rc8"; - modDirVersion = "4.14.0-rc8"; - extraMeta.branch = "4.14"; + version = "4.15-rc1"; + modDirVersion = "4.15.0-rc1"; + extraMeta.branch = "4.15"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "0ir2ggflm1xjnn1kvv2c99m5zni5kg0ygzlpm588wnhkzd93nqjh"; + sha256 = "1l7c132qb5qjd80hga03ivssfq65brqyd95sb4rd065dqrixp20n"; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 28ad5aeca35f6..b4ee23079d930 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -1,4 +1,6 @@ { runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl +, libelf ? null +, utillinux ? null , writeTextFile, ubootTools , hostPlatform }: @@ -110,7 +112,7 @@ let make $makeFlags prepare actualModDirVersion="$(cat $buildRoot/include/config/kernel.release)" if [ "$actualModDirVersion" != "${modDirVersion}" ]; then - echo "Error: modDirVersion specified in the Nix expression is wrong, it should be: $actualModDirVersion" + echo "Error: modDirVersion ${modDirVersion} specified in the Nix expression is wrong, it should be: $actualModDirVersion" exit 1 fi @@ -158,6 +160,13 @@ let cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build make modules_prepare $makeFlags "''${makeFlagsArray[@]}" O=$dev/lib/modules/${modDirVersion}/build + # Keep some extra files on some arches (powerpc, aarch64) + for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do + if [ -f "$buildRoot/$f" ]; then + cp $buildRoot/$f $dev/lib/modules/${modDirVersion}/build/$f + fi + done + # !!! No documentation on how much of the source tree must be kept # If/when kernel builds fail due to missing files, you can add # them here. Note that we may see packages requiring headers @@ -165,13 +174,14 @@ let # headers on 3.10 though. chmod u+w -R ../source - arch=`cd $dev/lib/modules/${modDirVersion}/build/arch; ls` + arch=$(cd $dev/lib/modules/${modDirVersion}/build/arch; ls) - # Remove unusued arches - mv arch/$arch . - rm -fR arch - mkdir arch - mv $arch arch + # Remove unused arches + for d in $(cd arch/; ls); do + if [ "$d" = "$arch" ]; then continue; fi + if [ "$arch" = arm64 ] && [ "$d" = arm ]; then continue; fi + rm -rf arch/$d + done # Remove all driver-specific code (50M of which is headers) rm -fR drivers @@ -179,6 +189,9 @@ let # Keep all headers find . -type f -name '*.h' -print0 | xargs -0 chmod u-w + # Keep linker scripts (they are required for out-of-tree modules on aarch64) + find . -type f -name '*.lds' -print0 | xargs -0 chmod u-w + # Keep root and arch-specific Makefiles chmod u-w Makefile chmod u-w arch/$arch/Makefile* @@ -219,13 +232,18 @@ let }; in +assert stdenv.lib.versionAtLeast version "4.15" -> libelf != null; +assert stdenv.lib.versionAtLeast version "4.15" -> utillinux != null; stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // { name = "linux-${version}"; enableParallelBuilding = true; nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ] - ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools; + ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools + ++ optional (stdenv.lib.versionAtLeast version "4.15") libelf + ++ optional (stdenv.lib.versionAtLeast version "4.15") utillinux + ; hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" ]; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index c1288108b4f1c..754a2372c6d8b 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -62,4 +62,14 @@ rec { name = "tag-hardened"; patch = ./tag-hardened.patch; }; + + # https://bugzilla.kernel.org/show_bug.cgi?id=197591#c6 + iwlwifi_mvm_support_version_7_scan_req_umac_fw_command = rec { + name = "iwlwifi_mvm_support_version_7_scan_req_umac_fw_command"; + patch = fetchpatch { + name = name + ".patch"; + url = https://bugzilla.kernel.org/attachment.cgi?id=260597; + sha256 = "09096npxpgvlwdz3pb3m9brvxh7vy0xc9z9p8hh85xyczyzcsjhr"; + }; + }; } diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index b64242e911db2..4bcf6e037e0f1 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation { /* I don't want cross-python or cross-perl - I don't know if cross-python even works */ propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ]; - makeFlags = "CROSS_COMPILE=${stdenv.cc.prefix}"; + makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; elfutils = elfutils.crossDrv; inherit (kernel.crossDrv) src patches; }; diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 92ac1a77898ca..c503b982aa294 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ] # TODO(@Ericson2314): We now can get the ABI from # `hostPlatform.parsed.abi`, is this still a good idea? ++ stdenv.lib.optional (hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y" - ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.prefix}"; + ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; # Install static binaries as well. postInstall = '' diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix index 850907d4f8a7a..bc7b254e19e9c 100644 --- a/pkgs/os-specific/linux/kmscon/default.nix +++ b/pkgs/os-specific/linux/kmscon/default.nix @@ -33,6 +33,8 @@ stdenv.mkDerivation rec { libxslt ]; + patches = [ ./kmscon-8-glibc-2.26.patch ]; + # FIXME: Remove as soon as kmscon > 8 comes along. postPatch = '' sed -i -e 's/libsystemd-daemon libsystemd-login/libsystemd/g' configure @@ -45,6 +47,8 @@ stdenv.mkDerivation rec { "--with-renderers=bbulk,gltex,pixman" ]; + enableParallelBuilding = true; + meta = { description = "KMS/DRM based System Console"; homepage = http://www.freedesktop.org/wiki/Software/kmscon/; diff --git a/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch new file mode 100644 index 0000000000000..b70a750180e2d --- /dev/null +++ b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch @@ -0,0 +1,25 @@ +diff --git a/src/pty.c b/src/pty.c +index 3494104..1443f4a 100644 +--- a/src/pty.c ++++ b/src/pty.c +@@ -299,7 +299,7 @@ static void setup_child(int master, struct winsize *ws) + if (ret) + log_warn("cannot reset blocked signals: %m"); + +- for (i = 1; i < SIGUNUSED; ++i) ++ for (i = 1; i < SIGSYS; ++i) + signal(i, SIG_DFL); + + ret = grantpt(master); +diff --git a/src/uterm_vt.c b/src/uterm_vt.c +index af377f5..fbe9e76 100644 +--- a/src/uterm_vt.c ++++ b/src/uterm_vt.c +@@ -40,6 +40,7 @@ + #include <sys/ioctl.h> + #include <sys/signalfd.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <termios.h> + #include <time.h> + #include <unistd.h> diff --git a/pkgs/os-specific/linux/libnscd/default.nix b/pkgs/os-specific/linux/libnscd/default.nix deleted file mode 100644 index a2dd25206cb14..0000000000000 --- a/pkgs/os-specific/linux/libnscd/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "libnscd-2.0.2"; - - src = fetchurl { - url = http://ftp.suse.com/pub/people/kukuk/libnscd/libnscd-2.0.2.tar.bz2; - sha256 = "0nxhwy42x44jlpdb5xq1prbvfjmds4hplmwv3687z0c4r9rn506l"; - }; - - meta = { - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/libsmbios/default.nix b/pkgs/os-specific/linux/libsmbios/default.nix index 98ec778e2c260..5d3e0dc8c975a 100644 --- a/pkgs/os-specific/linux/libsmbios/default.nix +++ b/pkgs/os-specific/linux/libsmbios/default.nix @@ -1,36 +1,38 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, perl, autoreconfHook, doxygen }: +{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, libtool, gettext +, libxml2, perl, doxygen }: -let - version = "2.3.2"; -in -stdenv.mkDerivation { + +stdenv.mkDerivation rec { name = "libsmbios-${version}"; + version = "2.3.3"; - src = fetchurl { - url = "https://github.com/dell/libsmbios/archive/v${version}.tar.gz"; - sha256 = "0kvi36jrvhspyyq0pjfdyvzvimdn27fvbdpf429qm3xdmfi78y2j"; + src = fetchFromGitHub { + owner = "dell"; + repo = "libsmbios"; + rev = "v${version}"; + sha256 = "1cl5nb6qk8ki87hwqf9n1dd9nlhkjnlpdxlhzvm82za16gs7apkl"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ libxml2 perl doxygen ]; + nativeBuildInputs = [ autoreconfHook doxygen gettext libtool perl pkgconfig ]; + buildInputs = [ libxml2 ]; + + configureFlags = [ "--disable-python" "--disable-graphviz" ]; - # It tries to install some Python stuff even when Python is disabled. - installFlags = "pkgpythondir=$(TMPDIR)/python"; + enableParallelBuilding = true; postInstall = '' mkdir -p $out/include - cp -va "src/include/"* "$out/include/" - cp -va "out/public-include/"* "$out/include/" + cp -a src/include/smbios_c $out/include/ + cp -a out/public-include/smbios_c $out/include/ ''; - # Hack to avoid TMPDIR in RPATHs. - preFixup = ''rm -rf "$(pwd)" ''; + preFixup = ''rm -rf "$(pwd)" ''; # Hack to avoid TMPDIR in RPATHs meta = { - homepage = http://linux.dell.com/libsmbios/main; + homepage = https://github.com/dell/libsmbios; description = "A library to obtain BIOS information"; - license = stdenv.lib.licenses.gpl2Plus; # alternatively, under the Open Software License version 2.1 + license = with stdenv.lib.licenses; [ osl21 gpl2Plus ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/os-specific/linux/libwebcam/default.nix b/pkgs/os-specific/linux/libwebcam/default.nix new file mode 100644 index 0000000000000..aadecfdc8b5e5 --- /dev/null +++ b/pkgs/os-specific/linux/libwebcam/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchurl +, cmake +, pkgconfig +, libxml2 +}: + +stdenv.mkDerivation rec { + pname = "libwebcam"; + version = "0.2.5"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/project/${pname}/source/${pname}-src-${version}.tar.gz"; + sha256 = "0hcxv8di83fk41zjh0v592qm7c0v37a3m3n3lxavd643gff1k99w"; + }; + + patches = [ + ./uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch + ]; + + buildInputs = [ + cmake + pkgconfig + libxml2 + ]; + + postPatch = '' + substituteInPlace ./uvcdynctrl/CMakeLists.txt \ + --replace "/lib/udev" "$out/lib/udev" + + substituteInPlace ./uvcdynctrl/udev/scripts/uvcdynctrl \ + --replace 'debug=0' 'debug=''${NIX_UVCDYNCTRL_UDEV_DEBUG:-0}' \ + --replace 'uvcdynctrlpath=uvcdynctrl' "uvcdynctrlpath=$out/bin/uvcdynctrl" + + substituteInPlace ./uvcdynctrl/udev/rules/80-uvcdynctrl.rules \ + --replace "/lib/udev" "$out/lib/udev" + ''; + + + preConfigure = '' + cmakeFlagsArray=( + $cmakeFlagsArray + "-DCMAKE_INSTALL_PREFIX=$out" + ) + ''; + + meta = with lib; { + description = "The webcam-tools package"; + platforms = platforms.linux; + licenses = with licenses; [ lgpl3 ]; + maintainers = with maintainers; [ jraygauthier ]; + }; +} \ No newline at end of file diff --git a/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch b/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch new file mode 100644 index 0000000000000..07e5f0bf852b7 --- /dev/null +++ b/pkgs/os-specific/linux/libwebcam/uvcdynctrl_symlink_support_and_take_data_dir_from_env.patch @@ -0,0 +1,65 @@ +diff --git a/uvcdynctrl/main.c b/uvcdynctrl/main.c +index b7befd1..f3a768c 100644 +--- a/uvcdynctrl/main.c ++++ b/uvcdynctrl/main.c +@@ -674,27 +674,31 @@ get_filename (const char *dir_path, const char *vid) + printf ( "checking dir: %s \n", dir_path); + while ((dp = readdir(dir)) != NULL) + { +- if((dp->d_type == DT_DIR) && (fnmatch("[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]", dp->d_name, 0) == 0)) ++ if((dp->d_type == DT_DIR || dp->d_type == DT_LNK ) && (fnmatch("[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]", dp->d_name, 0) == 0)) + { + if( strcasecmp(vid, dp->d_name) != 0) + { + /*doesn't match - clean up and move to the next entry*/ + continue; + } +- ++ + char *tmp = path_cat (dir_path, dp->d_name); +- printf("found dir: %s \n", dp->d_name); ++ + DIR * subdir = opendir(tmp); +- while ((sdp = readdir(subdir)) != NULL) ++ if ( subdir != NULL ) + { +- if( fnmatch("*.xml", sdp->d_name, 0) == 0 ) ++ printf("found dir: %s \n", dp->d_name); ++ while ((sdp = readdir(subdir)) != NULL) + { +- file_list[nf-1] = path_cat (tmp, sdp->d_name); +- printf("found: %s \n", file_list[nf-1]); +- nf++; +- file_list = realloc(file_list,nf*sizeof(file_list)); +- file_list[nf-1] = NULL; +- } ++ if( fnmatch("*.xml", sdp->d_name, 0) == 0 ) ++ { ++ file_list[nf-1] = path_cat (tmp, sdp->d_name); ++ printf("found: %s \n", file_list[nf-1]); ++ nf++; ++ file_list = realloc(file_list,nf*sizeof(file_list)); ++ file_list[nf-1] = NULL; ++ } ++ } + } + closedir(subdir); + free (tmp); +@@ -869,9 +873,15 @@ main (int argc, char **argv) + pid_set = 1; /*flag pid.xml check*/ + //printf("vid:%s pid:%s\n", vid, pid); + } +- ++ ++ const char* dataDir = getenv( "NIX_UVCDYNCTRL_DATA_DIR" ); ++ // When unavailable, fallback on data dir specified at build time. ++ if ( !dataDir ) { ++ dataDir = DATA_DIR; ++ } ++ + /* get xml file list from DATA_DIR/vid/ */ +- char **xml_files = get_filename (DATA_DIR, vid); ++ char **xml_files = get_filename (dataDir, vid); + + /*check for pid.xml*/ + char fname[9]; diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 6382b90f16832..e6d5c10341b40 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -2,7 +2,7 @@ , thin-provisioning-tools, enable_dmeventd ? false }: let - version = "2.02.175"; + version = "2.02.176"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz"; - sha256 = "0n95cc2b0jb0fh2pd9jyg9ww7lyzpia9n9sryw9f4aq8dpna7dsd"; + sha256 = "0wx4rvy4frdmb66znh2xms2j2n06sm361ki6l5ks4y1ciii87kny"; }; configureFlags = [ diff --git a/pkgs/os-specific/linux/mdadm/4.nix b/pkgs/os-specific/linux/mdadm/4.nix index 5511d72884a5a..f9c2a5e09af60 100644 --- a/pkgs/os-specific/linux/mdadm/4.nix +++ b/pkgs/os-specific/linux/mdadm/4.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm" "STRIP=" ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.prefix}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; nativeBuildInputs = [ groff ]; diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 0929bae991dd2..1e2c1dafb2db6 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm" "STRIP=" ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [ - "CROSS_COMPILE=${stdenv.cc.prefix}" + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; nativeBuildInputs = [ groff ]; diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index 19425f810d0a5..97843b2253fce 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "microcode-intel-${version}"; - version = "20170707"; + version = "20171117"; src = fetchurl { - url = "https://downloadmirror.intel.com/26925/eng/microcode-${version}.tgz"; - sha256 = "14zf7fbhg0msa3bm0kl139pclmkfm83s6l86x48sr9sjpxllgm2g"; + url = "https://downloadmirror.intel.com/27337/eng/microcode-${version}.tgz"; + sha256 = "1p14ypbg28bdkbza6dx6dpjrdr5p13vmgrh2cw0y1v2qzalivgck"; }; buildInputs = [ libarchive ]; diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix index 21934dcdfacd5..f61611fbf017d 100644 --- a/pkgs/os-specific/linux/mwprocapture/default.nix +++ b/pkgs/os-specific/linux/mwprocapture/default.nix @@ -25,7 +25,8 @@ stdenv.mkDerivation rec { sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i"; }; - patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch; + patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch + ++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch; preConfigure = '' diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch new file mode 100644 index 0000000000000..9f92a38bcc459 --- /dev/null +++ b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch @@ -0,0 +1,60 @@ +diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.c ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c +--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c 2017-08-17 02:46:07.000000000 -0700 ++++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c 2017-11-13 20:18:50.842947380 -0800 +@@ -7,8 +7,8 @@ + + #include "linux-file.h" + +-#include <asm/uaccess.h> + #include <linux/sched.h> ++#include <asm/uaccess.h> + + struct file *linux_file_open(const char *path, int flags, int mode) + { +@@ -28,27 +28,27 @@ + filp_close(file, NULL); + } + +-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size) ++ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size) + { + mm_segment_t oldfs; + ssize_t ret; + + oldfs = get_fs(); + set_fs(get_ds()); +- ret = vfs_read(file, data, size, &offset); ++ ret = kernel_read(file, data, size, &offset); + set_fs(oldfs); + + return ret; + } + +-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size) ++ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size) + { + mm_segment_t oldfs; + ssize_t ret; + + oldfs = get_fs(); + set_fs(get_ds()); +- ret = vfs_write(file, data, size, &offset); ++ ret = kernel_write(file, data, size, &offset); + set_fs(oldfs); + + return ret; +diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.h ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h +--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.h 2017-08-17 02:46:07.000000000 -0700 ++++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h 2017-11-13 20:24:20.979690346 -0800 +@@ -13,9 +13,9 @@ + + void linux_file_close(struct file *file); + +-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size); ++ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size); + +-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size); ++ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size); + + #endif /* __LINUX_FILE_H__ */ + diff --git a/pkgs/os-specific/linux/numactl/default.nix b/pkgs/os-specific/linux/numactl/default.nix index 389e9514d7031..a5ed242e3230e 100644 --- a/pkgs/os-specific/linux/numactl/default.nix +++ b/pkgs/os-specific/linux/numactl/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { description = "Library and tools for non-uniform memory access (NUMA) machines"; homepage = http://oss.sgi.com/projects/libnuma/; license = licenses.gpl2; - platforms = platforms.linux; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; maintainers = with maintainers; [ wkennington ]; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index ba9b332e6d710..154fcbb6b844c 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -6,11 +6,11 @@ in { # Policy: use the highest stable version as the default (on our master). stable = generic { - version = "384.90"; - sha256_32bit = "0mq0h7g56m9zvr42ipy2664ph922754l0pdp8wpsmzfpkzg6g9lp"; - sha256_64bit = "1ggylpzw1j217w64rspw4fhvq25wz0la0hhy0b1kxjpwy8h6ipqd"; - settingsSha256 = "023jfbsxsbkjk78i9i6wd0sybv5hib2d7mfvy635w3anjcrsk5il"; - persistencedSha256 = "166ya8pnv4frvrsp0x5zkg8li85vipags03wy6dlf8s940al92z2"; + version = "387.22"; + sha256_32bit = "16v4ljq07hs1xw6amc7cmddvmmmd3swli3b617xs8f3qcw54ym1r"; + sha256_64bit = "1i0fmzsv4bkfxaw2wnnhj2z64gdyqd6xvxrsq7zj7gq7crcd6sma"; + settingsSha256 = "0wszyfj9hcib7dcfin22nsrfsm1mb4rq6ha5fma7sq68p175j1yk"; + persistencedSha256 = "0wrkmw8gw780vcl0s0d0vd8niaf741ji5sggxxqb1aa1w61rjf0d"; }; beta = generic { diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index e272ac14de0f3..acdc44c702f3b 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -44,7 +44,8 @@ stdenv.mkDerivation rec { buildInputs = [ jansson libXv libXrandr libvdpau nvidia_x11 gtk2 dbus ] ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ]; - NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ]; +# This next line makes the nvidia-settings binary fail to compile as of version 387.22 +# NIX_LDFLAGS = [ "-lvdpau" "-lXrandr" "-lXv" "-lnvidia-ml" ]; makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 9ca48ccaf057f..9fe331e6cb12f 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip , gawk, utillinux, xorg, glib, dbus_glib, zlib , kernel ? null, libsOnly ? false +, undmg, fetchurl }: assert (!libsOnly) -> kernel != null; @@ -10,57 +11,35 @@ let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version; x64 = if stdenv.system == "x86_64-linux" then true else if stdenv.system == "i686-linux" then false else abort "Parallels Tools for Linux only support {x86-64,i686}-linux targets"; - # We autostart user services by ourselves, because prlcc uses hardcoded paths. - autostart = [ { exec = "prlcc"; - description = "Parallels Control Center"; - } - { exec = "prldhd"; - description = "Parallels Control Center"; # not a mistake - } - { exec = "prl_wmouse_d"; - description = "Parallels Walking Mouse Daemon"; - } - { exec = "prlcp"; - description = "Parallels CopyPaste Tool"; - } - { exec = "prlsga"; - description = "Parallels Shared Guest Applications Tool"; - } - { exec = "prlshprof"; - description = "Parallels Shared Profile Tool"; - } - ]; in stdenv.mkDerivation rec { - version = "10.0.2.27712"; + version = "${prl_major}.2.1-41615"; + prl_major = "12"; name = "prl-tools-${version}"; - src = requireFile rec { - name = "prl-tools-lin.iso"; - sha256 = "07960jvyv7gihjlg922znjm6db6l6bd23x9mg6ympwibzf2mylmx"; - message = '' - Please, place Parallels Tools for Linux image into Nix store - using either - nix-store --add-fixed sha256 ${name} - or - nix-prefetch-url file://path/to/${name} - ''; + # We download the full distribution to extract prl-tools-lin.iso from + # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso + src = fetchurl { + url = "https://download.parallels.com/desktop/v${prl_major}/${version}/ParallelsDesktop-${version}.dmg"; + sha256 = "1jwzwif69qlhmfky9kigjaxpxfj0lyrl1iyrpqy4iwqvajdgbbym"; }; - hardeningDisable = [ "pic" ]; + hardeningDisable = [ "pic" "format" ]; # also maybe python2 to generate xorg.conf - nativeBuildInputs = [ p7zip ] ++ lib.optionals (!libsOnly) [ makeWrapper ]; + nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ]; inherit libsOnly; unpackPhase = '' - 7z x $src - export sourceRoot=. + undmg < "${src}" + + export sourceRoot=prl-tools-build + 7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso" -o$sourceRoot if test -z "$libsOnly"; then - ( cd kmods; tar -xaf prl_mod.tar.gz ) + ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz ) fi - ( cd tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz ) + ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz ) ''; kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version; @@ -88,11 +67,6 @@ stdenv.mkDerivation rec { stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ] ++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]); - desktops = map (x: substituteAll ({ - src = ./autostart.desktop; - name = x.exec + ".desktop"; - version = version; - } // x)) autostart; installPhase = '' if test -z "$libsOnly"; then @@ -124,7 +98,7 @@ stdenv.mkDerivation rec { patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "$out/lib:$libPath" \ - $i + $i || true done mkdir -p $out/bin @@ -145,11 +119,6 @@ stdenv.mkDerivation rec { sed 's,/bin/bash,${stdenv.shell},g' $i > $out/lib/udev/rules.d/$i done - mkdir -p $out/share/autostart - for i in $desktops; do - cat $i | sed "s,^Exec=,Exec=$out/bin/," > $out/share/autostart/$(basename $i) - done - ( cd xorg.${xorgVer} # Install the X modules. @@ -189,8 +158,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Parallels Tools for Linux guests"; - homepage = http://parallels.com; - platforms = platforms.linux; + homepage = https://parallels.com; + platforms = [ "i686-linux" "x86_64-linux" ]; license = licenses.unfree; # I was making this package blindly and requesting testing from the real user, # so I can't even test it by myself and won't provide future updates. diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix index 52d7446e48cbc..db494ec2493fa 100644 --- a/pkgs/os-specific/linux/s6-linux-utils/default.nix +++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -2,7 +2,7 @@ let - version = "2.2.0.0"; + version = "2.4.0.2"; in stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz"; - sha256 = "1y9mva7wk1ca2djq3qjh7hz756zk57yv7ljdnldn7k7jzfmlaxsq"; + sha256 = "0245rmk7wfyyfsi4g7f0niprwlvqlwkbyjxflb8kkbvhwfdavqip"; }; dontDisableStatic = true; diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index b29573179f85d..b2d090fa7ea20 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -13,6 +13,7 @@ let common = { version , sha256 , rev ? "spl-${version}" + , broken ? false } @ args : stdenv.mkDerivation rec { name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; @@ -52,6 +53,8 @@ let kernel. ''; + inherit broken; + homepage = http://zfsonlinux.org/; platforms = platforms.linux; license = licenses.gpl2Plus; @@ -65,11 +68,13 @@ in splStable = common { version = "0.7.3"; sha256 = "0j8mb9ky3pjz9hnz5w6fajpzajl15jq3p0xvxb6lhpqj3rjzsqxb"; + + broken = kernel != null && stdenv.lib.versionAtLeast kernel.version "4.14"; }; splUnstable = common { - version = "2017-10-16"; - rev = "28920ea3346c1c905c5f727ea3e54297e6257568"; - sha256 = "0m42na009ivb9q9gz15ra94wqx5xdw18waanm56aqzrjxbqqa3ll"; + version = "2017-11-16"; + rev = "ed19bccfb651843fa208232b3a2d3d22a4152bc8"; + sha256 = "08ihjbf5fhcnhq9zavcwswg9djlbalbx1bil4rcv6i3d617wammb"; }; } diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 7c8ffef86eec8..aeda85584e79d 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -15,8 +15,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "nixos"; repo = "systemd"; - rev = "ba777535a890c2a2b7677dfacc63e12c578b9b3f"; - sha256 = "1vb45fbqkrgczfwkb0y07ldnwhjqk2sh446hzfkdn8hrwl1lifg5"; + rev = "eef5613fda5"; + sha256 = "0wgh5y319v56hcs82mhs58ipb100cz4x41vz3kh4bq1n7sx88cdz"; }; outputs = [ "out" "lib" "man" "dev" ]; diff --git a/pkgs/os-specific/linux/usbip/default.nix b/pkgs/os-specific/linux/usbip/default.nix new file mode 100644 index 0000000000000..497b5c191669d --- /dev/null +++ b/pkgs/os-specific/linux/usbip/default.nix @@ -0,0 +1,22 @@ +{ stdenv, kernel, udev, autoconf, automake, libtool }: + +stdenv.mkDerivation rec { + name = "usbip-${kernel.name}"; + + src = kernel.src; + + nativeBuildInputs = [ autoconf automake libtool ]; + buildInputs = [ udev ]; + + preConfigure = '' + cd tools/usb/usbip + ./autogen.sh + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/torvalds/linux/tree/master/tools/usb/usbip; + description = "allows to pass USB device from server to client over the network"; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/virtualbox/default.nix b/pkgs/os-specific/linux/virtualbox/default.nix index 593c4400b7f48..5bec71a109077 100644 --- a/pkgs/os-specific/linux/virtualbox/default.nix +++ b/pkgs/os-specific/linux/virtualbox/default.nix @@ -7,6 +7,14 @@ stdenv.mkDerivation { "fortify" "pic" "stackprotector" ]; + patches = [ + ./fix_kerndir.patch + ./fix_kbuild.patch + ]; + + KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + INCLUDE_BASE = "${virtualbox.modsrc}"; + makeFlags = [ "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" diff --git a/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch b/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch new file mode 100644 index 0000000000000..242a905c1a05a --- /dev/null +++ b/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch @@ -0,0 +1,85 @@ +diff --git a/vboxdrv/Makefile b/vboxdrv/Makefile +index e262c61..4af8dac 100644 +--- a/vboxdrv/Makefile ++++ b/vboxdrv/Makefile +@@ -131,7 +131,7 @@ ifdef VBOX_WITH_NATIVE_DTRACE + MOD_OBJS += SUPDrvDTrace.o + endif + +-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) ++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux) + ifdef VBOX_WITH_NATIVE_DTRACE + MOD_INCL += -I/usr/include/linux -I/usr/include + endif +@@ -157,7 +157,7 @@ ifdef VBOX_WITH_TEXT_MODMEM_HACK + endif + + # build defs +-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h \ ++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h \ + -fno-omit-frame-pointer -fno-pie + + include $(obj)/Makefile.include.footer +diff --git a/vboxnetadp/Makefile b/vboxnetadp/Makefile +index e262c61..4af8dac 100644 +--- a/vboxnetadp/Makefile ++++ b/vboxnetadp/Makefile +@@ -34,7 +34,7 @@ MOD_OBJS += math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif + +-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) ++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux) + MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \ + -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \ + -Wno-declaration-after-statement +@@ -59,6 +59,6 @@ ifdef VBOX_USE_INSERT_PAGE + endif + + # build defs +-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie ++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie + + include $(obj)/Makefile.include.footer +diff --git a/vboxnetflt/Makefile b/vboxnetflt/Makefile +index e262c61..4af8dac 100644 +--- a/vboxnetflt/Makefile ++++ b/vboxnetflt/Makefile +@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif + +-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) ++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux) + MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \ + -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \ + -Wno-declaration-after-statement +@@ -63,6 +63,6 @@ ifdef VBOX_USE_INSERT_PAGE + endif + + # build defs +-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie ++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie + + include $(obj)/Makefile.include.footer +diff --git a/vboxpci/Makefile b/vboxpci/Makefile +index e262c61..4af8dac 100644 +--- a/vboxpci/Makefile ++++ b/vboxpci/Makefile +@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif + +-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) ++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux) + MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \ + -DRT_WITH_VBOX -DVBOX_WITH_HARDENING + ifeq ($(BUILD_TARGET_ARCH),amd64) +@@ -60,6 +60,6 @@ ifdef VBOX_USE_INSERT_PAGE + endif + + # build defs +-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie ++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie + + include $(obj)/Makefile.include.footer diff --git a/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch b/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch new file mode 100644 index 0000000000000..70ddbbb2ebd5b --- /dev/null +++ b/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch @@ -0,0 +1,48 @@ +diff --git a/vboxdrv/Makefile.include.header b/vboxdrv/Makefile.include.header +index 8df1eb4d25..5a3e5604e7 100644 +--- a/vboxdrv/Makefile.include.header ++++ b/vboxdrv/Makefile.include.header +@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) + endif # neq($(KERNELRELEASE),) + + # Kernel build folder +-KERN_DIR := /lib/modules/$(KERN_VER)/build + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: unable to find the headers of the Linux kernel to build against. \ + Specify KERN_VER=<version> and run Make again) +diff --git a/vboxnetadp/Makefile.include.header b/vboxnetadp/Makefile.include.header +index 8df1eb4d25..5a3e5604e7 100644 +--- a/vboxnetadp/Makefile.include.header ++++ b/vboxnetadp/Makefile.include.header +@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) + endif # neq($(KERNELRELEASE),) + + # Kernel build folder +-KERN_DIR := /lib/modules/$(KERN_VER)/build + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: unable to find the headers of the Linux kernel to build against. \ + Specify KERN_VER=<version> and run Make again) +diff --git a/vboxnetflt/Makefile.include.header b/vboxnetflt/Makefile.include.header +index 8df1eb4d25..5a3e5604e7 100644 +--- a/vboxnetflt/Makefile.include.header ++++ b/vboxnetflt/Makefile.include.header +@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) + endif # neq($(KERNELRELEASE),) + + # Kernel build folder +-KERN_DIR := /lib/modules/$(KERN_VER)/build + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: unable to find the headers of the Linux kernel to build against. \ + Specify KERN_VER=<version> and run Make again) +diff --git a/vboxpci/Makefile.include.header b/vboxpci/Makefile.include.header +index 8df1eb4d25..5a3e5604e7 100644 +--- a/vboxpci/Makefile.include.header ++++ b/vboxpci/Makefile.include.header +@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),) + endif # neq($(KERNELRELEASE),) + + # Kernel build folder +-KERN_DIR := /lib/modules/$(KERN_VER)/build + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: unable to find the headers of the Linux kernel to build against. \ + Specify KERN_VER=<version> and run Make again) diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index cc1890438f963..e1decf1d13d16 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10"; let name = "wireguard-${version}"; - version = "0.0.20171101"; + version = "0.0.20171111"; src = fetchurl { url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz"; - sha256 = "0983aivw7wc5qq8didh4bdbdxcmddbpganf0z1xnqmjyls168sq9"; + sha256 = "0mqix3v4qqwwa7hcd0h5rcwhc7yvm9jcl8b3v1vc4sj0m637fd6r"; }; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index ccec513a47047..e932f5163750f 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -159,10 +159,10 @@ in { incompatibleKernelVersion = null; # this package should point to a version / git revision compatible with the latest kernel release - version = "2017-10-16"; + version = "2017-11-16"; - rev = "7670f721fc82e6cdcdd31f83760a79b6f2f2b998"; - sha256 = "0ask9d9936s7mhs9q5wzvn6c8fd322i76hs2n7fajfk17b1a1lkj"; + rev = "d4a72f23863382bdf6d0ae33196f5b5decbc48fd"; + sha256 = "0q2gkkj11hy8m8cjd70g99bs69ldxvc17ym0x1pgwvs4722hzpha"; isUnstable = true; extraPatches = [ diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix index b2b23f2004558..8befa51566dec 100644 --- a/pkgs/os-specific/windows/jom/default.nix +++ b/pkgs/os-specific/windows/jom/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { QTDIR = qt48; crossAttrs = { - # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.prefix}windres"; + # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres"; QTDIR = qt48.crossDrv; preBuild = '' export NIX_CROSS_CFLAGS_COMPILE=-fpermissive |