diff options
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch | 98 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/cctools/port.nix | 48 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/cctools/support-ios.patch | 13 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch | 17 | ||||
-rw-r--r-- | pkgs/os-specific/linux/alsa-lib/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/apparmor/default.nix | 8 | ||||
-rw-r--r-- | pkgs/os-specific/linux/iproute/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel-headers/default.nix | 48 | ||||
-rw-r--r-- | pkgs/os-specific/linux/v4l-utils/default.nix | 4 |
9 files changed, 40 insertions, 204 deletions
diff --git a/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch b/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch deleted file mode 100644 index 9aae2be1d033..000000000000 --- a/pkgs/os-specific/darwin/cctools/ld-tbd-v2.patch +++ /dev/null @@ -1,98 +0,0 @@ -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 bad17cf6de46..2bca1bcc1d75 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,18 +1,10 @@ -{ stdenv, fetchFromGitHub, autoconf, automake, libtool_2, autoreconfHook +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, autoreconfHook , libcxxabi, libuuid, llvm , libobjc ? null, maloader ? null -, enableDumpNormalizedLibArgs ? false }: let - # We need to use an old version of cctools-port to support linking TBD files - # in the iOS SDK. Note that this only provides support for SDK versions up to - # 10.x. For 11.0 and higher we will need to upgrade to a newer cctools than the - # default version here, which can support the new TBD format via Apple's - # libtapi. - useOld = stdenv.targetPlatform.isiOS; - # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. targetPrefix = stdenv.lib.optionalString @@ -23,51 +15,31 @@ in # Non-Darwin alternatives assert (!stdenv.hostPlatform.isDarwin) -> maloader != null; -assert enableDumpNormalizedLibArgs -> (!useOld); - let baseParams = rec { name = "${targetPrefix}cctools-port-${version}"; - version = if useOld then "886" else "895"; + version = "895"; - src = fetchFromGitHub (if enableDumpNormalizedLibArgs then { - owner = "tpoechtrager"; - repo = "cctools-port"; - # master with https://github.com/tpoechtrager/cctools-port/pull/34 - rev = "8395d4b2c3350356e2fb02f5e04f4f463c7388df"; - sha256 = "10vbf1cfzx02q8chc77s84fp2kydjpx2y682mr6mrbb7sq5rwh8f"; - } else if useOld then { + src = fetchFromGitHub { owner = "tpoechtrager"; repo = "cctools-port"; - rev = "02f0b8ecd87a3951653d838a321ae744815e21a5"; - sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1"; - } else { - owner = "tpoechtrager"; - repo = "cctools-port"; - rev = "2e569d765440b8cd6414a695637617521aa2375b"; # From branch 895-ld64-274.2 - sha256 = "0l45mvyags56jfi24rawms8j2ihbc45mq7v13pkrrwppghqrdn52"; - }); + rev = "07619027f8311fa61b4a549c75994b88739a82d8"; + sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi"; + }; outputs = [ "out" "dev" ]; nativeBuildInputs = [ - autoconf automake libtool_2 - ] ++ stdenv.lib.optionals useOld [ - autoreconfHook + autoconf automake libtool autoreconfHook ]; buildInputs = [ libuuid ] ++ stdenv.lib.optionals stdenv.isDarwin [ llvm libcxxabi libobjc ]; patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch - ] ++ stdenv.lib.optionals useOld [ - # See https://github.com/tpoechtrager/cctools-port/issues/24. Remove when that's fixed. - ./undo-unknown-triple.patch - ./ld-tbd-v2.patch - ./support-ios.patch ]; - __propagatedImpureHostDeps = stdenv.lib.optionals (!useOld) [ + __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" @@ -78,7 +50,9 @@ let # TODO(@Ericson2314): Always pass "--target" and always targetPrefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target"; - postPatch = '' + postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace cctools/Makefile.am --replace libobjc2 "" + '' + '' sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp # FIXME: there are far more absolute path references that I don't want to fix right now diff --git a/pkgs/os-specific/darwin/cctools/support-ios.patch b/pkgs/os-specific/darwin/cctools/support-ios.patch deleted file mode 100644 index f78c6b63ac80..000000000000 --- a/pkgs/os-specific/darwin/cctools/support-ios.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cctools/configure.ac b/cctools/configure.ac -index 56e8f24..0b4b3ff 100644 ---- a/cctools/configure.ac -+++ b/cctools/configure.ac -@@ -39,7 +39,7 @@ EXTRACXXFLAGS="" - WARNINGS="" - - case $host_os in -- darwin* ) -+ darwin* | ios*) - isdarwin=yes - AM_CONDITIONAL([ISDARWIN], [true]) - ;; diff --git a/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch b/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch deleted file mode 100644 index 7df9bdd16dab..000000000000 --- a/pkgs/os-specific/darwin/cctools/undo-unknown-triple.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cctools/as/driver.c b/cctools/as/driver.c -index b06d085..c03397a 100644 ---- a/cctools/as/driver.c -+++ b/cctools/as/driver.c -@@ -363,12 +363,6 @@ char **envp) - /* Add -c or clang will run ld(1). */ - new_argv[j] = "-c"; - j++; -- /* cctools-port start */ -- new_argv[j] = "-target"; -- j++; -- new_argv[j] = "unknown-apple-darwin"; -- j++; -- /* cctools-port end */ - new_argv[j] = NULL; - if(execute(new_argv, verbose)) - exit(0); diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index 41b43afc242c..3d4e57f88ddc 100644 --- a/pkgs/os-specific/linux/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-lib/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "alsa-lib-1.1.6"; + name = "alsa-lib-1.1.7"; src = fetchurl { url = "mirror://alsa/lib/${name}.tar.bz2"; - sha256 = "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"; + sha256 = "02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x"; }; patches = [ diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 3ffaef8109f3..e632be905fdd 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -12,8 +12,8 @@ }: let - apparmor-series = "2.12"; - apparmor-patchver = "0"; + apparmor-series = "2.13"; + apparmor-patchver = "1"; apparmor-version = apparmor-series + "." + apparmor-patchver; apparmor-meta = component: with stdenv.lib; { @@ -25,8 +25,8 @@ let }; apparmor-sources = fetchurl { - url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-series}.tar.gz"; - sha256 = "0mm0mcp0w18si9wl15drndysm7v27az2942p1xjd197shg80qawa"; + url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz"; + sha256 = "7a060d94c275e59f96bacd1da150e6fee2c9152a85bf57800109d07d51ef8afb"; }; prePatchCommon = '' diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 8f81ec4918ed..4fd2b2a9124b 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.18.0"; + version = "4.19.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; - sha256 = "0ida5njr9nacg6ym3rjvl3cc9czw0hn4akhzbqf8f4zmjl6cgrm9"; + sha256 = "114rlb3bvrf7q6yr03mn1rj6gl7mrg0psvm2dx0qb2kxyjhmrv6r"; }; preConfigure = '' diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 011668f0c679..eb0059f55c35 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -4,7 +4,7 @@ }: let - common = { version, sha256, patches ? [] }: stdenvNoCC.mkDerivation ({ + common = { version, sha256, patches ? [] }: stdenvNoCC.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { @@ -17,19 +17,16 @@ let # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. # We do this so we have a build->build, not build->host, C compiler. depsBuildBuild = [ buildPackages.stdenv.cc ]; - # TODO make unconditional next mass rebuild - nativeBuildInputs = [ perl ] ++ lib.optional - (stdenvNoCC.hostPlatform != stdenvNoCC.buildPlatform) - elf-header; + # `elf-header` is null when libc provides `elf.h`. + nativeBuildInputs = [ perl elf-header ]; extraIncludeDirs = lib.optional stdenvNoCC.hostPlatform.isPowerPC ["ppc"]; - # "patches" array defaults to 'null' to avoid changing hash - # and causing mass rebuild inherit patches; - # TODO avoid native hack next rebuild - makeFlags = if stdenvNoCC.hostPlatform == stdenvNoCC.buildPlatform then null else [ + hardeningDisable = lib.optional stdenvNoCC.buildPlatform.isDarwin "format"; + + makeFlags = [ "SHELL=bash" # Avoid use of runtime build->host compilers for checks. These # checks only cared to work around bugs in very old compilers, so @@ -41,11 +38,8 @@ let "HOSTCXX:=$(BUILD_CXX)" ]; - # TODO avoid native hack next rebuild # Skip clean on darwin, case-sensitivity issues. - buildPhase = if stdenvNoCC.hostPlatform == stdenvNoCC.buildPlatform then '' - make mrproper headers_check SHELL=bash - '' else lib.optionalString (!stdenvNoCC.buildPlatform.isDarwin) '' + buildPhase = lib.optionalString (!stdenvNoCC.buildPlatform.isDarwin) '' make mrproper $makeFlags '' # For some reason, doing `make install_headers` twice, first without @@ -55,21 +49,21 @@ let make headers_install $makeFlags ''; - # TODO avoid native hack next rebuild - checkPhase = if stdenvNoCC.hostPlatform == stdenvNoCC.buildPlatform then null else '' + checkPhase = '' make headers_check $makeFlags ''; - # TODO avoid native hack next rebuild - installPhase = (if stdenvNoCC.hostPlatform == stdenvNoCC.buildPlatform then '' - make INSTALL_HDR_PATH=$out headers_install - '' else '' + installPhase = '' make headers_install INSTALL_HDR_PATH=$out $makeFlags - '') + '' - - # Some builds (e.g. KVM) want a kernel.release. - mkdir -p $out/include/config + '' + # Some builds (e.g. KVM) want a kernel.release. + + '' mkdir -p $out/include/config echo "${version}-default" > $out/include/config/kernel.release + '' + # These oddly named file records teh `SHELL` passed, which causes bootstrap + # tools run-time dependency. + + '' + find "$out" -name '..install.cmd' -print0 | xargs -0 rm ''; meta = with lib; { @@ -77,17 +71,13 @@ let license = licenses.gpl2; platforms = platforms.linux; }; - } // lib.optionalAttrs (stdenvNoCC.hostPlatform != stdenvNoCC.buildPlatform) { - # TODO Make unconditional next mass rebuild - hardeningDisable = lib.optional stdenvNoCC.buildPlatform.isDarwin "format"; - }); + }; in { linuxHeaders = common { version = "4.18.3"; sha256 = "1m23hjd02bg8mqnd8dc4z4m3kxds1cyrc6j5saiwnhzbz373rvc1"; - # TODO make unconditional next mass rebuild - patches = lib.optionals (stdenvNoCC.hostPlatform != stdenvNoCC.buildPlatform) [ + patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms ./no-dynamic-cc-version-check.patch # so we can use `stdenvNoCC`, see `makeFlags` above ]; diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 3665606e99c8..f586ea50398f 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { name = "v4l-utils-${version}"; - version = "1.14.2"; + version = "1.16.0"; src = fetchurl { url = "https://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; - sha256 = "14h6d2p3n4jmxhd8i0p1m5dbwz5vnpb3z88xqd9ghg15n7265fg6"; + sha256 = "1b8bx9zfaw0crjkfh0wwyixbv4683mkw0cb3nxwc7fl489c2bd7i"; }; outputs = [ "out" "dev" ]; |