diff options
Diffstat (limited to 'pkgs/os-specific')
34 files changed, 426 insertions, 51 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix new file mode 100644 index 000000000000..512ec6253c78 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Librpcsvc/default.nix @@ -0,0 +1,24 @@ +{ stdenv, appleDerivation, developer_cmds }: + +appleDerivation rec { + phases = [ "unpackPhase" "installPhase" ]; + + buildInputs = [ developer_cmds ]; + + installPhase = '' + export DSTROOT=$out + export SRCROOT=$PWD + export OBJROOT=$PWD + + . ./xcodescripts/install_rpcsvc.sh + + mv $out/usr/* $out + rmdir $out/usr/ + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ matthewbauer ]; + platforms = platforms.darwin; + license = licenses.apsl20; + }; +} 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 aac213bb8047..92c54d9b679e 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -56,9 +56,8 @@ appleDerivation rec { # The startup object files cp ${Csu}/lib/* $out/lib - # Narrowly speaking, these would work if we re-exported libsystem_c and libsystem_kernel, - # but we also need to run the original central libsystem constructor (which initializes - # a ton of crap for its consitutent libraries) so we link against the central library here. + # We can't re-exported libsystem_c and libsystem_kernel directly, + # so we link against the central library here. mkdir -p $out/lib/system ld -macosx_version_min 10.7 -arch x86_64 -dylib \ -o $out/lib/system/libsystem_c.dylib \ @@ -70,8 +69,14 @@ appleDerivation rec { /usr/lib/libSystem.dylib \ -reexported_symbols_list ${./system_kernel_symbols} - libs=$(otool -arch x86_64 -L /usr/lib/libSystem.dylib | tail -n +3 | awk '{ print $1 }') + # The umbrella libSystem also exports some symbols, + # but we don't want to pull in everything from the other libraries. + ld -macosx_version_min 10.7 -arch x86_64 -dylib \ + -o $out/lib/libSystem_internal.dylib \ + /usr/lib/libSystem.dylib \ + -reexported_symbols_list ${./system_symbols} + libs=$(otool -arch x86_64 -L /usr/lib/libSystem.dylib | tail -n +3 | awk '{ print $1 }') for i in $libs; do if [ "$i" != "/usr/lib/system/libsystem_kernel.dylib" ] && [ "$i" != "/usr/lib/system/libsystem_c.dylib" ]; then @@ -79,14 +84,13 @@ appleDerivation rec { fi done - ld -macosx_version_min 10.7 \ - -arch x86_64 \ - -dylib \ + ld -macosx_version_min 10.7 -arch x86_64 -dylib \ -o $out/lib/libSystem.B.dylib \ -compatibility_version 1.0 \ -current_version 1226.10.1 \ -reexport_library $out/lib/system/libsystem_c.dylib \ -reexport_library $out/lib/system/libsystem_kernel.dylib \ + -reexport_library $out/lib/libSystem_internal.dylib \ $args ln -s libSystem.B.dylib $out/lib/libSystem.dylib diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_symbols new file mode 100644 index 000000000000..75a00acac493 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_symbols @@ -0,0 +1 @@ +_mach_init_routine diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix new file mode 100644 index 000000000000..254b4a231c22 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix @@ -0,0 +1,47 @@ +{ stdenv, appleDerivation, fetchurl, xcbuild, libcxx }: + +appleDerivation { + + # pkill requires special private headers that are unavailable in + # NixPkgs. These ones are needed: + # - xpc/xpxc.h + # - os/base_private.h + # - _simple.h + # We disable it here for now. TODO: build pkill inside adv_cmds + + # We also disable locale here because of some issues with a missing + # "lstdc++". + patchPhase = '' + substituteInPlace adv_cmds.xcodeproj/project.pbxproj \ + --replace "FD201DC214369B4200906237 /* pkill.c in Sources */," "" \ + --replace "FDF278D60FC6204E00D7A3C6 /* locale.cc in Sources */," "" + ''; + + # temporary install phase until xcodebuild has "install" support + installPhase = '' + mkdir -p $out/bin/ + install adv_cmds-*/Build/Products/Release/* $out/bin/ + + for n in 1 8; do + mkdir -p $out/share/man/man$n + install */*.$n $out/share/man/man$n + done + + mkdir -p $out/System/Library/LaunchDaemons + install fingerd/finger.plist $out/System/Library/LaunchDaemons + + # from variant_links.sh + # ln -s $out/bin/pkill $out/bin/pgrep + # ln -s $out/share/man/man1/pkill.1 $out/share/man/man1/pgrep.1 + ''; + + buildInputs = [ xcbuild libcxx ]; + + # temporary fix for iostream issue + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix new file mode 100644 index 000000000000..9e8b78e57d6c --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix @@ -0,0 +1,29 @@ +{ stdenv, appleDerivation, fetchurl, xcbuild }: + +appleDerivation rec { + buildInputs = [ xcbuild ]; + + # These PBXcp calls should be patched in xcbuild to allow them to + # automatically be prefixed. + patchPhase = '' + substituteInPlace basic_cmds.xcodeproj/project.pbxproj \ + --replace "dstPath = /usr/share/man/man1;" "dstPath = $out/share/man/man1;" \ + --replace "dstPath = /usr/share/man/man5;" "dstPath = $out/share/man/man5;" + ''; + + # temporary install phase until xcodebuild has "install" support + installPhase = '' + mkdir -p $out/bin/ + install basic_cmds-*/Build/Products/Release/* $out/bin/ + + for n in 1; do + mkdir -p $out/share/man/man$n + install */*.$n $out/share/man/man$n + done + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index 8625ac72c104..c63d7465a13d 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchzip, pkgs }: +{ stdenv, fetchurl, fetchzip, pkgs, fetchurlBoot }: let # This attrset can in theory be computed automatically, but for that to work nicely we need @@ -34,6 +34,11 @@ let libutil = "43"; libunwind = "35.3"; + Librpcsvc = "26"; + developer_cmds= "62"; + network_cmds = "481.20.1"; + basic_cmds = "55"; + adv_cmds = "163"; }; "osx-10.11.5" = { Libc = "1082.50.1"; # 10.11.6 still unreleased :/ @@ -123,7 +128,14 @@ let }; }; - fetchApple = version: sha256: name: fetchurl { + fetchApple = version: sha256: name: let + # When cross-compiling, fetchurl depends on libiconv, resulting + # in an infinite recursion without this. It's not clear why this + # worked fine when not cross-compiling + fetch = if name == "libiconv" + then fetchurlBoot + else fetchurl; + in fetch { url = "http://www.opensource.apple.com/tarballs/${name}/${name}-${versions.${version}.${name}}.tar.gz"; inherit sha256; }; @@ -214,6 +226,11 @@ let removefile = applePackage "removefile" "osx-10.11.6" "1b6r74ry3k01kypvlaclf33fha15pcm0kzx9zrymlg66wg0s0i3r" {}; Security = applePackage "Security" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; xnu = applePackage "xnu" "osx-10.11.6" "0yhziq4dqqcbjpf6vyqn8xhwva2zb525gndkx8cp8alzwp76jnr9" {}; + Librpcsvc = applePackage "Librpcsvc" "osx-10.11.6" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {}; + adv_cmds = applePackage "adv_cmds/xcode.nix" "osx-10.11.6" "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {}; + basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {}; + developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {}; + network_cmds = applePackage "network_cmds" "osx-10.11.6" "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {}; 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/developer_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix new file mode 100644 index 000000000000..67fbf83496ed --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, appleDerivation, xcbuild }: + +appleDerivation rec { + buildInputs = [ xcbuild ]; + + patchPhase = '' + substituteInPlace rpcgen/rpc_main.c \ + --replace "/usr/bin/cpp" "${stdenv.cc}/bin/cpp" + ''; + + # temporary install phase until xcodebuild has "install" support + installPhase = '' + mkdir -p $out/bin/ + install developer_cmds-*/Build/Products/Release/* $out/bin/ + + for n in 1; do + mkdir -p $out/share/man/man$n + install */*.$n $out/share/man/man$n + done + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix new file mode 100644 index 000000000000..357a87689a03 --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix @@ -0,0 +1,43 @@ +{ stdenv, appleDerivation, xcbuild, openssl, Librpcsvc, xnu, libpcap, developer_cmds }: + +appleDerivation rec { + buildInputs = [ xcbuild openssl xnu Librpcsvc libpcap developer_cmds ]; + + NIX_CFLAGS_COMPILE = " -I./unbound -I${xnu}/Library/Frameworks/System.framework/Headers/"; + + # "spray" requires some files that aren't compiling correctly in xcbuild. + # "rtadvd" seems to fail with some missing constants. + # We disable spray and rtadvd here for now. + patchPhase = '' + substituteInPlace network_cmds.xcodeproj/project.pbxproj \ + --replace "7294F0EA0EE8BAC80052EC88 /* PBXTargetDependency */," "" \ + --replace "7216D34D0EE89FEC00AE70E4 /* PBXTargetDependency */," "" + ''; + + # temporary install phase until xcodebuild has "install" support + installPhase = '' + mkdir -p $out/bin/ + install network_cmds-*/Build/Products/Release/* $out/bin/ + + for n in 1 5; do + mkdir -p $out/share/man/man$n + install */*.$n $out/share/man/man$n + done + + # TODO: patch files to load from $out/ instead of /usr/ + + # mkdir -p $out/etc/ + # install rtadvd.tproj/rtadvd.conf ip6addrctl.tproj/ip6addrctl.conf $out/etc/ + + # mkdir -p $out/local/OpenSourceVersions/ + # install network_cmds.plist $out/local/OpenSourceVersions/ + + # mkdir -p $out/System/Library/LaunchDaemons + # install kdumpd.tproj/com.apple.kdumpd.plist $out/System/Library/LaunchDaemons + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} diff --git a/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch b/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch new file mode 100644 index 000000000000..9aae2be1d033 --- /dev/null +++ b/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch @@ -0,0 +1,98 @@ +diff --git a/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp b/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp +index 09c0e12..ac6b085 100644 +--- a/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp ++++ b/cctools/ld64/src/ld/parsers/textstub_dylib_file.cpp +@@ -187,6 +187,7 @@ struct DynamicLibrary { + ld::File::ObjcConstraint _objcConstraint; + Options::Platform _platform; + std::vector<Token> _allowedClients; ++ std::vector<Token> _allowableClients; + std::vector<Token> _reexportedLibraries; + std::vector<Token> _symbols; + std::vector<Token> _classes; +@@ -246,6 +247,14 @@ class TBDFile { + }); + } + ++ void parseAllowableClients(DynamicLibrary& lib) { ++ if ( !hasOptionalToken("allowable-clients") ) ++ return; ++ parseFlowSequence([&](Token name) { ++ lib._allowableClients.emplace_back(name); ++ }); ++ } ++ + void parseReexportedDylibs(DynamicLibrary& lib) { + if ( !hasOptionalToken("re-exports") ) + return; +@@ -306,6 +315,21 @@ class TBDFile { + return false; + } + ++ void skipUUIDs(DynamicLibrary& lib) { ++ expectToken("uuids"); ++ while ( true ) { ++ auto token = next(); ++ if ( token == "]" ) ++ break; ++ } ++ } ++ ++ void skipParentUmbrella(DynamicLibrary& lib) { ++ if (!hasOptionalToken("parent-umbrella")) ++ return; ++ next(); ++ } ++ + void parsePlatform(DynamicLibrary& lib) { + expectToken("platform"); + +@@ -410,6 +434,7 @@ class TBDFile { + } + + parseAllowedClients(lib); ++ parseAllowableClients(lib); + parseReexportedDylibs(lib); + parseSymbols(lib); + if ( !hasOptionalToken("-") ) +@@ -455,17 +480,21 @@ class TBDFile { + return result.front(); + } + +- void parseDocument(DynamicLibrary& lib, std::string &requestedArchName) { ++ void parseDocument(DynamicLibrary& lib, std::string &requestedArchName, bool isTbdV2) { + auto selectedArchName = parseAndSelectArchitecture(requestedArchName); + if (selectedArchName.empty()) + throwf("invalid arch"); + ++ if(isTbdV2) ++ skipUUIDs(lib); + parsePlatform(lib); + parseInstallName(lib); + parseCurrentVersion(lib); + parseCompatibilityVersion(lib); + parseSwiftVersion(lib); + parseObjCConstraint(lib); ++ if(isTbdV2) ++ skipParentUmbrella(lib); + parseExportsBlock(lib, selectedArchName); + } + +@@ -476,7 +505,8 @@ public: + _tokenizer.reset(); + DynamicLibrary lib; + expectToken("---"); +- parseDocument(lib, requestedArchName); ++ auto isTbdV2 = hasOptionalToken("!tapi-tbd-v2"); ++ parseDocument(lib, requestedArchName, isTbdV2); + expectToken("..."); + return lib; + } +@@ -486,6 +516,7 @@ public: + auto token = next(); + if ( token != "---" ) + return false; ++ hasOptionalToken("!tapi-tbd-v2"); + return !parseAndSelectArchitecture(requestedArchName).empty(); + } + diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index 2f13277d70c7..41fb090710cb 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -25,6 +25,7 @@ let ] ++ stdenv.lib.optionals stdenv.isDarwin [ # See https://github.com/tpoechtrager/cctools-port/issues/24. Remove when that's fixed. ./undo-unknown-triple.patch + ./ld-tbd-v2.patch ]; enableParallelBuilding = true; diff --git a/pkgs/os-specific/darwin/ios-cross/default.nix b/pkgs/os-specific/darwin/ios-cross/default.nix new file mode 100644 index 000000000000..1d26a8b350be --- /dev/null +++ b/pkgs/os-specific/darwin/ios-cross/default.nix @@ -0,0 +1,63 @@ +{ runCommand +, lib +, llvm +, clang +, binutils +, stdenv +, coreutils +, gnugrep +}: + +/* As of this writing, known-good prefix/arch/simulator triples: + * aarch64-apple-darwin14 | arm64 | false + * arm-apple-darwin10 | armv7 | false + * i386-apple-darwin11 | i386 | true + * x86_64-apple-darwin14 | x86_64 | true + */ + +{ prefix, arch, simulator ? false }: let + sdkType = if simulator then "Simulator" else "OS"; + + sdk = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${sdkType}.platform/Developer/SDKs/iPhone${sdkType}10.0.sdk"; + + /* TODO: Properly integrate with gcc-cross-wrapper */ + wrapper = import ../../../build-support/cc-wrapper { + inherit stdenv coreutils gnugrep; + nativeTools = false; + nativeLibc = false; + inherit binutils; + libc = runCommand "empty-libc" {} "mkdir -p $out/{lib,include}"; + cc = clang; + extraBuildCommands = '' + # ugh + tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp + mv cc-cflags.tmp $out/nix-support/cc-cflags + echo "-target ${prefix} -arch ${arch} -idirafter ${sdk}/usr/include ${if simulator then "-mios-simulator-version-min=7.0" else "-miphoneos-version-min=7.0"}" >> $out/nix-support/cc-cflags + + # Purposefully overwrite libc-ldflags-before, cctools ld doesn't know dynamic-linker and cc-wrapper doesn't do cross-compilation well enough to adjust + echo "-arch ${arch} -L${sdk}/usr/lib ${lib.optionalString simulator "-L${sdk}/usr/lib/system "}-i${if simulator then "os_simulator" else "phoneos"}_version_min 7.0.0" > $out/nix-support/libc-ldflags-before + ''; + }; +in { + cc = runCommand "${prefix}-cc" {} '' + mkdir -p $out/bin + ln -sv ${wrapper}/bin/clang $out/bin/${prefix}-cc + mkdir -p $out/nix-support + echo ${llvm} > $out/nix-support/propagated-native-build-inputs + cat > $out/nix-support/setup-hook <<EOF + if test "\$dontSetConfigureCross" != "1"; then + configureFlags="\$configureFlags --host=${prefix}" + fi + EOF + fixupPhase + ''; + + binutils = runCommand "${prefix}-binutils" {} '' + mkdir -p $out/bin + ln -sv ${wrapper}/bin/ld $out/bin/${prefix}-ld + for prog in ar nm ranlib; do + ln -s ${binutils}/bin/$prog $out/bin/${prefix}-$prog + done + fixupPhase + ''; +} diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index a839158d0cfd..b525cbfc261b 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.1"; + name = "alsa-lib-1.1.2"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2" "http://alsa.cybermirror.org/lib/${name}.tar.bz2" ]; - sha256 = "0sa24fy3qf3jg63xxvfb7j8halj1qmdbcak2lyfx8bpd8hqnriwa"; + sha256 = "1mk1v2av6ibyydgr6f2mxrwy7clgnf0c68s9y2zvh1ibi7csr3fk"; }; patches = [ diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index 22c3d4647747..7f065a1b9b06 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.0"; + name = "alsa-plugins-1.1.1"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2" "http://alsa.cybermirror.org/plugins/${name}.tar.bz2" ]; - sha256 = "3b83c329953bef99f5fe25ae04ec4a455fe6514939f3b45a5321966652b2c9ee"; + sha256 = "1w81z5jlwqhd1l2m7qrq69lc4k9dnrg1wn52jsl2hrf3hbhd394f"; }; # ToDo: a52, etc.? diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index d47c9fa2c1a1..3c2b53e0e3f1 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.0"; + version = "1.1.2"; src = fetchurl { urls = [ "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2" "http://alsa.cybermirror.org/utils/${name}.tar.bz2" ]; - sha256 = "3b1c3135b76e14532d3dd23fb15759ddd7daf9ffbc183f7a9a0a3a86374748f1"; + sha256 = "0wcha78c2sm8qqk5r3w83cvm8fp6fb1zpd35kmcm24kxhz007xks"; }; patchPhase = '' diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index 885aec52dc79..6a5dced454c0 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }: let - ver = "2016.3"; + ver = "2016.4"; in stdenv.mkDerivation rec { name = "alfred-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "0a92n570hrsh58ivr29c0lkjs7y6zxi1hk0l5mvaqs7k3w7z691l"; + sha256 = "0p8x8m1bdk560d64v010ck7dgm301cy7panxijczcf4p74clh835"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix index 279261745fbf..4fd022a418bb 100644 --- a/pkgs/os-specific/linux/batman-adv/batctl.nix +++ b/pkgs/os-specific/linux/batman-adv/batctl.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, libnl }: let - ver = "2016.3"; + ver = "2016.4"; in stdenv.mkDerivation rec { name = "batctl-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "0ckh11dw9l6kljwa953384y295jd36x4kwzcw5wpplnx7rkg42cj"; + sha256 = "1ybn2akwj29hsjps6qgvg1ncf238002d3r7fik627ig8cgmx0wi4"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix index 3170569d5634..ce0ef1ad1055 100644 --- a/pkgs/os-specific/linux/batman-adv/default.nix +++ b/pkgs/os-specific/linux/batman-adv/default.nix @@ -2,14 +2,14 @@ #assert stdenv.lib.versionOlder kernel.version "3.17"; -let base = "batman-adv-2016.3"; in +let base = "batman-adv-2016.4"; in stdenv.mkDerivation rec { name = "${base}-${kernel.version}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz"; - sha256 = "0rzhgj0g2hwlrzr8l9ymj6s60vk2zpk1a8x1lm4lhnhsqs9qj4kf"; + sha256 = "1sshl700gwfnqih95q1kp7sya71svp8px2rn14dbb790hgfkc4mw"; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index de318a9474a0..b54298124415 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -5,11 +5,11 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "bluez-5.40"; + name = "bluez-5.43"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.xz"; - sha256 = "09ywk3lvgis0nbi0d5z8d4qp5r33lzwnd6bdakacmbsm420qpnns"; + sha256 = "05cdnpz0w2lwq2x5ba87q1h2wgb4lfnpbnbh6p7499hx59fw1j8n"; }; pythonPath = with pythonPackages; diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index c3842959883a..5814c184e660 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation { (fetchpatch { name = "linux-4.8.patch"; url = "https://aur.archlinux.org/cgit/aur.git/plain/004-linux48.patch?h=broadcom-wl-dkms"; - sha256 = "0s8apf6l3qm9kln451g4z0pr13f4jdgyval1vfl2abg0dqc5xfhs"; + sha256 = "1g1gazxx67kxyw242cli6bf62il7ikzmf0w6v14k44j6b4bihcax"; }) ]; diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e650b7abc1c7..ab5af38d8b67 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -27,6 +27,8 @@ with stdenv.lib; MODULE_COMPRESS_XZ y ''} + KERNEL_XZ y + # Debugging. DEBUG_KERNEL y TIMER_STATS y diff --git a/pkgs/os-specific/linux/kernel/grsecurity-modinst.patch b/pkgs/os-specific/linux/kernel/grsecurity-modinst.patch new file mode 100644 index 000000000000..275d96fbb29b --- /dev/null +++ b/pkgs/os-specific/linux/kernel/grsecurity-modinst.patch @@ -0,0 +1,12 @@ +diff -ruN a/scripts/Makefile.modinst b/scripts/Makefile.modinst +--- a/scripts/Makefile.modinst 2016-11-15 07:49:06.000000000 +0100 ++++ b/scripts/Makefile.modinst 2016-11-18 13:45:07.977270500 +0100 +@@ -9,7 +9,7 @@ + + # + +-__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) ++__modules := $(shell find $(MODVERDIR) -name '*.mod' -exec grep -h '\.ko$$' '{}' \; | sort) + modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) + + PHONY += $(modules) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index e2d184c2c673..0fad9a578eff 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, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.31"; + version = "4.4.34"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "03fzi08xs9xp7r7bla6n3ykr81a365n8c5br1x7vwpgpacm63rk6"; + sha256 = "1xrk7adgapr4wpid6l6s05cypy3r28skynajy2h73xciradaqs9b"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.8.nix b/pkgs/os-specific/linux/kernel/linux-4.8.nix index a1f5230ac002..e0e8fbaf95e8 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.8.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.8.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.8.7"; + version = "4.8.10"; extraMeta.branch = "4.8"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "03qgqqy1kxdqpb844g2yfyq45xy77110hrz8ddqy0rlkia8kzx8m"; + sha256 = "1i3hydxjl3zz4i3v2spnv5y5pidmwgiyc10q6rlwvf0bs8aynh53"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix index a1f5230ac002..e0e8fbaf95e8 100644 --- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix +++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.8.7"; + version = "4.8.10"; extraMeta.branch = "4.8"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "03qgqqy1kxdqpb844g2yfyq45xy77110hrz8ddqy0rlkia8kzx8m"; + sha256 = "1i3hydxjl3zz4i3v2spnv5y5pidmwgiyc10q6rlwvf0bs8aynh53"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix index 199ff9122cbe..a037343751ca 100644 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix @@ -7,7 +7,7 @@ import ./generic.nix (args // rec { extraMeta = { branch = "4.1"; - maintainers = stdenv.lib.maintainers.layus; + maintainers = [ stdenv.lib.maintainers.layus ]; }; src = fetchurl { diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index bb79494e171e..5838d2db1faf 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9-rc4"; - modDirVersion = "4.9.0-rc4"; + version = "4.9-rc5"; + modDirVersion = "4.9.0-rc5"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; - sha256 = "09w3milw95916g1mc19phw6w51kma7f1i3dfjar2ijnrcri3hvmx"; + sha256 = "0fpfczs13dwsy6nf0a0838399l34pxwxxljs472scvx9jbarm9j9"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 3d4ba5d2b58d..999b9dc260a0 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -86,9 +86,9 @@ rec { }; grsecurity_testing = grsecPatch - { kver = "4.8.7"; - grrev = "201611102210"; - sha256 = "1n7avhvzy4njf9wky38l99i18v1rr05bgspivnp440j8d6nh60nh"; + { kver = "4.8.10"; + grrev = "201611232213"; + sha256 = "13v3h6cjd5qz57rf242kpxhz5rk094lg5kyf86a852fk58apk6b6"; }; # This patch relaxes grsec constraints on the location of usermode helpers, @@ -99,6 +99,14 @@ rec { patch = ./grsecurity-nixos-kmod.patch; }; + # A temporary work-around for execvp: arglist too long error during + # module_install. Without this, no modules are installed into the + # resulting output. + grsecurity_modinst = + { name = "grsecurity-modinst"; + patch = ./grsecurity-modinst.patch; + }; + crc_regression = { name = "crc-backport-regression"; patch = ./crc-regression.patch; diff --git a/pkgs/os-specific/linux/mkinitcpio-nfs-utils/default.nix b/pkgs/os-specific/linux/mkinitcpio-nfs-utils/default.nix index f4e7ad1f2344..8887237b3046 100644 --- a/pkgs/os-specific/linux/mkinitcpio-nfs-utils/default.nix +++ b/pkgs/os-specific/linux/mkinitcpio-nfs-utils/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://archlinux.org/; + homepage = "https://archlinux.org/"; description = "ipconfig and nfsmount tools for root on NFS, ported from klibc"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/pam_pgsql/default.nix b/pkgs/os-specific/linux/pam_pgsql/default.nix index 42949a3557a6..10383a13e7e3 100644 --- a/pkgs/os-specific/linux/pam_pgsql/default.nix +++ b/pkgs/os-specific/linux/pam_pgsql/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, postgresql, libgcrypt, pam }: stdenv.mkDerivation rec { - version = "0.7.3.2"; name = "pam_pgsql-${version}"; + version = "0.7.3.2"; src = fetchFromGitHub { owner = "pam-pgsql"; diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix index 65cbf1c45890..1e4373f286c1 100644 --- a/pkgs/os-specific/linux/pax-utils/default.nix +++ b/pkgs/os-specific/linux/pax-utils/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "pax-utils-${version}"; - version = "1.1.6"; + version = "1.1.7"; src = fetchurl { url = "https://dev.gentoo.org/~vapier/dist/${name}.tar.xz"; - sha256 = "04hvsizzspfzfq6hhfif7ya9nwsc0cs6z6n2bq1zfh7agd8nqhzm"; + sha256 = "045dxgl4kkmq6205iw6fqyx3565gd607p3xpad5l9scdi3qdp6xv"; }; makeFlags = [ @@ -18,6 +18,6 @@ stdenv.mkDerivation rec { homepage = "https://dev.gentoo.org/~vapier/dist/"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice ]; + maintainers = with maintainers; [ thoughtpolice joachifm ]; }; } diff --git a/pkgs/os-specific/linux/paxtest/default.nix b/pkgs/os-specific/linux/paxtest/default.nix index 0c2fd9b6f86c..4611a3c09b77 100644 --- a/pkgs/os-specific/linux/paxtest/default.nix +++ b/pkgs/os-specific/linux/paxtest/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "paxtest-${version}"; - version = "0.9.14"; + version = "0.9.15"; src = fetchurl { url = "https://www.grsecurity.net/~spender/${name}.tar.gz"; - sha256 = "0j40h3x42k5mr5gc5np4wvr9cdf9szk2f46swf42zny8rlgxiskx"; + sha256 = "0zv6vlaszlik98gj9200sv0irvfzrvjn46rnr2v2m37x66288lym"; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index c86efe22f6ef..e84c964d675f 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -60,6 +60,5 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.gpl2Plus; maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ]; - broken = buildKernel && (kernel.features.grsecurity or false); }; } diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index 14974f6d43fc..9a378988608a 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -2,17 +2,15 @@ # module requires Linux >= 4.1 https://www.wireguard.io/install/#kernel-requirements assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "4.1"; -# module is incompatible with the PaX constification plugin -assert kernel != null -> !(kernel.features.grsecurity or false); let - name = "wireguard-unstable-${version}"; + name = "wireguard-experimental-${version}"; - version = "2016-10-25"; + version = "0.0.20161116.1"; src = fetchurl { - url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-experimental-0.0.20161025.tar.xz"; - sha256 = "09rhap3dzb8rcq1a1af9inf1qz7161yghafbgpbnd9dg016vhgs3"; + url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-experimental-${version}.tar.xz"; + sha256 = "1393p1fllxvl4j0c8qz35k39crmcwrp8rjwxwn1wyhhrks8rs3bk"; }; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index f2cf9eca4dc0..d7e406107b1b 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -97,6 +97,9 @@ stdenv.mkDerivation rec { # Fix pkgconfig. ln -s ../share/pkgconfig $out/lib/pkgconfig + + # Remove tests because they add a runtime dependency on gcc + rm -rf $out/share/zfs/zfs-tests ''; meta = { |