diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix index cb23bb2fc2d..cd32049dff4 100644 --- a/nixos/tests/kernel-generic.nix +++ b/nixos/tests/kernel-generic.nix @@ -32,6 +32,7 @@ with pkgs; { linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4; linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10; linux_5_12 = makeKernelTest "5.12" linuxPackages_5_12; + linux_5_13 = makeKernelTest "5.13" linuxPackages_5_13; linux_testing = makeKernelTest "testing" linuxPackages_testing; } diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/0.8.nix similarity index 100% rename from pkgs/applications/networking/ipfs/default.nix rename to pkgs/applications/networking/ipfs/0.8.nix diff --git a/pkgs/applications/networking/ipfs/0.9.nix b/pkgs/applications/networking/ipfs/0.9.nix new file mode 100644 index 00000000000..e96602a54c5 --- /dev/null +++ b/pkgs/applications/networking/ipfs/0.9.nix @@ -0,0 +1,45 @@ +{ lib, buildGoModule, fetchurl, nixosTests }: + +buildGoModule rec { + pname = "ipfs"; + version = "0.9.0"; + rev = "v${version}"; + + # go-ipfs makes changes to it's source tarball that don't match the git source. + src = fetchurl { + url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz"; + sha256 = "sha256:1fyffnw1d860w7gwm6ijbgrh68297z5bmvww8yqfshm3xgvcs6bf"; + }; + + # tarball contains multiple files/directories + postUnpack = '' + mkdir ipfs-src + shopt -s extglob + mv !(ipfs-src) ipfs-src || true + cd ipfs-src + ''; + + sourceRoot = "."; + + subPackages = [ "cmd/ipfs" ]; + + passthru.tests.ipfs = nixosTests.ipfs; + + vendorSha256 = null; + + postInstall = '' + install --mode=444 -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service + install --mode=444 -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket + install --mode=444 -D misc/systemd/ipfs-gateway.socket $out/etc/systemd/system/ipfs-gateway.socket + substituteInPlace $out/etc/systemd/system/ipfs.service \ + --replace /usr/bin/ipfs $out/bin/ipfs + ''; + + meta = with lib; { + description = "A global, versioned, peer-to-peer filesystem"; + homepage = "https://ipfs.io/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 776a422df73..26bb9f82063 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -248,7 +248,7 @@ let DRM_LOAD_EDID_FIRMWARE = yes; VGA_SWITCHEROO = yes; # Hybrid graphics support DRM_GMA500 = whenAtLeast "5.12" module; - DRM_GMA600 = yes; + DRM_GMA600 = whenOlder "5.13" yes; DRM_GMA3600 = whenOlder "5.12" yes; DRM_VMWGFX_FBCON = yes; # necessary for amdgpu polaris support @@ -443,7 +443,7 @@ let SECURITY_SELINUX_BOOTPARAM_VALUE = whenOlder "5.1" (freeform "0"); # Disable SELinux by default # Prevent processes from ptracing non-children processes SECURITY_YAMA = option yes; - DEVKMEM = no; # Disable /dev/kmem + DEVKMEM = whenOlder "5.13" no; # Disable /dev/kmem USER_NS = yes; # Support for user namespaces @@ -698,7 +698,7 @@ let THRUSTMASTER_FF = yes; ZEROPLUS_FF = yes; - MODULE_COMPRESS = yes; + MODULE_COMPRESS = whenOlder "5.13" yes; MODULE_COMPRESS_XZ = yes; SYSVIPC = yes; # System-V IPC diff --git a/pkgs/os-specific/linux/kernel/linux-5.13.nix b/pkgs/os-specific/linux/kernel/linux-5.13.nix new file mode 100644 index 00000000000..eb01fb6289c --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-5.13.nix @@ -0,0 +1,21 @@ +{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args: + +with lib; + +buildLinux (args // rec { + version = "5.13"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; + + # branchVersion needs to be x.y + extraMeta.branch = versions.majorMinor version; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "sha256-P2uql/N1GEOfUd8uTz1lqCLKX/AWqo5g0sxTuVpsidk="; + }; + + kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_13 ]; +} // (args.argsOverride or { })) + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25cb7fb4a94..d43b2d2d69f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5802,7 +5802,11 @@ in iperf3 = callPackage ../tools/networking/iperf/3.nix { }; iperf = iperf3; - ipfs = callPackage ../applications/networking/ipfs { }; + ipfs = ipfs_0_8; + ipfs_latest = ipfs_0_9; + ipfs_0_8 = callPackage ../applications/networking/ipfs/0.8.nix { }; + ipfs_0_9 = callPackage ../applications/networking/ipfs/0.9.nix { }; + ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { }; ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { }; @@ -20410,6 +20414,13 @@ in ]; }; + linux_5_13 = callPackage ../os-specific/linux/kernel/linux-5.13.nix { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }; + linux-rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix { kernelPatches = [ kernelPatches.bridge_stp_helper @@ -20716,6 +20727,7 @@ in linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4); linuxPackages_5_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_10); linuxPackages_5_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_12); + linuxPackages_5_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_13); # When adding to the list above: # - Update linuxPackages_latest to the latest version