Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-08-09 18:01:11 +00:00 committed by GitHub
commit 03e2e79ded
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
81 changed files with 3901 additions and 3108 deletions

View File

@ -9395,6 +9395,12 @@
githubId = 9425955;
name = "Jean-François Labonté";
};
jemand771 = {
email = "willy@jemand771.net";
github = "jemand771";
githubId = 19669567;
name = "Willy";
};
jensbin = {
email = "jensbin+git@pm.me";
github = "jensbin";

View File

@ -327,7 +327,7 @@ in
hdfs = 295;
mapred = 296;
hadoop = 297;
hydron = 298;
#hydron = 298; # removed 2024-08-03
cfssl = 299;
cassandra = 300;
qemu-libvirtd = 301;
@ -637,7 +637,7 @@ in
hdfs = 295;
mapred = 296;
hadoop = 297;
hydron = 298;
#hydron = 298; # removed 2024-08-03
cfssl = 299;
cassandra = 300;
qemu-libvirtd = 301;

View File

@ -1501,7 +1501,6 @@
./services/web-servers/fcgiwrap.nix
./services/web-servers/garage.nix
./services/web-servers/hitch/default.nix
./services/web-servers/hydron.nix
./services/web-servers/jboss/default.nix
./services/web-servers/keter
./services/web-servers/lighttpd/cgit.nix

View File

@ -67,6 +67,7 @@ in
(mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
(mkRemovedOptionModule [ "services" "homeassistant-satellite"] "The `services.homeassistant-satellite` module has been replaced by `services.wyoming-satellite`.")
(mkRemovedOptionModule [ "services" "hydron" ] "The `services.hydron` module has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability.")
(mkRemovedOptionModule [ "services" "ihatemoney" ] "The ihatemoney module has been removed for lack of downstream maintainer")
(mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")

View File

@ -28,19 +28,30 @@ with lib;
};
};
config = mkIf config.services.goxlr-utility.enable
{
config =
let
goxlr-autostart = pkgs.stdenv.mkDerivation {
name = "autostart-goxlr-daemon";
priority = 5;
buildCommand = ''
mkdir -p $out/etc/xdg/autostart
cp ${cfg.package}/share/applications/goxlr-utility.desktop $out/etc/xdg/autostart/goxlr-daemon.desktop
chmod +w $out/etc/xdg/autostart/goxlr-daemon.desktop
echo "X-KDE-autostart-phase=2" >> $out/etc/xdg/autostart/goxlr-daemon.desktop
substituteInPlace $out/etc/xdg/autostart/goxlr-daemon.desktop \
--replace-fail goxlr-launcher goxlr-daemon
'';
};
in
mkIf config.services.goxlr-utility.enable {
services.udev.packages = [ cfg.package ];
xdg.autostart.enable = mkIf cfg.autoStart.xdg true;
environment.systemPackages = mkIf cfg.autoStart.xdg
[
cfg.package
(pkgs.makeAutostartItem
{
name = "goxlr-utility";
package = cfg.package;
})
goxlr-autostart
];
};

View File

@ -1,7 +1,8 @@
{ config
, pkgs
, lib
, ...
{
config,
pkgs,
lib,
...
}:
let
@ -32,26 +33,27 @@ in
environment = {
systemPackages = cfg.packages;
pathsToLink = [
"/share/ayatana"
];
pathsToLink = [ "/share/ayatana" ];
};
# libayatana-common's ayatana-indicators.target with explicit Wants & Before to bring up requested indicator services
systemd.user.targets."ayatana-indicators" =
systemd.user.targets =
let
indicatorServices = lib.lists.flatten
(map
(pkg:
(map (ind: "${ind}.service") pkg.passthru.ayatana-indicators))
cfg.packages);
indicatorServices = lib.lists.flatten (
map (pkg: (map (ind: "${ind}.service") pkg.passthru.ayatana-indicators)) cfg.packages
);
in
{
description = "Target representing the lifecycle of the Ayatana Indicators. Each indicator should be bound to it in its individual service file";
partOf = [ "graphical-session.target" ];
wants = indicatorServices;
before = indicatorServices;
};
lib.attrsets.mapAttrs
(_: desc: {
description = "Target representing the lifecycle of the ${desc}. Each indicator should be bound to it in its individual service file";
partOf = [ "graphical-session.target" ];
wants = indicatorServices;
before = indicatorServices;
})
{
ayatana-indicators = "Ayatana Indicators";
lomiri-indicators = "Ayatana/Lomiri Indicators that shall be run in Lomiri";
};
};
meta.maintainers = with lib.maintainers; [ OPNA2608 ];

View File

@ -3,10 +3,6 @@
with lib;
let
package = if cfg.allowAuxiliaryImperativeNetworks
then pkgs.wpa_supplicant_ro_ssids
else pkgs.wpa_supplicant;
cfg = config.networking.wireless;
opt = options.networking.wireless;
@ -106,7 +102,7 @@ let
wantedBy = [ "multi-user.target" ];
stopIfChanged = false;
path = [ package ];
path = [ pkgs.wpa_supplicant ];
# if `userControl.enable`, the supplicant automatically changes the permissions
# and owning group of the runtime dir; setting `umask` ensures the generated
# config file isn't readable (except to root); see nixpkgs#267693

View File

@ -1,164 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.hydron;
in with lib; {
options.services.hydron = {
enable = mkEnableOption "hydron";
dataDir = mkOption {
type = types.path;
default = "/var/lib/hydron";
example = "/home/okina/hydron";
description = "Location where hydron runs and stores data.";
};
interval = mkOption {
type = types.str;
default = "weekly";
example = "06:00";
description = ''
How often we run hydron import and possibly fetch tags. Runs by default every week.
The format is described in
{manpage}`systemd.time(7)`.
'';
};
password = mkOption {
type = types.str;
default = "hydron";
example = "dumbpass";
description = "Password for the hydron database.";
};
passwordFile = mkOption {
type = types.path;
default = "/run/keys/hydron-password-file";
example = "/home/okina/hydron/keys/pass";
description = "Password file for the hydron database.";
};
postgresArgs = mkOption {
type = types.str;
description = "Postgresql connection arguments.";
example = ''
{
"driver": "postgres",
"connection": "user=hydron password=dumbpass dbname=hydron sslmode=disable"
}
'';
};
postgresArgsFile = mkOption {
type = types.path;
default = "/run/keys/hydron-postgres-args";
example = "/home/okina/hydron/keys/postgres";
description = "Postgresql connection arguments file.";
};
listenAddress = mkOption {
type = types.nullOr types.str;
default = null;
example = "127.0.0.1:8010";
description = "Listen on a specific IP address and port.";
};
importPaths = mkOption {
type = types.listOf types.path;
default = [];
example = [ "/home/okina/Pictures" ];
description = "Paths that hydron will recursively import.";
};
fetchTags = mkOption {
type = types.bool;
default = true;
description = "Fetch tags for imported images and webm from gelbooru.";
};
};
config = mkIf cfg.enable {
services.hydron.passwordFile = mkDefault (pkgs.writeText "hydron-password-file" cfg.password);
services.hydron.postgresArgsFile = mkDefault (pkgs.writeText "hydron-postgres-args" cfg.postgresArgs);
services.hydron.postgresArgs = mkDefault ''
{
"driver": "postgres",
"connection": "user=hydron password=${cfg.password} host=/run/postgresql dbname=hydron sslmode=disable"
}
'';
services.postgresql = {
enable = true;
ensureDatabases = [ "hydron" ];
ensureUsers = [
{ name = "hydron";
ensureDBOwnership = true;
}
];
};
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0750 hydron hydron - -"
"d '${cfg.dataDir}/.hydron' - hydron hydron - -"
"d '${cfg.dataDir}/images' - hydron hydron - -"
"Z '${cfg.dataDir}' - hydron hydron - -"
"L+ '${cfg.dataDir}/.hydron/db_conf.json' - - - - ${cfg.postgresArgsFile}"
];
systemd.services.hydron = {
description = "hydron";
after = [ "network.target" "postgresql.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "hydron";
Group = "hydron";
ExecStart = "${pkgs.hydron}/bin/hydron serve"
+ optionalString (cfg.listenAddress != null) " -a ${cfg.listenAddress}";
};
};
systemd.services.hydron-fetch = {
description = "Import paths into hydron and possibly fetch tags";
serviceConfig = {
Type = "oneshot";
User = "hydron";
Group = "hydron";
ExecStart = "${pkgs.hydron}/bin/hydron import "
+ optionalString cfg.fetchTags "-f "
+ (escapeShellArg cfg.dataDir) + "/images " + (escapeShellArgs cfg.importPaths);
};
};
systemd.timers.hydron-fetch = {
description = "Automatically import paths into hydron and possibly fetch tags";
after = [ "network.target" "hydron.service" ];
wantedBy = [ "timers.target" ];
timerConfig = {
Persistent = true;
OnCalendar = cfg.interval;
};
};
users = {
groups.hydron.gid = config.ids.gids.hydron;
users.hydron = {
description = "hydron server service user";
home = cfg.dataDir;
group = "hydron";
uid = config.ids.uids.hydron;
};
};
};
imports = [
(mkRenamedOptionModule [ "services" "hydron" "baseDir" ] [ "services" "hydron" "dataDir" ])
];
meta.maintainers = with maintainers; [ Madouura ];
}

View File

@ -537,7 +537,7 @@ in {
lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; });
lxd-image-server = handleTest ./lxd-image-server.nix {};
#logstash = handleTest ./logstash.nix {};
lomiri = handleTest ./lomiri.nix {};
lomiri = discoverTests (import ./lomiri.nix);
lomiri-calculator-app = runTest ./lomiri-calculator-app.nix;
lomiri-camera-app = runTest ./lomiri-camera-app.nix;
lomiri-clock-app = runTest ./lomiri-clock-app.nix;

View File

