Merge staging-next into staging
This commit is contained in:
@@ -53,7 +53,9 @@ in
|
||||
|
||||
backlogLimit = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 64; # Apparently the kernel default
|
||||
# Significantly increase from the kernel default of 64 because a
|
||||
# normal systems generates way more logs.
|
||||
default = 1024;
|
||||
description = ''
|
||||
The maximum number of outstanding audit buffers allowed; exceeding this is
|
||||
considered a failure and handled in a manner specified by failureMode.
|
||||
@@ -81,6 +83,18 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg.enable == "lock" || cfg.enable) {
|
||||
boot.kernelParams = [
|
||||
# A lot of audit events happen before the systemd service starts. Thus
|
||||
# enable it via the kernel commandline to have the audit subsystem ready
|
||||
# as soon as the kernel starts.
|
||||
"audit=1"
|
||||
# Also set the backlog limit because the kernel default is too small to
|
||||
# capture all of them before the service starts.
|
||||
"audit_backlog_limit=${toString cfg.backlogLimit}"
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.audit ];
|
||||
|
||||
systemd.services.audit-rules = {
|
||||
description = "Load Audit Rules";
|
||||
wantedBy = [ "sysinit.target" ];
|
||||
|
||||
@@ -202,11 +202,9 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
# Starting auditd should also enable loading the audit rules..
|
||||
# Starting the userspace daemon should also enable audit in the kernel
|
||||
security.audit.enable = lib.mkDefault true;
|
||||
|
||||
environment.systemPackages = [ pkgs.audit ];
|
||||
|
||||
# setting this to anything other than /etc/audit/plugins.d will break, so we pin it here
|
||||
security.auditd.settings.plugin_dir = "/etc/audit/plugins.d";
|
||||
|
||||
|
||||
@@ -1884,6 +1884,11 @@ let
|
||||
networkdOptions = {
|
||||
networkConfig = mkOption {
|
||||
default = { };
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
IPv6PrivacyExtensions = true;
|
||||
}
|
||||
'';
|
||||
example = {
|
||||
SpeedMeter = true;
|
||||
ManageForeignRoutingPolicyRules = false;
|
||||
@@ -3127,7 +3132,10 @@ let
|
||||
};
|
||||
|
||||
config = {
|
||||
networkConfig = optionalAttrs (config.routeTables != { }) {
|
||||
networkConfig = {
|
||||
IPv6PrivacyExtensions = lib.mkOptionDefault true;
|
||||
}
|
||||
// optionalAttrs (config.routeTables != { }) {
|
||||
RouteTable = mapAttrsToList (name: number: "${name}:${toString number}") config.routeTables;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1813,146 +1813,147 @@ in
|
||||
|
||||
virtualisation.vswitch = mkIf (cfg.vswitches != { }) { enable = true; };
|
||||
|
||||
services.udev.packages = [
|
||||
(pkgs.writeTextFile rec {
|
||||
name = "ipv6-privacy-extensions.rules";
|
||||
destination = "/etc/udev/rules.d/98-${name}";
|
||||
text =
|
||||
let
|
||||
sysctl-value = tempaddrValues.${cfg.tempAddresses}.sysctl;
|
||||
in
|
||||
''
|
||||
# enable and prefer IPv6 privacy addresses by default
|
||||
ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.bash}/bin/sh -c 'echo ${sysctl-value} > /proc/sys/net/ipv6/conf/$name/use_tempaddr'"
|
||||
'';
|
||||
})
|
||||
(pkgs.writeTextFile rec {
|
||||
name = "ipv6-privacy-extensions.rules";
|
||||
destination = "/etc/udev/rules.d/99-${name}";
|
||||
text = concatMapStrings (
|
||||
i:
|
||||
let
|
||||
opt = i.tempAddress;
|
||||
val = tempaddrValues.${opt}.sysctl;
|
||||
msg = tempaddrValues.${opt}.description;
|
||||
in
|
||||
''
|
||||
# override to ${msg} for ${i.name}
|
||||
ACTION=="add", SUBSYSTEM=="net", NAME=="${i.name}", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.${
|
||||
replaceStrings [ "." ] [ "/" ] i.name
|
||||
}.use_tempaddr=${val}"
|
||||
''
|
||||
) (filter (i: i.tempAddress != cfg.tempAddresses) interfaces);
|
||||
})
|
||||
]
|
||||
++ lib.optional (cfg.wlanInterfaces != { }) (
|
||||
pkgs.writeTextFile {
|
||||
name = "99-zzz-40-wlanInterfaces.rules";
|
||||
destination = "/etc/udev/rules.d/99-zzz-40-wlanInterfaces.rules";
|
||||
text =
|
||||
let
|
||||
# Collect all interfaces that are defined for a device
|
||||
# as device:interface key:value pairs.
|
||||
wlanDeviceInterfaces =
|
||||
let
|
||||
allDevices = unique (mapAttrsToList (_: v: v.device) cfg.wlanInterfaces);
|
||||
interfacesOfDevice = d: filterAttrs (_: v: v.device == d) cfg.wlanInterfaces;
|
||||
in
|
||||
genAttrs allDevices (d: interfacesOfDevice d);
|
||||
|
||||
# Convert device:interface key:value pairs into a list, and if it exists,
|
||||
# place the interface which is named after the device at the beginning.
|
||||
wlanListDeviceFirst =
|
||||
device: interfaces:
|
||||
if hasAttr device interfaces then
|
||||
mapAttrsToList (n: v: v // { _iName = n; }) (filterAttrs (n: _: n == device) interfaces)
|
||||
++ mapAttrsToList (n: v: v // { _iName = n; }) (filterAttrs (n: _: n != device) interfaces)
|
||||
else
|
||||
mapAttrsToList (n: v: v // { _iName = n; }) interfaces;
|
||||
|
||||
# Udev script to execute for the default WLAN interface with the persistend udev name.
|
||||
# The script creates the required, new WLAN interfaces interfaces and configures the
|
||||
# existing, default interface.
|
||||
curInterfaceScript =
|
||||
device: current: new:
|
||||
pkgs.writeScript "udev-run-script-wlan-interfaces-${device}.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# Change the wireless phy device to a predictable name.
|
||||
${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/$INTERFACE/phy80211/name` set name ${device}
|
||||
|
||||
# Add new WLAN interfaces
|
||||
${flip concatMapStrings new (i: ''
|
||||
${pkgs.iw}/bin/iw phy ${device} interface add ${i._iName} type managed
|
||||
'')}
|
||||
|
||||
# Configure the current interface
|
||||
${pkgs.iw}/bin/iw dev ${device} set type ${current.type}
|
||||
${optionalString (
|
||||
current.type == "mesh" && current.meshID != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set meshid ${current.meshID}"}
|
||||
${optionalString (
|
||||
current.type == "monitor" && current.flags != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set monitor ${current.flags}"}
|
||||
${optionalString (
|
||||
current.type == "managed" && current.fourAddr != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if current.fourAddr then "on" else "off"}"}
|
||||
${optionalString (
|
||||
current.mac != null
|
||||
) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${current.mac}"}
|
||||
'';
|
||||
|
||||
# Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
|
||||
newInterfaceScript =
|
||||
new:
|
||||
pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# Configure the new interface
|
||||
${pkgs.iw}/bin/iw dev ${new._iName} set type ${new.type}
|
||||
${optionalString (
|
||||
new.type == "mesh" && new.meshID != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set meshid ${new.meshID}"}
|
||||
${optionalString (
|
||||
new.type == "monitor" && new.flags != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set monitor ${new.flags}"}
|
||||
${optionalString (
|
||||
new.type == "managed" && new.fourAddr != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set 4addr ${if new.fourAddr then "on" else "off"}"}
|
||||
${optionalString (
|
||||
new.mac != null
|
||||
) "${pkgs.iproute2}/bin/ip link set dev ${new._iName} address ${new.mac}"}
|
||||
'';
|
||||
|
||||
# Udev attributes for systemd to name the device and to create a .device target.
|
||||
systemdAttrs =
|
||||
n:
|
||||
''NAME:="${n}", ENV{INTERFACE}="${n}", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/${n}", TAG+="systemd"'';
|
||||
in
|
||||
flip (concatMapStringsSep "\n") (attrNames wlanDeviceInterfaces) (
|
||||
device:
|
||||
services.udev.packages =
|
||||
lib.optionals (!config.systemd.network.enable) [
|
||||
(pkgs.writeTextFile rec {
|
||||
name = "ipv6-privacy-extensions.rules";
|
||||
destination = "/etc/udev/rules.d/98-${name}";
|
||||
text =
|
||||
let
|
||||
interfaces = wlanListDeviceFirst device wlanDeviceInterfaces.${device};
|
||||
curInterface = elemAt interfaces 0;
|
||||
newInterfaces = drop 1 interfaces;
|
||||
sysctl-value = tempaddrValues.${cfg.tempAddresses}.sysctl;
|
||||
in
|
||||
''
|
||||
# It is important to have that rule first as overwriting the NAME attribute also prevents the
|
||||
# next rules from matching.
|
||||
${flip (concatMapStringsSep "\n") (wlanListDeviceFirst device wlanDeviceInterfaces.${device}) (
|
||||
interface:
|
||||
''ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", ENV{INTERFACE}=="${interface._iName}", ${systemdAttrs interface._iName}, RUN+="${newInterfaceScript interface}"''
|
||||
)}
|
||||
|
||||
# Add the required, new WLAN interfaces to the default WLAN interface with the
|
||||
# persistent, default name as assigned by udev.
|
||||
ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", NAME=="${device}", ${systemdAttrs curInterface._iName}, RUN+="${
|
||||
curInterfaceScript device curInterface newInterfaces
|
||||
}"
|
||||
# Generate the same systemd events for both 'add' and 'move' udev events.
|
||||
ACTION=="move", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", NAME=="${device}", ${systemdAttrs curInterface._iName}
|
||||
# enable and prefer IPv6 privacy addresses by default
|
||||
ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.bash}/bin/sh -c 'echo ${sysctl-value} > /proc/sys/net/ipv6/conf/$name/use_tempaddr'"
|
||||
'';
|
||||
})
|
||||
(pkgs.writeTextFile rec {
|
||||
name = "ipv6-privacy-extensions.rules";
|
||||
destination = "/etc/udev/rules.d/99-${name}";
|
||||
text = concatMapStrings (
|
||||
i:
|
||||
let
|
||||
opt = i.tempAddress;
|
||||
val = tempaddrValues.${opt}.sysctl;
|
||||
msg = tempaddrValues.${opt}.description;
|
||||
in
|
||||
''
|
||||
);
|
||||
}
|
||||
);
|
||||
# override to ${msg} for ${i.name}
|
||||
ACTION=="add", SUBSYSTEM=="net", NAME=="${i.name}", RUN+="${pkgs.procps}/bin/sysctl net.ipv6.conf.${
|
||||
replaceStrings [ "." ] [ "/" ] i.name
|
||||
}.use_tempaddr=${val}"
|
||||
''
|
||||
) (filter (i: i.tempAddress != cfg.tempAddresses) interfaces);
|
||||
})
|
||||
]
|
||||
++ lib.optional (cfg.wlanInterfaces != { }) (
|
||||
pkgs.writeTextFile {
|
||||
name = "99-zzz-40-wlanInterfaces.rules";
|
||||
destination = "/etc/udev/rules.d/99-zzz-40-wlanInterfaces.rules";
|
||||
text =
|
||||
let
|
||||
# Collect all interfaces that are defined for a device
|
||||
# as device:interface key:value pairs.
|
||||
wlanDeviceInterfaces =
|
||||
let
|
||||
allDevices = unique (mapAttrsToList (_: v: v.device) cfg.wlanInterfaces);
|
||||
interfacesOfDevice = d: filterAttrs (_: v: v.device == d) cfg.wlanInterfaces;
|
||||
in
|
||||
genAttrs allDevices (d: interfacesOfDevice d);
|
||||
|
||||
# Convert device:interface key:value pairs into a list, and if it exists,
|
||||
# place the interface which is named after the device at the beginning.
|
||||
wlanListDeviceFirst =
|
||||
device: interfaces:
|
||||
if hasAttr device interfaces then
|
||||
mapAttrsToList (n: v: v // { _iName = n; }) (filterAttrs (n: _: n == device) interfaces)
|
||||
++ mapAttrsToList (n: v: v // { _iName = n; }) (filterAttrs (n: _: n != device) interfaces)
|
||||
else
|
||||
mapAttrsToList (n: v: v // { _iName = n; }) interfaces;
|
||||
|
||||
# Udev script to execute for the default WLAN interface with the persistend udev name.
|
||||
# The script creates the required, new WLAN interfaces interfaces and configures the
|
||||
# existing, default interface.
|
||||
curInterfaceScript =
|
||||
device: current: new:
|
||||
pkgs.writeScript "udev-run-script-wlan-interfaces-${device}.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# Change the wireless phy device to a predictable name.
|
||||
${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/$INTERFACE/phy80211/name` set name ${device}
|
||||
|
||||
# Add new WLAN interfaces
|
||||
${flip concatMapStrings new (i: ''
|
||||
${pkgs.iw}/bin/iw phy ${device} interface add ${i._iName} type managed
|
||||
'')}
|
||||
|
||||
# Configure the current interface
|
||||
${pkgs.iw}/bin/iw dev ${device} set type ${current.type}
|
||||
${optionalString (
|
||||
current.type == "mesh" && current.meshID != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set meshid ${current.meshID}"}
|
||||
${optionalString (
|
||||
current.type == "monitor" && current.flags != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set monitor ${current.flags}"}
|
||||
${optionalString (
|
||||
current.type == "managed" && current.fourAddr != null
|
||||
) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if current.fourAddr then "on" else "off"}"}
|
||||
${optionalString (
|
||||
current.mac != null
|
||||
) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${current.mac}"}
|
||||
'';
|
||||
|
||||
# Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
|
||||
newInterfaceScript =
|
||||
new:
|
||||
pkgs.writeScript "udev-run-script-wlan-interfaces-${new._iName}.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# Configure the new interface
|
||||
${pkgs.iw}/bin/iw dev ${new._iName} set type ${new.type}
|
||||
${optionalString (
|
||||
new.type == "mesh" && new.meshID != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set meshid ${new.meshID}"}
|
||||
${optionalString (
|
||||
new.type == "monitor" && new.flags != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set monitor ${new.flags}"}
|
||||
${optionalString (
|
||||
new.type == "managed" && new.fourAddr != null
|
||||
) "${pkgs.iw}/bin/iw dev ${new._iName} set 4addr ${if new.fourAddr then "on" else "off"}"}
|
||||
${optionalString (
|
||||
new.mac != null
|
||||
) "${pkgs.iproute2}/bin/ip link set dev ${new._iName} address ${new.mac}"}
|
||||
'';
|
||||
|
||||
# Udev attributes for systemd to name the device and to create a .device target.
|
||||
systemdAttrs =
|
||||
n:
|
||||
''NAME:="${n}", ENV{INTERFACE}="${n}", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/${n}", TAG+="systemd"'';
|
||||
in
|
||||
flip (concatMapStringsSep "\n") (attrNames wlanDeviceInterfaces) (
|
||||
device:
|
||||
let
|
||||
interfaces = wlanListDeviceFirst device wlanDeviceInterfaces.${device};
|
||||
curInterface = elemAt interfaces 0;
|
||||
newInterfaces = drop 1 interfaces;
|
||||
in
|
||||
''
|
||||
# It is important to have that rule first as overwriting the NAME attribute also prevents the
|
||||
# next rules from matching.
|
||||
${flip (concatMapStringsSep "\n") (wlanListDeviceFirst device wlanDeviceInterfaces.${device}) (
|
||||
interface:
|
||||
''ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", ENV{INTERFACE}=="${interface._iName}", ${systemdAttrs interface._iName}, RUN+="${newInterfaceScript interface}"''
|
||||
)}
|
||||
|
||||
# Add the required, new WLAN interfaces to the default WLAN interface with the
|
||||
# persistent, default name as assigned by udev.
|
||||
ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", NAME=="${device}", ${systemdAttrs curInterface._iName}, RUN+="${
|
||||
curInterfaceScript device curInterface newInterfaces
|
||||
}"
|
||||
# Generate the same systemd events for both 'add' and 'move' udev events.
|
||||
ACTION=="move", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", NAME=="${device}", ${systemdAttrs curInterface._iName}
|
||||
''
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
rules = [
|
||||
"-a always,exit -F exe=${lib.getExe pkgs.hello} -k nixos-test"
|
||||
];
|
||||
backlogLimit = 512;
|
||||
};
|
||||
security.auditd = {
|
||||
enable = true;
|
||||
@@ -34,7 +35,9 @@
|
||||
machine.wait_for_unit("auditd.service")
|
||||
|
||||
with subtest("Audit subsystem gets enabled"):
|
||||
assert "enabled 1" in machine.succeed("auditctl -s")
|
||||
audit_status = machine.succeed("auditctl -s")
|
||||
t.assertIn("enabled 1", audit_status)
|
||||
t.assertIn("backlog_limit 512", audit_status)
|
||||
|
||||
with subtest("unix socket plugin activated"):
|
||||
machine.succeed("stat /var/run/audispd_events")
|
||||
@@ -45,7 +48,7 @@
|
||||
|
||||
with subtest("Stopping audit-rules.service disables the audit subsystem"):
|
||||
machine.succeed("systemctl stop audit-rules.service")
|
||||
assert "enabled 0" in machine.succeed("auditctl -s")
|
||||
t.assertIn("enabled 0", machine.succeed("auditctl -s"))
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -12,16 +12,10 @@
|
||||
nodes.auditd = {
|
||||
security.auditd.enable = true;
|
||||
security.audit.enable = true;
|
||||
environment.systemPackages = [ pkgs.audit ];
|
||||
boot.kernel.sysctl."kernel.printk_ratelimit" = 0;
|
||||
boot.kernelParams = [ "audit_backlog_limit=8192" ];
|
||||
};
|
||||
nodes.journaldAudit = {
|
||||
services.journald.audit = true;
|
||||
security.audit.enable = true;
|
||||
environment.systemPackages = [ pkgs.audit ];
|
||||
boot.kernel.sysctl."kernel.printk_ratelimit" = 0;
|
||||
boot.kernelParams = [ "audit_backlog_limit=8192" ];
|
||||
};
|
||||
nodes.containerCheck = {
|
||||
containers.c1 = {
|
||||
@@ -56,11 +50,6 @@
|
||||
journaldAudit.succeed("journalctl _TRANSPORT=audit --grep 'unit=systemd-journald'")
|
||||
# logs should NOT end up in audit log
|
||||
journaldAudit.fail("grep 'unit=systemd-journald' /var/log/audit/audit.log")
|
||||
# FIXME: If systemd fixes #15324 this test will start failing.
|
||||
# You can fix this text by removing the below line.
|
||||
# logs ideally should NOT end up in kmesg, but they do due to
|
||||
# https://github.com/systemd/systemd/issues/15324
|
||||
journaldAudit.succeed("journalctl _TRANSPORT=kernel --grep 'unit=systemd-journald'")
|
||||
|
||||
|
||||
with subtest("container systemd-journald-audit not running"):
|
||||
|
||||
@@ -187,6 +187,27 @@ To add a package to Nixpkgs:
|
||||
|
||||
(using "→" instead of "->" is also accepted)
|
||||
|
||||
Using the `(pkg-name):` prefix is important beyond just being a convention: it queues automatic builds by CI.
|
||||
More sophisticated prefixes are also possible:
|
||||
|
||||
| Message | Automatic Builds |
|
||||
|--------------------------------------------------------------------------|------------------------------------------------------------|
|
||||
| `vim: 1.0.0 -> 2.0.0` | `vim` |
|
||||
| `vagrant: fix dependencies for version 2.0.2` | `vagrant` |
|
||||
| `python3{9,10}Packages.requests: 1.0.0 -> 2.0.0` | `python39Packages.requests`, `python310Packages.requests` |
|
||||
| `python312.pkgs.numpy,python313.pkgs.scipy: fix build` | `python312.pkgs.numpy` , `python313.pkgs.scipy` |
|
||||
|
||||
When opening a PR with multiple commits, CI creates a single build job for all detected packages.
|
||||
If `passthru.tests` attributes are available, these will be built as well.
|
||||
|
||||
If the title of the _PR_ begins with `WIP:` or contains `[WIP]` anywhere, its packages are not built automatically.
|
||||
Other than that, PR titles have meaning only for humans.
|
||||
It is recommended to keep the PR title in sync with the commit title, to make it easier to find.
|
||||
For PRs with multiple commits, the PR title should be a general summary of these commits.
|
||||
|
||||
[!NOTE]
|
||||
Marking a PR as a draft does not prevent automatic builds.
|
||||
|
||||
## Category Hierarchy
|
||||
[categories]: #category-hierarchy
|
||||
|
||||
|
||||
@@ -1,47 +1,58 @@
|
||||
{ testers, fetchtorrent, ... }:
|
||||
{
|
||||
lib,
|
||||
testers,
|
||||
fetchtorrent,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
wired-cd.meta.license = [
|
||||
# track 1, 4 and 11
|
||||
{
|
||||
spdxID = "CC NC-SAMPLING+ 1.0 Deed";
|
||||
fullName = "NonCommercial Sampling Plus 1.0 Generic";
|
||||
url = "https://creativecommons.org/licenses/nc-sampling+/1.0/";
|
||||
free = false; # for noncommercial purposes only
|
||||
}
|
||||
# the rest
|
||||
{
|
||||
spdxID = "CC SAMPLING+ 1.0 Deed";
|
||||
fullName = "Sampling Plus 1.0 Generic";
|
||||
url = "https://creativecommons.org/licenses/sampling+/1.0/";
|
||||
free = true; # no use in advertisement
|
||||
}
|
||||
];
|
||||
sintel.meta = {
|
||||
description = "An open source short film to show off open source technologies.";
|
||||
longDescription = ''
|
||||
An independently produced short film, initiated by the Blender Foundation
|
||||
as a means to further improve andvalidate the free/open source 3D
|
||||
creation suite Blender.
|
||||
'';
|
||||
license = lib.licenses.cc-by-30;
|
||||
homepage = "https://durian.blender.org/";
|
||||
};
|
||||
|
||||
# Via https://webtorrent.io/free-torrents
|
||||
httpUrl = "https://webtorrent.io/torrents/sintel.torrent";
|
||||
magnetUrl = "magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent";
|
||||
|
||||
# All routes to download the torrent should produce the same output and
|
||||
# therefore have the same FOD hash.
|
||||
hash = "sha256-EzbmBiTEWOlFUNaV5R4eDeD9EBbp6d93rfby88ACg0s=";
|
||||
in
|
||||
|
||||
{
|
||||
http-link = testers.invalidateFetcherByDrvHash fetchtorrent {
|
||||
url = "https://webtorrent.io/torrents/wired-cd.torrent";
|
||||
hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
|
||||
inherit hash;
|
||||
url = httpUrl;
|
||||
backend = "transmission";
|
||||
inherit (wired-cd) meta;
|
||||
inherit (sintel) meta;
|
||||
};
|
||||
magnet-link = testers.invalidateFetcherByDrvHash fetchtorrent {
|
||||
url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
|
||||
hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
|
||||
inherit hash;
|
||||
url = magnetUrl;
|
||||
backend = "transmission";
|
||||
inherit (wired-cd) meta;
|
||||
inherit (sintel) meta;
|
||||
};
|
||||
http-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
|
||||
url = "https://webtorrent.io/torrents/wired-cd.torrent";
|
||||
hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
|
||||
inherit hash;
|
||||
url = httpUrl;
|
||||
backend = "rqbit";
|
||||
inherit (wired-cd) meta;
|
||||
meta = sintel.meta // {
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
magnet-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
|
||||
url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
|
||||
hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
|
||||
inherit hash;
|
||||
url = magnetUrl;
|
||||
backend = "rqbit";
|
||||
inherit (wired-cd) meta;
|
||||
meta = sintel.meta // {
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "albert";
|
||||
version = "0.30.1";
|
||||
version = "0.31.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albertlauncher";
|
||||
repo = "albert";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EscR31DZzLszs2jPQDDcB7SFtSuWPjSBpjJw8i+PsD0=";
|
||||
hash = "sha256-7YtDC0Xkv2y7vF58j78GsOPAMSvuwTmEobHULDBt9BI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@ in
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "attic";
|
||||
version = "0-unstable-2025-07-11";
|
||||
version = "0-unstable-2025-08-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhaofengli";
|
||||
repo = "attic";
|
||||
rev = "24fad0622fc9404c69e83bab7738359c5be4988e";
|
||||
hash = "sha256-5TomR72rn4q+5poQcN6EnanxeXKqJSqWVAoDAFN0lUc=";
|
||||
rev = "687dd7d607824edf11bf33e3d91038467e7fad43";
|
||||
hash = "sha256-swR4GCqp5LHYJQ7pdePBtsqYyiyy+ASfUvhAgou23KI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -45,7 +45,7 @@ clangStdenv.mkDerivation rec {
|
||||
openssl
|
||||
zlib
|
||||
]
|
||||
++ lib.optional (clangStdenv.cc.isClang && clangStdenv.targetPlatform.isStatic) empty-libgcc_eh;
|
||||
++ lib.optional (clangStdenv.cc.isClang && clangStdenv.hostPlatform.isStatic) empty-libgcc_eh;
|
||||
|
||||
# FIXME: separate the binaries from the stuff that user systems actually use
|
||||
# This runs into a terrible UX issue in Lix and I just don't want to debug it
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbeaver-bin";
|
||||
version = "25.1.3";
|
||||
version = "25.1.4";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -31,10 +31,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
aarch64-darwin = "macos-aarch64.dmg";
|
||||
};
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-SJCm5HnyhhpFvAK5ei9rkjCKnv8k904Vy0mOqTNcZXM=";
|
||||
aarch64-linux = "sha256-hE4Eu8eL4fJlCj7s+VM4moPBGleibg3nT363avB9gq4=";
|
||||
x86_64-darwin = "sha256-RWewJ5A0j+W17bv0DtxHG1iEz6q87/FwOvn34tHoN7Q=";
|
||||
aarch64-darwin = "sha256-vpVQF3o054s6ztpxJVGj8z3R4E2bc3LD+t8/4PO4hXw=";
|
||||
x86_64-linux = "sha256-ZJUmuJqTD3cRMMdIIqbJRp6C2GacnRn1fxzL23Vg8og=";
|
||||
aarch64-linux = "sha256-nHIk3MObHge5ACyype8HgFwvolPqrQ0BTDs/pYlsiW8=";
|
||||
x86_64-darwin = "sha256-/dl3B2FLz7V27c5/q8L1HtssbT/lLAet0lhDvgGVqZM=";
|
||||
aarch64-darwin = "sha256-/NClQkx6In9lS4vtk2lBhFHw0BLObmNqTIVJfhJcob4=";
|
||||
};
|
||||
in
|
||||
fetchurl {
|
||||
|
||||
@@ -32,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flaresolverr";
|
||||
version = "3.3.21-unstable-2025-03-04";
|
||||
version = "3.3.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FlareSolverr";
|
||||
repo = "FlareSolverr";
|
||||
rev = "ce5369dd413cd71a81ce38a5ccd379f6c9352e23";
|
||||
hash = "sha256-cZ/YT4H2OU5l3AosROnkoyT5qrva5lxKshQMS626f2E=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-BIV5+yLTgVQJtxi/F9FwtZ4pYcE2vGHmEgwigMtqwD8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.17.1";
|
||||
version = "3.17.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-9Ba7VgVmy5FOnqzAB/ebTFeI892Y1G0R/UcNpkbNdGA=";
|
||||
hash = "sha256-E0ytB30tiJgmdfpJ+KCy67enqmfZT7HjoZHlqtRQWsQ=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
@@ -30,6 +30,9 @@ stdenvNoCC.mkDerivation rec {
|
||||
hicolor-icon-theme
|
||||
];
|
||||
|
||||
# breeze-icons propagates qtbase
|
||||
dontWrapQtApps = true;
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -178,11 +178,11 @@ in
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "microsoft-edge";
|
||||
version = "138.0.3351.121";
|
||||
version = "139.0.3405.86";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-1Oi6Q2/2Pk0BG937Ij0zI7tgBSnwhPwGx34b+HlpXTU=";
|
||||
hash = "sha256-S1/RUSwRQsBQno/I31xjw1CGs0tJpl5HRatat+wOqmE=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mpris-discord-rpc";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "patryk-ku";
|
||||
repo = "mpris-discord-rpc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CzIHmc1BfKlUjiNjgslNDt00Xwpkz5zoDpYMd0HnHxE=";
|
||||
hash = "sha256-tPIm07q5HWosqhA3zefyuwM+fIztNZe1sSpB/NmUIoE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-RUebfsAzn93a0Ebp6cmzZWj72ivkaPzEaN6RIP4/WQM=";
|
||||
cargoHash = "sha256-3MJAvCc0ekUQ+eM5n8MdPNxXJWUgV76vi/Rq7GhhEPE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -59,6 +59,8 @@ This can happen when an identifier was added, renamed, or removed.
|
||||
|
||||
Added new content?
|
||||
$ redirects add-content ❬identifier❭ ❬path❭
|
||||
often:
|
||||
$ redirects add-content ❬identifier❭ index.html
|
||||
|
||||
Moved existing content to a different output path?
|
||||
$ redirects move-content ❬identifier❭ ❬path❭
|
||||
@@ -69,7 +71,11 @@ This can happen when an identifier was added, renamed, or removed.
|
||||
Removed content? Redirect to alternatives or relevant release notes.
|
||||
$ redirects remove-and-redirect ❬identifier❭ ❬target-identifier❭
|
||||
|
||||
NOTE: Run `nix-shell doc` or `nix-shell nixos/doc/manual` to make this command available.
|
||||
NOTE: Run the right nix-shell to make this command available.
|
||||
Nixpkgs:
|
||||
$ nix-shell doc
|
||||
NixOS:
|
||||
$ nix-shell nixos/doc/manual
|
||||
""")
|
||||
error_messages.append("NOTE: If your build passes locally and you see this message in CI, you probably need a rebase.")
|
||||
return "\n".join(error_messages)
|
||||
|
||||
@@ -116,13 +116,13 @@ in
|
||||
goBuild (finalAttrs: {
|
||||
pname = "ollama";
|
||||
# don't forget to invalidate all hashes each update
|
||||
version = "0.11.3";
|
||||
version = "0.11.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ollama";
|
||||
repo = "ollama";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FghgCtVQIxc9qB5vZZlblugk6HLnxoT8xanZK+N8qEc=";
|
||||
hash = "sha256-joIA/rH8j+SJH5EVMr6iqKLve6bkntPQM43KCN9JTZ8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SlaDsu001TUW+t9WRp7LqxUSQSGDF1Lqu9M1bgILoX4=";
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "planify";
|
||||
version = "4.13.0";
|
||||
version = "4.13.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alainm23";
|
||||
repo = "planify";
|
||||
rev = version;
|
||||
hash = "sha256-4fsgXyIt5bhdbG0DRFYv6vrGagTyH5SAFcOaAV3uq0g=";
|
||||
hash = "sha256-bQ7kKUdInf6ZYO0X6kwW0HbuciiXhGyAdvnPcT0MllM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "structorizer";
|
||||
version = "3.32-27";
|
||||
version = "3.32-30";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "fesch";
|
||||
repo = "Structorizer.Desktop";
|
||||
rev = version;
|
||||
hash = "sha256-Z60HB0s2LkO/Vs/OaHWc969Y6H+wBiN5slRGFf4JCro=";
|
||||
hash = "sha256-sv/Uoh1UPVsioKpeJeuqs+EPPsuQwO54WIUPyc8Fjco=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -37,6 +37,9 @@ stdenv.mkDerivation rec {
|
||||
deepin-icon-theme
|
||||
];
|
||||
|
||||
# breeze-icons propagates qtbase
|
||||
dontWrapQtApps = true;
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
preFixup = ''
|
||||
|
||||
@@ -27,6 +27,9 @@ stdenvNoCC.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [ papirus-icon-theme ];
|
||||
|
||||
# breeze-icons propagates qtbase
|
||||
dontWrapQtApps = true;
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
# Remove broken symbolic link(https://github.com/linuxdeepin/developer-center/issues/11245)
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "phpstan";
|
||||
version = "2.1.21";
|
||||
version = "2.1.22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phpstan";
|
||||
repo = "phpstan-src";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-f+GxZPt5O++x0XKxdJqAiEfpgQYCN4uzDAzw20xd268=";
|
||||
hash = "sha256-lhUsMDjfFOXdP3/HqPjaudXm5rugUo9tBaDPaI3CT20=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-6jGZF10B9aCMgLUKXcckcPF96U8edsPaMAQ7egHAAQk=";
|
||||
vendorHash = "sha256-wVCCWzW1A7asmxECx9Uk6PpThnrvhjTAEm689bKtHA0=";
|
||||
composerStrictValidation = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
isPy27,
|
||||
setuptools,
|
||||
futures ? null,
|
||||
docloud,
|
||||
requests,
|
||||
}:
|
||||
@@ -14,7 +12,6 @@ buildPythonPackage rec {
|
||||
version = "2.30.251";
|
||||
pyproject = true;
|
||||
|
||||
# No source available from official repo
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ZQMhn1tRJ1p+TnfKQzKQOw+Akl0gUDCkjT9qp8oNvyo=";
|
||||
@@ -27,13 +24,14 @@ buildPythonPackage rec {
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
docloud
|
||||
requests
|
||||
]
|
||||
++ lib.optional isPy27 futures;
|
||||
];
|
||||
|
||||
# PypI release does not include tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "docplex" ];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
dacite,
|
||||
decorator,
|
||||
fetchFromGitHub,
|
||||
future,
|
||||
first,
|
||||
jsonpath-ng,
|
||||
loguru,
|
||||
@@ -54,14 +53,13 @@ buildPythonPackage rec {
|
||||
|
||||
nativeBuildInputs = [ antlr4 ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
antlr4-python3-runtime
|
||||
asciimatics
|
||||
click
|
||||
dacite
|
||||
decorator
|
||||
first
|
||||
future
|
||||
jsonpath-ng
|
||||
loguru
|
||||
overrides
|
||||
@@ -88,8 +86,8 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Module to view JSON in a TUI";
|
||||
homepage = "https://github.com/cielong/pyfx";
|
||||
changelog = "https://github.com/cielong/pyfx/releases/tag/v${version}";
|
||||
license = with licenses; [ mit ];
|
||||
changelog = "https://github.com/cielong/pyfx/releases/tag/${src.tag}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "pyfx";
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sev-snp-measure";
|
||||
version = "0.0.11";
|
||||
version = "0.0.12";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
owner = "virtee";
|
||||
repo = "sev-snp-measure";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-M+d9uIAQvEmEsdhhjlwHbhB2RhlaGjphN4ov2ipzCFY=";
|
||||
hash = "sha256-UcXU6rNjcRN1T+iWUNrqeJCkSa02WU1/pBwLqHVPRyw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -32,7 +32,7 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Calculate AMD SEV/SEV-ES/SEV-SNP measurement for confidential computing";
|
||||
homepage = "https://github.com/virtee/sev-snp-measure";
|
||||
changelog = "https://github.com/virtee/sev-snp-measure/releases/tag/v${version}";
|
||||
changelog = "https://github.com/virtee/sev-snp-measure/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ msanft ];
|
||||
mainProgram = "sev-snp-measure";
|
||||
|
||||
@@ -2,8 +2,5 @@
|
||||
mkKdeDerivation {
|
||||
pname = "kpackage";
|
||||
|
||||
# Follow symlinks when resolving packages
|
||||
# FIXME(later): upstream
|
||||
patches = [ ./follow-symlinks.patch ];
|
||||
meta.mainProgram = "kpackagetool6";
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/src/kpackage/packageloader.cpp b/src/kpackage/packageloader.cpp
|
||||
index 9dbd1f6..c50a6e5 100644
|
||||
--- a/src/kpackage/packageloader.cpp
|
||||
+++ b/src/kpackage/packageloader.cpp
|
||||
@@ -128,7 +128,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat,
|
||||
}
|
||||
|
||||
for (auto const &plugindir : std::as_const(paths)) {
|
||||
- QDirIterator it(plugindir, QStringList{QStringLiteral("metadata.json")}, QDir::Files, QDirIterator::Subdirectories);
|
||||
+ QDirIterator it(plugindir, QStringList{QStringLiteral("metadata.json")}, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
|
||||
std::unordered_set<QString> dirs;
|
||||
while (it.hasNext()) {
|
||||
it.next();
|
||||
@@ -2,10 +2,8 @@
|
||||
mkKdeDerivation {
|
||||
pname = "kservice";
|
||||
|
||||
# FIXME(later): upstream
|
||||
# FIXME(later): the whole sycoca situation is very bad
|
||||
patches = [
|
||||
# follow symlinks when generating sycoca
|
||||
./qdiriterator-follow-symlinks.patch
|
||||
# explode less when sycoca is deleted
|
||||
./handle-sycoca-deletion.patch
|
||||
];
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp
|
||||
index b125299..0682b90 100644
|
||||
--- a/src/sycoca/kbuildsycoca.cpp
|
||||
+++ b/src/sycoca/kbuildsycoca.cpp
|
||||
@@ -207,7 +207,7 @@ bool KBuildSycoca::build()
|
||||
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory);
|
||||
qCDebug(SYCOCA) << "Looking for subdir" << m_resourceSubdir << "=>" << dirs;
|
||||
for (const QString &dir : dirs) {
|
||||
- QDirIterator it(dir, QDirIterator::Subdirectories);
|
||||
+ QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
|
||||
while (it.hasNext()) {
|
||||
const QString filePath = it.next();
|
||||
Q_ASSERT(filePath.startsWith(dir)); // due to the line below...
|
||||
@@ -8,11 +8,6 @@
|
||||
mkKdeDerivation {
|
||||
pname = "solid";
|
||||
|
||||
patches = [
|
||||
# Also search /run/wrappers for mount/umount
|
||||
./fix-search-path.patch
|
||||
];
|
||||
|
||||
extraNativeBuildInputs = [
|
||||
qttools
|
||||
bison
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/src/solid/devices/backends/fstab/fstabhandling.cpp b/src/solid/devices/backends/fstab/fstabhandling.cpp
|
||||
index ac2a628..7ee46cc 100644
|
||||
--- a/src/solid/devices/backends/fstab/fstabhandling.cpp
|
||||
+++ b/src/solid/devices/backends/fstab/fstabhandling.cpp
|
||||
@@ -275,7 +275,11 @@ bool Solid::Backends::Fstab::FstabHandling::callSystemCommand(const QString &com
|
||||
const QObject *receiver,
|
||||
std::function<void(QProcess *)> callback)
|
||||
{
|
||||
- static const QStringList searchPaths{QStringLiteral("/sbin"), QStringLiteral("/bin"), QStringLiteral("/usr/sbin"), QStringLiteral("/usr/bin")};
|
||||
+ static const QStringList searchPaths{QStringLiteral("/run/wrappers/bin"),
|
||||
+ QStringLiteral("/sbin"),
|
||||
+ QStringLiteral("/bin"),
|
||||
+ QStringLiteral("/usr/sbin"),
|
||||
+ QStringLiteral("/usr/bin")};
|
||||
static const QString joinedPaths = searchPaths.join(QLatin1Char(':'));
|
||||
const QString exec = QStandardPaths::findExecutable(commandName, searchPaths);
|
||||
if (exec.isEmpty()) {
|
||||
@@ -1,362 +1,362 @@
|
||||
{
|
||||
"attica": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/attica-6.16.0.tar.xz",
|
||||
"hash": "sha256-XRyI9k0G942CWEtSdfIGI1aGb4K3/fuXKKxNxNUJvmo="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/attica-6.17.0.tar.xz",
|
||||
"hash": "sha256-L6tKLTLpj2JGW4G9puQW/3+pnWqklMSyYfh3J1j2txo="
|
||||
},
|
||||
"baloo": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/baloo-6.16.0.tar.xz",
|
||||
"hash": "sha256-jCf+7KJasHOGLkM8c1eC8ocTVo0TkKhHcbG6Q/YXH2U="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/baloo-6.17.0.tar.xz",
|
||||
"hash": "sha256-IarD6V6gld8Cm74L1WY6o5ioiU6cMep/q7XNC5hIVEo="
|
||||
},
|
||||
"bluez-qt": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/bluez-qt-6.16.0.tar.xz",
|
||||
"hash": "sha256-d/bDDzeou+z3PV849DCDh55CCJY50BeUU0V9O1h9pZQ="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/bluez-qt-6.17.0.tar.xz",
|
||||
"hash": "sha256-c25rDDFYl8XqhEVE/u71L9HplI7E/yTyxSxf1xig5l0="
|
||||
},
|
||||
"breeze-icons": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/breeze-icons-6.16.0.tar.xz",
|
||||
"hash": "sha256-lG55O2dBJtuYTi94O+SzSOnGjCUn003dcl+csIYpNrQ="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/breeze-icons-6.17.0.tar.xz",
|
||||
"hash": "sha256-T/x1iG6aFKKgLaSHFgC4wLWkB1a46Zy+z7UVaW2Tw7g="
|
||||
},
|
||||
"extra-cmake-modules": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/extra-cmake-modules-6.16.0.tar.xz",
|
||||
"hash": "sha256-6IHBnjNb64IybgLQAHZufugyTXzoWD3w9b/UwmmY+/4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/extra-cmake-modules-6.17.0.tar.xz",
|
||||
"hash": "sha256-3+yxfQI49N4d00hbkqZgYTfUqcZ7nkzkBAf+DyrsCkA="
|
||||
},
|
||||
"frameworkintegration": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/frameworkintegration-6.16.0.tar.xz",
|
||||
"hash": "sha256-oOPixXdrGeLeYnOJPwySfvfq3qhqYwHyHhg3fLdZB/w="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/frameworkintegration-6.17.0.tar.xz",
|
||||
"hash": "sha256-nZ4BH6ydmWfZTEPtKiE9hRJjgF4dtdrQjYEv4/DmrRI="
|
||||
},
|
||||
"kapidox": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kapidox-6.16.0.tar.xz",
|
||||
"hash": "sha256-PNJqLDN0teZgMPhcxjTDeNihMYkkn64QNNZKdw3Fzhs="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kapidox-6.17.0.tar.xz",
|
||||
"hash": "sha256-p6PCwgnPX4EK9IJko2HlJtuskfF5wsAgj6AtxBb58NI="
|
||||
},
|
||||
"karchive": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/karchive-6.16.0.tar.xz",
|
||||
"hash": "sha256-26GP8r4dC1ehgSoz3mYNTPdiPc+qj5wNZO/eIVJAnP8="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/karchive-6.17.0.tar.xz",
|
||||
"hash": "sha256-YGR8JGRqQ/Z96vN+ICRt+dN5+j91E/6FNqHfozCGW0A="
|
||||
},
|
||||
"kauth": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kauth-6.16.0.tar.xz",
|
||||
"hash": "sha256-BPPoT9pejOt/EAJm41aaNOgomxBGr07HUFme+tYDSWM="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kauth-6.17.0.tar.xz",
|
||||
"hash": "sha256-pWPMqqYVwfHb30tFrR2ic55A/ZSQvFkGr9WrXa41+TI="
|
||||
},
|
||||
"kbookmarks": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kbookmarks-6.16.0.tar.xz",
|
||||
"hash": "sha256-ykZWrUmt1SS0tovChgcaWuR/g+xGof2ODDcT1wrWrbU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kbookmarks-6.17.0.tar.xz",
|
||||
"hash": "sha256-BBuWZ9PUhRsOb6Yqn8ESqZOKSHtMpSDu3eG1NWNiF/I="
|
||||
},
|
||||
"kcalendarcore": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcalendarcore-6.16.0.tar.xz",
|
||||
"hash": "sha256-Uh0dKzVuPXzS4L9oeRnJhlXGJs3p7VIOQvxzDnqVvZs="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcalendarcore-6.17.0.tar.xz",
|
||||
"hash": "sha256-SgZ1xiEcrxg6BnGUskCT3GMBWhpZvge4ZM9F96zRjhM="
|
||||
},
|
||||
"kcmutils": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcmutils-6.16.0.tar.xz",
|
||||
"hash": "sha256-QD9esyiP+7xky2dBBIAH3egr45DaLFC6FHy0dJIeM0Q="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcmutils-6.17.0.tar.xz",
|
||||
"hash": "sha256-j2XvD09PMlrW4qMMsUJCIg+BGrHgMUFv0/qlRKxoPoo="
|
||||
},
|
||||
"kcodecs": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcodecs-6.16.0.tar.xz",
|
||||
"hash": "sha256-2NI83IU6qDK/OYhsa2c/7ocnniWM8Bq+sKz+pfcY5ZU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcodecs-6.17.0.tar.xz",
|
||||
"hash": "sha256-B7HG9sMJFWKamTRvn9WoVK/jZykZEfthAAkyd39+mPI="
|
||||
},
|
||||
"kcolorscheme": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcolorscheme-6.16.0.tar.xz",
|
||||
"hash": "sha256-RgJtCj1SKUM4n6PvZqEp2fx25eYpXIT4F9ErqqJocwM="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcolorscheme-6.17.0.tar.xz",
|
||||
"hash": "sha256-yL1F6ySPw42Bbk6w/ZSdkJwJo6WpCEjvbUBAw1lz97Q="
|
||||
},
|
||||
"kcompletion": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcompletion-6.16.0.tar.xz",
|
||||
"hash": "sha256-P3HX8kynBFKTIu6tfSEyMx6UYeuRq0idbj2ZDZ18oTM="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcompletion-6.17.0.tar.xz",
|
||||
"hash": "sha256-8i5Mb6zsgSveSrjVagWziiQ92TYsjetPE2fvsbbmRmM="
|
||||
},
|
||||
"kconfig": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kconfig-6.16.0.tar.xz",
|
||||
"hash": "sha256-umzFjwJf75UlvGQPeWe3wJBTtZLEI2jgltl6lGYaNSU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kconfig-6.17.0.tar.xz",
|
||||
"hash": "sha256-BnQ1skyp989WqM5bEIQ4oVYHsm3FKQWuB9wYfH4pSd4="
|
||||
},
|
||||
"kconfigwidgets": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kconfigwidgets-6.16.0.tar.xz",
|
||||
"hash": "sha256-YcAlb9rgSbElhr0eDZMegFFdPHAvF4WoiZTuVO7i1cU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kconfigwidgets-6.17.0.tar.xz",
|
||||
"hash": "sha256-C8U2bTjcvhKuoyqoTnfpwnjTxjru1vUJr1KEijCkHiE="
|
||||
},
|
||||
"kcontacts": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcontacts-6.16.0.tar.xz",
|
||||
"hash": "sha256-/1epqxGblYlTNdQnSBAJz/cq6c9tD8L6mlBPls+sal4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcontacts-6.17.0.tar.xz",
|
||||
"hash": "sha256-GY2yW9x+f+4Rdm7/7ROtRDj2ohG+ihahzR6BXj688ho="
|
||||
},
|
||||
"kcoreaddons": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcoreaddons-6.16.0.tar.xz",
|
||||
"hash": "sha256-eYonRMKW0Tshbq3X5dgBpv1pVpRKIUerKDDDmZMK4qA="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcoreaddons-6.17.0.tar.xz",
|
||||
"hash": "sha256-AwPW0ennbPnsBqQazRpSCIpA3zooBel+HDJ7r2B4Qqo="
|
||||
},
|
||||
"kcrash": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kcrash-6.16.0.tar.xz",
|
||||
"hash": "sha256-BuOhCbpZejlRVDMCUElcPgOndLfW8hOjUnia2cNpHcM="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kcrash-6.17.0.tar.xz",
|
||||
"hash": "sha256-UvS93GQuaOlvjxizS7qAO4+fk8uM9eHRqrzP08UoXhM="
|
||||
},
|
||||
"kdav": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdav-6.16.0.tar.xz",
|
||||
"hash": "sha256-WKHHZkaztSdGp2kOy5hgRIpZ33f8ppGZgxNSdFcGsyU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdav-6.17.0.tar.xz",
|
||||
"hash": "sha256-jYo7A8XFP1iiZgtYm4lzHRgro7xiLHbge/5sv1Cmk8c="
|
||||
},
|
||||
"kdbusaddons": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdbusaddons-6.16.0.tar.xz",
|
||||
"hash": "sha256-O6G5YoSDo4oTt7zmqsCuLW8Rb2JgGTB4biVNpN/V0UU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdbusaddons-6.17.0.tar.xz",
|
||||
"hash": "sha256-V9ZAv6EcFmC13NPBxx1gWkBULRZX4E2b+Ge3Yb/ncvQ="
|
||||
},
|
||||
"kdeclarative": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdeclarative-6.16.0.tar.xz",
|
||||
"hash": "sha256-xY33ofUBKG+W0M8LOWWY7eFus8rbyKBdNSNs5N8xyA4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdeclarative-6.17.0.tar.xz",
|
||||
"hash": "sha256-tTY9/HNU0foe1J1xdaAzSo72boK7OJukuv/m93jy4ro="
|
||||
},
|
||||
"kded": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kded-6.16.0.tar.xz",
|
||||
"hash": "sha256-STcvsB3VPCWyeJYD7WroX+VKcS7X90JsiE0HXTE4Gyo="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kded-6.17.0.tar.xz",
|
||||
"hash": "sha256-T18EudvPOgukKBVBnZabAaZiQCTRSZTVQKlzpjcc8nc="
|
||||
},
|
||||
"kdesu": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdesu-6.16.0.tar.xz",
|
||||
"hash": "sha256-+cv66IWWz9ALJpdEyJoELfvASCc+NfHH4VhCnbVcjWg="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdesu-6.17.0.tar.xz",
|
||||
"hash": "sha256-ZmiZrVRre9AC4/wWlwMviSDOcmHfLvUZ6B1KrpGXESM="
|
||||
},
|
||||
"kdnssd": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdnssd-6.16.0.tar.xz",
|
||||
"hash": "sha256-sIvfBcfZjjE2aZWiCHrHRxqJk8SZF9PNecC6HS9pqOA="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdnssd-6.17.0.tar.xz",
|
||||
"hash": "sha256-bhaBoBpM0JZQuk3hu61OwD0/ZFL8B/9PdOJLJAQPPgo="
|
||||
},
|
||||
"kdoctools": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kdoctools-6.16.0.tar.xz",
|
||||
"hash": "sha256-XAxTGnl4ZQ9ZOmOiq6GmQdWQU350xkSqNhxjWEsRWqI="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kdoctools-6.17.0.tar.xz",
|
||||
"hash": "sha256-J7DssCMieDcQPj+mrePeCqTV9W9PbJeplv5u50vonS8="
|
||||
},
|
||||
"kfilemetadata": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kfilemetadata-6.16.0.tar.xz",
|
||||
"hash": "sha256-R9aAtiaXQhvf6j3L/rVjUo4+uo2vSFZMPD2lZON2QMU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kfilemetadata-6.17.0.tar.xz",
|
||||
"hash": "sha256-K7mpmEarD3NjbsNPuiRJCKEjWR9/dFi6uRuM+yOSMEQ="
|
||||
},
|
||||
"kglobalaccel": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kglobalaccel-6.16.0.tar.xz",
|
||||
"hash": "sha256-ZmNGGoJ5i13MufROkcDDfhLJUfh+KVw7p/Rl2se9SqE="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kglobalaccel-6.17.0.tar.xz",
|
||||
"hash": "sha256-/D1AVVQmORRbPkUGgmR0XGEfw+zw0BROqjUyA4+pcfE="
|
||||
},
|
||||
"kguiaddons": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kguiaddons-6.16.0.tar.xz",
|
||||
"hash": "sha256-nh1TpPvh63zMEGEKFzfZslYHVvib9lCUCnQ1bap9suI="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kguiaddons-6.17.0.tar.xz",
|
||||
"hash": "sha256-XQfbyOJKsQd951t4MKHzYt/zcQ+wQdYbjaAsV3BWq2s="
|
||||
},
|
||||
"kholidays": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kholidays-6.16.0.tar.xz",
|
||||
"hash": "sha256-VwKcNb0Iw2D4hFOyAuDGe5qr3W+fk/LqBmtqhnjdBQE="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kholidays-6.17.0.tar.xz",
|
||||
"hash": "sha256-W459+Ie/eQ7d1lM5EO76mwCnfyZ1Jg2nHza5XLdk+rI="
|
||||
},
|
||||
"ki18n": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/ki18n-6.16.0.tar.xz",
|
||||
"hash": "sha256-xSrRCxQ2XmDEohnLZnBtEUR2ZFKXyyqfFUmHR89EIdc="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/ki18n-6.17.0.tar.xz",
|
||||
"hash": "sha256-UPhn2UjBWq2Rw8V/4vZGLNvziB+rb9mbhbFWFvBzmD4="
|
||||
},
|
||||
"kiconthemes": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kiconthemes-6.16.0.tar.xz",
|
||||
"hash": "sha256-pzopdsxJNhyPoMYS9TyoGvzyx0psTVWsiikW9X0H5AI="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kiconthemes-6.17.0.tar.xz",
|
||||
"hash": "sha256-XPCyBijTAER3cMSrAO2yJezIVWF5KSPsAIP5vJ4LQkc="
|
||||
},
|
||||
"kidletime": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kidletime-6.16.0.tar.xz",
|
||||
"hash": "sha256-V6ekDXCT16Zpf5pD/1XLyyYp7F0o7OSjeqQADvqmGy0="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kidletime-6.17.0.tar.xz",
|
||||
"hash": "sha256-H2fSZ0nenwn0qw3Esj5T7LhNkhsdUtYSgi/cU8NMOzc="
|
||||
},
|
||||
"kimageformats": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kimageformats-6.16.0.tar.xz",
|
||||
"hash": "sha256-ht+7BauEX3sZp/7IjhNdFOR68U3BcT2fs5GWZRDB3Es="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kimageformats-6.17.0.tar.xz",
|
||||
"hash": "sha256-GAtnD3ZrrnQDQOWv0gROoIJC6pNUWbuVvIAxPQYgZqg="
|
||||
},
|
||||
"kio": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kio-6.16.0.tar.xz",
|
||||
"hash": "sha256-Z16/igxyv9/UNO9zUwy3rpISeu/wloiW1nzFqiIzPow="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kio-6.17.0.tar.xz",
|
||||
"hash": "sha256-0A1JUhmPjp/0QzWzQHFGFeASSFftvWfElktQ4MkT1i0="
|
||||
},
|
||||
"kirigami": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kirigami-6.16.0.tar.xz",
|
||||
"hash": "sha256-FtEUKqzYUU+Vz5vbRLKnIPM5e17mikiaVMhqVgr1VRY="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kirigami-6.17.0.tar.xz",
|
||||
"hash": "sha256-C3+3GaIx/+t/zETIupA+rRO0NYxBnV8LFVUtP8hO11s="
|
||||
},
|
||||
"kitemmodels": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kitemmodels-6.16.0.tar.xz",
|
||||
"hash": "sha256-cXZuqeePcL1PYbFg9wsx94JcX0x8dNOXFmqdrnsdz1w="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kitemmodels-6.17.0.tar.xz",
|
||||
"hash": "sha256-uQBEF7XpuzMJQ0q5CBmIlZD2v6MtSmU4jQUt9DLAsWY="
|
||||
},
|
||||
"kitemviews": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kitemviews-6.16.0.tar.xz",
|
||||
"hash": "sha256-xFVB2F7BsG0WC4GcA/BzzwAaYEEfHUVwamEdnquSFN0="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kitemviews-6.17.0.tar.xz",
|
||||
"hash": "sha256-MdHI/2Syju8hbmOkQ6zNxiHFP1HsI+ahN9nghil0L9E="
|
||||
},
|
||||
"kjobwidgets": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kjobwidgets-6.16.0.tar.xz",
|
||||
"hash": "sha256-UXcD8BiOx911mvONosAyLuKnYxIlGJhTYmr5r/C5Syo="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kjobwidgets-6.17.0.tar.xz",
|
||||
"hash": "sha256-DcVt4ZvON2m3jDTasTmViAFxgPKY3oQZ7aGQmkIRtiQ="
|
||||
},
|
||||
"knewstuff": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/knewstuff-6.16.0.tar.xz",
|
||||
"hash": "sha256-U+QJqJvXqMHxWOKFG67gPutRZMn6Kp0MD5VtI9bhTmI="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/knewstuff-6.17.0.tar.xz",
|
||||
"hash": "sha256-EFnLfNubqBcN6CoIxoM0kAB6FSpG5L2+JDBO7dwmPWY="
|
||||
},
|
||||
"knotifications": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/knotifications-6.16.0.tar.xz",
|
||||
"hash": "sha256-Qj2kEFllekljRenXUoqw4N3lP2eBYPL64su8WDypO58="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/knotifications-6.17.0.tar.xz",
|
||||
"hash": "sha256-t4AcVGk15ggqctTH3QOHQHtqGQWriN6b3a82mo7KQUE="
|
||||
},
|
||||
"knotifyconfig": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/knotifyconfig-6.16.0.tar.xz",
|
||||
"hash": "sha256-kNgo39VsCWU7yVyR5yyQwBnUAhQ3dZ1B5eCay7GDypg="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/knotifyconfig-6.17.0.tar.xz",
|
||||
"hash": "sha256-5aCPeHL/uDb7/pcm64bBBOMK/FWZYTjZZXMfV5SYEmM="
|
||||
},
|
||||
"kpackage": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kpackage-6.16.0.tar.xz",
|
||||
"hash": "sha256-pF/OECbbO2XN0d0OETdICOJoaRSgYvZkTrqo7TCO48s="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kpackage-6.17.0.tar.xz",
|
||||
"hash": "sha256-eNIxoiM5SSLQKVfheReiCN4OmCJPIfwQ5TislxvbQqQ="
|
||||
},
|
||||
"kparts": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kparts-6.16.0.tar.xz",
|
||||
"hash": "sha256-3z40gzQPqeuyDlwL9VfOxI3r/Sr53TE70bxFUTHGu2c="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kparts-6.17.0.tar.xz",
|
||||
"hash": "sha256-HmTUJs5HUBqP8brIwjZvDNFT5s1NRA6CfrABXZ44w+k="
|
||||
},
|
||||
"kpeople": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kpeople-6.16.0.tar.xz",
|
||||
"hash": "sha256-9tT7agWVy7D7CiabFQT59fCkgWYyjIoujeWGFAOV+2o="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kpeople-6.17.0.tar.xz",
|
||||
"hash": "sha256-3Q7EubrtQKL5YM5JA73HkHP1UZaTkzFOOql8dfcw978="
|
||||
},
|
||||
"kplotting": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kplotting-6.16.0.tar.xz",
|
||||
"hash": "sha256-ohF+0QtcWZL5sWDLmLxTBCzdJX3mubny9bpKalwAvQY="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kplotting-6.17.0.tar.xz",
|
||||
"hash": "sha256-ZlSWW2PQhXwxwhgX5WkxaEwy3d8DXoMWnKbqfWuaJkM="
|
||||
},
|
||||
"kpty": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kpty-6.16.0.tar.xz",
|
||||
"hash": "sha256-l2Gx9a9/oQ5+PKi1KpoQ4kr5lN565kLBVdunyZsU6c8="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kpty-6.17.0.tar.xz",
|
||||
"hash": "sha256-lqcWh6jeC+zDSoFXVy0kQLqNS5dv1dCBMzHf2GuSqrs="
|
||||
},
|
||||
"kquickcharts": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kquickcharts-6.16.0.tar.xz",
|
||||
"hash": "sha256-A6cPpbWx8Ji7zAIN0XkrjAuZnYvnzNGzS3n1t6OfGD0="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kquickcharts-6.17.0.tar.xz",
|
||||
"hash": "sha256-HiBqloTYgs4sFH5DY5LcPvbNp55Lwt31qgOY0uLdxaQ="
|
||||
},
|
||||
"krunner": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/krunner-6.16.0.tar.xz",
|
||||
"hash": "sha256-8xF0ETFVLRSHWIBwfXBAICi/sADQ2W+Ac0ZDEfyrXbw="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/krunner-6.17.0.tar.xz",
|
||||
"hash": "sha256-nUpcDHSwz6njXDHediYz3ewEOcUPpEvIW+woraAQaRI="
|
||||
},
|
||||
"kservice": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kservice-6.16.0.tar.xz",
|
||||
"hash": "sha256-7l7J6pMVqdHlLT5t4duLuPPZRcQmCoUjy+NIl7HMCB4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kservice-6.17.0.tar.xz",
|
||||
"hash": "sha256-sBRpfqO6NZ9GpunPlQ17vXqc8J6Vs2cYw2tmBalCSu4="
|
||||
},
|
||||
"kstatusnotifieritem": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kstatusnotifieritem-6.16.0.tar.xz",
|
||||
"hash": "sha256-c8JZCy9vtfYfw7fcAh33Y78POWnB6rjF0Lhd9EWsrSA="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kstatusnotifieritem-6.17.0.tar.xz",
|
||||
"hash": "sha256-Z4qb/IcAZtVBO7z6CaVrgrCv/SvCIs5XAdAqixKe3ZE="
|
||||
},
|
||||
"ksvg": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/ksvg-6.16.0.tar.xz",
|
||||
"hash": "sha256-7jvwcm6EE3wTHM1cYcF/CO3AwNjp+ifSbNOkUk9c9sM="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/ksvg-6.17.0.tar.xz",
|
||||
"hash": "sha256-Nyjalmky8g8ZClRaf0Lt6i+b2+bXJ6W8G1V+9RVbf5Q="
|
||||
},
|
||||
"ktexteditor": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/ktexteditor-6.16.0.tar.xz",
|
||||
"hash": "sha256-q+v+ep7kuhq44bG4A16UihdEUczoq0rYJ404mg5ZcSg="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/ktexteditor-6.17.0.tar.xz",
|
||||
"hash": "sha256-mQTAxckzo2jW9JLZ4RbMziAQVNWgKbiw/gdZ/4frjKM="
|
||||
},
|
||||
"ktexttemplate": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/ktexttemplate-6.16.0.tar.xz",
|
||||
"hash": "sha256-GIDPGokAMdxhclE9Pf54841XJhhJeCIMpxQqOm5A+bU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/ktexttemplate-6.17.0.tar.xz",
|
||||
"hash": "sha256-FddZQdFerDzRJDBmsTow1sFFHKYwsMKbNiS+NK1z6XI="
|
||||
},
|
||||
"ktextwidgets": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/ktextwidgets-6.16.0.tar.xz",
|
||||
"hash": "sha256-y3GK4SwoobF/LlUvCPEhrqmabdX/Q3snBYGrknCgLqE="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/ktextwidgets-6.17.0.tar.xz",
|
||||
"hash": "sha256-M9RuzdA/9oWC2lzvJRkhqMbnpdt62b/QQyywBxKsKeM="
|
||||
},
|
||||
"kunitconversion": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kunitconversion-6.16.0.tar.xz",
|
||||
"hash": "sha256-paRy6b9YQZEZXdQH0JvEZ5o0uGmpern9+DqspY6LDg0="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kunitconversion-6.17.0.tar.xz",
|
||||
"hash": "sha256-8mJaS6JbMyn7lzAkkHO800m3o0Y2IUjH+peYnvx+XMo="
|
||||
},
|
||||
"kuserfeedback": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kuserfeedback-6.16.0.tar.xz",
|
||||
"hash": "sha256-9PdE4KqHikyYSZ7vp5jq7Z3ZzesZIYIpKlTf1+uB5vU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kuserfeedback-6.17.0.tar.xz",
|
||||
"hash": "sha256-DxtTYf+m//Euw9/Xo+SxsqpuutxK/MA6nTHC1JvsfK8="
|
||||
},
|
||||
"kwallet": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kwallet-6.16.0.tar.xz",
|
||||
"hash": "sha256-2N0zDSxGQ9M1BQwXCSUilBCKdat3zbZytW9AvKaFTu0="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kwallet-6.17.0.tar.xz",
|
||||
"hash": "sha256-RMr2kfR7okby77E/nI9xI8fmdF1CgVYCKLgVjMi5PX0="
|
||||
},
|
||||
"kwidgetsaddons": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kwidgetsaddons-6.16.0.tar.xz",
|
||||
"hash": "sha256-dmP4gFL9jKlHuf4Lvq0E/yKOiE8SRJijKMww6fFykVw="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kwidgetsaddons-6.17.0.tar.xz",
|
||||
"hash": "sha256-3LMzh5U80EKdQpfWKLSHLno6lwzOXqhLRGZ32LdIfqE="
|
||||
},
|
||||
"kwindowsystem": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kwindowsystem-6.16.0.tar.xz",
|
||||
"hash": "sha256-3DtaxeXq6lt2r46F8GXdvOkf9+P8wTxtYArVO7U7GzE="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kwindowsystem-6.17.0.tar.xz",
|
||||
"hash": "sha256-JZq+9YsJrRqAIrXLlIMamPPltcx8ZfegtAvmQ2F1b2M="
|
||||
},
|
||||
"kxmlgui": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/kxmlgui-6.16.0.tar.xz",
|
||||
"hash": "sha256-Jv5TddlQKcWoKNW0f8SyDoaEvDvojfG8lAgoIc4yp04="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/kxmlgui-6.17.0.tar.xz",
|
||||
"hash": "sha256-oYBxacosOGqNPiXLKwZlVOSWY6bj9jLxoZaO9UdkMOM="
|
||||
},
|
||||
"modemmanager-qt": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/modemmanager-qt-6.16.0.tar.xz",
|
||||
"hash": "sha256-O5kp60TDNZpr6cX/D68oGKJ3E/4kfcJdSX87UfYi+J4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/modemmanager-qt-6.17.0.tar.xz",
|
||||
"hash": "sha256-tB/h3ZoOFGrbTYCY1WnWsRKR9AyQ33DfuqatFlThjXY="
|
||||
},
|
||||
"networkmanager-qt": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/networkmanager-qt-6.16.0.tar.xz",
|
||||
"hash": "sha256-ue0LqpFZzFqsdlG+SKmAzHy1g5M8QSzvg4WWEoy9ZkU="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/networkmanager-qt-6.17.0.tar.xz",
|
||||
"hash": "sha256-2Dvq6Gf7fWaYhvUTiT+O7Fi116JLQp2J3FxsCLej9OA="
|
||||
},
|
||||
"prison": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/prison-6.16.0.tar.xz",
|
||||
"hash": "sha256-OCsrnjoAVcNLYCkDUrhWaov/dcqHNblTSgdjg9bk5RA="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/prison-6.17.0.tar.xz",
|
||||
"hash": "sha256-VULdBzPga+rm+M+L8n/5gfNCBf6YEl2RC+LFP/9HAHw="
|
||||
},
|
||||
"purpose": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/purpose-6.16.0.tar.xz",
|
||||
"hash": "sha256-qg/yyY4M1RfE2BkUuij0phAbJe6ayxd0gJZ/RbA5iL8="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/purpose-6.17.0.tar.xz",
|
||||
"hash": "sha256-aJVl1esJmeHM2S6PhB/IJBqwJInKbDOfSNVBtbqTdko="
|
||||
},
|
||||
"qqc2-desktop-style": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/qqc2-desktop-style-6.16.0.tar.xz",
|
||||
"hash": "sha256-OrEsPiMsbFvco5c4rG8aUXvv9tpY3jbhAUuDVf9jw+c="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/qqc2-desktop-style-6.17.0.tar.xz",
|
||||
"hash": "sha256-YxvYnVyCp/k+omvCB50d+Bwy518XfTNGqcsQqc10d5c="
|
||||
},
|
||||
"solid": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/solid-6.16.0.tar.xz",
|
||||
"hash": "sha256-AOxgnXmTNbr7l7an1KXAYatKDrEOQIno4QSUIyG+uKA="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/solid-6.17.0.tar.xz",
|
||||
"hash": "sha256-F/BRDvE0tm5kfuIXtkhwUy11fHIcgV8gxJVnuXnJxyU="
|
||||
},
|
||||
"sonnet": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/sonnet-6.16.0.tar.xz",
|
||||
"hash": "sha256-F0LNOh3Es7ejhx79lxXv0nEL/7eimg6rFdTBeqzKwrg="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/sonnet-6.17.0.tar.xz",
|
||||
"hash": "sha256-Sv726cpy7bbCKAC0rPtFDfcSHlB3yFITrKX1arn0Fgs="
|
||||
},
|
||||
"syndication": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/syndication-6.16.0.tar.xz",
|
||||
"hash": "sha256-kB9ScHIJEYGBdAJObNL+RMlMdS822wzhjTp9zZpstt4="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/syndication-6.17.0.tar.xz",
|
||||
"hash": "sha256-1acUsJ72pQtn9V1Y+Mbu+hu6VSUn3tEUWEi1RmMw6pM="
|
||||
},
|
||||
"syntax-highlighting": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/syntax-highlighting-6.16.0.tar.xz",
|
||||
"hash": "sha256-dKE3GbTz+l26cjUrVnPLbnu2EhveHiiG8dr/J+LyT1o="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/syntax-highlighting-6.17.0.tar.xz",
|
||||
"hash": "sha256-PRa+wPvrhTvmhMNfR1UNWYFNsfS3B+x3uGLzZQ81P8w="
|
||||
},
|
||||
"threadweaver": {
|
||||
"version": "6.16.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.16/threadweaver-6.16.0.tar.xz",
|
||||
"hash": "sha256-6J0fJ2rvd0MN1X9/LlwZW3IBM06e0RTcJMe6WUMOFLY="
|
||||
"version": "6.17.0",
|
||||
"url": "mirror://kde/stable/frameworks/6.17/threadweaver-6.17.0.tar.xz",
|
||||
"hash": "sha256-dx/4nBwBKj6iuu1YyAPs1+iwuJKOOuvBHAffXM8FT0Q="
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "klipper";
|
||||
version = "0.13.0-unstable-2025-07-12";
|
||||
version = "0.13.0-unstable-2025-08-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KevinOConnor";
|
||||
repo = "klipper";
|
||||
rev = "9323a5dfe28619a53c7f350c2e894d299c342bca";
|
||||
sha256 = "sha256-m6A8a3lR8aeMudA/kz1wCynm+6jZY3w6v2Pag54lQd8=";
|
||||
rev = "5eb07966b5d7e1534aa40df3b0ea305f5c6d9ae2";
|
||||
sha256 = "sha256-AUK0vGhz1ZvVtEpVto/Qlp4+3PGsjOTBzj8Ik8sfmRQ=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/klippy";
|
||||
|
||||
@@ -57,7 +57,7 @@ assert lib.assertMsg (
|
||||
rustc,
|
||||
toml11,
|
||||
pegtl,
|
||||
python3,
|
||||
buildPackages,
|
||||
pkg-config,
|
||||
rapidcheck,
|
||||
sqlite,
|
||||
@@ -100,6 +100,7 @@ let
|
||||
isLegacyParser = lib.versionOlder version "2.91";
|
||||
hasDtraceSupport = lib.versionAtLeast version "2.93";
|
||||
parseToYAML = lib.versionAtLeast version "2.93";
|
||||
usesCapnp = lib.versionAtLeast version "2.94";
|
||||
in
|
||||
# gcc miscompiles coroutines at least until 13.2, possibly longer
|
||||
# do not remove this check unless you are sure you (or your users) will not report bugs to Lix upstream about GCC miscompilations.
|
||||
@@ -137,19 +138,25 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
# python3.withPackages does not splice properly, see https://github.com/NixOS/nixpkgs/issues/305858
|
||||
(python3.pythonOnBuildForHost.withPackages (p: [
|
||||
p.pytest
|
||||
p.pytest-xdist
|
||||
p.python-frontmatter
|
||||
p.toml
|
||||
]))
|
||||
(buildPackages.python3.withPackages (
|
||||
p:
|
||||
[
|
||||
p.python-frontmatter
|
||||
p.toml
|
||||
]
|
||||
++ lib.optionals finalAttrs.doInstallCheck [
|
||||
p.aiohttp
|
||||
p.pytest
|
||||
p.pytest-xdist
|
||||
]
|
||||
++ lib.optionals usesCapnp [ p.pycapnp ]
|
||||
))
|
||||
pkg-config
|
||||
flex
|
||||
jq
|
||||
meson
|
||||
ninja
|
||||
cmake
|
||||
python3
|
||||
# Required for libstd++ assertions that leaks inside of the final binary.
|
||||
removeReferencesTo
|
||||
|
||||
@@ -174,6 +181,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals (hasDtraceSupport && withDtrace) [ systemtap-sdt ]
|
||||
++ lib.optionals pastaFod [ passt ]
|
||||
++ lib.optionals parseToYAML [ yq ]
|
||||
++ lib.optionals usesCapnp [ capnproto ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ util-linuxMinimal ];
|
||||
|
||||
buildInputs = [
|
||||
@@ -229,7 +237,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preConfigure =
|
||||
# Copy libboost_context so we don't get all of Boost in our closure.
|
||||
# https://github.com/NixOS/nixpkgs/issues/45462
|
||||
lib.optionalString (!enableStatic) ''
|
||||
lib.optionalString (lib.versionOlder version "2.91" && !enableStatic) ''
|
||||
mkdir -p $out/lib
|
||||
cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib
|
||||
rm -f $out/lib/*.a
|
||||
@@ -290,16 +298,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mkdir -p $devdoc/nix-support
|
||||
echo "devdoc internal-api $devdoc/share/doc/nix/internal-api" >> $devdoc/nix-support/hydra-build-products
|
||||
''
|
||||
+ lib.optionalString (!hasExternalLixDoc) ''
|
||||
+ lib.optionalString (lib.versionOlder version "2.94" && !hasExternalLixDoc) ''
|
||||
# We do not need static archives.
|
||||
# FIXME(Raito): why are they getting installed _at all_ ?
|
||||
rm $out/lib/liblix_doc.a
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isStatic ''
|
||||
mkdir -p $out/nix-support
|
||||
echo "file binary-dist $out/bin/nix" >> $out/nix-support/hydra-build-products
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
+ lib.optionalString (lib.versionOlder version "2.91" && stdenv.hostPlatform.isDarwin) ''
|
||||
for lib in liblixutil.dylib liblixexpr.dylib; do
|
||||
install_name_tool \
|
||||
-change "${lib.getLib boost}/lib/libboost_context.dylib" \
|
||||
|
||||
@@ -65,6 +65,6 @@ stdenv.mkDerivation {
|
||||
license = lib.licenses.gpl3;
|
||||
teams = [ lib.teams.lix ];
|
||||
platforms = lib.platforms.unix;
|
||||
broken = stdenv.hostPlatform.isStatic;
|
||||
broken = lib.versionOlder version "2.94" && stdenv.hostPlatform.isStatic;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -271,20 +271,20 @@ lib.makeExtensible (self: {
|
||||
attrName = "git";
|
||||
|
||||
lix-args = rec {
|
||||
version = "2.94.0-pre-20250704_${builtins.substring 0 12 src.rev}";
|
||||
version = "2.94.0-pre-20250807_${builtins.substring 0 12 src.rev}";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.lix.systems";
|
||||
owner = "lix-project";
|
||||
repo = "lix";
|
||||
rev = "362bfd827f522b57062e4ebcb465bb51941632a4";
|
||||
hash = "sha256-4CVRbeYExqIDpFH+QMZb5IeUGkP6kA/zHSuExYoZygk=";
|
||||
rev = "8bbd5e1d0df9c31b4d86ba07bc85beb952e42ccb";
|
||||
hash = "sha256-P+WiN95OjCqHhfygglS/VOFTSj7qNdL5XQDo2wxhQqg=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
name = "lix-${version}";
|
||||
inherit src;
|
||||
hash = "sha256-YMyNOXdlx0I30SkcmdW/6DU0BYc3ZOa2FMJSKMkr7I8=";
|
||||
hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg=";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user