diff options
Diffstat (limited to 'pkgs/os-specific/linux')
26 files changed, 296 insertions, 201 deletions
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix index 885de8163be..013c847112b 100644 --- a/pkgs/os-specific/linux/bcc/default.nix +++ b/pkgs/os-specific/linux/bcc/default.nix @@ -4,20 +4,33 @@ }: python.pkgs.buildPythonApplication rec { - version = "0.8.0"; + version = "0.9.0"; name = "bcc-${version}"; - src = fetchFromGitHub { - owner = "iovisor"; - repo = "bcc"; - rev = "v${version}"; - sha256 = "15vvybllmh9hdj801v3psd671c0qq2a1xdv73kabb9r4fzgaknxk"; - }; + srcs = [ + (fetchFromGitHub { + owner = "iovisor"; + repo = "bcc"; + rev = "v${version}"; + sha256 = "0gi12bsjaw1d77rx11wkdg4szcydwy55z6mkx558nfvdym0qj7yw"; + name = "bcc"; + }) + # note: keep this in sync with the version that was used at the time of the + # tagged release! + (fetchFromGitHub { + owner = "libbpf"; + repo = "libbpf"; + rev = "5beb8a2ebffd1045e3edb9b522d6ff5bb477c541"; + sha256 = "19n6baqj0mbaphzxkpn09m5a7cbij7fxap8ckk488nxqdz7nbsal"; + name = "libbpf"; + }) + ]; + sourceRoot = "bcc"; format = "other"; - buildInputs = [ - llvmPackages.llvm llvmPackages.clang-unwrapped kernel + buildInputs = with llvmPackages; [ + llvm clang-unwrapped kernel elfutils luajit netperf iperf systemtap.stapBuild flex ]; @@ -28,6 +41,7 @@ python.pkgs.buildPythonApplication rec { ./fix-deadlock-detector-import.patch ]; + propagatedBuildInputs = [ python.pkgs.netaddr ]; nativeBuildInputs = [ makeWrapper cmake flex bison ] # libelf is incompatible with elfutils-libelf ++ stdenv.lib.filter (x: x != libelf) kernel.moduleBuildDependencies; @@ -44,9 +58,11 @@ python.pkgs.buildPythonApplication rec { patch -p1 < libbcc-path.patch ''; - propagatedBuildInputs = [ - python.pkgs.netaddr - ]; + preConfigure = '' + chmod -R u+w ../libbpf/ + rmdir src/cc/libbpf + (cd src/cc && ln -svf ../../../libbpf/ libbpf) + ''; postInstall = '' mkdir -p $out/bin $out/share @@ -71,8 +87,8 @@ python.pkgs.buildPythonApplication rec { meta = with stdenv.lib; { description = "Dynamic Tracing Tools for Linux"; - homepage = https://iovisor.github.io/bcc/; - license = licenses.asl20; - maintainers = with maintainers; [ ragge mic92 ]; + homepage = https://iovisor.github.io/bcc/; + license = licenses.asl20; + maintainers = with maintainers; [ ragge mic92 thoughtpolice ]; }; } diff --git a/pkgs/os-specific/linux/bcc/fix-deadlock-detector-import.patch b/pkgs/os-specific/linux/bcc/fix-deadlock-detector-import.patch index 87ce618a0dd..1c422635f4f 100644 --- a/pkgs/os-specific/linux/bcc/fix-deadlock-detector-import.patch +++ b/pkgs/os-specific/linux/bcc/fix-deadlock-detector-import.patch @@ -1,5 +1,5 @@ ---- source.org/tools/deadlock_detector.py 1980-01-02 00:00:00.000000000 +0000 -+++ source/tools/deadlock_detector.py 2018-05-29 13:57:11.807126673 +0100 +--- source.org/tools/deadlock.py 1980-01-02 00:00:00.000000000 +0000 ++++ source/tools/deadlock.py 2018-05-29 13:57:11.807126673 +0100 @@ -44,9 +44,8 @@ # # 01-Feb-2017 Kenny Yu Created this. diff --git a/pkgs/os-specific/linux/bpftrace/bcc-source.patch b/pkgs/os-specific/linux/bpftrace/bcc-source.patch deleted file mode 100644 index a4c9947f0c3..00000000000 --- a/pkgs/os-specific/linux/bpftrace/bcc-source.patch +++ /dev/null @@ -1,32 +0,0 @@ -From fc0a5bd2ddb5827c5288ee284c1f2d834d79e432 Mon Sep 17 00:00:00 2001 -From: Rodney Lorrimar <dev@rodney.id.au> -Date: Tue, 16 Oct 2018 09:55:59 +1000 -Subject: [PATCH 1/3] Don't use ExternalProject for bcc sources - ---- - CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index eae850a..b20fb33 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,6 +31,15 @@ if (OFFLINE_BUILDS) - UPDATE_DISCONNECTED 1 - BUILD_COMMAND ${CMAKE_COMMAND} --build . --target bcc-static - ) -+elseif (NIX_BUILDS) -+ include(ExternalProject) -+ ExternalProject_Add(bcc -+ DOWNLOAD_COMMAND rmdir bcc && ln -sf $ENV{bccSrc} bcc -+ STEP_TARGETS build update -+ EXCLUDE_FROM_ALL 1 -+ UPDATE_DISCONNECTED 1 -+ BUILD_COMMAND ${CMAKE_COMMAND} --build . --target bcc-static -+ ) - else() - include(ExternalProject) - ExternalProject_Add(bcc --- -2.17.1 - diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix index 12773a95716..87355fbcc2e 100644 --- a/pkgs/os-specific/linux/bpftrace/default.nix +++ b/pkgs/os-specific/linux/bpftrace/default.nix @@ -1,57 +1,61 @@ { stdenv, fetchFromGitHub , cmake, pkgconfig, flex, bison -, llvmPackages, kernel, linuxHeaders, elfutils, libelf, bcc +, llvmPackages, kernel, elfutils, libelf, bcc }: stdenv.mkDerivation rec { - name = "bpftrace-unstable-${version}"; - version = "2018-10-27"; + name = "bpftrace-${version}"; + version = "0.9"; src = fetchFromGitHub { - owner = "iovisor"; - repo = "bpftrace"; - rev = "c07b54f61fd7b7b49e0a254e746d6f442c5d780d"; - sha256 = "1mpcjfyay9akmpqxag2ndwpz1qsdx8ii07jh9fky4w40wi9cipyg"; + owner = "iovisor"; + repo = "bpftrace"; + rev = "refs/tags/v${version}"; + sha256 = "1kp6as3i67dnw5v3vc1cj5hmrq6c8pjpg9g38g1qcnc9i6drl1r8"; }; - # bpftrace requires an unreleased version of bcc, added to the cmake - # build as an ExternalProject. - # https://github.com/iovisor/bpftrace/issues/184 - bccSrc = fetchFromGitHub { - owner = "iovisor"; - repo = "bcc"; - rev = "afd00154865f3b2da6781cf92cecebaca4853950"; - sha256 = "0ad78smrnipr1f377i5rv6ksns7v2vq54g5badbj5ldqs4x0hygd"; - }; + enableParallelBuilding = true; - buildInputs = [ - llvmPackages.llvm llvmPackages.clang-unwrapped kernel - elfutils libelf bccSrc - ]; + buildInputs = with llvmPackages; + [ llvm clang-unwrapped + kernel elfutils libelf bcc + ]; nativeBuildInputs = [ cmake pkgconfig flex bison ] # libelf is incompatible with elfutils-libelf ++ stdenv.lib.filter (x: x != libelf) kernel.moduleBuildDependencies; - patches = [ - ./bcc-source.patch - # https://github.com/iovisor/bpftrace/issues/184 - ./disable-gtests.patch - ]; - - configurePhase = '' - mkdir build - cd build - cmake ../ \ - -DKERNEL_HEADERS_DIR=${linuxHeaders} \ - -DNIX_BUILDS:BOOL=ON \ - -DCMAKE_INSTALL_PREFIX=$out + # patch the source, *then* substitute on @NIX_KERNEL_SRC@ in the result. we could + # also in theory make this an environment variable around bpftrace, but this works + # nicely without wrappers. + patchPhase = '' + patch -p1 < ${./fix-kernel-include-dir.patch} + substituteInPlace ./src/clang_parser.cpp \ + --subst-var-by NIX_KERNEL_SRC '${kernel.dev}/lib/modules/${kernel.modDirVersion}' + ''; + + # tests aren't built, due to gtest shenanigans. see: + # + # https://github.com/iovisor/bpftrace/issues/161#issuecomment-453606728 + # https://github.com/iovisor/bpftrace/pull/363 + # + cmakeFlags = + [ "-DBUILD_TESTING=FALSE" + "-DLIBBCC_INCLUDE_DIRS=${bcc}/include/bcc" + ]; + + # nuke the example/reference output .txt files, for the included tools, + # stuffed inside $out. we don't need them at all. + postInstall = '' + rm -rf $out/share/bpftrace/tools/doc ''; + outputs = [ "out" "man" ]; + meta = with stdenv.lib; { description = "High-level tracing language for Linux eBPF"; - homepage = https://github.com/iovisor/bpftrace; - license = licenses.asl20; - maintainers = with maintainers; [ rvl ]; + homepage = https://github.com/iovisor/bpftrace; + license = licenses.asl20; + maintainers = with maintainers; [ rvl thoughtpolice ]; }; } diff --git a/pkgs/os-specific/linux/bpftrace/disable-gtests.patch b/pkgs/os-specific/linux/bpftrace/disable-gtests.patch deleted file mode 100644 index 941d85a4112..00000000000 --- a/pkgs/os-specific/linux/bpftrace/disable-gtests.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 221eea24674fffb3b657b2bd0c923071b69d48a7 Mon Sep 17 00:00:00 2001 -From: Rodney Lorrimar <dev@rodney.id.au> -Date: Tue, 16 Oct 2018 09:56:47 +1000 -Subject: [PATCH 2/3] Disable tests - -Would prefer to use gtest library in the normal way rather through -ExternalProject. ---- - CMakeLists.txt | 4 ++-- - tests/CMakeLists.txt | 18 +++++++++++------- - 2 files changed, 13 insertions(+), 9 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b20fb33..7025d17 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,7 +20,7 @@ add_compile_options("-Wno-format-security") - #add_compile_options("-Wstrict-overflow=5") - #add_compile_options("-Wdisabled-optimization") - --enable_testing() -+# enable_testing() - - if (OFFLINE_BUILDS) - include(ExternalProject) -@@ -79,7 +79,7 @@ include_directories(${CLANG_INCLUDE_DIRS}) - add_subdirectory(src/arch) - add_subdirectory(src/ast) - add_subdirectory(src) --add_subdirectory(tests) -+# add_subdirectory(tests) - add_subdirectory(resources) - add_subdirectory(tools) - add_subdirectory(man) -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index c283efa..6b5bff0 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -45,6 +45,8 @@ if (OFFLINE_BUILDS) - EXCLUDE_FROM_ALL 1 - UPDATE_DISCONNECTED 1 - ) -+elseif (NIX_BUILDS) -+ - else() - include(ExternalProject) - ExternalProject_Add(gtest-git -@@ -54,13 +56,15 @@ else() - EXCLUDE_FROM_ALL 1 - ) - endif() --add_dependencies(bpftrace_test gtest-git-build) --ExternalProject_Get_Property(gtest-git source_dir binary_dir) --target_include_directories(bpftrace_test PUBLIC ${source_dir}/googletest/include) --target_include_directories(bpftrace_test PUBLIC ${source_dir}/googlemock/include) --target_link_libraries(bpftrace_test ${binary_dir}/googlemock/gtest/libgtest.a) --target_link_libraries(bpftrace_test ${binary_dir}/googlemock/gtest/libgtest_main.a) --target_link_libraries(bpftrace_test ${binary_dir}/googlemock/libgmock.a) -+ -+find_library(LIBGTEST "gtest") -+if(LIBGTEST) -+ set(LIBRARY_DEPENDENCIES -+ ${LIBRARY_DEPENDENCIES} -+ ${LIBGTEST} -+ ) -+endif() -+ - target_link_libraries(bpftrace_test ${CMAKE_THREAD_LIBS_INIT}) - - add_test(NAME bpftrace_test COMMAND bpftrace_test) --- -2.17.1 - diff --git a/pkgs/os-specific/linux/bpftrace/fix-kernel-include-dir.patch b/pkgs/os-specific/linux/bpftrace/fix-kernel-include-dir.patch new file mode 100644 index 00000000000..0c6ffc471ad --- /dev/null +++ b/pkgs/os-specific/linux/bpftrace/fix-kernel-include-dir.patch @@ -0,0 +1,22 @@ +commit b6172952c0150d84912fa6f09bab782dd0549f1e +Author: Austin Seipp <aseipp@pobox.com> +Date: Fri May 3 00:47:12 2019 -0500 + + src: special case nix build directories for clang + + Signed-off-by: Austin Seipp <aseipp@pobox.com> + +diff --git a/src/clang_parser.cpp b/src/clang_parser.cpp +index b1db8ff..0cfb01f 100644 +--- a/src/clang_parser.cpp ++++ b/src/clang_parser.cpp +@@ -140,6 +140,9 @@ static bool is_dir(const std::string& path) + // Both ksrc and kobj are guaranteed to be != "", if at least some trace of kernel sources was found. + static std::tuple<std::string, std::string> get_kernel_dirs(const struct utsname& utsname) + { ++ // NB (aseipp): special case the kernel directory for nix ++ return { "@NIX_KERNEL_SRC@/source", "@NIX_KERNEL_SRC@/build" }; ++ + #ifdef KERNEL_HEADERS_DIR + return {KERNEL_HEADERS_DIR, KERNEL_HEADERS_DIR}; + #endif diff --git a/pkgs/os-specific/linux/deepin-anything/default.nix b/pkgs/os-specific/linux/deepin-anything/default.nix new file mode 100644 index 00000000000..4139cc153cd --- /dev/null +++ b/pkgs/os-specific/linux/deepin-anything/default.nix @@ -0,0 +1,22 @@ +{ stdenv, deepin, kernel }: + +stdenv.mkDerivation { + pname = "deepin-anything-module"; + version = "${deepin.deepin-anything.version}-${kernel.version}"; + src = deepin.deepin-anything.modsrc; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + buildPhase = '' + make -C src/deepin-anything-0.0 kdir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build + ''; + + installPhase = '' + install -m 644 -D -t $out/lib/modules/${kernel.modDirVersion}/extra src/deepin-anything-0.0/*.ko + ''; + + meta = deepin.deepin-anything.meta // { + description = deepin.deepin-anything.meta.description + " (kernel modules)"; + badPlatforms = [ "aarch64-linux" ]; # the kernel module is not building + }; +} diff --git a/pkgs/os-specific/linux/extrace/default.nix b/pkgs/os-specific/linux/extrace/default.nix new file mode 100644 index 00000000000..28a92d31eaa --- /dev/null +++ b/pkgs/os-specific/linux/extrace/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "extrace-${version}"; + version = "0.7"; + + src = fetchFromGitHub { + owner = "leahneukirchen"; + repo = "extrace"; + rev = "v${version}"; + sha256 = "0acspj3djspfvgr3ng5b61qws6v2md6b0lc5qkby10mqnfpkvq85"; + }; + + makeFlags = "PREFIX=$(out)"; + + postInstall = '' + install -dm755 "$out/share/licenses/extrace/" + install -m644 LICENSE "$out/share/licenses/extrace/LICENSE" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/leahneukirchen/extrace; + description = "Trace exec() calls system-wide"; + license = with licenses; [ gpl2 bsd2 ]; + platforms = platforms.linux; + maintainers = [ maintainers.leahneukirchen ]; + }; +} diff --git a/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch new file mode 100644 index 00000000000..205497aee2d --- /dev/null +++ b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch @@ -0,0 +1,60 @@ +From 245e0f743d814c9ff2d1c748175e321301eb16cf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> +Date: Thu, 2 May 2019 05:28:08 +0100 +Subject: [PATCH] x86/fpu: Export __kernel_fpu_{begin,end}() + +This partially undo commit: + +12209993 x86/fpu: Don't export __kernel_fpu_{begin,end}() + +We need this symbol in zfs for AES-NI/AVX support. +--- + arch/x86/include/asm/fpu/api.h | 2 ++ + arch/x86/kernel/fpu/core.c | 6 ++++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/arch/x86/include/asm/fpu/api.h b/arch/x86/include/asm/fpu/api.h +index b56d504af6545..7d53388d266ea 100644 +--- a/arch/x86/include/asm/fpu/api.h ++++ b/arch/x86/include/asm/fpu/api.h +@@ -18,6 +18,8 @@ + * If you intend to use the FPU in softirq you need to check first with + * irq_fpu_usable() if it is possible. + */ ++extern void __kernel_fpu_begin(void); ++extern void __kernel_fpu_end(void); + extern void kernel_fpu_begin(void); + extern void kernel_fpu_end(void); + extern bool irq_fpu_usable(void); +diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c +index 2e5003fef51a9..2ea85b32421a0 100644 +--- a/arch/x86/kernel/fpu/core.c ++++ b/arch/x86/kernel/fpu/core.c +@@ -93,7 +93,7 @@ bool irq_fpu_usable(void) + } + EXPORT_SYMBOL(irq_fpu_usable); + +-static void __kernel_fpu_begin(void) ++void __kernel_fpu_begin(void) + { + struct fpu *fpu = ¤t->thread.fpu; + +@@ -111,8 +111,9 @@ static void __kernel_fpu_begin(void) + __cpu_invalidate_fpregs_state(); + } + } ++EXPORT_SYMBOL(__kernel_fpu_begin); + +-static void __kernel_fpu_end(void) ++void __kernel_fpu_end(void) + { + struct fpu *fpu = ¤t->thread.fpu; + +@@ -121,6 +122,7 @@ static void __kernel_fpu_end(void) + + kernel_fpu_enable(); + } ++EXPORT_SYMBOL(__kernel_fpu_end); + + void kernel_fpu_begin(void) + { diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix index f1f18c64130..79ee27c52b5 100644 --- a/pkgs/os-specific/linux/kernel/hardened-config.nix +++ b/pkgs/os-specific/linux/kernel/hardened-config.nix @@ -91,6 +91,9 @@ optionalAttrs (stdenv.hostPlatform.platform.kernelArch == "x86_64") { PAGE_POISONING_NO_SANITY = yes; PAGE_POISONING_ZERO = yes; + # Enable the SafeSetId LSM + SECURITY_SAFESETID = whenAtLeast "5.1" yes; + # Reboot devices immediately if kernel experiences an Oops. PANIC_ON_OOPS = yes; PANIC_TIMEOUT = freeform "-1"; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index b78540c44df..94b8fb209bc 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.114"; + version = "4.14.116"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "05cyq4id1l3z8hhfs7ril9qc92pfx9h9pgvwl18q1lf8mg7ispmp"; + sha256 = "1gcdisdbgrh4mh9d38jy7pv0xi58mra1zddbdp3lxary2sazlnm0"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index cf952184ccc..a5113087220 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.37"; + version = "4.19.40"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0rcwzzbm4853rhsj5mkya0asi6bhsg3mhh9r9ihps31cqc7b7c7c"; + sha256 = "1c1z0z5ac4zy8fp2lxbwapzwby4p9w8bx3wnlysbzmqmi96wvn3g"; }; } // (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 87b9036dc9a..29ff6811aa4 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, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.171"; + version = "4.9.173"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "00bznn1x8rq0wgjpl8sbp0cp4mzpbzjdnf2rvm8rinklpy9dj723"; + sha256 = "0s0iypddxqkabjmd72frfk6dca8amk46vmiyy2nh8zbx9y89smxw"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.0.nix b/pkgs/os-specific/linux/kernel/linux-5.0.nix index 2af5541a57c..11172b9576f 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.0.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.0.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.0.10"; + version = "5.0.13"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0xjycbjlzpgskqnwcjml60vkbg7r8fsijdj6ypmhpry7q8ii677a"; + sha256 = "0y9lsmmalixrh1z72rxdaqb007j6b4wqfshl2bvza95a3yzm5zdw"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.1.nix b/pkgs/os-specific/linux/kernel/linux-5.1.nix new file mode 100644 index 00000000000..648be21f4cd --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-5.1.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args: + +with stdenv.lib; + +buildLinux (args // rec { + version = "5.1"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + + # branchVersion needs to be x.y + extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "0hghjkxgf1p8mfm04a9ckjvyrnp71jp3pbbp0qsx35rzwzk7nsnh"; + }; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 4c338b37dec..e941cd4ea41 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -57,4 +57,9 @@ rec { sha256 = "1l8xq02rd7vakxg52xm9g4zng0ald866rpgm8kjlh88mwwyjkrwv"; }; }; + + export_kernel_fpu_functions = rec { + name = "export_kernel_fpu_functions"; + patch = ./export_kernel_fpu_functions.patch; + }; } diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 840d4cc9cf7..1e5c987d508 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -1,6 +1,6 @@ { lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils -, libiberty, audit, libbfd, openssl, systemtap, numactl +, libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl , zlib, withGtk ? false, gtk2 ? null }: @@ -40,6 +40,7 @@ stdenv.mkDerivation { ]; buildInputs = [ elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl + libopcodes ] ++ stdenv.lib.optional withGtk gtk2; # Note: we don't add elfutils to buildInputs, since it provides a diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix index bb96e5dea57..8adb862a265 100644 --- a/pkgs/os-specific/linux/kexectools/default.nix +++ b/pkgs/os-specific/linux/kexectools/default.nix @@ -22,7 +22,10 @@ stdenv.mkDerivation rec { homepage = http://horms.net/projects/kexec/kexec-tools; description = "Tools related to the kexec Linux feature"; platforms = platforms.linux; + badPlatforms = [ + "riscv64-linux" "riscv32-linux" + "sparc-linux" "sparc64-linux" + ]; license = licenses.gpl2; - badPlatforms = platforms.riscv; }; } diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix index 7351712b887..9528b9be7f7 100644 --- a/pkgs/os-specific/linux/mbpfan/default.nix +++ b/pkgs/os-specific/linux/mbpfan/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "mbpfan-${version}"; - version = "2.1.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "dgraziotin"; repo = "mbpfan"; rev = "v${version}"; - sha256 = "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask"; + sha256 = "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj"; }; installPhase = '' mkdir -p $out/bin $out/etc diff --git a/pkgs/os-specific/linux/miraclecast/default.nix b/pkgs/os-specific/linux/miraclecast/default.nix index c7990466ca7..b65486cb2fe 100644 --- a/pkgs/os-specific/linux/miraclecast/default.nix +++ b/pkgs/os-specific/linux/miraclecast/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "miraclecast-${version}"; - version = "1.0-20170427"; + version = "1.0-20190403"; src = fetchFromGitHub { owner = "albfan"; repo = "miraclecast"; - rev = "a395c3c7afc39a958ae8ab805dea0f5d22118f0c"; - sha256 = "03kbjajv2x0i2g68c5aij0icf9waxnqkc9pp32z60nc8zxy9jk1y"; + rev = "960a785e10523cc525885380dd03aa2c5ba11bc7"; + sha256 = "05afqi33rv7k6pbkkw4mynj6p97vkzhhh13y5nh0yxkyhcgf45pm"; }; nativeBuildInputs = [ meson ninja pkgconfig ]; diff --git a/pkgs/os-specific/linux/mstpd/default.nix b/pkgs/os-specific/linux/mstpd/default.nix index ea5790b495b..492a9321a21 100644 --- a/pkgs/os-specific/linux/mstpd/default.nix +++ b/pkgs/os-specific/linux/mstpd/default.nix @@ -1,22 +1,28 @@ { stdenv, fetchFromGitHub, autoreconfHook }: -stdenv.mkDerivation { - name = "mstpd-0.0.5.20171113"; +stdenv.mkDerivation rec { + pname = "mstpd"; + version = "0.0.7"; src = fetchFromGitHub { - owner = "mstpd"; - repo = "mstpd"; - rev = "2522c6eed201bce8dd81e1583f28748e9c552d0d"; - sha256 = "0ckk386inwcx3776hf15w78hpw4db2rgv4zgf0i3zcylr83hhsr2"; + owner = pname; + repo = pname; + rev = version; + sha256 = "01majib6d1rixngf8c8vcrj1akf8nsqpxhdfdxxi2xwg23vx8f1a"; }; nativeBuildInputs = [ autoreconfHook ]; - installFlags = [ "DESTDIR=$(out)" ]; + configureFlags = [ + "--prefix=$(out)" + "--sysconfdir=$(out)/etc" + "--sbindir=$(out)/sbin" + "--libexecdir=$(out)/lib" + ]; meta = with stdenv.lib; { description = "Multiple Spanning Tree Protocol daemon"; - homepage = https://sourceforge.net/projects/mstpd/; + homepage = "https://github.com/mstpd/mstpd"; license = licenses.gpl2; platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 13b645c8089..9a4954dc348 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -19,13 +19,18 @@ rec { stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_418 else legacy_390; # No active beta right now - beta = stable; + beta = generic { + version = "430.09"; + sha256_64bit = "0k59ahljya286ararncf3mc7sfgsw82vnrszczqicpysn3qfar95"; + settingsSha256 = "082v0xmz83sf4wdvcb2zawddy5vh3pbwjz0fda1rayc7fdadni05"; + persistencedSha256 = "028vs23mnb345sxjxqqmln9pwq8n6cc6dhfzq4hj21ghc6l6fg54"; + }; stable_418 = generic { version = "418.56"; sha256_64bit = "1cg7927g5ml1rwgpydlrjzr55gza5dfkqkch29bbarpzd7dh0mf4"; - settingsSha256 = "1dai4dh6g3arkgicbjwhfr948i1xc13a7s0xcgalan0pn5zd56z6"; - persistencedSha256 = "1r13jjpqg9ri5mw633k01dq2ivblc8nrbsnh7709v1xibaydwnhn"; + settingsSha256 = "150c64wbijwyq032ircl1b78q0gwdvfq35gxaqw00d3ac2hjwpsg"; + persistencedSha256 = "07wh6v8c2si0zwy9j60yzrdn1b1pm0vr9kfvql3jkyjqfn4np44z"; }; # Last one supporting x86 @@ -33,8 +38,8 @@ rec { version = "390.116"; sha256_32bit = "0aavzi99ps7r6nrchf4h9gw3fkvm2z6wppkqkz5fwcy7x03ky4qk"; sha256_64bit = "106qc62a7m9imchqfq8rfn8fwyrjxg383354q7z2wr8112fyhyg1"; - settingsSha256 = "0inmzjhnlal5ih2iyv2x4y3jx7c4lz9xln8sy9j20yj9azp51qz0"; - persistencedSha256 = "04ycijijlcbib2afcxjsyyzza1i3adh17sddrz3sah7rj38mrlgx"; + settingsSha256 = "0n4pj8dzkr7ccwrn5p46mn59cnijdhg8zmn3idjzrk56pq0hbgjr"; + persistencedSha256 = "0bnjr0smhlwlqpyg9m6lca3b7brl2mw8aypc6p7525dn9d9kv6kb"; patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch; }; @@ -43,8 +48,8 @@ rec { version = "340.107"; sha256_32bit = "0mh83affz6bim26ws7kkwwcfj2s6vkdy4d45hifsbshr82qd52wd"; sha256_64bit = "0pv9yv3x0kg9hfkmc50xb54ahxkbnyy2vyy4hj2h0s6m9sb5kqz3"; - settingsSha256 = "1rgaa24acdyqa1rqrx56293vxpskr792njqqpigqmps04llsx703"; - persistencedSha256 = "0nwv6kh4gxgy80x1zs6gcg5hy3amg25xhsfa2v4mwqa36sblxz6l"; + settingsSha256 = "1zf0fy9jj6ipm5vk153swpixqm75iricmx7x49pmr97kzyczaxa7"; + persistencedSha256 = "0v225jkiqk9rma6whxs1a4fyr4haa75bvi52ss3vsyn62zzl24na"; useGLVND = false; patches = [ ./vm_operations_struct-fault.patch ]; @@ -54,7 +59,7 @@ rec { version = "304.137"; sha256_32bit = "1y34c2gvmmacxk2c72d4hsysszncgfndc4s1nzldy2q9qagkg66a"; sha256_64bit = "1qp3jv6279k83k3z96p6vg3dd35y9bhmlyyyrkii7sib7bdmc7zb"; - settingsSha256 = "0i5znfq6jkabgi8xpcy12pdpww6a67i8mq60z1kjq36mmnb25pmi"; + settingsSha256 = "129f0j0hxzjd7g67qwxn463rxp295fsq8lycwm6272qykmab46cj"; persistencedSha256 = null; useGLVND = false; useProfiles = false; diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index 4bbb9d92930..c167edff6e4 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -41,7 +41,10 @@ let src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run"; + urls = [ + "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" + "https://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run" + ]; sha256 = sha256_64bit; } else if stdenv.hostPlatform.system == "i686-linux" then diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index 38f808cee3f..cfe79d4c0b7 100644 --- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -1,13 +1,15 @@ nvidia_x11: sha256: -{ stdenv, fetchurl, m4 }: +{ stdenv, fetchFromGitHub, m4 }: stdenv.mkDerivation rec { - name = "nvidia-persistenced-${nvidia_x11.version}"; + pname = "nvidia-persistenced"; inherit (nvidia_x11) version; - src = fetchurl { - url = "https://download.nvidia.com/XFree86/nvidia-persistenced/${name}.tar.bz2"; + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "nvidia-persistenced"; + rev = nvidia_x11.version; inherit sha256; }; diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index 7106550c39e..0dd2ffb1ec2 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -1,18 +1,20 @@ nvidia_x11: sha256: -{ stdenv, lib, fetchurl, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau +{ stdenv, lib, fetchFromGitHub, pkgconfig, m4, jansson, gtk2, dbus, gtk3, libXv, libXrandr, libXext, libXxf86vm, libvdpau , librsvg, wrapGAppsHook , withGtk2 ? false, withGtk3 ? true }: let - src = fetchurl { - url = "https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${nvidia_x11.version}.tar.bz2"; + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "nvidia-settings"; + rev = nvidia_x11.version; inherit sha256; }; libXNVCtrl = stdenv.mkDerivation { - name = "libXNVCtrl-${nvidia_x11.version}"; + pname = "libXNVCtrl"; inherit (nvidia_x11) version; inherit src; @@ -35,7 +37,7 @@ let in stdenv.mkDerivation rec { - name = "nvidia-settings-${nvidia_x11.version}"; + pname = "nvidia-settings"; inherit (nvidia_x11) version; inherit src; diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix index 96bffc63a27..67dda1e5bd2 100644 --- a/pkgs/os-specific/linux/sysstat/default.nix +++ b/pkgs/os-specific/linux/sysstat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext, bzip2 }: stdenv.mkDerivation rec { - name = "sysstat-12.1.3"; + name = "sysstat-12.1.4"; src = fetchurl { url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz"; - sha256 = "1am1a6mwi91921rrq8ivgczdsl4gdz91zxkx7vnrzfjm4zw8njam"; + sha256 = "0vd1v3kdgsfi82mskh18pyv4bb1rjzzai13vga1ms3nkjvv8lqkg"; }; buildInputs = [ gettext ]; |