diff --git a/nixos/modules/security/default.nix b/nixos/modules/security/default.nix index 5170383d6f5e..c1a4f7cf34a1 100644 --- a/nixos/modules/security/default.nix +++ b/nixos/modules/security/default.nix @@ -1,4 +1,8 @@ -{ config, lib, ... }: +{ + config, + lib, + ... +}: let cfg = config.security; in @@ -16,10 +20,16 @@ in config = lib.mkMerge [ { # We set the default LSM's here due to them not being present if set when enabling AppArmor. - security.lsm = [ - "landlock" - "yama" - "bpf" + security.lsm = lib.mkMerge [ + [ + "landlock" + "yama" + ] + # Load BPF last unconditionally. See: https://github.com/NixOS/nixpkgs/pull/533428. + # Apparmor (and potentially other modules) will load incorrectly if they are not before BPF. + # It is believed that there was a regression between kernel 6.12 and 6.18 which caused the + # passthrough stub or LSM stacking of the BPF module to interact with other modules incorrectly. + (lib.mkAfter [ "bpf" ]) ]; } (lib.mkIf (lib.lists.length cfg.lsm > 0) { diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 2c00b3ee6529..48b0795c53c1 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -7,7 +7,6 @@ let inherit (lib) - all attrsToList concatMapStringsSep concatStringsSep @@ -19,7 +18,6 @@ let isBool isDerivation isInt - isList isPath isString listToAttrs @@ -98,53 +96,67 @@ let i: n: v: "${i}${toString n} = ${v}"; - formatKeyValue = - indent: n: v: - if (v == null) then - "" - else if isInt v then - toOption indent n (toString v) + isPrimitive = v: !isAttrs v || isDerivation v; + + formatPrimitive = + v: + if isInt v then + toString v else if isBool v then - toOption indent n (yesOrNo v) + yesOrNo v else if isString v then - toOption indent n v - else if isList v then - if all isString v then - toOption indent n (concatStringsSep " " v) - else - map (formatKeyValue indent n) v + v else if isPath v || isDerivation v then # paths -> copy to store # derivations -> just use output path instead of looping over the attrs - toOption indent n "${v}" - else if isAttrs v && v ? _section then - let - sectionType = v._section.type; - sectionName = v._section.name; - sectionTitle = concatStringsSep " " ( - filter (s: s != null) [ - sectionType - sectionName - ] - ); - in - concatStringsSep "\n" ( - [ - "${indent}${sectionTitle} {" - ] - ++ (mapAttrsToList (formatKeyValue "${indent} ") (removeAttrs v [ "_section" ])) - ++ [ "${indent}}" ] - ) - else if isAttrs v then - concatStringsSep "\n" ( - [ - "${indent}${n} {" - ] - ++ (mapAttrsToList (formatKeyValue "${indent} ") v) - ++ [ "${indent}}" ] - ) + "${v}" else - throw (traceSeq v "services.dovecot2.settings: unexpected type"); + throw (traceSeq v "services.dovecot2.settings: unexpected primitive type"); + + formatSection = + indent: n: v: + let + sectionTitle = + if v ? _section then + concatStringsSep " " ( + filter (s: s != null) [ + v._section.type + v._section.name + ] + ) + else + n; + inner = removeAttrs v [ "_section" ]; + in + concatStringsSep "\n" ( + [ "${indent}${sectionTitle} {" ] + ++ flatten (mapAttrsToList (primitiveLinesFor "${indent} ") inner) + ++ flatten (mapAttrsToList (sectionLinesFor "${indent} ") inner) + ++ [ "${indent}}" ] + ); + + # emit lines for a k=v pair only when the value is a primitive + primitiveLinesFor = + indent: n: v: + let + primitives = filter isPrimitive (flatten [ v ]); + hasOnlySections = primitives == [ ] && v != [ ]; + in + # Only emit an empty list if the original entry was also an empty list. + # This is so that values like k = [{ ... }] will not produce an output + # here, but k = [] will, even though they result in the same + # primitives = []. + optional (!hasOnlySections && v != null) ( + toOption indent n (concatMapStringsSep " " formatPrimitive primitives) + ); + + # emit lines for a k=v pair only when the value is *not* a primitive + sectionLinesFor = + indent: n: v: + let + sections = filter (e: !isPrimitive e) (flatten [ v ]); + in + map (e: formatSection indent n e) sections; doveConf = let @@ -156,10 +168,13 @@ let ]; in concatStringsSep "\n" ( - optional (configVersion != null) (formatKeyValue "" "dovecot_config_version" configVersion) - ++ optional (storageVersion != null) (formatKeyValue "" "dovecot_storage_version" storageVersion) + optionals (configVersion != null) (primitiveLinesFor "" "dovecot_config_version" configVersion) + ++ optionals (storageVersion != null) ( + primitiveLinesFor "" "dovecot_storage_version" storageVersion + ) ++ optionals (cfg.includeFiles != [ ]) (map (f: "!include ${f}") cfg.includeFiles) - ++ flatten (mapAttrsToList (formatKeyValue "") remainingSettings) + ++ flatten (mapAttrsToList (primitiveLinesFor "") remainingSettings) + ++ flatten (mapAttrsToList (sectionLinesFor "") remainingSettings) ); isPre24 = versionOlder cfg.package.version "2.4"; diff --git a/nixos/modules/services/web-apps/tabbyapi.nix b/nixos/modules/services/web-apps/tabbyapi.nix index 0340e69775a7..bd937b0d5685 100644 --- a/nixos/modules/services/web-apps/tabbyapi.nix +++ b/nixos/modules/services/web-apps/tabbyapi.nix @@ -167,6 +167,13 @@ in wantedBy = [ "multi-user.target" ]; description = "TabbyAPI - OAI compatible server for Exllama"; + # Triton & huggingface downloader need writable cache folders + environment = { + HOME = "/var/lib/tabbyapi"; + XDG_CACHE_HOME = "/var/lib/tabbyapi/.cache"; + TRITON_CACHE_DIR = "/tmp/triton"; + }; + serviceConfig = { ExecStart = "${lib.getExe cfg.package} --config=${configFile}"; Restart = "on-failure"; diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index 83a5a731ccb7..466e359c3147 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -363,21 +363,27 @@ in include ${cfg.lxcPackage}/etc/apparmor.d/lxc-containers ''; "incusd".profile = '' - # This profile allows everything and only exists to give the - # application a name instead of having the label "unconfined" + # incusd is deliberatly left unconfined, with NO named profile attached to the binary. + # Incus checks its own confinement at startup by reading /proc/self/attr/current + # (https://github.com/lxc/incus/blob/92b0cbbc5728ed45578fdeeec634606af8826404/internal/server/sys/apparmor.go). + # Anything other than "unconfined" makes Incus believe that the host process is + # itself confined, which sends every container down the "reuse my own profile" branch in + # https://github.com/lxc/incus/blob/92b0cbbc5728ed45578fdeeec634606af8826404/internal/server/instance/drivers/driver_lxc.go + # instead of generating a "proper" per-container profile. Furthermore, + # that branch only strips " (enforce)" suffix before handing the string to lxc.apparmor.profile + # (https://github.com/lxc/incus/blob/92b0cbbc5728ed45578fdeeec634606af8826404/internal/server/instance/drivers/driver_lxc.go#L96), + # so the named profile with flags=(unconfined) produces a literal string + # "incusd (unconfined)", which the kernel rejects at change_profile() time + # with "label not found", failing every `incus start` when AppArmor is enabled. + # This was not caught before as AppArmor was stifled by bpf. + + # We keep this policy to pull in the per-container / + # per-archive profiles incusd generates at runtime so + # apparmor_parser loads them. abi , include - profile incusd ${lib.getExe' config.virtualisation.incus.package "incusd"} flags=(unconfined) { - userns, - - include "/var/lib/incus/security/apparmor/cache" - - # Site-specific additions and overrides. See local/README for details. - include if exists - } - include "/var/lib/incus/security/apparmor/profiles" ''; }; diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index 51bdeadd412e..e6f62c4c729f 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -152,14 +152,13 @@ let stageModules = writeShellScript "discord-stage-modules" '' store_modules="$1" modules_dir="''${XDG_CONFIG_HOME:-$HOME/.config}/${lib.toLower binaryName}/${version}/modules" - if [ ! -f "$modules_dir/installed.json" ]; then - mkdir -p "$modules_dir" - for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do - ln -sfn "$store_modules/$m" "$modules_dir/$m" - done - echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \ - > "$modules_dir/installed.json" - fi + rm -rf "$modules_dir" + mkdir -p "$modules_dir" + for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do + ln -sn "$store_modules/$m" "$modules_dir/$m" + done + echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \ + > "$modules_dir/installed.json" ''; disableBreakingUpdates = diff --git a/pkgs/by-name/ca/calibre/package.nix b/pkgs/by-name/ca/calibre/package.nix index 255cbfcf7484..a0e277f5221a 100644 --- a/pkgs/by-name/ca/calibre/package.nix +++ b/pkgs/by-name/ca/calibre/package.nix @@ -40,11 +40,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "calibre"; - version = "9.9.0"; + version = "9.10.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz"; - hash = "sha256-ozwoRlJThVLiFmaR0fXdfxLDTEF4935rQGLZ+MzwXLk="; + hash = "sha256-U7iid8dm5sP7Xfsm+ikRn0oSm/j5qVS0I1qWPIowwwE="; }; patches = diff --git a/pkgs/by-name/co/cosmic-applets/dedup-cosmic-settings-daemon.patch b/pkgs/by-name/co/cosmic-applets/dedup-cosmic-settings-daemon.patch new file mode 100644 index 000000000000..d800685e4c23 --- /dev/null +++ b/pkgs/by-name/co/cosmic-applets/dedup-cosmic-settings-daemon.patch @@ -0,0 +1,13 @@ +diff --git a/Cargo.lock b/Cargo.lock +index bdd37740..c1adcfad 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1514,7 +1514,7 @@ dependencies = [ + [[package]] + name = "cosmic-settings-config" + version = "0.1.0" +-source = "git+https://github.com/pop-os/cosmic-settings-daemon#fa82bdf9fe7b5f5bd6008f32f393efd5e7a71c47" ++source = "git+https://github.com/pop-os/cosmic-settings-daemon#e7936f0d4f01c8c5a436908c7ee9f6ad43e6a7d8" + dependencies = [ + "cosmic-config", + "ron 0.11.0", diff --git a/pkgs/by-name/co/cosmic-applets/package.nix b/pkgs/by-name/co/cosmic-applets/package.nix index 03ac8e1bb998..3bf2a2fbc3e2 100644 --- a/pkgs/by-name/co/cosmic-applets/package.nix +++ b/pkgs/by-name/co/cosmic-applets/package.nix @@ -20,17 +20,23 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applets"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applets"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-o+rEO+IA337fhpq6TsH+UZEN7kb/PqydlKo77NyCRcM="; + hash = "sha256-A8Qk9u3Q83Q4AjzTrdptfS9UNoyKq39YihC4d/dNBYc="; }; - cargoHash = "sha256-tbGuyqdDTsKYpKxeAuachwbPHTPhmb9Sg3qzxHYosjo="; + cargoPatches = [ + # A different reference to the `cosmic-settings-daemon` crate was added + # Remove this patch once upstream fixes their lockfile. + ./dedup-cosmic-settings-daemon.patch + ]; + + cargoHash = "sha256-81BFu13QmqOq43iN+ORQuktisEFYRrK+wd6diFfSufs="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix index 19c352f99649..87e9e75cb8cb 100644 --- a/pkgs/by-name/co/cosmic-applibrary/package.nix +++ b/pkgs/by-name/co/cosmic-applibrary/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-applibrary"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-applibrary"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-mzHSLZK6HienbPRPetSj+XbPWCnpihEvMx9W9lJWpbA="; + hash = "sha256-TZncRQer4lXunUwdQ2xDP3DmF5B7UmfhSQvEwVodc98="; }; cargoHash = "sha256-qGx/3w78mgIMqRo1wJA+ULFHWdNW2LKe2Sej4f9KbVs="; diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index e18cef8f3a4f..6a27f2f4a9dc 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-bg"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-bg"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-E4OWxoGyRNFcMl7ni7PB6PE0Yl7dE+Wd4JGDMHO94Yw="; + hash = "sha256-bczUWa91l52P6Q46/lkX1j9eKasM154D82fBaLFHF1M="; }; postPatch = '' @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg" ''; - cargoHash = "sha256-xXq8Dckg3YOf2AT9uOZqVfq00FhZp/X5UU8hLmAln1U="; + cargoHash = "sha256-UDhXKg4lO6op/lfi3aZ4iclzUqcf5xQI85UWAHVTWig="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index b57bf910e0ca..69552fdea6ad 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-comp"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-comp"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-3WPZk/o+cfq3wwKEuYejMh+pn2o823m98OO3crFaNX4="; + hash = "sha256-fUuw7qwfojAmu/mkWMkWBhpcSgZNTIzdXmInjyKrZBI="; }; cargoHash = "sha256-ki+unf58rXBCpj5PCpBcg/6FWo16+MdPQWae+w1YkJ8="; diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix index ac6085d05627..c6148a0cf930 100644 --- a/pkgs/by-name/co/cosmic-edit/package.nix +++ b/pkgs/by-name/co/cosmic-edit/package.nix @@ -16,17 +16,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-edit"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-edit"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-almnWrJSV5xZoBDEuk0pfMZ/c00e0xpDNTTbcq+NCYM="; + hash = "sha256-5DsnhaiJgmTakn+q9o2Q7IeuakAC/j0Ck3F3pfFx/EA="; }; - cargoHash = "sha256-/qcpAR2nvC/MYa5QuCLiZFQgos5SlYtspZsNuMLJFHk="; + cargoHash = "sha256-2E+98uWtahyQufoZTzdUtkwbuISsUHwlqOmMSpyi1O8="; separateDebugInfo = true; diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix index 149956ff852f..cc0d584fd744 100644 --- a/pkgs/by-name/co/cosmic-files/package.nix +++ b/pkgs/by-name/co/cosmic-files/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-files"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-files"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-2vrk1hYL7E/vVWiLcOYY3O0cmYZyFG4bdkNDFuyA+cA="; + hash = "sha256-cRwZrmm/zOIV6VCyz2dTH+qn8h6LOnaOiHU5nENTK6o="; }; - cargoHash = "sha256-QPFGsn1J0lp5K4gLdar/Z5MmZg+VOoCZd1U8LUuLXqM="; + cargoHash = "sha256-+21DCCTkNrbdxgxQi0YyuAxpl1IvwUz3ccUE+E0sZ4Y="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 12e59cf25258..c9f04a86339b 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -19,14 +19,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-greeter"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-greeter"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-+6VOv6z61k48hURq4yRRMIFIE8ZrjYGapO5FybWKQTE="; + hash = "sha256-oxXCAvBISkZu76VpvQ9AliFRJ8r5Ay7mjWf4sEwV0Xs="; }; cargoHash = "sha256-mfY2hsMxBooRjmTB2jgUIKyKHBpGfZ9Qslwv+2aEQyg="; diff --git a/pkgs/by-name/co/cosmic-icons/package.nix b/pkgs/by-name/co/cosmic-icons/package.nix index 6009c0bcfc18..6e680b83e8fa 100644 --- a/pkgs/by-name/co/cosmic-icons/package.nix +++ b/pkgs/by-name/co/cosmic-icons/package.nix @@ -9,14 +9,14 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-icons"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-icons"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-3owl4M4vRyzjR4v74clyAxpNDu77rieSpYAVYfADHzY="; + hash = "sha256-QUTAYIQ6qAhjZK/9BZjJzTViECLUwO/MyaOqiRb1Ans="; }; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-idle/package.nix b/pkgs/by-name/co/cosmic-idle/package.nix index ca17faa2ce2b..05c0e99f8ff1 100644 --- a/pkgs/by-name/co/cosmic-idle/package.nix +++ b/pkgs/by-name/co/cosmic-idle/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-idle"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-initial-setup/package.nix b/pkgs/by-name/co/cosmic-initial-setup/package.nix index 9006fa7e152d..cf7d5a6b55f1 100644 --- a/pkgs/by-name/co/cosmic-initial-setup/package.nix +++ b/pkgs/by-name/co/cosmic-initial-setup/package.nix @@ -14,14 +14,14 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-initial-setup"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-initial-setup"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-3nGPBWYDqPJN99WtzsAVERucwiVAFynuUk2gezZ/RJU="; + hash = "sha256-UABqbmbwW2ZBOO7mq16/h0s55VCWRF2yyf/1TaubC88="; }; cargoHash = "sha256-DESnl5NjakU4++Ep6CHxDZzHn+o0Gi0eREpXk5BN5iY="; diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index 8b3b14881b5e..2f790b30098d 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-launcher"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-launcher"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-ZivzjufT2UlPi/En1AjGS8TfeFNdJDfDUd9cb2Begb8="; + hash = "sha256-9U64nSeI47bkc8BQU9ilXBlHQRGS2zC/FcBKc7Z17RY="; }; cargoHash = "sha256-WnZAPQR8hGGNC5S7hPmcGSMs9HrOw4/wqJR151eIgHY="; diff --git a/pkgs/by-name/co/cosmic-monitor/package.nix b/pkgs/by-name/co/cosmic-monitor/package.nix new file mode 100644 index 000000000000..9b1bdd228583 --- /dev/null +++ b/pkgs/by-name/co/cosmic-monitor/package.nix @@ -0,0 +1,73 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + just, + libcosmicAppHook, + nixosTests, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "cosmic-monitor"; + version = "1.1.0"; + + # nixpkgs-update: no auto update + src = fetchFromGitHub { + owner = "pop-os"; + repo = "cosmic-monitor"; + tag = "epoch-${finalAttrs.version}"; + hash = "sha256-CiJ9LeNcdOyC8yn0c7hCz0QEecxYK95KGvs1SWr9360="; + }; + + cargoHash = "sha256-OMhLPQ3GkV/wdeb9F7lsKY1Uzzg8+UlhOeakGZo6mYk="; + + separateDebugInfo = true; + __structuredAttrs = true; + + nativeBuildInputs = [ + just + libcosmicAppHook + rustPlatform.bindgenHook + ]; + + dontUseJustBuild = true; + dontUseJustCheck = true; + + justFlags = [ + "--set" + "prefix" + (placeholder "out") + "--set" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" + ]; + + passthru = { + tests = { + inherit (nixosTests) + cosmic + cosmic-autologin + cosmic-noxwayland + cosmic-autologin-noxwayland + ; + }; + + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "epoch-(.*)" + ]; + }; + }; + + meta = { + homepage = "https://github.com/pop-os/cosmic-monitor"; + description = "COSMIC System Monitor"; + mainProgram = "cosmic-monitor"; + license = lib.licenses.gpl3Only; + teams = [ lib.teams.cosmic ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index f0ae84bd4110..401eb262ebe7 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-notifications"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-osd/deduplicate-cosmic-settings-crate.patch b/pkgs/by-name/co/cosmic-osd/deduplicate-cosmic-settings-crate.patch deleted file mode 100644 index 9872e8d69f5f..000000000000 --- a/pkgs/by-name/co/cosmic-osd/deduplicate-cosmic-settings-crate.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index 8b6704e..64c1691 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -1104,7 +1104,7 @@ dependencies = [ - [[package]] - name = "cosmic-settings-airplane-mode-subscription" - version = "1.0.7" --source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8" -+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e" - dependencies = [ - "futures", - "iced_futures", -@@ -1150,7 +1150,7 @@ dependencies = [ - [[package]] - name = "cosmic-settings-pulse-subscription" - version = "0.1.0" --source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8" -+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e" - dependencies = [ - "futures", - "iced_futures", -@@ -1162,7 +1162,7 @@ dependencies = [ - [[package]] - name = "cosmic-settings-upower-subscription" - version = "1.0.7" --source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8" -+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e" - dependencies = [ - "futures", - "iced_futures", diff --git a/pkgs/by-name/co/cosmic-osd/package.nix b/pkgs/by-name/co/cosmic-osd/package.nix index 407e63972011..c3bdf6376f10 100644 --- a/pkgs/by-name/co/cosmic-osd/package.nix +++ b/pkgs/by-name/co/cosmic-osd/package.nix @@ -15,24 +15,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-osd"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-osd"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-jv28hxhQUcUDLnOwU3xQJwCU+s52pwDNs8Gf4I5Hp9k="; + hash = "sha256-veqkYF2CSwnc1nGIFeZXpfannCQ0RuacvqPVxVsiVDc="; }; - cargoHash = "sha256-YwZXlhggrUddxour+/S1mSL3Fq1mzvFaOHArLSnfPvc="; - - cargoPatches = [ - # A different reference to the `cargo-settings` crate was added in: - # - # Remove this patch once upstream fixes their lockfile. - ./deduplicate-cosmic-settings-crate.patch - ]; + cargoHash = "sha256-aweq4E2bwqRpetakpR0OqTsIsoJK6h4eRzMdBhGuIoU="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix index b003608effc0..08fbe6eaf82d 100644 --- a/pkgs/by-name/co/cosmic-panel/package.nix +++ b/pkgs/by-name/co/cosmic-panel/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-panel"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-panel"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-MNOS7HMlyvU4zCZVINthgZgBsUn+LI1hUAEcwSq+zaE="; + hash = "sha256-DKwmZnTxsYCWAkLb9AXoHBa8m6Z5Gi1Jb7AuxZqq7RA="; }; cargoHash = "sha256-6E+bAi1f6gOZh64wyvLMKZiZNlMexPV+ZzS3riOx9xM="; diff --git a/pkgs/by-name/co/cosmic-player/package.nix b/pkgs/by-name/co/cosmic-player/package.nix index 549cdb52346d..b12ec673f447 100644 --- a/pkgs/by-name/co/cosmic-player/package.nix +++ b/pkgs/by-name/co/cosmic-player/package.nix @@ -18,17 +18,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-player"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-player"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-iDEyR+P+iXShH0YFtqxvPbbs9kgtYvAsuKchB6plnKI="; + hash = "sha256-aHQbwpNr8tsfUR0Dm4WTzz6XNXjgdqZ9/2AQRPPbnog="; }; - cargoHash = "sha256-YzT16Ej+AyLLj8uHuHxZvHWujcW8jLjVg/4MmPyorH4="; + cargoHash = "sha256-KVaKTMrWijResBqzH62j/YqBR4TQ77x2sK/kN40UWjw="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index 4679dec4c858..f632be043c9b 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-randr"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index b5aa22076ca3..a335b3e56fed 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-screenshot"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-screenshot"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-DngKZDKfgVdSZLZAsPq+7p4r/go2Y6141LrCNGoxD1E="; + hash = "sha256-RYvc/3FoRnNkuYBVfCG75Bmfb8JWW1H4GKXyhq7CxaQ="; }; cargoHash = "sha256-q0RJST1yeqPBjU5MseNZIrZw+brfDtQLKiw7wyViflE="; diff --git a/pkgs/by-name/co/cosmic-session/package.nix b/pkgs/by-name/co/cosmic-session/package.nix index b5507b5bd6af..cf4406a3cb21 100644 --- a/pkgs/by-name/co/cosmic-session/package.nix +++ b/pkgs/by-name/co/cosmic-session/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-session"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-settings-daemon/package.nix b/pkgs/by-name/co/cosmic-settings-daemon/package.nix index 00c546752bc5..84aaa17fdf48 100644 --- a/pkgs/by-name/co/cosmic-settings-daemon/package.nix +++ b/pkgs/by-name/co/cosmic-settings-daemon/package.nix @@ -7,6 +7,7 @@ adw-gtk3, pkg-config, libpulseaudio, + pipewire, libinput, udev, openssl, @@ -16,14 +17,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings-daemon"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-settings-daemon"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-A+nOAadFWU+KRW54dP2WW6P6fabIs4z1AqC37LSZjUI="; + hash = "sha256-6MLZpGGvE1EnUlRv2T6+iXy8B0aqBTNNrqDtBbeABYs="; }; postPatch = '' @@ -33,18 +34,22 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '/usr/share/themes/adw-gtk3' '${adw-gtk3}/share/themes/adw-gtk3' ''; - cargoHash = "sha256-bz+JasI3WE30sKKgjofVO/42Ml4YY9Dw3JxnZmZVQk4="; + cargoHash = "sha256-rpyMdwmcddsrXuIOI5T6Kh9+cB28DdUxotiqpeGqvCc="; separateDebugInfo = true; __structuredAttrs = true; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; buildInputs = [ libinput libpulseaudio openssl udev + pipewire ]; makeFlags = [ diff --git a/pkgs/by-name/co/cosmic-settings/dedup-libcosmic.patch b/pkgs/by-name/co/cosmic-settings/dedup-libcosmic.patch new file mode 100644 index 000000000000..00d00905de3b --- /dev/null +++ b/pkgs/by-name/co/cosmic-settings/dedup-libcosmic.patch @@ -0,0 +1,112 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 46d491a..ea60cd9 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1774,7 +1774,7 @@ dependencies = [ + [[package]] + name = "cosmic-theme" + version = "1.0.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "almost", + "configparser", +@@ -3158,7 +3158,7 @@ dependencies = [ + [[package]] + name = "iced" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "dnd", + "iced_accessibility", +@@ -3214,7 +3214,7 @@ dependencies = [ + [[package]] + name = "iced_debug" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "iced_core", + "iced_futures", +@@ -3238,7 +3238,7 @@ dependencies = [ + [[package]] + name = "iced_graphics" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "bitflags 2.12.1", + "bytemuck", +@@ -3259,7 +3259,7 @@ dependencies = [ + [[package]] + name = "iced_program" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "iced_graphics", + "iced_runtime", +@@ -3268,7 +3268,7 @@ dependencies = [ + [[package]] + name = "iced_renderer" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "iced_graphics", + "iced_tiny_skia", +@@ -3280,7 +3280,7 @@ dependencies = [ + [[package]] + name = "iced_runtime" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "bytes", + "cosmic-client-toolkit", +@@ -3296,7 +3296,7 @@ dependencies = [ + [[package]] + name = "iced_tiny_skia" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "bytemuck", + "cosmic-text", +@@ -3313,7 +3313,7 @@ dependencies = [ + [[package]] + name = "iced_wgpu" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "as-raw-xcb-connection", + "bitflags 2.12.1", +@@ -3344,7 +3344,7 @@ dependencies = [ + [[package]] + name = "iced_widget" + version = "0.14.2" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "cosmic-client-toolkit", + "dnd", +@@ -3364,7 +3364,7 @@ dependencies = [ + [[package]] + name = "iced_winit" + version = "0.14.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "cosmic-client-toolkit", + "cursor-icon", +@@ -4455,7 +4455,7 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" + [[package]] + name = "libcosmic" + version = "1.0.0" +-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef" ++source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a" + dependencies = [ + "apply", + "ashpd 0.12.3", diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix index 513089a3af67..5320de71ee47 100644 --- a/pkgs/by-name/co/cosmic-settings/package.nix +++ b/pkgs/by-name/co/cosmic-settings/package.nix @@ -27,17 +27,23 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-settings"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-settings"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-knA3qpFeRRlUMV91+LleaWxb1fexX2IJlMRD81fl7l4="; + hash = "sha256-LfhFza0G85+fIuACMdwV50Okh5/46z8tLoJ9IvLqTgw="; }; - cargoHash = "sha256-2ZHuOmtBzXQ/KSBMKus9LbojfByYzzCjIkbGY8C85bU="; + cargoPatches = [ + # A different reference to the `libcosmic` crate was added + # Remove this patch once upstream fixes their lockfile. + ./dedup-libcosmic.patch + ]; + + cargoHash = "sha256-rYjizOCcLJ4aq3UB5xEwWq5+KvrSi5PCUTIwUM/wegM="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix index 25c9ad72ac4a..d29231e0e70d 100644 --- a/pkgs/by-name/co/cosmic-store/package.nix +++ b/pkgs/by-name/co/cosmic-store/package.nix @@ -15,17 +15,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-store"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-store"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-JE8LcFlhG4e3QqobzUNfCw3Eg10+FrlVuQu+J+96/es="; + hash = "sha256-pePtfOgeQtaD15dfWzrMQmXcINf/V5ovKWAG8kOPf+c="; }; - cargoHash = "sha256-+lOt+mSTKKsSm3UzGXq43ZjbktiCCV8dnHdvnnx2vqA="; + cargoHash = "sha256-jECZ/6hxaDfz2pOOqLkbq5HfF3YnCVK2geFAC+n286A="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix index 168b9b41beeb..b99fcc991196 100644 --- a/pkgs/by-name/co/cosmic-term/package.nix +++ b/pkgs/by-name/co/cosmic-term/package.nix @@ -15,17 +15,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-term"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-term"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-nDTDGtaGRW0JM48/tbWO/NK1WhGkPwlsqfWrDGvFE9A="; + hash = "sha256-ocOPssCxm2p2HoAIHIAoAMh66cGcGXuGWDuAEtHFoPQ="; }; - cargoHash = "sha256-0W1TU1NIcV9fx/vgKpPLqLO1fcdtbZX5Ds1uQWGJ2C8="; + cargoHash = "sha256-ezFCpU4ZNfANYRVTMrvPMC79j55XGUwYMMKeihekYds="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/co/cosmic-wallpapers/package.nix b/pkgs/by-name/co/cosmic-wallpapers/package.nix index e7763090dc3c..a0ddd6e66db8 100644 --- a/pkgs/by-name/co/cosmic-wallpapers/package.nix +++ b/pkgs/by-name/co/cosmic-wallpapers/package.nix @@ -7,7 +7,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "cosmic-wallpapers"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { diff --git a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix index 24e5785fc668..92fa4090d020 100644 --- a/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix +++ b/pkgs/by-name/co/cosmic-workspaces-epoch/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-workspaces-epoch"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-workspaces-epoch"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-u4p22qpxZPdBogzrJXGomqGGxgkpD0hdXf+3YNg2VIo="; + hash = "sha256-riiveHFtRF3rtOhbbUtfYRoAlqc7TCRr8aer0dgBY7g="; }; cargoHash = "sha256-Z5dC3W8QoDBZWBjHwRj9MC8EScDjQwUiUcOPTRDToDA="; diff --git a/pkgs/by-name/ef/efitools/cross.patch b/pkgs/by-name/ef/efitools/cross.patch new file mode 100644 index 000000000000..e1d853800b46 --- /dev/null +++ b/pkgs/by-name/ef/efitools/cross.patch @@ -0,0 +1,89 @@ +--- a/Make.rules ++++ b/Make.rules +@@ -68,35 +68,35 @@ endif + %.h: %.auth + ./xxdi.pl $< > $@ + +-%.hash: %.efi hash-to-efi-sig-list +- ./hash-to-efi-sig-list $< $@ ++%.hash: %.efi ++ hash-to-efi-sig-list $< $@ + +-%-blacklist.esl: %.crt cert-to-efi-hash-list +- ./cert-to-efi-sig-list $< $@ ++%-blacklist.esl: %.crt ++ cert-to-efi-sig-list $< $@ + +-%-hash-blacklist.esl: %.crt cert-to-efi-hash-list +- ./cert-to-efi-hash-list $< $@ ++%-hash-blacklist.esl: %.crt ++ cert-to-efi-hash-list $< $@ + +-%.esl: %.crt cert-to-efi-sig-list +- ./cert-to-efi-sig-list -g $(MYGUID) $< $@ ++%.esl: %.crt ++ cert-to-efi-sig-list -g $(MYGUID) $< $@ + + getcert = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo "-c PK.crt -k PK.key"; else echo "-c KEK.crt -k KEK.key"; fi) + getvar = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo $(1); else echo db; fi) + +-%.auth: %.esl PK.crt KEK.crt sign-efi-sig-list +- ./sign-efi-sig-list $(call getcert,$*) $(call getvar,$*) $< $@ ++%.auth: %.esl PK.crt KEK.crt ++ sign-efi-sig-list $(call getcert,$*) $(call getvar,$*) $< $@ + +-%-update.auth: %.esl PK.crt KEK.crt sign-efi-sig-list +- ./sign-efi-sig-list -a $(call getcert,$*) $(call getvar,$*) $< $@ ++%-update.auth: %.esl PK.crt KEK.crt ++ sign-efi-sig-list -a $(call getcert,$*) $(call getvar,$*) $< $@ + +-%-pkupdate.auth: %.esl PK.crt sign-efi-sig-list +- ./sign-efi-sig-list -a -c PK.crt -k PK.key $(call getvar,$*) $< $@ ++%-pkupdate.auth: %.esl PK.crt ++ sign-efi-sig-list -a -c PK.crt -k PK.key $(call getvar,$*) $< $@ + +-%-blacklist.auth: %-blacklist.esl KEK.crt sign-efi-sig-list +- ./sign-efi-sig-list -a -c KEK.crt -k KEK.key dbx $< $@ ++%-blacklist.auth: %-blacklist.esl KEK.crt ++ sign-efi-sig-list -a -c KEK.crt -k KEK.key dbx $< $@ + +-%-pkblacklist.auth: %-blacklist.esl PK.crt sign-efi-sig-list +- ./sign-efi-sig-list -a -c PK.crt -k PK.key dbx $< $@ ++%-pkblacklist.auth: %-blacklist.esl PK.crt ++ sign-efi-sig-list -a -c PK.crt -k PK.key dbx $< $@ + + %.o: %.c + $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ +--- a/Makefile ++++ b/Makefile +@@ -27,13 +27,11 @@ include Make.rules + + EFISIGNED = $(patsubst %.efi,%-signed.efi,$(EFIFILES)) + +-all: $(EFISIGNED) $(BINARIES) $(MANPAGES) noPK.auth $(KEYAUTH) \ ++all: $(EFISIGNED) $(BINARIES) noPK.auth $(KEYAUTH) \ + $(KEYUPDATEAUTH) $(KEYBLACKLISTAUTH) $(KEYHASHBLACKLISTAUTH) + + + install: all +- $(INSTALL) -m 755 -d $(MANDIR) +- $(INSTALL) -m 644 $(MANPAGES) $(MANDIR) + $(INSTALL) -m 755 -d $(EFIDIR) + $(INSTALL) -m 755 $(EFIFILES) $(EFIDIR) + $(INSTALL) -m 755 -d $(BINDIR) +@@ -65,11 +63,11 @@ DB.h: DB.auth + noPK.esl: + > noPK.esl + +-noPK.auth: noPK.esl PK.crt sign-efi-sig-list +- ./sign-efi-sig-list -t "$(shell date --date='1 second' +'%Y-%m-%d %H:%M:%S')" -c PK.crt -k PK.key PK $< $@ ++noPK.auth: noPK.esl PK.crt ++ sign-efi-sig-list -t "$(shell date --date='1 second' +'%Y-%m-%d %H:%M:%S')" -c PK.crt -k PK.key PK $< $@ + +-ms-%.esl: ms-%.crt cert-to-efi-sig-list +- ./cert-to-efi-sig-list -g $(MSGUID) $< $@ ++ms-%.esl: ms-%.crt ++ cert-to-efi-sig-list -g $(MSGUID) $< $@ + + hashlist.h: HashTool.hash + cat $^ > /tmp/tmp.hash diff --git a/pkgs/by-name/ef/efitools/package.nix b/pkgs/by-name/ef/efitools/package.nix index 89787fdb0bee..f3cc209c7d1f 100644 --- a/pkgs/by-name/ef/efitools/package.nix +++ b/pkgs/by-name/ef/efitools/package.nix @@ -8,7 +8,13 @@ perlPackages, help2man, fetchzip, + pkgsCross, + efitools, + buildPackages, }: +let + isCross = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform); +in stdenv.mkDerivation (finalAttrs: { pname = "efitools"; version = "1.9.2"; @@ -16,13 +22,17 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gnu-efi openssl - sbsigntool ]; nativeBuildInputs = [ perl perlPackages.FileSlurp help2man + openssl + sbsigntool + ] + ++ lib.optionals isCross [ + efitools ]; src = fetchzip { @@ -39,6 +49,10 @@ stdenv.mkDerivation (finalAttrs: { # https://bugs.debian.org/1122408 ./objcopy-output-target.patch + ] + ++ lib.optionals isCross [ + # Use builder's efitools to create sig lists for host + ./cross.patch ]; postPatch = '' @@ -47,9 +61,26 @@ stdenv.mkDerivation (finalAttrs: { sed -i -e 's#$(DESTDIR)/usr#$(out)#g' Make.rules sed -i '$asign-efi-sig-list.o flash-var.o: CFLAGS += -D_GNU_SOURCE' Makefile substituteInPlace lib/console.c --replace "EFI_WARN_UNKOWN_GLYPH" "EFI_WARN_UNKNOWN_GLYPH" + # Fix cross-compilation: use $(AR) and $(NM) variables instead of hardcoded commands + substituteInPlace Make.rules --replace-fail 'ar rcv' '$(AR) rcv' + substituteInPlace Make.rules --replace-fail 'nm -D' '$(NM) -D' patchShebangs . ''; + makeFlags = [ + "ARCH=${stdenv.hostPlatform.parsed.cpu.name}" + "AR=${stdenv.cc.targetPrefix}ar" + "NM=${stdenv.cc.targetPrefix}nm" + "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" + ] + ++ lib.optionals isCross [ + "MANPAGES=" + ]; + + passthru.tests = { + cross-aarch64 = pkgsCross.aarch64-multiplatform.efitools; + }; + meta = { description = "Tools for manipulating UEFI secure boot platforms"; homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git"; diff --git a/pkgs/by-name/fe/feishin/package.nix b/pkgs/by-name/fe/feishin/package.nix index 4e2f82063d42..f8a1a7ee214c 100644 --- a/pkgs/by-name/fe/feishin/package.nix +++ b/pkgs/by-name/fe/feishin/package.nix @@ -8,7 +8,7 @@ mpv-unwrapped, fetchPnpmDeps, pnpmConfigHook, - pnpm_10_29_2, + pnpm_10, darwin, actool, copyDesktopItems, @@ -42,7 +42,7 @@ buildNpmPackage { version src ; - pnpm = pnpm_10_29_2; + pnpm = pnpm_10; fetcherVersion = 3; hash = "sha256-zNOGJ24G0xcgsGK4DmbBm7d1PHTp7IJS+RTALGRtfDg="; }; @@ -50,7 +50,7 @@ buildNpmPackage { env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ - pnpm_10_29_2 + pnpm_10 ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/fi/filebrowser/package.nix b/pkgs/by-name/fi/filebrowser/package.nix index 996e8e1047a0..661c0613291a 100644 --- a/pkgs/by-name/fi/filebrowser/package.nix +++ b/pkgs/by-name/fi/filebrowser/package.nix @@ -12,13 +12,13 @@ }: let - version = "2.63.14"; + version = "2.63.15"; src = fetchFromGitHub { owner = "filebrowser"; repo = "filebrowser"; rev = "v${version}"; - hash = "sha256-9CXHoQWr1RpTwFR8JRR72oQZxHrndTrnxYa6/0Z3Mk0="; + hash = "sha256-O2USjwP1g+yDZpz0628YTRN2BUUnmjFvS+0qc6JU294="; }; frontend = buildNpmPackage rec { @@ -59,7 +59,7 @@ buildGoModule { pname = "filebrowser"; inherit version src; - vendorHash = "sha256-ofeQkbvBfCpu2g1CLAwUZAZISyAOz+0smEZRx/koj/8="; + vendorHash = "sha256-WXbXD75acK4woS7UC0G73pY48aGmp1l0spDc3sGYXMg="; excludedPackages = [ "tools" ]; diff --git a/pkgs/by-name/ga/gatus/package.nix b/pkgs/by-name/ga/gatus/package.nix index df40c24b23c7..dca8d87a73bf 100644 --- a/pkgs/by-name/ga/gatus/package.nix +++ b/pkgs/by-name/ga/gatus/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "gatus"; - version = "5.35.0"; + version = "5.36.0"; src = fetchFromGitHub { owner = "TwiN"; repo = "gatus"; rev = "v${finalAttrs.version}"; - hash = "sha256-I1HjeJ4/yLLgcoIEOQCv3WQDNrpIAFhzDvVpz24T7gU="; + hash = "sha256-YduXhHra6w7zo1f+brCjiusH7xCSdAzo5uF6aN5uv/A="; }; - vendorHash = "sha256-PBy/0My0TdlolpagDSdt7r2dPPLJOVHEsU1xaV8RFjg="; + vendorHash = "sha256-RbFNtojZthf7bKMhGStH/jOkeIR6EHpw2vvAMLEFtKI="; subPackages = [ "." ]; diff --git a/pkgs/by-name/gl/glances/package.nix b/pkgs/by-name/gl/glances/package.nix index 8c01c74e54da..ff407aa954f0 100644 --- a/pkgs/by-name/gl/glances/package.nix +++ b/pkgs/by-name/gl/glances/package.nix @@ -11,7 +11,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "glances"; - version = "4.5.4"; + version = "4.5.5"; pyproject = true; disabled = python3Packages.isPyPy; @@ -20,7 +20,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "nicolargo"; repo = "glances"; tag = "v${finalAttrs.version}"; - hash = "sha256-oIuvVI1vXPrtJjWie/iDoCBM++Z7i4IQ5DPE6Yi3npA="; + hash = "sha256-RiAt797YS468lmwH68O9/KlbV46DAqd25O8J0wNIDsU="; }; build-system = with python3Packages; [ setuptools ]; diff --git a/pkgs/by-name/gr/gren/generated-backend-package.nix b/pkgs/by-name/gr/gren/generated-backend-package.nix index 6ff48bab9b53..a097c4ec8656 100644 --- a/pkgs/by-name/gr/gren/generated-backend-package.nix +++ b/pkgs/by-name/gr/gren/generated-backend-package.nix @@ -29,11 +29,11 @@ }: mkDerivation { pname = "gren"; - version = "0.6.5"; + version = "0.6.6"; src = fetchgit { url = "https://github.com/gren-lang/compiler.git"; - sha256 = "1865x63y0kcp2ax49333i5512vwh845iiyq3b30jm31pr113csvr"; - rev = "ba2a2153b78086d75fe01ba45bdd630d6f5fc2fc"; + sha256 = "02hin22kyh2zgxn2fklnfa60iw3ppfr3xnv4z7r39vkf6c2q7fhq"; + rev = "03c52374f82036e7a3276a94e345a4aa98738b9b"; fetchSubmodules = true; }; isLibrary = false; @@ -83,6 +83,6 @@ mkDerivation { jailbreak = true; homepage = "https://gren-lang.org"; description = "The `gren` command line interface"; - license = lib.licensesSpdx."BSD-3-Clause"; + license = lib.meta.getLicenseFromSpdxId "BSD-3-Clause"; mainProgram = "gren"; } diff --git a/pkgs/by-name/gr/gren/package.nix b/pkgs/by-name/gr/gren/package.nix index 84ad7637623c..69af8be0e155 100644 --- a/pkgs/by-name/gr/gren/package.nix +++ b/pkgs/by-name/gr/gren/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "gren"; - version = "0.6.5"; + version = "0.6.6"; src = fetchFromGitHub { owner = "gren-lang"; repo = "compiler"; tag = finalAttrs.version; - hash = "sha256-eWs2Qsg3jCrBWAP7GAtBkG8RSoljjES6EpdN4IfpxaA="; + hash = "sha256-GLqDBTNu7jTy+WTbPrK7d/AIjHKWTidsf19AP4WwEQo="; }; buildInputs = [ nodejs ]; diff --git a/pkgs/by-name/in/incus/generic.nix b/pkgs/by-name/in/incus/generic.nix index d65be430f557..827280a10bab 100644 --- a/pkgs/by-name/in/incus/generic.nix +++ b/pkgs/by-name/in/incus/generic.nix @@ -121,6 +121,7 @@ buildGoModule (finalAttrs: { ''; postBuild = '' + export HOME=$(mktemp -d) # build docs mkdir -p .sphinx/deps ln -s ${buildPackages.python3.pkgs.swagger-ui-bundle.src} .sphinx/deps/swagger-ui diff --git a/pkgs/by-name/in/incus/lts.nix b/pkgs/by-name/in/incus/lts.nix index 830273a7c26f..2b0318ca1a25 100644 --- a/pkgs/by-name/in/incus/lts.nix +++ b/pkgs/by-name/in/incus/lts.nix @@ -99,6 +99,56 @@ import ./generic.nix { url = "https://github.com/lxc/incus/commit/a6012422b45c86f3b1956788cff5d75c604ad838.patch?full_index=1"; hash = "sha256-u3NLKE8Rh8i6HMbJ0KNhH7gbuwIpJ1SPqiyVoiuw9Sc="; }) + (fetchpatch2 { + name = "incusd-instances_Check-source-instance-access-on-copy.patch"; + url = "https://github.com/lxc/incus/commit/1e3ffc53a10950e55de62ac1e0d612be597b84eb.patch?full_index=1"; + hash = "sha256-1foxIu1rWcK1QbpmAPoQ46Tl1mrPvoctPnDhKRTWbd0="; + }) + (fetchpatch2 { + name = "incusd-storage_Check-source-volume-access-on-copy.patch"; + url = "https://github.com/lxc/incus/commit/2e01078366e2653712719dec82318e51c6d21b28.patch?full_index=1"; + hash = "sha256-FP9v/8V0ZFLgy1tODKLJlw5f/6qJ8AMP/yme2YhYSaA="; + }) + (fetchpatch2 { + name = "incusd-images_Validate-fingerprint-on-direct-download.patch"; + url = "https://github.com/lxc/incus/commit/46d6ef232186df5535c49ca9f3597cab381f9b86.patch?full_index=1"; + hash = "sha256-R8gsvdmb7KVC6W1vFH1CojzhrGNgNiFOOTYbCrDAajg="; + }) + (fetchpatch2 { + name = "shared-validate_Reject-compression-algorithm-arguments.patch"; + url = "https://github.com/lxc/incus/commit/873a032a461df6b09b7586435b592873863a4e88.patch?full_index=1"; + hash = "sha256-QvxGxwHvswUZFst71zA12ZdxNIErl1LkaNyQdcPiglI="; + }) + (fetchpatch2 { + name = "incusd-instance_Confine-template-access-to-instance-root.patch"; + url = "https://github.com/lxc/incus/commit/cbefa31ae0da8fd96361178aed3a3c631e098fef.patch?full_index=1"; + hash = "sha256-ZOHqnlIG6LyIUO6WP76SZJKTeqoiw9qj2YByGxqGP+E="; + }) + (fetchpatch2 { + name = "incusd-instance_Enforce-project-restrictions-on-snapshot-restore.patch"; + url = "https://github.com/lxc/incus/commit/3fe3bc99891940fcd3e758d49f65a853104fcd6b.patch?full_index=1"; + hash = "sha256-j+lTbDaUjnZRY0lmaOSH4oKNAeIe5GXTwd1oM50it+Y="; + }) + (fetchpatch2 { + name = "incusd-exec_Reject-exec-output-symlink.patch"; + url = "https://github.com/lxc/incus/commit/e109655d642c7cb7c9039b7c06323000407f76dd.patch?full_index=1"; + hash = "sha256-v/H12n8u+aqm9+ZxrarBxQEQSMN1gpX13oyummGWXl8="; + }) + (fetchpatch2 { + name = "incusd_Reject-rootfs-symlink-for-instances.patch"; + url = "https://github.com/lxc/incus/commit/7e58425ca7ffeb21bb116869e71a0d002dae9e72.patch?full_index=1"; + hash = "sha256-MU+Khx+DhYQWUVs71D05PnJGamrhRXxsahtdXZeSfvU="; + }) + (fetchpatch2 { + name = "shared-logger_Add-WarnOnError-helper.patch"; + url = "https://github.com/lxc/incus/commit/1bc4d3feb8cd3bd005b7406c0d44ad3ea59400bf.patch?full_index=1"; + hash = "sha256-ima4IGl0CyL30yZVdQ2pmp9SukIzrdBftGkO/GUPB3g="; + }) + (fetchpatch2 { + name = "incus-0001-incusd-daemon_images-Add-missing-import.patch"; + url = "https://raw.githubusercontent.com/zabbly/incus/a7fd42d2f5115c4e6893b23e64209db511fff828/patches/incus-0001-incusd-daemon_images-Add-missing-import.patch"; + hash = "sha256-xtuuASy9bck+BgXbea9goNhrMV8Yme9cmFp4WNrkIdI="; + }) ]; nixUpdateExtraArgs = [ "--version-regex=^v(7\\.0\\.[0-9]+)$" diff --git a/pkgs/by-name/in/incus/package.nix b/pkgs/by-name/in/incus/package.nix index 8ffc9f825563..8493e9b65d56 100644 --- a/pkgs/by-name/in/incus/package.nix +++ b/pkgs/by-name/in/incus/package.nix @@ -1,14 +1,8 @@ import ./generic.nix { - hash = "sha256-g0YnvPMwk7WpYCl5VbRtHKVYoLlrk6QYhRaRRqulVQM="; - version = "7.1.0"; - vendorHash = "sha256-VqvDrjdBTblqEOY/HtoKXGRAdoTJpSWxkmgJNNPw6eQ="; - patches = fetchpatch2: [ - (fetchpatch2 { - name = "lxc-fix-environment-quoting.patch"; - url = "https://github.com/lxc/incus/commit/a1276cdb57297245496ac8c1db76b90d1fcebd3b.patch?full_index=1"; - hash = "sha256-NqEMYcDYx18KbqShKxmaK1o08c8/X4O87zXclQ36Ors="; - }) - ]; + hash = "sha256-GVCC0nV5Ghd9BroVC4ysqiTIQ3AtXIJ+EG6VbJVQBB4="; + version = "7.2.0"; + vendorHash = "sha256-0lBMQXQEf+oYlvyoFV2VTpJbY+reavCJZQkzt9UbnaI="; + patches = fetchpatch2: [ ]; nixUpdateExtraArgs = [ "--override-filename=pkgs/by-name/in/incus/package.nix" ]; diff --git a/pkgs/by-name/ki/kicad/versions.nix b/pkgs/by-name/ki/kicad/versions.nix index 24a323e95c2c..0c88252975ea 100644 --- a/pkgs/by-name/ki/kicad/versions.nix +++ b/pkgs/by-name/ki/kicad/versions.nix @@ -3,23 +3,23 @@ { "kicad" = { kicadVersion = { - version = "10.0.3"; + version = "10.0.4"; src = { - rev = "1d69e55fc60915f8f1569c9f6522d9b0fb5a0ba8"; - sha256 = "0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"; + rev = "314f59e84469aa2db16a36740c891781c8a09fd8"; + sha256 = "1dp2rcblpz1i5hzrv5kb7cq91agha5msm2slhny3gf8x0gbzmawq"; }; }; libVersion = { - version = "10.0.3"; + version = "10.0.4"; libSources = { - symbols.rev = "299c330ab364cfc3989d1ab6e82f1eabb9ddd915"; - symbols.sha256 = "05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"; - templates.rev = "a7e1a3ae6255d8d9aaff13e58adf3a0d78cb90c9"; + symbols.rev = "5a6700bbb3f2a3b05d123a1a1af770cfbb5bc7d3"; + symbols.sha256 = "1ns0lg360h3h55w2xv5lyj0qzy6nc1cr02vll95c0vma34rc1qwa"; + templates.rev = "32bcda122df6ae76b221155c641de3656904e786"; templates.sha256 = "0zs29zn8qjgxv0w1vyr8yxmj02m8752zagn4vcraqgik46dwg2id"; - footprints.rev = "fe0ca39d34a10036f2b6ccb9749a39bc3fa7af95"; - footprints.sha256 = "0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"; - packages3d.rev = "c955b94c7bdeffd94b06bac86d94588a9be03afe"; - packages3d.sha256 = "01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"; + footprints.rev = "12095f926a3c5c37d9573ebab0c67c9eed71812f"; + footprints.sha256 = "15cz4lh6dzqdl2cc9nqnpa8bd73h5p33vnvmc4l68js5wqlsyba1"; + packages3d.rev = "9484cb1a4e193898c3f86e0cf69146bcc6e8053d"; + packages3d.sha256 = "0mkc9km540n6ri5is4fjw5abv8afidwj9q7fmbs66l6kx1z3lxky"; }; }; }; diff --git a/pkgs/by-name/me/memos/package.nix b/pkgs/by-name/me/memos/package.nix index bd2ee2ad634d..f772102b70a4 100644 --- a/pkgs/by-name/me/memos/package.nix +++ b/pkgs/by-name/me/memos/package.nix @@ -11,22 +11,24 @@ }: let pnpm = pnpm_10; - +in +buildGoModule (finalAttrs: { + pname = "memos"; version = "0.25.3"; src = fetchFromGitHub { owner = "usememos"; repo = "memos"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-lAKzPteGjGa7fnbB0Pm3oWId5DJekbVWI9dnPEGbiBo="; }; - memos-web = stdenvNoCC.mkDerivation (finalAttrs: { + memos-web = stdenvNoCC.mkDerivation (finalWebAttrs: { pname = "memos-web"; - inherit version src; + inherit (finalAttrs) version src; pnpmDeps = fetchPnpmDeps { - inherit (finalAttrs) pname version src; + inherit (finalWebAttrs) pname version src; inherit pnpm; - sourceRoot = "${finalAttrs.src.name}/web"; + sourceRoot = "${finalWebAttrs.src.name}/web"; fetcherVersion = 3; hash = "sha256-xEOnxCgBD4uLypcZzCO+31S4r0sSfz8PpgEmZASeRZ4="; }; @@ -47,20 +49,16 @@ let runHook postInstall ''; }); -in -buildGoModule { - pname = "memos"; - inherit - version - src - memos-web - ; vendorHash = "sha256-BoJxFpfKS/LByvK4AlTNc4gA/aNIvgLzoFOgyal+aF8="; + ldflags = [ + "-X github.com/usememos/memos/internal/version.Version=${finalAttrs.version}" + ]; + preBuild = '' rm -rf server/router/frontend/dist - cp -r ${memos-web} server/router/frontend/dist + cp -r ${finalAttrs.memos-web} server/router/frontend/dist ''; passthru.updateScript = nix-update-script { @@ -73,7 +71,7 @@ buildGoModule { meta = { homepage = "https://usememos.com"; description = "Lightweight, self-hosted memo hub"; - changelog = "https://github.com/usememos/memos/releases/tag/${src.rev}"; + changelog = "https://github.com/usememos/memos/releases/tag/${finalAttrs.src.rev}"; maintainers = with lib.maintainers; [ indexyz kuflierl @@ -81,4 +79,4 @@ buildGoModule { license = lib.licenses.mit; mainProgram = "memos"; }; -} +}) diff --git a/pkgs/by-name/pr/prismlauncher/package.nix b/pkgs/by-name/pr/prismlauncher/package.nix index 16790a473abb..785832d4e178 100644 --- a/pkgs/by-name/pr/prismlauncher/package.nix +++ b/pkgs/by-name/pr/prismlauncher/package.nix @@ -27,6 +27,7 @@ symlinkJoin, udev, vulkan-loader, + wrapGAppsHook3, xrandr, additionalLibs ? [ ], @@ -61,7 +62,10 @@ symlinkJoin { paths = [ prismlauncher' ]; - nativeBuildInputs = [ kdePackages.wrapQtAppsHook ]; + nativeBuildInputs = [ + kdePackages.wrapQtAppsHook + wrapGAppsHook3 + ]; buildInputs = [ kdePackages.qtbase @@ -71,6 +75,10 @@ symlinkJoin { ++ lib.optional stdenv.hostPlatform.isLinux kdePackages.qtwayland; postBuild = '' + # Required for org.gtk.Settings.FileChooser + gappsWrapperArgsHook + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + wrapQtAppsHook ''; diff --git a/pkgs/by-name/pr/protoc-gen-grpc-java/data.nix b/pkgs/by-name/pr/protoc-gen-grpc-java/data.nix index 0274f88a3c0a..694bd75a468d 100644 --- a/pkgs/by-name/pr/protoc-gen-grpc-java/data.nix +++ b/pkgs/by-name/pr/protoc-gen-grpc-java/data.nix @@ -1,14 +1,14 @@ { - version = "1.81.0"; + version = "1.82.1"; hashes = { - linux-aarch_64 = "sha256-BhO92wlj0L3M8H4CGuB4NRZkjN9zPuFM/E2NAkn6d1o="; - linux-ppcle_64 = "sha256-Y1YC+C/AxdYiB7gcaerVhE383+8rPOiEI8+r/BxkeXk="; - linux-s390_64 = "sha256-cVjZl+ju8e+yroYOttrgIBGSBWDPw1jz1dOLdr58Bmc="; - linux-x86_32 = "sha256-I10buzyicR0aVI3BKDvtly6NwfjSP2hLOD1eY5NJFZc="; - linux-x86_64 = "sha256-T3WWxgoTdSS1TysR2Vb6IA8/6XZ43hzd2CfRCVQlD30="; - osx-aarch_64 = "sha256-c359UvEa+J85KV6KFOXMuUWCYmyB5VkTfmLfj8J81qQ="; - osx-x86_64 = "sha256-c359UvEa+J85KV6KFOXMuUWCYmyB5VkTfmLfj8J81qQ="; - windows-x86_32 = "sha256-mMRY0dLrPpLcQUeK5GqeOrBFqlghBC7FgqqoRWHdjYs="; - windows-x86_64 = "sha256-18mnbuYxoqnQLYHPWC2m2+TW5pJmX/O2OkQLG5xyND0="; + linux-aarch_64 = "sha256-VTDKjBMzFj5CocdqK1EEIOBsdTIckXMrNGOlRyByCc8="; + linux-ppcle_64 = "sha256-/NCzmrhbTDaYhJBntW6n6yA5tvtsvdVldMlK7WfV6RY="; + linux-s390_64 = "sha256-Bk83rw8iGsniyNcivgQRjx/GOWB0kv4Wo01b4YTG0Pk="; + linux-x86_32 = "sha256-Ai7h2w1ZGWlS/tAdiT/dpd6wt3VM4rpPiQuv5rDbfCY="; + linux-x86_64 = "sha256-OnXRqIuP5E9KHVy48ixz+PzI1WOu2QV/9epISyLNry8="; + osx-aarch_64 = "sha256-hm3WySlSQu/J5rg8pWlpOStcPnODqn1b7pKL1N5CkSQ="; + osx-x86_64 = "sha256-hm3WySlSQu/J5rg8pWlpOStcPnODqn1b7pKL1N5CkSQ="; + windows-x86_32 = "sha256-CWZAubE98Aftf7Mjd2caROxsWSxS+JQGf4YB+FEwiwo="; + windows-x86_64 = "sha256-XmhjMhJ/djRizOkSh+i7PtZn2RL9jVV5PcBkgwpYw0o="; }; } diff --git a/pkgs/by-name/pr/proton-ge-bin/package.nix b/pkgs/by-name/pr/proton-ge-bin/package.nix index fff2f46e3030..ec4f37eb44d3 100644 --- a/pkgs/by-name/pr/proton-ge-bin/package.nix +++ b/pkgs/by-name/pr/proton-ge-bin/package.nix @@ -9,11 +9,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-ge-bin"; - version = "GE-Proton10-34"; + version = "GE-Proton11-1"; src = fetchzip { url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.gz"; - hash = "sha256-lzPsYYcrp5NoT3B0WFj3o10Z7tXx7xva1wEP3edeuqM="; + hash = "sha256-I7SSvzQQ/NqdvwjpJ9IFFtAaTS+rgHUyXx0us1vIOnw="; }; dontUnpack = true; diff --git a/pkgs/by-name/sb/sbsigntool/package.nix b/pkgs/by-name/sb/sbsigntool/package.nix index e0b8a4451fd7..4721ada70681 100644 --- a/pkgs/by-name/sb/sbsigntool/package.nix +++ b/pkgs/by-name/sb/sbsigntool/package.nix @@ -10,6 +10,11 @@ libuuid, gnu-efi, libbfd, + util-linux, + buildPackages, + deterministic-host-uname, + # help2man runs host executables + withMan ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: stdenv.mkDerivation (finalAttrs: { @@ -31,6 +36,8 @@ stdenv.mkDerivation (finalAttrs: { automake pkg-config help2man + util-linux # for getopt used by create-ccan-tree + deterministic-host-uname # build system incorrectly uses uname to determine host CPU ]; buildInputs = [ openssl @@ -39,27 +46,25 @@ stdenv.mkDerivation (finalAttrs: { gnu-efi ]; - configurePhase = '' - runHook preConfigure + preConfigure = '' + substituteInPlace configure.ac --replace-fail "@@NIX_GNUEFI@@" "${gnu-efi}" - substituteInPlace configure.ac --replace "@@NIX_GNUEFI@@" "${gnu-efi}" - - lib/ccan.git/tools/create-ccan-tree --build-type=automake lib/ccan "talloc read_write_all build_assert array_size endian" + CC=${lib.getExe buildPackages.stdenv.cc} lib/ccan.git/tools/create-ccan-tree --build-type=automake lib/ccan "talloc read_write_all build_assert array_size endian" touch AUTHORS touch ChangeLog - echo "SUBDIRS = lib/ccan src docs" >> Makefile.am + echo "SUBDIRS = lib/ccan src ${lib.optionalString withMan "docs"}" > Makefile.am aclocal autoheader autoconf automake --add-missing -Wno-portability - - ./configure --prefix=$out - - runHook postConfigure ''; + makeFlags = [ + "AR=${stdenv.cc.targetPrefix}ar" + ]; + meta = { description = "Tools for maintaining UEFI signature databases"; homepage = "http://jk.ozlabs.org/docs/sbkeysync-maintaing-uefi-key-databases"; diff --git a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix index a0e88a3b31dd..4a7ec7a46f7c 100644 --- a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix +++ b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sdl_gamecontrollerdb"; - version = "0-unstable-2026-06-12"; + version = "0-unstable-2026-06-26"; src = fetchFromGitHub { owner = "mdqinc"; repo = "SDL_GameControllerDB"; - rev = "998d5b08b5b33bdf3a63b2ef8f2ac4ccc664e2f6"; - hash = "sha256-OdamCeHnPH0zc5Uac6KMpltIIEQMAfQwcopzg5ytUy8="; + rev = "513c72e34569e0f471dde7aa26eecb23946c3ef7"; + hash = "sha256-IZ6BYtxFRu8Kt+Ege3xf+E9dlMBHXFWvdvYdKEFAIM8="; }; dontBuild = true; diff --git a/pkgs/by-name/sh/shaperglot-cli/package.nix b/pkgs/by-name/sh/shaperglot-cli/package.nix index dbefda1670f8..fc1a9f10ac01 100644 --- a/pkgs/by-name/sh/shaperglot-cli/package.nix +++ b/pkgs/by-name/sh/shaperglot-cli/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "shaperglot-cli"; - version = "1.2.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "googlefonts"; repo = "shaperglot"; tag = "v${finalAttrs.version}"; - hash = "sha256-Jh2/Rr7bIPFiblUZFS8KiQtMwmtMuOGCSV2w7LMCbq8="; + hash = "sha256-g8f8Q2DvYNvm8i6S+9K/jhhUiuGw366dht0Khx3/INg="; }; - cargoHash = "sha256-3cHUSRvrvywfiYA/WpUrCIJV+hEQQwRNTPvSmCN50ho="; + cargoHash = "sha256-ivl3Zq0HRn4yP9JKfbjSaaERjbQ3SAEWhHk6toFp8dE="; cargoBuildFlags = [ "--package=shaperglot-cli" diff --git a/pkgs/by-name/ta/tabbyapi/package.nix b/pkgs/by-name/ta/tabbyapi/package.nix index d4027e187c8d..cac9ebfe2c59 100644 --- a/pkgs/by-name/ta/tabbyapi/package.nix +++ b/pkgs/by-name/ta/tabbyapi/package.nix @@ -7,14 +7,14 @@ }: python3Packages.buildPythonApplication { pname = "tabbyapi"; - version = "0-unstable-2026-06-13"; + version = "0-unstable-2026-06-27"; pyproject = true; src = fetchFromGitHub { owner = "theroyallab"; repo = "tabbyAPI"; - rev = "54850882315d509c984f9fe07fb8f5d04a0b4ba9"; - hash = "sha256-rIpI3pCJtfU1AEHBwQCIwuOh4c14N/z8VlX0hdxOC60="; + rev = "3cf468c28362c28be1c8fc731ce1ccaf7b2206d0"; + hash = "sha256-s97YFyij2/oYlClmV2laDrCkkoK4uVZgRsn5WwftLag="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/te/teleport_17/package.nix b/pkgs/by-name/te/teleport_17/package.nix index e70b5709bfeb..2cb02d9f5f87 100644 --- a/pkgs/by-name/te/teleport_17/package.nix +++ b/pkgs/by-name/te/teleport_17/package.nix @@ -7,11 +7,11 @@ }: buildTeleport { - version = "17.7.24"; - hash = "sha256-45vaxznxRfa4X/V7hZsQKVIWvbVG8F2cEQN19xp4WQg="; + version = "17.7.25"; + hash = "sha256-IrelrkTvOBcTkO7cHf572MU5KkOQq3we53dgFsDCSRo="; vendorHash = "sha256-ERwCdWdp230wkqsRUCnd1hbO4PqXo+gDPsoGbxQqt04="; - cargoHash = "sha256-cDcDfptq8z0pwjImuAovv/5XwoaPb/ostyxkyNEbkRM="; - pnpmHash = "sha256-hk9DI3GSBm2XttCYCi5kjhEhUMm5ToRQcbT+RYI+S2Q="; + cargoHash = "sha256-BE/TBZoOaB3Th14E+t3qJ+0Uww56TtRA1sRQ+usFo+Y="; + pnpmHash = "sha256-TARwHswSWbKk2eoyynuaOm7pvt2CwbjtklqnM+9/YXM="; wasm-bindgen-cli = wasm-bindgen-cli_0_2_95; inherit buildGoModule withRdpClient extPatches; diff --git a/pkgs/by-name/te/teleport_18/package.nix b/pkgs/by-name/te/teleport_18/package.nix index 71fb509ee77e..bb5fb0572db2 100644 --- a/pkgs/by-name/te/teleport_18/package.nix +++ b/pkgs/by-name/te/teleport_18/package.nix @@ -7,11 +7,11 @@ }: buildTeleport { - version = "18.8.3"; - hash = "sha256-DHPOWIvzBCOT3GU0YHBtG46ctB0Nh8XwSmpl9vgCET8="; - vendorHash = "sha256-0+fIoprAQyoom9xBpXGiEgmE4dWktcqlZQOzkRXYlKo="; - pnpmHash = "sha256-8FlC9Sm12A5kfS9X0qYDNJOePZjeJU7LDTRlWUIEneA="; - cargoHash = "sha256-IX0HCeCosXCe/oTYa8PImemf9op2AeagSnl44uBnSbM="; + version = "18.9.1"; + hash = "sha256-FIPExc8tMoPXfWc7pQjwQRkxmiQEOxdkYgWS0GejQuk="; + vendorHash = "sha256-BlQhypAoK85ID0pgmXbUboks88qjSg3p5E8qxyTIc9M="; + pnpmHash = "sha256-ZGbuBMPwC3u/2qDTVLH2InOGVc94Vq0i3AKHMsOwq3k="; + cargoHash = "sha256-KbmacTEOElmboHMK6YxWGC0brlDsX7kcvpaOOZmuops="; wasm-bindgen-cli = wasm-bindgen-cli_0_2_99; buildGoModule = buildGo125Module; diff --git a/pkgs/by-name/un/unityhub/package.nix b/pkgs/by-name/un/unityhub/package.nix index 6f4b55e58262..ce2ce84f0844 100644 --- a/pkgs/by-name/un/unityhub/package.nix +++ b/pkgs/by-name/un/unityhub/package.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "unityhub"; - version = "3.18.0"; + version = "3.18.3"; src = fetchurl { url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/UnityHubSetup-${version}-amd64.deb"; - hash = "sha256-JDkmF8ANvW0j5L+92prUcVFqDbUGXkxxUZPjtOqwDlk="; + hash = "sha256-6Gjik6zIQMYoAr8jmMp3X6+Xu5fdcbh2Exd8eToSbto="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 866e5c01d1b3..bb443fed5f0e 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -22,13 +22,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "vencord"; - version = "1.14.13"; + version = "1.14.15"; src = fetchFromGitHub { owner = "Vendicated"; repo = "Vencord"; tag = "v${finalAttrs.version}"; - hash = "sha256-Xqk/akTa/NcHjSm6h77y6Fkvq7ayBcR0w0HG0Hwfkf8="; + hash = "sha256-jQeLZa1rpKDkzWSpAqOa8snGRKLpv9xf9cwJ6hUwMzA="; }; patches = [ ./fix-deps.patch ]; @@ -46,8 +46,8 @@ stdenv.mkDerivation (finalAttrs: { postPatch ; inherit pnpm; - fetcherVersion = 3; - hash = "sha256-hk1rnNog5xvuIVI0M1ZJ5xrEuk0zcBiYsbROUycdi+A="; + fetcherVersion = 4; + hash = "sha256-pm5f6bGm07pzNCqpDHRyKFnuX2ZTE5w9BtJu5xXPHiI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix index 78c5edf0a4fa..711d80f4136d 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix @@ -17,14 +17,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "xdg-desktop-portal-cosmic"; - version = "1.0.16"; + version = "1.1.0"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "pop-os"; repo = "xdg-desktop-portal-cosmic"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-LwZqF3Yg4DMis21wtu1XMAoPTjJ39GPrf07K9Yc2YAg="; + hash = "sha256-yN7dUhB8eMW/CK9HTeuK/CAYFjvWvCLApQ7mb71VLps="; }; cargoHash = "sha256-wSwXzaU872KqcRgAIKRuQFvG9f/q4z0OysysLyYMwdg="; diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 707c855b4944..adf0cfd38fd5 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -2,26 +2,23 @@ lib, fetchFromGitHub, buildDunePackage, - ocaml, ounit, qtest, qcheck, num, camlp-streams, - doCheck ? lib.versionAtLeast ocaml.version "4.08", + doCheck ? true, }: buildDunePackage (finalAttrs: { pname = "batteries"; - version = "3.10.0"; - - minimalOCamlVersion = "4.05"; + version = "3.11.0"; src = fetchFromGitHub { owner = "ocaml-batteries-team"; repo = "batteries-included"; tag = "v${finalAttrs.version}"; - hash = "sha256-cD0O4kEDE58yCYnUuS83O1CJNHJuCGVhvKJSKQeQGkc="; + hash = "sha256-RFozhk/kGgBg/2WnTYCNwi+kZwJ+l5o7z0YVons5yyw="; }; nativeCheckInputs = [ qtest ]; diff --git a/pkgs/development/python-modules/flash-linear-attention/default.nix b/pkgs/development/python-modules/flash-linear-attention/default.nix index 9cce12efe716..14fd32763b38 100644 --- a/pkgs/development/python-modules/flash-linear-attention/default.nix +++ b/pkgs/development/python-modules/flash-linear-attention/default.nix @@ -21,7 +21,7 @@ buildPythonPackage (finalAttrs: { pname = "flash-linear-attention"; - version = "0.5.0"; + version = "0.5.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -30,7 +30,7 @@ buildPythonPackage (finalAttrs: { owner = "fla-org"; repo = "flash-linear-attention"; tag = "v${finalAttrs.version}"; - hash = "sha256-g66yGHaBwEyjb+of76tKTtV/7as/2xQuqcjbGs4E3rU="; + hash = "sha256-vxNbZ+FkxJh2E0TF09Z7ghkm8eas7Q96heeSXwgV4uU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/tools/pnpm/default.nix b/pkgs/development/tools/pnpm/default.nix index f81d2861f3eb..4339c86d09cb 100644 --- a/pkgs/development/tools/pnpm/default.nix +++ b/pkgs/development/tools/pnpm/default.nix @@ -20,6 +20,15 @@ let "10_29_2" = { version = "10.29.2"; hash = "sha256-hAL2daH0zJ1PJ7v6s1wtSi4dfrATHfA9rQlhnoZnTQw="; + knownVulnerabilities = [ + "CVE-2026-48995" + "CVE-2026-50014" + "CVE-2026-50015" + "CVE-2026-50016" + "CVE-2026-50017" + "CVE-2026-50573" + "CVE-2026-55699" + ]; }; "10" = { version = "10.34.0"; @@ -35,6 +44,7 @@ let variant: callPackage ./generic.nix { inherit (variant) version hash; + knownVulnerabilities = variant.knownVulnerabilities or [ ]; #FIXME: remove this hack in a future version. nodejs = null; # Passing null to detect out-of-tree overrides }; diff --git a/pkgs/development/tools/pnpm/generic.nix b/pkgs/development/tools/pnpm/generic.nix index 2e2a6ddffcb0..f3cdc920f26d 100644 --- a/pkgs/development/tools/pnpm/generic.nix +++ b/pkgs/development/tools/pnpm/generic.nix @@ -17,6 +17,7 @@ withNode ? true, version, hash, + knownVulnerabilities, }: let majorVersion = lib.versions.major version; @@ -170,5 +171,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; platforms = lib.platforms.all; mainProgram = "pnpm"; + inherit knownVulnerabilities; }; }) diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index f527e6a6adb3..8e60573f4a51 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -49,7 +49,7 @@ callPackage ../nginx/generic.nix args rec { patchShebangs configure bundle/ ''; - configureFlags = lib.optional withPostgres [ "--with-http_postgres_module" ]; + configureFlags = lib.optionals withPostgres [ "--with-http_postgres_module" ]; postInstall = '' ln -s $out/luajit/bin/luajit-2.1.ROLLING $out/bin/luajit-openresty diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 56b1538124da..6c0bc4639d04 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2886,6 +2886,13 @@ with self; url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-0.29.tar.gz"; hash = "sha256-U7vTOeahHvygfGGaYVx8GIpouyvoSaHLfvw91Nmuha4="; }; + patches = [ + (fetchpatch { + name = "CVE-2026-11625.patch"; + url = "https://security.metacpan.org/patches/B/Bytes-Random-Secure/0.29/CVE-2026-11625-r1.patch"; + hash = "sha256-EDPFvFjqGtN5/TiJlarqKMrtH6kEQD6rOA7B2moBkiA="; + }) + ]; propagatedBuildInputs = [ CryptRandomSeed MathRandomISAAC @@ -2907,6 +2914,17 @@ with self; url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-Tiny-1.011.tar.gz"; hash = "sha256-A9lntfgoRpCRN9WrmYSsVwrBCkQB4MYC89IgjEZayYI="; }; + patches = [ + (fetchpatch { + name = "CVE-2026-11702.patch"; + url = "https://security.metacpan.org/patches/B/Bytes-Random-Secure-Tiny/1.011/CVE-2026-11702-r1.patch"; + hash = "sha256-81wvVdtQsF5YeRhjAeaOFa7aE1cgdCni+G28LA7ZLqM="; + }) + ]; + preCheck = '' + # Remove test that CVE patch breaks: "Attempt to access disallowed key '_rng' in a restricted hash" + rm t/35-mrie-cover.t + ''; meta = { description = "Tiny Perl extension to generate cryptographically-secure random bytes"; license = with lib.licenses; [ @@ -9731,11 +9749,18 @@ with self; DBDCSV = buildPerlPackage { pname = "DBD-CSV"; - version = "0.60"; + version = "0.62"; src = fetchurl { - url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.60.tgz"; - hash = "sha256-AYuDow95mXm8jDwwRMixyAAc32C9w+dGhIgYGVJUtOc="; + url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.62.tgz"; + hash = "sha256-0/EVD+IGfA49FJWHZeqNQZWDSY+WMTawQC2qkwvJMOM="; }; + patches = [ + (fetchpatch2 { + url = "https://github.com/perl5-dbi/DBD-CSV/commit/ae091790398088a66b22fa572856bfeb4db4c78a.patch?full_index=1"; + excludes = [ "ChangeLog" ]; + hash = "sha256-eZdCNSi3YJrZdZcK/8nFx5Q4rB89b0ynKemupvKrfys="; + }) + ]; propagatedBuildInputs = [ DBI SQLStatement