@ -1,363 +1,496 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: let
let
makeTest = import ./make-test-python.nix;
# Just to make sure everything is the same, need it for OCR & navigating greeter
user = "alice";
description = "Alice Foobar";
password = "foobar";
in {
name = "lomiri";
in
{
greeter = makeTest (
{ pkgs, lib, ... }:
{
name = "lomiri-greeter";
meta = {
maintainers = lib.teams.lomiri.members;
};
meta = {
maintainers = lib.teams.lomiri.members;
};
nodes.machine = { config, ... }: {
imports = [
./common/user-account.nix
];
nodes.machine =
{ config, ... }:
{
imports = [ ./common/user-account.nix ];
users.users.${user} = {
inherit description password;
};
virtualisation.memorySize = 2047;
# To control mouse via scripting
programs.ydotool.enable = true;
services.desktopManager.lomiri.enable = lib.mkForce true;
services.displayManager.defaultSession = lib.mkForce "lomiri";
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
environment = {
# Help with OCR
etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } {
font = rec {
normal.family = "Inconsolata";
bold.family = normal.family;
italic.family = normal.family;
bold_italic.family = normal.family;
size = 16;
};
colors = rec {
primary = {
foreground = "0x000000";
background = "0xffffff";
users.users.${user} = {
inherit description password;
};
normal = {
green = primary.foreground;
services.desktopManager.lomiri.enable = lib.mkForce true;
services.displayManager.defaultSession = lib.mkForce "lomiri";
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
};
enableOCR = true;
testScript =
{ nodes, ... }:
''
start_all()
machine.wait_for_unit("multi-user.target")
# Lomiri in greeter mode should work & be able to start a session
with subtest("lomiri greeter works"):
machine.wait_for_unit("display-manager.service")
machine.wait_until_succeeds("pgrep -u lightdm -f 'lomiri --mode=greeter'")
# Start page shows current time
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_greeter_launched")
# Advance to login part
machine.send_key("ret")
machine.wait_for_text("${description}")
machine.screenshot("lomiri_greeter_login")
# Login
machine.send_chars("${password}\n")
machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
# Output rendering from Lomiri has started when it starts printing performance diagnostics
machine.wait_for_console_text("Last frame took")
# Look for datetime's clock, one of the last elements to load
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
'';
}
);
desktop = makeTest (
{ pkgs, lib, ... }:
{
name = "lomiri-desktop";
meta = {
maintainers = lib.teams.lomiri.members;
};
nodes.machine =
{ config, ... }:
{
imports = [
./common/auto.nix
./common/user-account.nix
];
virtualisation.memorySize = 2047;
users.users.${user} = {
inherit description password;
# polkit agent test
extraGroups = [ "wheel" ];
};
test-support.displayManager.auto = {
enable = true;
inherit user;
};
# To control mouse via scripting
programs.ydotool.enable = true;
services.desktopManager.lomiri.enable = lib.mkForce true;
services.displayManager.defaultSession = lib.mkForce "lomiri";
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
environment = {
# Help with OCR
etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } {
font = rec {
normal.family = "Inconsolata";
bold.family = normal.family;
italic.family = normal.family;
bold_italic.family = normal.family;
size = 16;
};
colors = rec {
primary = {
foreground = "0x000000";
background = "0xffffff";
};
normal = {
green = primary.foreground;
};
};
};
variables = {
# So we can test what content-hub is working behind the scenes
CONTENT_HUB_LOGGING_LEVEL = "2";
};
systemPackages = with pkgs; [
# For a convenient way of kicking off content-hub peer collection
lomiri.content-hub.examples
# Forcing alacritty to run as an X11 app when opened from the starter menu
(symlinkJoin {
name = "x11-${alacritty.name}";
paths = [ alacritty ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/alacritty \
--set WINIT_UNIX_BACKEND x11 \
--set WAYLAND_DISPLAY ""
'';
inherit (alacritty) meta;
})
];
};
# Help with OCR
systemd.tmpfiles.settings =
let
white = "255, 255, 255";
black = "0, 0, 0";
colorSection = color: {
Color = color;
Bold = true;
Transparency = false;
};
terminalColors = pkgs.writeText "customized.colorscheme" (
lib.generators.toINI { } {
Background = colorSection white;
Foreground = colorSection black;
Color2 = colorSection black;
Color2Intense = colorSection black;
}
);
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
lib.generators.toINI { } {
General = {
colorScheme = "customized";
fontSize = "16";
fontStyle = "Inconsolata";
};
}
);
confBase = "${config.users.users.${user}.home}/.config";
userDirArgs = {
mode = "0700";
user = user;
group = "users";
};
in
{
"10-lomiri-test-setup" = {
"${confBase}".d = userDirArgs;
"${confBase}/terminal.ubports".d = userDirArgs;
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
};
};
};
enableOCR = true;
testScript =
{ nodes, ... }:
''
def toggle_maximise():
"""
Maximise the current window.
"""
machine.send_key("ctrl-meta_l-up")
# For some reason, Lomiri in these VM tests very frequently opens the starter menu a few seconds after sending the above.
# Because this isn't 100% reproducible all the time, and there is no command to await when OCR doesn't pick up some text,
# the best we can do is send some Escape input after waiting some arbitrary time and hope that it works out fine.
machine.sleep(5)
machine.send_key("esc")
machine.sleep(5)
def mouse_click(xpos, ypos):
"""
Move the mouse to a screen location and hit left-click.
"""
# Need to reset to top-left, --absolute doesn't work?
machine.execute("ydotool mousemove -- -10000 -10000")
machine.sleep(2)
# Move
machine.execute(f"ydotool mousemove -- {xpos} {ypos}")
machine.sleep(2)
# Click (C0 - left button: down & up)
machine.execute("ydotool click 0xC0")
machine.sleep(2)
def open_starter():
"""
Open the starter, and ensure it's opened.
"""
# Using the keybind has a chance of instantly closing the menu again? Just click the button
mouse_click(20, 30)
start_all()
machine.wait_for_unit("multi-user.target")
# The session should start, and not be stuck in i.e. a crash loop
with subtest("lomiri starts"):
machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
# Output rendering from Lomiri has started when it starts printing performance diagnostics
machine.wait_for_console_text("Last frame took")
# Look for datetime's clock, one of the last elements to load
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
# Working terminal keybind is good
with subtest("terminal keybind works"):
machine.send_key("ctrl-alt-t")
machine.wait_for_text(r"(${user}|machine)")
machine.screenshot("terminal_opens")
# lomiri-terminal-app has a separate VM test to test its basic functionality
# for the LSS content-hub test to work reliably, we need to kick off peer collecting
machine.send_chars("content-hub-test-importer\n")
machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
machine.send_key("ctrl-c")
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
with subtest("polkit agent works"):
machine.send_chars("pkexec touch /tmp/polkit-test\n")
# There's an authentication notification here that gains focus, but we struggle with OCRing it
# Just hope that it's up after a short wait
machine.sleep(10)
machine.screenshot("polkit_agent")
machine.send_chars("${password}")
machine.sleep(2) # Hopefully enough delay to make sure all the password characters have been registered? Maybe just placebo
machine.send_chars("\n")
machine.wait_for_file("/tmp/polkit-test", 10)
machine.send_key("alt-f4")
# We want the ability to launch applications
with subtest("starter menu works"):
open_starter()
machine.screenshot("starter_opens")
# Just try the terminal again, we know that it should work
machine.send_chars("Terminal\n")
machine.wait_for_text(r"(${user}|machine)")
machine.send_key("alt-f4")
# We want support for X11 apps
with subtest("xwayland support works"):
open_starter()
machine.send_chars("Alacritty\n")
machine.wait_for_text(r"(${user}|machine)")
machine.screenshot("alacritty_opens")
machine.send_key("alt-f4")
# Morph is how we go online
with subtest("morph browser works"):
open_starter()
machine.send_chars("Morph\n")
machine.wait_for_text(r"(Bookmarks|address|site|visited any)")
machine.screenshot("morph_open")
# morph-browser has a separate VM test, there isn't anything new we could test here
machine.send_key("alt-f4")
# LSS provides DE settings
with subtest("system settings open"):
open_starter()
machine.send_chars("System Settings\n")
machine.wait_for_text("Rotation Lock")
machine.screenshot("settings_open")
# lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here
# Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
toggle_maximise()
# Load Background plugin
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("ret")
machine.wait_for_text("Background image")
# Try to load custom background
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("ret")
# Peers should be loaded
machine.wait_for_text("Morph") # or Gallery, but Morph is already packaged
machine.screenshot("settings_content-hub_peers")
# Select Morph as content source
mouse_click(370, 100)
# Expect Morph to be brought into the foreground, with its Downloads page open
machine.wait_for_text("No downloads")
# If content-hub encounters a problem, it may have crashed the original application issuing the request.
# Check that it's still alive
machine.succeed("pgrep -u ${user} -f lomiri-system-settings")
machine.screenshot("content-hub_exchange")
# Testing any more would require more applications & setup, the fact that it's already being attempted is a good sign
machine.send_key("esc")
machine.sleep(2) # sleep a tiny bit so morph can close & the focus can return to LSS
machine.send_key("alt-f4")
'';
}
);
desktop-ayatana-indicators = makeTest (
{ pkgs, lib, ... }:
{
name = "lomiri-desktop-ayatana-indicators";
meta = {
maintainers = lib.teams.lomiri.members;
};
variables = {
# So we can test what content-hub is working behind the scenes
CONTENT_HUB_LOGGING_LEVEL = "2";
};
nodes.machine =
{ config, ... }:
{
imports = [
./common/auto.nix
./common/user-account.nix
];
systemPackages = with pkgs; [
# For a convenient way of kicking off content-hub peer collection
lomiri.content-hub.examples
virtualisation.memorySize = 2047;
# Forcing alacritty to run as an X11 app when opened from the starter menu
(symlinkJoin {
name = "x11-${alacritty.name}";
users.users.${user} = {
inherit description password;
};
paths = [ alacritty ];
test-support.displayManager.auto = {
enable = true;
inherit user;
};
nativeBuildInputs = [ makeWrapper ];
# To control mouse via scripting
programs.ydotool.enable = true;
postBuild = ''
wrapProgram $out/bin/alacritty \
--set WINIT_UNIX_BACKEND x11 \
--set WAYLAND_DISPLAY ""
'';
services.desktopManager.lomiri.enable = lib.mkForce true;
services.displayManager.defaultSession = lib.mkForce "lomiri";
inherit (alacritty) meta;
})
# Polkit requests eventually time out.
# Keep triggering them until we signal detection success
(writeShellApplication {
name = "lpa-check";
text = ''
while [ ! -f /tmp/lpa-checked ]; do
pkexec echo a
done
'';
})
# Signal detection success
(writeShellApplication {
name = "lpa-signal";
text = ''
touch /tmp/lpa-checked
'';
})
];
};
# Help with OCR
systemd.tmpfiles.settings = let
white = "255, 255, 255";
black = "0, 0, 0";
colorSection = color: {
Color = color;
Bold = true;
Transparency = false;
};
terminalColors = pkgs.writeText "customized.colorscheme" (lib.generators.toINI {} {
Background = colorSection white;
Foreground = colorSection black;
Color2 = colorSection black;
Color2Intense = colorSection black;
});
terminalConfig = pkgs.writeText "terminal.ubports.conf" (lib.generators.toINI {} {
General = {
colorScheme = "customized";
fontSize = "16";
fontStyle = "Inconsolata";
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
};
});
confBase = "${config.users.users.${user}.home}/.config";
userDirArgs = {
mode = "0700";
user = user;
group = "users";
};
in {
"10-lomiri-test-setup" = {
"${confBase}".d = userDirArgs;
"${confBase}/terminal.ubports".d = userDirArgs;
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
};
};
};
enableOCR = true;
enableOCR = true;
testScript = { nodes, ... }: ''
def toggle_maximise():
"""
Maximise the current window.
"""
machine.send_key("ctrl-meta_l-up")
testScript =
{ nodes, ... }:
''
def mouse_click(xpos, ypos):
"""
Move the mouse to a screen location and hit left-click.
"""
# For some reason, Lomiri in these VM tests very frequently opens the starter menu a few seconds after sending the above.
# Because this isn't 100% reproducible all the time, and there is no command to await when OCR doesn't pick up some text,
# the best we can do is send some Escape input after waiting some arbitrary time and hope that it works out fine.
machine.sleep(5)
machine.send_key("esc")
machine.sleep(5)
# Need to reset to top-left, --absolute doesn't work?
machine.execute("ydotool mousemove -- -10000 -10000")
machine.sleep(2)
def mouse_click(xpos, ypos):
"""
Move the mouse to a screen location and hit left-click.
"""
# Move
machine.execute(f"ydotool mousemove -- {xpos} {ypos}")
machine.sleep(2)
# Need to reset to top-left, --absolute doesn't work?
machine.execute("ydotool mousemove -- -10000 -10000")
machine.sleep(2)
# Click (C0 - left button: down & up)
machine.execute("ydotool click 0xC0")
machine.sleep(2)
# Move
machine.execute(f"ydotool mousemove -- {xpos} {ypos}")
machine.sleep(2)
start_all()
machine.wait_for_unit("multi-user.target")
# Click (C0 - left button: down & up)
machine.execute("ydotool click 0xC0")
machine.sleep(2)
# The session should start, and not be stuck in i.e. a crash loop
with subtest("lomiri starts"):
machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
# Output rendering from Lomiri has started when it starts printing performance diagnostics
machine.wait_for_console_text("Last frame took")
# Look for datetime's clock, one of the last elements to load
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
def open_starter():
"""
Open the starter, and ensure it's opened.
"""
# The ayatana indicators are an important part of the experience, and they hold the only graphical way of exiting the session.
# There's a test app we could use that also displays their contents, but it's abit inconsistent.
with subtest("ayatana indicators work"):
mouse_click(735, 0) # the cog in the top-right, for the session indicator
machine.wait_for_text(r"(Notifications|Rotation|Battery|Sound|Time|Date|System)")
machine.screenshot("indicators_open")
# Using the keybind has a chance of instantly closing the menu again? Just click the button
mouse_click(20, 30)
# Indicator order within the menus *should* be fixed based on per-indicator order setting
# Session is the one we clicked, but the last we should test (logout). Go as far left as we can test.
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
# Notifications are usually empty, nothing to check there
start_all()
machine.wait_for_unit("multi-user.target")
with subtest("ayatana indicator display works"):
# We start on this, don't go right
machine.wait_for_text("Lock")
machine.screenshot("indicators_display")
# Lomiri in greeter mode should work & be able to start a session
with subtest("lomiri greeter works"):
machine.wait_for_unit("display-manager.service")
machine.wait_until_succeeds("pgrep -u lightdm -f 'lomiri --mode=greeter'")
with subtest("lomiri indicator network works"):
machine.send_key("right")
machine.wait_for_text(r"(Flight|Wi-Fi)")
machine.screenshot("indicators_network")
# Start page shows current time
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_greeter_launched")
with subtest("ayatana indicator sound works"):
machine.send_key("right")
machine.wait_for_text(r"(Silent|Volume)")
machine.screenshot("indicators_sound")
# Advance to login part
machine.send_key("ret")
machine.wait_for_text("${description}")
machine.screenshot("lomiri_greeter_login")
with subtest("ayatana indicator power works"):
machine.send_key("right")
machine.wait_for_text(r"(Charge|Battery settings)")
machine.screenshot("indicators_power")
# Login
machine.send_chars("${password}\n")
machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
with subtest("ayatana indicator datetime works"):
machine.send_key("right")
machine.wait_for_text("Time and Date Settings")
machine.screenshot("indicators_timedate")
# The session should start, and not be stuck in i.e. a crash loop
with subtest("lomiri starts"):
# Output rendering from Lomiri has started when it starts printing performance diagnostics
machine.wait_for_console_text("Last frame took")
# Look for datetime's clock, one of the last elements to load
machine.wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
with subtest("ayatana indicator session works"):
machine.send_key("right")
machine.wait_for_text("Log Out")
machine.screenshot("indicators_session")
# Working terminal keybind is good
with subtest("terminal keybind works"):
machine.send_key("ctrl-alt-t")
machine.wait_for_text(r"(${user}|machine)")
machine.screenshot("terminal_opens")
# We should be able to log out and return to the greeter
mouse_click(720, 280) # "Log Out"
mouse_click(400, 240) # confirm logout
machine.wait_until_fails("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
'';
}
);
# lomiri-terminal-app has a separate VM test to test its basic functionality
# for the LSS content-hub test to work reliably, we need to kick off peer collecting
machine.send_chars("content-hub-test-importer\n")
machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
machine.send_key("ctrl-c")
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
with subtest("polkit agent works"):
machine.send_chars("exec lpa-check\n")
machine.wait_for_text(r"(Elevated permissions|Login)")
machine.screenshot("polkit_agent")
machine.execute("lpa-signal")
# polkit test will quit terminal when agent request times out after OCR success
machine.wait_until_fails("pgrep -u ${user} -f lomiri-terminal-app")
# We want the ability to launch applications
with subtest("starter menu works"):
open_starter()
machine.screenshot("starter_opens")
# Just try the terminal again, we know that it should work
machine.send_chars("Terminal\n")
machine.wait_for_text(r"(${user}|machine)")
machine.send_key("alt-f4")
# We want support for X11 apps
with subtest("xwayland support works"):
open_starter()
machine.send_chars("Alacritty\n")
machine.wait_for_text(r"(${user}|machine)")
machine.screenshot("alacritty_opens")
machine.send_key("alt-f4")
# Morph is how we go online
with subtest("morph browser works"):
open_starter()
machine.send_chars("Morph\n")
machine.wait_for_text(r"(Bookmarks|address|site|visited any)")
machine.screenshot("morph_open")
# morph-browser has a separate VM test, there isn't anything new we could test here
machine.send_key("alt-f4")
# LSS provides DE settings
with subtest("system settings open"):
open_starter()
machine.send_chars("System Settings\n")
machine.wait_for_text("Rotation Lock")
machine.screenshot("settings_open")
# lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here
# Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
toggle_maximise()
# Load Background plugin
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("ret")
machine.wait_for_text("Background image")
# Try to load custom background
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("shift-tab")
machine.send_key("ret")
# Peers should be loaded
machine.wait_for_text("Morph") # or Gallery, but Morph is already packaged
machine.screenshot("settings_content-hub_peers")
# Select Morph as content source
mouse_click(370, 100)
# Expect Morph to be brought into the foreground, with its Downloads page open
machine.wait_for_text("No downloads")
# If content-hub encounters a problem, it may have crashed the original application issuing the request.
# Check that it's still alive
machine.succeed("pgrep -u ${user} -f lomiri-system-settings")
machine.screenshot("content-hub_exchange")
# Testing any more would require more applications & setup, the fact that it's already being attempted is a good sign
machine.send_key("esc")
machine.sleep(2) # sleep a tiny bit so morph can close & the focus can return to LSS
machine.send_key("alt-f4")
# The ayatana indicators are an important part of the experience, and they hold the only graphical way of exiting the session.
# There's a test app we could use that also displays their contents, but it's abit inconsistent.
with subtest("ayatana indicators work"):
mouse_click(735, 0) # the cog in the top-right, for the session indicator
machine.wait_for_text(r"(Notifications|Rotation|Battery|Sound|Time|Date|System)")
machine.screenshot("indicators_open")
# Indicator order within the menus *should* be fixed based on per-indicator order setting
# Session is the one we clicked, but the last we should test (logout). Go as far left as we can test.
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
machine.send_key("left")
# Notifications are usually empty, nothing to check there
with subtest("ayatana indicator display works"):
# We start on this, don't go right
machine.wait_for_text("Lock")
machine.screenshot("indicators_display")
with subtest("lomiri indicator network works"):
machine.send_key("right")
machine.wait_for_text(r"(Flight|Wi-Fi)")
machine.screenshot("indicators_network")
with subtest("ayatana indicator sound works"):
machine.send_key("right")
machine.wait_for_text(r"(Silent|Volume)")
machine.screenshot("indicators_sound")
with subtest("ayatana indicator power works"):
machine.send_key("right")
machine.wait_for_text(r"(Charge|Battery settings)")
machine.screenshot("indicators_power")
with subtest("ayatana indicator datetime works"):
machine.send_key("right")
machine.wait_for_text("Time and Date Settings")
machine.screenshot("indicators_timedate")
with subtest("ayatana indicator session works"):
machine.send_key("right")
machine.wait_for_text("Log Out")
machine.screenshot("indicators_session")
# We should be able to log out and return to the greeter
mouse_click(720, 280) # "Log Out"
mouse_click(400, 240) # confirm logout
machine.wait_until_fails("pgrep -u ${user} -f 'lomiri --mode=full-shell'")
machine.wait_until_succeeds("pgrep -u lightdm -f 'lomiri --mode=greeter'")
'';
})
}

View File

@ -1,9 +1,9 @@
{
"version" = "1.11.72";
"version" = "1.11.73";
"hashes" = {
"desktopSrcHash" = "sha256-eNK63Q3fWnc7+hQAKkvsjJ2DUL7AmtexvGTOox0dVVs=";
"desktopSrcHash" = "sha256-o6uXn+ArwSneDMtS4AfVmSqQfAl0Gygvoj2suKI+VqU=";
"desktopYarnHash" = "10a409klzzvm6dm27803c2cgwpx1aj035ad1mdnsqyhnd4nsigpw";
"webSrcHash" = "sha256-ZLSCbt00R3azFz2lOuj8yqaLFyobnmGmQKYOYLHCA1w=";
"webYarnHash" = "13w3j5k48540sr7rgcj0b3kma4b4bybw56k58ral0d7izs7dgmgc";
"webSrcHash" = "sha256-/PS/hEuSKXKRwS2zmH7Q8IIE20kPnOKU3PHXGSLhZZE=";
"webYarnHash" = "1j43rbn3sc6bnnf81p8y0b1jcck57d6yh07zpxlkgni1qkly809d";
};
}

View File

@ -1,9 +0,0 @@
# Generated by ./update.sh - do not update manually!
# Last updated: 2024-06-17
{
version = "3.2.10";
amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/944f8942/linuxqq_3.2.10-25234_amd64.deb";
arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/944f8942/linuxqq_3.2.10-25234_arm64.deb";
arm64_hash = "sha256-UY9UFbwQjXBd0+52iron1LZQWP/ncUZwylrtDzm5lW8=";
amd64_hash = "sha256-CHVX5tBV/w//At2wBjLqgTzayi4NI5i06IDgyW++ha4=";
}

View File

@ -9,6 +9,7 @@
, buildPackages
, c-ares
, cmake
, fixDarwinDylibNames
, flex
, gettext
, glib
@ -49,7 +50,9 @@
, withQt ? true
, qt6 ? null
}:
let
isAppBundle = withQt && stdenv.isDarwin;
in
assert withQt -> qt6 != null;
stdenv.mkDerivation rec {
@ -86,6 +89,8 @@ stdenv.mkDerivation rec {
] ++ lib.optionals withQt [
qt6.wrapQtAppsHook
wrapGAppsHook3
] ++ lib.optionals stdenv.isDarwin [
fixDarwinDylibNames
];
buildInputs = [
@ -139,7 +144,7 @@ stdenv.mkDerivation rec {
"-DBUILD_wireshark=${if withQt then "ON" else "OFF"}"
# Fix `extcap` and `plugins` paths. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16444
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DENABLE_APPLICATION_BUNDLE=${if withQt && stdenv.isDarwin then "ON" else "OFF"}"
"-DENABLE_APPLICATION_BUNDLE=${if isAppBundle then "ON" else "OFF"}"
"-DLEMON_C_COMPILER=cc"
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"-DHAVE_C99_VSNPRINTF_EXITCODE__TRYRUN_OUTPUT="
@ -163,14 +168,20 @@ stdenv.mkDerivation rec {
postInstall = ''
cmake --install . --prefix "''${!outputDev}" --component Development
'' + lib.optionalString (stdenv.isDarwin && withQt) ''
'' + lib.optionalString isAppBundle ''
mkdir -p $out/Applications
mv $out/bin/Wireshark.app $out/Applications/Wireshark.app
'' + lib.optionalString stdenv.isDarwin ''
local flags=()
for file in $out/lib/*.dylib; do
flags+=(-change @rpath/"$(basename "$file")" "$file")
done
for f in $(find $out/Applications/Wireshark.app/Contents/PlugIns -name "*.so"); do
for dylib in $(otool -L $f | awk '/^\t*lib/ {print $1}'); do
install_name_tool -change "$dylib" "$out/lib/$dylib" "$f"
done
for file in $out/lib/wireshark/extcap/*; do
if [ -L "$file" ]; then continue; fi
echo "$file: fixing dylib references"
# note that -id does nothing on binaries
install_name_tool -id "$file" "''${flags[@]}" "$file"
done
'';
@ -178,6 +189,15 @@ stdenv.mkDerivation rec {
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
# This is done to remove some binary wrappers that wrapQtApps adds in *.app directories.
# Copying because unfortunately pointing Wireshark (when built as an appbundle) at $out/lib instead is nontrivial.
postFixup = lib.optionalString isAppBundle ''
rm -rf $out/Applications/Wireshark.app/Contents/MacOS/extcap $out/Applications/Wireshark.app/Contents/PlugIns
mkdir -p $out/Applications/Wireshark.app/Contents/PlugIns/wireshark
cp -r $out/lib/wireshark/plugins/4-2 $out/Applications/Wireshark.app/Contents/PlugIns/wireshark/4-2
cp -r $out/lib/wireshark/extcap $out/Applications/Wireshark.app/Contents/MacOS/extcap
'';
meta = with lib; {
description = "Powerful network protocol analyzer";
longDescription = ''

View File

@ -129,7 +129,7 @@ let
in stdenv.mkDerivation rec {
pname = "mujoco";
version = "3.2.1";
version = "3.2.2";
# Bumping version? Make sure to look though the MuJoCo's commit
# history for bumped dependency pins!
@ -137,7 +137,7 @@ in stdenv.mkDerivation rec {
owner = "google-deepmind";
repo = "mujoco";
rev = "refs/tags/${version}";
hash = "sha256-Il1ZZdHXsBcamIILfae8n51W8wJ78a/H3gQx2/+n9kQ=";
hash = "sha256-UUPB7AY6OYWaK5uBu92kmoIE116AfFa34sYmF943AOU=";
};
patches = [ ./mujoco-system-deps-dont-fetch.patch ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "git-town";
version = "14.2.2";
version = "15.0.0";
src = fetchFromGitHub {
owner = "git-town";
repo = "git-town";
rev = "v${version}";
hash = "sha256-bYCE3Ik0UbbjlZV8EY6pVRZzrTBp2uiZLJjO4UxfGE8=";
hash = "sha256-Gp2X9DCnueSVbeqFBNxLfvlXh4PzlybVdh8xKjaFICQ=";
};
vendorHash = null;
@ -32,6 +32,9 @@ buildGoModule rec {
preCheck = ''
HOME=$(mktemp -d)
# this runs tests requiring local operations
rm main_test.go
'';
checkFlags =

View File

@ -296,8 +296,8 @@ rec {
docker_25 = callPackage dockerGen rec {
version = "25.0.6";
cliRev = "v25.0.5";
cliHash = "sha256-CACMi3bXUN6oGc2f/Z+lNQqMgQ4llRWPRKgijdpiPGg=";
cliRev = "v${version}";
cliHash = "sha256-7ZKjlONL5RXEJZrvssrL1PQMNANP0qTw4myGKdtd19U=";
mobyRev = "v${version}";
mobyHash = "sha256-+zkhUMeVD3HNq8WrWQmLskq+HykvD5kzSACmf67YbJE=";
runcRev = "v1.1.12";

View File

@ -1,23 +1,20 @@
{
lib,
pkgs,
python3Packages,
podman,
fetchPypi,
buildPythonPackage,
pythonOlder,
ansible-lint,
}:
buildPythonPackage rec {
python3Packages.buildPythonApplication rec {
pname = "ansible-navigator";
version = "24.7.0";
pyproject = true;
disabled = pythonOlder "3.10";
disabled = python3Packages.pythonOlder "3.10";
src = fetchPypi {
pname = "ansible_navigator";
inherit version;
pname = "ansible_navigator";
hash = "sha256-XMwJzDxo/VZ+0qy5MLg/Kw/7j3V594qfV+T6jeVEWzg=";
};
@ -26,15 +23,16 @@ buildPythonPackage rec {
setuptools-scm
];
propagatedBuildInputs = with python3Packages; [
dependencies = with python3Packages; [
ansible-builder
ansible-runner
podman
pkgs.ansible-lint
jinja2
jsonschema
tzdata
pyyaml
onigurumacffi
ansible-lint
podman
];
# Tests want to run in tmux
@ -42,11 +40,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "ansible_navigator" ];
meta = with lib; {
meta = {
description = "Text-based user interface (TUI) for Ansible";
homepage = "https://ansible.readthedocs.io/projects/navigator/";
changelog = "https://github.com/ansible/ansible-navigator/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ melkor333 ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ melkor333 ];
};
}

View File

@ -0,0 +1,33 @@
{
lib,
fetchFromSourcehut,
rustPlatform,
sqlite,
}:
rustPlatform.buildRustPackage rec {
pname = "cnsprcy";
version = "0.2.0";
src = fetchFromSourcehut {
owner = "~xaos";
repo = pname;
rev = "v0.2.0";
hash = "sha256-f+DauSU4bT3EljY8/ig7jLnUgyDPEo2NSBQcPN0iKx0=";
};
cargoHash = "sha256-e9+nMz/FCtd5pnHSHA1RenWzrgIHyCf5eEDO4xMxGHk=";
RUSTC_BOOTSTRAP = true;
buildInputs = [ sqlite ];
meta = {
description = "End to end encrypted connections between trusted devices";
homepage = "https://git.sr.ht/~xaos/cnsprcy";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ supinie ];
mainProgram = "cnspr";
platforms = lib.platforms.linux;
};
}

View File

@ -125,6 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
kdePackages.qtnetworkauth
kdePackages.qtscxml
kdePackages.qtsvg
kdePackages.qtwayland
kdePackages.qtwebengine
kdePackages.qt5compat
kdePackages.qtmultimedia

View File

@ -6,11 +6,11 @@
}:
appimageTools.wrapType2 rec {
pname = "dopamine";
version = "3.0.0-preview.27";
version = "3.0.0-preview.29";
src = fetchurl {
url = "https://github.com/digimezzo/dopamine/releases/download/v${version}/Dopamine-${version}.AppImage";
hash = "sha256-OTnpFtkdCVoyrDoLdKD382+ZD4FJYSDTBgRoB6YAKHE=";
hash = "sha256-VBqnqDMLDC5XJIXygENWagXllq1P090EtumADDd2I8w=";
};
extraInstallCommands =

View File

@ -20,14 +20,14 @@
python3Packages.buildPythonApplication rec {
pname = "gearlever";
version = "2.0.1";
version = "2.0.6";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "mijorus";
repo = "gearlever";
rev = version;
hash = "sha256-f4rQXenJCZiDC9MRQkjy0mOiNkWzOPSS05GXHXlhUao=";
hash = "sha256-+JuF0SL+2yVgkKPItt9Vq6SLcnxaMSWxIeVhY9XLX28=";
};
postPatch =
@ -37,14 +37,6 @@ python3Packages.buildPythonApplication rec {
substituteInPlace build-aux/meson/postinstall.py \
--replace-fail 'gtk-update-icon-cache' 'gtk4-update-icon-cache'
''
# Some attempts to overcome flatpak assumptions
+ ''
substituteInPlace src/lib/utils.py \
--replace-fail '/run/host/os-release' '/etc/os-release'
substituteInPlace src/lib/terminal.py \
--replace-fail "cmd = ['flatpak-spawn', '--host', *command]" "cmd = [*command]"
''
# Use gtk4 instead of gtk3 to get smaller closure size
+ ''
substituteInPlace src/providers/AppImageProvider.py \

View File

@ -0,0 +1,27 @@
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoModule rec {
pname = "kubectl-df-pv";
version = "0.3.0";
src = fetchFromGitHub {
owner = "yashbhutwala";
repo = "kubectl-df-pv";
rev = "v${version}";
hash = "sha256-FxKqkxLMNfCXuahKTMod6kWKZ/ucYeIEFcS8BmpbLWg=";
};
vendorHash = "sha256-YkDPgN7jBvYveiyU8N+3Ia52SEmlzC0TGBQjUuIAaw0=";
meta = {
description = "df (disk free)-like utility for persistent volumes on kubernetes";
mainProgram = "df-pv";
homepage = "https://github.com/yashbhutwala/kubectl-df-pv";
changelog = "https://github.com/yashbhutwala/kubectl-df-pv/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jemand771 ];
};
}

View File

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "md-tui";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitHub {
owner = "henriklovhaug";
repo = "md-tui";
rev = "refs/tags/v${version}";
hash = "sha256-21h1r6rhjFTOhebMS9PO3/OLKKEeFPVpWThFdgxKhh4=";
hash = "sha256-J1UtyxDT8+UmBwayUMtcPOtnVVkRZLg6ECXnqDSJ2Ew=";
};
cargoHash = "sha256-wONvublKzJnVVUjf1z9V4RwSkHg+HSoTGYvnMdslAYg=";
cargoHash = "sha256-wb5XF6KdroLbQOQg9bPrJjqLOluq/EH2dJzp2icNUIc=";
nativeBuildInputs = [ pkg-config ];

View File

@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "microfetch";
version = "0.3.3";
src = fetchFromGitHub {
owner = "NotAShelf";
repo = "microfetch";
rev = "refs/tags/v${version}";
hash = "sha256-iBfnui7xrx31euYnQxoJf1xXFYFiJnDMadLRAiRCN04=";
};
cargoHash = "sha256-J+S6XIMUcWj4jXABQinEDx6dRG5Byc2UxJoKj2y1tQU=";
meta = {
description = "Microscopic fetch script in Rust, for NixOS systems";
homepage = "https://github.com/NotAShelf/microfetch";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nydragon ];
mainProgram = "microfetch";
platforms = lib.platforms.linux;
};
}

View File

@ -1,20 +1,27 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
}:
rustPlatform.buildRustPackage rec {
pname = "openapi-tui";
version = "0.5.0";
version = "0.9.4";
src = fetchFromGitHub {
owner = "zaghaghi";
repo = "openapi-tui";
rev = version;
hash = "sha256-flxQ5+nLacQAkrxJafw9D3iXYTFpHcmTshEySmFJ0Cc=";
hash = "sha256-y8A43FV3PfYHaMMHE3uGRBaftga/pVSivCfV4iwUROA=";
};
cargoHash = "sha256-vfEDbUrIXc498QnMJJlMGyTUDvlHgquB5GpWTe7yCvM=";
cargoHash = "sha256-I1eTJDtQM9WKluOZJGfQT4Wn9TFyTu6ZcPFuh8wZIWI=";
OPENSSL_NO_VENDOR = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
meta = with lib; {
description = "Terminal UI to list, browse and run APIs defined with openapi spec";
@ -24,4 +31,3 @@ rustPlatform.buildRustPackage rec {
mainProgram = "openapi-tui";
};
}

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "powerjoular";
version = "1.0.1";
version = "1.0.4";
src = fetchFromGitHub {
owner = "joular";
repo = pname;
rev = version;
hash = "sha256-1XNXe5EZHB1kK2C5oyRt4TzfjZivW9DOEvS1MxJHC8E=";
hash = "sha256-zcG/R8isL7WcwsIFovnRKZ5DCtZu4vJWOximFY9ARuE=";
};
nativeBuildInputs = [

View File

@ -29,13 +29,13 @@ let
};
};
version = "2024.2.0";
version = "2024.2.1";
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx";
rev = "v${version}";
hash = "sha256-2HkxFS+T/lN/8EvAL3S4iVYn30y0OPmaUSneEPEA62k=";
hash = "sha256-D0ju9aOVy/new9GWqyFalZYCisdmM7irWSbn2TVCJYQ=";
};
meta = with lib; {

View File

@ -0,0 +1,9 @@
# Generated by ./update.sh - do not update manually!
# Last updated: 2024-08-05
{
version = "3.2.12-26740";
amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/769073aa/linuxqq_3.2.12-26740_amd64.deb";
arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/769073aa/linuxqq_3.2.12-26740_arm64.deb";
arm64_hash = "sha256-y2qWXNtqIinXB91nvIT0FC8fM1r71qX5fXjrBAjZxzA=";
amd64_hash = "sha256-SQQ6biLr1ZCpBq+2TzKpjipoCb1aFkxlr0CZYKmA8Zg=";
}

View File

@ -27,26 +27,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-clock-app";
version = "4.0.3";
version = "4.0.4";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-clock-app";
rev = "v${finalAttrs.version}";
hash = "sha256-q/hdnwHO97bhL0W3VsdHwjPvGs6GhWbDiVLCx4NiR50=";
hash = "sha256-IWNLMYrebYQe5otNwZtRUs4YGPo/5OFic3Nh2pWxROs=";
};
patches = [
# Fix dispatching to clock app via LUD
# Remove when version > 4.0.3
(fetchpatch {
name = "0001-lomiri-clock-app-Fix-non-click-lomiri-url-dispatcher-support.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/commit/493888b41489b360415d1a0d0e431754afdee2b0.patch";
hash = "sha256-sI7YDrWjV0bSAq0vdSvNcWCLhmEEb10T7jd2kYfSfZU=";
})
# Fix GNUInstallDirs variables usage
# Remove when https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/merge_requests/215 merged & in release
# Remove when version > 4.0.4
(fetchpatch {
name = "0002-lomiri-clock-app-Fix-GNUInstallDirs-variable-concatenations-in-CMake.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/commit/33c62d0382f69462de0567628d7a6ef162944e12.patch";
@ -54,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
})
# Fix installation of splash icon
# Remove when https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/merge_requests/216 merged & in release
# Remove when version > 4.0.4
(fetchpatch {
name = "0003-lomiri-clock-app-Fix-splash-file-installation-in-non-clock-mode.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/commit/97fd6fd91ee787dfe107bd36bc895f2ff234b5e3.patch";
@ -85,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
})
# Don't ignore PATH when looking for qmltestrunner, saves us a patch for hardcoded fallback
# Remove when https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/merge_requests/218 merged & in release
# Remove when version > 4.0.4
(fetchpatch {
name = "0008-lomiri-clock-app-tests-Drop-NO_DEFAULT_PATH.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/commit/190ef47e2efaaf139920d0556e0522f95479ea95.patch";
@ -102,10 +94,6 @@ stdenv.mkDerivation (finalAttrs: {
];
postPatch = ''
# Part of 493888b41489b360415d1a0d0e431754afdee2b0 patch, but neither fetchpatch nor fetchpatch2 can handle a rename-only change to a file
# Remove when version > 4.0.3
mv clock.ubports_clock.url-dispatcher lomiri-clock-app.url-dispatcher
# QT_IMPORTS_DIR returned by qmake -query is broken
substituteInPlace CMakeLists.txt \
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}' \

View File

@ -1,57 +1,59 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, fetchpatch2
, gitUpdater
, testers
, accountsservice
, ayatana-indicator-datetime
, cmake
, cmake-extras
, content-hub
, dbus
, deviceinfo
, geonames
, gettext
, glib
, gnome-desktop
, gsettings-qt
, gtk3
, icu
, intltool
, json-glib
, libqofono
, libqtdbustest
, libqtdbusmock
, lomiri-indicator-network
, lomiri-schemas
, lomiri-settings-components
, lomiri-ui-toolkit
, maliit-keyboard
, pkg-config
, python3
, qmenumodel
, qtbase
, qtdeclarative
, qtmultimedia
, ubports-click
, upower
, validatePkgConfig
, wrapGAppsHook3
, wrapQtAppsHook
, xvfb-run
{
stdenv,
lib,
fetchFromGitLab,
gitUpdater,
testers,
accountsservice,
ayatana-indicator-datetime,
biometryd,
cmake,
cmake-extras,
content-hub,
dbus,
deviceinfo,
geonames,
gettext,
glib,
gnome-desktop,
gsettings-qt,
gtk3,
icu,
intltool,
json-glib,
libqofono,
libqtdbustest,
libqtdbusmock,
lomiri-indicator-network,
lomiri-schemas,
lomiri-settings-components,
lomiri-ui-toolkit,
maliit-keyboard,
pkg-config,
polkit,
python3,
qmenumodel,
qtbase,
qtdeclarative,
qtmultimedia,
trust-store,
ubports-click,
upower,
validatePkgConfig,
wrapGAppsHook3,
wrapQtAppsHook,
xvfb-run,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-system-settings-unwrapped";
version = "1.1.0";
version = "1.2.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-system-settings";
rev = finalAttrs.version;
hash = "sha256-Po5eArO7zyaGatTf6kqci3DdzFDJSZakeglbiMx9kR8=";
hash = "sha256-dWaXPr9Z5jz5SbwLSd3jVqjK0E5BdcKVeF15p8j47uM=";
};
outputs = [
@ -59,55 +61,9 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
patches = [
# Remove when https://gitlab.com/ubports/development/core/lomiri-system-settings/-/merge_requests/433 merged & in release
(fetchpatch {
name = "0001-lomiri-system-settings-plugins-language-Fix-linking-against-accountsservice.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/75763ae2f9669f5f7f29aec3566606e6f6cb7478.patch";
hash = "sha256-2CE0yizkaz93kK82DhaaFjKmGnMoaikrwFj4k7RN534=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-system-settings/-/merge_requests/434 merged & in release
(fetchpatch {
name = "0002-lomiri-system-settings-GNUInstallDirs-and-fix-absolute-path-handling.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/93ee84423f3677a608ef73addcd3ddcbe7dc1d32.patch";
hash = "sha256-lSKAhtE3oSSv7USvDbbcfBZWAtWMmuKneWawKQABIiM=";
})
# Fixes tests with very-recent python-dbusmock
# Remove when version > 1.1.0
(fetchpatch {
name = "0003-lomiri-system-settings-Revert-Pass-missing-parameter-to-dbusmock-bluez-PairDevice-function.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/67d9e28ebab8bdb9473d5bf8da2b7573e6848fa2.patch";
hash = "sha256-pFWNne2UH3R5Fz9ayHvIpDXDQbXPs0k4b/oRg0fzi+s=";
})
(fetchpatch2 {
name = "0004-lomiri-system-settings-QOfono-namespace-change.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/c0b5b007d77993fabdd95be5ccbbba5151f0f165.patch";
hash = "sha256-HB7qdlbY0AVG6X3hL3IHf0Z7rm1G0wfdqo5MXtY7bfE=";
})
] ++ [
./2000-Support-wrapping-for-Nixpkgs.patch
# Make it work with regular accountsservice
# https://gitlab.com/ubports/development/core/lomiri-system-settings/-/issues/341
(fetchpatch {
name = "2001-lomiri-system-settings-disable-current-language-switching.patch";
url = "https://sources.debian.org/data/main/l/lomiri-system-settings/1.0.1-2/debian/patches/2001_disable-current-language-switching.patch";
hash = "sha256-ZOFYwxS8s6+qMFw8xDCBv3nLBOBm86m9d/VhbpOjamY=";
})
];
patches = [ ./2000-Support-wrapping-for-Nixpkgs.patch ];
postPatch = ''
# Part of 0004-lomiri-system-settings-QOfono-namespace-change.patch, fetchpatch2 cannot handle rename-only changes
for unmovedThing in tests/mocks/MeeGo/QOfono/*; do
mv "$unmovedThing" "tests/mocks/QOfono/$(basename "$unmovedThing")"
done
rmdir tests/mocks/MeeGo/QOfono
rmdir tests/mocks/MeeGo
substituteInPlace CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" \
@ -155,7 +111,9 @@ stdenv.mkDerivation (finalAttrs: {
gtk3
icu
json-glib
polkit
qtbase
trust-store
ubports-click
upower
];
@ -163,6 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
# QML components and schemas the wrapper needs
propagatedBuildInputs = [
ayatana-indicator-datetime
biometryd
content-hub
libqofono
lomiri-indicator-network
@ -177,9 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeCheckInputs = [
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
xvfb-run
];
@ -194,19 +151,21 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "ENABLE_LIBDEVICEINFO" true)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
# Exclude tests
"-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [
# Hits OpenGL context issue inside lomiri-ui-toolkit, see derivation of that on details
"^testmouse"
"^tst_notifications"
]})")
]))
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
lib.concatStringsSep ";" [
# Exclude tests
"-E"
(lib.strings.escapeShellArg "(${
lib.concatStringsSep "|" [
# Hits OpenGL context issue inside lomiri-ui-toolkit, see derivation of that on details
"^testmouse"
"^tst_notifications"
]
})")
]
))
];
# CMake option had to be excluded from earlier patchset
env.NIX_CFLAGS_COMPILE = lib.optionalString (lib.strings.versionOlder python3.pkgs.python-dbusmock.version "0.30.1") "-DMODERN_PYTHON_DBUSMOCK";
# The linking for this normally ignores missing symbols, which is inconvenient for figuring out why subpages may be
# failing to load their library modules. Force it to report them at linktime instead of runtime.
env.NIX_LDFLAGS = "--unresolved-symbols=report-all";
@ -218,7 +177,16 @@ stdenv.mkDerivation (finalAttrs: {
preCheck = ''
export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
export QML2_IMPORT_PATH=${lib.makeSearchPathOutput "bin" qtbase.qtQmlPrefix ([ qtdeclarative lomiri-ui-toolkit lomiri-settings-components ] ++ lomiri-ui-toolkit.propagatedBuildInputs)}
export QML2_IMPORT_PATH=${
lib.makeSearchPathOutput "bin" qtbase.qtQmlPrefix (
[
qtdeclarative
lomiri-ui-toolkit
lomiri-settings-components
]
++ lomiri-ui-toolkit.propagatedBuildInputs
)
}
'';
postInstall = ''
@ -244,8 +212,6 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "lomiri-system-settings";
maintainers = teams.lomiri.members;
platforms = platforms.linux;
pkgConfigModules = [
"LomiriSystemSettings"
];
pkgConfigModules = [ "LomiriSystemSettings" ];
};
})

View File

@ -1,94 +0,0 @@
{ stdenv
, lib
, fetchFromGitLab
, biometryd
, cmake
, libqtdbusmock
, libqtdbustest
, lomiri-system-settings-unwrapped
, pkg-config
, polkit
, python3
, qtbase
, qtdeclarative
, trust-store
, xvfb-run
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-system-settings-security-privacy";
version = "1.0.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-system-settings-security-privacy";
rev = finalAttrs.version;
hash = "sha256-d7OgxV362gJ3t5N+DEFgwyK+m6Ij6juRPuxfmbCg68Y=";
};
postPatch = ''
# CMake pkg_get_variable cannot replace prefix variable yet
for pcvar in plugin_manifest_dir plugin_private_module_dir plugin_qml_dir; do
pcvarname=$(echo $pcvar | tr '[:lower:]' '[:upper:]')
substituteInPlace CMakeLists.txt \
--replace-fail "pkg_get_variable($pcvarname LomiriSystemSettings $pcvar)" "set($pcvarname $(pkg-config LomiriSystemSettings --define-variable=prefix=$out --define-variable=libdir=$out/lib --variable=$pcvar))"
done
# Compatibility with newer libqofono
substituteInPlace plugins/security-privacy/{Ofono,PageComponent,SimPin}.qml \
--replace-fail 'import MeeGo.QOfono' 'import QOfono'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
python3
qtdeclarative
];
buildInputs = [
lomiri-system-settings-unwrapped
polkit
qtbase
qtdeclarative
trust-store
];
# QML components and schemas the wrapper needs
propagatedBuildInputs = [
biometryd
];
nativeCheckInputs = [
xvfb-run
];
checkInputs = [
libqtdbusmock
libqtdbustest
];
# Plugin library & modules for LSS
dontWrapQtApps = true;
cmakeFlags = [
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
preCheck = ''
export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
'';
meta = with lib; {
description = "Security and privacy settings plugin for Lomiri system settings";
homepage = "https://gitlab.com/ubports/development/core/lomiri-system-settings-security-privacy";
changelog = "https://gitlab.com/ubports/development/core/lomiri-system-settings-security-privacy/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
};
})

View File

@ -1,13 +1,13 @@
{ stdenvNoCC
, lib
, nixosTests
, glib
, lndir
, lomiri-system-settings-unwrapped
, lomiri-system-settings-security-privacy
, wrapGAppsHook3
, wrapQtAppsHook
, plugins ? [ lomiri-system-settings-security-privacy ]
{
stdenvNoCC,
lib,
nixosTests,
glib,
lndir,
lomiri-system-settings-unwrapped,
wrapGAppsHook3,
wrapQtAppsHook,
plugins ? [ ],
}:
stdenvNoCC.mkDerivation (finalAttrs: {

View File

@ -1,90 +1,82 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, fetchpatch2
, gitUpdater
, linkFarm
, nixosTests
, ayatana-indicator-datetime
, bash
, biometryd
, boost
, cmake
, cmake-extras
, coreutils
, dbus
, dbus-test-runner
, deviceinfo
, geonames
, glib
, glm
, gnome-desktop
, gsettings-qt
, gtk3
, hfd-service
, libevdev
, libqtdbustest
, libqtdbusmock
, libusermetrics
, libuuid
, lightdm_qt
, lomiri-api
, lomiri-app-launch
, lomiri-download-manager
, lomiri-indicator-network
, lomiri-ui-toolkit
, lomiri-settings-components
, lomiri-system-settings-unwrapped
, lomiri-schemas
, lomiri-notifications
, lomiri-thumbnailer
, maliit-keyboard
, mir_2_15
, nixos-icons
, pam
, pkg-config
, properties-cpp
, protobuf
, python3
, qmenumodel
, qtbase
, qtdeclarative
, qtmir
, qtmultimedia
, qtsvg
, telephony-service
, wrapGAppsHook3
, wrapQtAppsHook
, xwayland
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
fetchpatch2,
gitUpdater,
linkFarm,
nixosTests,
ayatana-indicator-datetime,
bash,
biometryd,
boost,
cmake,
cmake-extras,
coreutils,
dbus,
dbus-test-runner,
deviceinfo,
geonames,
glib,
glm,
gnome-desktop,
gsettings-qt,
gtk3,
hfd-service,
libevdev,
libqtdbustest,
libqtdbusmock,
libusermetrics,
libuuid,
lightdm_qt,
lomiri-api,
lomiri-app-launch,
lomiri-download-manager,
lomiri-indicator-network,
lomiri-ui-toolkit,
lomiri-settings-components,
lomiri-system-settings-unwrapped,
lomiri-schemas,
lomiri-notifications,
lomiri-thumbnailer,
maliit-keyboard,
mir_2_15,
nixos-icons,
pam,
pkg-config,
properties-cpp,
protobuf,
python3,
qmenumodel,
qtbase,
qtdeclarative,
qtmir,
qtmultimedia,
qtsvg,
telephony-service,
wrapGAppsHook3,
wrapQtAppsHook,
xwayland,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri";
version = "0.2.1";
version = "0.3.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri";
rev = finalAttrs.version;
hash = "sha256-V5Lt870eHgmJ63OF8bTiNFLAFrxdgNihkd7aodSO3v8=";
hash = "sha256-Godl/SQ0+NkI6kwH85SXHPQ5GRlih3xvCyeYxwiqH/s=";
};
patches = [
# Remove when version > 0.2.1
# Remove when version > 0.3.0
(fetchpatch {
name = "0001-lomiri-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch";
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/53190bf2f03c8a35491efb26222b8d67ff6caa34.patch";
hash = "sha256-sbwqOqpTf5OlEB4NZZZTFNXyKq4rTQAxJ6U8YP/DT5s=";
})
# fetchpatch2 for renames
# Use GNUInstallDirs variables better, replace more /usr references
# Remove when https://gitlab.com/ubports/development/core/lomiri/-/merge_requests/137 merged & in release
(fetchpatch2 {
name = "0002-lomiri-Make-less-FHS-assumptions.patch";
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/817ae1d8ed927e661fbc006851163ba99c46ae13.patch";
hash = "sha256-NLvpzI2MtjKcGrgTn6PbLXSy3/Jg8KxdSvVYO9KYu9g=";
name = "0001-lomiri-Fix-accountsservice-test.patch";
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/353153c4ebc40ffcc7702af42205d2075fc81503.patch";
hash = "sha256-J9ySZgWd7KR7aU1cCRu5iirq7bi3NdLR9SZs9Pd1I8w=";
})
# Fix greeter & related settings
@ -116,62 +108,51 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-guq/Ykcq4WcuXxNKO1eA4sJFyGSpZo0gtyFTdeK/GeE=";
})
# fetchpatch2 for renames
# Remove when version > 0.2.1
(fetchpatch2 {
name = "1010-lomiri-QOfono-namespace.patch";
url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/d0397dadb5f05097f916c5b39e6d9b95d4ab9e4d.patch";
hash = "sha256-wIkHlz2vYxF9eeH/sYYEdD9f8m4ylHEXXnX/DFG3HXg=";
})
./9901-lomiri-Disable-Wizard.patch
./9902-lomiri-Check-NIXOS_XKB_LAYOUTS.patch
];
postPatch = ''
# Part of greeter fix, applies separately due to merge conflicts
substituteInPlace data/lomiri-greeter.desktop.in.in \
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' \
--replace-fail 'X-LightDM-Session-Type=mir' 'X-LightDM-Session-Type=wayland'
postPatch =
''
# Part of greeter fix, applies separately due to merge conflicts
substituteInPlace data/lomiri-greeter.desktop.in.in \
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' \
--replace-fail 'X-LightDM-Session-Type=mir' 'X-LightDM-Session-Type=wayland'
# Part of QOfono namespace patch, fetchpatch2 cannot handle rename-only changes
for unmovedThing in tests/mocks/MeeGo/QOfono/*; do
mv "$unmovedThing" "tests/mocks/QOfono/$(basename "$unmovedThing")"
done
rmdir tests/mocks/MeeGo/QOfono
rmdir tests/mocks/MeeGo
# Written with a different qtmir branch in mind, but different branch breaks compat with some patches
substituteInPlace CMakeLists.txt \
--replace-fail 'qt5mir2server' 'qtmirserver'
# Need to replace prefix
substituteInPlace data/systemd-user/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})'
# Need to replace prefix
substituteInPlace data/systemd-user/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemd_user_unit_dir)' 'pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemd_user_unit_dir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})'
# Don't embed full paths into regular desktop files (but do embed them into lightdm greeter one)
substituteInPlace data/{indicators-client,lomiri}.desktop.in.in \
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/' ""
# Don't embed full paths into regular desktop files (but do embed them into lightdm greeter one)
substituteInPlace data/{indicators-client,lomiri}.desktop.in.in \
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/' ""
# Exclude tests that don't compile (Mir headers these relied on were removed in mir 2.9)
# fatal error: mirtest/mir/test/doubles/stub_surface.h: No such file or directory
substituteInPlace tests/mocks/CMakeLists.txt \
--replace-fail 'add_subdirectory(QtMir/Application)' ""
# Exclude tests that don't compile (Mir headers these relied on were removed in mir 2.9)
# fatal error: mirtest/mir/test/doubles/stub_surface.h: No such file or directory
substituteInPlace tests/mocks/CMakeLists.txt \
--replace-fail 'add_subdirectory(QtMir/Application)' ""
#substituteInPlace plugins/AccountsService/CMakeLists.txt \
# --replace-fail 'CMAKE_INSTALL_DATADIR' 'CMAKE_INSTALL_FULL_DATADIR'
# NixOS-ify
# NixOS-ify
# Use Nix flake instead of Canonical's Ubuntu logo
rm qml/Launcher/graphics/home.svg
ln -s ${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg qml/Launcher/graphics/home.svg
# Use Nix flake instead of Canonical's Ubuntu logo
rm qml/Launcher/graphics/home.svg
ln -s ${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg qml/Launcher/graphics/home.svg
# Look up default wallpaper in current system
substituteInPlace plugins/Utils/constants.cpp \
--replace-fail '/usr/share/backgrounds' '/run/current-system/sw/share/wallpapers'
'' + lib.optionalString finalAttrs.finalPackage.doCheck ''
patchShebangs tests/whitespace/check_whitespace.py
'';
# Look up default wallpaper in current system
substituteInPlace plugins/Utils/constants.cpp \
--replace-fail '/usr/share/backgrounds' '/run/current-system/sw/share/wallpapers'
''
+ lib.optionalString finalAttrs.finalPackage.doCheck ''
patchShebangs tests/whitespace/check_whitespace.py
'';
nativeBuildInputs = [
cmake
dbus-test-runner
glib # populates GSETTINGS_SCHEMAS_PATH
pkg-config
wrapGAppsHook3 # XDG_DATA_DIRS wrapper flags for schemas
@ -224,11 +205,7 @@ stdenv.mkDerivation (finalAttrs: {
telephony-service
];
nativeCheckInputs = [
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
];
nativeCheckInputs = [ (python3.withPackages (ps: with ps; [ python-dbusmock ])) ];
checkInputs = [
libqtdbustest
@ -243,6 +220,7 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "NO_TESTS" (!finalAttrs.finalPackage.doCheck))
(lib.cmakeBool "WITH_MIR2" true)
];
postInstall = ''
@ -266,7 +244,14 @@ stdenv.mkDerivation (finalAttrs: {
wrapQtApp $out/bin/lomiri-mock-indicator-service
wrapProgram $out/bin/lomiri-greeter-wrapper \
--prefix PATH : ${lib.makeBinPath [ coreutils dbus deviceinfo glib ]} \
--prefix PATH : ${
lib.makeBinPath [
coreutils
dbus
deviceinfo
glib
]
} \
--set LOMIRI_BINARY "$out/bin/lomiri"
wrapProgram $out/libexec/Xwayland.lomiri \
@ -277,12 +262,16 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
tests.lomiri = nixosTests.lomiri;
tests = {
inherit (nixosTests.lomiri) greeter desktop desktop-ayatana-indicators;
};
updateScript = gitUpdater { };
greeter = linkFarm "lomiri-greeter" [{
path = "${finalAttrs.finalPackage}/share/lightdm/greeters/lomiri-greeter.desktop";
name = "lomiri-greeter.desktop";
}];
greeter = linkFarm "lomiri-greeter" [
{
path = "${finalAttrs.finalPackage}/share/lightdm/greeters/lomiri-greeter.desktop";
name = "lomiri-greeter.desktop";
}
];
};
meta = with lib; {

View File

@ -1,26 +1,18 @@
From 30b5391c3f20180fe7427fe179ba26f846200d96 Mon Sep 17 00:00:00 2001
From fa705235cafbeb4a016bdcb0067218b29506eb84 Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Mon, 3 Jun 2024 20:50:03 +0200
Date: Fri, 19 Jul 2024 16:22:07 +0200
Subject: [PATCH] Unset QT_QPA_PLATFORMTHEME
gtk3 value breaks Lomiri startup
---
lomiri-session | 2 ++
1 file changed, 2 insertions(+)
lomiri-session.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/lomiri-session b/lomiri-session
index 9d68249..b103840 100755
--- a/lomiri-session
+++ b/lomiri-session
@@ -47,6 +47,7 @@ fi
# Set some envs
export QT_QPA_PLATFORM=wayland
+export QT_QPA_PLATFORMTHEME=
export QT_IM_MODULE=maliit
export MALIIT_FORCE_DBUS_CONNECTION=1
export UITK_ICON_THEME=suru
@@ -55,6 +56,7 @@ dbus-update-activation-environment --systemd MALIIT_FORCE_DBUS_CONNECTION=1
diff --git a/lomiri-session.in b/lomiri-session.in
index 50dd4cb..ffc20c4 100755
--- a/lomiri-session.in
+++ b/lomiri-session.in
@@ -55,6 +55,7 @@ dbus-update-activation-environment --systemd MALIIT_FORCE_DBUS_CONNECTION=1
dbus-update-activation-environment --systemd QT_IM_MODULE=maliit
dbus-update-activation-environment --systemd GTK_IM_MODULE=maliit
dbus-update-activation-environment --systemd QT_QPA_PLATFORM=wayland

View File

@ -1,153 +1,40 @@
{ stdenvNoCC
, lib
, fetchFromGitLab
, fetchpatch
, fetchpatch2
, gitUpdater
, nixosTests
, bash
, cmake
, dbus
, deviceinfo
, inotify-tools
, lomiri
, makeWrapper
, pkg-config
, runtimeShell
, systemd
{
stdenvNoCC,
lib,
fetchFromGitLab,
gitUpdater,
nixosTests,
bash,
cmake,
dbus,
deviceinfo,
inotify-tools,
lomiri,
makeWrapper,
pkg-config,
runtimeShell,
systemd,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "lomiri-session";
version = "0.2";
version = "0.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-session";
rev = finalAttrs.version;
hash = "sha256-1ZpAn1tFtlXIfeejG0TnrJBRjf3tyz7CD+riWo+sd0s=";
hash = "sha256-XduE3tPUjw/wIjFCACasxtN33KO4bDLWrpl7pZcYaAA=";
};
patches = [
# Properly gate of UBtouch-specific code
# Otherwise session won't launch, errors out on a removed Mir setting
# Remove when version > 0.2
(fetchpatch {
name = "0001-lomiri-session-Properly-differentiate-between-Ubuntu-Touch-and-Lomiri-Desktop-session.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/780c19d8b4f18ce24ceb64b8abfae70018579dce.patch";
hash = "sha256-eFiagFEpH43WpVGA6xkI1IiQ99HHizonhXYg1wYAhwU=";
})
# Export Lomiri-prefixed stop envvar
# Remove when version > 0.2
(fetchpatch {
name = "0002-lomiri-session-Use-LOMIRI_MIR_EMITS_SIGSTOP.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/452e38b489b5893aac3481410d708f4397b1fa1c.patch";
hash = "sha256-w/kifBLfDm8+CBliVjm4o8JtjaOByHf97XyPhVk6Gho=";
})
# Removes broken first-time wizard check
# Remove when version > 0.2
(fetchpatch {
name = "0003-lomiri-session-Drop-old-wizard-has-run-check.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/c16ae87d8848f9909850072f7728c03c894b1a47.patch";
hash = "sha256-AIwgztFOGwG2zUsaUen/Z3Mes9m7VgbvNKWp/qYp4g4=";
})
# Fix quoting on ps check
# Remove when version > 0.2
(fetchpatch {
name = "0004-lomiri-session-Put-evaluation-of-ps-call-in-quotes.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2d7368eae99f07200c814c840636206b9eaa485d.patch";
hash = "sha256-6LqurJqi/I+Qw64hWTrvA8uA/EIRZbcS6TRRXK+9s1s=";
})
# Check for Xwayland presense to determine X11 support
# Remove when version > 0.2
(fetchpatch {
name = "0005-lomiri-session-Check-for-Xwayland-presence.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/707e43d3b1a6200535b7682e63817265a8e4ee7e.patch";
hash = "sha256-sI00P31QVF7ZKdwNep2r+0MetNGg/bbrd2YfEzZPLFI=";
})
# Fix systemd service startup things, drop upstart hacks
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/13 merged & in release
(fetchpatch {
name = "0100-lomiri-session-Drop-Before-Wants-for-App-Indicator-targets.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/ccebdc1c47d7411a9cf4ad2e529471fb0403433a.patch";
hash = "sha256-vGFvcCjbwcuLrAUIsL5y/QmoOR5i0560LNv01ZT9OOg=";
})
(fetchpatch {
name = "0101-lomiri-session-Start-lal-application-end.target-on-stop-restart.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9a945b09feff0c1d2b3203caaf3cec5230481e80.patch";
hash = "sha256-1vD+I5YDEh2wF7UDn6ZxPTBRrdUvwWVXt5x5QdkIAkY=";
})
(fetchpatch {
name = "0102-lomiri-session-Drop-manual-Xwayland-start-logic.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6aee0d6cfd76ab1904876f4166621f9f6d833056.patch";
hash = "sha256-iW/Ko+Xm2ZuJuNE7ATeuMTSHby0fXD+D5nWjX6LLLwU=";
})
(fetchpatch {
name = "0103-lomiri-session-Set-SyslogIdentifier.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/09d378728685411a04333040279cdaef487dedc8.patch";
hash = "sha256-minJSxrn2d0+FBlf7bdN3ddSvsn6YWdeH6ZuCW7qbII=";
})
(fetchpatch {
name = "0104-lomiri-session-Use-LOMIRI_AS_SYSTEMD_UNIT-to-launch-session.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9bd2552c2638c139a0abff527fda99f2ef94cc42.patch";
hash = "sha256-7ipsGrQRJ98uVSRp2e0U4q3iTuyeUalqZIohbxXpT9k=";
})
(fetchpatch {
name = "0105-lomiri-session-Allow-sd_notify-calls-for-NOTIFY_SOCKET.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2157bfc472f2d35e7c81002a924a1f6aa85f7395.patch";
hash = "sha256-qtArOG4gysFWGnXbz3KpXEppaZ1PGDQKEGqnJvU6/RE=";
})
(fetchpatch {
name = "0106-lomiri-session-Change-envvar-for-1-time-binary.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/0cd1dbd30f3d5c6e50bce79146e8511e0ee56153.patch";
hash = "sha256-b8/Mrs36JPJE6l6/Dc/PN+zNV8Oq37HOFx+zMQvWPBY=";
})
(fetchpatch {
name = "0107-lomiri-session-Drag-lomiri-process-under-umbrella-of-wrapper-script.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d8212b1862924eb283fd1ee7ea390a144d5ee97e.patch";
hash = "sha256-UJzV0pYEBBrXSpYxdFoBoMRzPeIQtvtPzDW2/Ljz+uI=";
})
(fetchpatch {
name = "0108-lomiri-session-Dont-hide-exit-code-from-systemd.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9ac78d736caa891a4923be8d040fe8224e335215.patch";
hash = "sha256-yPg1K0IfaGYKqg9536i9AFCLTcAENlsJNdHjrElSeZ4=";
})
# Don't require a C & C++ compiler, nothing to compile
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/14 merged & in release
(fetchpatch {
name = "0200-lomiri-session-Dont-require-a-compiler.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6915a5678e09e5dbcb26d29a8e5585d032a19186.patch";
hash = "sha256-2SWiOLDLsdTjRHaJcnZe/WKcFMFmHtpZsuj7bQCtB4A=";
})
# Use GNUInstallDirs for install locations, find_program() for locations of used binaries
# fetchpatch2 due to renames, need to resolve merge conflict manually in postPatch
# Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/15 merged & in release
(fetchpatch2 {
name = "0201-lomiri-session-Hardcode-less-locations.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d5b93ecaf08ba776a79c69e8a9dd05d0b6181947.patch";
excludes = [ "systemd/lomiri.service" ];
hash = "sha256-BICb6ZwU/sUBzmM4udsOndIgw1A03I/UEG000YvMZ9Y=";
})
./1001-Unset-QT_QPA_PLATFORMTHEME.patch
];
patches = [ ./1001-Unset-QT_QPA_PLATFORMTHEME.patch ];
postPatch = ''
# Resolving merge conflict
mv systemd/lomiri.service{,.in}
substituteInPlace systemd/lomiri.service.in \
--replace-fail '/usr/bin/lomiri-session' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-session' \
--replace-fail '/usr/bin/dbus-update-activation-environment' '@DUAE_BIN@'
substituteInPlace lomiri-session \
substituteInPlace lomiri-session.in \
--replace-fail '/usr/libexec/Xwayland.lomiri' '${lib.getBin lomiri}/libexec/Xwayland.lomiri'
substituteInPlace systemd/CMakeLists.txt \
--replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})'
'';
nativeBuildInputs = [
@ -173,7 +60,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
postInstall = ''
patchShebangs $out/bin/lomiri-session
wrapProgram $out/bin/lomiri-session \
--prefix PATH : ${lib.makeBinPath [ deviceinfo inotify-tools lomiri ]}
--prefix PATH : ${
lib.makeBinPath [
deviceinfo
inotify-tools
lomiri
]
}
'';
passthru = {

View File

@ -1,65 +1,72 @@
{ lib
, pkgs
, libsForQt5
{
config,
lib,
pkgs,
libsForQt5,
}:
let
packages = self: let
inherit (self) callPackage;
in {
#### Core Apps
lomiri = callPackage ./applications/lomiri { };
lomiri-calculator-app = callPackage ./applications/lomiri-calculator-app { };
lomiri-camera-app = callPackage ./applications/lomiri-camera-app { };
lomiri-clock-app = callPackage ./applications/lomiri-clock-app { };
lomiri-filemanager-app = callPackage ./applications/lomiri-filemanager-app { };
lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { };
lomiri-system-settings-security-privacy = callPackage ./applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix { };
lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { };
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };
morph-browser = callPackage ./applications/morph-browser { };
teleports = callPackage ./applications/teleports { };
packages =
self:
let
inherit (self) callPackage;
in
{
#### Core Apps
lomiri = callPackage ./applications/lomiri { };
lomiri-calculator-app = callPackage ./applications/lomiri-calculator-app { };
lomiri-camera-app = callPackage ./applications/lomiri-camera-app { };
lomiri-clock-app = callPackage ./applications/lomiri-clock-app { };
lomiri-filemanager-app = callPackage ./applications/lomiri-filemanager-app { };
lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { };
lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { };
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };
morph-browser = callPackage ./applications/morph-browser { };
teleports = callPackage ./applications/teleports { };
#### Data
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-session = callPackage ./data/lomiri-session { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { };
suru-icon-theme = callPackage ./data/suru-icon-theme { };
#### Data
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-session = callPackage ./data/lomiri-session { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { };
suru-icon-theme = callPackage ./data/suru-icon-theme { };
#### Development tools / libraries
cmake-extras = callPackage ./development/cmake-extras { };
deviceinfo = callPackage ./development/deviceinfo { };
geonames = callPackage ./development/geonames { };
gmenuharness = callPackage ./development/gmenuharness { };
libusermetrics = callPackage ./development/libusermetrics { };
lomiri-api = callPackage ./development/lomiri-api { };
lomiri-app-launch = callPackage ./development/lomiri-app-launch { };
qtmir = callPackage ./development/qtmir { };
trust-store = callPackage ./development/trust-store { };
u1db-qt = callPackage ./development/u1db-qt { };
#### Development tools / libraries
cmake-extras = callPackage ./development/cmake-extras { };
deviceinfo = callPackage ./development/deviceinfo { };
geonames = callPackage ./development/geonames { };
gmenuharness = callPackage ./development/gmenuharness { };
libusermetrics = callPackage ./development/libusermetrics { };
lomiri-api = callPackage ./development/lomiri-api { };
lomiri-app-launch = callPackage ./development/lomiri-app-launch { };
qtmir = callPackage ./development/qtmir { };
trust-store = callPackage ./development/trust-store { };
u1db-qt = callPackage ./development/u1db-qt { };
#### QML / QML-related
lomiri-action-api = callPackage ./qml/lomiri-action-api { };
lomiri-notifications = callPackage ./qml/lomiri-notifications { };
lomiri-push-qml = callPackage ./qml/lomiri-push-qml { };
lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { };
lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
qqc2-suru-style = callPackage ./qml/qqc2-suru-style { };
#### QML / QML-related
lomiri-action-api = callPackage ./qml/lomiri-action-api { };
lomiri-notifications = callPackage ./qml/lomiri-notifications { };
lomiri-push-qml = callPackage ./qml/lomiri-push-qml { };
lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { };
lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
qqc2-suru-style = callPackage ./qml/qqc2-suru-style { };
#### Services
biometryd = callPackage ./services/biometryd { };
content-hub = callPackage ./services/content-hub { };
hfd-service = callPackage ./services/hfd-service { };
history-service = callPackage ./services/history-service { };
lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { };
lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { };
lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { };
mediascanner2 = callPackage ./services/mediascanner2 { };
telephony-service = callPackage ./services/telephony-service { };
};
#### Services
biometryd = callPackage ./services/biometryd { };
content-hub = callPackage ./services/content-hub { };
hfd-service = callPackage ./services/hfd-service { };
history-service = callPackage ./services/history-service { };
lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { };
lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { };
lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { };
mediascanner2 = callPackage ./services/mediascanner2 { };
telephony-service = callPackage ./services/telephony-service { };
};
in
lib.makeScope libsForQt5.newScope packages
lib.makeScope libsForQt5.newScope packages
// lib.optionalAttrs config.allowAliases {
lomiri-system-settings-security-privacy = lib.warn "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08
}

View File

@ -136,11 +136,16 @@ stdenv.mkDerivation (finalAttrs: {
# Exclude tests
"-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [
# Flaky, randomly failing to launch properly & stuck until test timeout
# https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/issues/70
"^HandlerTest"
"^OfonoAccountEntryTest"
"^TelepathyHelperSetupTest"
"^AuthHandlerTest"
"^ChatManagerTest"
"^AccountEntryTest"
"^AccountEntryFactoryTest"
"^PresenceRequestTest"
"^CallEntryTest"
]})")
]))
];

View File

@ -0,0 +1,4 @@
import ./common.nix {
version = "128.1.0";
hash = "sha512-gFWn+DrPDKthJLpYCa/xwILoGg0w/zGOxxn4/T9K+apg4glMGr1smBGT11EHWpVpNwF24g5Q88GVn+J6FVETiA==";
}

View File

@ -0,0 +1,37 @@
From a26bb162d9403138d64b84e8fa4f0471084c45b2 Mon Sep 17 00:00:00 2001
From: "Kirill A. Korinsky" <kirill@korins.ky>
Date: Fri, 8 Jul 2022 21:21:25 +0200
Subject: [PATCH] Allow system's nspr and icu on bootstrapped sysroot
This patch partially reverts https://github.com/mozilla/gecko-dev/commit/9aa3587bbf0416dd2eb5b614f7b301c71c64286b
---
build/moz.configure/nspr.configure | 2 +-
js/moz.configure | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build/moz.configure/nspr.configure b/build/moz.configure/nspr.configure
index bc6d62982b87a..8346f08b86923 100644
--- a/build/moz.configure/nspr.configure
+++ b/build/moz.configure/nspr.configure
@@ -19,7 +19,7 @@ def enable_nspr_build(enable):
return enable
-system_lib_option(
+option(
"--with-system-nspr",
help="Use system NSPR",
when=use_pkg_config,
diff --git a/js/moz.configure b/js/moz.configure
index 8fb51095876fa..7629b29d33c8f 100644
--- a/js/moz.configure
+++ b/js/moz.configure
@@ -1296,7 +1296,7 @@ set_define(
# ECMAScript Internationalization API Support (uses ICU)
# ======================================================
-system_lib_option(
+option(
"--with-system-icu",
help="Use system ICU",
when=use_pkg_config,

View File

@ -0,0 +1,22 @@
From 9d3f6e9ff5e66af90a5d187d902f7893fb91c24b Mon Sep 17 00:00:00 2001
From: "Kirill A. Korinsky" <kirill@korins.ky>
Date: Fri, 1 Jul 2022 12:23:37 +0200
Subject: [PATCH] Always check for pkg-config
---
build/moz.configure/pkg.configure | 2 +-
1 file changed, 1 insertion(+), 1 deletions(-)
diff --git a/build/moz.configure/pkg.configure b/build/moz.configure/pkg.configure
index 418331b874f47..09cc40eda03fa 100644
--- a/build/moz.configure/pkg.configure
+++ b/build/moz.configure/pkg.configure
@@ -12,7 +12,7 @@ def pkg_config(prefixes):
@depends(compile_environment, target)
def use_pkg_config(compile_environment, target):
- return compile_environment and target.os not in ("WINNT", "OSX", "Android")
+ return compile_environment
pkg_config = check_prog(

View File

@ -15,6 +15,8 @@
, python3
, python39
, python311
, rust-cbindgen
, rustPlatform
, rustc
, which
, zip
@ -59,10 +61,14 @@ stdenv.mkDerivation (finalAttrs: rec {
# - https://hg.mozilla.org/mozilla-central/rev/ec48f15d085c
# - https://hg.mozilla.org/mozilla-central/rev/6803dda74d33
./add-riscv64-support.patch
] ++ lib.optionals (lib.versionAtLeast version "102") [
] ++ lib.optionals (lib.versionAtLeast version "102" && lib.versionOlder version "128") [
# use pkg-config at all systems
./always-check-for-pkg-config.patch
./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot.patch
] ++ lib.optionals (lib.versionAtLeast version "128") [
# rebased version of the above 2 patches
./always-check-for-pkg-config-128.patch
./allow-system-s-nspr-and-icu-on-bootstrapped-sysroot-128.patch
] ++ lib.optionals (lib.versionAtLeast version "91" && stdenv.hostPlatform.system == "i686-linux") [
# Fixes i686 build, https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
./fix-float-i686.patch
@ -94,6 +100,9 @@ stdenv.mkDerivation (finalAttrs: rec {
rustc.llvmPackages.llvm # for llvm-objdump
which
zip
] ++ lib.optionals (lib.versionAtLeast version "128") [
rust-cbindgen
rustPlatform.bindgenHook
] ++ lib.optionals (lib.versionOlder version "91") [
autoconf213
yasm # to buid icu? seems weird
@ -161,7 +170,9 @@ stdenv.mkDerivation (finalAttrs: rec {
"class JS_PUBLIC_API SharedArrayRawBufferRefs {"
'';
preConfigure = lib.optionalString (lib.versionOlder version "91") ''
preConfigure = lib.optionalString (lib.versionAtLeast version "128") ''
export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild
'' + lib.optionalString (lib.versionOlder version "91") ''
export CXXFLAGS="-fpermissive"
'' + ''
export LIBXUL_DIST=$out

View File

@ -19,13 +19,13 @@
}@inputs:
(if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv).mkDerivation rec {
pname = "dlib";
version = "19.24.4";
version = "19.24.5";
src = fetchFromGitHub {
owner = "davisking";
repo = "dlib";
rev = "v${version}";
sha256 = "sha256-1A/9u+ThtUtmmSwnFSn8S65Yavucl2X+o3bNYgew0Oc=";
sha256 = "sha256-ge35ZytgEbUVG2IWEPp6o9qhQ6z8UnuBR1k7sMRr4j0=";
};
postPatch = ''

View File

@ -250,14 +250,14 @@ buildLuarocksPackage {
commons-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "commons.nvim";
version = "18.0.0-1";
version = "19.0.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/commons.nvim-18.0.0-1.rockspec";
sha256 = "073cmh0a1kqzw71ckir8rk6nrhi14rc96vmxzhl4zbfyr3ji05r7";
url = "mirror://luarocks/commons.nvim-19.0.0-1.rockspec";
sha256 = "0ispimmwx2zh8jpdhdqk0r837y6959l9r2y8iri6l67dnfy7j4ky";
}).outPath;
src = fetchzip {
url = "https://github.com/linrongbin16/commons.nvim/archive/75407685b543cdb2263e92366bc4f3c828f4ad69.zip";
sha256 = "0zm0kjch5rzdkv6faksw16lmhxkil2sdhfl7xvdyc0z830d1k2km";
url = "https://github.com/linrongbin16/commons.nvim/archive/ab59d5ab57d02bcb2b29234637c79ff74d7693b6.zip";
sha256 = "0n7dpwhs1f6rmxvjhqj1vs29apmmcbdwcifjjxi13vdxmx1zn2dq";
};
disabled = luaOlder "5.1";
@ -363,22 +363,22 @@ buildLuarocksPackage {
};
}) {};
cyan = callPackage({ argparse, buildLuarocksPackage, fetchFromGitHub, fetchurl, luafilesystem, tl }:
cyan = callPackage({ argparse, buildLuarocksPackage, fetchFromGitHub, fetchurl, luafilesystem, luasystem, tl }:
buildLuarocksPackage {
pname = "cyan";
version = "0.3.0-1";
version = "0.3.1-2";
knownRockspec = (fetchurl {
url = "mirror://luarocks/cyan-0.3.0-1.rockspec";
sha256 = "1bs5gwgdhibj2gm8y3810b0hh6s9n00fgij8nnjag9kpqrd80vsj";
url = "mirror://luarocks/cyan-0.3.1-2.rockspec";
sha256 = "1fsz3a05blm45qv690w51fa7scqc7l7f3fcj8s8isax89gjbqvgy";
}).outPath;
src = fetchFromGitHub {
owner = "teal-language";
repo = "cyan";
rev = "992e573ca58e55ae33c420ea0f620b2daf5fa9c0";
hash = "sha256-vuRB+0gmwUmFnt+A6m6aa0c54dPZSY4EohHjTcRQRZs=";
rev = "v0.3.1";
hash = "sha256-cqQoWR4lIvYAWp5o9jivpjiILO1ECFhCyXG1+vc2yIM=";
};
propagatedBuildInputs = [ argparse luafilesystem tl ];
propagatedBuildInputs = [ argparse luafilesystem luasystem tl ];
meta = {
homepage = "https://github.com/teal-language/cyan";
@ -422,7 +422,7 @@ buildLuarocksPackage {
}).outPath;
src = fetchurl {
url = "http://dkolf.de/dkjson-lua/dkjson-2.8.tar.gz";
hash = "sha256-JOjNO+uRwchh63uz+8m9QYu/+a1KpdBHGBYlgjajFTI=";
sha256 = "0js9z5ja3ws1i9gj2m673459rwm0gadxbf86mcif7d8286h61yh9";
};
disabled = luaOlder "5.1" || luaAtLeast "5.5";
@ -434,23 +434,25 @@ buildLuarocksPackage {
};
}) {};
fennel = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
fennel = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
buildLuarocksPackage {
pname = "fennel";
version = "1.4.2-1";
version = "1.5.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/fennel-1.4.2-1.rockspec";
sha256 = "17ygacyqdvplyz3046ay3xr4z83sdjrxkcl21mklpxx29j8p0bv1";
url = "mirror://luarocks/fennel-1.5.0-1.rockspec";
sha256 = "0h3a8pinazcp3r3pwkm5inh0aynq9iizljhpk6sj8zhhp0s0bi4g";
}).outPath;
src = fetchurl {
url = "https://fennel-lang.org/downloads/fennel-1.4.2.tar.gz";
sha256 = "1inhy8rrywx8svdzhy1yaaa0cfyrmi21ckj7h8xmd7yqaw66ma86";
src = fetchFromGitHub {
owner = "bakpakin";
repo = "Fennel";
rev = "1.5.0";
hash = "sha256-4jF22lpfapxQvwH/vQh/ePiEfOc8pP2b7roOzPXZRTQ=";
};
disabled = luaOlder "5.1";
meta = {
homepage = "https://fennel-lang.org/";
homepage = "https://fennel-lang.org";
description = "A lisp that compiles to Lua";
maintainers = with lib.maintainers; [ misterio77 ];
license.fullName = "MIT";
@ -553,14 +555,14 @@ buildLuarocksPackage {
fzf-lua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "fzf-lua";
version = "0.0.1349-1";
version = "0.0.1415-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/fzf-lua-0.0.1349-1.rockspec";
sha256 = "0v9frrq896d3k3xvz0ch51r2chrw4kalp5d2jb365wpnk4zda1lj";
url = "mirror://luarocks/fzf-lua-0.0.1415-1.rockspec";
sha256 = "039hy10ml25z2kvm5xiayvswx42rj4di119vgl2ncrfvlr5lnxdf";
}).outPath;
src = fetchzip {
url = "https://github.com/ibhagwan/fzf-lua/archive/1ec6eeda11c3a3dcd544e1c61ad4b8c9b49903c4.zip";
sha256 = "0iw3khl164qvypm7v591gyncjfpmwx6wy45a80zz922iiifgjfgd";
url = "https://github.com/ibhagwan/fzf-lua/archive/e9413dc2b6e8ab7f62385c972df1dceba483492d.zip";
sha256 = "09bh0rjx9g96vz0zfnpi4ych64qawrj1rgrpznkjn1cph8qayj35";
};
disabled = luaOlder "5.1";
@ -604,8 +606,8 @@ buildLuarocksPackage {
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
rev = "17e8fd66182c9ad79dc129451ad015af3d27529c";
hash = "sha256-Mq3NC/DpEEOZlgKctjQqa1RMJHVSAy6jfL4IitObgzs=";
rev = "562dc47189ad3c8696dbf460d38603a74d544849";
hash = "sha256-NNoqXn24Fzkopx1/Xwcv41EpqHwpcMPrQWLfXcPtha4=";
};
disabled = lua.luaversion != "5.1";
@ -634,7 +636,7 @@ buildLuarocksPackage {
meta = {
homepage = "https://github.com/mrcjkb/haskell-tools.nvim";
description = "Supercharge your Haskell experience in neovim!";
description = " 🦥 Supercharge your Haskell experience in neovim!";
maintainers = with lib.maintainers; [ mrcjkb ];
license.fullName = "GPL-2.0";
};
@ -1348,16 +1350,16 @@ buildLuarocksPackage {
lua-resty-openssl = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
buildLuarocksPackage {
pname = "lua-resty-openssl";
version = "1.4.0-1";
version = "1.5.1-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/lua-resty-openssl-1.4.0-1.rockspec";
sha256 = "027fqpbhq0ygh9z7za2hv7wm6ylll8km4czvjfclscm4p55bj10q";
url = "mirror://luarocks/lua-resty-openssl-1.5.1-1.rockspec";
sha256 = "1xqwsh3r9dmasc46c3dwili7g9p427yh7xdvcpiz7pr25y35saps";
}).outPath;
src = fetchFromGitHub {
owner = "fffonion";
repo = "lua-resty-openssl";
rev = "1.4.0";
hash = "sha256-gmsKpt42hgjqhzibYXbdWyj2MqOyC8FlhMY7xiXdtFQ=";
rev = "1.5.1";
hash = "sha256-wkc/9t2jXM2yPEd9ozAMcNe3WsS3MbN01OQ/9sI37Eg=";
};
@ -2039,21 +2041,21 @@ buildLuarocksPackage {
luarocks-build-rust-mlua = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
buildLuarocksPackage {
pname = "luarocks-build-rust-mlua";
version = "0.2.0-1";
version = "0.2.2-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/luarocks-build-rust-mlua-0.2.0-1.rockspec";
sha256 = "0mpxj2wpzgqffic1j6agisaawbfhh16gis29x6y60kyjq446mv0z";
url = "mirror://luarocks/luarocks-build-rust-mlua-0.2.2-1.rockspec";
sha256 = "0y9ms0cf0jp4b26m6qbxsj4s4ng4z112qq4wc79q7xm7zw9dha4p";
}).outPath;
src = fetchFromGitHub {
owner = "khvzak";
owner = "mlua-rs";
repo = "luarocks-build-rust-mlua";
rev = "0.2.0";
hash = "sha256-f6trXv2/gzbitLXwHHrZnowEA/V5Yjb3Q9YlYr+9NBw=";
rev = "0.2.2";
hash = "sha256-vyFX5LFGrC+RXjmwLgBdmVawOCNatJva53MFvKa7ozM=";
};
meta = {
homepage = "https://github.com/khvzak/luarocks-build-rust-mlua";
homepage = "https://github.com/mlua-rs/luarocks-build-rust-mlua";
description = "A LuaRocks build backend for Lua modules written in Rust using mlua";
maintainers = with lib.maintainers; [ mrcjkb ];
license.fullName = "MIT";
@ -2066,11 +2068,11 @@ buildLuarocksPackage {
version = "4.1.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/luarocks-build-treesitter-parser-4.1.0-1.rockspec";
sha256 = "0r3r8dvjn9zvpj06932ijqwypq636zv2vpq5pcj83xfvvi3fd2rw";
sha256 = "sha256-PIvmRtzb9YEkuwXfLfY3w+DrOZZRjGSAvPsnK3dDeWQ=";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/luarocks-build-treesitter-parser/archive/v4.1.0.zip";
sha256 = "1838q30n2xjb8cmhlzxax0kzvxhsdrskkk4715kkca8zk6i3zm98";
sha256 = "sha256-KNU/opkfKTZnCYfMOXVuGvb9J+iqfworQ0t2YcHAaKA=";
};
disabled = luaOlder "5.1";
@ -2210,16 +2212,16 @@ buildLuarocksPackage {
luasystem = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
buildLuarocksPackage {
pname = "luasystem";
version = "0.4.0-1";
version = "0.4.2-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/luasystem-0.4.0-1.rockspec";
sha256 = "0brvqqxfz1w4l4nzaxds1d17flq7rx6lw8pjb565fyb2jhg39qc9";
url = "mirror://luarocks/luasystem-0.4.2-1.rockspec";
sha256 = "15z4n7pbggg1wy397k9mx0jls31snvw0dgr9yklwi4sayfcva3ip";
}).outPath;
src = fetchFromGitHub {
owner = "lunarmodules";
repo = "luasystem";
rev = "v0.4.0";
hash = "sha256-I1dG6ccOQAwpe18DjiYijKjerk+yDRic6fEERSte2Ks=";
rev = "v0.4.2";
hash = "sha256-xYfHK/OtOFtGHAZTPDp/BTywAcCqJIx8+zt3/HPon0w=";
};
disabled = luaOlder "5.1";
@ -2358,8 +2360,8 @@ buildLuarocksPackage {
src = fetchFromGitHub {
owner = "rktjmp";
repo = "lush.nvim";
rev = "7c0e27f50901481fe83b974493c4ea67a4296aeb";
hash = "sha256-GVGIZPBrunaWexwdnkbc0LxM3xMHslrwON2FunN3TDE=";
rev = "6a254139d077ad53be7e4f3602c8da0c84447fd9";
hash = "sha256-gutr36WJRktDxmRjNo0v5tn030nMsAe8vRWx/vKFa2o=";
};
disabled = luaOlder "5.1" || luaAtLeast "5.4";
@ -2404,7 +2406,7 @@ buildLuarocksPackage {
}).outPath;
src = fetchurl {
url = "https://github.com/luvit/luv/releases/download/1.48.0-2/luv-1.48.0-2.tar.gz";
sha256 = "2c3a1ddfebb4f6550293a40ee789f7122e97647eede51511f57203de48c03b7a";
sha256 = "0yivq14dw0vjyl8ibrgdgrj9fbhjyy4yf3m4jc15bxmlxggisfic";
};
disabled = luaOlder "5.1";
@ -2625,14 +2627,14 @@ buildLuarocksPackage {
neotest = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, plenary-nvim }:
buildLuarocksPackage {
pname = "neotest";
version = "5.3.3-1";
version = "5.4.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/neotest-5.3.3-1.rockspec";
sha256 = "0bji9bfh129l9find3asakr97pxq76gdjp96gyibv02m4j0hgqjz";
url = "mirror://luarocks/neotest-5.4.0-1.rockspec";
sha256 = "0bk5z3p2v6m2nwxh82xk0xsqb23xa9i13vfgnd9h9qy3r42jqmmj";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neotest/neotest/archive/f30bab1faef13d47f3905e065215c96a42d075ad.zip";
sha256 = "04jsfxq9xs751wspqbi850bwykyzf0d4fw4ar5gqwij34zja19h7";
url = "https://github.com/nvim-neotest/neotest/archive/32ff2ac21135a372a42b38ae131e531e64833bd3.zip";
sha256 = "144wzzadhrg48fkihffk6jf9c0ij8dg9gng6mcxq5z8mdcvz0124";
};
disabled = luaOlder "5.1";
@ -2701,8 +2703,8 @@ buildLuarocksPackage {
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-cmp";
rev = "a110e12d0b58eefcf5b771f533fc2cf3050680ac";
hash = "sha256-7tEfEjWH5pneI10jLYpenoysRQPa2zPGLTNcbMX3x2I=";
rev = "ae644feb7b67bf1ce4260c231d1d4300b19c6f30";
hash = "sha256-NcodgUp8obTsjgc+5j2dKr0f3FelYikQTJngfZXRZzo=";
};
disabled = luaOlder "5.1" || luaAtLeast "5.4";
@ -2717,14 +2719,14 @@ buildLuarocksPackage {
nvim-nio = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "nvim-nio";
version = "1.9.4-1";
version = "1.10.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/nvim-nio-1.9.4-1.rockspec";
sha256 = "05xccwawl82xjwxmpihb6v4l7sp0msc6hhgs8mgzbsclznf78052";
url = "mirror://luarocks/nvim-nio-1.10.0-1.rockspec";
sha256 = "1dkspn96vvk38l809c7bl2gnjxkj8yj4aj6s5859pz4pxvxzs8p6";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neotest/nvim-nio/archive/7969e0a8ffabdf210edd7978ec954a47a737bbcc.zip";
sha256 = "0ip31k5rnmv47rbka1v5mhljmff7friyj4gcqzz4hqj1yccfl1l0";
url = "https://github.com/nvim-neotest/nvim-nio/archive/a428f309119086dc78dd4b19306d2d67be884eee.zip";
sha256 = "0n40q6znpy1xzywd1hwyivx7y1n0i0fcp3m7jp0vgipm6qssda4b";
};
disabled = luaOlder "5.1";
@ -2880,14 +2882,14 @@ buildLuarocksPackage {
rocks-config-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, rocks-nvim }:
buildLuarocksPackage {
pname = "rocks-config.nvim";
version = "2.0.0-1";
version = "2.2.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rocks-config.nvim-2.0.0-1.rockspec";
sha256 = "0vkzhz6szbm6cy4301c103kck36zgk8ig2ssipclca392cq36716";
url = "mirror://luarocks/rocks-config.nvim-2.2.0-1.rockspec";
sha256 = "129zvspn6ln9yzsxfcgai8vyz7jysxvdf08yy19zdqj0q7swh1iq";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v2.0.0.zip";
sha256 = "1gzpcvb79s8a0mxq331fhwgik4bkaj254avri50wm1y5qxb4n3nx";
url = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v2.2.0.zip";
sha256 = "0vchi7274j4yhs0mv1j2na8k1240xj42kz6787s0vf05xcnywbh6";
};
disabled = luaOlder "5.1";
@ -2904,14 +2906,14 @@ buildLuarocksPackage {
rocks-dev-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, rocks-nvim, rtp-nvim }:
buildLuarocksPackage {
pname = "rocks-dev.nvim";
version = "1.2.3-1";
version = "1.3.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rocks-dev.nvim-1.2.3-1.rockspec";
sha256 = "0xhl0rmklhhlcsn268brj7hhl5lk2djhkllzna2rnjaq80cwsh5j";
url = "mirror://luarocks/rocks-dev.nvim-1.3.0-1.rockspec";
sha256 = "0s8k4kvd7j72ja6qwwxdsqjffkja8pdp95vml5wy9mqwxgvcb5c6";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks-dev.nvim/archive/v1.2.3.zip";
sha256 = "17sv49wl366jxriy0cxy3b1z8vans58jmjg4ap5dc9fmg6687jgs";
url = "https://github.com/nvim-neorocks/rocks-dev.nvim/archive/v1.3.0.zip";
sha256 = "1fhd4mjbwizszxq3wrcdsczljgssgswqi4ibi8kdmnd9biyvbx65";
};
disabled = luaOlder "5.1";
@ -2928,14 +2930,14 @@ buildLuarocksPackage {
rocks-git-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, rocks-nvim }:
buildLuarocksPackage {
pname = "rocks-git.nvim";
version = "1.5.1-1";
version = "2.0.1-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rocks-git.nvim-1.5.1-1.rockspec";
sha256 = "0if5vaxggf4ryik5szm1p5dv324sybm9h3jbpl78ydd1kf0702m6";
url = "mirror://luarocks/rocks-git.nvim-2.0.1-1.rockspec";
sha256 = "0r341vg7x49lnmx77smab5hpjpzwih7jmchfh24xhnv6319d70yx";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks-git.nvim/archive/v1.5.1.zip";
sha256 = "05g31js2k2jjrz0a633vdfz21ji1a2by79yrfhi6wdmp167a5w99";
url = "https://github.com/nvim-neorocks/rocks-git.nvim/archive/v2.0.1.zip";
sha256 = "121x32915sr8il95jjpza2awvh4jknhgb99c091sb4vmdkg3pj24";
};
disabled = luaOlder "5.1";
@ -2952,14 +2954,14 @@ buildLuarocksPackage {
rocks-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, fidget-nvim, fzy, luaOlder, luarocks, nvim-nio, rtp-nvim, toml-edit }:
buildLuarocksPackage {
pname = "rocks.nvim";
version = "2.31.3-1";
version = "2.36.1-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rocks.nvim-2.31.3-1.rockspec";
sha256 = "1rrsshsi6c5njcyaibz1mdvhyjl4kf2973kwahyk84j52fmwzwjv";
url = "mirror://luarocks/rocks.nvim-2.36.1-1.rockspec";
sha256 = "165kij3rk0inh9g3d3jpczhji9bjc7biz5r30xgw9q5xnafy4q38";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks.nvim/archive/v2.31.3.zip";
sha256 = "07500g0jvicbxqmsqdb3dcjpmvd6wgwk8g34649f94nhqk3lglx5";
url = "https://github.com/nvim-neorocks/rocks.nvim/archive/v2.36.1.zip";
sha256 = "0zsrvngwwj9qxsxfbfgfin73aacs763sygixgiibq8rrl6gannxs";
};
disabled = luaOlder "5.1";
@ -2999,21 +3001,21 @@ buildLuarocksPackage {
rustaceanvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "rustaceanvim";
version = "5.0.0-1";
version = "5.2.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rustaceanvim-5.0.0-1.rockspec";
sha256 = "0rabhsya9qx4lybd47b6s95yh6y7nnngpfpqxf2h8pf492790yxc";
url = "mirror://luarocks/rustaceanvim-5.2.0-1.rockspec";
sha256 = "15pz9m5livp0n2bhal8wmg8hbhvyb6195ayzjcm3xsivplc4drns";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/rustaceanvim/archive/5.0.0.zip";
sha256 = "07a0r6lhwxsk3asrnwmj39j51kqaz33qi3kv9788nms3mpvplxc1";
url = "https://github.com/mrcjkb/rustaceanvim/archive/5.2.0.zip";
sha256 = "1mswi4fy0ggikl3cpwhx1lar5pb8zcfp9az8zb9cn00cmzf749s4";
};
disabled = luaOlder "5.1";
meta = {
homepage = "https://github.com/mrcjkb/rustaceanvim";
description = "Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim";
description = "🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim";
maintainers = with lib.maintainers; [ mrcjkb ];
license.fullName = "GPL-2.0";
};
@ -3218,8 +3220,8 @@ buildLuarocksPackage {
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "f2bfde705ac752c52544d5cfa8b0aee0a766c1ed";
hash = "sha256-0fS3RYO/9gwmdK2H9Y/4Z/P++4aEHTHJqR2mH0vWAFY=";
rev = "3b1600d0fd5172ad9fae00987362ca0ef3d8895d";
hash = "sha256-F5TGzfPSDQY+AOzaDXStswHjkGQvnLeTWW5/xdBalpo=";
};
disabled = lua.luaversion != "5.1";
@ -3286,14 +3288,14 @@ buildLuarocksPackage {
toml-edit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, luarocks-build-rust-mlua }:
buildLuarocksPackage {
pname = "toml-edit";
version = "0.3.6-1";
version = "0.4.1-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/toml-edit-0.3.6-1.rockspec";
sha256 = "18fw256vzvfavfwrnzm507k4h3x2lx9l93ghr1ggsi4mhsnjki46";
url = "mirror://luarocks/toml-edit-0.4.1-1.rockspec";
sha256 = "180zdqrzffr7jr9xls895gj5hrx6pfs98rlxwzg71382jy1n79qi";
}).outPath;
src = fetchzip {
url = "https://github.com/vhyrro/toml-edit.lua/archive/v0.3.6.zip";
sha256 = "19v6axraj2n22lmilfr4x9nr40kcjb6wnpsfhf1mh2zy9nsd6ji6";
url = "https://github.com/vhyrro/toml-edit.lua/archive/v0.4.1.zip";
sha256 = "1322p490p6yza3lczfzmwf5nkfj4ra6m9g6hvr2qgay405wnpgy7";
};
disabled = luaOlder "5.1";

View File

@ -143,15 +143,6 @@ in
'';
});
fennel = prev.fennel.overrideAttrs(oa: {
nativeBuildInputs = oa.nativeBuildInputs ++ [
installShellFiles
];
postInstall = ''
installManPage fennel.1
'';
});
# Until https://github.com/swarn/fzy-lua/pull/8 is merged,
# we have to invoke busted manually
fzy = prev.fzy.overrideAttrs(oa: {
@ -511,6 +502,9 @@ in
propagatedBuildInputs = oa.propagatedBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ];
# ld: symbol(s) not found for architecture arm64
# clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
meta.broken = stdenv.isDarwin;
});
lush-nvim = prev.lush-nvim.overrideAttrs (drv: {
@ -810,7 +804,7 @@ in
cargoDeps = rustPlatform.fetchCargoTarball {
src = oa.src;
hash = "sha256-2P+mokkjdj2PccQG/kAGnIoUPVnK2FqNfYpHPhsp8kw=";
hash = "sha256-PLihirhJshcUQI3L1eTcnQiZvocDl29eQHhdBwJQRU8=";
};
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin

View File

@ -13,7 +13,7 @@
pytest-aiohttp,
pytest-asyncio,
pytestCheckHook,
pytest-cov,
pytest-cov-stub,
pythonOlder,
yarl,
}:
@ -50,7 +50,7 @@ buildPythonPackage rec {
aresponses
pytest-aiohttp
pytest-asyncio
pytest-cov
pytest-cov-stub
pytestCheckHook
];

View File

@ -4,46 +4,49 @@
fetchFromGitHub,
buildPythonPackage,
python,
pythonOlder,
pytestCheckHook,
assertpy,
mock,
path,
pyhamcrest,
pytest-html,
glibcLocales,
colorama,
cucumber-tag-expressions,
parse,
parse-type,
setuptools,
six,
}:
buildPythonPackage rec {
pname = "behave";
version = "1.2.7.dev2";
format = "setuptools";
version = "1.2.7.dev5";
pyproject = true;
src = fetchFromGitHub {
owner = "behave";
repo = pname;
repo = "behave";
rev = "v${version}";
hash = "sha256-B8PUN1Q4UAsDWrHjPZDlpaPjCKjI/pAogCSI+BQnaWs=";
hash = "sha256-G1o0a57MRczwjGLl/tEYC+yx3nxpk6+E58RvR9kVJpA=";
};
build-system = [ setuptools ];
nativeCheckInputs = [
pytestCheckHook
assertpy
mock
path
pyhamcrest
pytest-html
];
# upstream tests are failing, so instead we only check if we can import it
doCheck = false;
doCheck = pythonOlder "3.12";
pythonImportsCheck = [ "behave" ];
buildInputs = [ glibcLocales ];
propagatedBuildInputs = [
dependencies = [
colorama
cucumber-tag-expressions
parse
@ -60,15 +63,13 @@ buildPythonPackage rec {
disabledTests = lib.optionals stdenv.isDarwin [ "test_step_decorator_async_run_until_complete" ];
postCheck = ''
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/
${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' issue.features/
'';
meta = with lib; {
changelog = "https://github.com/behave/behave/blob/${src.rev}/CHANGES.rst";
homepage = "https://github.com/behave/behave";
description = "behaviour-driven development, Python style";
mainProgram = "behave";

View File

@ -7,7 +7,7 @@
requests,
websocket-client,
# dependencies for tests
pytest-cov,
pytest-cov-stub,
pytest,
sure,
responses,
@ -35,7 +35,7 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
pytest-cov
pytest-cov-stub
pytest
sure
responses

View File

@ -2,7 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pytest-cov,
pytest-cov-stub,
pytestCheckHook,
requests,
}:
@ -22,7 +22,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ requests ];
nativeCheckInputs = [
pytest-cov
pytest-cov-stub
pytestCheckHook
];

View File

@ -9,7 +9,7 @@
lib,
pytest,
pytest-asyncio,
pytest-cov,
pytest-cov-stub,
pytest-rerunfailures,
pytestCheckHook,
redis,
@ -46,7 +46,7 @@ buildPythonPackage rec {
hypothesis
pytest
pytest-asyncio
pytest-cov
pytest-cov-stub
pytest-rerunfailures
pytestCheckHook
];

View File

@ -9,7 +9,7 @@
pykwalify,
jsonschema,
pytestCheckHook,
pytest-cov,
pytest-cov-stub,
}:
buildPythonPackage rec {
@ -34,11 +34,9 @@ buildPythonPackage rec {
jsonschema
];
nativeCheckInputs = [ pytestCheckHook ];
checkInputs = [
# addopts uses --no-cov
pytest-cov
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
disabledTestPaths = [

View File

@ -1,14 +1,17 @@
{
lib,
buildPythonPackage,
fetchPypi,
glyphslib,
setuptools-scm,
ufo2ft,
fonttools,
fetchFromGitHub,
pytestCheckHook,
fontmath,
lxml,
fonttools,
glyphslib,
setuptools,
setuptools-scm,
skia-pathops,
ttfautohint-py,
ufo2ft,
ufolib2,
}:
buildPythonPackage rec {
@ -16,28 +19,45 @@ buildPythonPackage rec {
version = "3.9.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-KrfT0fvE1fhaM2RH4LqRUda7yMHg2T59UdGi3SSZP7s=";
extension = "zip";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "fontmake";
rev = "v${version}";
hash = "sha256-q6ul9MYbq85RpZE0ozHOCBNAR4r9InIjumadT1GyJ6k=";
};
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [
glyphslib
ufo2ft
fonttools
fontmath
lxml
build-system = [
setuptools
setuptools-scm
];
dependencies =
[
fontmath
fonttools
glyphslib
ufo2ft
ufolib2
]
++ fonttools.optional-dependencies.ufo
++ fonttools.optional-dependencies.lxml
++ fonttools.optional-dependencies.unicode;
optional-dependencies = {
pathops = [ skia-pathops ];
autohint = [ ttfautohint-py ];
json = ufolib2.optional-dependencies.json;
repacker = fonttools.optional-dependencies.repacker;
};
nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.autohint;
pythonImportsCheck = [ "fontmake" ];
meta = {
description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)";
homepage = "https://github.com/googlefonts/fontmake";
changelog = "https://github.com/googlefonts/fontmake/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.BarinovMaxim ];
};

View File

@ -3,7 +3,7 @@
buildPythonPackage,
fetchFromGitHub,
pytest-asyncio,
pytest-cov,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
requests,
@ -27,7 +27,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytest-asyncio
pytest-cov
pytest-cov-stub
pytestCheckHook
requests
requests-mock

View File

@ -4,7 +4,7 @@
fetchPypi,
isPy27,
pytest,
pytest-cov,
pytest-cov-stub,
nbval,
jupyter-packaging,
ipywidgets,
@ -38,7 +38,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytest
pytest-cov
pytest-cov-stub
nbval
];

View File

@ -5,26 +5,34 @@
isPy3k,
lib,
mkdocs,
poetry-core,
livereload,
tornado,
}:
buildPythonPackage rec {
pname = "mkdocs-drawio-exporter";
version = "0.9.1";
format = "setuptools";
pyproject = true;
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
pname = "mkdocs_drawio_exporter";
inherit version;
hash = "sha256-x8X8hvN/tL8C6VhgMCEHDh2hILjBoyLgQfsFD1+qXgo=";
};
propagatedBuildInputs = [
build-system = [ poetry-core ];
dependencies = [
mkdocs
drawio-headless
livereload
tornado
];
pythonImportsCheck = [ "mkdocsdrawioexporter" ];
pythonImportsCheck = [ "mkdocs_drawio_exporter" ];
meta = with lib; {
description = "Exports your Draw.io diagrams at build time for easier embedding into your documentation";

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "motionblinds";
version = "0.6.23";
version = "0.6.24";
pyproject = true;
disabled = pythonOlder "3.7";
@ -18,14 +18,14 @@ buildPythonPackage rec {
owner = "starkillerOG";
repo = "motion-blinds";
rev = "refs/tags/${version}";
hash = "sha256-f5R58p6tMVqmXAjybae8qjeNI3vxtGJ7qxZOl9H5iKw=";
hash = "sha256-4ao0FalOFrr4or7iUqx5aAw93yqI2i3/uF4rdHOsa7M=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [ pycryptodomex ];
dependencies = [ pycryptodomex ];
# Project has no tests
# Module has no tests
doCheck = false;
pythonImportsCheck = [ "motionblinds" ];

View File

@ -28,7 +28,7 @@ buildPythonPackage rec {
# in the project's CI.
src = fetchPypi {
inherit pname version;
hash = "sha256-fLo4sQryDNNutDiNqWYHHNwS/bEBg4iQ/jwgyx1+ZsU=";
hash = "sha256-HDN6KA2JYDZqad/MybsX1oV/VvXPshb0mi0UBZq47Qs=";
};
nativeBuildInputs = [

View File

@ -11,7 +11,7 @@
# tests
hypothesis,
pytest-cov,
pytest-cov-stub,
pytestCheckHook,
}:
@ -31,7 +31,7 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace pytest.ini \
--replace "--cov=ndindex/ --cov-report=term-missing --flakes" ""
--replace "--flakes" ""
'';
passthru.optional-dependencies.arrays = [ numpy ];
@ -40,7 +40,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
hypothesis
pytest-cov # uses cov markers
pytest-cov-stub
pytestCheckHook
] ++ passthru.optional-dependencies.arrays;

View File

@ -8,7 +8,7 @@
typing-extensions,
pytestCheckHook,
pytest-benchmark,
pytest-cov,
pytest-cov-stub,
pydantic,
}:
@ -39,7 +39,7 @@ buildPythonPackage rec {
pydantic
pytestCheckHook
pytest-benchmark
pytest-cov
pytest-cov-stub
];
pytestFlagsArray = [ "--benchmark-disable" ];

View File

@ -9,7 +9,7 @@
pyexcel-xls,
psutil,
pytestCheckHook,
pytest-cov,
pytest-cov-stub,
setuptools,
}:
@ -43,7 +43,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
pytest-cov
pytest-cov-stub
pyexcel
pyexcel-xls
psutil

View File

@ -7,7 +7,7 @@
metar,
pytest-aiohttp,
pytest-asyncio,
pytest-cov,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
setuptools,
@ -45,7 +45,7 @@ buildPythonPackage rec {
freezegun
pytest-aiohttp
pytest-asyncio
pytest-cov
pytest-cov-stub
pytestCheckHook
] ++ lib.flatten (lib.attrValues optional-dependencies);

View File

@ -6,6 +6,7 @@
buildPythonPackage rec {
pname = "pytest-cov-stub";
# please use pythonRemoveDeps rather than change this version
version = (lib.importTOML ./src/pyproject.toml).project.version;
pyproject = true;

View File

@ -3,7 +3,7 @@
buildPythonPackage,
fetchFromGitHub,
poetry-core,
pytest-cov,
pytest-cov-stub,
pytest-asyncio,
pytest-timeout,
responses,
@ -30,7 +30,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytest-asyncio
pytest-timeout
pytest-cov
pytest-cov-stub
pytestCheckHook
responses
];

View File

@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "softlayer";
version = "6.2.2";
version = "6.2.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -29,8 +29,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = pname;
repo = "softlayer-python";
rev = "refs/tags/v.${version}";
hash = "sha256-xlfVxQFsBKKpEsVmPlxn0sSyePNEmhly6wS/lTvP3DA=";
rev = "refs/tags/v${version}";
hash = "sha256-Hl3nW31EoqjziYMeeHip/Ieq8eYLa7//qrENThPa7ns=";
};
postPatch = ''

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "trimesh";
version = "4.4.3";
version = "4.4.4";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-pBEK1oMtI8z03zKHKjgE7uohZCE1KRPRUU7Z2tIAHV4=";
hash = "sha256-XFP2/gHi+uNXrTO3ltv9tOr+shFDVPRs85YIgGEU7Pg=";
};
build-system = [ setuptools ];

View File

@ -0,0 +1,54 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
setuptools,
setuptools-scm,
distutils,
ttfautohint,
fonttools,
}:
buildPythonPackage rec {
pname = "ttfautohint-py";
version = "0.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "fonttools";
repo = "ttfautohint-py";
rev = "refs/tags/v${version}";
hash = "sha256-NTog461RpyHKo/Qpicj3tflehaKj9LlZEN9qeCMM6JQ=";
};
postPatch = ''
substituteInPlace src/python/ttfautohint/__init__.py \
--replace-fail 'find_library("ttfautohint")' '"${lib.getLib ttfautohint}/lib/libttfautohint.so"'
'';
env.TTFAUTOHINTPY_BUNDLE_DLL = false;
build-system = [
setuptools
setuptools-scm
distutils
];
buildInputs = [ ttfautohint ];
nativeCheckInputs = [
pytestCheckHook
fonttools
];
pythonImportsCheck = [ "ttfautohint" ];
meta = {
description = "Command line utility and Python library that merges two UFO source format fonts into a single file";
homepage = "https://github.com/fonttools/ttfautohint-py";
changelog = "https://github.com/fonttools/ttfautohint-py/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jopejoe1 ];
};
}

View File

@ -7,6 +7,7 @@
, fetchFromGitHub
, gradle
, jdk17
, zenity
# for arc
, SDL2
@ -189,6 +190,7 @@ stdenv.mkDerivation {
mkdir -p $out/bin
makeWrapper ${jdk}/bin/java $out/bin/mindustry \
--add-flags "-jar $out/share/mindustry.jar" \
${lib.optionalString stdenv.isLinux "--suffix PATH : ${lib.makeBinPath [zenity]}"} \
--suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \
--set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/'' + optionalString enableWayland '' \
--set SDL_VIDEODRIVER wayland \

View File

@ -1,362 +1,362 @@
{
"attica": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/attica-6.4.0.tar.xz",
"hash": "sha256-w/ZuLALvMT+iQPWqv7ytOWn9/HiMlgTRz35OCJP7V0A="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/attica-6.5.0.tar.xz",
"hash": "sha256-bOgGGNxSp6LEikJWFxYexGtxJtBeyyMHbmVf3h1gEOY="
},
"baloo": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/baloo-6.4.0.tar.xz",
"hash": "sha256-B0dK6ixAek+wHNJkBYmpPouq2wT4uhmubY9AKTxMRpk="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/baloo-6.5.0.tar.xz",
"hash": "sha256-2ARstuffHVuDEK7U5Nxx7IN5tgJ0S5DQj6nxS9pHpq8="
},
"bluez-qt": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/bluez-qt-6.4.0.tar.xz",
"hash": "sha256-0tCu6fQrUBwAcRVlwuvofGCK5MB4bZAThvxVxlA5sWs="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/bluez-qt-6.5.0.tar.xz",
"hash": "sha256-8CNHZvwa+UEHCNCIbu8wQXWwmluZxIwOuHeoD+xqpl4="
},
"breeze-icons": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/breeze-icons-6.4.0.tar.xz",
"hash": "sha256-a2wMguG9ogI67q4jWXZSKkIJ73YYGSiwUpSKdr4fGgA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/breeze-icons-6.5.0.tar.xz",
"hash": "sha256-ym6PrvhIkXUOvCQNC5n0JBTl9kNnjVsa6UvLrVUasMQ="
},
"extra-cmake-modules": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/extra-cmake-modules-6.4.0.tar.xz",
"hash": "sha256-ztPyB0HdrSQYXcEoCgwNkXG6JQj4R2JBfXSAhWEpWt0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/extra-cmake-modules-6.5.0.tar.xz",
"hash": "sha256-jzwsoeUCmQYp87aFBxifwPkS88qyebUA2ske5wMaSc8="
},
"frameworkintegration": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/frameworkintegration-6.4.0.tar.xz",
"hash": "sha256-RoLRXDouSXhe2o9sMJ5fMNgv9qW8w5IoVEN0xkGZ73E="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/frameworkintegration-6.5.0.tar.xz",
"hash": "sha256-xXtVdC5gLSyFyQAhWOiP4HfToWTGjtUMd2cqdOEaDfQ="
},
"kapidox": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kapidox-6.4.0.tar.xz",
"hash": "sha256-HGDRJ4pajH/UtlRVCpRzM3jpLcCrElD6/fojICaE+yM="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kapidox-6.5.0.tar.xz",
"hash": "sha256-8lQvIiEUdJh5mJActIrSIC7lFWzzmYBYhOFEnZhgo6E="
},
"karchive": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/karchive-6.4.0.tar.xz",
"hash": "sha256-vOTQY4SWDGx8GMhpCLLXTBjYYAgWxvFcKSAwOkgG2rs="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/karchive-6.5.0.tar.xz",
"hash": "sha256-5VMCU8cN4CSSbhmFFU+RFfAq9Qx9mYqHSjF1tARETnk="
},
"kauth": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kauth-6.4.0.tar.xz",
"hash": "sha256-BZjiBd7cZwrzoHe6AhEKRNsvnV5V31ADsPwkkKwv8c4="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kauth-6.5.0.tar.xz",
"hash": "sha256-GvUXpQnaHF3bRCDXQwiUt1FWLgfMTBNKvg3LYGNY05Q="
},
"kbookmarks": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kbookmarks-6.4.0.tar.xz",
"hash": "sha256-E8crDEfjM62mCkZlr3gpkQ9cg91u1XeJ+jIpymitMoA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kbookmarks-6.5.0.tar.xz",
"hash": "sha256-l9q86uWw6sEQfEnFDR19mn0muSRsmrU9EjmQUlxV++w="
},
"kcalendarcore": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcalendarcore-6.4.0.tar.xz",
"hash": "sha256-YDWbHtMxYRP/A5jD//yESTmAdZf30aszF7Y0uYW9qlc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcalendarcore-6.5.0.tar.xz",
"hash": "sha256-baWZ9e0V9s5UwvkoAm7i9k7dL+DVIDtPULv4mosh9SI="
},
"kcmutils": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcmutils-6.4.0.tar.xz",
"hash": "sha256-WbEpP/5nE0zrow+3znQYicVPha0MkNFVaIvdDfyPMb4="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcmutils-6.5.0.tar.xz",
"hash": "sha256-64R07FrmIONh5u+XHj7BSsaAe+LfjgLSfn2K6brcqZM="
},
"kcodecs": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcodecs-6.4.0.tar.xz",
"hash": "sha256-LKPnBjToEW3TJgHFUeCSz5lB6h0ZrlAe7Z5Ud+KYv9Q="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcodecs-6.5.0.tar.xz",
"hash": "sha256-6Wwi9UcOOVkazbsB6FID5dLxecgLGMKlmRln4Wr5Hgg="
},
"kcolorscheme": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcolorscheme-6.4.0.tar.xz",
"hash": "sha256-XHSvR2s2/JmyRtF/ow+Mm5SA95J3+gd5COdaj8Fxgow="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcolorscheme-6.5.0.tar.xz",
"hash": "sha256-MjtV3TfcQIzMFY3yzlyKRrYo+TVdKneRbkVlr86QtCs="
},
"kcompletion": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcompletion-6.4.0.tar.xz",
"hash": "sha256-8I4q9QRqe6WjJOR1qfEHKUs7g+ReFNcOQi+Z3aFFnVE="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcompletion-6.5.0.tar.xz",
"hash": "sha256-d4r4DlAV9Jzh4d3mGAv1EWeh9d+xLQfHMha1+oBO7fk="
},
"kconfig": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kconfig-6.4.0.tar.xz",
"hash": "sha256-+7PQb95OoZlVz9vLzsA954pG+MIo9B1OeqbOuI3BFt0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kconfig-6.5.0.tar.xz",
"hash": "sha256-5I5TFdNJHd+4eKvxJKbhSIamMXhX+mP0EezXINqKXRM="
},
"kconfigwidgets": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kconfigwidgets-6.4.0.tar.xz",
"hash": "sha256-mPfp4RVX0tHbWXEQUqO0y0+FcjFu/2QhRZuQtdQ5OYM="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kconfigwidgets-6.5.0.tar.xz",
"hash": "sha256-pIBGg/wEd/tQXEEERBZL8oA//CFtIhYJoL5YQoA+VhI="
},
"kcontacts": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcontacts-6.4.0.tar.xz",
"hash": "sha256-ubctO9GmTAAWtxIueeZXNYIm0jn68xaZ1nANleUr1Z0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcontacts-6.5.0.tar.xz",
"hash": "sha256-txHgmEaaWCEES/mb100KFrgEcxo0fPU2CaS9G1+l/cQ="
},
"kcoreaddons": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcoreaddons-6.4.0.tar.xz",
"hash": "sha256-xc0yE1C8oRk9DOhsjt5wxpAqK6A8V3Y3tKpTf82M4rg="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcoreaddons-6.5.0.tar.xz",
"hash": "sha256-Xg4dKdzU4E50WE3xV3066f+9R8zbhO5WItHtI3Pl75g="
},
"kcrash": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kcrash-6.4.0.tar.xz",
"hash": "sha256-ARIVvJUqQwwdCTsL9c2tcFfJqQmNhhFuacbdEABWdpc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kcrash-6.5.0.tar.xz",
"hash": "sha256-hwxs4VEyzDBAvFk0RxJe08JWtpi6Izt1hDD05yUxm/M="
},
"kdav": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdav-6.4.0.tar.xz",
"hash": "sha256-z0KJNRWJhEQ/wHNiUs8ucXBlt2py5qQoZMDb51gQOOw="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdav-6.5.0.tar.xz",
"hash": "sha256-kA+7i2MtlGzTXoJuZPUFBzRhUfG1+0ATeJCrwolu788="
},
"kdbusaddons": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdbusaddons-6.4.0.tar.xz",
"hash": "sha256-IS+mvkGUqBnw+0jzxv0rWIRrqRFhK3PpfcfpD2EEyYc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdbusaddons-6.5.0.tar.xz",
"hash": "sha256-r6z5/116LdKUUgcYUI0z6t8/Y6lXCR0wpopFqx7wqP4="
},
"kdeclarative": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdeclarative-6.4.0.tar.xz",
"hash": "sha256-u0e1IaTIQ/az3njUb+Qw3hWIZZjG2J05vZHHZ/QPaoU="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdeclarative-6.5.0.tar.xz",
"hash": "sha256-s8QVLJcuPVNkXxyIdXp4zltm+/Tst25Nad940qs4z4M="
},
"kded": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kded-6.4.0.tar.xz",
"hash": "sha256-vlriHPm0Nur+ScqL51AlmJncgDUBxH7kNtja1tM7+5w="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kded-6.5.0.tar.xz",
"hash": "sha256-KSypQazGnEQ/R4lep4RJOwj9Vzr+D06Z9fQrigKZVLA="
},
"kdesu": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdesu-6.4.0.tar.xz",
"hash": "sha256-8nrlh+tfk7sYkLQU7j62OyVAT5b229AEhCa2DgrKy1o="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdesu-6.5.0.tar.xz",
"hash": "sha256-A8CNC7z3HvEi6+PJexCQkq2ehxnSDTQdhRBge9qas5M="
},
"kdnssd": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdnssd-6.4.0.tar.xz",
"hash": "sha256-C8Y5pBs77t7NCQDKp1f/hk4pNX41gvkVAJK+DlVYzBI="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdnssd-6.5.0.tar.xz",
"hash": "sha256-N/0lTDm2b8obUviYwEXzIqDqMXfJJ5QZecy3ubmOv/0="
},
"kdoctools": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kdoctools-6.4.0.tar.xz",
"hash": "sha256-Y+ES+QcRjK/UWEzo6zFJ01V6f56aQAXRDEDMz0bSTcI="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kdoctools-6.5.0.tar.xz",
"hash": "sha256-eB4a4iLuHlTMYxBBLDcJ4MM+HE/4JHDSlg1uXapgAd0="
},
"kfilemetadata": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kfilemetadata-6.4.0.tar.xz",
"hash": "sha256-Rf9DMFS+TF7xSiqoQjc8BnnWMqrP23jfupifc4jExe0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kfilemetadata-6.5.0.tar.xz",
"hash": "sha256-V0QZgj1/44nfxrwUGwqRUf2tpnFbmFyCaSk8DAT9wPQ="
},
"kglobalaccel": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kglobalaccel-6.4.0.tar.xz",
"hash": "sha256-DWonS+OJG5yt9l48H8fJV1tuaLU3OIj1T52J35HNqKY="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kglobalaccel-6.5.0.tar.xz",
"hash": "sha256-iDoc9I/EuM4iq58UO2vdVGrDD74pyQ1ANfsq3zijOaQ="
},
"kguiaddons": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kguiaddons-6.4.0.tar.xz",
"hash": "sha256-4cJd8LgJW+JJfSBB5xzIQ+r3WmcH9lsc10OG/jJizxE="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kguiaddons-6.5.0.tar.xz",
"hash": "sha256-cZP6kwuF+m5/2jqF8eUvNi7NPhEOgAVdkITur66sSAc="
},
"kholidays": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kholidays-6.4.0.tar.xz",
"hash": "sha256-EgD6tr0VRvAWaIWX7vbBDJSPmZ1O6rHo6qyjRczSrc0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kholidays-6.5.0.tar.xz",
"hash": "sha256-hKAwhf+vqwbNKKMhVLD+RpT1izfSHxRogYtf7CxkPco="
},
"ki18n": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/ki18n-6.4.0.tar.xz",
"hash": "sha256-wGnlWeOjEb+XfxNtd3MsXz5CU3Ut7/m6mZpqjXtK4lU="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/ki18n-6.5.0.tar.xz",
"hash": "sha256-eHPTaorkUnRdWBAOfNoGfq5jLHh8H8WjxjpwcqrPp/w="
},
"kiconthemes": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kiconthemes-6.4.0.tar.xz",
"hash": "sha256-1aUsM47D96ke2MVSgw3WiL3wQGUa0sSnlMGO7ksWH0c="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kiconthemes-6.5.0.tar.xz",
"hash": "sha256-zcTFeI4LP4jyWqR01R1DSW5MdCd3+IAl7y+mBvJyEzE="
},
"kidletime": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kidletime-6.4.0.tar.xz",
"hash": "sha256-Ti4EVagD3tK+501XNwHS2VNZ6u0veWTyMKQOMFioTCw="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kidletime-6.5.0.tar.xz",
"hash": "sha256-ttx9bq22QiSAAPFlFVpy0t+rbBqT4BMPj4M5SnYo6vY="
},
"kimageformats": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kimageformats-6.4.0.tar.xz",
"hash": "sha256-/XvauI57zMszOHnrKN7fNYQsEQwFf/TH0/p3cI5UEpY="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kimageformats-6.5.0.tar.xz",
"hash": "sha256-xkq3NkdyZPigzkQY8L5imtDxegeBYbJ3NwDTuWynUCI="
},
"kio": {
"version": "6.4.1",
"url": "mirror://kde/stable/frameworks/6.4/kio-6.4.1.tar.xz",
"hash": "sha256-i/H8bJk1EKFs2PcHebAjcB+XFHHTafVlqEBvSw07kFk="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kio-6.5.0.tar.xz",
"hash": "sha256-nIv4NTRXejItRjPSQdl3C8i6ikViTi8EHhuNvbwZihM="
},
"kirigami": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kirigami-6.4.0.tar.xz",
"hash": "sha256-7KIM2c5y0O61e9X7o5TyDYO7RhKsSkwj+4ynSpMYjDc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kirigami-6.5.0.tar.xz",
"hash": "sha256-Q6c7Fh4chdo+rcY+fMbBs8aGqlaVGw0OLfSizBM0dZw="
},
"kitemmodels": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kitemmodels-6.4.0.tar.xz",
"hash": "sha256-lggxLFVkJ5tiTEll++GYv7LSaASpFc9RpGjjG7mYLWE="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kitemmodels-6.5.0.tar.xz",
"hash": "sha256-NuwEs/0lJJoc6c/QiCTywuQO9NVCJOEY4G+iHF+aT3Y="
},
"kitemviews": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kitemviews-6.4.0.tar.xz",
"hash": "sha256-QoC5vNxSeXmzZO0SLRUudZUf94/YAdRszOLeZgjVZEA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kitemviews-6.5.0.tar.xz",
"hash": "sha256-B/OziAWXmVqbvDybxH26K82STsUDtCPthWbn6AXLtpw="
},
"kjobwidgets": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kjobwidgets-6.4.0.tar.xz",
"hash": "sha256-ImIaUsxpUypUlcfoVJ0mrx3dO4Uy6aoNPBCJUBFN1WU="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kjobwidgets-6.5.0.tar.xz",
"hash": "sha256-Z8XasRka5oMNRSdRdn6UmRs0/q9CKPGKsELCwSCRCtg="
},
"knewstuff": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/knewstuff-6.4.0.tar.xz",
"hash": "sha256-rvb1CFrewx3Anwc/OISTUVb3+SdsyOehsdhGw5zYEm8="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/knewstuff-6.5.0.tar.xz",
"hash": "sha256-gVWJpmC5pTofwYJouVkUY2EktvPzGTyUBOCVn4tzjHk="
},
"knotifications": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/knotifications-6.4.0.tar.xz",
"hash": "sha256-d+m2gAZtxJyNXiOsYpH7ugUyjdoyfVw0yjFB4f/rJdw="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/knotifications-6.5.0.tar.xz",
"hash": "sha256-PXPcaCF2E4y6mVtpVO6v3UUHCXMT8bIQKk1e2QWj7uY="
},
"knotifyconfig": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/knotifyconfig-6.4.0.tar.xz",
"hash": "sha256-2O9BS2jAmmSfL4nULRQrB5Z85Ze2b7s/hd0CIjw88ng="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/knotifyconfig-6.5.0.tar.xz",
"hash": "sha256-+yrWv/tU5qBfq03IcYl76roDpG1C+ikLVu4fy7LuBZQ="
},
"kpackage": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kpackage-6.4.0.tar.xz",
"hash": "sha256-ukoWq7e9UnxC0SxXYx5ReLj9D/vwHM93WKDrarGtwAg="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kpackage-6.5.0.tar.xz",
"hash": "sha256-zzRSwXGREgR/mjvQCrLh5ZuntrT+YgpDU4hTCFCNt3M="
},
"kparts": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kparts-6.4.0.tar.xz",
"hash": "sha256-/zDFHTt8Y/lUIPqvfJphrTprWTcyiky9Vq1SWwIemY0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kparts-6.5.0.tar.xz",
"hash": "sha256-TrVBeyZ/d8FshUgvkZrftbdxSpUjl3HEqvv+uQ5KNx8="
},
"kpeople": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kpeople-6.4.0.tar.xz",
"hash": "sha256-ShOFt/yi+oBO16ARH5xsWiW6mMe/gR51wb8d0/tHKWQ="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kpeople-6.5.0.tar.xz",
"hash": "sha256-ECzXrTJgsNEL0uwDMMg5gm6jJMXNhlgBY9g2TTNwpsI="
},
"kplotting": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kplotting-6.4.0.tar.xz",
"hash": "sha256-T5x3DIFHSPl6HRTg7JxFLy5AZXT7UahecYJO6Bpx/Hc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kplotting-6.5.0.tar.xz",
"hash": "sha256-AhaXxNQgAvrUnbDSg1UqK0DoH5aHY9h7OtR+w/WA2UM="
},
"kpty": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kpty-6.4.0.tar.xz",
"hash": "sha256-aGJnidy3nZ/Rs6TFUBZ0cmAIW6TGj3tAil8dGQzKRiM="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kpty-6.5.0.tar.xz",
"hash": "sha256-3JNlukqDuUioMm8vddRtTeqDJ7wGte4hkDBsv4/fUkE="
},
"kquickcharts": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kquickcharts-6.4.0.tar.xz",
"hash": "sha256-pBYpyu84d84DxznAlQ8JSJD1sqIKBB3TOL3rJAxkAd4="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kquickcharts-6.5.0.tar.xz",
"hash": "sha256-xamlzCBv3SqGhUKEsIGxZXX2OLuyi2WAZWd7RH2MkAI="
},
"krunner": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/krunner-6.4.0.tar.xz",
"hash": "sha256-qsSY8dMTv8GoOI/0dhfmjFBBPaFadEo4oFxHM3gxb7w="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/krunner-6.5.0.tar.xz",
"hash": "sha256-VnSv7yP+Z0eqqLBsQFpTpOQPd7okU10ggNUSYCsDYDA="
},
"kservice": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kservice-6.4.0.tar.xz",
"hash": "sha256-zbnX48b/o/faj/M6ez7Lle+EUb3vuXvLeUUvoD59ih8="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kservice-6.5.0.tar.xz",
"hash": "sha256-SM3SBLyfuSgsN7a8wjZPfbwSQFdUfdtrFHGYi0ZM+L0="
},
"kstatusnotifieritem": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kstatusnotifieritem-6.4.0.tar.xz",
"hash": "sha256-MnkBEXQUgoRK4ZAcN9tWg0bvwq5o9xLOzGuaXBy6gbk="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kstatusnotifieritem-6.5.0.tar.xz",
"hash": "sha256-Xe9eGoYthdDzJcTxlzlnvPj6lzU/4dNhocr7BnAZhAM="
},
"ksvg": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/ksvg-6.4.0.tar.xz",
"hash": "sha256-M5HHT8MVJuf/JlliLQDpO1zYZnOXYR1WdgYuSzLYZTA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/ksvg-6.5.0.tar.xz",
"hash": "sha256-riAkvU1+aVDJK1kk3s7V1VthAXSdY1eZsk/trGDLJs0="
},
"ktexteditor": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/ktexteditor-6.4.0.tar.xz",
"hash": "sha256-gl4aeVSdZvIE1Qhp8d+7yKFKuW52s+jD6JmyNu3M1tQ="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/ktexteditor-6.5.0.tar.xz",
"hash": "sha256-m7uIdaaMa2J/OZnC2rL5H+FVcOKkPDsqqRSeW5jbuME="
},
"ktexttemplate": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/ktexttemplate-6.4.0.tar.xz",
"hash": "sha256-dDAP6A/X0OhySzgdj4hTRdkfR640EAPUZV6CsNq2v5A="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/ktexttemplate-6.5.0.tar.xz",
"hash": "sha256-KVo/h/8Irxf4NJb9ZrP2NJF7ysZGbHm+H0y2eG7LBMY="
},
"ktextwidgets": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/ktextwidgets-6.4.0.tar.xz",
"hash": "sha256-CLxpRhremUTTXlBV973dUxN3TXpsZyfxKmjljR0/znA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/ktextwidgets-6.5.0.tar.xz",
"hash": "sha256-qZ3xxjSDHp0B9wQAnJUTeBCDNKQlitW2T2D1XlV3AhI="
},
"kunitconversion": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kunitconversion-6.4.0.tar.xz",
"hash": "sha256-MOlpRny28gyX4mPlOBNx6tRYUXdYEoAiFB1SJypmBHQ="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kunitconversion-6.5.0.tar.xz",
"hash": "sha256-x9UhQjx0Q9MFgD4vYG6N/1j6nhx8c7Cbzo3Thi6ZL+Q="
},
"kuserfeedback": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kuserfeedback-6.4.0.tar.xz",
"hash": "sha256-TMQsRDPIBEGuwhiDiZgW6BJRjo8sjBDI2K3Z53RTglc="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kuserfeedback-6.5.0.tar.xz",
"hash": "sha256-M0jS8puS5lUkm3UP13+1a8RRG6O6dDmb0/skQIIaKSo="
},
"kwallet": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kwallet-6.4.0.tar.xz",
"hash": "sha256-sohaCI5fcHVFEcwd2wpDTBpteTnZx3/8NulUg0kfnkA="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kwallet-6.5.0.tar.xz",
"hash": "sha256-nrnvUKEDGa/fjdurBrt2wF9D2NQJVIPy2O/tdS1dgVo="
},
"kwidgetsaddons": {
"version": "6.4.1",
"url": "mirror://kde/stable/frameworks/6.4/kwidgetsaddons-6.4.1.tar.xz",
"hash": "sha256-010hmP8aRYHn1zOdW0IS5ezwXEheI0C+ILqEJg8o8js="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kwidgetsaddons-6.5.0.tar.xz",
"hash": "sha256-zzq8xAphkYPH1GJdyWGgtlrlk8bEGv4KqkUOkLXQ/gk="
},
"kwindowsystem": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kwindowsystem-6.4.0.tar.xz",
"hash": "sha256-xOh0LL3SlNVqaJ1mpzsDpmBwIDesRiQvF8wBsk8BSlk="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kwindowsystem-6.5.0.tar.xz",
"hash": "sha256-yq6G4WvybpGnIv3461iIIk98ds6HB0PaSlm8cA2HO8Y="
},
"kxmlgui": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/kxmlgui-6.4.0.tar.xz",
"hash": "sha256-BJUrx/nq78elXHYtd+ZYiKKnHmONP8cSZXbf5kVWSws="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/kxmlgui-6.5.0.tar.xz",
"hash": "sha256-dVSd1Urns+C/AcbYLr4tzHlxla3iI7aYbd6daIxc2QM="
},
"modemmanager-qt": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/modemmanager-qt-6.4.0.tar.xz",
"hash": "sha256-8rwqqRa84+pYw43vmEw1+tol6HVq3UABMXgr/GLe7p0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/modemmanager-qt-6.5.0.tar.xz",
"hash": "sha256-dsKxjJxcXZw2AoKgMf6q6WYCkyLxneBQ2R05IHzVcXs="
},
"networkmanager-qt": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/networkmanager-qt-6.4.0.tar.xz",
"hash": "sha256-PSyQXdnHRFxEAj7PBkbdG2/NyDlo9W36diKWsNFelJg="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/networkmanager-qt-6.5.0.tar.xz",
"hash": "sha256-ql8rMsgXjuic86THWwn5nvgb4y/22ZpCWu4XTFAwG2w="
},
"prison": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/prison-6.4.0.tar.xz",
"hash": "sha256-3W6wtkDgJjaoduafji26QEPI5ESmYw6yBIh1T19X6o0="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/prison-6.5.0.tar.xz",
"hash": "sha256-u8F9zPtxmIr0HnARC2Y1Mj4X2O1IwI9zgI+fIg+wZ7o="
},
"purpose": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/purpose-6.4.0.tar.xz",
"hash": "sha256-MYFp8gFUjqo8inbm6wDZsQ9Rhy1/kcf5dJ/LUYaZ5Q4="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/purpose-6.5.0.tar.xz",
"hash": "sha256-QPgKBKc39bedmYC6q9ylTIIEVrswrdBEeSVykcYqwnQ="
},
"qqc2-desktop-style": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/qqc2-desktop-style-6.4.0.tar.xz",
"hash": "sha256-mxMwVmOKEbmYiD7f8NkHjoaMCXJYaL2u6Ocz/eMI8Ps="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/qqc2-desktop-style-6.5.0.tar.xz",
"hash": "sha256-iIY4d1pMi7f4DhDoeP2SOIDHXyqm44eNUsEqd/PakyE="
},
"solid": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/solid-6.4.0.tar.xz",
"hash": "sha256-Vnk7cdT7n0r47Ir5KTt3fsyv3Br3V/WWJCnwsfk1lcM="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/solid-6.5.0.tar.xz",
"hash": "sha256-6CN8bJYXvvS/X8dEYbt0F8pXr+FdT1SHjP6MgG5walw="
},
"sonnet": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/sonnet-6.4.0.tar.xz",
"hash": "sha256-lUIFmJ2l00Q7/CVvizHgXiPv+4NvGBCJTW+5zJ0M3ak="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/sonnet-6.5.0.tar.xz",
"hash": "sha256-foa2+Ct5UcPoHOp195uveooPiE/LAk8CphU6Rno94ao="
},
"syndication": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/syndication-6.4.0.tar.xz",
"hash": "sha256-1WN+ryVcTT4RB2XS7Vq6BsmUVggB5ObEsGmKzFOVTcs="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/syndication-6.5.0.tar.xz",
"hash": "sha256-za/FHJJxsAFQuNY78lDW0ED3vIxWkHr2HcWaRMlsZ04="
},
"syntax-highlighting": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/syntax-highlighting-6.4.0.tar.xz",
"hash": "sha256-H4Ja+nyglJN/G401euayzTfliszwCSkDQeutoojFFQU="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/syntax-highlighting-6.5.0.tar.xz",
"hash": "sha256-PhiD3VGjJn5WzTrOOGIAlKFa5tuuzdGNM7fU+i8Yw3g="
},
"threadweaver": {
"version": "6.4.0",
"url": "mirror://kde/stable/frameworks/6.4/threadweaver-6.4.0.tar.xz",
"hash": "sha256-oxetW04K6N7n/ZUCaj3z9fwcLlOuxtXMut3fx1PClZg="
"version": "6.5.0",
"url": "mirror://kde/stable/frameworks/6.5/threadweaver-6.5.0.tar.xz",
"hash": "sha256-rnDQk2xDjr9KP3sqcI77nNMLWkFH2bcK5dRDfbsgveg="
}
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, openssl, pkg-config, libnl
{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl
, nixosTests, wpa_supplicant_gui
, dbusSupport ? !stdenv.hostPlatform.isStatic, dbus
, withReadline ? true, readline
@ -16,6 +16,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-kS6gb3TjCo42+7aAZNbN/yGNjVkdsPxddd7myBrH/Ao=";
};
patches = [
(fetchpatch {
name = "revert-change-breaking-auth-broadcom.patch";
url = "https://w1.fi/cgit/hostap/patch/?id=41638606054a09867fe3f9a2b5523aa4678cbfa5";
hash = "sha256-X6mBbj7BkW66aYeSCiI3JKBJv10etLQxaTRfRgwsFmM=";
revert = true;
})
];
# TODO: Patch epoll so that the dbus actually responds
# TODO: Figure out how to get privsep working, currently getting SIGBUS
extraConfig = ''

View File

@ -1,37 +0,0 @@
{ lib
, buildGoModule
, fetchFromGitHub
, gitUpdater
, pkg-config
, ffmpeg_4
}:
buildGoModule rec {
pname = "hydron";
version = "3.3.6";
src = fetchFromGitHub {
owner = "bakape";
repo = "hydron";
rev = "v${version}";
hash = "sha256-Q1pZf5FPQw+pHItcZyOGx0N+iHmz9rW0+ANFsketh6E=";
};
vendorHash = "sha256-hKF2RCGnk/5hNS65vGoDdF1OUPSLe4PDegYlKTeqJDM=";
proxyVendor = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ffmpeg_4 ];
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
meta = with lib; {
homepage = "https://github.com/bakape/hydron";
description = "High performance media tagger and organizer";
license = with licenses; [ lgpl3Plus ];
knownVulnerabilities = [ "CVE-2023-4863" ]; # Via https://github.com/chai2010/webp dep
maintainers = with maintainers; [ Madouura ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,22 @@
{ wasm-bindgen-cli, ... }@args:
import ../generic.nix (args // {
version = "15.3.7";
hash = "sha256-d+lfM1yt0xAWBqAqBCdEFcOHz32VT0EI4LybVbmjW0o=";
vendorHash = "sha256-pM6wy1tuMmUg8iNfeSmg8dW1cvP7G3fXa3vYuSEEdOc=";
yarnHash = "sha256-eWrR06FVkFxCrk+Z7BrY4dJjvEnUYzYrhSeD8ir3a08=";
version = "15.4.11";
hash = "sha256-vmJ76aRAsbSGXZ2HcuryOlUYrUOPMP6MaI8OjxxyiZ4=";
vendorHash = "sha256-oJo8Ga6TAUz1xSYiRckzq8zZvgIZFCeEwZbiyyVOdkI=";
yarnHash = "sha256-5ppgBa5CyQ49FSFhdWDbTcCTdt0vsXAzNTeyG4r7crg=";
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"boring-4.4.0" = "sha256-4wdl2kIA5oHQ0H6IddKQ+B5kRwrTeMbKe1+tAYZt2uw=";
"ironrdp-async-0.1.0" = "sha256-NpBzPsvopu5Te6Ljln5rp1Wxc6O6mRB4lLh0JVnN+Xc=";
"ironrdp-async-0.1.0" = "sha256-nE5O/wRJ3vJqJG5zdYmpVkhx6JC6Yb92pR4EKSWSdkA=";
"sspi-0.10.1" = "sha256-fkclC/plTh2d8zcmqthYmr5yXqbPTeFxI1VuaPX5vxk=";
};
};
# wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock
wasm-bindgen-cli = wasm-bindgen-cli.override {
version = "0.2.91";
hash = "sha256-f/RK6s12ItqKJWJlA2WtOXtwX4Y0qa8bq/JHlLTAS3c=";
cargoHash = "sha256-3vxVI0BhNz/9m59b+P2YEIrwGwlp7K3pyPKt4VqQuHE=";
version = "0.2.92";
hash = "sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0=";
cargoHash = "sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0=";
};
})

File diff suppressed because it is too large Load Diff

View File

@ -5,27 +5,27 @@
, pkg-config
, libpulseaudio
, dbus
, openssl
, speechd-minimal
}:
rustPlatform.buildRustPackage rec {
pname = "goxlr-utility";
version = "1.1.1";
version = "1.1.1-unstable-2024-08-06";
src = fetchFromGitHub {
owner = "GoXLR-on-Linux";
repo = "goxlr-utility";
# v1.1.1 was released with broken Cargo.lock so we'll use later commit where it was fixed
rev = "26a818366e7f28802592baa463bb57fc9eccbe27";
hash = "sha256-tUAZSfoC9bp7gK884nVGumtcLb2LAw+zQRSoVS8r+QI=";
rev = "dcd4454a2634f5a2af10f00c1cbcb016241ce2cb";
hash = "sha256-kWfCFsk0GhqX+pYOTeJd7XHlcWOX4D6fmIU/4nylU3Y=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"ksni-0.2.1" = "sha256-cq3PAqkiYEv4MW5CtT7eau38Mf4uxdJ1C2fw640RXzI=";
"tasklist-0.2.13" = "sha256-DMaVOo1TSIyjspybok1y07oNxGjHaPSC6qe4NmDfNgE=";
"xpc-connection-sys-0.1.1" = "sha256-bzxzzTwPwa7flt8Jm9OcoBLwp3zn/V5WS2hTZjXV1/M=";
"tasklist-0.2.15" = "sha256-YVAXqXuE4azxYi0ObOq4c9ZeMKFa2KjwwjjQlAeIPro=";
"xpc-connection-sys-0.1.1" = "sha256-VYZyf271sDjnvgIv4iDA6bcPt9dm4Tp8rRxr682iWwU=";
};
};
@ -33,6 +33,7 @@ rustPlatform.buildRustPackage rec {
libpulseaudio
dbus
speechd-minimal
openssl
];
nativeBuildInputs = [
@ -45,14 +46,12 @@ rustPlatform.buildRustPackage rec {
postInstall = ''
install -Dm644 "50-goxlr.rules" "$out/etc/udev/rules.d/50-goxlr.rules"
install -Dm644 "daemon/resources/goxlr-utility.png" "$out/share/icons/hicolor/48x48/apps/goxlr-utility.png"
install -Dm644 "daemon/resources/goxlr-utility.svg" "$out/share/icons/hicolor/scalable/apps/goxlr-utility.svg"
install -Dm644 "daemon/resources/goxlr-utility-large.png" "$out/share/pixmaps/goxlr-utility.png"
install -Dm644 "daemon/resources/goxlr-utility.desktop" "$out/share/applications/goxlr-utility.desktop"
substituteInPlace $out/share/applications/goxlr-utility.desktop \
--replace /usr/bin $out/bin \
--replace goxlr-launcher goxlr-daemon
--replace-fail /usr/bin $out/bin
completions_dir=$(dirname $(find target -name 'goxlr-client.bash' | head -n 1))
installShellCompletion --bash $completions_dir/goxlr-client.bash

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "knowsmore";
version = "0.1.38";
version = "0.1.43";
pyproject = true;
src = fetchFromGitHub {
owner = "helviojunior";
repo = "knowsmore";
rev = "refs/tags/v${version}";
hash = "sha256-A68JuzlWvq3OAtgq6uAFcTTYKmL7xjKWZ0HQfVXKt4k=";
hash = "sha256-rLESaedhEHTMYVbITr3vjyE6urhwl/g1/iTMZ4ruE1c=";
};
pythonRelaxDeps = [
@ -21,11 +21,8 @@ python3.pkgs.buildPythonApplication rec {
"urllib3"
];
pythonRemoveDeps = [ "bs4" ];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
aioconsole
ansi2image

View File

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "bottom";
version = "0.9.7";
version = "0.10.2";
src = fetchFromGitHub {
owner = "ClementTsang";
repo = pname;
rev = version;
hash = "sha256-WZf6BR0D7VDdRu9mCVd2dwPraQ8IYXQcgblwL5wqHYQ=";
hash = "sha256-hm0Xfd/iW+431HflvZErjzeZtSdXVb/ReoNIeETJ5Ik=";
};
cargoHash = "sha256-F0T9jbgfdu6rimIq+3ijYlkFRMkhuuQchy0o4xhCoXE=";
cargoHash = "sha256-FQbJx6ijX8kE4qxT7OQ7FwxLKJB5/moTKhBK0bfvBas=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -645,6 +645,8 @@ mapAliases ({
hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21
ht-rust = xh; # Added 2021-02-13
hydra-unstable = hydra_unstable; # added 2022-05-10
hydron = throw "hydron has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability";
hyper-haskell = throw "'hyper-haskell' has been removed. reason: has been broken for a long time and depends on an insecure electron version"; # Added 2024-03-14
hyper-haskell-server-with-packages = throw "'hyper-haskell-server-with-packages' has been removed. reason: has been broken for a long time"; # Added 2024-03-14

View File

@ -17118,15 +17118,26 @@ with pkgs;
sparkleshare = callPackage ../applications/version-management/sparkleshare { };
spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix {
inherit (darwin) libobjc;
};
spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix {
inherit (darwin) libobjc;
};
spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix {
inherit (darwin) libobjc;
};
inherit
({
spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix {
inherit (darwin) libobjc;
};
spidermonkey_91 = callPackage ../development/interpreters/spidermonkey/91.nix {
inherit (darwin) libobjc;
};
spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix {
inherit (darwin) libobjc;
};
spidermonkey_128 = callPackage ../development/interpreters/spidermonkey/128.nix {
inherit (darwin) libobjc;
};
})
spidermonkey_78
spidermonkey_91
spidermonkey_115
spidermonkey_128
;
starlark-rust = callPackage ../development/interpreters/starlark-rust { };
@ -17339,8 +17350,6 @@ with pkgs;
ansible-doctor = callPackage ../tools/admin/ansible/doctor.nix { };
ansible-navigator = with python3Packages; toPythonApplication ansible-navigator;
dbus-test-runner = callPackage ../development/tools/dbus-test-runner { };
doq = callPackage ../development/tools/misc/doq { };
@ -25181,8 +25190,6 @@ with pkgs;
https-dns-proxy = callPackage ../servers/dns/https-dns-proxy { };
hydron = callPackage ../servers/hydron { };
ic-keysmith = callPackage ../tools/security/ic-keysmith { };
icecream = callPackage ../servers/icecream { };
@ -36261,8 +36268,6 @@ with pkgs;
pysolfc = python3Packages.callPackage ../games/pysolfc { };
qq = callPackage ../applications/networking/instant-messengers/qq { };
qqwing = callPackage ../games/qqwing { };
quake3wrapper = callPackage ../games/quake3/wrapper { };

View File

@ -49,6 +49,7 @@ mapAliases ({
ansible-doctor = throw "ansible-doctor has been promoted to a top-level attribute name: `pkgs.ansible-doctor`"; # Added 2023-05-16
ansible-later = throw "ansible-later has been promoted to a top-level attribute name: `pkgs.ansible-later`"; # Added 2023-05-16
ansible-lint = throw "ansible-lint has been promoted to a top-level attribute name: `pkgs.ansible-lint`"; # Added 2023-05-16
ansible-navigator = throw "ansible-navigator has been promoted to a top-level attribute name: pkgs.ansible-navigator"; # Added 2024-08-07
anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
apache-airflow = throw "apache-airflow has been moved out of pythonPackages and is available as a standalone package"; # added 2023-06-05
argon2_cffi = argon2-cffi; # added 2022-05-09

View File

@ -613,8 +613,6 @@ self: super: with self; {
ansible-kernel = callPackage ../development/python-modules/ansible-kernel { };
ansible-navigator = callPackage ../development/python-modules/ansible-navigator { };
ansible-pylibssh = callPackage ../development/python-modules/ansible-pylibssh { };
ansible-runner = callPackage ../development/python-modules/ansible-runner { };
@ -15936,6 +15934,8 @@ self: super: with self; {
ttach = callPackage ../development/python-modules/ttach { };
ttfautohint-py = callPackage ../development/python-modules/ttfautohint-py { };
ttls = callPackage ../development/python-modules/ttls { };
ttn-client = callPackage ../development/python-modules/ttn-client { };