diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux')
205 files changed, 1668 insertions, 908 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/915resolution/default.nix b/nixpkgs/pkgs/os-specific/linux/915resolution/default.nix index 6966a76cfa97..8a6732d8737f 100644 --- a/nixpkgs/pkgs/os-specific/linux/915resolution/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/915resolution/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://915resolution.mango-lang.org/"; - description = "A tool to modify Intel 800/900 video BIOS"; + description = "Tool to modify Intel 800/900 video BIOS"; mainProgram = "915resolution"; platforms = [ "i686-linux" "x86_64-linux" ]; license = licenses.publicDomain; diff --git a/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix b/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix index 0da824b169e6..f812316fd774 100644 --- a/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/acpi-call/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin mic92 ]; homepage = "https://github.com/nix-community/acpi_call"; platforms = platforms.linux; - description = "A module allowing arbitrary ACPI calls; use case: hybrid video"; + description = "Module allowing arbitrary ACPI calls; use case: hybrid video"; mainProgram = "test_discrete_video_off.sh"; license = licenses.gpl3Plus; }; diff --git a/nixpkgs/pkgs/os-specific/linux/acpid/default.nix b/nixpkgs/pkgs/os-specific/linux/acpid/default.nix index 8f981ec401bc..5326ba578f75 100644 --- a/nixpkgs/pkgs/os-specific/linux/acpid/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/acpid/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://sourceforge.net/projects/acpid2/"; - description = "A daemon for delivering ACPI events to userspace programs"; + description = "Daemon for delivering ACPI events to userspace programs"; license = licenses.gpl2Plus; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix b/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix index 317ca54b7cde..86b028697bb6 100644 --- a/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/acpitool/default.nix @@ -43,7 +43,7 @@ in stdenv.mkDerivation rec { ]; meta = { - description = "A small, convenient command-line ACPI client with a lot of features"; + description = "Small, convenient command-line ACPI client with a lot of features"; mainProgram = "acpitool"; homepage = "https://sourceforge.net/projects/acpitool/"; license = lib.licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/adcli/default.nix b/nixpkgs/pkgs/os-specific/linux/adcli/default.nix index 5f94da21f207..2f81c12977dc 100644 --- a/nixpkgs/pkgs/os-specific/linux/adcli/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/adcli/default.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.freedesktop.org/software/realmd/adcli/adcli.html"; - description = "A helper library and tools for Active Directory client operations."; + description = "Helper library and tools for Active Directory client operations"; mainProgram = "adcli"; license = licenses.lgpl21Only; maintainers = with maintainers; [ SohamG anthonyroussel ]; diff --git a/nixpkgs/pkgs/os-specific/linux/amdctl/default.nix b/nixpkgs/pkgs/os-specific/linux/amdctl/default.nix index abc26aabf784..f95d54e64b3e 100644 --- a/nixpkgs/pkgs/os-specific/linux/amdctl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/amdctl/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Set P-State voltages and clock speeds on recent AMD CPUs on Linux."; + description = "Set P-State voltages and clock speeds on recent AMD CPUs on Linux"; mainProgram = "amdctl"; homepage = "https://github.com/kevinlekiller/amdctl"; license = licenses.gpl3Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix b/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix deleted file mode 100644 index ade6da99810b..000000000000 --- a/nixpkgs/pkgs/os-specific/linux/amdgpu-pro/default.nix +++ /dev/null @@ -1,222 +0,0 @@ -{ lib -, stdenv -, fetchurl -, elfutils -, xorg -, patchelf -, libxcb -, libxshmfence -, perl -, zlib -, expat -, libffi_3_3 -, libselinux -, libdrm -, udev -, kernel ? null -}: - -with lib; - -let - - bitness = if stdenv.is64bit then "64" else "32"; - - libArch = - if stdenv.hostPlatform.system == "i686-linux" then - "i386-linux-gnu" - else if stdenv.hostPlatform.system == "x86_64-linux" then - "x86_64-linux-gnu" - else throw "amdgpu-pro is Linux only. Sorry ${stdenv.hostPlatform.system}."; - -in stdenv.mkDerivation rec { - - version = "21.30"; - pname = "amdgpu-pro"; - build = "${version}-1290604"; - - src = fetchurl { - url = "https://drivers.amd.com/drivers/linux/amdgpu-pro-${build}-ubuntu-20.04.tar.xz"; - sha256 = "sha256-WECqxjo2WLP3kMWeVyJgYufkvHTzwGaj57yeMGXiQ4I="; - curlOpts = "--referer https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-30"; - }; - - postUnpack = '' - mkdir root - pushd $sourceRoot - for deb in *_all.deb *_${if stdenv.is64bit then "amd64" else "i386"}.deb - do - ar p $deb data.tar.xz | tar -C ../root -xJ - done - popd - # if we don't use a short sourceRoot, compilation can fail due to command - # line length - sourceRoot=root - ''; - - passthru = optionalAttrs (kernel != null) { - kmod = stdenv.mkDerivation rec { - inherit version src postUnpack; - name = "${pname}-${version}-kmod-${kernel.dev.version}"; - - postPatch = '' - pushd usr/src/amdgpu-* - patchShebangs amd/dkms/*.sh - substituteInPlace amd/dkms/pre-build.sh --replace "./configure" "./configure --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - popd - ''; - - preConfigure = '' - pushd usr/src/amdgpu-* - makeFlags="$makeFlags M=$(pwd)" - amd/dkms/pre-build.sh ${kernel.version} - popd - ''; - - postBuild = '' - pushd usr/src/amdgpu-* - find -name \*.ko -exec xz {} \; - popd - ''; - - makeFlags = optionalString (kernel != null) "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build modules"; - - installPhase = '' - runHook preInstall - - pushd usr/src/amdgpu-* - find -name \*.ko.xz -exec install -Dm444 {} $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/{} \; - popd - - runHook postInstall - ''; - - # without this we get a collision with the ttm module from linux - meta.priority = 4; - }; - - fw = stdenv.mkDerivation rec { - inherit version src postUnpack; - name = "${pname}-${version}-fw"; - - installPhase = '' - runHook preInstall - - mkdir -p $out/lib - cp -r usr/src/amdgpu-*/firmware $out/lib/firmware - - runHook postInstall - ''; - }; - }; - - outputs = [ "out" "vulkan" ]; - - depLibPath = makeLibraryPath [ - stdenv.cc.cc.lib - zlib - libxcb - libxshmfence - elfutils - expat - libffi_3_3 - libselinux - # libudev is not listed in any dependencies, but is loaded dynamically - udev - xorg.libXext - xorg.libX11 - xorg.libXfixes - xorg.libXdamage - xorg.libXxf86vm - ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out - - cp -r usr/lib/${libArch} $out/lib - cp -r usr/share $out/share - - mkdir -p $out/opt/amdgpu{,-pro} - cp -r opt/amdgpu-pro/lib/${libArch} $out/opt/amdgpu-pro/lib - cp -r opt/amdgpu/lib/${libArch} $out/opt/amdgpu/lib - - pushd $out/lib - ln -s ../opt/amdgpu-pro/lib/libGL.so* . - ln -s ../opt/amdgpu-pro/lib/libEGL.so* . - popd - - # short name to allow replacement below - ln -s lib/dri $out/dri - - '' + optionalString (stdenv.is64bit) '' - mkdir -p $out/etc - pushd etc - cp -r modprobe.d udev amd $out/etc - popd - - cp -r lib/udev/rules.d/* $out/etc/udev/rules.d - cp -r opt/amdgpu/lib/xorg $out/lib/xorg - cp -r opt/amdgpu-pro/lib/xorg/* $out/lib/xorg - cp -r opt/amdgpu/share $out/opt/amdgpu/share - '' + '' - - mkdir -p $vulkan/share/vulkan/icd.d - install opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd${bitness}.json $vulkan/share/vulkan/icd.d - - runHook postInstall - ''; - - preFixup = (if stdenv.is64bit - # this could also be done with LIBGL_DRIVERS_PATH, but it would need to be - # set in the user session and for Xorg - then '' - expr1='s:/opt/amdgpu/lib/x86_64-linux-gnu/dri\0:/run/opengl-driver/lib/dri\0\0\0\0\0\0\0\0\0\0\0:g' - expr2='s:/usr/lib/x86_64-linux-gnu/dri[\0\:]:/run/opengl-driver/lib/dri\0\0\0\0:g' - perl -pi -e "$expr2" $out/lib/xorg/modules/extensions/libglx.so - '' - else '' - expr1='s:/opt/amdgpu/lib/i386-linux-gnu/dri\0:/run/opengl-driver-32/lib/dri\0\0\0\0\0\0:g' - # we replace a different path on 32-bit because it's the only one long - # enough to fit the target path :( - expr2='s:/usr/lib/i386-linux-gnu/dri[\0\:]:/run/opengl-driver-32/dri\0\0\0:g' - '') + '' - perl -pi -e "$expr1" \ - $out/opt/amdgpu/lib/libEGL.so.1.0.0 \ - $out/opt/amdgpu/lib/libgbm.so.1.0.0 \ - $out/opt/amdgpu/lib/libGL.so.1.2.0 - - perl -pi -e "$expr2" \ - $out/opt/amdgpu-pro/lib/libEGL.so.1 \ - $out/opt/amdgpu-pro/lib/libGL.so.1.2 \ - $out/opt/amdgpu-pro/lib/libGLX_amd.so.0 - - find $out -type f -exec perl -pi -e 's:/opt/amdgpu-pro/:/run/amdgpu-pro/:g' {} \; - find $out -type f -exec perl -pi -e 's:/opt/amdgpu/:/run/amdgpu/:g' {} \; - - substituteInPlace $vulkan/share/vulkan/icd.d/*.json --replace /opt/amdgpu-pro/lib/${libArch} "$out/opt/amdgpu-pro/lib" - ''; - - # doing this in post because shrinking breaks things that dynamically load - postFixup = '' - libPath="$out/opt/amdgpu/lib:$out/opt/amdgpu-pro/lib:$depLibPath" - find "$out" -name '*.so*' -type f -exec patchelf --set-rpath "$libPath" {} \; - ''; - - buildInputs = [ - libdrm - patchelf - perl - ]; - - enableParallelBuilding = true; - - meta = with lib; { - description = "AMDGPU-PRO drivers"; - homepage = "https://www.amd.com/en/support"; - license = licenses.unfree; - platforms = platforms.linux; - maintainers = with maintainers; [ corngood ]; - }; -} diff --git a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix b/nixpkgs/pkgs/os-specific/linux/anbox/default.nix index a3724c792482..1cb614fa220b 100644 --- a/nixpkgs/pkgs/os-specific/linux/anbox/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/anbox/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl +{ lib, stdenv, fetchFromGitHub , callPackage , fetchpatch , cmake, pkg-config, dbus, makeWrapper @@ -58,6 +58,7 @@ stdenv.mkDerivation rec { cmake pkg-config makeWrapper + protobufc ]; buildInputs = [ @@ -74,7 +75,7 @@ stdenv.mkDerivation rec { lxc mesa properties-cpp - protobuf protobufc + protobuf python3 SDL2 SDL2_image systemd diff --git a/nixpkgs/pkgs/os-specific/linux/apfs/default.nix b/nixpkgs/pkgs/os-specific/linux/apfs/default.nix index 68265f9f826c..8d34d57d4f24 100644 --- a/nixpkgs/pkgs/os-specific/linux/apfs/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/apfs/default.nix @@ -6,7 +6,7 @@ }: let - tag = "0.3.8"; + tag = "0.3.9"; in stdenv.mkDerivation { pname = "apfs"; @@ -16,7 +16,7 @@ stdenv.mkDerivation { owner = "linux-apfs"; repo = "linux-apfs-rw"; rev = "v${tag}"; - hash = "sha256-I/wuS4//bUiUW8NGW6aNVPzDtuY2lMUeFiv5y2c7TYY="; + hash = "sha256-KZ/B3sR9x58DTUeHUI0ZPW6bb7vFkPMVXaEZ25m3cP0="; }; hardeningDisable = [ "pic" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix index cebae9b8402d..4c06ea352ee0 100644 --- a/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix @@ -26,7 +26,7 @@ let apparmor-meta = component: with lib; { homepage = "https://apparmor.net/"; - description = "A mandatory access control system - ${component}"; + description = "Mandatory access control system - ${component}"; license = with licenses; [ gpl2Only lgpl21Only ]; maintainers = with maintainers; [ julm thoughtpolice ] ++ teams.helsinki-systems.members; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/audit/default.nix b/nixpkgs/pkgs/os-specific/linux/audit/default.nix index 1e941a13767e..d5e38ea62fb8 100644 --- a/nixpkgs/pkgs/os-specific/linux/audit/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/audit/default.nix @@ -1,11 +1,9 @@ { lib , stdenv , fetchurl -, fetchpatch , autoreconfHook , bash , buildPackages -, libtool , linuxHeaders , python3 , swig diff --git a/nixpkgs/pkgs/os-specific/linux/autofs/default.nix b/nixpkgs/pkgs/os-specific/linux/autofs/default.nix index db0e7b48383f..d308ba6594e2 100644 --- a/nixpkgs/pkgs/os-specific/linux/autofs/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/autofs/default.nix @@ -1,28 +1,33 @@ { lib, stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs -, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto +, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto, pkgconf , fetchpatch }: stdenv.mkDerivation rec { - version = "5.1.6"; + version = "5.1.9"; pname = "autofs"; src = fetchurl { url = "mirror://kernel/linux/daemons/autofs/v5/autofs-${version}.tar.xz"; - sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx"; + sha256 = "sha256-h+avagN5S5Ri6lGXgeUOfSO198ks1Z4RQshdJJOzwks="; }; - patches = [ - # glibc 2.34 compat (fetchpatch { - url = "https://src.fedoraproject.org/rpms/autofs/raw/cc745af5e42396d540d5b3b92fae486e232bf6bd/f/autofs-5.1.7-use-default-stack-size-for-threads.patch"; - sha256 = "sha256-6ETDFbW7EhHR03xFWF+6OJBgn9NX3WW3bGhTNGodaOc="; - excludes = [ "CHANGELOG" ]; + url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-update-configure.patch"; + hash = "sha256-BomhNw+lMHcgs5gQlzapZ6p/Ji3gJUVkrLpZssBmwbg="; + }) + (fetchpatch { + url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-fix-ldap_parse_page_control-check.patch"; + hash = "sha256-W757LU9r9kuzLeThif2a1olRtxNrJy5suemLS7yfbIU="; + }) + (fetchpatch { + url = "mirror://kernel/linux/daemons/autofs/v5/patches-5.2.0/autofs-5.1.9-fix-crash-in-make_options_string.patch"; + hash = "sha256-YjTdJ50iNhJ2UjFdrKYEFNt04z0PfmElbFa4GuSskLA="; }) ]; preConfigure = '' - configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH" + configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH --with-libtirpc" export sssldir="${sssd}/lib/sssd/modules" export HAVE_SSS_AUTOFS=1 @@ -37,9 +42,6 @@ stdenv.mkDerivation rec { unset STRIP # Makefile.rules defines a usable STRIP only without the env var. ''; - # configure script is not finding the right path - env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; - installPhase = '' make install SUBDIRS="lib daemon modules man" # all but samples #make install SUBDIRS="samples" # impure! @@ -48,7 +50,7 @@ stdenv.mkDerivation rec { buildInputs = [ linuxHeaders libtirpc libxml2 libkrb5 kmod openldap sssd openssl cyrus_sasl rpcsvc-proto ]; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison pkgconf ]; meta = { description = "Kernel-based automounter"; diff --git a/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix b/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix index b825cfc0a962..3d8fbafb2358 100644 --- a/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/batman-adv/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchurl -, fetchpatch2 , kernel }: diff --git a/nixpkgs/pkgs/os-specific/linux/bbswitch/default.nix b/nixpkgs/pkgs/os-specific/linux/bbswitch/default.nix index 8312d64acddc..a65bcab50ee2 100644 --- a/nixpkgs/pkgs/os-specific/linux/bbswitch/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/bbswitch/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "A module for powering off hybrid GPUs"; + description = "Module for powering off hybrid GPUs"; platforms = [ "x86_64-linux" "i686-linux" ]; homepage = "https://github.com/Bumblebee-Project/bbswitch"; maintainers = with maintainers; [ abbradar ]; diff --git a/nixpkgs/pkgs/os-specific/linux/beefi/default.nix b/nixpkgs/pkgs/os-specific/linux/beefi/default.nix index 39300b948976..57ab2d7c8574 100644 --- a/nixpkgs/pkgs/os-specific/linux/beefi/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/beefi/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A small script to create bootable EFISTUB kernel images"; + description = "Small script to create bootable EFISTUB kernel images"; mainProgram = "beefi"; license = licenses.gpl3; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/below/default.nix b/nixpkgs/pkgs/os-specific/linux/below/default.nix index 5efc80357d8f..286a92f0eb88 100644 --- a/nixpkgs/pkgs/os-specific/linux/below/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/below/default.nix @@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { platforms = platforms.linux; maintainers = with maintainers; [ globin ]; - description = "A time traveling resource monitor for modern Linux systems"; + description = "Time traveling resource monitor for modern Linux systems"; license = licenses.asl20; homepage = "https://github.com/facebookincubator/below"; mainProgram = "below"; diff --git a/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix index 3ce10735f1de..6aad7ebcacb3 100644 --- a/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix @@ -139,7 +139,7 @@ stdenvNoCC.mkDerivation rec { passthru.linuxHeaders = kernelHeaders; meta = with lib; { - description = "The Android libc implementation"; + description = "Android libc implementation"; homepage = "https://android.googlesource.com/platform/bionic/"; license = licenses.mit; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/bpftune/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftune/default.nix index 517cd04a455d..cc97ed16faea 100644 --- a/nixpkgs/pkgs/os-specific/linux/bpftune/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/bpftune/default.nix @@ -12,31 +12,28 @@ stdenv.mkDerivation rec { pname = "bpftune"; - version = "unstable-2023-12-20"; + version = "0-unstable-2024-06-07"; src = fetchFromGitHub { owner = "oracle"; repo = "bpftune"; - rev = "0e6bca2e5880fcbaac6478c4042f5f9314e61463"; - hash = "sha256-y9WQrQb9U5YdzKAR63FzC8V1+jZL027pzAmQPpgM3jM="; + rev = "04bab5dd306b55b3e4e13e261af2480b7ccff9fc"; + hash = "sha256-kVjvupZ6HxJocwXWOrxUNqEGl0welJRlZwvOmMKqeBA="; }; postPatch = '' # otherwise shrink rpath would drop $out/lib from rpath substituteInPlace src/Makefile \ - --replace /lib64 /lib \ - --replace /sbin /bin \ - --replace ldconfig true + --replace-fail /lib64 /lib \ + --replace-fail /sbin /bin \ + --replace-fail ldconfig true substituteInPlace src/bpftune.service \ - --replace /usr/sbin/bpftune "$out/bin/bpftune" + --replace-fail /usr/sbin/bpftune "$out/bin/bpftune" substituteInPlace include/bpftune/libbpftune.h \ - --replace /usr/lib64/bpftune/ "$out/lib/bpftune/" \ - --replace /usr/local/lib64/bpftune/ "$out/lib/bpftune/" + --replace-fail /usr/lib64/bpftune/ "$out/lib/bpftune/" \ + --replace-fail /usr/local/lib64/bpftune/ "$out/lib/bpftune/" substituteInPlace src/libbpftune.c \ - --replace /lib/modules /run/booted-system/kernel-modules/lib/modules - - substituteInPlace src/Makefile sample_tuner/Makefile \ - --replace 'BPF_INCLUDE := /usr/include' 'BPF_INCLUDE := ${lib.getDev libbpf}/include' \ + --replace-fail /lib/modules /run/booted-system/kernel-modules/lib/modules ''; nativeBuildInputs = [ @@ -56,6 +53,7 @@ stdenv.mkDerivation rec { "confprefix=${placeholder "out"}/etc" "BPFTUNE_VERSION=${version}" "NL_INCLUDE=${lib.getDev libnl}/include/libnl3" + "BPF_INCLUDE=${lib.getDev libbpf}/include" ]; hardeningDisable = [ diff --git a/nixpkgs/pkgs/os-specific/linux/bridge-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/bridge-utils/default.nix index 1753be599380..b10cca4cc592 100644 --- a/nixpkgs/pkgs/os-specific/linux/bridge-utils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/bridge-utils/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; meta = { - description = "An userspace tool to configure linux bridges (deprecated in favour or iproute2)."; + description = "Userspace tool to configure linux bridges (deprecated in favour or iproute2)"; mainProgram = "brctl"; homepage = "https://wiki.linuxfoundation.org/networking/bridge"; license = lib.licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/btfs/default.nix b/nixpkgs/pkgs/os-specific/linux/btfs/default.nix index 342272f42861..04a3e104c1cf 100644 --- a/nixpkgs/pkgs/os-specific/linux/btfs/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/btfs/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "A bittorrent filesystem based on FUSE"; + description = "Bittorrent filesystem based on FUSE"; homepage = "https://github.com/johang/btfs"; license = licenses.gpl3; maintainers = with maintainers; [ rnhmjoj ]; diff --git a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix index 33fa7663f46d..4a291cc03b8f 100644 --- a/nixpkgs/pkgs/os-specific/linux/busybox/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/busybox/default.nix @@ -121,6 +121,10 @@ stdenv.mkDerivation rec { # Bump from 4KB, much faster I/O CONFIG_FEATURE_COPYBUF_KB 64 + # Doesn't build with current kernel headers. + # https://bugs.busybox.net/show_bug.cgi?id=15934 + CONFIG_TC n + # Set the path for the udhcpc script CONFIG_UDHCPC_DEFAULT_SCRIPT "${outDispatchPath}" diff --git a/nixpkgs/pkgs/os-specific/linux/cannelloni/default.nix b/nixpkgs/pkgs/os-specific/linux/cannelloni/default.nix index 86107d4f7aa0..9d2c199a2340 100644 --- a/nixpkgs/pkgs/os-specific/linux/cannelloni/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/cannelloni/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { ]; meta = with lib; { - description = "A SocketCAN over Ethernet tunnel"; + description = "SocketCAN over Ethernet tunnel"; mainProgram = "cannelloni"; homepage = "https://github.com/mguentner/cannelloni"; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/catfs/default.nix b/nixpkgs/pkgs/os-specific/linux/catfs/default.nix index 107dce2123db..af804262f20b 100644 --- a/nixpkgs/pkgs/os-specific/linux/catfs/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/catfs/default.nix @@ -1,5 +1,4 @@ { lib, rustPlatform, fetchFromGitHub -, fetchpatch , fuse , pkg-config }: diff --git a/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix b/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix index 61ddd5203cdc..c5138e12fe46 100644 --- a/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/consoletools/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://sourceforge.net/projects/linuxconsole/"; - description = "A set of tools for joysticks and serial peripherals"; + description = "Set of tools for joysticks and serial peripherals"; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ pSub ebzzry ]; diff --git a/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix b/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix index 70fd5ccbb695..09bea7ebdd3a 100644 --- a/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix @@ -21,7 +21,7 @@ buildGoModule rec { ''; meta = with lib; { - description = "A tool to detect silent data corruption"; + description = "Tool to detect silent data corruption"; mainProgram = "cshatag"; homepage = "https://github.com/rfjakob/cshatag"; license = licenses.mit; diff --git a/nixpkgs/pkgs/os-specific/linux/dcgm/default.nix b/nixpkgs/pkgs/os-specific/linux/dcgm/default.nix index a7f3511b3f4b..5e03e19bf26d 100644 --- a/nixpkgs/pkgs/os-specific/linux/dcgm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/dcgm/default.nix @@ -130,7 +130,7 @@ in gcc11Stdenv.mkDerivation rec { disallowedReferences = lib.concatMap (x: x.pkgSet) cudaPackageSetByVersion; meta = with lib; { - description = "Data Center GPU Manager (DCGM) is a daemon that allows users to monitor NVIDIA data-center GPUs."; + description = "Data Center GPU Manager (DCGM) is a daemon that allows users to monitor NVIDIA data-center GPUs"; homepage = "https://developer.nvidia.com/dcgm"; license = licenses.asl20; maintainers = teams.deshaw.members; diff --git a/nixpkgs/pkgs/os-specific/linux/disk-indicator/default.nix b/nixpkgs/pkgs/os-specific/linux/disk-indicator/default.nix index e0e238fd3560..4eef4fdb1120 100644 --- a/nixpkgs/pkgs/os-specific/linux/disk-indicator/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/disk-indicator/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation { meta = { homepage = "https://github.com/MeanEYE/Disk-Indicator"; - description = "A program that will turn a LED into a hard disk indicator"; + description = "Program that will turn a LED into a hard disk indicator"; mainProgram = "disk_indicator"; longDescription = '' Small program for Linux that will turn your Scroll, Caps or Num Lock LED diff --git a/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix b/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix index 3bfaad303516..db1be06717c6 100644 --- a/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/dmidecode/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.nongnu.org/dmidecode/"; - description = "A tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard"; + description = "Tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard"; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ ]; diff --git a/nixpkgs/pkgs/os-specific/linux/dpdk-kmods/default.nix b/nixpkgs/pkgs/os-specific/linux/dpdk-kmods/default.nix index ec5fda7aa419..4205da7e7e80 100644 --- a/nixpkgs/pkgs/os-specific/linux/dpdk-kmods/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/dpdk-kmods/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, fetchpatch, kernel }: +{ lib, stdenv, fetchzip, kernel }: stdenv.mkDerivation rec { pname = "dpdk-kmods"; diff --git a/nixpkgs/pkgs/os-specific/linux/dracut/default.nix b/nixpkgs/pkgs/os-specific/linux/dracut/default.nix index e5461bddbc8f..498f61dc9836 100644 --- a/nixpkgs/pkgs/os-specific/linux/dracut/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/dracut/default.nix @@ -102,7 +102,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/dracutdevs/dracut/wiki"; - description = "An event driven initramfs infrastructure"; + description = "Event driven initramfs infrastructure"; license = licenses.gpl2Plus; maintainers = with maintainers; [ lilyinstarlight ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix b/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix index 31a5dbd68f9d..57bf7da7c049 100644 --- a/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ebtables/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A filtering tool for Linux-based bridging firewalls"; + description = "Filtering tool for Linux-based bridging firewalls"; homepage = "http://ebtables.sourceforge.net/"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/ell/default.nix b/nixpkgs/pkgs/os-specific/linux/ell/default.nix index 9c16a341a478..1a5e119ef473 100644 --- a/nixpkgs/pkgs/os-specific/linux/ell/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ell/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.64"; + version = "0.65"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/ell/ell.git"; rev = version; - hash = "sha256-LONfgFgPg8KCDwtw//WTOYQT9RpnIskdHAWcgafOhcg="; + hash = "sha256-q0C9KfWHxdmrG7xcbb8zpFL4ro+BJb7BL2tyKdFIhew="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/os-specific/linux/esdm/default.nix b/nixpkgs/pkgs/os-specific/linux/esdm/default.nix index 195c645eb539..95fdd9648f23 100644 --- a/nixpkgs/pkgs/os-specific/linux/esdm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/esdm/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , protobufc , pkg-config , fuse3 diff --git a/nixpkgs/pkgs/os-specific/linux/ethq/default.nix b/nixpkgs/pkgs/os-specific/linux/ethq/default.nix index 581382e4faf2..94f18cccd943 100644 --- a/nixpkgs/pkgs/os-specific/linux/ethq/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ethq/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ethq"; - version = "0.6.3"; + version = "0.7.0"; src = fetchFromGitHub { owner = "isc-projects"; repo = "ethq"; rev = "refs/tags/v${builtins.replaceStrings ["."] ["_"] version}"; - hash = "sha256-dr37KiSnP0S0OjQof242EcbH+y4pCCzu6R9D6fXR9qc="; + hash = "sha256-ye5ep9EM9Sq/NqNZHENPmFZefVBx1BGrPm3YEG1NcSc="; }; buildInputs = [ ncurses ]; diff --git a/nixpkgs/pkgs/os-specific/linux/exfat/default.nix b/nixpkgs/pkgs/os-specific/linux/exfat/default.nix index 3d2445df4980..e247bbb9e837 100644 --- a/nixpkgs/pkgs/os-specific/linux/exfat/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/exfat/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, kernel }: +{ stdenv, lib, fetchFromGitHub, kernel }: stdenv.mkDerivation rec { name = "exfat-nofuse-${version}-${kernel.version}"; diff --git a/nixpkgs/pkgs/os-specific/linux/fan2go/default.nix b/nixpkgs/pkgs/os-specific/linux/fan2go/default.nix index cb8ff5a84b74..edd44842eed9 100644 --- a/nixpkgs/pkgs/os-specific/linux/fan2go/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/fan2go/default.nix @@ -22,7 +22,7 @@ buildGoModule rec { CGO_LDFLAGS = "-L ${lm_sensors}/lib"; meta = with lib; { - description = "A simple daemon providing dynamic fan speed control based on temperature sensors"; + description = "Simple daemon providing dynamic fan speed control based on temperature sensors"; mainProgram = "fan2go"; homepage = "https://github.com/markusressel/fan2go"; license = licenses.agpl3Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix index 64607c5653eb..768d07dab900 100644 --- a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , pkg-config , libapparmor , which diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/bt-fw-converter/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/bt-fw-converter/default.nix index 988aabd85779..655b8f7ddedd 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/bt-fw-converter/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/bt-fw-converter/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/winterheart/broadcom-bt-firmware/"; - description = "A tool that converts hex to hcd based on inf file"; + description = "Tool that converts hex to hcd based on inf file"; mainProgram = "bt-fw-converter"; license = licenses.mit; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix index 1c6cc0e57e09..0faec1170221 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix @@ -19,14 +19,6 @@ stdenv.mkDerivation rec { hash = "sha256-r9CAWirQgafK/y71vABM46AUe1OAFejsqWY0FxaxJg4="; }; - patches = [ - (fetchpatch { - url = "https://github.com/fwupd/fwupd-efi/commit/26c6ec5c1e7765fb5dc6a4df511ab21ee6c6e67a.patch"; - revert = true; - hash = "sha256-vTdYExd7OlrrZ/LhlEO1zcvpKzeT5OeOeosD8/LUkMg="; - }) - ]; - nativeBuildInputs = [ meson ninja diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix index 7098f1f3203e..adaa4968fd56 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/linux-firmware/source.nix @@ -1,7 +1,7 @@ # This file is autogenerated! Run ./update.sh to regenerate. { - version = "20240513"; - revision = "20240513"; - sourceHash = "sha256-8yzs8lgPHG3zbUvlsWSuP1O/4s28dRFbju2c9kbaFsg="; - outputHash = "sha256-LDd6FU1/16X7KoCCDq0yPvwJzK4H9NxHgrEdhEfaUGY="; + version = "20240610"; + revision = "20240610"; + sourceHash = "sha256-tjDqviOMvrBoEG8+Yn+XqdBlIDfQUX0KK2kpW6/jed8="; + outputHash = "sha256-2VxzN778TLov5N1DPSnnkT7wQnLg85PyKsljZOoSoNM="; } diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix index 386df843971c..b2125170db14 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix @@ -2,22 +2,22 @@ stdenvNoCC.mkDerivation { pname = "raspberrypi-wireless-firmware"; - version = "unstable-2023-11-15"; + version = "unstable-2024-02-26"; srcs = [ (fetchFromGitHub { name = "bluez-firmware"; owner = "RPi-Distro"; repo = "bluez-firmware"; - rev = "d9d4741caba7314d6500f588b1eaa5ab387a4ff5"; - hash = "sha256-CjbZ3t3TW/iJ3+t9QKEtM9NdQU7SwcUCDYuTmFEwvhU="; + rev = "78d6a07730e2d20c035899521ab67726dc028e1c"; + hash = "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q="; }) (fetchFromGitHub { name = "firmware-nonfree"; owner = "RPi-Distro"; repo = "firmware-nonfree"; - rev = "88aa085bfa1a4650e1ccd88896f8343c22a24055"; - hash = "sha256-Yynww79LPPkau4YDSLI6IMOjH64nMpHUdGjnCfIR2+M="; + rev = "223ccf3a3ddb11b3ea829749fbbba4d65b380897"; + hash = "sha256-BGq0+cr+xBRwQM/LqiQuRWuZpQsKM5jfcrNCqWMuVzM="; }) ]; diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 0aea94bca067..ece39dade72b 100644 --- a/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -3,16 +3,13 @@ stdenvNoCC.mkDerivation rec { # NOTE: this should be updated with linux_rpi pname = "raspberrypi-firmware"; - # raspberrypi/firmware no longers tag the releases. However, since each commit - # on the stable branch corresponds to a tag in raspberrypi/linux repo, we - # assume they are cut together. - version = "stable_20231123"; + version = "1.20240529"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; - rev = "524247ac6d8b1f4ddd53730e978a70c76a320bd6"; - hash = "sha256-rESwkR7pc5MTwIZ8PaMUPXuzxfv+jVpdRp8ijvxHGcg="; + rev = version; + hash = "sha256-KsCo7ZG6vKstxRyFljZtbQvnDSqiAPdUza32xTY/tlA="; }; installPhase = '' diff --git a/nixpkgs/pkgs/os-specific/linux/framework-laptop-kmod/default.nix b/nixpkgs/pkgs/os-specific/linux/framework-laptop-kmod/default.nix index b5cb505e09a2..eddc5e272aae 100644 --- a/nixpkgs/pkgs/os-specific/linux/framework-laptop-kmod/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/framework-laptop-kmod/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A kernel module that exposes the Framework Laptop (13, 16)'s battery charge limit and LEDs to userspace."; + description = "Kernel module that exposes the Framework Laptop (13, 16)'s battery charge limit and LEDs to userspace"; homepage = "https://github.com/DHowett/framework-laptop-kmod"; license = licenses.gpl2; maintainers = with maintainers; [ gaykitty ]; diff --git a/nixpkgs/pkgs/os-specific/linux/freeipa/default.nix b/nixpkgs/pkgs/os-specific/linux/freeipa/default.nix index e94f6370da98..7311261780f1 100644 --- a/nixpkgs/pkgs/os-specific/linux/freeipa/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/freeipa/default.nix @@ -64,11 +64,11 @@ let in stdenv.mkDerivation rec { pname = "freeipa"; - version = "4.11.1"; + version = "4.12.0"; src = fetchurl { url = "https://releases.pagure.org/freeipa/freeipa-${version}.tar.gz"; - sha256 = "sha256-Ubq2xAqBvjUwrzD2R6tB0i1WsdA0Y0jnJLgi4p4r8D4="; + sha256 = "sha256-FEDGPhgxr5kV8BeeM10C92yLbZPE7KGPmUUwyvZCkQA="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/os-specific/linux/fsverity-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/fsverity-utils/default.nix index 7d0f1f48e7e5..911b1f1fa195 100644 --- a/nixpkgs/pkgs/os-specific/linux/fsverity-utils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/fsverity-utils/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.kernel.org/doc/html/latest/filesystems/fsverity.html#userspace-utility"; changelog = "https://git.kernel.org/pub/scm/fs/fsverity/fsverity-utils.git/tree/NEWS.md"; - description = "A set of userspace utilities for fs-verity"; + description = "Set of userspace utilities for fs-verity"; mainProgram = "fsverity"; license = licenses.mit; maintainers = with maintainers; [ jk ]; diff --git a/nixpkgs/pkgs/os-specific/linux/g15daemon/default.nix b/nixpkgs/pkgs/os-specific/linux/g15daemon/default.nix index 90a818be4947..8cd10899a336 100644 --- a/nixpkgs/pkgs/os-specific/linux/g15daemon/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/g15daemon/default.nix @@ -1,10 +1,6 @@ { stdenv , lib -, fetchFromGitHub , fetchurl -, fetchpatch -, patchelf -, freetype , libusb-compat-0_1 }: let @@ -49,7 +45,7 @@ let enableParallelBuilding = true; meta = { - description = "A small graphics library optimised for drawing on an LCD"; + description = "Small graphics library optimised for drawing on an LCD"; inherit license maintainers; }; }; @@ -87,7 +83,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - description = "A daemon that makes it possible to use the Logitech keyboard G-Buttons and draw on various Logitech LCDs"; + description = "Daemon that makes it possible to use the Logitech keyboard G-Buttons and draw on various Logitech LCDs"; mainProgram = "g15daemon"; inherit license maintainers; }; diff --git a/nixpkgs/pkgs/os-specific/linux/gasket/default.nix b/nixpkgs/pkgs/os-specific/linux/gasket/default.nix index c1e81dfa9b71..d3215bd668c5 100644 --- a/nixpkgs/pkgs/os-specific/linux/gasket/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/gasket/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = kernel.moduleBuildDependencies; meta = with lib; { - description = "The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems."; + description = "Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems"; homepage = "https://github.com/google/gasket-driver"; license = licenses.gpl2; maintainers = [ lib.maintainers.kylehendricks ]; diff --git a/nixpkgs/pkgs/os-specific/linux/guvcview/default.nix b/nixpkgs/pkgs/os-specific/linux/guvcview/default.nix index d274c375fb42..def7248c3b2c 100644 --- a/nixpkgs/pkgs/os-specific/linux/guvcview/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/guvcview/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { ; meta = with lib; { - description = "A simple interface for devices supported by the linux UVC driver"; + description = "Simple interface for devices supported by the linux UVC driver"; mainProgram = "guvcview"; homepage = "https://guvcview.sourceforge.net"; maintainers = [ maintainers.coconnor ]; diff --git a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix b/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix index 3e23e3a7da7b..156901d3643d 100644 --- a/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { ]; meta = with lib; { - description = "A tool to get/set ATA/SATA drive parameters under Linux"; + description = "Tool to get/set ATA/SATA drive parameters under Linux"; homepage = "https://sourceforge.net/projects/hdparm/"; platforms = platforms.linux; license = licenses.bsd2; diff --git a/nixpkgs/pkgs/os-specific/linux/hibernate/default.nix b/nixpkgs/pkgs/os-specific/linux/hibernate/default.nix index 71a93e4a154e..dfd3407f2a03 100644 --- a/nixpkgs/pkgs/os-specific/linux/hibernate/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/hibernate/default.nix @@ -32,7 +32,7 @@ in ''; meta = { - description = "The `hibernate' script for swsusp and Tux-on-Ice"; + description = "`hibernate' script for swsusp and Tux-on-Ice"; mainProgram = "hibernate"; longDescription = '' This package provides the `hibernate' script, a command-line utility diff --git a/nixpkgs/pkgs/os-specific/linux/hid-t150/default.nix b/nixpkgs/pkgs/os-specific/linux/hid-t150/default.nix new file mode 100644 index 000000000000..b3800ec5cfa3 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/hid-t150/default.nix @@ -0,0 +1,40 @@ +{ + stdenv, + lib, + fetchFromGitHub, + kernel, +}: + +stdenv.mkDerivation { + pname = "hid-t150"; + #https://github.com/scarburato/t150_driver/blob/165d0601e11576186c9416c40144927549ef804d/install.sh#L3 + version = "0.8a"; + + src = fetchFromGitHub { + owner = "scarburato"; + repo = "t150_driver"; + rev = "580b79b7b479076ba470fcc21fbd8484f5328546"; + hash = "sha256-6xqm8500+yMXA/WonMv1JAOS/oIeSNDp9HFuYkEd03U="; + }; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + sourceRoot = "source/hid-t150"; + + makeFlags = kernel.makeFlags ++ [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "INSTALL_MOD_PATH=${placeholder "out"}" + ]; + + installPhase = '' + make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=$(pwd) modules_install $makeFlags + ''; + + meta = with lib; { + description = "Linux kernel driver for Thrustmaster T150 and TMX Force Feedback wheel"; + homepage = "https://github.com/scarburato/t150_driver"; + license = licenses.gpl2; + maintainers = [ maintainers.dbalan ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix b/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix index ac297c78e10e..bc296e9ab622 100644 --- a/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/hid-tmff2/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation { postPatch = "sed -i '/depmod -A/d' Makefile"; meta = with lib; { - description = "A linux kernel module for Thrustmaster T300RS, T248 and TX(experimental)"; + description = "Linux kernel module for Thrustmaster T300RS, T248 and TX(experimental)"; homepage = "https://github.com/Kimplul/hid-tmff2"; license = licenses.gpl2Plus; maintainers = [ maintainers.rayslash ]; diff --git a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix index 23ace63249b1..7e89feaa6514 100644 --- a/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/hostapd/default.nix @@ -103,7 +103,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://w1.fi/hostapd/"; - description = "A user space daemon for access point and authentication servers"; + description = "User space daemon for access point and authentication servers"; license = licenses.gpl2; maintainers = with maintainers; [ ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/i7z/default.nix b/nixpkgs/pkgs/os-specific/linux/i7z/default.nix index 9bd5ca302da3..7f2b2d5d0a59 100644 --- a/nixpkgs/pkgs/os-specific/linux/i7z/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/i7z/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A better i7 (and now i3, i5) reporting tool for Linux"; + description = "Better i7 (and now i3, i5) reporting tool for Linux"; mainProgram = "i7z"; homepage = "https://github.com/DimitryAndric/i7z"; license = licenses.gpl2; diff --git a/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix b/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix index 3a202ca08e96..ab3fa970d380 100644 --- a/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/i810switch/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { }; meta = with lib; { - description = "A utility for switching between the LCD and external VGA display on Intel graphics cards"; + description = "Utility for switching between the LCD and external VGA display on Intel graphics cards"; homepage = "http://www16.plala.or.jp/mano-a-mano/i810switch.html"; maintainers = with maintainers; [ ]; license = licenses.gpl2; diff --git a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix index e686e0680419..8f5655a90cbd 100644 --- a/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/intel-compute-runtime/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "intel-compute-runtime"; - version = "24.13.29138.7"; + version = "24.17.29377.6"; src = fetchFromGitHub { owner = "intel"; repo = "compute-runtime"; rev = version; - hash = "sha256-AMIuA1AMrSX0xpdGSfye8iUJTk5s9HDiRy9Yy3kZss8="; + hash = "sha256-+bx6P1vZlgolHrINzkH4ukXT+hgAtH18DOX6vb9vPVs="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/nixpkgs/pkgs/os-specific/linux/iomelt/default.nix b/nixpkgs/pkgs/os-specific/linux/iomelt/default.nix index 331c9020a480..8796b740c347 100644 --- a/nixpkgs/pkgs/os-specific/linux/iomelt/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/iomelt/default.nix @@ -20,7 +20,7 @@ in stdenv.mkDerivation { ''; meta = with lib; { - description = "A simple yet effective way to benchmark disk IO in Linux systems"; + description = "Simple yet effective way to benchmark disk IO in Linux systems"; homepage = "https://github.com/camposr/iomelt"; maintainers = with maintainers; [ raspher ]; license = licenses.artistic2; diff --git a/nixpkgs/pkgs/os-specific/linux/iotop/default.nix b/nixpkgs/pkgs/os-specific/linux/iotop/default.nix index 41647a2378e4..496ff7f11537 100644 --- a/nixpkgs/pkgs/os-specific/linux/iotop/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/iotop/default.nix @@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec { doCheck = false; meta = with lib; { - description = "A tool to find out the processes doing the most IO"; + description = "Tool to find out the processes doing the most IO"; homepage = "http://guichaz.free.fr/iotop"; license = licenses.gpl2; mainProgram = "iotop"; diff --git a/nixpkgs/pkgs/os-specific/linux/iproute/default.nix b/nixpkgs/pkgs/os-specific/linux/iproute/default.nix index 597989c5a064..3cc7759b4183 100644 --- a/nixpkgs/pkgs/os-specific/linux/iproute/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/iproute/default.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://wiki.linuxfoundation.org/networking/iproute2"; - description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux"; + description = "Collection of utilities for controlling TCP/IP networking and traffic control in Linux"; platforms = platforms.linux; license = licenses.gpl2; maintainers = with maintainers; [ primeos eelco fpletz globin ]; diff --git a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix index b82484514e5f..2efa60951825 100644 --- a/nixpkgs/pkgs/os-specific/linux/iptables/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/iptables/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - description = "A program to configure the Linux IP packet filtering ruleset"; + description = "Program to configure the Linux IP packet filtering ruleset"; homepage = "https://www.netfilter.org/projects/iptables/index.html"; platforms = platforms.linux; maintainers = with maintainers; [ fpletz ]; diff --git a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix index 75d706b63f95..aa83a91216b6 100644 --- a/nixpkgs/pkgs/os-specific/linux/iputils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/iputils/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/iputils/iputils"; changelog = "https://github.com/iputils/iputils/releases/tag/${version}"; - description = "A set of small useful utilities for Linux networking"; + description = "Set of small useful utilities for Linux networking"; longDescription = '' A set of small useful utilities for Linux networking including: diff --git a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix index 5e4b7fff489c..48e2774aaa96 100644 --- a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, glib, ncurses, libcap_ng }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, ncurses, libcap_ng }: stdenv.mkDerivation rec { pname = "irqbalance"; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/Irqbalance/irqbalance"; changelog = "https://github.com/Irqbalance/irqbalance/releases/tag/v${version}"; - description = "A daemon to help balance the cpu load generated by interrupts across all of a systems cpus"; + description = "Daemon to help balance the cpu load generated by interrupts across all of a systems cpus"; license = licenses.gpl2Only; platforms = platforms.linux; maintainers = with maintainers; [ moni ]; diff --git a/nixpkgs/pkgs/os-specific/linux/iw/default.nix b/nixpkgs/pkgs/os-specific/linux/iw/default.nix deleted file mode 100644 index 4c1d94f02e6b..000000000000 --- a/nixpkgs/pkgs/os-specific/linux/iw/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, libnl }: - -stdenv.mkDerivation rec { - pname = "iw"; - version = "5.19"; - - src = fetchurl { - url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-8We76UfdU7uevAwdzvXbatc6wdYITyxvk3bFw2DMTU4="; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libnl ]; - - makeFlags = [ "PREFIX=${placeholder "out"}" ]; - - meta = { - description = "Tool to use nl80211"; - mainProgram = "iw"; - longDescription = '' - iw is a new nl80211 based CLI configuration utility for wireless devices. - It supports all new drivers that have been added to the kernel recently. - The old tool iwconfig, which uses Wireless Extensions interface, is - deprecated and it's strongly recommended to switch to iw and nl80211. - ''; - homepage = "https://wireless.wiki.kernel.org/en/users/Documentation/iw"; - license = lib.licenses.isc; - maintainers = with lib.maintainers; [ viric primeos ]; - platforms = with lib.platforms; linux; - }; -} diff --git a/nixpkgs/pkgs/os-specific/linux/kbdlight/default.nix b/nixpkgs/pkgs/os-specific/linux/kbdlight/default.nix index b41e4cd4da1c..4d6172fa39fe 100644 --- a/nixpkgs/pkgs/os-specific/linux/kbdlight/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/kbdlight/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/hobarrera/kbdlight"; - description = "A very simple application that changes MacBooks' keyboard backlight level"; + description = "Very simple application that changes MacBooks' keyboard backlight level"; mainProgram = "kbdlight"; license = licenses.isc; maintainers = [ maintainers.womfoo ]; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix index fc2f8ddbd143..bf3bf4950a25 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix @@ -111,12 +111,12 @@ let in { inherit makeLinuxHeaders; - linuxHeaders = let version = "6.7"; in + linuxHeaders = let version = "6.9"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; - hash = "sha256-7zEUSiV20IDYwxaY6D7J9mv5fGd/oqrw1bu58zRbEGk="; + hash = "sha256-JPoB+5icej4oRT8Rd5kWhxN2bhGcU4HawwEV8Y8mgUk="; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix index 84090cba867e..c9bf29616062 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix @@ -441,7 +441,8 @@ let # (stable) amdgpu support for bonaire and newer chipsets DRM_AMDGPU_CIK = yes; # Allow device firmware updates - DRM_DP_AUX_CHARDEV = yes; + DRM_DP_AUX_CHARDEV = whenOlder "6.10" yes; + DRM_DISPLAY_DP_AUX_CHARDEV = whenAtLeast "6.10" yes; # amdgpu display core (DC) support DRM_AMD_DC_DCN1_0 = whenOlder "5.6" yes; DRM_AMD_DC_DCN2_0 = whenBetween "5.3" "5.6" yes; @@ -470,7 +471,8 @@ let MEDIA_CEC_RC = whenAtLeast "5.10" yes; # Enable CEC over DisplayPort - DRM_DP_CEC = yes; + DRM_DP_CEC = whenOlder "6.10" yes; + DRM_DISPLAY_DP_AUX_CEC = whenAtLeast "6.10" yes; } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") { # Intel GVT-g graphics virtualization supports 64-bit only DRM_I915_GVT = yes; @@ -927,8 +929,10 @@ let # i686 issues: https://github.com/NixOS/nixpkgs/pull/117961#issuecomment-812106375 useZstd = stdenv.buildPlatform.is64bit && versionAtLeast version "5.9"; in { - KERNEL_XZ = mkIf (!useZstd) yes; - KERNEL_ZSTD = mkIf useZstd yes; + # stdenv.hostPlatform.linux-kernel.target assumes uncompressed on RISC-V. + KERNEL_UNCOMPRESSED = mkIf stdenv.hostPlatform.isRiscV yes; + KERNEL_XZ = mkIf (!stdenv.hostPlatform.isRiscV && !useZstd) yes; + KERNEL_ZSTD = mkIf (!stdenv.hostPlatform.isRiscV && useZstd) yes; HID_BATTERY_STRENGTH = yes; # enabled by default in x86_64 but not arm64, so we do that here diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix index 37c138402d00..081cfcaa8b60 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix @@ -97,7 +97,7 @@ let # For further context, see https://github.com/NixOS/nixpkgs/pull/143113#issuecomment-953319957 basicArgs = builtins.removeAttrs args - (lib.filter (x: ! (builtins.elem x [ "version" "src" ])) (lib.attrNames args)); + (lib.filter (x: ! (builtins.elem x [ "version" "pname" "src" ])) (lib.attrNames args)); # Combine the `features' attribute sets of all the kernel patches. kernelFeatures = lib.foldr (x: y: (x.features or {}) // y) ({ diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix index dec6a757c529..d687366dbe2f 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/config.nix @@ -88,7 +88,7 @@ assert (versionAtLeast version "4.9"); UBSAN = yes; UBSAN_TRAP = whenAtLeast "5.7" yes; UBSAN_BOUNDS = whenAtLeast "5.7" yes; - UBSAN_SANITIZE_ALL = yes; + UBSAN_SANITIZE_ALL = whenOlder "6.9" yes; UBSAN_LOCAL_BOUNDS = option yes; # clang only CFI_CLANG = option yes; # clang only Control Flow Integrity since 6.1 @@ -97,7 +97,7 @@ assert (versionAtLeast version "4.9"); RANDSTRUCT_PERFORMANCE = whenAtLeast "5.19" yes; # Disable various dangerous settings - ACPI_CUSTOM_METHOD = no; # Allows writing directly to physical memory + ACPI_CUSTOM_METHOD = whenOlder "6.9" no; # Allows writing directly to physical memory PROC_KCORE = no; # Exposes kernel text image layout INET_DIAG = no; # Has been used for heap based attacks in the past diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json index ada6932dc85f..62f1fcdda20c 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -2,71 +2,81 @@ "4.19": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-4.19.313-hardened1.patch", - "sha256": "1fa30s98cbk64315y7vwz7pc2ba0rcs2msaiiib8p85kid5c80v8", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.313-hardened1/linux-hardened-4.19.313-hardened1.patch" + "name": "linux-hardened-4.19.315-hardened1.patch", + "sha256": "1w17mwsv618pw5bkahmz6in0i5zjjxd3d14gggafqdd3dgfr1h8q", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.315-hardened1/linux-hardened-4.19.315-hardened1.patch" }, - "sha256": "1j1r4mrdh1ray468jr5i8d2afiswb653bhq0ck8bcdw4rwp5w558", - "version": "4.19.313" + "sha256": "1j1j8awy0237jp2r211qpa305c10y7rlcbkxkzdvzbgyhwy4spkc", + "version": "4.19.315" }, "5.10": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.10.216-hardened1.patch", - "sha256": "1hj59x5wrh8bkgxp1f5sh8h5rirh4878gywanjmf7qjq6w2wj5rh", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.216-hardened1/linux-hardened-5.10.216-hardened1.patch" + "name": "linux-hardened-5.10.218-hardened1.patch", + "sha256": "1ah4pznha17ngg3w7l0j74h4910gjv8qj503adrap7plvapf82m4", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.218-hardened1/linux-hardened-5.10.218-hardened1.patch" }, - "sha256": "0lg1zfb9y4ps86q85mlnyalb3s90zix003z62jb9bw139f65h473", - "version": "5.10.216" + "sha256": "1mmj5hwm5i16gc1y4nzr1cs882vi6vrihrincdcivv63x11v4dlw", + "version": "5.10.218" }, "5.15": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.15.158-hardened1.patch", - "sha256": "1q37hdac1mk91rrl2p3j4d69wiphzm1mfbvl6cxlsrc42pjbapz3", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.158-hardened1/linux-hardened-5.15.158-hardened1.patch" + "name": "linux-hardened-5.15.160-hardened1.patch", + "sha256": "1r10ylx886rslsmrixlijjm4crhwzkl3wj6kpyn2344qik1gxpqr", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.160-hardened1/linux-hardened-5.15.160-hardened1.patch" }, - "sha256": "1inmdpif3qf1blmvjj4i7y42bylvhv0wyj3b0apq12zxlj1iq1zr", - "version": "5.15.158" + "sha256": "018v19a7rhzc4szybzzn86jlnk42x7jm6xkadfd2d3xq6f7727pl", + "version": "5.15.160" }, "5.4": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-5.4.275-hardened1.patch", - "sha256": "10fw4hkavnj6nhjqz186sqxbvjz6g62mhyjmlnlxik322nbh6jk6", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.275-hardened1/linux-hardened-5.4.275-hardened1.patch" + "name": "linux-hardened-5.4.277-hardened1.patch", + "sha256": "1zjw5wl8lj69j402qm8dg3m4dxgq3ppx2jyz8jks976vyhh8fsg4", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.277-hardened1/linux-hardened-5.4.277-hardened1.patch" }, - "sha256": "0k1hyknx854k8z27j4rq1gcp8l0xc0bspmrhc41a033gjilb1lns", - "version": "5.4.275" + "sha256": "0l8zq3k07hdprfpvw69ykkf2pdg8wiv28xz733yxsjcfb0l5n7vy", + "version": "5.4.277" }, "6.1": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-6.1.90-hardened1.patch", - "sha256": "1wjckrv0p7phai6ian39kl0rpmzvrzz10bi92xgdq8hhsbp2p3fk", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.90-hardened1/linux-hardened-6.1.90-hardened1.patch" + "name": "linux-hardened-6.1.92-hardened1.patch", + "sha256": "0cw87ygmisi823y3f7xrck12b6zh3mq1qmb7lcmr3hg6w3xskmn3", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.92-hardened1/linux-hardened-6.1.92-hardened1.patch" }, - "sha256": "07cfg0chssvpc4mqls3aln6s4lqjp6k4x2n63wndmkjgfqpdg8w3", - "version": "6.1.90" + "sha256": "1j9n8gk76nn4gw42iba5zgghr360gb9n1mslr5dyv76wpwkz86ch", + "version": "6.1.92" }, "6.6": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-6.6.30-hardened1.patch", - "sha256": "0q6x7prx1ncf3ni5zvpjav9jcq1n50fq0wcarw022bis1rmrhczy", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.30-hardened1/linux-hardened-6.6.30-hardened1.patch" + "name": "linux-hardened-6.6.32-hardened1.patch", + "sha256": "19362a6lxs3cnaw19jvda7n791y95lfgn9ki4wmaxnw2qbpi0bgg", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.32-hardened1/linux-hardened-6.6.32-hardened1.patch" }, - "sha256": "1ilwmgpgvddwkd9nx5999cb6z18scjyq7jklid26k1hg7f35nsmn", - "version": "6.6.30" + "sha256": "1qbc8dqmk2xs1cz968rysw5xvhq3lj8g0pxp48fr2qbzy3m29a5a", + "version": "6.6.32" }, "6.8": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-6.8.9-hardened1.patch", - "sha256": "115d1fgddfcffmfg5f31w50lf2cskkwakngb343didrwfa28nrxf", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.8.9-hardened1/linux-hardened-6.8.9-hardened1.patch" + "name": "linux-hardened-6.8.11-hardened1.patch", + "sha256": "08i03dmri9h6jxcjd9g6s7pv0spqi3f4fgch1ars68cgngikvbpq", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.8.11-hardened1/linux-hardened-6.8.11-hardened1.patch" }, - "sha256": "1dn9bgmf03bdfbmgq98d043702g808rjikxs2i9yia57iqiz21gr", - "version": "6.8.9" + "sha256": "1di8kr596sf68sm61kp5rz6bn3sb0q5ag1qc5hm8f9dpyq4wv3dp", + "version": "6.8.11" + }, + "6.9": { + "patch": { + "extra": "-hardened1", + "name": "linux-hardened-6.9.2-hardened1.patch", + "sha256": "0ph1m0pnlqrhvddz2mjgcwvs0ddcpzigz8kgi9zi063qinlfbm3q", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.9.2-hardened1/linux-hardened-6.9.2-hardened1.patch" + }, + "sha256": "1yg5j284y1gz7zwxjz2abvlnas259m1y1vzd9lmcqqar5kgmnv6l", + "version": "6.9.2" } } diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/htmldocs.nix b/nixpkgs/pkgs/os-specific/linux/kernel/htmldocs.nix index eb22645d2e9e..b811cf12bb01 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/htmldocs.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/htmldocs.nix @@ -7,7 +7,6 @@ , perl , python3 , which -, fetchpatch }: stdenv.mkDerivation { @@ -15,16 +14,6 @@ stdenv.mkDerivation { inherit (linux_latest) version src; - patches = [ - # docutils 0.21 has removed nodes.reprunicode - # fixes the `AttributeError` thrown when building docs. - (fetchpatch { - name = "docutils_fix.patch"; - url = "https://lore.kernel.org/linux-doc/faf5fa45-2a9d-4573-9d2e-3930bdc1ed65@gmail.com/raw"; - hash = "sha256-JuV1B/8iDysbH0tl+wr/rdXvoC34uUq25ejMFmD0hio="; - }) - ]; - postPatch = '' patchShebangs \ Documentation/sphinx/parse-headers.pl \ diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json index bcf3560c2077..1619002be01c 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,38 +1,38 @@ { "testing": { - "version": "6.9-rc6", - "hash": "sha256:075l5vhk8zmwln4jks7gr5n5k67s65qvs07l2rpbc7a75fdp6c14" + "version": "6.10-rc4", + "hash": "sha256:1cx7c25fa8pvabhwph0rdqdryalxgl7rs1ry0v4k048bxpisvahf" }, "6.1": { - "version": "6.1.91", - "hash": "sha256:1v2d5syxwwqlhvjzxk003qz9sr18r0n8dgg976vbi492r9iww2l8" + "version": "6.1.94", + "hash": "sha256:0sakp5k4q2xfd3la7j8s2rcbvndh6fdqgzz5ivyqf0df4anp3siq" }, "5.15": { - "version": "5.15.159", - "hash": "sha256:1ia1nfci2wkx4nhnldfczpcq47mp7y7g657ikkh8i72y498gwy1l" + "version": "5.15.161", + "hash": "sha256:0k277hz6nq62v0xfc1n2hc69cyvmnxpl0qcbszinajywh23gfafn" }, "5.10": { - "version": "5.10.217", - "hash": "sha256:0qhzqrjci45vcbzjch7vq75i6hpyap6yb7jw6g71phcnqgzw2ay5" + "version": "5.10.219", + "hash": "sha256:0c6dhi6w8likvyyzw7wj2fqhz8nhv760kkic8bk66r1prhakzdwk" }, "5.4": { - "version": "5.4.276", - "hash": "sha256:01vfx19n8rv9fgjjzvi78125md71zgn5jrinbarabzr18jyjwwg2" + "version": "5.4.278", + "hash": "sha256:1245zf7vk2fyprw9fspljqy9wlzma9bayri7xx2g8iam2430d875" }, "4.19": { - "version": "4.19.314", - "hash": "sha256:0nvrpg5aj2q4h2drmczprqaprcc2zhcrijfri77b830ms8rg4y2a" + "version": "4.19.316", + "hash": "sha256:0lmyhwr4la7kvim7jqdi29scjkvqp9crpvdbhpb4j8d7mj5kgzz4" }, "6.6": { - "version": "6.6.31", - "hash": "sha256:080wwrc231fbf43hvvygddmdxdspyw23jc5vnd6fr5ccdybgzv6n" + "version": "6.6.34", + "hash": "sha256:180v8q5376gl6zmjd54qcb1wpmz7cq299bdbhmz738rsb67yrq64" }, "6.8": { - "version": "6.8.10", - "hash": "sha256:0xjirg2w5fc2w2q6wr702akszq32m31lk4q5nbjq10zqhbcr5fxh" + "version": "6.8.12", + "hash": "sha256:0fb0m0fv4521g63gq04d7lm6hy8169s1rykiav5bkd99s9b1kcqr" }, "6.9": { - "version": "6.9.1", - "hash": "sha256:0jn0qp22vx7xf2mgaj7cwf8agqhahvrwlda4ak6rw67xk2x19d01" + "version": "6.9.5", + "hash": "sha256:1ccm5w2x3faln5d0jj954xf99x7hn74ihk5zv6di99h3a2mv87x5" } } diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix index 3344808ca278..b5be3ba7230a 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "19546"; - sha256 = "1yyj7pbfs02fki1rdxfj9gcrxdrl26igisy4fji7czcc9xbw03qm"; + rev = "19584"; + sha256 = "1vhk4jnx8f98lkj2isrms2jm9c5qrpgayxbhawslqrprq1pmzlif"; } , ... }: @@ -23,6 +23,7 @@ in linux.override { argsOverride = { modDirVersion = "${linux.modDirVersion}-${versionPrefix}"; isLibre = true; + pname = "linux-libre"; src = stdenv.mkDerivation { name = "${linux.name}-libre-src"; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix index f1449998984b..775a50980f6d 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -2,18 +2,19 @@ let # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this - modDirVersion = "6.1.63"; - tag = "stable_20231123"; + modDirVersion = "6.6.31"; + tag = "stable_20240529"; in lib.overrideDerivation (buildLinux (args // { version = "${modDirVersion}-${tag}"; inherit modDirVersion; + pname = "linux-rpi"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "linux"; rev = tag; - hash = "sha256-4Rc57y70LmRFwDnOD4rHoHGmfxD9zYEAwYm9Wvyb3no="; + hash = "sha256-UWUTeCpEN7dlFSQjog6S3HyEWCCnaqiUqV5KxCjYink="; }; defconfig = { @@ -23,32 +24,33 @@ lib.overrideDerivation (buildLinux (args // { "4" = "bcm2711_defconfig"; }.${toString rpiVersion}; + structuredExtraConfig = (args.structuredExtraConfig or {}) // (with lib.kernel; { + # Workaround https://github.com/raspberrypi/linux/issues/6198 + # Needed because NixOS 24.05+ sets DRM_SIMPLEDRM=y which pulls in + # DRM_KMS_HELPER=y. + BACKLIGHT_CLASS_DEVICE = yes; + }); + features = { efiBootStub = false; } // (args.features or {}); kernelPatches = (args.kernelPatches or []) ++ [ - # Fix "WARNING: unmet direct dependencies detected for MFD_RP1", and - # subsequent build failure. - # https://github.com/NixOS/nixpkgs/pull/268280#issuecomment-1911839809 - # https://github.com/raspberrypi/linux/pull/5900 + # Fix compilation errors due to incomplete patch backport. + # https://github.com/raspberrypi/linux/pull/6223 { - name = "drm-rp1-depends-on-instead-of-select-MFD_RP1.patch"; + name = "gpio-pwm_-_pwm_apply_might_sleep.patch"; patch = fetchpatch { - url = "https://github.com/peat-psuwit/rpi-linux/commit/6de0bb51929cd3ad4fa27b2a421a2af12e6468f5.patch"; - hash = "sha256-9pHcbgWTiztu48SBaLPVroUnxnXMKeCGt5vEo9V8WGw="; + url = "https://github.com/peat-psuwit/rpi-linux/commit/879f34b88c60dd59765caa30576cb5bfb8e73c56.patch"; + hash = "sha256-HlOkM9EFmlzOebCGoj7lNV5hc0wMjhaBFFZvaRCI0lI="; }; } - # Fix `ERROR: modpost: missing MODULE_LICENSE() in <...>/bcm2712-iommu.o` - # by preventing such code from being built as module. - # https://github.com/NixOS/nixpkgs/pull/284035#issuecomment-1913015802 - # https://github.com/raspberrypi/linux/pull/5910 { - name = "iommu-bcm2712-don-t-allow-building-as-module.patch"; + name = "ir-rx51_-_pwm_apply_might_sleep.patch"; patch = fetchpatch { - url = "https://github.com/peat-psuwit/rpi-linux/commit/693a5e69bddbcbe1d1b796ebc7581c3597685b1b.patch"; - hash = "sha256-8BYYQDM5By8cTk48ASYKJhGVQnZBIK4PXtV70UtfS+A="; + url = "https://github.com/peat-psuwit/rpi-linux/commit/23431052d2dce8084b72e399fce82b05d86b847f.patch"; + hash = "sha256-UDX/BJCJG0WVndP/6PbPK+AZsfU3vVxDCrpn1kb1kqE="; }; } ]; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix index e19b0699a33f..ec7f104bcb1d 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix @@ -6,25 +6,26 @@ , ... } @ args: let - version = "5.10.216-rt108"; # updated by ./update-rt.sh + version = "5.10.218-rt110"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { inherit version; + pname = "linux-rt"; # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. modDirVersion = lib.versions.pad 3 version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "0lg1zfb9y4ps86q85mlnyalb3s90zix003z62jb9bw139f65h473"; + sha256 = "1mmj5hwm5i16gc1y4nzr1cs882vi6vrihrincdcivv63x11v4dlw"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0p0qmyz3g7fqlz4f638dlcp37az8lpq5yqw2fy5zqqs3qagy018j"; + sha256 = "0zam7hlcrphxv53jcza7sw0lv8a9mz15cl35adwb2rd2y1x9nhad"; }; }; in [ rt-patch ] ++ kernelPatches; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix index 5e43eca364d4..127d7e663513 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix @@ -6,11 +6,12 @@ , ... } @ args: let - version = "5.15.158-rt76"; # updated by ./update-rt.sh + version = "5.15.160-rt77"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { inherit version; + pname = "linux-rt"; # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version @@ -18,14 +19,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "1inmdpif3qf1blmvjj4i7y42bylvhv0wyj3b0apq12zxlj1iq1zr"; + sha256 = "018v19a7rhzc4szybzzn86jlnk42x7jm6xkadfd2d3xq6f7727pl"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "17kw7cs1p0qgqf911prn3472c1j7r01g0mzqxsxpkdvhawxps7wy"; + sha256 = "0id4m1k1xq84bxgnchm8r2iwfqw6nacv5n1ksgyzj6q6v66ik3wk"; }; }; in [ rt-patch ] ++ kernelPatches; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix index 463385036292..2fc18c76e570 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix @@ -11,6 +11,7 @@ let kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { inherit version; + pname = "linux-rt"; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix index ac0f7d6d9d88..0427f9c15986 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix @@ -6,11 +6,12 @@ , ... } @ args: let - version = "6.1.90-rt30"; # updated by ./update-rt.sh + version = "6.1.92-rt32"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { inherit version; + pname = "linux-rt"; # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version @@ -18,14 +19,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; - sha256 = "07cfg0chssvpc4mqls3aln6s4lqjp6k4x2n63wndmkjgfqpdg8w3"; + sha256 = "1j9n8gk76nn4gw42iba5zgghr360gb9n1mslr5dyv76wpwkz86ch"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "0sgwxdy4bzjqr74nrmsyw1f2lcqpapxmkj5yywf7jkqa20jkdvgr"; + sha256 = "00qa6l4jvkdny276jnwnra5dkagnp3qr43amf2mpqx3kdfw28g1q"; }; }; in [ rt-patch ] ++ kernelPatches; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix index 5a2e8959090f..57c268fe397e 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix @@ -6,11 +6,12 @@ , ... } @ args: let - version = "6.6.30-rt30"; # updated by ./update-rt.sh + version = "6.6.32-rt32"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { inherit version; + pname = "linux-rt"; # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version @@ -18,14 +19,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz"; - sha256 = "1ilwmgpgvddwkd9nx5999cb6z18scjyq7jklid26k1hg7f35nsmn"; + sha256 = "1qbc8dqmk2xs1cz968rysw5xvhq3lj8g0pxp48fr2qbzy3m29a5a"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "05n6fyy5c0f18v4n1rfkcvqj8s0p5x6s16qq5mnmya86rhdr6gn7"; + sha256 = "0hv2z6d2gw7hqfzw6dgrzxlirk4yifcxbmx71hxlvd9l2vgp72q5"; }; }; in [ rt-patch ] ++ kernelPatches; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix index cab04ad0c7d8..3060ff9ef775 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix @@ -20,6 +20,8 @@ let in lib.makeOverridable ({ # The kernel version version, + # The kernel pname (should be set for variants) + pname ? "linux", # Position of the Linux build expression pos ? null, # Additional kernel make flags @@ -170,12 +172,6 @@ let # Ensure that depmod gets resolved through PATH sed -i Makefile -e 's|= /sbin/depmod|= depmod|' - # Don't include a (random) NT_GNU_BUILD_ID, to make the build more deterministic. - # This way kernels can be bit-by-bit reproducible depending on settings - # (e.g. MODULE_SIG and SECURITY_LOCKDOWN_LSM need to be disabled). - # See also https://kernelnewbies.org/BuildId - sed -i Makefile -e 's|--build-id=[^ ]*|--build-id=none|' - # Some linux-hardened patches now remove certain files in the scripts directory, so the file may not exist. [[ -f scripts/ld-version.sh ]] && patchShebangs scripts/ld-version.sh @@ -301,10 +297,10 @@ let export HOME=${installkernel} ''; - # Some image types need special install targets (e.g. uImage is installed with make uinstall) + # Some image types need special install targets (e.g. uImage is installed with make uinstall on arm) installTargets = [ (kernelConf.installTarget or ( - /**/ if kernelConf.target == "uImage" then "uinstall" + /**/ if kernelConf.target == "uImage" && stdenv.hostPlatform.linuxArch == "arm" then "uinstall" else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" then "zinstall" else "install")) ]; @@ -408,8 +404,7 @@ assert lib.versionOlder version "5.8" -> libelf != null; assert lib.versionAtLeast version "5.8" -> elfutils != null; stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile) // { - pname = "linux"; - inherit version; + inherit pname version; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix index 20100774395e..c1715a91e5fb 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix @@ -82,15 +82,21 @@ rust_1_77-6_8 = { name = "rust-1.77.patch"; - patch = fetchurl { - name = "rust-1.77.patch"; - url = "https://lore.kernel.org/rust-for-linux/20240217002717.57507-1-ojeda@kernel.org/raw"; - hash = "sha256-0KW9nHpJeMSDssCPXWZbrN8kxq5bA434t+XuPfwslUc="; - }; + patch = ./rust-1.77-6.8.patch; }; rust_1_77-6_9 = { name = "rust-1.77.patch"; patch = ./rust-1.77.patch; }; + + rust_1_78 = { + name = "rust-1.78.patch"; + patch = fetchpatch { + name = "rust-1.78.patch"; + url = "https://lore.kernel.org/rust-for-linux/20240401212303.537355-4-ojeda@kernel.org/raw"; + excludes = [ "Documentation/process/changes.rst" ]; # Conflicts on 6.8. + hash = "sha256-EZ+Qa9z1AtAv08e72M7BEsCZi9UK572gmW+AR62a8EM="; + }; + }; } diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix index 02f0407425d1..851a4c8d5d7b 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix @@ -1,6 +1,5 @@ { lib , stdenv -, fetchpatch , fetchurl , kernel , elfutils diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77-6.8.patch b/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77-6.8.patch new file mode 100644 index 000000000000..4b25d3e60e39 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77-6.8.patch @@ -0,0 +1,799 @@ +From 82a754271336c7736fb0350692be85fecb30e38e Mon Sep 17 00:00:00 2001 +From: Miguel Ojeda <ojeda@kernel.org> +Date: Sat, 17 Feb 2024 01:27:17 +0100 +Subject: [PATCH] rust: upgrade to Rust 1.77.1 + +This is the next upgrade to the Rust toolchain, from 1.76.0 to 1.77.1 +(i.e. the latest) [1]. + +See the upgrade policy [2] and the comments on the first upgrade in +commit 3ed03f4da06e ("rust: upgrade to Rust 1.68.2"). + +# Unstable features + +The `offset_of` feature (single-field `offset_of!`) that we were using +got stabilized in Rust 1.77.0 [3]. + +Therefore, now the only unstable features allowed to be used outside the +`kernel` crate is `new_uninit`, though other code to be upstreamed may +increase the list. + +Please see [4] for details. + +# Required changes + +Rust 1.77.0 merged the `unused_tuple_struct_fields` lint into `dead_code`, +thus upgrading it from `allow` to `warn` [5]. In turn, this made `rustc` +complain about the `ThisModule`'s pointer field being never read, but +the previous patch adds the `as_ptr` method to it, needed by Binder [6], +so that we do not need to locally `allow` it. + +# Other changes + +Rust 1.77.0 introduces the `--check-cfg` feature [7], for which there +is a Call for Testing going on [8]. We were requested to test it and +we found it useful [9] -- we will likely enable it in the future. + +# `alloc` upgrade and reviewing + +The vast majority of changes are due to our `alloc` fork being upgraded +at once. + +There are two kinds of changes to be aware of: the ones coming from +upstream, which we should follow as closely as possible, and the updates +needed in our added fallible APIs to keep them matching the newer +infallible APIs coming from upstream. + +Instead of taking a look at the diff of this patch, an alternative +approach is reviewing a diff of the changes between upstream `alloc` and +the kernel's. This allows to easily inspect the kernel additions only, +especially to check if the fallible methods we already have still match +the infallible ones in the new version coming from upstream. + +Another approach is reviewing the changes introduced in the additions in +the kernel fork between the two versions. This is useful to spot +potentially unintended changes to our additions. + +To apply these approaches, one may follow steps similar to the following +to generate a pair of patches that show the differences between upstream +Rust and the kernel (for the subset of `alloc` we use) before and after +applying this patch: + + # Get the difference with respect to the old version. + git -C rust checkout $(linux/scripts/min-tool-version.sh rustc) + git -C linux ls-tree -r --name-only HEAD -- rust/alloc | + cut -d/ -f3- | + grep -Fv README.md | + xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH + git -C linux diff --patch-with-stat --summary -R > old.patch + git -C linux restore rust/alloc + + # Apply this patch. + git -C linux am rust-upgrade.patch + + # Get the difference with respect to the new version. + git -C rust checkout $(linux/scripts/min-tool-version.sh rustc) + git -C linux ls-tree -r --name-only HEAD -- rust/alloc | + cut -d/ -f3- | + grep -Fv README.md | + xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH + git -C linux diff --patch-with-stat --summary -R > new.patch + git -C linux restore rust/alloc + +Now one may check the `new.patch` to take a look at the additions (first +approach) or at the difference between those two patches (second +approach). For the latter, a side-by-side tool is recommended. + +Link: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1770-2024-03-21 [1] +Link: https://rust-for-linux.com/rust-version-policy [2] +Link: https://github.com/rust-lang/rust/pull/118799 [3] +Link: https://github.com/Rust-for-Linux/linux/issues/2 [4] +Link: https://github.com/rust-lang/rust/pull/118297 [5] +Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-2-08ba9197f637@google.com/#Z31rust:kernel:lib.rs [6] +Link: https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/check-cfg.html [7] +Link: https://github.com/rust-lang/rfcs/pull/3013#issuecomment-1936648479 [8] +Link: https://github.com/rust-lang/rust/issues/82450#issuecomment-1947462977 [9] +Reviewed-by: Alice Ryhl <aliceryhl@google.com> +Tested-by: Boqun Feng <boqun.feng@gmail.com> +Link: https://lore.kernel.org/r/20240217002717.57507-1-ojeda@kernel.org +[ Upgraded to 1.77.1. Removed `allow(dead_code)` thanks to the previous + patch. Reworded accordingly. No changes to `alloc` during the beta. ] +Signed-off-by: Miguel Ojeda <ojeda@kernel.org> +Signed-off-by: Alyssa Ross <hi@alyssa.is> + +# Conflicts: +# Documentation/process/changes.rst +# rust/kernel/lib.rs +--- + Documentation/process/changes.rst | 2 +- + rust/alloc/alloc.rs | 6 +- + rust/alloc/boxed.rs | 4 +- + rust/alloc/lib.rs | 7 +- + rust/alloc/raw_vec.rs | 13 ++-- + rust/alloc/slice.rs | 4 +- + rust/alloc/vec/into_iter.rs | 104 +++++++++++++++++++----------- + rust/alloc/vec/mod.rs | 101 ++++++++++++++++++++--------- + rust/kernel/lib.rs | 1 - + scripts/Makefile.build | 2 +- + scripts/min-tool-version.sh | 2 +- + 11 files changed, 158 insertions(+), 88 deletions(-) + +diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst +index c78ecc1e176f..641d67363b92 100644 +--- a/Documentation/process/changes.rst ++++ b/Documentation/process/changes.rst +@@ -31,7 +31,7 @@ you probably needn't concern yourself with pcmciautils. + ====================== =============== ======================================== + GNU C 5.1 gcc --version + Clang/LLVM (optional) 11.0.0 clang --version +-Rust (optional) 1.76.0 rustc --version ++Rust (optional) 1.77.1 rustc --version + bindgen (optional) 0.65.1 bindgen --version + GNU make 3.82 make --version + bash 4.2 bash --version +diff --git a/rust/alloc/alloc.rs b/rust/alloc/alloc.rs +index abb791cc2371..b1204f87227b 100644 +--- a/rust/alloc/alloc.rs ++++ b/rust/alloc/alloc.rs +@@ -5,7 +5,7 @@ + #![stable(feature = "alloc_module", since = "1.28.0")] + + #[cfg(not(test))] +-use core::intrinsics; ++use core::hint; + + #[cfg(not(test))] + use core::ptr::{self, NonNull}; +@@ -210,7 +210,7 @@ unsafe fn grow_impl( + let new_size = new_layout.size(); + + // `realloc` probably checks for `new_size >= old_layout.size()` or something similar. +- intrinsics::assume(new_size >= old_layout.size()); ++ hint::assert_unchecked(new_size >= old_layout.size()); + + let raw_ptr = realloc(ptr.as_ptr(), old_layout, new_size); + let ptr = NonNull::new(raw_ptr).ok_or(AllocError)?; +@@ -301,7 +301,7 @@ unsafe fn shrink( + // SAFETY: `new_size` is non-zero. Other conditions must be upheld by the caller + new_size if old_layout.align() == new_layout.align() => unsafe { + // `realloc` probably checks for `new_size <= old_layout.size()` or something similar. +- intrinsics::assume(new_size <= old_layout.size()); ++ hint::assert_unchecked(new_size <= old_layout.size()); + + let raw_ptr = realloc(ptr.as_ptr(), old_layout, new_size); + let ptr = NonNull::new(raw_ptr).ok_or(AllocError)?; +diff --git a/rust/alloc/boxed.rs b/rust/alloc/boxed.rs +index c93a22a5c97f..5fc39dfeb8e7 100644 +--- a/rust/alloc/boxed.rs ++++ b/rust/alloc/boxed.rs +@@ -26,6 +26,7 @@ + //! Creating a recursive data structure: + //! + //! ``` ++//! ##[allow(dead_code)] + //! #[derive(Debug)] + //! enum List<T> { + //! Cons(T, Box<List<T>>), +@@ -194,8 +195,7 @@ + #[fundamental] + #[stable(feature = "rust1", since = "1.0.0")] + // The declaration of the `Box` struct must be kept in sync with the +-// `alloc::alloc::box_free` function or ICEs will happen. See the comment +-// on `box_free` for more details. ++// compiler or ICEs will happen. + pub struct Box< + T: ?Sized, + #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global, +diff --git a/rust/alloc/lib.rs b/rust/alloc/lib.rs +index 36f79c075593..39afd55ec074 100644 +--- a/rust/alloc/lib.rs ++++ b/rust/alloc/lib.rs +@@ -105,7 +105,6 @@ + #![feature(allocator_api)] + #![feature(array_chunks)] + #![feature(array_into_iter_constructors)] +-#![feature(array_methods)] + #![feature(array_windows)] + #![feature(ascii_char)] + #![feature(assert_matches)] +@@ -122,7 +121,6 @@ + #![feature(const_size_of_val)] + #![feature(const_waker)] + #![feature(core_intrinsics)] +-#![feature(core_panic)] + #![feature(deprecated_suggestion)] + #![feature(dispatch_from_dyn)] + #![feature(error_generic_member_access)] +@@ -132,6 +130,7 @@ + #![feature(fmt_internals)] + #![feature(fn_traits)] + #![feature(hasher_prefixfree_extras)] ++#![feature(hint_assert_unchecked)] + #![feature(inline_const)] + #![feature(inplace_iteration)] + #![feature(iter_advance_by)] +@@ -141,6 +140,8 @@ + #![feature(maybe_uninit_slice)] + #![feature(maybe_uninit_uninit_array)] + #![feature(maybe_uninit_uninit_array_transpose)] ++#![feature(non_null_convenience)] ++#![feature(panic_internals)] + #![feature(pattern)] + #![feature(ptr_internals)] + #![feature(ptr_metadata)] +@@ -149,7 +150,6 @@ + #![feature(set_ptr_value)] + #![feature(sized_type_properties)] + #![feature(slice_from_ptr_range)] +-#![feature(slice_group_by)] + #![feature(slice_ptr_get)] + #![feature(slice_ptr_len)] + #![feature(slice_range)] +@@ -182,6 +182,7 @@ + #![feature(const_ptr_write)] + #![feature(const_trait_impl)] + #![feature(const_try)] ++#![feature(decl_macro)] + #![feature(dropck_eyepatch)] + #![feature(exclusive_range_pattern)] + #![feature(fundamental)] +diff --git a/rust/alloc/raw_vec.rs b/rust/alloc/raw_vec.rs +index 98b6abf30af6..1839d1c8ee7a 100644 +--- a/rust/alloc/raw_vec.rs ++++ b/rust/alloc/raw_vec.rs +@@ -4,7 +4,7 @@ + + use core::alloc::LayoutError; + use core::cmp; +-use core::intrinsics; ++use core::hint; + use core::mem::{self, ManuallyDrop, MaybeUninit, SizedTypeProperties}; + use core::ptr::{self, NonNull, Unique}; + use core::slice; +@@ -317,7 +317,7 @@ fn current_memory(&self) -> Option<(NonNull<u8>, Layout)> { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Aborts + /// +@@ -358,7 +358,7 @@ pub fn try_reserve(&mut self, len: usize, additional: usize) -> Result<(), TryRe + } + unsafe { + // Inform the optimizer that the reservation has succeeded or wasn't needed +- core::intrinsics::assume(!self.needs_to_grow(len, additional)); ++ hint::assert_unchecked(!self.needs_to_grow(len, additional)); + } + Ok(()) + } +@@ -381,7 +381,7 @@ pub fn try_reserve_for_push(&mut self, len: usize) -> Result<(), TryReserveError + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Aborts + /// +@@ -402,7 +402,7 @@ pub fn try_reserve_exact( + } + unsafe { + // Inform the optimizer that the reservation has succeeded or wasn't needed +- core::intrinsics::assume(!self.needs_to_grow(len, additional)); ++ hint::assert_unchecked(!self.needs_to_grow(len, additional)); + } + Ok(()) + } +@@ -553,7 +553,7 @@ fn finish_grow<A>( + debug_assert_eq!(old_layout.align(), new_layout.align()); + unsafe { + // The allocator checks for alignment equality +- intrinsics::assume(old_layout.align() == new_layout.align()); ++ hint::assert_unchecked(old_layout.align() == new_layout.align()); + alloc.grow(ptr, old_layout, new_layout) + } + } else { +@@ -591,7 +591,6 @@ fn handle_reserve(result: Result<(), TryReserveError>) { + // `> isize::MAX` bytes will surely fail. On 32-bit and 16-bit we need to add + // an extra guard for this in case we're running on a platform which can use + // all 4GB in user-space, e.g., PAE or x32. +- + #[inline] + fn alloc_guard(alloc_size: usize) -> Result<(), TryReserveError> { + if usize::BITS < 64 && alloc_size > isize::MAX as usize { +diff --git a/rust/alloc/slice.rs b/rust/alloc/slice.rs +index 1181836da5f4..a36b072c9519 100644 +--- a/rust/alloc/slice.rs ++++ b/rust/alloc/slice.rs +@@ -53,14 +53,14 @@ + pub use core::slice::{from_mut_ptr_range, from_ptr_range}; + #[stable(feature = "rust1", since = "1.0.0")] + pub use core::slice::{from_raw_parts, from_raw_parts_mut}; ++#[stable(feature = "slice_group_by", since = "1.77.0")] ++pub use core::slice::{ChunkBy, ChunkByMut}; + #[stable(feature = "rust1", since = "1.0.0")] + pub use core::slice::{Chunks, Windows}; + #[stable(feature = "chunks_exact", since = "1.31.0")] + pub use core::slice::{ChunksExact, ChunksExactMut}; + #[stable(feature = "rust1", since = "1.0.0")] + pub use core::slice::{ChunksMut, Split, SplitMut}; +-#[unstable(feature = "slice_group_by", issue = "80552")] +-pub use core::slice::{GroupBy, GroupByMut}; + #[stable(feature = "rust1", since = "1.0.0")] + pub use core::slice::{Iter, IterMut}; + #[stable(feature = "rchunks", since = "1.31.0")] +diff --git a/rust/alloc/vec/into_iter.rs b/rust/alloc/vec/into_iter.rs +index 136bfe94af6c..0f11744c44b3 100644 +--- a/rust/alloc/vec/into_iter.rs ++++ b/rust/alloc/vec/into_iter.rs +@@ -20,6 +20,17 @@ + use core::ptr::{self, NonNull}; + use core::slice::{self}; + ++macro non_null { ++ (mut $place:expr, $t:ident) => {{ ++ #![allow(unused_unsafe)] // we're sometimes used within an unsafe block ++ unsafe { &mut *(ptr::addr_of_mut!($place) as *mut NonNull<$t>) } ++ }}, ++ ($place:expr, $t:ident) => {{ ++ #![allow(unused_unsafe)] // we're sometimes used within an unsafe block ++ unsafe { *(ptr::addr_of!($place) as *const NonNull<$t>) } ++ }}, ++} ++ + /// An iterator that moves out of a vector. + /// + /// This `struct` is created by the `into_iter` method on [`Vec`](super::Vec) +@@ -43,10 +54,12 @@ pub struct IntoIter< + // the drop impl reconstructs a RawVec from buf, cap and alloc + // to avoid dropping the allocator twice we need to wrap it into ManuallyDrop + pub(super) alloc: ManuallyDrop<A>, +- pub(super) ptr: *const T, +- pub(super) end: *const T, // If T is a ZST, this is actually ptr+len. This encoding is picked so that +- // ptr == end is a quick test for the Iterator being empty, that works +- // for both ZST and non-ZST. ++ pub(super) ptr: NonNull<T>, ++ /// If T is a ZST, this is actually ptr+len. This encoding is picked so that ++ /// ptr == end is a quick test for the Iterator being empty, that works ++ /// for both ZST and non-ZST. ++ /// For non-ZSTs the pointer is treated as `NonNull<T>` ++ pub(super) end: *const T, + } + + #[stable(feature = "vec_intoiter_debug", since = "1.13.0")] +@@ -70,7 +83,7 @@ impl<T, A: Allocator> IntoIter<T, A> { + /// ``` + #[stable(feature = "vec_into_iter_as_slice", since = "1.15.0")] + pub fn as_slice(&self) -> &[T] { +- unsafe { slice::from_raw_parts(self.ptr, self.len()) } ++ unsafe { slice::from_raw_parts(self.ptr.as_ptr(), self.len()) } + } + + /// Returns the remaining items of this iterator as a mutable slice. +@@ -99,7 +112,7 @@ pub fn allocator(&self) -> &A { + } + + fn as_raw_mut_slice(&mut self) -> *mut [T] { +- ptr::slice_from_raw_parts_mut(self.ptr as *mut T, self.len()) ++ ptr::slice_from_raw_parts_mut(self.ptr.as_ptr(), self.len()) + } + + /// Drops remaining elements and relinquishes the backing allocation. +@@ -126,7 +139,7 @@ pub(super) fn forget_allocation_drop_remaining(&mut self) { + // this creates less assembly + self.cap = 0; + self.buf = unsafe { NonNull::new_unchecked(RawVec::NEW.ptr()) }; +- self.ptr = self.buf.as_ptr(); ++ self.ptr = self.buf; + self.end = self.buf.as_ptr(); + + // Dropping the remaining elements can panic, so this needs to be +@@ -138,9 +151,9 @@ pub(super) fn forget_allocation_drop_remaining(&mut self) { + + /// Forgets to Drop the remaining elements while still allowing the backing allocation to be freed. + pub(crate) fn forget_remaining_elements(&mut self) { +- // For th ZST case, it is crucial that we mutate `end` here, not `ptr`. ++ // For the ZST case, it is crucial that we mutate `end` here, not `ptr`. + // `ptr` must stay aligned, while `end` may be unaligned. +- self.end = self.ptr; ++ self.end = self.ptr.as_ptr(); + } + + #[cfg(not(no_global_oom_handling))] +@@ -162,7 +175,7 @@ pub(crate) fn into_vecdeque(self) -> VecDeque<T, A> { + // say that they're all at the beginning of the "allocation". + 0..this.len() + } else { +- this.ptr.sub_ptr(buf)..this.end.sub_ptr(buf) ++ this.ptr.sub_ptr(this.buf)..this.end.sub_ptr(buf) + }; + let cap = this.cap; + let alloc = ManuallyDrop::take(&mut this.alloc); +@@ -189,29 +202,35 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { + + #[inline] + fn next(&mut self) -> Option<T> { +- if self.ptr == self.end { +- None +- } else if T::IS_ZST { +- // `ptr` has to stay where it is to remain aligned, so we reduce the length by 1 by +- // reducing the `end`. +- self.end = self.end.wrapping_byte_sub(1); ++ if T::IS_ZST { ++ if self.ptr.as_ptr() == self.end as *mut _ { ++ None ++ } else { ++ // `ptr` has to stay where it is to remain aligned, so we reduce the length by 1 by ++ // reducing the `end`. ++ self.end = self.end.wrapping_byte_sub(1); + +- // Make up a value of this ZST. +- Some(unsafe { mem::zeroed() }) ++ // Make up a value of this ZST. ++ Some(unsafe { mem::zeroed() }) ++ } + } else { +- let old = self.ptr; +- self.ptr = unsafe { self.ptr.add(1) }; ++ if self.ptr == non_null!(self.end, T) { ++ None ++ } else { ++ let old = self.ptr; ++ self.ptr = unsafe { old.add(1) }; + +- Some(unsafe { ptr::read(old) }) ++ Some(unsafe { ptr::read(old.as_ptr()) }) ++ } + } + } + + #[inline] + fn size_hint(&self) -> (usize, Option<usize>) { + let exact = if T::IS_ZST { +- self.end.addr().wrapping_sub(self.ptr.addr()) ++ self.end.addr().wrapping_sub(self.ptr.as_ptr().addr()) + } else { +- unsafe { self.end.sub_ptr(self.ptr) } ++ unsafe { non_null!(self.end, T).sub_ptr(self.ptr) } + }; + (exact, Some(exact)) + } +@@ -219,7 +238,7 @@ fn size_hint(&self) -> (usize, Option<usize>) { + #[inline] + fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize> { + let step_size = self.len().min(n); +- let to_drop = ptr::slice_from_raw_parts_mut(self.ptr as *mut T, step_size); ++ let to_drop = ptr::slice_from_raw_parts_mut(self.ptr.as_ptr(), step_size); + if T::IS_ZST { + // See `next` for why we sub `end` here. + self.end = self.end.wrapping_byte_sub(step_size); +@@ -261,7 +280,7 @@ fn count(self) -> usize { + // Safety: `len` indicates that this many elements are available and we just checked that + // it fits into the array. + unsafe { +- ptr::copy_nonoverlapping(self.ptr, raw_ary.as_mut_ptr() as *mut T, len); ++ ptr::copy_nonoverlapping(self.ptr.as_ptr(), raw_ary.as_mut_ptr() as *mut T, len); + self.forget_remaining_elements(); + return Err(array::IntoIter::new_unchecked(raw_ary, 0..len)); + } +@@ -270,7 +289,7 @@ fn count(self) -> usize { + // Safety: `len` is larger than the array size. Copy a fixed amount here to fully initialize + // the array. + return unsafe { +- ptr::copy_nonoverlapping(self.ptr, raw_ary.as_mut_ptr() as *mut T, N); ++ ptr::copy_nonoverlapping(self.ptr.as_ptr(), raw_ary.as_mut_ptr() as *mut T, N); + self.ptr = self.ptr.add(N); + Ok(raw_ary.transpose().assume_init()) + }; +@@ -288,7 +307,7 @@ unsafe fn __iterator_get_unchecked(&mut self, i: usize) -> Self::Item + // Also note the implementation of `Self: TrustedRandomAccess` requires + // that `T: Copy` so reading elements from the buffer doesn't invalidate + // them for `Drop`. +- unsafe { if T::IS_ZST { mem::zeroed() } else { ptr::read(self.ptr.add(i)) } } ++ unsafe { if T::IS_ZST { mem::zeroed() } else { self.ptr.add(i).read() } } + } + } + +@@ -296,18 +315,25 @@ unsafe fn __iterator_get_unchecked(&mut self, i: usize) -> Self::Item + impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A> { + #[inline] + fn next_back(&mut self) -> Option<T> { +- if self.end == self.ptr { +- None +- } else if T::IS_ZST { +- // See above for why 'ptr.offset' isn't used +- self.end = self.end.wrapping_byte_sub(1); ++ if T::IS_ZST { ++ if self.end as *mut _ == self.ptr.as_ptr() { ++ None ++ } else { ++ // See above for why 'ptr.offset' isn't used ++ self.end = self.end.wrapping_byte_sub(1); + +- // Make up a value of this ZST. +- Some(unsafe { mem::zeroed() }) ++ // Make up a value of this ZST. ++ Some(unsafe { mem::zeroed() }) ++ } + } else { +- self.end = unsafe { self.end.sub(1) }; ++ if non_null!(self.end, T) == self.ptr { ++ None ++ } else { ++ let new_end = unsafe { non_null!(self.end, T).sub(1) }; ++ *non_null!(mut self.end, T) = new_end; + +- Some(unsafe { ptr::read(self.end) }) ++ Some(unsafe { ptr::read(new_end.as_ptr()) }) ++ } + } + } + +@@ -333,7 +359,11 @@ fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize> { + #[stable(feature = "rust1", since = "1.0.0")] + impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A> { + fn is_empty(&self) -> bool { +- self.ptr == self.end ++ if T::IS_ZST { ++ self.ptr.as_ptr() == self.end as *mut _ ++ } else { ++ self.ptr == non_null!(self.end, T) ++ } + } + } + +diff --git a/rust/alloc/vec/mod.rs b/rust/alloc/vec/mod.rs +index 220fb9d6f45b..0be27fff4554 100644 +--- a/rust/alloc/vec/mod.rs ++++ b/rust/alloc/vec/mod.rs +@@ -360,7 +360,7 @@ + /// + /// `vec![x; n]`, `vec![a, b, c, d]`, and + /// [`Vec::with_capacity(n)`][`Vec::with_capacity`], will all produce a `Vec` +-/// with exactly the requested capacity. If <code>[len] == [capacity]</code>, ++/// with at least the requested capacity. If <code>[len] == [capacity]</code>, + /// (as is the case for the [`vec!`] macro), then a `Vec<T>` can be converted to + /// and from a [`Box<[T]>`][owned slice] without reallocating or moving the elements. + /// +@@ -447,7 +447,7 @@ pub const fn new() -> Self { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -690,7 +690,7 @@ pub const fn new_in(alloc: A) -> Self { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -1013,7 +1013,7 @@ pub fn capacity(&self) -> usize { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -1043,7 +1043,7 @@ pub fn reserve(&mut self, additional: usize) { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -1140,8 +1140,11 @@ pub fn try_reserve_exact(&mut self, additional: usize) -> Result<(), TryReserveE + + /// Shrinks the capacity of the vector as much as possible. + /// +- /// It will drop down as close as possible to the length but the allocator +- /// may still inform the vector that there is space for a few more elements. ++ /// The behavior of this method depends on the allocator, which may either shrink the vector ++ /// in-place or reallocate. The resulting vector might still have some excess capacity, just as ++ /// is the case for [`with_capacity`]. See [`Allocator::shrink`] for more details. ++ /// ++ /// [`with_capacity`]: Vec::with_capacity + /// + /// # Examples + /// +@@ -1191,10 +1194,10 @@ pub fn shrink_to(&mut self, min_capacity: usize) { + + /// Converts the vector into [`Box<[T]>`][owned slice]. + /// +- /// If the vector has excess capacity, its items will be moved into a +- /// newly-allocated buffer with exactly the right capacity. ++ /// Before doing the conversion, this method discards excess capacity like [`shrink_to_fit`]. + /// + /// [owned slice]: Box ++ /// [`shrink_to_fit`]: Vec::shrink_to_fit + /// + /// # Examples + /// +@@ -2017,7 +2020,7 @@ fn drop(&mut self) { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -2133,7 +2136,7 @@ pub fn pop(&mut self) -> Option<T> { + } else { + unsafe { + self.len -= 1; +- core::intrinsics::assume(self.len < self.capacity()); ++ core::hint::assert_unchecked(self.len < self.capacity()); + Some(ptr::read(self.as_ptr().add(self.len()))) + } + } +@@ -2143,7 +2146,7 @@ pub fn pop(&mut self) -> Option<T> { + /// + /// # Panics + /// +- /// Panics if the new capacity exceeds `isize::MAX` bytes. ++ /// Panics if the new capacity exceeds `isize::MAX` _bytes_. + /// + /// # Examples + /// +@@ -2315,6 +2318,12 @@ pub fn is_empty(&self) -> bool { + /// `[at, len)`. After the call, the original vector will be left containing + /// the elements `[0, at)` with its previous capacity unchanged. + /// ++ /// - If you want to take ownership of the entire contents and capacity of ++ /// the vector, see [`mem::take`] or [`mem::replace`]. ++ /// - If you don't need the returned vector at all, see [`Vec::truncate`]. ++ /// - If you want to take ownership of an arbitrary subslice, or you don't ++ /// necessarily want to store the removed items in a vector, see [`Vec::drain`]. ++ /// + /// # Panics + /// + /// Panics if `at > len`. +@@ -2346,14 +2355,6 @@ fn assert_failed(at: usize, len: usize) -> ! { + assert_failed(at, self.len()); + } + +- if at == 0 { +- // the new vector can take over the original buffer and avoid the copy +- return mem::replace( +- self, +- Vec::with_capacity_in(self.capacity(), self.allocator().clone()), +- ); +- } +- + let other_len = self.len - at; + let mut other = Vec::with_capacity_in(other_len, self.allocator().clone()); + +@@ -3027,6 +3028,50 @@ fn index_mut(&mut self, index: I) -> &mut Self::Output { + } + } + ++/// Collects an iterator into a Vec, commonly called via [`Iterator::collect()`] ++/// ++/// # Allocation behavior ++/// ++/// In general `Vec` does not guarantee any particular growth or allocation strategy. ++/// That also applies to this trait impl. ++/// ++/// **Note:** This section covers implementation details and is therefore exempt from ++/// stability guarantees. ++/// ++/// Vec may use any or none of the following strategies, ++/// depending on the supplied iterator: ++/// ++/// * preallocate based on [`Iterator::size_hint()`] ++/// * and panic if the number of items is outside the provided lower/upper bounds ++/// * use an amortized growth strategy similar to `pushing` one item at a time ++/// * perform the iteration in-place on the original allocation backing the iterator ++/// ++/// The last case warrants some attention. It is an optimization that in many cases reduces peak memory ++/// consumption and improves cache locality. But when big, short-lived allocations are created, ++/// only a small fraction of their items get collected, no further use is made of the spare capacity ++/// and the resulting `Vec` is moved into a longer-lived structure, then this can lead to the large ++/// allocations having their lifetimes unnecessarily extended which can result in increased memory ++/// footprint. ++/// ++/// In cases where this is an issue, the excess capacity can be discarded with [`Vec::shrink_to()`], ++/// [`Vec::shrink_to_fit()`] or by collecting into [`Box<[T]>`][owned slice] instead, which additionally reduces ++/// the size of the long-lived struct. ++/// ++/// [owned slice]: Box ++/// ++/// ```rust ++/// # use std::sync::Mutex; ++/// static LONG_LIVED: Mutex<Vec<Vec<u16>>> = Mutex::new(Vec::new()); ++/// ++/// for i in 0..10 { ++/// let big_temporary: Vec<u16> = (0..1024).collect(); ++/// // discard most items ++/// let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect(); ++/// // without this a lot of unused capacity might be moved into the global ++/// result.shrink_to_fit(); ++/// LONG_LIVED.lock().unwrap().push(result); ++/// } ++/// ``` + #[cfg(not(no_global_oom_handling))] + #[stable(feature = "rust1", since = "1.0.0")] + impl<T> FromIterator<T> for Vec<T> { +@@ -3069,14 +3114,8 @@ fn into_iter(self) -> Self::IntoIter { + begin.add(me.len()) as *const T + }; + let cap = me.buf.capacity(); +- IntoIter { +- buf: NonNull::new_unchecked(begin), +- phantom: PhantomData, +- cap, +- alloc, +- ptr: begin, +- end, +- } ++ let buf = NonNull::new_unchecked(begin); ++ IntoIter { buf, phantom: PhantomData, cap, alloc, ptr: buf, end } + } + } + } +@@ -3598,8 +3637,10 @@ fn from(s: Box<[T], A>) -> Self { + impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A> { + /// Convert a vector into a boxed slice. + /// +- /// If `v` has excess capacity, its items will be moved into a +- /// newly-allocated buffer with exactly the right capacity. ++ /// Before doing the conversion, this method discards excess capacity like [`Vec::shrink_to_fit`]. ++ /// ++ /// [owned slice]: Box ++ /// [`Vec::shrink_to_fit`]: Vec::shrink_to_fit + /// + /// # Examples + /// +diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs +index 75efe47522e4..f07bc5a2c6b4 100644 +--- a/rust/kernel/lib.rs ++++ b/rust/kernel/lib.rs +@@ -17,7 +17,6 @@ + #![feature(const_maybe_uninit_zeroed)] + #![feature(dispatch_from_dyn)] + #![feature(new_uninit)] +-#![feature(offset_of)] + #![feature(ptr_metadata)] + #![feature(receiver_trait)] + #![feature(unsize)] +diff --git a/scripts/Makefile.build b/scripts/Makefile.build +index 1633175846df..0bc7c5fe64b1 100644 +--- a/scripts/Makefile.build ++++ b/scripts/Makefile.build +@@ -262,7 +262,7 @@ $(obj)/%.lst: $(src)/%.c FORCE + # Compile Rust sources (.rs) + # --------------------------------------------------------------------------- + +-rust_allowed_features := new_uninit,offset_of ++rust_allowed_features := new_uninit + + # `--out-dir` is required to avoid temporaries being created by `rustc` in the + # current working directory, which may be not accessible in the out-of-tree +diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh +index e217683b10d6..db2b0bc5866b 100755 +--- a/scripts/min-tool-version.sh ++++ b/scripts/min-tool-version.sh +@@ -33,7 +33,7 @@ llvm) + fi + ;; + rustc) +- echo 1.76.0 ++ echo 1.77.1 + ;; + bindgen) + echo 0.65.1 +-- +2.44.0 + diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77.patch b/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77.patch index 8bd0a5e33715..ed9eb56bf6d7 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77.patch +++ b/nixpkgs/pkgs/os-specific/linux/kernel/rust-1.77.patch @@ -1,14 +1,16 @@ -From d69265b7d756931b2e763a3262f22ba4100895a0 Mon Sep 17 00:00:00 2001 +From b256fc507d4710287b22077834c16d18cee4ab17 Mon Sep 17 00:00:00 2001 From: Miguel Ojeda <ojeda@kernel.org> Date: Sat, 17 Feb 2024 01:27:17 +0100 -Subject: [PATCH] rust: upgrade to Rust 1.77.0 +Subject: [PATCH] rust: upgrade to Rust 1.77.1 -This is the next upgrade to the Rust toolchain, from 1.76.0 to 1.77.0 +This is the next upgrade to the Rust toolchain, from 1.76.0 to 1.77.1 (i.e. the latest) [1]. See the upgrade policy [2] and the comments on the first upgrade in commit 3ed03f4da06e ("rust: upgrade to Rust 1.68.2"). +# Unstable features + The `offset_of` feature (single-field `offset_of!`) that we were using got stabilized in Rust 1.77.0 [3]. @@ -18,16 +20,22 @@ increase the list. Please see [4] for details. +# Required changes + Rust 1.77.0 merged the `unused_tuple_struct_fields` lint into `dead_code`, -thus upgrading it from `allow` to `warn` [5]. In turn, this makes `rustc` -complain about the `ThisModule`'s pointer field being never read. Thus -locally `allow` it for the moment, since we will have users later on -(e.g. Binder needs a `as_ptr` method [6]). +thus upgrading it from `allow` to `warn` [5]. In turn, this made `rustc` +complain about the `ThisModule`'s pointer field being never read, but +the previous patch adds the `as_ptr` method to it, needed by Binder [6], +so that we do not need to locally `allow` it. + +# Other changes Rust 1.77.0 introduces the `--check-cfg` feature [7], for which there is a Call for Testing going on [8]. We were requested to test it and we found it useful [9] -- we will likely enable it in the future. +# `alloc` upgrade and reviewing + The vast majority of changes are due to our `alloc` fork being upgraded at once. @@ -85,9 +93,12 @@ Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-2-08ba9197f Link: https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/check-cfg.html [7] Link: https://github.com/rust-lang/rfcs/pull/3013#issuecomment-1936648479 [8] Link: https://github.com/rust-lang/rust/issues/82450#issuecomment-1947462977 [9] -Signed-off-by: Miguel Ojeda <ojeda@kernel.org> +Reviewed-by: Alice Ryhl <aliceryhl@google.com> +Tested-by: Boqun Feng <boqun.feng@gmail.com> Link: https://lore.kernel.org/r/20240217002717.57507-1-ojeda@kernel.org -Link: https://github.com/Rust-for-Linux/linux/commit/d69265b7d756931b2e763a3262f22ba4100895a0 +[ Upgraded to 1.77.1. Removed `allow(dead_code)` thanks to the previous + patch. Reworded accordingly. No changes to `alloc` during the beta. ] +Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Alyssa Ross <hi@alyssa.is> --- Documentation/process/changes.rst | 2 +- @@ -96,15 +107,15 @@ Signed-off-by: Alyssa Ross <hi@alyssa.is> rust/alloc/lib.rs | 7 +- rust/alloc/raw_vec.rs | 13 ++-- rust/alloc/slice.rs | 4 +- - rust/alloc/vec/into_iter.rs | 108 +++++++++++++++++++----------- - rust/alloc/vec/mod.rs | 101 +++++++++++++++++++--------- - rust/kernel/lib.rs | 3 +- + rust/alloc/vec/into_iter.rs | 104 +++++++++++++++++++----------- + rust/alloc/vec/mod.rs | 101 ++++++++++++++++++++--------- + rust/kernel/lib.rs | 1 - scripts/Makefile.build | 2 +- scripts/min-tool-version.sh | 2 +- - 11 files changed, 161 insertions(+), 91 deletions(-) + 11 files changed, 158 insertions(+), 88 deletions(-) diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst -index 7ef8de58f7f892..879ee628893ae1 100644 +index 7ef8de58f7f8..b5d3107c6734 100644 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst @@ -31,7 +31,7 @@ you probably needn't concern yourself with pcmciautils. @@ -112,12 +123,12 @@ index 7ef8de58f7f892..879ee628893ae1 100644 GNU C 5.1 gcc --version Clang/LLVM (optional) 13.0.1 clang --version -Rust (optional) 1.76.0 rustc --version -+Rust (optional) 1.77.0 rustc --version ++Rust (optional) 1.77.1 rustc --version bindgen (optional) 0.65.1 bindgen --version GNU make 3.82 make --version bash 4.2 bash --version diff --git a/rust/alloc/alloc.rs b/rust/alloc/alloc.rs -index abb791cc23715a..b1204f87227b23 100644 +index abb791cc2371..b1204f87227b 100644 --- a/rust/alloc/alloc.rs +++ b/rust/alloc/alloc.rs @@ -5,7 +5,7 @@ @@ -129,7 +140,7 @@ index abb791cc23715a..b1204f87227b23 100644 #[cfg(not(test))] use core::ptr::{self, NonNull}; -@@ -210,7 +210,7 @@ impl Global { +@@ -210,7 +210,7 @@ unsafe fn grow_impl( let new_size = new_layout.size(); // `realloc` probably checks for `new_size >= old_layout.size()` or something similar. @@ -138,7 +149,7 @@ index abb791cc23715a..b1204f87227b23 100644 let raw_ptr = realloc(ptr.as_ptr(), old_layout, new_size); let ptr = NonNull::new(raw_ptr).ok_or(AllocError)?; -@@ -301,7 +301,7 @@ unsafe impl Allocator for Global { +@@ -301,7 +301,7 @@ unsafe fn shrink( // SAFETY: `new_size` is non-zero. Other conditions must be upheld by the caller new_size if old_layout.align() == new_layout.align() => unsafe { // `realloc` probably checks for `new_size <= old_layout.size()` or something similar. @@ -148,7 +159,7 @@ index abb791cc23715a..b1204f87227b23 100644 let raw_ptr = realloc(ptr.as_ptr(), old_layout, new_size); let ptr = NonNull::new(raw_ptr).ok_or(AllocError)?; diff --git a/rust/alloc/boxed.rs b/rust/alloc/boxed.rs -index c93a22a5c97f14..5fc39dfeb8e7bf 100644 +index c93a22a5c97f..5fc39dfeb8e7 100644 --- a/rust/alloc/boxed.rs +++ b/rust/alloc/boxed.rs @@ -26,6 +26,7 @@ @@ -159,7 +170,7 @@ index c93a22a5c97f14..5fc39dfeb8e7bf 100644 //! #[derive(Debug)] //! enum List<T> { //! Cons(T, Box<List<T>>), -@@ -194,8 +195,7 @@ mod thin; +@@ -194,8 +195,7 @@ #[fundamental] #[stable(feature = "rust1", since = "1.0.0")] // The declaration of the `Box` struct must be kept in sync with the @@ -170,7 +181,7 @@ index c93a22a5c97f14..5fc39dfeb8e7bf 100644 T: ?Sized, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global, diff --git a/rust/alloc/lib.rs b/rust/alloc/lib.rs -index 36f79c07559338..39afd55ec0749e 100644 +index 36f79c075593..39afd55ec074 100644 --- a/rust/alloc/lib.rs +++ b/rust/alloc/lib.rs @@ -105,7 +105,6 @@ @@ -223,7 +234,7 @@ index 36f79c07559338..39afd55ec0749e 100644 #![feature(exclusive_range_pattern)] #![feature(fundamental)] diff --git a/rust/alloc/raw_vec.rs b/rust/alloc/raw_vec.rs -index 98b6abf30af6e4..1839d1c8ee7a04 100644 +index 98b6abf30af6..1839d1c8ee7a 100644 --- a/rust/alloc/raw_vec.rs +++ b/rust/alloc/raw_vec.rs @@ -4,7 +4,7 @@ @@ -235,7 +246,7 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 use core::mem::{self, ManuallyDrop, MaybeUninit, SizedTypeProperties}; use core::ptr::{self, NonNull, Unique}; use core::slice; -@@ -317,7 +317,7 @@ impl<T, A: Allocator> RawVec<T, A> { +@@ -317,7 +317,7 @@ fn current_memory(&self) -> Option<(NonNull<u8>, Layout)> { /// /// # Panics /// @@ -244,7 +255,7 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 /// /// # Aborts /// -@@ -358,7 +358,7 @@ impl<T, A: Allocator> RawVec<T, A> { +@@ -358,7 +358,7 @@ pub fn try_reserve(&mut self, len: usize, additional: usize) -> Result<(), TryRe } unsafe { // Inform the optimizer that the reservation has succeeded or wasn't needed @@ -253,7 +264,7 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 } Ok(()) } -@@ -381,7 +381,7 @@ impl<T, A: Allocator> RawVec<T, A> { +@@ -381,7 +381,7 @@ pub fn try_reserve_for_push(&mut self, len: usize) -> Result<(), TryReserveError /// /// # Panics /// @@ -262,7 +273,7 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 /// /// # Aborts /// -@@ -402,7 +402,7 @@ impl<T, A: Allocator> RawVec<T, A> { +@@ -402,7 +402,7 @@ pub fn try_reserve_exact( } unsafe { // Inform the optimizer that the reservation has succeeded or wasn't needed @@ -271,7 +282,7 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 } Ok(()) } -@@ -553,7 +553,7 @@ where +@@ -553,7 +553,7 @@ fn finish_grow<A>( debug_assert_eq!(old_layout.align(), new_layout.align()); unsafe { // The allocator checks for alignment equality @@ -289,10 +300,10 @@ index 98b6abf30af6e4..1839d1c8ee7a04 100644 fn alloc_guard(alloc_size: usize) -> Result<(), TryReserveError> { if usize::BITS < 64 && alloc_size > isize::MAX as usize { diff --git a/rust/alloc/slice.rs b/rust/alloc/slice.rs -index 1181836da5f462..a36b072c95195f 100644 +index 1181836da5f4..a36b072c9519 100644 --- a/rust/alloc/slice.rs +++ b/rust/alloc/slice.rs -@@ -53,14 +53,14 @@ pub use core::slice::{from_mut, from_ref}; +@@ -53,14 +53,14 @@ pub use core::slice::{from_mut_ptr_range, from_ptr_range}; #[stable(feature = "rust1", since = "1.0.0")] pub use core::slice::{from_raw_parts, from_raw_parts_mut}; @@ -310,10 +321,10 @@ index 1181836da5f462..a36b072c95195f 100644 pub use core::slice::{Iter, IterMut}; #[stable(feature = "rchunks", since = "1.31.0")] diff --git a/rust/alloc/vec/into_iter.rs b/rust/alloc/vec/into_iter.rs -index 136bfe94af6c83..0f11744c44b34c 100644 +index 136bfe94af6c..0f11744c44b3 100644 --- a/rust/alloc/vec/into_iter.rs +++ b/rust/alloc/vec/into_iter.rs -@@ -20,6 +20,17 @@ use core::ops::Deref; +@@ -20,6 +20,17 @@ use core::ptr::{self, NonNull}; use core::slice::{self}; @@ -357,7 +368,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } /// Returns the remaining items of this iterator as a mutable slice. -@@ -99,7 +112,7 @@ impl<T, A: Allocator> IntoIter<T, A> { +@@ -99,7 +112,7 @@ pub fn allocator(&self) -> &A { } fn as_raw_mut_slice(&mut self) -> *mut [T] { @@ -366,7 +377,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } /// Drops remaining elements and relinquishes the backing allocation. -@@ -126,7 +139,7 @@ impl<T, A: Allocator> IntoIter<T, A> { +@@ -126,7 +139,7 @@ pub(super) fn forget_allocation_drop_remaining(&mut self) { // this creates less assembly self.cap = 0; self.buf = unsafe { NonNull::new_unchecked(RawVec::NEW.ptr()) }; @@ -375,7 +386,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 self.end = self.buf.as_ptr(); // Dropping the remaining elements can panic, so this needs to be -@@ -138,9 +151,9 @@ impl<T, A: Allocator> IntoIter<T, A> { +@@ -138,9 +151,9 @@ pub(super) fn forget_allocation_drop_remaining(&mut self) { /// Forgets to Drop the remaining elements while still allowing the backing allocation to be freed. pub(crate) fn forget_remaining_elements(&mut self) { @@ -387,7 +398,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } #[cfg(not(no_global_oom_handling))] -@@ -162,7 +175,7 @@ impl<T, A: Allocator> IntoIter<T, A> { +@@ -162,7 +175,7 @@ pub(crate) fn into_vecdeque(self) -> VecDeque<T, A> { // say that they're all at the beginning of the "allocation". 0..this.len() } else { @@ -406,9 +417,6 @@ index 136bfe94af6c83..0f11744c44b34c 100644 - // `ptr` has to stay where it is to remain aligned, so we reduce the length by 1 by - // reducing the `end`. - self.end = self.end.wrapping_byte_sub(1); -- -- // Make up a value of this ZST. -- Some(unsafe { mem::zeroed() }) + if T::IS_ZST { + if self.ptr.as_ptr() == self.end as *mut _ { + None @@ -416,7 +424,9 @@ index 136bfe94af6c83..0f11744c44b34c 100644 + // `ptr` has to stay where it is to remain aligned, so we reduce the length by 1 by + // reducing the `end`. + self.end = self.end.wrapping_byte_sub(1); -+ + +- // Make up a value of this ZST. +- Some(unsafe { mem::zeroed() }) + // Make up a value of this ZST. + Some(unsafe { mem::zeroed() }) + } @@ -446,7 +456,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 }; (exact, Some(exact)) } -@@ -219,7 +238,7 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { +@@ -219,7 +238,7 @@ fn size_hint(&self) -> (usize, Option<usize>) { #[inline] fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize> { let step_size = self.len().min(n); @@ -455,7 +465,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 if T::IS_ZST { // See `next` for why we sub `end` here. self.end = self.end.wrapping_byte_sub(step_size); -@@ -261,7 +280,7 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { +@@ -261,7 +280,7 @@ fn count(self) -> usize { // Safety: `len` indicates that this many elements are available and we just checked that // it fits into the array. unsafe { @@ -464,7 +474,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 self.forget_remaining_elements(); return Err(array::IntoIter::new_unchecked(raw_ary, 0..len)); } -@@ -270,7 +289,7 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { +@@ -270,7 +289,7 @@ fn count(self) -> usize { // Safety: `len` is larger than the array size. Copy a fixed amount here to fully initialize // the array. return unsafe { @@ -473,7 +483,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 self.ptr = self.ptr.add(N); Ok(raw_ary.transpose().assume_init()) }; -@@ -288,7 +307,7 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { +@@ -288,7 +307,7 @@ unsafe fn __iterator_get_unchecked(&mut self, i: usize) -> Self::Item // Also note the implementation of `Self: TrustedRandomAccess` requires // that `T: Copy` so reading elements from the buffer doesn't invalidate // them for `Drop`. @@ -482,7 +492,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } } -@@ -296,18 +315,25 @@ impl<T, A: Allocator> Iterator for IntoIter<T, A> { +@@ -296,18 +315,25 @@ unsafe fn __iterator_get_unchecked(&mut self, i: usize) -> Self::Item impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A> { #[inline] fn next_back(&mut self) -> Option<T> { @@ -491,16 +501,15 @@ index 136bfe94af6c83..0f11744c44b34c 100644 - } else if T::IS_ZST { - // See above for why 'ptr.offset' isn't used - self.end = self.end.wrapping_byte_sub(1); -- -- // Make up a value of this ZST. -- Some(unsafe { mem::zeroed() }) + if T::IS_ZST { + if self.end as *mut _ == self.ptr.as_ptr() { + None + } else { + // See above for why 'ptr.offset' isn't used + self.end = self.end.wrapping_byte_sub(1); -+ + +- // Make up a value of this ZST. +- Some(unsafe { mem::zeroed() }) + // Make up a value of this ZST. + Some(unsafe { mem::zeroed() }) + } @@ -518,7 +527,7 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } } -@@ -333,7 +359,11 @@ impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A> { +@@ -333,7 +359,11 @@ fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize> { #[stable(feature = "rust1", since = "1.0.0")] impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A> { fn is_empty(&self) -> bool { @@ -532,10 +541,10 @@ index 136bfe94af6c83..0f11744c44b34c 100644 } diff --git a/rust/alloc/vec/mod.rs b/rust/alloc/vec/mod.rs -index 220fb9d6f45b3f..0be27fff4554a1 100644 +index 220fb9d6f45b..0be27fff4554 100644 --- a/rust/alloc/vec/mod.rs +++ b/rust/alloc/vec/mod.rs -@@ -360,7 +360,7 @@ mod spec_extend; +@@ -360,7 +360,7 @@ /// /// `vec![x; n]`, `vec![a, b, c, d]`, and /// [`Vec::with_capacity(n)`][`Vec::with_capacity`], will all produce a `Vec` @@ -544,7 +553,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// (as is the case for the [`vec!`] macro), then a `Vec<T>` can be converted to /// and from a [`Box<[T]>`][owned slice] without reallocating or moving the elements. /// -@@ -447,7 +447,7 @@ impl<T> Vec<T> { +@@ -447,7 +447,7 @@ pub const fn new() -> Self { /// /// # Panics /// @@ -553,7 +562,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -690,7 +690,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -690,7 +690,7 @@ pub const fn new_in(alloc: A) -> Self { /// /// # Panics /// @@ -562,7 +571,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -1013,7 +1013,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -1013,7 +1013,7 @@ pub fn capacity(&self) -> usize { /// /// # Panics /// @@ -571,7 +580,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -1043,7 +1043,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -1043,7 +1043,7 @@ pub fn reserve(&mut self, additional: usize) { /// /// # Panics /// @@ -580,7 +589,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -1140,8 +1140,11 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -1140,8 +1140,11 @@ pub fn try_reserve_exact(&mut self, additional: usize) -> Result<(), TryReserveE /// Shrinks the capacity of the vector as much as possible. /// @@ -594,7 +603,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -1191,10 +1194,10 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -1191,10 +1194,10 @@ pub fn shrink_to(&mut self, min_capacity: usize) { /// Converts the vector into [`Box<[T]>`][owned slice]. /// @@ -607,7 +616,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -2017,7 +2020,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -2017,7 +2020,7 @@ fn drop(&mut self) { /// /// # Panics /// @@ -616,7 +625,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -2133,7 +2136,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -2133,7 +2136,7 @@ pub fn pop(&mut self) -> Option<T> { } else { unsafe { self.len -= 1; @@ -625,7 +634,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 Some(ptr::read(self.as_ptr().add(self.len()))) } } -@@ -2143,7 +2146,7 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -2143,7 +2146,7 @@ pub fn pop(&mut self) -> Option<T> { /// /// # Panics /// @@ -634,7 +643,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// /// # Examples /// -@@ -2315,6 +2318,12 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -2315,6 +2318,12 @@ pub fn is_empty(&self) -> bool { /// `[at, len)`. After the call, the original vector will be left containing /// the elements `[0, at)` with its previous capacity unchanged. /// @@ -647,7 +656,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// # Panics /// /// Panics if `at > len`. -@@ -2346,14 +2355,6 @@ impl<T, A: Allocator> Vec<T, A> { +@@ -2346,14 +2355,6 @@ fn assert_failed(at: usize, len: usize) -> ! { assert_failed(at, self.len()); } @@ -662,7 +671,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 let other_len = self.len - at; let mut other = Vec::with_capacity_in(other_len, self.allocator().clone()); -@@ -3027,6 +3028,50 @@ impl<T, I: SliceIndex<[T]>, A: Allocator> IndexMut<I> for Vec<T, A> { +@@ -3027,6 +3028,50 @@ fn index_mut(&mut self, index: I) -> &mut Self::Output { } } @@ -713,7 +722,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 #[cfg(not(no_global_oom_handling))] #[stable(feature = "rust1", since = "1.0.0")] impl<T> FromIterator<T> for Vec<T> { -@@ -3069,14 +3114,8 @@ impl<T, A: Allocator> IntoIterator for Vec<T, A> { +@@ -3069,14 +3114,8 @@ fn into_iter(self) -> Self::IntoIter { begin.add(me.len()) as *const T }; let cap = me.buf.capacity(); @@ -730,7 +739,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 } } } -@@ -3598,8 +3637,10 @@ impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A> { +@@ -3598,8 +3637,10 @@ fn from(s: Box<[T], A>) -> Self { impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A> { /// Convert a vector into a boxed slice. /// @@ -744,7 +753,7 @@ index 220fb9d6f45b3f..0be27fff4554a1 100644 /// # Examples /// diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs -index be68d5e567b1a1..71f95e5aa09abd 100644 +index 6858e2f8a3ed..9e9b245ebab5 100644 --- a/rust/kernel/lib.rs +++ b/rust/kernel/lib.rs @@ -16,7 +16,6 @@ @@ -755,17 +764,8 @@ index be68d5e567b1a1..71f95e5aa09abd 100644 #![feature(receiver_trait)] #![feature(unsize)] -@@ -78,7 +77,7 @@ pub trait Module: Sized + Sync { - /// Equivalent to `THIS_MODULE` in the C API. - /// - /// C header: [`include/linux/export.h`](srctree/include/linux/export.h) --pub struct ThisModule(*mut bindings::module); -+pub struct ThisModule(#[allow(dead_code)] *mut bindings::module); - - // SAFETY: `THIS_MODULE` may be used from all threads within a module. - unsafe impl Sync for ThisModule {} diff --git a/scripts/Makefile.build b/scripts/Makefile.build -index baf86c0880b6d7..367cfeea74c5f5 100644 +index 533a7799fdfe..5a6ab6d965bc 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -263,7 +263,7 @@ $(obj)/%.lst: $(src)/%.c FORCE @@ -778,7 +778,7 @@ index baf86c0880b6d7..367cfeea74c5f5 100644 # `--out-dir` is required to avoid temporaries being created by `rustc` in the # current working directory, which may be not accessible in the out-of-tree diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh -index 5927cc6b7de338..cc5141b67b4a71 100755 +index 5927cc6b7de3..6086e00e640e 100755 --- a/scripts/min-tool-version.sh +++ b/scripts/min-tool-version.sh @@ -33,7 +33,7 @@ llvm) @@ -786,7 +786,10 @@ index 5927cc6b7de338..cc5141b67b4a71 100755 ;; rustc) - echo 1.76.0 -+ echo 1.77.0 ++ echo 1.77.1 ;; bindgen) echo 0.65.1 +-- +2.44.0 + diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index de33ff75d82f..b2c4d0a6a669 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -6,19 +6,20 @@ let # NOTE: When updating these, please also take a look at the changes done to # kernel config in the xanmod version commit ltsVariant = { - version = "6.6.30"; - hash = "sha256-fQATjYekxV/+24mqyel3bYfgUMN4NhOHR9yyL6L5bl0="; + version = "6.6.33"; + hash = "sha256-3qGxIYNVm2f69rym0Ya1X497G7yRNj3lLCtVgyEZ9yw="; variant = "lts"; }; mainVariant = { - version = "6.8.9"; - hash = "sha256-OUlT/fiwLGTPnr/7gneyZBio/l8KAWopcJqTpSjBMl0="; + version = "6.9.4"; + hash = "sha256-gY0t77aPWOuRZFESNp0OLIsjLAv+rf0NHbab9WF2VtA="; variant = "main"; }; xanmodKernelFor = { version, suffix ? "xanmod1", hash, variant }: buildLinux (args // rec { inherit version; + pname = "linux-xanmod"; modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; src = fetchFromGitHub { @@ -46,8 +47,13 @@ let HZ_250 = yes; HZ_1000 = no; - # Disable writeback throttling by default - BLK_WBT_MQ = lib.mkOverride 60 no; + # RCU_BOOST and RCU_EXP_KTHREAD + RCU_EXPERT = yes; + RCU_FANOUT = freeform "64"; + RCU_FANOUT_LEAF = freeform "16"; + RCU_BOOST = yes; + RCU_BOOST_DELAY = freeform "0"; + RCU_EXP_KTHREAD = yes; }; extraMeta = { diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix index d2e32e4b09a7..270a608c84cd 100644 --- a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -4,20 +4,21 @@ let # comments with variant added for update script # ./update-zen.py zen zenVariant = { - version = "6.8.6"; #zen + version = "6.9.5"; #zen suffix = "zen1"; #zen - sha256 = "09233xbvkwjd8yglzjh50pbw5n3pk7d8l5pb270ric9rnnl383jn"; #zen + sha256 = "16dm07xd5x5kbn3yk8q2kqwby67953p40ja0akrg31hycz8sgbqq"; #zen isLqx = false; }; # ./update-zen.py lqx lqxVariant = { - version = "6.8.6"; #lqx - suffix = "lqx2"; #lqx - sha256 = "0mxbl0h8s021m0ab12yy778qyhdlb5789qjbn66l8qxsw0dv4ags"; #lqx + version = "6.9.5"; #lqx + suffix = "lqx1"; #lqx + sha256 = "0r3pgjfyza3vkvp7kw1s7sn1gf4hxq6r6qs5wvv76gmff7s399yz"; #lqx isLqx = true; }; zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { inherit version; + pname = "linux-${if isLqx then "lqx" else "zen"}"; modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; isZen = true; diff --git a/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix index 530fd767bb90..caecc7f9c10e 100644 --- a/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/kexec-tools/default.nix @@ -18,7 +18,12 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/void-linux/void-packages/6c1192cbf166698932030c2e3de71db1885a572d/srcpkgs/kexec-tools/patches/ppc64-elfv2.patch"; sha256 = "19wzfwb0azm932v0vhywv4221818qmlmvdfwpvvpfyw4hjsc2s1l"; }) - ]; + # binutils-2.42 support + (fetchpatch { + url = "https://github.com/horms/kexec-tools/commit/328de8e00e298f00d7ba6b25dc3950147e9642e6.patch"; + hash = "sha256-wVQI4oV+hBLq3kGIp2+F5J3f6s/TypDu3Xq583KYc3U="; + }) + ] ++ lib.optional (stdenv.hostPlatform.useLLVM or false) ./fix-purgatory-llvm-libunwind.patch; hardeningDisable = [ "format" "pic" "relro" "pie" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/kexec-tools/fix-purgatory-llvm-libunwind.patch b/nixpkgs/pkgs/os-specific/linux/kexec-tools/fix-purgatory-llvm-libunwind.patch new file mode 100644 index 000000000000..235410da94f2 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/kexec-tools/fix-purgatory-llvm-libunwind.patch @@ -0,0 +1,11 @@ +--- a/purgatory/Makefile 2024-06-06 23:59:33.089005832 -0700 ++++ b/purgatory/Makefile 2024-06-06 23:59:56.761169892 -0700 +@@ -62,7 +62,7 @@ + $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ + -Wl,--no-undefined -nostartfiles -nostdlib \ + -nodefaultlibs -e purgatory_start -r \ +- -Wl,-Map=$(PURGATORY_MAP) ++ -Wl,-Map=$(PURGATORY_MAP) -static + + $(PURGATORY): $(PURGATORY_OBJS) + $(MKDIR) -p $(@D) diff --git a/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix index b81f581c07aa..de5d15a0c75a 100644 --- a/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ksmbd-tools/default.nix @@ -37,6 +37,5 @@ stdenv.mkDerivation rec { homepage = "https://www.kernel.org/doc/html/latest/filesystems/cifs/ksmbd.html"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ elohmeier ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/kvdo/default.nix b/nixpkgs/pkgs/os-specific/linux/kvdo/default.nix index 3258295be58a..cc5ace339b42 100644 --- a/nixpkgs/pkgs/os-specific/linux/kvdo/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/kvdo/default.nix @@ -28,8 +28,8 @@ stdenv.mkDerivation rec { meta = with lib; { inherit (vdo.meta) license maintainers; homepage = "https://github.com/dm-vdo/kvdo"; - description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage"; + description = "Pair of kernel modules which provide pools of deduplicated and/or compressed block storage"; platforms = platforms.linux; - broken = kernel.kernelOlder "5.15"; + broken = kernel.kernelOlder "5.17"; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/ldm/default.nix b/nixpkgs/pkgs/os-specific/linux/ldm/default.nix index 0dea0ce4e8b0..5214f270bfb2 100644 --- a/nixpkgs/pkgs/os-specific/linux/ldm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ldm/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "A lightweight device mounter, with libudev as only dependency"; + description = "Lightweight device mounter, with libudev as only dependency"; mainProgram = "ldm"; license = lib.licenses.mit; platforms = lib.platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/lenovo-legion/app.nix b/nixpkgs/pkgs/os-specific/linux/lenovo-legion/app.nix index eeccf301ee95..66212124e987 100644 --- a/nixpkgs/pkgs/os-specific/linux/lenovo-legion/app.nix +++ b/nixpkgs/pkgs/os-specific/linux/lenovo-legion/app.nix @@ -43,7 +43,7 @@ python3.pkgs.buildPythonApplication rec { ''; meta = { - description = "An utility to control Lenovo Legion laptop"; + description = "Utility to control Lenovo Legion laptop"; homepage = "https://github.com/johnfanv2/LenovoLegionLinux"; license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/lenovo-legion/default.nix b/nixpkgs/pkgs/os-specific/linux/lenovo-legion/default.nix index 527f1852f1e0..a79c901a1312 100644 --- a/nixpkgs/pkgs/os-specific/linux/lenovo-legion/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/lenovo-legion/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, stdenv, kernel, bash, lenovo-legion }: +{ lib, stdenv, kernel, bash, lenovo-legion }: stdenv.mkDerivation { pname = "lenovo-legion-module"; diff --git a/nixpkgs/pkgs/os-specific/linux/libaio/default.nix b/nixpkgs/pkgs/os-specific/linux/libaio/default.nix index 324e2695dd53..d2cccef37b89 100644 --- a/nixpkgs/pkgs/os-specific/linux/libaio/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libaio/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch }: +{ lib, stdenv, fetchurl }: stdenv.mkDerivation rec { version = "0.3.113"; diff --git a/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix b/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix index e910835ea0d7..6a0ee908347c 100644 --- a/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libbpf/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "libbpf"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromGitHub { owner = "libbpf"; repo = "libbpf"; rev = "v${version}"; - sha256 = "sha256-dAyUBcOItDZNe2xBWoegCAmOnTugc1C7+k/hj20icJA="; + sha256 = "sha256-PlGr/qZbKnaY37wikdmX/iYtP11WHShn1I7vACUgLG0="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix b/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix index 7346e0d67d39..4d86812698e5 100644 --- a/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libnvme/default.nix @@ -1,4 +1,5 @@ { fetchFromGitHub +, bash , json_c , keyutils , lib @@ -17,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libnvme"; - version = "1.7.1"; + version = "1.9"; outputs = [ "out" ] ++ lib.optionals withDocs [ "man" ]; @@ -25,11 +26,13 @@ stdenv.mkDerivation (finalAttrs: { owner = "linux-nvme"; repo = "libnvme"; rev = "v${finalAttrs.version}"; - hash = "sha256-hCR/K8bPXj8HthayrnwwGfI+wxpUwcWkcx3S/8h+3m8="; + hash = "sha256-nXzYbj4BDxFii30yR+aTgqjQfyYMFiAIcV/OHI2y5Ws="; }; postPatch = '' patchShebangs scripts + substituteInPlace test/sysfs/sysfs-tree-diff.sh \ + --replace-fail /bin/bash ${bash}/bin/bash ''; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix b/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix index 0dab09de4c1c..96fa03cf8b05 100644 --- a/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libpsm2/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/intel/opa-psm2"; - description = "The PSM2 library supports a number of fabric media and stacks"; + description = "PSM2 library supports a number of fabric media and stacks"; license = with licenses; [ gpl2 bsd3 ]; platforms = [ "x86_64-linux" ]; maintainers = [ maintainers.bzizou ]; diff --git a/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix b/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix index a35ab1dcc01c..3a13c53cf586 100644 --- a/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wrapGAppsNoGuiHook, gobject-introspection , glib, systemd, udev, libevdev, gitMinimal, check, valgrind, swig, python3 , json-glib, libunistring }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkg-config gitMinimal swig check valgrind + meson ninja pkg-config gitMinimal swig check valgrind wrapGAppsNoGuiHook gobject-introspection ]; buildInputs = [ diff --git a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix index c0711f693377..de092af473de 100644 --- a/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, buildPackages, pcre2, pkg-config, libsepol +{ lib, stdenv, fetchurl, buildPackages, pcre2, pkg-config, libsepol , enablePython ? !stdenv.hostPlatform.isStatic , swig ? null, python3 ? null, python3Packages , fts diff --git a/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix b/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix index 41d8a724e53c..9c7f1abb3a4e 100644 --- a/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, flex }: +{ lib, stdenv, fetchurl, flex }: stdenv.mkDerivation rec { pname = "libsepol"; diff --git a/nixpkgs/pkgs/os-specific/linux/libsmbios/default.nix b/nixpkgs/pkgs/os-specific/linux/libsmbios/default.nix index df4337a6caff..9f0bfacf07d3 100644 --- a/nixpkgs/pkgs/os-specific/linux/libsmbios/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libsmbios/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/dell/libsmbios"; - description = "A library to obtain BIOS information"; + description = "Library to obtain BIOS information"; license = with licenses; [ osl21 gpl2Plus ]; maintainers = with maintainers; [ ]; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/libwebcam/default.nix b/nixpkgs/pkgs/os-specific/linux/libwebcam/default.nix index 5f87a89496b7..093b3dac21f2 100644 --- a/nixpkgs/pkgs/os-specific/linux/libwebcam/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/libwebcam/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "The webcam-tools package"; + description = "Webcam-tools package"; platforms = platforms.linux; license = licenses.lgpl3; maintainers = with maintainers; [ jraygauthier ]; diff --git a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix index 89b49068d40c..cfb38f0983ce 100644 --- a/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/lttng-modules/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "lttng-modules-${kernel.version}"; - version = "2.13.10"; + version = "2.13.13"; src = fetchFromGitHub { owner = "lttng"; repo = "lttng-modules"; rev = "v${version}"; - hash = "sha256-R5qwB1ayw0KueMBSSxm0TwINt78N6w356kY7WGBX0zM="; + hash = "sha256-iA3B838EUU5rFWCL8BAubkTrTO1itDFp5d1653OPnS0="; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix b/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix index e998bfad9361..66cbeefb8929 100644 --- a/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/macchanger/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "info" ]; meta = with lib; { - description = "A utility for viewing/manipulating the MAC address of network interfaces"; + description = "Utility for viewing/manipulating the MAC address of network interfaces"; maintainers = with maintainers; [ joachifm dotlambda ]; license = licenses.gpl2Plus; homepage = "https://github.com/alobbs/macchanger"; diff --git a/nixpkgs/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix b/nixpkgs/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix index 0b4fec4dfb4e..2670c7254449 100644 --- a/nixpkgs/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A driver for MacBook models 2018 and newer, which makes the keyboard, mouse and audio output work."; + description = "Driver for MacBook models 2018 and newer, which makes the keyboard, mouse and audio output work"; longDescription = '' A driver for MacBook models 2018 and newer, implementing the VHCI (required for mouse/keyboard/etc.) and audio functionality. ''; diff --git a/nixpkgs/pkgs/os-specific/linux/mceinject/default.nix b/nixpkgs/pkgs/os-specific/linux/mceinject/default.nix index f7cd199a5e8b..c7c8508cb41b 100644 --- a/nixpkgs/pkgs/os-specific/linux/mceinject/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/mceinject/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { installFlags = [ "destdir=$(out)" "manprefix=/share" ]; meta = with lib; { - description = "A tool to inject machine checks into x86 kernel for testing"; + description = "Tool to inject machine checks into x86 kernel for testing"; mainProgram = "mce-inject"; longDescription = '' mce-inject allows to inject machine check errors on the software level diff --git a/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix b/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix index 65556987508e..7150930cb561 100644 --- a/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix @@ -17,6 +17,15 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/void-linux/void-packages/e58d2b17d3c40faffc0d426aab00184f28d9dafa/srcpkgs/mdadm/patches/musl.patch"; hash = "sha256-TIcQs+8RM5Q6Z8MHkI50kaJd7f9WdS/EVI16F7b2+SA="; }) + # Fixes build on musl 1.2.5+ + (fetchurl { + url = "https://lore.kernel.org/linux-raid/20240220165158.3521874-1-raj.khem@gmail.com/raw"; + hash = "sha256-JOZ8n7zi+nq236NPpB4e2gUy8I3l3DbcoLhpeL73f98="; + }) + (fetchurl { + url = "https://github.com/md-raid-utilities/mdadm/commit/9dbd11e091f84eb0bf9d717283774816c4c4453d.patch"; + hash = "sha256-8GdjP1ceVwejTOFXcHXG8wkIF9/D6hOUGD6btvuqs24="; + }) ]; makeFlags = [ diff --git a/nixpkgs/pkgs/os-specific/linux/mdevctl/default.nix b/nixpkgs/pkgs/os-specific/linux/mdevctl/default.nix index ce4ea250827b..d7b61f74dc4c 100644 --- a/nixpkgs/pkgs/os-specific/linux/mdevctl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/mdevctl/default.nix @@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { homepage = "https://github.com/mdevctl/mdevctl"; - description = "A mediated device management utility for linux"; + description = "Mediated device management utility for linux"; license = licenses.lgpl21Only; maintainers = with maintainers; [ edwtjo ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix index f099cea8ed7b..6e133564e28c 100644 --- a/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix +++ b/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "microcode-intel"; - version = "20240514"; + version = "20240531"; src = fetchFromGitHub { owner = "intel"; repo = "Intel-Linux-Processor-Microcode-Data-Files"; rev = "microcode-${version}"; - hash = "sha256-6XHlAtQzHtlRs3Zy4+CC/XGJS/PkDPtTg/Y2bX7PJek="; + hash = "sha256-64vcEc3UiiV5Rg4Eh3Wsi/WSCj5DbjvZBzKLr7EgNOU="; }; nativeBuildInputs = [ iucode-tool libarchive ]; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix index 9d7480d239f2..1748c908e1a5 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/default.nix @@ -80,7 +80,7 @@ kaem.runCommand "${pname}-${version}" { ]; meta = with lib; { - description = "The GNU Core Utilities"; + description = "GNU Core Utilities"; homepage = "https://www.gnu.org/software/coreutils"; license = licenses.gpl3Plus; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix index 14584e0a7e6d..9de71315fcc3 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix @@ -50,7 +50,7 @@ bash.runCommand "${pname}-${version}" { ''; meta = with lib; { - description = "The GNU Core Utilities"; + description = "GNU Core Utilities"; homepage = "https://www.gnu.org/software/coreutils"; license = licenses.gpl3Plus; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix index 823d314f2802..270d4e36c788 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/default.nix @@ -151,7 +151,7 @@ kaem.runCommand "${pname}-${version}" { nativeBuildInputs = [ tinycc.compiler gnupatch ]; meta = with lib; { - description = "A tool to control the generation of non-source files from sources"; + description = "Tool to control the generation of non-source files from sources"; homepage = "https://www.gnu.org/software/make"; license = licenses.gpl3Plus; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix index 504095732e8c..47b3de03c4ca 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix @@ -51,7 +51,7 @@ bash.runCommand "${pname}-${version}" { ''; meta = with lib; { - description = "A tool to control the generation of non-source files from sources"; + description = "Tool to control the generation of non-source files from sources"; homepage = "https://www.gnu.org/software/make"; license = licenses.gpl3Plus; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix index 182e515c2f1b..7e3d29b6d29e 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/heirloom/default.nix @@ -92,7 +92,7 @@ bash.runCommand "${pname}-${version}" { ''; meta = with lib; { - description = "The Heirloom Toolchest is a collection of standard Unix utilities"; + description = "Heirloom Toolchest is a collection of standard Unix utilities"; homepage = "https://heirloom.sourceforge.net/tools.html"; license = with licenses; [ # All licenses according to LICENSE/ diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix index 807d043fa9e3..c6c89b98a270 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/mes/libc.nix @@ -28,7 +28,7 @@ kaem.runCommand "${pname}-${version}" { passthru.CFLAGS = "-DHAVE_CONFIG_H=1 -I${mes-libc}/include -I${mes-libc}/include/linux/x86"; meta = with lib; { - description = "The Mes C Library"; + description = "Mes C Library"; homepage = "https://www.gnu.org/software/mes"; license = licenses.gpl3Plus; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/musl/common.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/musl/common.nix index 52db5f947425..ac1bb84b9f3e 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/musl/common.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/musl/common.nix @@ -4,7 +4,7 @@ pname = "musl"; meta = with lib; { - description = "An efficient, small, quality libc implementation"; + description = "Efficient, small, quality libc implementation"; homepage = "https://musl.libc.org"; license = licenses.mit; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix index 8dcccbacaca8..2533b617e5a6 100644 --- a/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix @@ -40,7 +40,7 @@ bash.runCommand "${pname}-${version}" { ''; meta = with lib; { - description = "A general-purpose data compression software, successor of LZMA"; + description = "General-purpose data compression software, successor of LZMA"; homepage = "https://tukaani.org/xz"; license = with licenses; [ gpl2Plus lgpl21Plus ]; maintainers = teams.minimal-bootstrap.members; diff --git a/nixpkgs/pkgs/os-specific/linux/mstflint_access/default.nix b/nixpkgs/pkgs/os-specific/linux/mstflint_access/default.nix index 95168249122f..5d9a60216a54 100644 --- a/nixpkgs/pkgs/os-specific/linux/mstflint_access/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/mstflint_access/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A kernel module for Nvidia NIC firmware update"; + description = "Kernel module for Nvidia NIC firmware update"; homepage = "https://github.com/Mellanox/mstflint"; license = [ licenses.gpl2Only ]; maintainers = with maintainers; [ thillux ]; diff --git a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix index 5ec8197451cf..20b6ee0d7eb1 100644 --- a/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/multipath-tools/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , coreutils , perl @@ -21,31 +22,29 @@ stdenv.mkDerivation rec { pname = "multipath-tools"; - version = "0.9.6"; + version = "0.9.8"; src = fetchFromGitHub { owner = "opensvc"; repo = "multipath-tools"; rev = "refs/tags/${version}"; - sha256 = "sha256-X4sAMGn4oBMY3cQkVj1dMcrDF7FgMl8SbZeUnCCOY6Q="; + sha256 = "sha256-4cby19BjgnmWf7klK1sBgtZnyvo7q3L1uyVPlVoS+uk="; }; + patches = [ + # Backport build fix for musl libc 1.2.5 + (fetchpatch { + url = "https://github.com/openSUSE/multipath-tools/commit/e5004de8296cd596aeeac0a61b901e98cf7a69d2.patch"; + hash = "sha256-3Qt8zfrWi9aOdqMObZQaNAaXDmjhvSYrXK7qycC9L1Q="; + }) + ]; + postPatch = '' substituteInPlace create-config.mk \ - --replace /bin/echo ${coreutils}/bin/echo - - substituteInPlace multipathd/multipathd.service \ - --replace /sbin/multipathd "$out/bin/multipathd" - - sed -i -re ' - s,^( *#define +DEFAULT_MULTIPATHDIR\>).*,\1 "'"$out/lib/multipath"'", - ' libmultipath/defaults.h - sed -i -e 's,\$(DESTDIR)/\(usr/\)\?,$(prefix)/,g' \ - kpartx/Makefile libmpathpersist/Makefile - sed -i -e "s,GZIP,GZ," \ - $(find * -name Makefile\*) + --replace-fail /bin/echo ${coreutils}/bin/echo - sed '1i#include <assert.h>' -i tests/{util,vpd}.c + substituteInPlace multipathd/multipathd.service.in \ + --replace-fail /sbin/multipathd "$out/bin/multipathd" ''; nativeBuildInputs = [ @@ -76,7 +75,7 @@ stdenv.mkDerivation rec { doCheck = true; preCheck = '' # skip test attempting to access /sys/dev/block - substituteInPlace tests/Makefile --replace ' devt ' ' ' + substituteInPlace tests/Makefile --replace-fail ' devt ' ' ' ''; nativeCheckInputs = [ cmocka ]; diff --git a/nixpkgs/pkgs/os-specific/linux/musl-fts/default.nix b/nixpkgs/pkgs/os-specific/linux/musl-fts/default.nix index cdb1cca47c6a..eed055379279 100644 --- a/nixpkgs/pkgs/os-specific/linux/musl-fts/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/musl-fts/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/void-linux/musl-fts"; - description = "An implementation of fts(3) for musl-libc"; + description = "Implementation of fts(3) for musl-libc"; platforms = platforms.linux; license = licenses.bsd3; maintainers = [ maintainers.pjjw ]; diff --git a/nixpkgs/pkgs/os-specific/linux/musl/default.nix b/nixpkgs/pkgs/os-specific/linux/musl/default.nix index 9f7867065ea8..eb2487936647 100644 --- a/nixpkgs/pkgs/os-specific/linux/musl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/musl/default.nix @@ -145,7 +145,7 @@ stdenv.mkDerivation rec { passthru.linuxHeaders = linuxHeaders; meta = with lib; { - description = "An efficient, small, quality libc implementation"; + description = "Efficient, small, quality libc implementation"; homepage = "https://musl.libc.org/"; changelog = "https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v${version}"; license = licenses.mit; diff --git a/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix index bedeaadc294e..3b37ce4b8136 100644 --- a/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/net-tools/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://net-tools.sourceforge.net/"; - description = "A set of tools for controlling the network subsystem in Linux"; + description = "Set of tools for controlling the network subsystem in Linux"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; }; diff --git a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix index 95e4183a2fb6..97518275ced6 100644 --- a/nixpkgs/pkgs/os-specific/linux/nftables/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nftables/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework"; + description = "Project that aims to replace the existing {ip,ip6,arp,eb}tables framework"; homepage = "https://netfilter.org/projects/nftables/"; license = licenses.gpl2Only; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix index 17a9bc51732c..63f8c92e2327 100644 --- a/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nixos-rebuild/default.nix @@ -50,7 +50,7 @@ substitute { }; meta = { - description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote."; + description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote"; homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/nixos-rebuild"; license = lib.licenses.mit; maintainers = [ lib.maintainers.Profpatsch ]; diff --git a/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix b/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix index 0ad11ee8b79f..80dfdb5457fa 100644 --- a/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nsncd/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "nsncd"; - version = "unstable-2024-01-16"; + version = "unstable-2024-03-18"; src = fetchFromGitHub { owner = "twosigma"; repo = "nsncd"; - rev = "f4706786f26d12c533035fb2916be9be5751150b"; - hash = "sha256-GbKDWW00eZZwmslkaGIO8hjCyD5xi7h+S2WP6q5ekOQ="; + rev = "7605e330d5a313a8656e6fcaf1c10cd6b5cdd427"; + hash = "sha256-Bd7qE9MP5coBCkr70TdoJfwYhQpdrn/zmN4KoARcaMI="; }; - cargoSha256 = "sha256-jAxcyMPDTBFBrG0cuKm0Tm5p/UEnUgTPQKDgqY2yK7w="; + cargoHash = "sha256-i1rmc5wxtc631hZy2oM4d6r7od0w8GrG7+/pdM6Gqco="; checkFlags = [ # Relies on the test environment to be able to resolve "localhost" # on IPv4. That's not the case in the Nix sandbox somehow. Works @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec { ]; meta = with lib; { - description = "the name service non-caching daemon"; + description = "Name service non-caching daemon"; mainProgram = "nsncd"; longDescription = '' nsncd is a nscd-compatible daemon that proxies lookups, without caching. diff --git a/nixpkgs/pkgs/os-specific/linux/numad/default.nix b/nixpkgs/pkgs/os-specific/linux/numad/default.nix index 2eabbc95fa13..6ea970a11769 100644 --- a/nixpkgs/pkgs/os-specific/linux/numad/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/numad/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { makeFlags = [ "prefix=$(out)" ]; meta = with lib; { - description = "A user-level daemon that monitors NUMA topology and processes resource consumption to facilitate good NUMA resource access"; + description = "User-level daemon that monitors NUMA topology and processes resource consumption to facilitate good NUMA resource access"; mainProgram = "numad"; homepage = "https://fedoraproject.org/wiki/Features/numad"; license = licenses.lgpl21; diff --git a/nixpkgs/pkgs/os-specific/linux/numworks-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/numworks-udev-rules/default.nix index aae7507f50cd..dbea6e4df79d 100644 --- a/nixpkgs/pkgs/os-specific/linux/numworks-udev-rules/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/numworks-udev-rules/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv }: stdenv.mkDerivation rec { pname = "numworks-udev-rules"; diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix index 777e5b6ca4d9..e08ffa1500a1 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -33,12 +33,12 @@ rec { stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else latest; production = generic { - version = "550.78"; - sha256_64bit = "sha256-NAcENFJ+ydV1SD5/EcoHjkZ+c/be/FQ2bs+9z+Sjv3M="; - sha256_aarch64 = "sha256-2POG5RWT2H7Rhs0YNfTGHO64Q8u5lJD9l/sQCGVb+AA="; - openSha256 = "sha256-cF9omNvfHx6gHUj2u99k6OXrHGJRpDQDcBG3jryf41Y="; - settingsSha256 = "sha256-lZiNZw4dJw4DI/6CI0h0AHbreLm825jlufuK9EB08iw="; - persistencedSha256 = "sha256-qDGBAcZEN/ueHqWO2Y6UhhXJiW5625Kzo1m/oJhvbj4="; + version = "550.90.07"; + sha256_64bit = "sha256-Uaz1edWpiE9XOh0/Ui5/r6XnhB4iqc7AtLvq4xsLlzM="; + sha256_aarch64 = "sha256-uJa3auRlMHr8WyacQL2MyyeebqfT7K6VU0qR7LGXFXI="; + openSha256 = "sha256-VLmh7eH0xhEu/AK+Osb9vtqAFni+lx84P/bo4ZgCqj8="; + settingsSha256 = "sha256-sX9dHEp9zH9t3RWp727lLCeJLo8QRAGhVb8iN6eX49g="; + persistencedSha256 = "sha256-qe8e1Nxla7F0U88AbnOZm6cHxo57pnLCqtjdvOvq9jk="; }; latest = selectHighestVersion production (generic { @@ -51,24 +51,22 @@ rec { }); beta = selectHighestVersion latest (generic { - version = "550.40.07"; - sha256_64bit = "sha256-KYk2xye37v7ZW7h+uNJM/u8fNf7KyGTZjiaU03dJpK0="; - sha256_aarch64 = "sha256-AV7KgRXYaQGBFl7zuRcfnTGr8rS5n13nGUIe3mJTXb4="; - openSha256 = "sha256-mRUTEWVsbjq+psVe+kAT6MjyZuLkG2yRDxCMvDJRL1I="; - settingsSha256 = "sha256-c30AQa4g4a1EHmaEu1yc05oqY01y+IusbBuq+P6rMCs="; - persistencedSha256 = "sha256-11tLSY8uUIl4X/roNnxf5yS2PQvHvoNjnd2CB67e870="; - - patches = [ rcu_patch ]; + version = "555.52.04"; + sha256_64bit = "sha256-nVOubb7zKulXhux9AruUTVBQwccFFuYGWrU1ZiakRAI="; + sha256_aarch64 = "sha256-Kt60kTTO3mli66De2d1CAoE3wr0yUbBe7eqCIrYHcWk="; + openSha256 = "sha256-wDimW8/rJlmwr1zQz8+b1uvxxxbOf3Bpk060lfLKuy0="; + settingsSha256 = "sha256-PMh5efbSEq7iqEMBr2+VGQYkBG73TGUh6FuDHZhmwHk="; + persistencedSha256 = "sha256-KAYIvPjUVilQQcD04h163MHmKcQrn2a8oaXujL2Bxro="; }); # Vulkan developer beta driver # See here for more information: https://developer.nvidia.com/vulkan-driver vulkan_beta = generic rec { - version = "550.40.61"; + version = "550.40.63"; persistencedVersion = "550.54.14"; settingsVersion = "550.54.14"; - sha256_64bit = "sha256-JNVeA5/u5/ictU3QpPnbXIHDKOtwou8wGmMt3We4FJY="; - openSha256 = "sha256-kWGTj3eAvwLTJ7zgzRFvyhXmfpxQbUMmyxWxER9i9m0="; + sha256_64bit = "sha256-YvlNgxcFsCl3DzHFpKe+VXzfc0QIgf3N/hTKsWZ7gDE="; + openSha256 = "sha256-mITh1kdSPtB+jP6TDHw04EN7gRx48KGbzbLO0wTSS/U="; settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4="; persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4="; url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux"; @@ -107,13 +105,26 @@ rec { # If you add a legacy driver here, also update `top-level/linux-kernels.nix`, # adding to the `nvidia_x11_legacy*` entries. + # Last one without the bug reported here: + # https://bbs.archlinux.org/viewtopic.php?pid=2155426#p2155426 + legacy_535 = generic { + version = "535.154.05"; + sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; + sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; + openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; + settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; + persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; + + patches = [ rcu_patch ]; + }; + # Last one supporting Kepler architecture legacy_470 = generic { - version = "470.239.06"; - sha256_64bit = "sha256-fXTKrBQKBDLXnr6OQzDceW85un3UCz/NYd92AYG/nMw="; - sha256_aarch64 = "sha256-NZj8OLQ0N7y3V7UBamLyJE8AbI3alZJD1weNjnssuNs="; - settingsSha256 = "sha256-2YTk6DaoB8Qvob9/ohtHXuDhxGO9O/SUwlXXbLSgJP0="; - persistencedSha256 = "sha256-wLrkfD8MQ8sMODE+yEnWg/1ETxYVWOqNsIj1dY+5yjc="; + version = "470.256.02"; + sha256_64bit = "sha256-1kUYYt62lbsER/O3zWJo9z6BFowQ4sEFl/8/oBNJsd4="; + sha256_aarch64 = "sha256-e+QvE+S3Fv3JRqC9ZyxTSiCu8gJdZXSz10gF/EN6DY0="; + settingsSha256 = "sha256-kftQ4JB0iSlE8r/Ze/+UMnwLzn0nfQtqYXBj+t6Aguk="; + persistencedSha256 = "sha256-iYoSib9VEdwjOPBP1+Hx5wCIMhW8q8cCHu9PULWfnyQ="; }; # Last one supporting x86 diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared-3xx.patch b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared-3xx.patch new file mode 100644 index 000000000000..d2e074add754 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared-3xx.patch @@ -0,0 +1,24 @@ +--- a/src/libXNVCtrl/Makefile ++++ b/src/libXNVCtrl/Makefile +@@ -33,6 +33,8 @@ + + LIBXNVCTRL = libXNVCtrl.a + ++LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so ++ + LIBXNVCTRL_PROGRAM_NAME = "libXNVCtrl" + + LIBXNVCTRL_VERSION := $(NVIDIA_VERSION) +@@ -62,6 +64,12 @@ + $(LIBXNVCTRL) : $(OBJS) + $(AR) ru $@ $(OBJS) + ++$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ) ++ $(RM) $@ $@.* ++ $(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11 ++ ln -s $(@F).0.0.0 $@.0 ++ ln -s $(@F).0 $@ ++ + # define the rule to build each object file + $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src)))) + diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared.patch b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared.patch new file mode 100644 index 000000000000..ad1dc1eae400 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/libxnvctrl-build-shared.patch @@ -0,0 +1,21 @@ +--- a/src/libXNVCtrl/xnvctrl.mk ++++ b/src/libXNVCtrl/xnvctrl.mk +@@ -39,6 +39,8 @@ + + LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a + ++LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so ++ + LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c + + LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC)) +@@ -47,3 +49,9 @@ + + $(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ) + $(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ) ++ ++$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ) ++ $(RM) $@ $@.* ++ $(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11 ++ ln -s $(@F).0.0.0 $@.0 ++ ln -s $(@F).0 $@ diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix index 2d9dfd81829e..a26acd144125 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -30,6 +30,12 @@ let inherit sha256; }; + meta = with lib; { + homepage = "https://www.nvidia.com/object/unix.html"; + platforms = nvidia_x11.meta.platforms; + maintainers = with maintainers; [ abbradar aidalgol ]; + }; + libXNVCtrl = stdenv.mkDerivation { pname = "libXNVCtrl"; version = nvidia_x11.settingsVersion; @@ -43,6 +49,14 @@ let makeFlags = [ "OUTPUTDIR=." # src/libXNVCtrl + "libXNVCtrl.a" + "libXNVCtrl.so" + ]; + + patches = [ + # Patch the Makefile to also produce a shared library. + (if lib.versionOlder nvidia_x11.settingsVersion "400" then ./libxnvctrl-build-shared-3xx.patch + else ./libxnvctrl-build-shared.patch) ]; installPhase = '' @@ -52,7 +66,14 @@ let cp libXNVCtrl.a $out/lib cp NVCtrl.h $out/include/NVCtrl cp NVCtrlLib.h $out/include/NVCtrl + cp -P libXNVCtrl.so* $out/lib ''; + + meta = meta // { + description = "NVIDIA NV-CONTROL X extension"; + # https://github.com/NVIDIA/nvidia-settings/commit/edcf9edad9f52f9b10e63d4480bbe88b22dde884 + license = lib.licenses.mit; + }; }; in @@ -93,21 +114,20 @@ stdenv.mkDerivation { fi ''; - nativeBuildInputs = [ pkg-config m4 addOpenGLRunpath ]; + nativeBuildInputs = [ pkg-config m4 addOpenGLRunpath ] + ++ lib.optionals withGtk3 [ wrapGAppsHook3 ]; - buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ] - ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook3 ]; + buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 dbus ] + ++ lib.optionals (withGtk2 || lib.versionOlder nvidia_x11.settingsVersion "525.53") [ gtk2 ] + ++ lib.optionals withGtk3 [ gtk3 librsvg ]; installFlags = [ "PREFIX=$(out)" ]; - postInstall = '' - ${lib.optionalString (!withGtk2) '' - rm -f $out/lib/libnvidia-gtk2.so.* - ''} - ${lib.optionalString (!withGtk3) '' - rm -f $out/lib/libnvidia-gtk3.so.* - ''} - + postInstall = lib.optionalString (!withGtk2) '' + rm -f $out/lib/libnvidia-gtk2.so.* + '' + lib.optionalString (!withGtk3) '' + rm -f $out/lib/libnvidia-gtk3.so.* + '' + '' # Install the desktop file and icon. # The template has substitution variables intended to be replaced resulting # in absolute paths. Because absolute paths break after the desktop file is @@ -132,12 +152,10 @@ stdenv.mkDerivation { inherit libXNVCtrl; }; - meta = with lib; { - homepage = "https://www.nvidia.com/object/unix.html"; + meta = meta // { description = "Settings application for NVIDIA graphics cards"; - license = licenses.unfreeRedistributable; - platforms = nvidia_x11.meta.platforms; + # nvml.h is licensed as part of the cuda developer license. + license = lib.licenses.unfreeRedistributable; mainProgram = "nvidia-settings"; - maintainers = with maintainers; [ abbradar ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix b/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix index d909e331871b..a39c26ac7c19 100644 --- a/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "nvme-cli"; - version = "2.7.1"; + version = "2.9.1"; src = fetchFromGitHub { owner = "linux-nvme"; repo = "nvme-cli"; rev = "v${version}"; - hash = "sha256-Gm+1tb/Nh+Yg2PgSUn/1hR4CZYnfTWRwcQU0A8UeQwI="; + hash = "sha256-zs7UksB5QkvCP29iELDGMJeObvMdKrs6ajQkEzCPzzQ="; }; mesonFlags = [ diff --git a/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix index 9306099213a9..9bb98fbeea3b 100644 --- a/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "open-iscsi"; - version = "2.1.9"; + version = "2.1.10"; src = fetchFromGitHub { owner = "open-iscsi"; repo = "open-iscsi"; rev = version; - hash = "sha256-y0NIb/KsKpCd8byr/SXI7nwTKXP2/bSSoW8QgeL5xdc="; + hash = "sha256-5bT9MaJ2OHFU9R9X01UOOztRqtR6rWv4RS5d1MGWf6M="; }; nativeBuildInputs = [ @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { passthru.tests = { inherit (nixosTests) iscsi-root; }; meta = with lib; { - description = "A high performance, transport independent, multi-platform implementation of RFC3720"; + description = "High performance, transport independent, multi-platform implementation of RFC3720"; license = licenses.gpl2Plus; homepage = "https://www.open-iscsi.com"; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix b/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix index a2116797824c..42e6be93dae4 100644 --- a/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix +++ b/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation (common // { enableParallelBuilding = true; meta = common.meta // { - description = "An entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux"; + description = "Entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux"; mainProgram = "razer_mount"; broken = kernel.kernelOlder "4.19"; }; diff --git a/nixpkgs/pkgs/os-specific/linux/otpw/default.nix b/nixpkgs/pkgs/os-specific/linux/otpw/default.nix index 45d0b77906d3..12920c0c342e 100644 --- a/nixpkgs/pkgs/os-specific/linux/otpw/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/otpw/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "A one-time password login package"; + description = "One-time password login package"; mainProgram = "otpw-gen"; homepage = "http://www.cl.cam.ac.uk/~mgk25/otpw.html"; license = licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix index 46587028f296..656a3e62caca 100644 --- a/nixpkgs/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, nixosTests, fetchpatch, fetchFromGitHub, pam, openssl, perl }: +{ lib, stdenv, nixosTests, fetchFromGitHub, pam, openssl, perl }: stdenv.mkDerivation rec { pname = "pam_ssh_agent_auth"; diff --git a/nixpkgs/pkgs/os-specific/linux/pam_u2f/default.nix b/nixpkgs/pkgs/os-specific/linux/pam_u2f/default.nix index 085ff43a7935..715f60e19399 100644 --- a/nixpkgs/pkgs/os-specific/linux/pam_u2f/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pam_u2f/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://developers.yubico.com/pam-u2f/"; - description = "A PAM module for allowing authentication with a U2F device"; + description = "PAM module for allowing authentication with a U2F device"; changelog = "https://github.com/Yubico/pam-u2f/raw/pam_u2f-${version}/NEWS"; license = licenses.bsd2; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/os-specific/linux/paxctl/default.nix b/nixpkgs/pkgs/os-specific/linux/paxctl/default.nix index fbb0e00ebe91..2f68fa3dc0cc 100644 --- a/nixpkgs/pkgs/os-specific/linux/paxctl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/paxctl/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; meta = with lib; { - description = "A tool for controlling PaX flags on a per binary basis"; + description = "Tool for controlling PaX flags on a per binary basis"; mainProgram = "paxctl"; homepage = "https://pax.grsecurity.net"; license = licenses.gpl2; diff --git a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix index e464d113e2f7..5c111952727d 100644 --- a/nixpkgs/pkgs/os-specific/linux/pcm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pcm/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "pcm"; - version = "202403"; + version = "202405"; src = fetchFromGitHub { owner = "opcm"; repo = "pcm"; rev = version; - hash = "sha256-qefqtuxRaQEsWpXNAuGxuIT3LiH2b8xQb54B0RkzKGA="; + hash = "sha256-yEe1lWbvafc3N3+K9WMMlIXVVX+fVO8QsuKdyIqiKAg="; }; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix b/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix index 66971444e71a..7fbc445902e9 100644 --- a/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , meson , ninja , pkg-config diff --git a/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix index 4076641717f4..9f2eee83d60b 100644 --- a/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { meta = { homepage = "https://pm-utils.freedesktop.org/wiki/"; - description = "A small collection of scripts that handle suspend and resume on behalf of HAL"; + description = "Small collection of scripts that handle suspend and resume on behalf of HAL"; license = lib.licenses.gpl2; platforms = lib.platforms.linux; }; diff --git a/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix b/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix index f92a9c1b5d1d..eb5a1b1b0edb 100644 --- a/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/pommed-light/default.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "A trimmed version of the pommed hotkey handler for MacBooks"; + description = "Trimmed version of the pommed hotkey handler for MacBooks"; mainProgram = "pommed"; longDescription = '' This is a stripped-down version of pommed with client, dbus, and diff --git a/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix b/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix index 6acb8eba3863..3a3016d14b4b 100644 --- a/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix @@ -36,13 +36,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "prl-tools"; - version = "19.3.0-54924"; + version = "19.4.0-54962"; # 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${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg"; - hash = "sha256-Hj1manQSZHiht6mmWes44RVk2Bdqp6QdNCdK322bzWc="; + hash = "sha256-c/MrWUvwY/Z38uOBbetJSVkZlwkdzFhw6wpk1L0BuQs="; }; hardeningDisable = [ "pic" "format" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/procdump/default.nix b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix index 0d648782e38c..45e6516c745d 100644 --- a/nixpkgs/pkgs/os-specific/linux/procdump/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/procdump/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A Linux version of the ProcDump Sysinternals tool"; + description = "Linux version of the ProcDump Sysinternals tool"; mainProgram = "procdump"; homepage = "https://github.com/Microsoft/ProcDump-for-Linux"; license = licenses.mit; diff --git a/nixpkgs/pkgs/os-specific/linux/projecteur/default.nix b/nixpkgs/pkgs/os-specific/linux/projecteur/default.nix index 0477985cc196..96d6ed032703 100644 --- a/nixpkgs/pkgs/os-specific/linux/projecteur/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/projecteur/default.nix @@ -42,7 +42,7 @@ mkDerivation rec { ]; meta = { - description = "Linux/X11 application for the Logitech Spotlight device (and similar devices)."; + description = "Linux/X11 application for the Logitech Spotlight device (and similar devices)"; homepage = "https://github.com/jahnf/Projecteur"; license = lib.licenses.mit; mainProgram = "projecteur"; diff --git a/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix b/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix index 0f920eeafb5d..2e8003ab891a 100644 --- a/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/psmisc/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.com/psmisc/psmisc"; - description = "A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)"; + description = "Set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)"; platforms = platforms.linux; license = licenses.gpl2Plus; maintainers = with maintainers; [ ryantm ]; diff --git a/nixpkgs/pkgs/os-specific/linux/r8168/default.nix b/nixpkgs/pkgs/os-specific/linux/r8168/default.nix index 6eb53ca17f7a..274fcd06ffef 100644 --- a/nixpkgs/pkgs/os-specific/linux/r8168/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/r8168/default.nix @@ -6,18 +6,18 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi in stdenv.mkDerivation rec { name = "r8168-${kernel.version}-${version}"; # on update please verify that the source matches the realtek version - version = "8.052.01"; + version = "8.053.00"; # This is a mirror. The original website[1] doesn't allow non-interactive # downloads, instead emailing you a download link. - # [1] https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software - # I've verified manually (`diff -r`) that the source code for version 8.052.01 + # [1] https://www.realtek.com/Download/List?cate_id=584 + # I've verified manually (`diff -r`) that the source code for version 8.053.00 # is the same as the one available on the realtek website. src = fetchFromGitHub { owner = "mtorromeo"; repo = "r8168"; rev = version; - sha256 = "01mi7hh92nc7jaxkfrpz7j0ci78djrhgmq0im4k1270mwmvr0yzj"; + sha256 = "0bHGs8jyWd+ZiixOoNkBqhS9RjDpRp3vveAgk1YuOWU="; }; hardeningDisable = [ "pic" ]; @@ -53,7 +53,7 @@ in stdenv.mkDerivation rec { ''; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ timokau ]; - broken = (lib.versions.majorMinor kernel.modDirVersion) != "5.15"; + maintainers = with maintainers; []; + broken = lib.versionAtLeast kernel.modDirVersion "6.9"; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/radeontop/default.nix b/nixpkgs/pkgs/os-specific/linux/radeontop/default.nix index 49e2fdfd90b5..221a26f62340 100644 --- a/nixpkgs/pkgs/os-specific/linux/radeontop/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/radeontop/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { blocks. Supports R600 and later cards: even Southern Islands should work. Works with both the open drivers and AMD Catalyst. Total GPU utilization is also valid for OpenCL loads; the other blocks are only useful for GL - loads. Requires root rights or other permissions to read /dev/mem. + loads. ''; homepage = "https://github.com/clbr/radeontop"; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix index 9ddb211ba0d5..ec1bb7bbf35a 100644 --- a/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rdma-core"; - version = "51.0"; + version = "52.0"; src = fetchFromGitHub { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${finalAttrs.version}"; - hash = "sha256-G5Z2BbmF5fzOg/32BBgGpC6yroDFOnZWtA/+5QatQ1M="; + hash = "sha256-M4nmnfeEIxsaFO1DJV9jKD/NnkaLHVNXtfTPf2pTDs4="; }; strictDeps = true; diff --git a/nixpkgs/pkgs/os-specific/linux/rt-tests/default.nix b/nixpkgs/pkgs/os-specific/linux/rt-tests/default.nix index 8e3a9b0ceb02..a9e3e57d4875 100644 --- a/nixpkgs/pkgs/os-specific/linux/rt-tests/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rt-tests/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "rt-tests"; - version = "2.6"; + version = "2.7"; src = fetchurl { url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz"; - sha256 = "sha256-apRJwRqcyzfmyGCCv5BDN92pKP3Nafa9SkxlZ+Bxrm0="; + sha256 = "sha256-1kfLmB1RPO8Hd7o8tROSyVBWchchc+AGPuOUlM2hR8g="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix b/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix index c6bb4e0cbfcd..9c580edc308f 100644 --- a/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rtkit/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/heftig/rtkit"; - description = "A daemon that hands out real-time priority to processes"; + description = "Daemon that hands out real-time priority to processes"; mainProgram = "rtkitctl"; license = with licenses; [ gpl3 bsd0 ]; # lib is bsd license platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8189fs/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8189fs/default.nix index 0405fc8561a9..5f806069daf9 100644 --- a/nixpkgs/pkgs/os-specific/linux/rtl8189fs/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rtl8189fs/default.nix @@ -1,4 +1,4 @@ -{ lib, kernel, rtl8189es, fetchFromGitHub, fetchpatch }: +{ lib, kernel, rtl8189es, fetchFromGitHub }: # rtl8189fs is a branch of the rtl8189es driver rtl8189es.overrideAttrs (drv: rec { diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8723ds/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8723ds/default.nix index a9c1f18de0c2..d1f7e016e3bf 100644 --- a/nixpkgs/pkgs/os-specific/linux/rtl8723ds/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rtl8723ds/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - description = "Linux driver for RTL8723DS."; + description = "Linux driver for RTL8723DS"; homepage = "https://github.com/lwfinger/rtl8723ds"; license = lib.licenses.gpl2Only; platforms = lib.platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix index edb2feed6c61..91ed7cf9b490 100644 --- a/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rtl88x2bu/default.nix @@ -1,14 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, kernel, bc }: +{ + lib, + stdenv, + fetchFromGitHub, + kernel, + bc, +}: stdenv.mkDerivation { pname = "rtl88x2bu"; - version = "${kernel.version}-unstable-2023-11-29"; + version = "${kernel.version}-unstable-2024-06-09"; src = fetchFromGitHub { owner = "morrownr"; repo = "88x2bu-20210702"; - rev = "cd2b6cbd9c8fbfebee8a1f28fab8e4434450456c"; - sha256 = "sha256-t1lLJSEDzY2zvgcKYaxUq/umrlLpxu4+4zWmG8R0Wz4="; + rev = "62f3a86a2687fe98bd441e0aff5adf87d95c238a"; + hash = "sha256-gQWk1nhtT0W2dY5uQitWabBGEDfZpmJAoJg+j2ndO00="; }; hardeningDisable = [ "pic" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix b/nixpkgs/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix index 5ef6f7c4edbb..46ae88abb37d 100644 --- a/nixpkgs/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/rust-out-of-tree-module/default.nix @@ -18,7 +18,7 @@ kernel.stdenv.mkDerivation { meta = { broken = !kernel.withRust; - description = "A basic template for an out-of-tree Linux kernel module written in Rust"; + description = "Basic template for an out-of-tree Linux kernel module written in Rust"; homepage = "https://github.com/Rust-for-Linux/rust-out-of-tree-module"; license = lib.licenses.gpl2Only; maintainers = [ lib.maintainers.blitz ]; diff --git a/nixpkgs/pkgs/os-specific/linux/ryzen-smu/default.nix b/nixpkgs/pkgs/os-specific/linux/ryzen-smu/default.nix index 7f899f2c2c90..87fb02fd08fe 100644 --- a/nixpkgs/pkgs/os-specific/linux/ryzen-smu/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ryzen-smu/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "A Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors"; + description = "Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors"; homepage = "https://gitlab.com/leogx9r/ryzen_smu"; license = licenses.gpl2Plus; maintainers = with maintainers; [ Cryolitia phdyellow ]; diff --git a/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix b/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix index ef671b2f16c4..1d61f22b33e5 100644 --- a/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/ryzenadj/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Adjust power management settings for Ryzen Mobile Processors."; + description = "Adjust power management settings for Ryzen Mobile Processors"; mainProgram = "ryzenadj"; homepage = "https://github.com/FlyGoat/RyzenAdj"; license = licenses.lgpl3Only; diff --git a/nixpkgs/pkgs/os-specific/linux/sasutils/default.nix b/nixpkgs/pkgs/os-specific/linux/sasutils/default.nix index 64d288117bf4..797fd4acd0c0 100644 --- a/nixpkgs/pkgs/os-specific/linux/sasutils/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sasutils/default.nix @@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/stanford-rc/sasutils"; - description = "A set of command-line tools to ease the administration of Serial Attached SCSI (SAS) fabrics"; + description = "Set of command-line tools to ease the administration of Serial Attached SCSI (SAS) fabrics"; license = licenses.asl20; maintainers = with maintainers; [ aij ]; }; diff --git a/nixpkgs/pkgs/os-specific/linux/sd-switch/default.nix b/nixpkgs/pkgs/os-specific/linux/sd-switch/default.nix index 7750862c34c2..b8dfd36d5919 100644 --- a/nixpkgs/pkgs/os-specific/linux/sd-switch/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sd-switch/default.nix @@ -1,6 +1,6 @@ -{ lib, fetchFromSourcehut, rustPlatform, pkg-config, dbus }: +{ lib, fetchFromSourcehut, rustPlatform, nix-update-script }: -let version = "0.3.0"; +let version = "0.5.0"; in rustPlatform.buildRustPackage { pname = "sd-switch"; inherit version; @@ -9,18 +9,20 @@ in rustPlatform.buildRustPackage { owner = "~rycee"; repo = "sd-switch"; rev = version; - hash = "sha256-mWrLbCUnoJ3hVtpSU/7dw91U5TLyw5kNchX5nmP9asA="; + hash = "sha256-TESS+CwwEugAz+grzndunAoKF9Or/Jl7tftL392fUaM="; }; - cargoHash = "sha256-VK+kPX1pGhowbWKkUs1PL0DXIhDXJOFVoIHTtWQcWEs="; + cargoHash = "sha256-QEnleFwEIoKATupj0sSV/GUztQoozEsb3SEgnfFzAfw="; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus ]; + passthru = { + updateScript = nix-update-script { }; + }; meta = with lib; { - description = "A systemd unit switcher for Home Manager"; + description = "Systemd unit switcher for Home Manager"; mainProgram = "sd-switch"; - homepage = "https://gitlab.com/rycee/sd-switch"; + homepage = "https://git.sr.ht/~rycee/sd-switch"; + changelog = "https://git.sr.ht/~rycee/sd-switch/refs/${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ rycee ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/sdparm/default.nix b/nixpkgs/pkgs/os-specific/linux/sdparm/default.nix index a9137b18f39d..2bd1a0946674 100644 --- a/nixpkgs/pkgs/os-specific/linux/sdparm/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sdparm/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://sg.danny.cz/sg/sdparm.html"; - description = "A utility to access SCSI device parameters"; + description = "Utility to access SCSI device parameters"; license = licenses.bsd3; platforms = with platforms; linux; }; diff --git a/nixpkgs/pkgs/os-specific/linux/service-wrapper/default.nix b/nixpkgs/pkgs/os-specific/linux/service-wrapper/default.nix index e7aa3ea9d49d..08f7d00bc962 100644 --- a/nixpkgs/pkgs/os-specific/linux/service-wrapper/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/service-wrapper/default.nix @@ -13,7 +13,7 @@ runCommand name { }; meta = with lib; { - description = "A convenient wrapper for the systemctl commands, borrow from Ubuntu"; + description = "Convenient wrapper for the systemctl commands, borrow from Ubuntu"; mainProgram = "service"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/setools/default.nix b/nixpkgs/pkgs/os-specific/linux/setools/default.nix index 8e3b0e627d37..c815b8d86aa2 100644 --- a/nixpkgs/pkgs/os-specific/linux/setools/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/setools/default.nix @@ -8,13 +8,13 @@ with python3.pkgs; buildPythonApplication rec { pname = "setools"; - version = "4.5.0"; + version = "4.5.1"; src = fetchFromGitHub { owner = "SELinuxProject"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-4y4Uhh3O84UbK39j8ACu06/6n7lyHsd8MzODR0FOp3I="; + hash = "sha256-/6dOzSz2Do4d6TSS50fuak0CysoQ532zJ0bJ532BUCE="; }; nativeBuildInputs = [ cython ]; diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/azure-dcap-client/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/azure-dcap-client/default.nix index c21f8ea8a644..99e5c4b1a09c 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/azure-dcap-client/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sgx/azure-dcap-client/default.nix @@ -16,7 +16,7 @@ let find "$out" -mindepth 1 -delete cp ${lib.concatStringsSep " " list} "$out/" ''; - headers = linkFarmFromDrvs "azure-dcpa-client-intel-headers" [ + headers = linkFarmFromDrvs "azure-dcap-client-intel-headers" [ (fetchFromGitHub rec { name = "${repo}-headers"; owner = "intel"; @@ -69,8 +69,8 @@ stdenv.mkDerivation rec { find -L '${headers}' -type f -exec ln -s {} src/Linux/ext/intel \; substitute src/Linux/Makefile{.in,} \ - --replace '##CURLINC##' '${curl.dev}/include/curl/' \ - --replace '$(TEST_SUITE): $(PROVIDER_LIB) $(TEST_SUITE_OBJ)' '$(TEST_SUITE): $(TEST_SUITE_OBJ)' + --replace-fail '##CURLINC##' '${curl.dev}/include/curl/' \ + --replace-fail '$(TEST_SUITE): $(PROVIDER_LIB) $(TEST_SUITE_OBJ)' '$(TEST_SUITE): $(TEST_SUITE_OBJ)' ''; env.NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations"; @@ -84,11 +84,11 @@ stdenv.mkDerivation rec { # $(nix-build -A sgx-azure-dcap-client.tests.suite)/bin/tests passthru.tests.suite = callPackage ./test-suite.nix { }; - meta = with lib; { + meta = { description = "Interfaces between SGX SDKs and the Azure Attestation SGX Certification Cache"; homepage = "https://github.com/microsoft/azure-dcap-client"; - maintainers = with maintainers; [ phlip9 trundle veehaitch ]; + maintainers = with lib.maintainers; [ phlip9 trundle veehaitch ]; platforms = [ "x86_64-linux" ]; - license = [ licenses.mit ]; + license = [ lib.licenses.mit ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/psw/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/psw/default.nix index 42e00071d810..829b0c6525ec 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/psw/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sgx/psw/default.nix @@ -29,11 +29,11 @@ stdenv.mkDerivation rec { # Also include the Data Center Attestation Primitives (DCAP) platform # enclaves. dcap = rec { - version = "1.20"; + version = "1.21"; filename = "prebuilt_dcap_${version}.tar.gz"; prebuilt = fetchurl { url = "https://download.01.org/intel-sgx/sgx-dcap/${version}/linux/${filename}"; - hash = "sha256-nPsI89KSBA3cSNTMWyktZP5dkf+BwL3NZ4MuUf6G98o="; + hash = "sha256-/PPD2MyNxoCwzNljIFcpkFvItXbyvymsJ7+Uf4IyZuk="; }; }; in @@ -158,31 +158,31 @@ stdenv.mkDerivation rec { # is helpful to have properly patched versions for non-NixOS distributions. echo "Fixing aesmd.service" substituteInPlace $out/lib/systemd/system/aesmd.service \ - --replace '@aesm_folder@' \ - "$out/aesm" \ - --replace 'Type=forking' \ - 'Type=simple' \ - --replace "ExecStart=$out/aesm/aesm_service" \ - "ExecStart=$out/bin/aesm_service --no-daemon"\ - --replace "/bin/mkdir" \ - "${coreutils}/bin/mkdir" \ - --replace "/bin/chown" \ - "${coreutils}/bin/chown" \ - --replace "/bin/chmod" \ - "${coreutils}/bin/chmod" \ - --replace "/bin/kill" \ - "${coreutils}/bin/kill" + --replace-fail '@aesm_folder@' \ + "$out/aesm" \ + --replace-fail 'Type=forking' \ + 'Type=simple' \ + --replace-fail "ExecStart=$out/aesm/aesm_service" \ + "ExecStart=$out/bin/aesm_service --no-daemon"\ + --replace-fail "/bin/mkdir" \ + "${coreutils}/bin/mkdir" \ + --replace-fail "/bin/chown" \ + "${coreutils}/bin/chown" \ + --replace-fail "/bin/chmod" \ + "${coreutils}/bin/chmod" \ + --replace-fail "/bin/kill" \ + "${coreutils}/bin/kill" ''; passthru.tests = { service = nixosTests.aesmd; }; - meta = with lib; { + meta = { description = "Intel SGX Architectural Enclave Service Manager"; homepage = "https://github.com/intel/linux-sgx"; - maintainers = with maintainers; [ phlip9 veehaitch citadelcore ]; + maintainers = with lib.maintainers; [ phlip9 veehaitch citadelcore ]; platforms = [ "x86_64-linux" ]; - license = with licenses; [ bsd3 ]; + license = [ lib.licenses.bsd3 ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix index 67489ee3c07c..4f7374d634f3 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/default.nix @@ -26,15 +26,15 @@ stdenv.mkDerivation rec { pname = "sgx-sdk"; # Version as given in se_version.h - version = "2.23.100.2"; + version = "2.24.100.3"; # Version as used in the Git tag - versionTag = "2.23"; + versionTag = "2.24"; src = fetchFromGitHub { owner = "intel"; repo = "linux-sgx"; rev = "sgx_${versionTag}"; - hash = "sha256-i+fE6xKiuljG8LY8TIHgrW15DVpdp46bZdNo/BjgT/I="; + hash = "sha256-1urEdfMKNUqqyJ3wQ10+tvtlRuAKELpaCWIOzjCbYKw="; fetchSubmodules = true; }; @@ -121,8 +121,6 @@ stdenv.mkDerivation rec { pushd 'external/ippcp_internal' - cp -r ${ipp-crypto-no_mitigation}/include/. inc/ - install -D -m a+rw ${ipp-crypto-no_mitigation}/lib/intel64/libippcp.a \ lib/linux/intel64/no_mitigation/libippcp.a install -D -m a+rw ${ipp-crypto-cve_2020_0551_load}/lib/intel64/libippcp.a \ @@ -130,8 +128,13 @@ stdenv.mkDerivation rec { install -D -m a+rw ${ipp-crypto-cve_2020_0551_cf}/lib/intel64/libippcp.a \ lib/linux/intel64/cve_2020_0551_cf/libippcp.a + cp -r ${ipp-crypto-no_mitigation}/include/* inc/ + + mkdir inc/ippcp + cp ${ipp-crypto-no_mitigation}/include/fips_cert.h inc/ippcp/ + rm inc/ippcp.h - patch ${ipp-crypto-no_mitigation}/include/ippcp.h -i inc/ippcp21u7.patch -o inc/ippcp.h + patch ${ipp-crypto-no_mitigation}/include/ippcp.h -i ./inc/ippcp21u11.patch -o ./inc/ippcp.h install -D ${ipp-crypto-no_mitigation.src}/LICENSE license/LICENSE @@ -285,11 +288,11 @@ stdenv.mkDerivation rec { ''; }; - meta = with lib; { + meta = { description = "Intel SGX SDK for Linux built with IPP Crypto Library"; homepage = "https://github.com/intel/linux-sgx"; - maintainers = with maintainers; [ phlip9 sbellem arturcygan veehaitch ]; + maintainers = with lib.maintainers; [ phlip9 sbellem arturcygan veehaitch ]; platforms = [ "x86_64-linux" ]; - license = with licenses; [ bsd3 ]; + license = [ lib.licenses.bsd3 ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/disable-downloads.patch b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/disable-downloads.patch index bdf9b9f9136e..c045606df144 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/disable-downloads.patch +++ b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/disable-downloads.patch @@ -1,8 +1,8 @@ diff --git a/Makefile b/Makefile -index 32433051..2e480efb 100644 +index 73502a7..f24bd11 100644 --- a/Makefile +++ b/Makefile -@@ -50,8 +50,8 @@ tips: +@@ -50,18 +50,18 @@ tips: preparation: # As SDK build needs to clone and patch openmp, we cannot support the mode that download the source from github as zip. # Only enable the download from git @@ -12,8 +12,10 @@ index 32433051..2e480efb 100644 + # ./external/dcap_source/QuoteVerification/prepare_sgxssl.sh nobuild cd external/openmp/openmp_code && git apply ../0001-Enable-OpenMP-in-SGX.patch >/dev/null 2>&1 || git apply ../0001-Enable-OpenMP-in-SGX.patch --check -R cd external/protobuf/protobuf_code && git apply ../sgx_protobuf.patch >/dev/null 2>&1 || git apply ../sgx_protobuf.patch --check -R +- cd external/protobuf/protobuf_code && git submodule update --init --recursive && cd third_party/abseil-cpp && git apply ../../../sgx_abseil.patch>/dev/null 2>&1 || git apply ../../../sgx_abseil.patch --check -R ++ cd external/protobuf/protobuf_code && cd third_party/abseil-cpp && git apply ../../../sgx_abseil.patch>/dev/null 2>&1 || git apply ../../../sgx_abseil.patch --check -R ./external/sgx-emm/create_symlink.sh -@@ -59,8 +59,8 @@ preparation: + cd external/mbedtls/mbedtls_code && git apply ../sgx_mbedtls.patch >/dev/null 2>&1 || git apply ../sgx_mbedtls.patch --check -R cd external/cbor && cp -r libcbor sgx_libcbor cd external/cbor/libcbor && git apply ../raw_cbor.patch >/dev/null 2>&1 || git apply ../raw_cbor.patch --check -R cd external/cbor/sgx_libcbor && git apply ../sgx_cbor.patch >/dev/null 2>&1 || git apply ../sgx_cbor.patch --check -R diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix index c72a0c528516..eba9e7f6a0e5 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix +++ b/nixpkgs/pkgs/os-specific/linux/sgx/sdk/ipp-crypto.nix @@ -8,16 +8,20 @@ }: gcc11Stdenv.mkDerivation rec { pname = "ipp-crypto"; - version = "2021.10.0"; + version = "2021.11.1"; src = fetchFromGitHub { owner = "intel"; repo = "ipp-crypto"; rev = "ippcp_${version}"; - hash = "sha256-DfXsJ+4XqyjCD+79LUD53Cx8D46o1a4fAZa2UxGI1Xg="; + hash = "sha256-OgNrrPE8jFVD/hcv7A43Bno96r4Z/lb7/SE6TEL7RDI="; }; - cmakeFlags = [ "-DARCH=intel64" ] ++ extraCmakeFlags; + cmakeFlags = [ + "-DARCH=intel64" + # sgx-sdk now requires FIPS-compliance mode turned on + "-DIPPCP_FIPS_MODE=on" + ] ++ extraCmakeFlags; nativeBuildInputs = [ cmake diff --git a/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix index 94d7e20b21c4..73cde2e030af 100644 --- a/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sgx/ssl/default.nix @@ -10,7 +10,7 @@ }: let sgxVersion = sgx-sdk.versionTag; - opensslVersion = "3.0.12"; + opensslVersion = "3.0.13"; in stdenv.mkDerivation { pname = "sgx-ssl" + lib.optionalString debug "-debug"; @@ -27,7 +27,7 @@ stdenv.mkDerivation { let opensslSourceArchive = fetchurl { url = "https://www.openssl.org/source/openssl-${opensslVersion}.tar.gz"; - hash = "sha256-+Tyejt3l6RZhGd4xdV/Ie0qjSGNmL2fd/LoU0La2m2E="; + hash = "sha256-iFJXU/edO+wn0vp8ZqoLkrOqlJja/ZPXz6SzeAza4xM="; }; in '' @@ -39,8 +39,8 @@ stdenv.mkDerivation { # Skip the tests. Build and run separately (see below). substituteInPlace Linux/sgx/Makefile \ - --replace '$(MAKE) -C $(TEST_DIR) all' \ - 'bash -c "true"' + --replace-fail '$(MAKE) -C $(TEST_DIR) all' \ + 'bash -c "true"' ''; nativeBuildInputs = [ @@ -71,11 +71,11 @@ stdenv.mkDerivation { SIM = callPackage ./tests.nix { sgxMode = "SIM"; inherit opensslVersion; }; }; - meta = with lib; { + meta = { description = "Cryptographic library for Intel SGX enclave applications based on OpenSSL"; homepage = "https://github.com/intel/intel-sgx-ssl"; - maintainers = with maintainers; [ phlip9 trundle veehaitch ]; + maintainers = with lib.maintainers; [ phlip9 trundle veehaitch ]; platforms = [ "x86_64-linux" ]; - license = [ licenses.bsd3 licenses.openssl ]; + license = with lib.licenses; [ bsd3 openssl ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/shufflecake/default.nix b/nixpkgs/pkgs/os-specific/linux/shufflecake/default.nix index 8e1330e56789..01c634cc4bfd 100644 --- a/nixpkgs/pkgs/os-specific/linux/shufflecake/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/shufflecake/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = "A plausible deniability (hidden storage) layer for Linux"; + description = "Plausible deniability (hidden storage) layer for Linux"; homepage = "https://shufflecake.net"; license = licenses.gpl2Only; maintainers = with maintainers; [ oluceps ]; diff --git a/nixpkgs/pkgs/os-specific/linux/sinit/default.nix b/nixpkgs/pkgs/os-specific/linux/sinit/default.nix index 3bf73a8f495e..680e1ae2771c 100644 --- a/nixpkgs/pkgs/os-specific/linux/sinit/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sinit/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ; meta = with lib; { - description = "A very minimal Linux init implementation from suckless.org"; + description = "Very minimal Linux init implementation from suckless.org"; mainProgram = "sinit"; license = licenses.mit; maintainers = with maintainers; [ raskin ]; diff --git a/nixpkgs/pkgs/os-specific/linux/smem/default.nix b/nixpkgs/pkgs/os-specific/linux/smem/default.nix index 6308b83b600a..bfeb5902a423 100644 --- a/nixpkgs/pkgs/os-specific/linux/smem/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/smem/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { homepage = "https://www.selenic.com/smem/"; - description = "A memory usage reporting tool that takes shared memory into account"; + description = "Memory usage reporting tool that takes shared memory into account"; platforms = lib.platforms.linux; maintainers = [ lib.maintainers.eelco ]; license = lib.licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix index 4f27c7e83fb5..b3395c7a4cea 100644 --- a/nixpkgs/pkgs/os-specific/linux/sssd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sssd/default.nix @@ -3,33 +3,25 @@ python3, pam, popt, talloc, tdb, tevent, pkg-config, ldb, openldap, pcre2, libkrb5, cifs-utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2, libuuid, systemd, nspr, check, cmocka, uid_wrapper, p11-kit, - nss_wrapper, ncurses, Po4a, http-parser, jansson, jose, - docbook_xsl, docbook_xml_dtd_44, - testers, nix-update-script, nixosTests, fetchpatch, + nss_wrapper, ncurses, Po4a, jansson, jose, + docbook_xsl, docbook_xml_dtd_45, + testers, nix-update-script, nixosTests, withSudo ? false }: let - docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_44}/xml/dtd/docbook/catalog.xml"; + docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; in stdenv.mkDerivation (finalAttrs: { pname = "sssd"; - version = "2.9.4"; + version = "2.9.5"; src = fetchFromGitHub { owner = "SSSD"; repo = "sssd"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-VJXZndbmC6mAVxzvv5Wjb4adrQkP16Rt4cgjl4qGDIc="; + hash = "sha256-wr6qFgM5XN3aizYVquj0xF+mVRgrkLWWhA3/gQOK8hQ="; }; - patches = [ - # Fix the build with Samba 4.20 - (fetchpatch { - url = "https://github.com/SSSD/sssd/commit/1bf51929a48b84d62ac54f2a42f17e7fbffe1612.patch"; - hash = "sha256-VLx04APEipp860iOJNIwTGywxZ7rIDdyh3te6m7Ymlo="; - }) - ]; - postPatch = '' patchShebangs ./sbus_generate.sh.in ''; @@ -74,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { talloc tdb tevent ldb pam openldap pcre2 libkrb5 cifs-utils glib keyutils dbus fakeroot libxslt libxml2 libuuid python3.pkgs.python-ldap systemd nspr check cmocka uid_wrapper - nss_wrapper ncurses Po4a http-parser jansson jose ]; + nss_wrapper ncurses Po4a jansson jose ]; makeFlags = [ "SGML_CATALOG_FILES=${docbookFiles}" diff --git a/nixpkgs/pkgs/os-specific/linux/swapview/default.nix b/nixpkgs/pkgs/os-specific/linux/swapview/default.nix index 3ef2426fad93..2cfc8e57c053 100644 --- a/nixpkgs/pkgs/os-specific/linux/swapview/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/swapview/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "03yi6bsjjnl8hznxr1nrnxx5lrqb574625j2lkxqbl9vrg9mswdz"; meta = with lib; { - description = "A simple program to view processes' swap usage on Linux"; + description = "Simple program to view processes' swap usage on Linux"; mainProgram = "swapview"; homepage = "https://github.com/lilydjwg/swapview"; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix b/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix index 048d82b5a530..09f76956d7fb 100644 --- a/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sysklogd/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { preInstall = "mkdir -p $out/share/man/man5/ $out/share/man/man8/ $out/sbin"; meta = with lib; { - description = "A system logging daemon"; + description = "System logging daemon"; platforms = platforms.linux; license = licenses.gpl2; }; diff --git a/nixpkgs/pkgs/os-specific/linux/syslinux/default.nix b/nixpkgs/pkgs/os-specific/linux/syslinux/default.nix index f5153eb5abc9..6023c6e82ff8 100644 --- a/nixpkgs/pkgs/os-specific/linux/syslinux/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/syslinux/default.nix @@ -1,11 +1,14 @@ { lib , stdenv -, fetchgit +, fetchFromRepoOrCz +, gnu-efi , fetchurl +, fetchpatch , libuuid , makeWrapper , mtools , nasm +, nixosTests , perl , python3 }: @@ -16,11 +19,10 @@ stdenv.mkDerivation { # This is syslinux-6.04-pre3^1; syslinux-6.04-pre3 fails to run. # Same issue here https://www.syslinux.org/archives/2019-February/026330.html - src = fetchgit { - url = "https://repo.or.cz/syslinux"; + src = fetchFromRepoOrCz { + repo = "syslinux"; rev = "b40487005223a78c3bb4c300ef6c436b3f6ec1f7"; - sha256 = "sha256-GqvRTr9mA2yRD0G0CF11x1X0jCgqV4Mh+tvE0/0yjqk="; - fetchSubmodules = true; + hash = "sha256-XNC+X7UYxdMQQAg4MLACQLxRNnI5/ZCOiCJrEkKgPeM="; }; patches = let @@ -65,19 +67,19 @@ stdenv.mkDerivation { "0018-prevent-pow-optimization.patch" "26f0e7b2" "sha256-dVzXBi/oSV9vYgU85mRFHBKuZdup+1x1BipJX74ED7E=") + # Fixes build with "modern" gnu-efi + ./import-efisetjmp.patch + # Upstream patch: https://www.syslinux.org/archives/2024-February/026903.html + ./define-wchar_t.patch ]; postPatch = '' - substituteInPlace Makefile --replace /bin/pwd $(type -P pwd) - substituteInPlace utils/ppmtolss16 --replace /usr/bin/perl $(type -P perl) + substituteInPlace Makefile --replace-fail /bin/pwd $(type -P pwd) + substituteInPlace utils/ppmtolss16 --replace-fail /usr/bin/perl $(type -P perl) # fix tests substituteInPlace tests/unittest/include/unittest/unittest.h \ - --replace /usr/include/ "" - - # Hack to get `gcc -m32' to work without having 32-bit Glibc headers. - mkdir gnu-efi/inc/ia32/gnu - touch gnu-efi/inc/ia32/gnu/stubs-32.h + --replace-fail /usr/include/ "" ''; nativeBuildInputs = [ @@ -89,6 +91,7 @@ stdenv.mkDerivation { buildInputs = [ libuuid + gnu-efi ]; # Fails very rarely with 'No rule to make target: ...' @@ -111,8 +114,22 @@ stdenv.mkDerivation { "MANDIR=$(out)/share/man" "PERL=perl" "HEXDATE=0x00000000" + # Works around confusing (unrelated) error messages when upx is not made available + "UPX=false" + + # Configurations needed to make use of external gnu-efi + "LIBEFI=${gnu-efi}/lib/libefi.a" + "LIBDIR=${gnu-efi}/lib/" + "EFIINC=${gnu-efi}/include/efi" + + # Legacy bios boot target is always built + "bios" ] - ++ lib.optionals stdenv.hostPlatform.isi686 [ "bios" "efi32" ]; + # Build "ia32" EFI for i686 + ++ lib.optional stdenv.hostPlatform.isi686 "efi32" + # Build "x86_64" EFI for x86_64 + ++ lib.optional stdenv.hostPlatform.isx86_64 "efi64" + ; # Some tests require qemu, some others fail in a sandboxed environment doCheck = false; @@ -125,9 +142,11 @@ stdenv.mkDerivation { rm -rf $out/share/syslinux/com32 ''; + passthru.tests.biosCdrom = nixosTests.boot.biosCdrom; + meta = with lib; { - homepage = "http://www.syslinux.org/"; - description = "A lightweight bootloader"; + homepage = "https://www.syslinux.org/"; + description = "Lightweight bootloader"; license = licenses.gpl2Plus; maintainers = [ maintainers.samueldr ]; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/syslinux/define-wchar_t.patch b/nixpkgs/pkgs/os-specific/linux/syslinux/define-wchar_t.patch new file mode 100644 index 000000000000..92baf101fb41 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/syslinux/define-wchar_t.patch @@ -0,0 +1,11 @@ +diff --git a/com32/include/stddef.h b/com32/include/stddef.h +index f52d62f3..437b11f2 100644 +--- a/com32/include/stddef.h ++++ b/com32/include/stddef.h +@@ -29,4 +29,6 @@ + */ + #define container_of(p, c, m) ((c *)((char *)(p) - offsetof(c,m))) + ++typedef short wchar_t; ++ + #endif /* _STDDEF_H */ diff --git a/nixpkgs/pkgs/os-specific/linux/syslinux/import-efisetjmp.patch b/nixpkgs/pkgs/os-specific/linux/syslinux/import-efisetjmp.patch new file mode 100644 index 000000000000..6d1744fc4340 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/syslinux/import-efisetjmp.patch @@ -0,0 +1,22 @@ +From 68defee52f4eba82eefaeea17f21c7498448dd6b Mon Sep 17 00:00:00 2001 +From: Samuel Dionne-Riel <samuel@dionne-riel.com> +Date: Mon, 3 Jun 2024 16:16:25 -0400 +Subject: [PATCH] efi/efi.h: Add efisetjmp.h + +See https://github.com/ncroxon/gnu-efi/commit/486ba3c3bdd147b7d98159b9e650be60bce0f027 +--- + efi/efi.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/efi/efi.h b/efi/efi.h +index c266532f3..e4497574b 100644 +--- a/efi/efi.h ++++ b/efi/efi.h +@@ -23,6 +23,7 @@ + #include <efi.h> + #include <efilib.h> + #include <efistdarg.h> ++#include <efisetjmp.h> + + /* Delay for 100 ms */ + #define EFI_NOMAP_PRINT_DELAY 100 diff --git a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix b/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix index 303935d8adb4..67e077049078 100644 --- a/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/sysstat/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://sebastien.godard.pagesperso-orange.fr/"; - description = "A collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)"; + description = "Collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; maintainers = [ lib.maintainers.eelco ]; diff --git a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix index 2d1f033920bd..68209a4e2ccb 100644 --- a/nixpkgs/pkgs/os-specific/linux/systemd/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/systemd/default.nix @@ -5,7 +5,6 @@ , nixosTests , pkgsCross , fetchFromGitHub -, fetchpatch , fetchzip , buildPackages , makeBinaryWrapper @@ -180,7 +179,7 @@ assert withBootloader -> withEfi; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "255.4"; + version = "255.6"; # Use the command below to update `releaseTimestamp` on every (major) version # change. More details in the commentary at mesonFlags. @@ -198,7 +197,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "systemd"; repo = "systemd-stable"; rev = "v${version}"; - hash = "sha256-P1mKq+ythrv8MU7y2CuNtEx6qCDacugzfsPRZL+NPys="; + hash = "sha256-ah0678iNfy0c5NhHhjn0roY6RoM8OE0hWyEt+qEGKRQ="; }; # On major changes, or when otherwise required, you *must* : @@ -229,15 +228,6 @@ stdenv.mkDerivation (finalAttrs: { ./0017-meson.build-do-not-create-systemdstatedir.patch ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ ./0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch - ] ++ lib.optional (stdenv.hostPlatform.isPower || stdenv.hostPlatform.isRiscV || stdenv.hostPlatform.isMips) [ - # Fixed upstream and included in the main and stable branches. Can be dropped - # when bumping to >= v255.5. - # https://github.com/systemd/systemd/issues/30448 - # https://github.com/NixOS/nixpkgs/pull/282607 - (fetchpatch { - url = "https://github.com/systemd/systemd/commit/8040fa55a1cbc34dede3205a902095ecd26c21e3.patch"; - sha256 = "0c6z7bsndbkb8m130jnjpsl138sfv3q171726n5vkyl2n9ihnavk"; - }) ] ++ lib.optional stdenv.hostPlatform.isMusl ( let oe-core = fetchzip { @@ -417,6 +407,7 @@ stdenv.mkDerivation (finalAttrs: { ''; outputs = [ "out" "dev" ] ++ (lib.optional (!buildLibsOnly) "man"); + separateDebugInfo = true; hardeningDisable = [ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111523 @@ -510,6 +501,12 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "default-hierarchy" "unified") (lib.mesonOption "kmod-path" "${kmod}/bin/kmod") + # Attempts to check /usr/sbin and that fails in macOS sandbox because + # permission is denied. If /usr/sbin is not a symlink, it defaults to true. + # We set it to false since stdenv moves sbin/* to bin and creates a symlink, + # that is, we do not have split bin. + (lib.mesonOption "split-bin" "false") + # D-Bus (lib.mesonOption "dbuspolicydir" "${placeholder "out"}/share/dbus-1/system.d") (lib.mesonOption "dbussessionservicedir" "${placeholder "out"}/share/dbus-1/services") @@ -562,7 +559,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "zlib" withCompression) # NSS - (lib.mesonEnable "nss-mymachines" withNss) + (lib.mesonEnable "nss-mymachines" (withNss && withMachined)) (lib.mesonEnable "nss-resolve" withNss) (lib.mesonBool "nss-myhostname" withNss) (lib.mesonBool "nss-systemd" withNss) @@ -574,7 +571,7 @@ stdenv.mkDerivation (finalAttrs: { # FIDO2 (lib.mesonEnable "libfido2" withFido2) - (lib.mesonEnable "openssl" withFido2) + (lib.mesonEnable "openssl" (withHomed || withFido2 || withSysupdate)) # Password Quality (lib.mesonEnable "pwquality" withPasswordQuality) @@ -599,6 +596,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "libiptc" withIptables) (lib.mesonEnable "repart" withRepart) (lib.mesonEnable "sysupdate" withSysupdate) + (lib.mesonEnable "seccomp" withLibseccomp) (lib.mesonEnable "selinux" withSelinux) (lib.mesonEnable "tpm2" withTpm2Tss) (lib.mesonEnable "pcre2" withPCRE2) @@ -823,6 +821,9 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace $i --replace /bin/false ${coreutils}/bin/false done + # For compatibility with dependents that use sbin instead of bin. + ln -s bin "$out/sbin" + rm -rf $out/etc/rpm '' + lib.optionalString (!withKernelInstall) '' # "kernel-install" shouldn't be used on NixOS. @@ -893,7 +894,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://www.freedesktop.org/wiki/Software/systemd/"; - description = "A system and service manager for Linux"; + description = "System and service manager for Linux"; longDescription = '' systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the diff --git a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix b/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix index 6058b3509772..d5594a89a562 100644 --- a/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/targetcli/default.nix @@ -1,4 +1,4 @@ -{ lib, python3, fetchFromGitHub, nixosTests }: +{ lib, python3, fetchFromGitHub, nixosTests, wrapGAppsNoGuiHook, gobject-introspection, glib }: python3.pkgs.buildPythonApplication rec { pname = "targetcli"; @@ -11,7 +11,10 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-9QYo7jGk9iWr26j0qPQCqYsJ+vLXAsO4Xs7+7VT9/yc="; }; - propagatedBuildInputs = with python3.pkgs; [ configshell rtslib ]; + nativeBuildInputs = [ wrapGAppsNoGuiHook gobject-introspection ]; + buildInputs = [ glib ]; + + propagatedBuildInputs = with python3.pkgs; [ configshell rtslib pygobject3 ]; postInstall = '' install -D targetcli.8 -t $out/share/man/man8/ @@ -23,7 +26,7 @@ python3.pkgs.buildPythonApplication rec { }; meta = with lib; { - description = "A command shell for managing the Linux LIO kernel target"; + description = "Command shell for managing the Linux LIO kernel target"; homepage = "https://github.com/open-iscsi/targetcli-fb"; license = licenses.asl20; maintainers = lib.teams.helsinki-systems.members; diff --git a/nixpkgs/pkgs/os-specific/linux/tiscamera/default.nix b/nixpkgs/pkgs/os-specific/linux/tiscamera/default.nix index 8847a83d53d7..d93eeaff2723 100644 --- a/nixpkgs/pkgs/os-specific/linux/tiscamera/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/tiscamera/default.nix @@ -126,7 +126,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "The Linux sources and UVC firmwares for The Imaging Source cameras"; + description = "Linux sources and UVC firmwares for The Imaging Source cameras"; homepage = "https://github.com/TheImagingSource/tiscamera"; license = with licenses; [ asl20 ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix index 1eda219013da..4251235469cc 100644 --- a/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix +++ b/nixpkgs/pkgs/os-specific/linux/trace-cmd/kernelshark.nix @@ -1,22 +1,22 @@ -{ lib, mkDerivation, fetchzip, qtbase, cmake, asciidoc +{ lib, stdenv, fetchzip, qtbase, qtscxml, cmake, asciidoc , docbook_xsl, json_c, mesa_glu, freeglut, trace-cmd, pkg-config -, libtraceevent, libtracefs, freefont_ttf +, libtraceevent, libtracefs, freefont_ttf, wrapQtAppsHook, qtwayland }: -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "kernelshark"; - version = "2.2.1"; + version = "2.3.1"; src = fetchzip { - url = "https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/snapshot/kernelshark-v${version}.tar.gz"; - hash = "sha256-V25IzPDOt6V03wgIa/AJ0T8mRaGmXYuMCcvbSOKleY0="; + url = "https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/snapshot/kernelshark-v${finalAttrs.version}.tar.gz"; + hash = "sha256-KV8ahV2koX7OL1C42H5If14e7m54jv0DlZ1dNsVRUWE="; }; outputs = [ "out" ]; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ]; - buildInputs = [ qtbase json_c mesa_glu freeglut libtraceevent libtracefs trace-cmd ]; + buildInputs = [ qtbase qtscxml qtwayland json_c mesa_glu freeglut libtraceevent libtracefs trace-cmd ]; cmakeFlags = [ "-D_INSTALL_PREFIX=${placeholder "out"}" @@ -32,4 +32,4 @@ mkDerivation rec { platforms = platforms.linux; maintainers = with maintainers; [ basvandijk ]; }; -} +}) diff --git a/nixpkgs/pkgs/os-specific/linux/trinity/default.nix b/nixpkgs/pkgs/os-specific/linux/trinity/default.nix index 370620eef252..a3e795c8ea02 100644 --- a/nixpkgs/pkgs/os-specific/linux/trinity/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/trinity/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { installFlags = [ "DESTDIR=$(out)" ]; meta = with lib; { - description = "A Linux System call fuzz tester"; + description = "Linux System call fuzz tester"; mainProgram = "trinity"; homepage = "https://github.com/kernelslacker/trinity"; license = licenses.gpl2Only; diff --git a/nixpkgs/pkgs/os-specific/linux/tuna/default.nix b/nixpkgs/pkgs/os-specific/linux/tuna/default.nix index 3b527c8b534f..634680dc318c 100644 --- a/nixpkgs/pkgs/os-specific/linux/tuna/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/tuna/default.nix @@ -57,6 +57,5 @@ buildPythonApplication rec { homepage = "https://git.kernel.org/pub/scm/utils/tuna/tuna.git"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ elohmeier ]; }; } diff --git a/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix b/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix index 11b2ed28fb3f..51a342aa5e92 100644 --- a/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix +++ b/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { }; meta = with lib; { - description = "A daemon, tools and libraries to access and manipulate disks, storage devices and technologies"; + description = "Daemon, tools and libraries to access and manipulate disks, storage devices and technologies"; homepage = "https://www.freedesktop.org/wiki/Software/udisks/"; license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon maintainers = teams.freedesktop.members ++ (with maintainers; [ johnazoidberg ]); diff --git a/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix b/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix index d720031eb8ac..4066139c6fc3 100644 --- a/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix @@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/georgewhewell/undervolt/"; - description = "A program for undervolting Intel CPUs on Linux"; + description = "Program for undervolting Intel CPUs on Linux"; mainProgram = "undervolt"; longDescription = '' diff --git a/nixpkgs/pkgs/os-specific/linux/untie/default.nix b/nixpkgs/pkgs/os-specific/linux/untie/default.nix index 7d96631deb86..356416832cc9 100644 --- a/nixpkgs/pkgs/os-specific/linux/untie/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/untie/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; meta = with lib; { - description = "A tool to run processes untied from some of the namespaces"; + description = "Tool to run processes untied from some of the namespaces"; mainProgram = "untie"; maintainers = with maintainers; [ raskin ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/upower/default.nix b/nixpkgs/pkgs/os-specific/linux/upower/default.nix index 8a1d79a9d7bd..4ee907fe5a99 100644 --- a/nixpkgs/pkgs/os-specific/linux/upower/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/upower/default.nix @@ -210,7 +210,7 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://upower.freedesktop.org/"; changelog = "https://gitlab.freedesktop.org/upower/upower/-/blob/v${finalAttrs.version}/NEWS"; - description = "A D-Bus service for power management"; + description = "D-Bus service for power management"; mainProgram = "upower"; maintainers = teams.freedesktop.members; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix b/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix index e43ee0b421dc..139d6b63d8dc 100644 --- a/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { passthru.tests = nixosTests.usbguard; meta = with lib; { - description = "The USBGuard software framework helps to protect your computer against BadUSB"; + description = "USBGuard software framework helps to protect your computer against BadUSB"; longDescription = '' USBGuard is a software framework for implementing USB device authorization policies (what kind of USB devices are authorized) as well as method of diff --git a/nixpkgs/pkgs/os-specific/linux/usbip/default.nix b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix index b91f55dcd2fb..adaaab868b78 100644 --- a/nixpkgs/pkgs/os-specific/linux/usbip/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchpatch, kernel, udev, autoconf, automake, libtool, hwdata, kernelOlder }: +{ lib, stdenv, kernel, udev, autoconf, automake, libtool, hwdata, kernelOlder }: stdenv.mkDerivation { name = "usbip-${kernel.name}"; diff --git a/nixpkgs/pkgs/os-specific/linux/usbtop/default.nix b/nixpkgs/pkgs/os-specific/linux/usbtop/default.nix index ba97cae68bd0..587d82d9e7eb 100644 --- a/nixpkgs/pkgs/os-specific/linux/usbtop/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/usbtop/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/aguinet/usbtop"; - description = "A top utility that shows an estimated instantaneous bandwidth on USB buses and devices"; + description = "Top utility that shows an estimated instantaneous bandwidth on USB buses and devices"; mainProgram = "usbtop"; maintainers = with maintainers; [ ]; license = licenses.bsd3; diff --git a/nixpkgs/pkgs/os-specific/linux/usermount/default.nix b/nixpkgs/pkgs/os-specific/linux/usermount/default.nix index 73135da548ed..883e927444be 100644 --- a/nixpkgs/pkgs/os-specific/linux/usermount/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/usermount/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { meta = { homepage = "https://github.com/tom5760/usermount"; - description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus"; + description = "Simple tool to automatically mount removable drives using UDisks2 and D-Bus"; mainProgram = "usermount"; license = lib.licenses.mit; platforms = lib.platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix index ba989b41a6ca..e393bf1ac08e 100644 --- a/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/util-linux/default.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { pname = "util-linux" + lib.optionalString (!nlsSupport && !ncursesSupport && !systemdSupport) "-minimal"; - version = "2.39.3"; + version = "2.39.4"; src = fetchurl { url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/util-linux-${version}.tar.xz"; - hash = "sha256-e2YF5I0aSfQ8xLTPxZ8xPQ3VQC+kC5aBC9Vy4Wff7Q8="; + hash = "sha256-bE+HI9r9QcOdk+y/FlCfyIwzzVvTJ3iArlodl6AU/Q4="; }; patches = [ @@ -109,6 +109,9 @@ stdenv.mkDerivation rec { ln -svf "$swap/bin/"* $bin/bin/ '' + '' + ln -svf "$bin/bin/hexdump" "$bin/bin/hd" + ln -svf "$man/share/man/man1/hexdump.1" "$man/share/man/man1/hd.1" + installShellCompletion --bash bash-completion/* ''; @@ -123,7 +126,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.kernel.org/pub/linux/utils/util-linux/"; - description = "A set of system utilities for Linux"; + description = "Set of system utilities for Linux"; changelog = "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v${lib.versions.majorMinor version}/v${version}-ReleaseNotes"; # https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/README.licensing license = with licenses; [ gpl2Only gpl2Plus gpl3Plus lgpl21Plus bsd3 bsdOriginalUC publicDomain ]; diff --git a/nixpkgs/pkgs/os-specific/linux/uvcdynctrl/default.nix b/nixpkgs/pkgs/os-specific/linux/uvcdynctrl/default.nix index 8fa91e158e1c..c8e3fc385fdf 100644 --- a/nixpkgs/pkgs/os-specific/linux/uvcdynctrl/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/uvcdynctrl/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "A simple interface for devices supported by the linux UVC driver"; + description = "Simple interface for devices supported by the linux UVC driver"; homepage = "https://guvcview.sourceforge.net"; license = licenses.gpl3Plus; maintainers = [ maintainers.puffnfresh ]; diff --git a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix index 6fe83fd09eff..7f825509b947 100644 --- a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { ]; meta = with lib; { - description = "A kernel module to create V4L2 loopback devices"; + description = "Kernel module to create V4L2 loopback devices"; mainProgram = "v4l2loopback-ctl"; homepage = "https://github.com/umlaeute/v4l2loopback"; license = licenses.gpl2Only; diff --git a/nixpkgs/pkgs/os-specific/linux/v86d/default.nix b/nixpkgs/pkgs/os-specific/linux/v86d/default.nix index 8597cc5ac9f9..d59e8f52ff2b 100644 --- a/nixpkgs/pkgs/os-specific/linux/v86d/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/v86d/default.nix @@ -38,7 +38,7 @@ in stdenv.mkDerivation rec { buildInputs = [ klibc ]; meta = with lib; { - description = "A daemon to run x86 code in an emulated environment"; + description = "Daemon to run x86 code in an emulated environment"; mainProgram = "v86d"; homepage = "https://github.com/mjanusz/v86d"; license = licenses.gpl2; diff --git a/nixpkgs/pkgs/os-specific/linux/vdo/default.nix b/nixpkgs/pkgs/os-specific/linux/vdo/default.nix index 625aa232cc66..e709b26ad93d 100644 --- a/nixpkgs/pkgs/os-specific/linux/vdo/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/vdo/default.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/dm-vdo/vdo"; - description = "A set of userspace tools for managing pools of deduplicated and/or compressed block storage"; + description = "Set of userspace tools for managing pools of deduplicated and/or compressed block storage"; # platforms are defined in https://github.com/dm-vdo/vdo/blob/master/utils/uds/atomicDefs.h platforms = [ "x86_64-linux" "aarch64-linux" "s390-linux" "powerpc64-linux" "powerpc64le-linux" ]; license = with licenses; [ gpl2Plus ]; diff --git a/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix b/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix index cff2cbbeae8c..a0db1483c549 100644 --- a/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/virtio_vmmci/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "An OpenBSD VMM Control Interface (vmmci) for Linux"; + description = "OpenBSD VMM Control Interface (vmmci) for Linux"; homepage = "https://github.com/voutilad/virtio_vmmci"; license = licenses.gpl2; maintainers = with maintainers; [ qbit ]; diff --git a/nixpkgs/pkgs/os-specific/linux/wiringpi/default.nix b/nixpkgs/pkgs/os-specific/linux/wiringpi/default.nix index bc80e2a33543..a8eb74217a4f 100644 --- a/nixpkgs/pkgs/os-specific/linux/wiringpi/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/wiringpi/default.nix @@ -1,50 +1,54 @@ -{ lib -, stdenv -, symlinkJoin -, fetchFromGitHub -, libxcrypt +{ + lib, + stdenv, + symlinkJoin, + fetchFromGitHub, + libxcrypt, }: let - version = "2.61-1"; - mkSubProject = { subprj # The only mandatory argument - , buildInputs ? [] - , src ? fetchFromGitHub { + version = "3.6"; + srcAll = fetchFromGitHub { owner = "WiringPi"; repo = "WiringPi"; rev = version; - sha256 = "sha256-VxAaPhaPXd9xYt663Ju6SLblqiSLizauhhuFqCqbO5M="; - } - }: stdenv.mkDerivation (finalAttrs: { - pname = "wiringpi-${subprj}"; - inherit version src; - sourceRoot = "${src.name}/${subprj}"; - inherit buildInputs; - # Remove (meant for other OSs) lines from Makefiles - preInstall = '' - sed -i "/chown root/d" Makefile - sed -i "/chmod/d" Makefile - ''; - makeFlags = [ - "DESTDIR=${placeholder "out"}" - "PREFIX=/." - # On NixOS we don't need to run ldconfig during build: - "LDCONFIG=echo" - ]; - }); + sha256 = "sha256-Hw81Ua9LTb/9l3Js1rx8TfCOF59MrrvH6AGsAsG1SoE="; + }; + mkSubProject = + { + subprj, # The only mandatory argument + buildInputs ? [ ], + src ? srcAll, + }: + stdenv.mkDerivation (finalAttrs: { + pname = "wiringpi-${subprj}"; + inherit version src; + sourceRoot = "${src.name}/${subprj}"; + inherit buildInputs; + # Remove (meant for other OSs) lines from Makefiles + preInstall = '' + sed -i "/chown root/d" Makefile + sed -i "/chmod/d" Makefile + ''; + makeFlags = [ + "DESTDIR=${placeholder "out"}" + "PREFIX=/." + # On NixOS we don't need to run ldconfig during build: + "LDCONFIG=echo" + ]; + }); passthru = { + # Helps nix-update and probably nixpkgs-update find the src of this package + # automatically. + src = srcAll; inherit mkSubProject; wiringPi = mkSubProject { subprj = "wiringPi"; - buildInputs = [ - libxcrypt - ]; + buildInputs = [ libxcrypt ]; }; devLib = mkSubProject { subprj = "devLib"; - buildInputs = [ - passthru.wiringPi - ]; + buildInputs = [ passthru.wiringPi ]; }; wiringPiD = mkSubProject { subprj = "wiringPiD"; diff --git a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix index 49355de17784..f797b89efc7b 100644 --- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -120,7 +120,6 @@ stdenv.mkDerivation rec { + lib.optionalString dbusSupport '' mkdir -p $out/share/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system cp -v "dbus/"*service $out/share/dbus-1/system-services - sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"* cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d cp -v "systemd/"*.service $out/etc/systemd/system '' @@ -136,7 +135,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://w1.fi/wpa_supplicant/"; - description = "A tool for connecting to WPA and WPA2-protected wireless networks"; + description = "Tool for connecting to WPA and WPA2-protected wireless networks"; license = licenses.bsd3; maintainers = with maintainers; [ marcweber ma27 ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix index ac1de01af974..45eedb25a953 100644 --- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -1,4 +1,4 @@ -{ lib, mkDerivation, fetchpatch, qtbase, qmake, inkscape, imagemagick, wpa_supplicant }: +{ lib, mkDerivation, qtbase, qmake, inkscape, imagemagick, wpa_supplicant }: mkDerivation { pname = "wpa_gui"; diff --git a/nixpkgs/pkgs/os-specific/linux/xf86-video-nested/default.nix b/nixpkgs/pkgs/os-specific/linux/xf86-video-nested/default.nix index 4092e3797c2f..bfc4a68bddf8 100644 --- a/nixpkgs/pkgs/os-specific/linux/xf86-video-nested/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/xf86-video-nested/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://cgit.freedesktop.org/xorg/driver/xf86-video-nested"; - description = "A driver to run Xorg on top of Xorg or something else"; + description = "Driver to run Xorg on top of Xorg or something else"; maintainers = [ maintainers.goibhniu ]; platforms = platforms.linux; license = licenses.mit; diff --git a/nixpkgs/pkgs/os-specific/linux/xone/default.nix b/nixpkgs/pkgs/os-specific/linux/xone/default.nix index b1e2ce570a2d..fdc9990fb63d 100644 --- a/nixpkgs/pkgs/os-specific/linux/xone/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/xone/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, kernel, fetchurl, fetchpatch }: +{ stdenv, lib, fetchFromGitHub, kernel }: stdenv.mkDerivation (finalAttrs: { pname = "xone"; diff --git a/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix b/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix index bf1240610f8c..f5819f0d1d22 100644 --- a/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/zenpower/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { meta = with lib; { inherit (src.meta) homepage; - description = "Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs."; + description = "Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs"; license = licenses.gpl2Plus; maintainers = with maintainers; [ alexbakker artturin ]; platforms = [ "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix b/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix index c0ff834cb34a..ac32f034b7cd 100644 --- a/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix +++ b/nixpkgs/pkgs/os-specific/linux/zfs/generic.nix @@ -1,6 +1,6 @@ let genericBuild = - { pkgs, lib, stdenv, fetchFromGitHub, fetchpatch + { pkgs, lib, stdenv, fetchFromGitHub , autoreconfHook269, util-linux, nukeReferences, coreutils , perl , configFile ? "all" diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix index 1d8ced4dd5d7..28401bf4adfa 100644 --- a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix +++ b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix @@ -14,7 +14,7 @@ callPackage ./generic.nix args { # this attribute is the correct one for this package. kernelModuleAttribute = "zfs_unstable"; # check the release notes for compatible kernels - kernelCompatible = kernel.kernelOlder "6.9"; + kernelCompatible = kernel.kernelOlder "6.10"; latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_8; @@ -22,13 +22,13 @@ callPackage ./generic.nix args { # IMPORTANT: Always use a tagged release candidate or commits from the # zfs-<version>-staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.2.4"; - # rev = ""; + version = "2.2.4-unstable-2024-05-29"; + rev = "2eab4f7b396a1abb9adf7cab82d6ff47f9d78e9b"; isUnstable = true; tests = [ nixosTests.zfs.unstable ]; - hash = "sha256-SSp/1Tu1iGx5UDcG4j0k2fnYxK05cdE8gzfSn8DU5Z4="; + hash = "sha256-xcEiZRHsFtIWvjy47kaLai/No/XYfhkJ5+zi/1KWqUE="; } |