Merge master into staging-next

This commit is contained in:
github-actions[bot]
2024-08-24 12:04:30 +00:00
committed by GitHub
39 changed files with 1772 additions and 1640 deletions
+7 -12
View File
@@ -229,6 +229,7 @@ lib.mapAttrs mkLicense ({
};
bsl11 = {
spdxId = "BUSL-1.1";
fullName = "Business Source License 1.1";
url = "https://mariadb.com/bsl11";
free = false;
@@ -826,11 +827,6 @@ lib.mapAttrs mkLicense ({
fullName = "PNG Reference Library version 2";
};
libssh2 = {
fullName = "libssh2 License";
url = "https://www.libssh2.org/license.html";
};
libtiff = {
spdxId = "libtiff";
fullName = "libtiff License";
@@ -872,8 +868,6 @@ lib.mapAttrs mkLicense ({
url = "https://opensource.org/licenses/MirOS";
};
# spdx.org does not (yet) differentiate between the X11 and Expat versions
# for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions
mit = {
spdxId = "MIT";
fullName = "MIT License";
@@ -884,6 +878,12 @@ lib.mapAttrs mkLicense ({
fullName = "feh License";
};
mit-modern = {
# Also known as Zsh license
spdxId = "MIT-Modern-Variant";
fullName = "MIT License Modern Variant";
};
mitAdvertising = {
spdxId = "MIT-advertising";
fullName = "Enlightenment License (e16)";
@@ -1316,11 +1316,6 @@ lib.mapAttrs mkLicense ({
fullName = "zlib License";
};
zsh = {
url = "https://github.com/zsh-users/zsh/blob/master/LICENCE";
fullName = "Zsh License";
};
zpl20 = {
spdxId = "ZPL-2.0";
fullName = "Zope Public License 2.0";
@@ -20,11 +20,12 @@ in
example = lib.literalExpression "with pkgs; [ ayatana-indicator-messages ]";
description = ''
List of packages containing Ayatana Indicator services
that should be brought up by the SystemD "ayatana-indicators" user target.
that should be brought up by a SystemD "ayatana-indicators" user target.
Packages specified here must have passthru.ayatana-indicators set correctly.
If, how, and where these indicators are displayed will depend on your DE.
Which target they will be brought up by depends on the packages' passthru.ayatana-indicators.
'';
};
};
@@ -39,16 +40,36 @@ in
# libayatana-common's ayatana-indicators.target with explicit Wants & Before to bring up requested indicator services
systemd.user.targets =
let
indicatorServices = lib.lists.flatten (
map (pkg: (map (ind: "${ind}.service") pkg.passthru.ayatana-indicators)) cfg.packages
);
namesToServices = map (indicator: "${indicator}.service");
indicatorServices =
target:
lib.lists.flatten (
map (
pkg:
if lib.isList pkg.passthru.ayatana-indicators then
# Old format, add to every target
(lib.warn "${pkg.name} is using the old passthru.ayatana-indicators format, please update it!" (
namesToServices pkg.passthru.ayatana-indicators
))
else
# New format, filter by target being mentioned
(namesToServices (
builtins.filter (
service:
builtins.any (
targetPrefix: "${targetPrefix}-indicators" == target
) pkg.passthru.ayatana-indicators.${service}
) (builtins.attrNames pkg.passthru.ayatana-indicators)
))
) cfg.packages
);
in
lib.attrsets.mapAttrs
(_: desc: {
(name: 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;
wants = indicatorServices name;
before = indicatorServices name;
})
{
ayatana-indicators = "Ayatana Indicators";
+1 -1
View File
@@ -141,7 +141,7 @@ in {
authelia = handleTest ./authelia.nix {};
avahi = handleTest ./avahi.nix {};
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
ayatana-indicators = handleTest ./ayatana-indicators.nix {};
ayatana-indicators = runTest ./ayatana-indicators.nix;
babeld = handleTest ./babeld.nix {};
bazarr = handleTest ./bazarr.nix {};
bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
+129 -97
View File
@@ -1,116 +1,148 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: let
{ pkgs, lib, ... }:
let
user = "alice";
in {
in
{
name = "ayatana-indicators";
meta = {
maintainers = lib.teams.lomiri.members;
};
nodes.machine = { config, ... }: {
imports = [
./common/auto.nix
./common/user-account.nix
];
nodes.machine =
{ config, ... }:
{
imports = [
./common/auto.nix
./common/user-account.nix
];
test-support.displayManager.auto = {
enable = true;
inherit user;
test-support.displayManager.auto = {
enable = true;
inherit user;
};
services.xserver = {
enable = true;
desktopManager.mate.enable = true;
};
services.displayManager.defaultSession = lib.mkForce "mate";
services.ayatana-indicators = {
enable = true;
packages =
with pkgs;
[
ayatana-indicator-datetime
ayatana-indicator-display
ayatana-indicator-messages
ayatana-indicator-power
ayatana-indicator-session
ayatana-indicator-sound
]
++ (with pkgs.lomiri; [
lomiri-indicator-network
telephony-service
]);
};
# Setup needed by some indicators
services.accounts-daemon.enable = true; # messages
hardware.pulseaudio.enable = true; # sound
# Lomiri-ish setup for Lomiri indicators
# TODO move into a Lomiri module, once the package set is far enough for the DE to start
networking.networkmanager.enable = true; # lomiri-network-indicator
# TODO potentially urfkill for lomiri-network-indicator?
services.dbus.packages = with pkgs.lomiri; [ libusermetrics ];
environment.systemPackages = with pkgs.lomiri; [ lomiri-schemas ];
services.telepathy.enable = true;
users.users.usermetrics = {
group = "usermetrics";
home = "/var/lib/usermetrics";
createHome = true;
isSystemUser = true;
};
users.groups.usermetrics = { };
};
services.xserver = {
enable = true;
desktopManager.mate.enable = true;
};
services.displayManager.defaultSession = lib.mkForce "mate";
services.ayatana-indicators = {
enable = true;
packages = with pkgs; [
ayatana-indicator-datetime
ayatana-indicator-display
ayatana-indicator-messages
ayatana-indicator-power
ayatana-indicator-session
ayatana-indicator-sound
] ++ (with pkgs.lomiri; [
lomiri-indicator-network
telephony-service
]);
};
# Setup needed by some indicators
services.accounts-daemon.enable = true; # messages
hardware.pulseaudio.enable = true; # sound
# Lomiri-ish setup for Lomiri indicators
# TODO move into a Lomiri module, once the package set is far enough for the DE to start
networking.networkmanager.enable = true; # lomiri-network-indicator
# TODO potentially urfkill for lomiri-network-indicator?
services.dbus.packages = with pkgs.lomiri; [
libusermetrics
];
environment.systemPackages = with pkgs.lomiri; [
lomiri-schemas
];
services.telepathy.enable = true;
users.users.usermetrics = {
group = "usermetrics";
home = "/var/lib/usermetrics";
createHome = true;
isSystemUser = true;
};
users.groups.usermetrics = { };
};
# TODO session indicator starts up in a semi-broken state, but works fine after a restart. maybe being started before graphical session is truly up & ready?
testScript = { nodes, ... }: let
runCommandOverServiceList = list: command:
lib.strings.concatMapStringsSep "\n" command list;
testScript =
{ nodes, ... }:
let
runCommandOverServiceList = list: command: lib.strings.concatMapStringsSep "\n" command list;
runCommandOverAyatanaIndicators = runCommandOverServiceList
(builtins.filter
(service: !(lib.strings.hasPrefix "lomiri" service || lib.strings.hasPrefix "telephony-service" service))
nodes.machine.systemd.user.targets."ayatana-indicators".wants);
runCommandOverAyatanaIndicators = runCommandOverServiceList
nodes.machine.systemd.user.targets.ayatana-indicators.wants;
runCommandOverAllIndicators = runCommandOverServiceList
nodes.machine.systemd.user.targets."ayatana-indicators".wants;
in ''
start_all()
machine.wait_for_x()
runCommandOverLomiriIndicators = runCommandOverServiceList nodes.machine.systemd.user.targets.lomiri-indicators.wants;
in
''
start_all()
machine.wait_for_x()
# Desktop environment should reach graphical-session.target
machine.wait_for_unit("graphical-session.target", "${user}")
# Desktop environment should reach graphical-session.target
machine.wait_for_unit("graphical-session.target", "${user}")
# MATE relies on XDG autostart to bring up the indicators.
# Not sure *when* XDG autostart fires them up, and awaiting pgrep success seems to misbehave?
machine.sleep(10)
# MATE relies on XDG autostart to bring up the indicators.
# Not sure *when* XDG autostart fires them up, and awaiting pgrep success seems to misbehave?
machine.sleep(10)
# Now check if all indicators were brought up successfully, and kill them for later
'' + (runCommandOverAyatanaIndicators (service: let serviceExec = builtins.replaceStrings [ "." ] [ "-" ] service; in ''
machine.wait_until_succeeds("pgrep -u ${user} -f ${serviceExec}")
machine.succeed("pkill -f ${serviceExec}")
'')) + ''
# Now check if all indicators were brought up successfully, and kill them for later
''
+ (runCommandOverAyatanaIndicators (
service:
let
serviceExec = builtins.replaceStrings [ "." ] [ "-" ] service;
in
''
machine.wait_until_succeeds("pgrep -u ${user} -f ${serviceExec}")
machine.succeed("pkill -f ${serviceExec}")
''
))
+ ''
# Ayatana target is the preferred way of starting up indicators on SystemD session, the graphical session is responsible for starting this if it supports them.
# Mate currently doesn't do this, so start it manually for checking (https://github.com/mate-desktop/mate-indicator-applet/issues/63)
machine.systemctl("start ayatana-indicators.target", "${user}")
machine.wait_for_unit("ayatana-indicators.target", "${user}")
# Ayatana target is the preferred way of starting up indicators on SystemD session, the graphical session is responsible for starting this if it supports them.
# Mate currently doesn't do this, so start it manually for checking (https://github.com/mate-desktop/mate-indicator-applet/issues/63)
machine.systemctl("start ayatana-indicators.target", "${user}")
machine.wait_for_unit("ayatana-indicators.target", "${user}")
# Let all indicator services do their startups, potential post-launch crash & restart cycles so we can properly check for failures
# Not sure if there's a better way of awaiting this without false-positive potential
machine.sleep(10)
# Let all indicator services do their startups, potential post-launch crash & restart cycles so we can properly check for failures
# Not sure if there's a better way of awaiting this without false-positive potential
machine.sleep(10)
# Now check if all indicator services were brought up successfully
'' + runCommandOverAllIndicators (service: ''
machine.wait_for_unit("${service}", "${user}")
'');
})
# Now check if all indicator services were brought up successfully
''
+ runCommandOverAyatanaIndicators (service: ''
machine.wait_for_unit("${service}", "${user}")
'')
+ ''
# Stop the target
machine.systemctl("stop ayatana-indicators.target", "${user}")
# Let all indicator services do their shutdowns
# Not sure if there's a better way of awaiting this without false-positive potential
machine.sleep(10)
# Lomiri uses a different target, which launches a slightly different set of indicators
machine.systemctl("start lomiri-indicators.target", "${user}")
machine.wait_for_unit("lomiri-indicators.target", "${user}")
# Let all indicator services do their startups, potential post-launch crash & restart cycles so we can properly check for failures
# Not sure if there's a better way of awaiting this without false-positive potential
machine.sleep(10)
# Now check if all indicator services were brought up successfully
''
+ runCommandOverLomiriIndicators (service: ''
machine.wait_for_unit("${service}", "${user}")
'');
}
+260 -59
View File
@@ -38,6 +38,13 @@ in
testScript =
{ nodes, ... }:
''
def wait_for_text(text):
"""
Wait for on-screen text, and try to optimise retry count for slow hardware.
"""
machine.sleep(10)
machine.wait_for_text(text)
start_all()
machine.wait_for_unit("multi-user.target")
@@ -47,12 +54,12 @@ in
machine.wait_until_succeeds("pgrep -u lightdm -f 'lomiri --mode=greeter'")
# Start page shows current time
machine.wait_for_text(r"(AM|PM)")
wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_greeter_launched")
# Advance to login part
machine.send_key("ret")
machine.wait_for_text("${description}")
wait_for_text("${description}")
machine.screenshot("lomiri_greeter_login")
# Login
@@ -62,16 +69,16 @@ in
# 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)")
wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
'';
}
);
desktop = makeTest (
desktop-basics = makeTest (
{ pkgs, lib, ... }:
{
name = "lomiri-desktop";
name = "lomiri-desktop-basics";
meta = {
maintainers = lib.teams.lomiri.members;
@@ -89,8 +96,6 @@ in
users.users.${user} = {
inherit description password;
# polkit agent test
extraGroups = [ "wheel" ];
};
test-support.displayManager.auto = {
@@ -128,15 +133,7 @@ in
};
};
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}";
@@ -205,6 +202,230 @@ in
testScript =
{ nodes, ... }:
''
def wait_for_text(text):
"""
Wait for on-screen text, and try to optimise retry count for slow hardware.
"""
machine.sleep(10)
machine.wait_for_text(text)
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
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")
wait_for_text(r"(${user}|machine)")
machine.screenshot("terminal_opens")
# lomiri-terminal-app has a separate VM test to test its basic functionality
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")
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")
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")
wait_for_text(r"(Bookmarks|address|site|visited any)")
machine.screenshot("morph_open")
# morph-browser has a separate VM test to test its basic functionalities
machine.send_key("alt-f4")
# LSS provides DE settings
with subtest("system settings open"):
open_starter()
machine.send_chars("System Settings\n")
wait_for_text("Rotation Lock")
machine.screenshot("settings_open")
# lomiri-system-settings has a separate VM test to test its basic functionalities
machine.send_key("alt-f4")
'';
}
);
desktop-appinteractions = makeTest (
{ pkgs, lib, ... }:
{
name = "lomiri-desktop-appinteractions";
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
];
};
# 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 wait_for_text(text):
"""
Wait for on-screen text, and try to optimise retry count for slow hardware.
"""
machine.sleep(10)
machine.wait_for_text(text)
def toggle_maximise():
"""
Maximise the current window.
@@ -252,20 +473,20 @@ in
# 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)")
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)")
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
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
@@ -282,40 +503,11 @@ in
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")
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
@@ -331,7 +523,7 @@ in
machine.send_key("tab")
machine.send_key("tab")
machine.send_key("ret")
machine.wait_for_text("Background image")
wait_for_text("Background image")
# Try to load custom background
machine.send_key("shift-tab")
@@ -343,14 +535,14 @@ in
machine.send_key("ret")
# Peers should be loaded
machine.wait_for_text("Morph") # or Gallery, but Morph is already packaged
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")
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
@@ -403,6 +595,8 @@ in
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
environment.systemPackages = with pkgs; [ qt5.qttools ];
};
enableOCR = true;
@@ -410,6 +604,13 @@ in
testScript =
{ nodes, ... }:
''
def wait_for_text(text):
"""
Wait for on-screen text, and try to optimise retry count for slow hardware.
"""
machine.sleep(10)
machine.wait_for_text(text)
def mouse_click(xpos, ypos):
"""
Move the mouse to a screen location and hit left-click.
@@ -436,14 +637,14 @@ in
# 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)")
wait_for_text(r"(AM|PM)")
machine.screenshot("lomiri_launched")
# 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)")
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
@@ -457,32 +658,32 @@ in
with subtest("ayatana indicator display works"):
# We start on this, don't go right
machine.wait_for_text("Lock")
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)")
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)")
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)")
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")
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")
wait_for_text("Log Out")
machine.screenshot("indicators_session")
# We should be able to log out and return to the greeter
@@ -99,6 +99,7 @@ mapAliases (with prev; {
The_NERD_tree = nerdtree;
open-browser = open-browser-vim;
pathogen = vim-pathogen;
peskcolor-vim = throw "peskcolor-vim has been removed: abandoned by upstream"; # Added 2024-08-23
polyglot = vim-polyglot;
prettyprint = vim-prettyprint;
quickrun = vim-quickrun;
@@ -9233,18 +9233,6 @@ final: prev:
meta.homepage = "https://github.com/folke/persistence.nvim/";
};
peskcolor-vim = buildVimPlugin {
pname = "peskcolor.vim";
version = "2016-06-11";
src = fetchFromGitHub {
owner = "andsild";
repo = "peskcolor.vim";
rev = "cba4fc739bbebacd503158f6509d9c226651f363";
sha256 = "15hw3casr5y3ckgcn6aq8vhk6g2hym41w51nvgf34hbj9fx1nvkq";
};
meta.homepage = "https://github.com/andsild/peskcolor.vim/";
};
pest-vim = buildVimPlugin {
pname = "pest.vim";
version = "2024-04-25";
@@ -777,7 +777,6 @@ https://github.com/tmsvg/pear-tree/,,
https://github.com/steelsojka/pears.nvim/,,
https://github.com/olimorris/persisted.nvim/,HEAD,
https://github.com/folke/persistence.nvim/,,
https://github.com/andsild/peskcolor.vim/,,
https://github.com/pest-parser/pest.vim/,HEAD,
https://github.com/lifepillar/pgsql.vim/,,
https://github.com/motus/pig.vim/,,
@@ -34,6 +34,9 @@
webrtc-audio-processing,
zlib,
# for dhtnet
expected-lite,
# for client
cmake,
git,
@@ -65,14 +68,14 @@
stdenv.mkDerivation rec {
pname = "jami";
version = "20240627.0";
version = "20240813.0";
src = fetchFromGitLab {
domain = "git.jami.net";
owner = "savoirfairelinux";
repo = "jami-client-qt";
rev = "stable/${version}";
hash = "sha256-aePF1c99ju9y7JEgC+F2BPfpSAZlLd5OI5Jm6i9VlQQ=";
hash = "sha256-XRWbV1s87niwNiWf2KRpV+wUH6ptw3vnVXCEwqh2r7M=";
fetchSubmodules = true;
};
@@ -128,16 +131,23 @@ stdenv.mkDerivation rec {
dhtnet = stdenv.mkDerivation {
pname = "dhtnet";
version = "unstable-2024-05-17";
version = "unstable-2024-07-22";
src = fetchFromGitLab {
domain = "git.jami.net";
owner = "savoirfairelinux";
repo = "dhtnet";
rev = "77331098ff663a5ac54fae7d0bedafe076c575a1";
hash = "sha256-55LEnI1YgVujCtv1dGOFtJdvnzB2SKqwEptaHasZB7I=";
rev = "cfe512b0632eea046f683b22e42d01eeb943d751";
hash = "sha256-SGidaCi5z7hO0ePJIZIkcWAkb+cKsZTdksVS7ldpjME=";
};
postPatch = ''
substituteInPlace dependencies/build.py \
--replace-fail \
"wget https://raw.githubusercontent.com/martinmoene/expected-lite/master/include/nonstd/expected.hpp -O" \
"cp ${expected-lite}/include/nonstd/expected.hpp"
'';
nativeBuildInputs = [
cmake
pkg-config
@@ -1,29 +1,30 @@
{ stdenv
, lib
, fetchFromGitHub
, gitUpdater
, nixosTests
, ayatana-indicator-messages
, cmake
, dbus
, dbus-test-runner
, evolution-data-server
, glib
, gst_all_1
, gtest
, intltool
, libaccounts-glib
, libayatana-common
, libical
, libnotify
, libuuid
, lomiri
, pkg-config
, properties-cpp
, python3
, systemd
, tzdata
, wrapGAppsHook3
{
stdenv,
lib,
fetchFromGitHub,
gitUpdater,
nixosTests,
ayatana-indicator-messages,
cmake,
dbus,
dbus-test-runner,
evolution-data-server,
glib,
gst_all_1,
gtest,
intltool,
libaccounts-glib,
libayatana-common,
libical,
libnotify,
libuuid,
lomiri,
pkg-config,
properties-cpp,
python3,
systemd,
tzdata,
wrapGAppsHook3,
}:
let
@@ -36,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-datetime";
rev = finalAttrs.version;
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-lY49v2uZ7BawQoN/hmN6pbetHlSGjMHbS6S8Wl1bDmQ=";
};
@@ -61,34 +62,35 @@ stdenv.mkDerivation (finalAttrs: {
wrapGAppsHook3
];
buildInputs = [
ayatana-indicator-messages
evolution-data-server
glib
libaccounts-glib
libayatana-common
libical
libnotify
libuuid
properties-cpp
systemd
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
]) ++ (with lomiri; [
cmake-extras
lomiri-schemas
lomiri-sounds
lomiri-url-dispatcher
]);
buildInputs =
[
ayatana-indicator-messages
evolution-data-server
glib
libaccounts-glib
libayatana-common
libical
libnotify
libuuid
properties-cpp
systemd
]
++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
])
++ (with lomiri; [
cmake-extras
lomiri-schemas
lomiri-sounds
lomiri-url-dispatcher
]);
nativeCheckInputs = [
dbus
dbus-test-runner
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
tzdata
];
@@ -109,13 +111,15 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelChecking = false;
preCheck = ''
export XDG_DATA_DIRS=${lib.strings.concatStringsSep ":" [
# org.ayatana.common schema
(glib.passthru.getSchemaDataDirPath libayatana-common)
export XDG_DATA_DIRS=${
lib.strings.concatStringsSep ":" [
# org.ayatana.common schema
(glib.passthru.getSchemaDataDirPath libayatana-common)
# loading EDS engines to handle ICS-loading
edsDataDir
]}
# loading EDS engines to handle ICS-loading
edsDataDir
]
}
'';
# schema is already added automatically by wrapper, EDS needs to be added explicitly
@@ -126,16 +130,19 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
ayatana-indicators = [
"ayatana-indicator-datetime"
];
ayatana-indicators = {
ayatana-indicator-datetime = [
"ayatana"
"lomiri"
];
};
tests = {
inherit (nixosTests) ayatana-indicators;
};
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator providing clock and calendar";
longDescription = ''
This Ayatana Indicator provides a combined calendar, clock, alarm and
@@ -143,8 +150,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-datetime/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.linux;
};
})
@@ -1,30 +1,31 @@
{ stdenv
, lib
, gitUpdater
, fetchFromGitHub
, nixosTests
, accountsservice
, cmake
, cppcheck
, dbus
, geoclue2
, glib
, gsettings-desktop-schemas
, gtest
, intltool
, libayatana-common
, libgudev
, libqtdbusmock
, libqtdbustest
, libsForQt5
, lomiri
, mate
, pkg-config
, properties-cpp
, python3
, systemd
, wrapGAppsHook3
, xsct
{
stdenv,
lib,
gitUpdater,
fetchFromGitHub,
nixosTests,
accountsservice,
cmake,
cppcheck,
dbus,
geoclue2,
glib,
gsettings-desktop-schemas,
gtest,
intltool,
libayatana-common,
libgudev,
libqtdbusmock,
libqtdbustest,
libsForQt5,
lomiri,
mate,
pkg-config,
properties-cpp,
python3,
systemd,
wrapGAppsHook3,
xsct,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -60,29 +61,30 @@ stdenv.mkDerivation (finalAttrs: {
];
# TODO Can we get around requiring every desktop's schemas just to avoid segfaulting on some systems?
buildInputs = [
accountsservice
geoclue2
gsettings-desktop-schemas # gnome schemas
glib
libayatana-common
libgudev
libsForQt5.qtbase
systemd
] ++ (with lomiri; [
cmake-extras
lomiri-schemas # lomiri schema
]) ++ (with mate; [
mate.marco # marco schema
mate.mate-settings-daemon # mate mouse schema
]);
buildInputs =
[
accountsservice
geoclue2
gsettings-desktop-schemas # gnome schemas
glib
libayatana-common
libgudev
libsForQt5.qtbase
systemd
]
++ (with lomiri; [
cmake-extras
lomiri-schemas # lomiri schema
])
++ (with mate; [
mate.marco # marco schema
mate.mate-settings-daemon # mate mouse schema
]);
nativeCheckInputs = [
cppcheck
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
];
checkInputs = [
@@ -104,12 +106,17 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
ayatana-indicators = [ "ayatana-indicator-display" ];
ayatana-indicators = {
ayatana-indicator-display = [
"ayatana"
"lomiri"
];
};
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator for Display configuration";
longDescription = ''
This Ayatana Indicator is designed to be placed on the right side of a
@@ -117,8 +124,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-display";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-display/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.linux;
};
})
@@ -1,26 +1,27 @@
{ stdenv
, lib
, fetchFromGitHub
, gitUpdater
, nixosTests
, testers
, accountsservice
, cmake
, dbus-test-runner
, withDocumentation ? true
, docbook_xsl
, docbook_xml_dtd_45
, glib
, gobject-introspection
, gtest
, gtk-doc
, intltool
, lomiri
, pkg-config
, python3
, systemd
, vala
, wrapGAppsHook3
{
stdenv,
lib,
fetchFromGitHub,
gitUpdater,
nixosTests,
testers,
accountsservice,
cmake,
dbus-test-runner,
withDocumentation ? true,
docbook_xsl,
docbook_xml_dtd_45,
glib,
gobject-introspection,
gtest,
gtk-doc,
intltool,
lomiri,
pkg-config,
python3,
systemd,
vala,
wrapGAppsHook3,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -30,49 +31,51 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-messages";
rev = finalAttrs.version;
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-D1181eD2mAVXEa7RLXXC4b2tVGrxbh0WWgtbC1anHH0=";
};
outputs = [
"out"
"dev"
] ++ lib.optionals withDocumentation [
"devdoc"
];
] ++ lib.optionals withDocumentation [ "devdoc" ];
postPatch = ''
# Uses pkg_get_variable, cannot substitute prefix with that
substituteInPlace data/CMakeLists.txt \
--replace "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user"
postPatch =
''
# Uses pkg_get_variable, cannot substitute prefix with that
substituteInPlace data/CMakeLists.txt \
--replace "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user"
# Bad concatenation
substituteInPlace libmessaging-menu/messaging-menu.pc.in \
--replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \
--replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@'
# Bad concatenation
substituteInPlace libmessaging-menu/messaging-menu.pc.in \
--replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \
--replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@'
# Fix tests with gobject-introspection 1.80 not installing GLib introspection data
substituteInPlace tests/CMakeLists.txt \
--replace-fail 'GI_TYPELIB_PATH=\"' 'GI_TYPELIB_PATH=\"$GI_TYPELIB_PATH$\{GI_TYPELIB_PATH\:+\:\}'
'' + lib.optionalString (!withDocumentation) ''
sed -i CMakeLists.txt \
'/add_subdirectory(doc)/d'
'';
# Fix tests with gobject-introspection 1.80 not installing GLib introspection data
substituteInPlace tests/CMakeLists.txt \
--replace-fail 'GI_TYPELIB_PATH=\"' 'GI_TYPELIB_PATH=\"$GI_TYPELIB_PATH$\{GI_TYPELIB_PATH\:+\:\}'
''
+ lib.optionalString (!withDocumentation) ''
sed -i CMakeLists.txt \
'/add_subdirectory(doc)/d'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
glib # For glib-compile-schemas
intltool
pkg-config
vala
wrapGAppsHook3
] ++ lib.optionals withDocumentation [
docbook_xsl
docbook_xml_dtd_45
gtk-doc
];
nativeBuildInputs =
[
cmake
glib # For glib-compile-schemas
intltool
pkg-config
vala
wrapGAppsHook3
]
++ lib.optionals withDocumentation [
docbook_xsl
docbook_xml_dtd_45
gtk-doc
];
buildInputs = [
accountsservice
@@ -83,10 +86,12 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeCheckInputs = [
(python3.withPackages (ps: with ps; [
pygobject3
python-dbusmock
]))
(python3.withPackages (
ps: with ps; [
pygobject3
python-dbusmock
]
))
];
checkInputs = [
@@ -133,9 +138,12 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
ayatana-indicators = [
"ayatana-indicator-messages"
];
ayatana-indicators = {
ayatana-indicator-messages = [
"ayatana"
"lomiri"
];
};
tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
vm = nixosTests.ayatana-indicators;
@@ -143,18 +151,16 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator Messages Applet";
longDescription = ''
The -messages Ayatana System Indicator is the messages menu indicator for Unity7, MATE and Lomiri (optionally for
others, e.g. XFCE, LXDE).
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-messages";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ OPNA2608 ];
pkgConfigModules = [
"messaging-menu"
];
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ OPNA2608 ];
pkgConfigModules = [ "messaging-menu" ];
};
})
@@ -1,22 +1,23 @@
{ stdenv
, lib
, gitUpdater
, fetchFromGitHub
, nixosTests
, cmake
, dbus
, dbus-test-runner
, glib
, gtest
, intltool
, libayatana-common
, libnotify
, librda
, lomiri
, pkg-config
, python3
, systemd
, wrapGAppsHook3
{
stdenv,
lib,
gitUpdater,
fetchFromGitHub,
nixosTests,
cmake,
dbus,
dbus-test-runner,
glib,
gtest,
intltool,
libayatana-common,
libnotify,
librda,
lomiri,
pkg-config,
python3,
systemd,
wrapGAppsHook3,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -50,24 +51,24 @@ stdenv.mkDerivation (finalAttrs: {
wrapGAppsHook3
];
buildInputs = [
glib
libayatana-common
libnotify
librda
systemd
] ++ (with lomiri; [
cmake-extras
deviceinfo
lomiri-schemas
lomiri-sounds
]);
buildInputs =
[
glib
libayatana-common
libnotify
librda
systemd
]
++ (with lomiri; [
cmake-extras
deviceinfo
lomiri-schemas
lomiri-sounds
]);
nativeCheckInputs = [
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
];
checkInputs = [
@@ -87,12 +88,17 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
ayatana-indicators = [ "ayatana-indicator-power" ];
ayatana-indicators = {
ayatana-indicator-power = [
"ayatana"
"lomiri"
];
};
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator showing power state";
longDescription = ''
This Ayatana Indicator displays current power management information and
@@ -100,8 +106,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-power";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-power/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.linux;
};
})
@@ -1,22 +1,23 @@
{ stdenv
, lib
, fetchFromGitHub
, gitUpdater
, nixosTests
, cmake
, dbus
, glib
, gnome
, gsettings-desktop-schemas
, gtest
, intltool
, libayatana-common
, librda
, lomiri
, mate
, pkg-config
, systemd
, wrapGAppsHook3
{
stdenv,
lib,
fetchFromGitHub,
gitUpdater,
nixosTests,
cmake,
dbus,
glib,
gnome,
gsettings-desktop-schemas,
gtest,
intltool,
libayatana-common,
librda,
lomiri,
mate,
pkg-config,
systemd,
wrapGAppsHook3,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -26,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "ayatana-indicator-session";
rev = finalAttrs.version;
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-p4nu7ZgnEjnnxNqyZIg//YcssnQcCY7GFDbpGIu1dz0=";
};
@@ -61,13 +62,9 @@ stdenv.mkDerivation (finalAttrs: {
mate.mate-settings-daemon
];
nativeCheckInputs = [
dbus
];
nativeCheckInputs = [ dbus ];
checkInputs = [
gtest
];
checkInputs = [ gtest ];
cmakeFlags = [
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
@@ -81,12 +78,17 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelChecking = false;
passthru = {
ayatana-indicators = [ "ayatana-indicator-session" ];
ayatana-indicators = {
ayatana-indicator-session = [
"ayatana"
"lomiri"
];
};
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator showing session management, status and user switching";
longDescription = ''
This Ayatana Indicator is designed to be placed on the right side of a
@@ -98,8 +100,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-session";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-session/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.linux;
};
})
@@ -1,30 +1,31 @@
{ stdenv
, lib
, gitUpdater
, fetchFromGitHub
, nixosTests
, accountsservice
, cmake
, dbus
, dbus-test-runner
, glib
, gobject-introspection
, gtest
, intltool
, libayatana-common
, libgee
, libnotify
, libpulseaudio
, libqtdbusmock
, libqtdbustest
, libsForQt5
, libxml2
, lomiri
, pkg-config
, python3
, systemd
, vala
, wrapGAppsHook3
{
stdenv,
lib,
gitUpdater,
fetchFromGitHub,
nixosTests,
accountsservice,
cmake,
dbus,
dbus-test-runner,
glib,
gobject-introspection,
gtest,
intltool,
libayatana-common,
libgee,
libnotify,
libpulseaudio,
libqtdbusmock,
libqtdbustest,
libsForQt5,
libxml2,
lomiri,
pkg-config,
python3,
systemd,
vala,
wrapGAppsHook3,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -61,27 +62,27 @@ stdenv.mkDerivation (finalAttrs: {
wrapGAppsHook3
];
buildInputs = [
accountsservice
glib
gobject-introspection
libayatana-common
libgee
libnotify
libpulseaudio
libxml2
systemd
] ++ (with lomiri; [
cmake-extras
lomiri-api
lomiri-schemas
]);
buildInputs =
[
accountsservice
glib
gobject-introspection
libayatana-common
libgee
libnotify
libpulseaudio
libxml2
systemd
]
++ (with lomiri; [
cmake-extras
lomiri-api
lomiri-schemas
]);
nativeCheckInputs = [
dbus
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
];
checkInputs = [
@@ -105,12 +106,17 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
passthru = {
ayatana-indicators = [ "ayatana-indicator-sound" ];
ayatana-indicators = {
ayatana-indicator-sound = [
"ayatana"
"lomiri"
];
};
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana Indicator for managing system sound";
longDescription = ''
Ayatana Indicator Sound that provides easy control of the PulseAudio
@@ -118,8 +124,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-sound";
changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-sound/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.linux;
};
})
+1 -1
View File
@@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Open Source File Synchronization & Backup Software";
homepage = "https://freefilesync.org";
license = [ licenses.gpl3Only licenses.openssl licenses.curl licenses.libssh2 ];
license = [ licenses.gpl3Only licenses.openssl licenses.curl licenses.bsd3 ];
maintainers = with maintainers; [ wegank ];
platforms = platforms.linux;
};
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "misconfig-mapper";
version = "1.8.2";
version = "1.8.3";
src = fetchFromGitHub {
owner = "intigriti";
repo = "misconfig-mapper";
rev = "refs/tags/v${version}";
hash = "sha256-VKjzHPLyBuV+SiHs4kA6ZWq0g5dEwJsnFCG2Dl8YVDk=";
hash = "sha256-1ggiNO5ZYYmV44ub80IpzsHCcsEYhRlWcZtX012hJxQ=";
};
vendorHash = "sha256-hx03o4LaqFNylStCkt/MFtgwvsOZFFcEC/c54g1kCNk=";
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "podman-tui";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "containers";
repo = "podman-tui";
rev = "v${version}";
hash = "sha256-+YY7pq+jLwfdWBT5Ug5KtvMVy8DRWQ7kfC5U2bzYWAs=";
hash = "sha256-Is4qpN6i8zBK0WNYbb/YhtzsrgOth9sQdUT81sx7i7g=";
};
vendorHash = null;
@@ -263,7 +263,12 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
tests = {
inherit (nixosTests.lomiri) greeter desktop desktop-ayatana-indicators;
inherit (nixosTests.lomiri)
greeter
desktop-basics
desktop-appinteractions
desktop-ayatana-indicators
;
};
updateScript = gitUpdater { };
greeter = linkFarm "lomiri-greeter" [
@@ -1,32 +1,34 @@
{ stdenv
, lib
, fetchFromGitLab
, gitUpdater
, nixosTests
, testers
, cmake
, cmake-extras
, coreutils
, dbus
, doxygen
, gettext
, glib
, gmenuharness
, gtest
, intltool
, libsecret
, libqofono
, libqtdbusmock
, libqtdbustest
, lomiri-api
, lomiri-url-dispatcher
, networkmanager
, ofono
, pkg-config
, python3
, qtdeclarative
, qtbase
, validatePkgConfig
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
testers,
cmake,
cmake-extras,
coreutils,
dbus,
doxygen,
gettext,
glib,
gmenuharness,
gtest,
intltool,
libsecret,
libqofono,
libqtdbusmock,
libqtdbustest,
lomiri-api,
lomiri-url-dispatcher,
networkmanager,
ofono,
pkg-config,
python3,
qtdeclarative,
qtbase,
validatePkgConfig,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -46,6 +48,16 @@ stdenv.mkDerivation (finalAttrs: {
"doc"
];
patches = [
# Move to new lomiri-indicators target
# Remove when version > 1.0.2
(fetchpatch {
name = "0001-lomiri-indicator-network-lomiri-indicators-target.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/commit/b1e1f7da4b298964eba3caea37b1dace7a6182e9.patch";
hash = "sha256-pZKpEn2OJtB1pG/U+6IjtPGiOchRDhdbBHEZbTW7Lx0=";
})
];
postPatch = ''
# Override original prefixes
substituteInPlace data/CMakeLists.txt \
@@ -78,11 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
qtbase
];
nativeCheckInputs = [
(python3.withPackages (ps: with ps; [
python-dbusmock
]))
];
nativeCheckInputs = [ (python3.withPackages (ps: with ps; [ python-dbusmock ])) ];
checkInputs = [
gmenuharness
@@ -109,9 +117,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
ayatana-indicators = [
"lomiri-indicator-network"
];
ayatana-indicators = {
lomiri-indicator-network = [ "lomiri" ];
};
tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
vm = nixosTests.ayatana-indicators;
@@ -119,15 +127,13 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Ayatana indiator exporting the network settings menu through D-Bus";
homepage = "https://gitlab.com/ubports/development/core/lomiri-indicator-network";
changelog = "https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
pkgConfigModules = [
"lomiri-connectivity-qt1"
];
license = lib.licenses.gpl3Only;
maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.linux;
pkgConfigModules = [ "lomiri-connectivity-qt1" ];
};
})
@@ -1,42 +1,45 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, nixosTests
, ayatana-indicator-messages
, bash
, cmake
, dbus
, dbus-glib
, dbus-test-runner
, dconf
, gettext
, glib
, gnome-keyring
, history-service
, libnotify
, libphonenumber
, libpulseaudio
, libusermetrics
, lomiri-url-dispatcher
, makeWrapper
, pkg-config
, protobuf
, python3
, qtbase
, qtdeclarative
, qtfeedback
, qtmultimedia
, qtpim
, telepathy
, telepathy-glib
, telepathy-mission-control
, xvfb-run
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
ayatana-indicator-messages,
bash,
cmake,
dbus,
dbus-glib,
dbus-test-runner,
dconf,
gettext,
glib,
gnome-keyring,
history-service,
libnotify,
libphonenumber,
libpulseaudio,
libusermetrics,
lomiri-url-dispatcher,
makeWrapper,
pkg-config,
protobuf,
python3,
qtbase,
qtdeclarative,
qtfeedback,
qtmultimedia,
qtpim,
telepathy,
telepathy-glib,
telepathy-mission-control,
xvfb-run,
}:
let
replaceDbusService = pkg: name: "--replace \"\\\${DBUS_SERVICES_DIR}/${name}\" \"${pkg}/share/dbus-1/services/${name}\"";
replaceDbusService =
pkg: name:
"--replace-fail \"\\\${DBUS_SERVICES_DIR}/${name}\" \"${pkg}/share/dbus-1/services/${name}\"";
in
stdenv.mkDerivation (finalAttrs: {
pname = "telephony-service";
@@ -65,23 +68,25 @@ stdenv.mkDerivation (finalAttrs: {
})
];
postPatch = ''
# Queries qmake for the QML installation path, which returns a reference to Qt5's build directory
# Patch out failure if QMake is not found, since we don't use it
substituteInPlace CMakeLists.txt \
--replace "\''${QMAKE_EXECUTABLE} -query QT_INSTALL_QML" "echo $out/${qtbase.qtQmlPrefix}" \
--replace-fail 'QMAKE_EXECUTABLE STREQUAL "QMAKE_EXECUTABLE-NOTFOUND"' 'FALSE'
postPatch =
''
# Queries qmake for the QML installation path, which returns a reference to Qt5's build directory
# Patch out failure if QMake is not found, since we don't use it
substituteInPlace CMakeLists.txt \
--replace-fail "\''${QMAKE_EXECUTABLE} -query QT_INSTALL_QML" "echo $out/${qtbase.qtQmlPrefix}" \
--replace-fail 'QMAKE_EXECUTABLE STREQUAL "QMAKE_EXECUTABLE-NOTFOUND"' 'FALSE'
'' + lib.optionalString finalAttrs.finalPackage.doCheck ''
substituteInPlace tests/common/dbus-services/CMakeLists.txt \
${replaceDbusService telepathy-mission-control "org.freedesktop.Telepathy.MissionControl5.service"} \
${replaceDbusService telepathy-mission-control "org.freedesktop.Telepathy.AccountManager.service"} \
${replaceDbusService dconf "ca.desrt.dconf.service"}
''
+ lib.optionalString finalAttrs.finalPackage.doCheck ''
substituteInPlace tests/common/dbus-services/CMakeLists.txt \
${replaceDbusService telepathy-mission-control "org.freedesktop.Telepathy.MissionControl5.service"} \
${replaceDbusService telepathy-mission-control "org.freedesktop.Telepathy.AccountManager.service"} \
${replaceDbusService dconf "ca.desrt.dconf.service"}
substituteInPlace cmake/modules/GenerateTest.cmake \
--replace '/usr/lib/dconf' '${lib.getLib dconf}/libexec' \
--replace '/usr/lib/telepathy' '${lib.getLib telepathy-mission-control}/libexec'
'';
substituteInPlace cmake/modules/GenerateTest.cmake \
--replace-fail '/usr/lib/dconf' '${lib.getLib dconf}/libexec' \
--replace-fail '/usr/lib/telepathy' '${lib.getLib telepathy-mission-control}/libexec'
'';
strictDeps = true;
@@ -106,10 +111,12 @@ stdenv.mkDerivation (finalAttrs: {
libusermetrics
lomiri-url-dispatcher
protobuf
(python3.withPackages (ps: with ps; [
dbus-python
pygobject3
]))
(python3.withPackages (
ps: with ps; [
dbus-python
pygobject3
]
))
qtbase
qtdeclarative
qtfeedback
@@ -134,22 +141,27 @@ stdenv.mkDerivation (finalAttrs: {
# These rely on libphonenumber reformatting inputs to certain results
# Seem to be broken for a small amount of numbers, maybe libphonenumber version change?
(lib.cmakeBool "SKIP_QML_TESTS" true)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
# 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"
]})")
]))
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
lib.concatStringsSep ";" [
# 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"
]
})")
]
))
];
env.NIX_CFLAGS_COMPILE = toString ([
@@ -165,7 +177,12 @@ stdenv.mkDerivation (finalAttrs: {
preCheck = ''
export QT_QPA_PLATFORM=minimal
export QT_PLUGIN_PATH=${lib.makeSearchPathOutput "bin" qtbase.qtPluginPrefix [ qtbase qtpim ]}
export QT_PLUGIN_PATH=${
lib.makeSearchPathOutput "bin" qtbase.qtPluginPrefix [
qtbase
qtpim
]
}
'';
postInstall = ''
@@ -173,20 +190,27 @@ stdenv.mkDerivation (finalAttrs: {
# Still missing getprop from libhybris, we don't have it packaged (yet?)
wrapProgram $out/bin/ofono-setup \
--prefix PATH : ${lib.makeBinPath [ dbus dconf gettext glib telepathy-mission-control ]}
--prefix PATH : ${
lib.makeBinPath [
dbus
dconf
gettext
glib
telepathy-mission-control
]
}
# These SystemD services are referenced by the installed D-Bus services, but not part of the installation. Why?
for service in telephony-service-{approver,indicator}; do
install -Dm644 ../debian/telephony-service."$service".user.service $out/lib/systemd/user/"$service".service
# ofono-setup.service would be rovided by ubuntu-touch-session, we don't plan to package it
# ofono-setup.service would be provided by ubuntu-touch-session, we don't plan to package it
# Doesn't make sense to provide on non-Lomiri
substituteInPlace $out/lib/systemd/user/"$service".service \
--replace '/usr' "$out" \
--replace 'Requires=ofono-setup.service' "" \
--replace 'After=ofono-setup.service' "" \
sed -i $out/lib/systemd/user/"$service".service \
-e '/ofono-setup.service/d'
--replace-fail '/usr' "$out" \
--replace-warn 'Requires=ofono-setup.service' "" \
--replace-warn 'After=ofono-setup.service' "" \
--replace-warn 'WantedBy=ayatana-indicators.target' 'WantedBy=lomiri-indicators.target'
done
# Parses the call & SMS indicator desktop files & tries to find its own executable in PATH
@@ -195,19 +219,19 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
ayatana-indicators = [
"telephony-service-indicator"
];
ayatana-indicators = {
telephony-service-indicator = [ "lomiri" ];
};
tests.vm = nixosTests.ayatana-indicators;
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Backend dispatcher service for various mobile phone related operations";
homepage = "https://gitlab.com/ubports/development/core/telephony-service";
changelog = "https://gitlab.com/ubports/development/core/telephony-service/-/blob/${finalAttrs.version}/ChangeLog";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
license = lib.licenses.gpl3Only;
maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.linux;
};
})
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
description = "Client-side C library implementing the SSH2 protocol";
homepage = "https://www.libssh2.org";
platforms = platforms.all;
license = with licenses; [ bsd3 libssh2 ];
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ SuperSandro2000 ];
};
}
@@ -110,6 +110,7 @@ mapAliases {
inherit (pkgs) hyperpotamus; # added 2023-08-19
immich = pkgs.immich-cli; # added 2023-08-19
indium = throw "indium was removed because it was broken"; # added 2023-08-19
inliner = throw "inliner was removed because it was abandoned upstream"; # added 2024-08-23
ionic = throw "ionic was replaced by @ionic/cli"; # added 2023-08-19
inherit (pkgs) jake; # added 2023-08-19
inherit (pkgs) javascript-typescript-langserver; # added 2023-08-19
@@ -115,7 +115,6 @@
, "he"
, "hs-airdrop"
, "ijavascript"
, "inliner"
, "imapnotify"
, "insect"
, "intelephense"
-220
View File
@@ -72210,226 +72210,6 @@ in
bypassCache = true;
reconstructLock = true;
};
inliner = nodeEnv.buildNodePackage {
name = "inliner";
packageName = "inliner";
version = "1.13.1";
src = fetchurl {
url = "https://registry.npmjs.org/inliner/-/inliner-1.13.1.tgz";
sha512 = "yoS+56puOu+Ug8FBRtxtTFnEn2NHqFs8BNQgSOvzh3J0ommbwNw8VKiaVNYjWK6fgPuByq95KyV0LC+qV9IwLw==";
};
dependencies = [
sources."ajv-6.12.6"
sources."align-text-0.1.4"
sources."ansi-escapes-1.4.0"
sources."ansi-regex-2.1.1"
sources."ansi-styles-2.2.1"
sources."argparse-1.0.10"
sources."asap-2.0.6"
sources."asn1-0.2.6"
sources."assert-plus-1.0.0"
sources."asynckit-0.4.0"
sources."aws-sign2-0.7.0"
sources."aws4-1.13.0"
sources."bcrypt-pbkdf-1.0.2"
sources."boolbase-1.0.0"
sources."camelcase-1.2.1"
sources."caseless-0.12.0"
sources."center-align-0.1.3"
sources."chalk-1.1.3"
sources."charset-1.0.1"
sources."cheerio-0.19.0"
sources."clap-1.2.3"
sources."cliui-2.1.0"
sources."coa-1.0.4"
sources."colors-1.1.2"
sources."combined-stream-1.0.8"
(sources."configstore-1.4.0" // {
dependencies = [
sources."uuid-2.0.3"
];
})
sources."core-util-is-1.0.3"
sources."css-select-1.0.0"
sources."css-what-1.0.0"
sources."csso-2.0.0"
sources."dashdash-1.14.1"
sources."debug-2.6.9"
sources."decamelize-1.2.0"
sources."deep-extend-0.6.0"
sources."delayed-stream-1.0.0"
sources."dom-serializer-0.1.1"
sources."domelementtype-1.3.1"
sources."domhandler-2.3.0"
sources."domutils-1.4.3"
(sources."duplexify-3.7.1" // {
dependencies = [
sources."isarray-1.0.0"
sources."readable-stream-2.3.8"
sources."safe-buffer-5.1.2"
sources."string_decoder-1.1.1"
];
})
sources."ecc-jsbn-0.1.2"
sources."end-of-stream-1.4.4"
sources."entities-1.1.2"
sources."es6-promise-2.3.0"
sources."escape-string-regexp-1.0.5"
sources."esprima-2.7.3"
sources."extend-3.0.2"
sources."extsprintf-1.3.0"
sources."fast-deep-equal-3.1.3"
sources."fast-json-stable-stringify-2.1.0"
sources."forever-agent-0.6.1"
sources."form-data-2.3.3"
sources."getpass-0.1.7"
(sources."got-3.3.1" // {
dependencies = [
sources."object-assign-3.0.0"
];
})
sources."graceful-fs-4.2.11"
sources."har-schema-2.0.0"
sources."har-validator-5.1.5"
sources."has-ansi-2.0.0"
(sources."htmlparser2-3.8.3" // {
dependencies = [
sources."domutils-1.5.1"
sources."entities-1.0.0"
];
})
sources."http-signature-1.2.0"
sources."iconv-lite-0.4.24"
sources."imurmurhash-0.1.4"
sources."infinity-agent-2.0.3"
sources."inherits-2.0.4"
sources."ini-1.3.8"
sources."is-buffer-1.1.6"
sources."is-finite-1.1.0"
sources."is-npm-1.0.0"
sources."is-redirect-1.0.0"
sources."is-stream-1.1.0"
sources."is-typedarray-1.0.0"
sources."isarray-0.0.1"
sources."isstream-0.1.2"
sources."js-yaml-3.6.1"
sources."jsbn-0.1.1"
sources."jschardet-1.6.0"
sources."json-schema-0.4.0"
sources."json-schema-traverse-0.4.1"
sources."json-stringify-safe-5.0.1"
sources."jsprim-1.4.2"
sources."kind-of-3.2.2"
sources."latest-version-1.0.1"
sources."lazy-cache-1.0.4"
sources."lodash-3.10.1"
sources."lodash._arrayeach-3.0.0"
sources."lodash._baseassign-3.2.0"
sources."lodash._basecopy-3.0.1"
sources."lodash._baseeach-3.0.4"
sources."lodash._bindcallback-3.0.1"
sources."lodash._createassigner-3.1.1"
sources."lodash._getnative-3.9.1"
sources."lodash._isiterateecall-3.0.9"
sources."lodash.assign-3.2.0"
sources."lodash.defaults-3.1.2"
sources."lodash.foreach-3.0.3"
sources."lodash.isarguments-3.1.0"
sources."lodash.isarray-3.0.4"
sources."lodash.keys-3.1.2"
sources."lodash.restparam-3.6.1"
sources."longest-1.0.1"
sources."lowercase-keys-1.0.1"
sources."mime-1.6.0"
sources."mime-db-1.52.0"
sources."mime-types-2.1.35"
sources."minimist-1.2.8"
sources."mkdirp-0.5.6"
sources."ms-2.0.0"
sources."nested-error-stacks-1.0.2"
sources."nth-check-1.0.2"
sources."oauth-sign-0.9.0"
sources."object-assign-4.1.1"
sources."once-1.4.0"
sources."os-homedir-1.0.2"
sources."os-tmpdir-1.0.2"
sources."osenv-0.1.5"
sources."package-json-1.2.0"
sources."performance-now-2.1.0"
sources."pinkie-2.0.4"
sources."pinkie-promise-2.0.1"
sources."prepend-http-1.0.4"
sources."process-nextick-args-2.0.1"
sources."promise-7.3.1"
sources."psl-1.9.0"
sources."punycode-2.3.1"
sources."q-1.5.1"
sources."qs-6.5.3"
sources."rc-1.2.8"
(sources."read-all-stream-3.1.0" // {
dependencies = [
sources."isarray-1.0.0"
sources."readable-stream-2.3.8"
sources."safe-buffer-5.1.2"
sources."string_decoder-1.1.1"
];
})
sources."readable-stream-1.1.14"
sources."registry-url-3.1.0"
sources."repeat-string-1.6.1"
sources."repeating-1.1.3"
sources."request-2.88.2"
sources."right-align-0.1.3"
sources."safe-buffer-5.2.1"
sources."safer-buffer-2.1.2"
sources."sax-1.2.4"
sources."semver-5.7.2"
sources."semver-diff-2.1.0"
sources."slide-1.1.6"
sources."source-map-0.5.7"
sources."sprintf-js-1.0.3"
sources."sshpk-1.18.0"
sources."stream-shift-1.0.3"
sources."string-length-1.0.1"
sources."string_decoder-0.10.31"
sources."strip-ansi-3.0.1"
sources."strip-json-comments-2.0.1"
sources."supports-color-2.0.0"
sources."svgo-0.6.6"
sources."then-fs-2.0.0"
sources."timed-out-2.0.0"
sources."tough-cookie-2.5.0"
sources."tunnel-agent-0.6.0"
sources."tweetnacl-0.14.5"
sources."uglify-js-2.8.29"
sources."uglify-to-browserify-1.0.2"
sources."update-notifier-0.5.0"
sources."uri-js-4.4.1"
sources."util-deprecate-1.0.2"
sources."uuid-3.4.0"
(sources."verror-1.10.0" // {
dependencies = [
sources."core-util-is-1.0.2"
];
})
sources."whet.extend-0.9.9"
sources."window-size-0.1.0"
sources."wordwrap-0.0.2"
sources."wrappy-1.0.2"
sources."write-file-atomic-1.3.4"
sources."xdg-basedir-2.0.0"
sources."yargs-3.10.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "Utility to inline images, CSS and JavaScript for a web page - useful for mobile sites";
homepage = "http://github.com/remy/inliner";
license = "MIT";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
imapnotify = nodeEnv.buildNodePackage {
name = "imapnotify";
packageName = "imapnotify";
@@ -3,6 +3,7 @@
lib,
php,
fetchFromGitHub,
fetchpatch,
}:
let
@@ -19,6 +20,14 @@ buildPecl {
hash = "sha256-Ie31zak6Rqxm2+jGXWg6KN4czHe9e+190jZRQ5VoB+M=";
};
patches = [
# Fix build with PHP 8.4.
(fetchpatch {
url = "https://github.com/phpredis/phpredis/commit/a51215ce2b22bcd1f506780c35b6833471e0b8cb.patch";
hash = "sha256-DoGPMyuI/IZdF+8jG5faoyG2aM+WDz0obH6S7HoOMX8=";
})
];
internalDeps = with php.extensions; [ session ];
meta = with lib; {
@@ -24,7 +24,7 @@
buildPythonPackage rec {
pname = "fastembed";
version = "0.3.4";
version = "0.3.5";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
owner = "qdrant";
repo = "fastembed";
rev = "refs/tags/v${version}";
hash = "sha256-fsouRmBW56NJMsVsOaBUp920NVj/o0wd6DNsEd5qil8=";
hash = "sha256-IdIGht4RcejXoBTJ8eHi5fNw2ffxIi/chuoQBNjA98g=";
};
build-system = [ poetry-core ];
@@ -2,6 +2,7 @@
lib,
stdenv,
buildPythonPackage,
fetchpatch2,
pythonOlder,
hatchling,
opentelemetry-api,
@@ -20,6 +21,16 @@ buildPythonPackage {
disabled = pythonOlder "3.8";
patches = [
(fetchpatch2 {
name = "grpcio-compatibility.patch";
url = "https://github.com/open-telemetry/opentelemetry-python-contrib/commit/1c8d8ef5368c15d27c0973ce80787fd94c7b3176.patch";
includes = [ "src/opentelemetry/instrumentation/grpc/grpcext/_interceptor.py" ];
stripLen = 2;
hash = "sha256-FH/VubT93kwh7nWQyPfECTIayMqWIjQYSEY5TER+4vY=";
})
];
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-grpc";
build-system = [ hatchling ];
@@ -53,7 +64,5 @@ buildPythonPackage {
meta = opentelemetry-instrumentation.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-grpc";
description = "OpenTelemetry Instrumentation for grpc";
# https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2483
broken = lib.versionAtLeast grpcio.version "1.63";
};
}
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pytouchlinesl";
version = "0.1.1";
version = "0.1.3";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "jnsgruk";
repo = "pytouchlinesl";
rev = "refs/tags/${version}";
hash = "sha256-xyAy5QtNox1ZeXGQEYXWiEIQKSNQSnRTqr0kgQRmdcg=";
hash = "sha256-TLKZ3mPNS7jRpbx3nllLlv5jPVQDLcTs44oJr6rNGeQ=";
};
build-system = [ setuptools ];
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "quantile-forest";
version = "1.3.8";
version = "1.3.9";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "zillow";
repo = "quantile-forest";
rev = "refs/tags/v${version}";
hash = "sha256-/BY34xxEWpmUcbITBUX2nGZ8ZOjKDPwiA6Vui0CvsBc=";
hash = "sha256-uvfY17ADyuLc3zx2Z2uEKOijqiuefiN2uSh0j+ZOz4w=";
};
build-system = [
+10 -10
View File
@@ -14,21 +14,21 @@ let
channels = {
stable = {
version = "2.13.4";
version = "2.13.5";
hash = {
x86_64-linux = "sha256-vIqqVVJxKlxiKWsb9soy6yZQ9NQ8ZCjUqzu6k8m9MJE=";
x86_64-darwin = "sha256-m7ZMVEaqIvmutTaQk3r8/p8h5zt4k/s34IdKjv89awA=";
aarch64-linux = "sha256-fBHZijXeqRNr9zvmgaFhMaIIF9kgP7J32CwJgBvf9/0=";
aarch64-darwin = "sha256-3QnxGDV4VRlxw3BayYD4akC6ZRjaUhEkptTGt3Zzecg=";
x86_64-linux = "sha256-drg19B1YTjpLvKDGE8B38T08KyMvuoAse5hQzDaJn5k=";
x86_64-darwin = "sha256-wj1zW6pJBx7eTFxdjBNiS6g+uixCUd1+O969K4JDj1k=";
aarch64-linux = "sha256-z2iiz5RWoVsDkwKCvDYbFRsLyiIBhJKrCo6p8d4ImMg=";
aarch64-darwin = "sha256-akuXh/izu9S9UQfIWhfdfcuez4FhZBz5PE5g9WmtpoQ=";
};
};
mainline = {
version = "2.14.1";
version = "2.14.2";
hash = {
x86_64-linux = "sha256-zOMcngzhG6SxN/Hjamf5g0Cb/nhrD3NcVKC8MdL2L80=";
x86_64-darwin = "sha256-FzFrE3moll8D0of0Chs47XI9baAjFDzpcPJdpwteMpE=";
aarch64-linux = "sha256-RsQ3sv5t+o6gObdG81hZ8dHng39qjlynENH30oAhZqM=";
aarch64-darwin = "sha256-MPIm/d6fOe6DjVIewDeoxMs2OKz9urWgKMW6vmM9RGs=";
x86_64-linux = "sha256-Qglz8F80QICwWOVwDELegewYHkPhhrTEuGKJgiw2mYg=";
x86_64-darwin = "sha256-uyslQIAXOROSdtyiLSUcxEwYzK+iDup8/jRI74QGcEo=";
aarch64-linux = "sha256-rzTBfO8+DSxJjhjIhl8qNji8bWe/EGZ4dG17D8wjlkA=";
aarch64-darwin = "sha256-+lFWz6qDuhtDNn7DID/lmpqltpEwftVP3U+2CseVMnY=";
};
};
};
+3 -3
View File
@@ -4,7 +4,7 @@
fetchFromGitHub,
}:
let
version = "2.2.2";
version = "2.2.3";
in
buildGoModule {
pname = "go-toml";
@@ -14,10 +14,10 @@ buildGoModule {
owner = "pelletier";
repo = "go-toml";
rev = "v${version}";
sha256 = "sha256-Z17977v2qMdf/e6iHEuRyCuC//HeFF8tkLt2P8Z/NT4=";
sha256 = "sha256-+l89SvJ/4SxVItys1ROLOv2hZ5euU1MF21Yn0siQHUM=";
};
vendorHash = "sha256-4t/ft3XTfc7yrsFVMSfjdCur8QULho3NI2ym6gqjexI=";
vendorHash = "sha256-YkOcpzn5AKFMDWUYbKY8DzGMiIMSyaDfexFmXv5HNQI=";
excludedPackages = [
"cmd/gotoml-test-decoder"
+9 -5
View File
@@ -16,18 +16,23 @@
stdenv.mkDerivation rec {
pname = "nfd";
version = "22.12";
version = "24.07";
src = fetchFromGitHub {
owner = "named-data";
repo = lib.toUpper pname;
rev = "NFD-${version}";
hash = "sha256-epY5qtET7rsKL3KIKvxfa+wF+AGZbYs+zRhy8SnIffk=";
hash = "sha256-iEI8iS0eLLVe6PkOiCHL3onYNVYVZ1ttmk/aWrBkDhg=";
fetchSubmodules = true;
};
postPatch = ''
# These tests fail because they try to check for user/group permissions.
rm tests/daemon/mgmt/general-config-section.t.cpp
'';
nativeBuildInputs = [ pkg-config sphinx wafHook ];
buildInputs = [ libpcap ndn-cxx openssl websocketpp ] ++ lib.optional withSystemd systemd;
buildInputs = [ boost179 libpcap ndn-cxx openssl websocketpp ] ++ lib.optional withSystemd systemd;
wafConfigureFlags = [
"--boost-includes=${boost179.dev}/include"
@@ -39,8 +44,7 @@ stdenv.mkDerivation rec {
checkPhase = ''
runHook preCheck
build/unit-tests-core
# build/unit-tests-daemon # 3 tests fail
build/unit-tests-rib
build/unit-tests-daemon
build/unit-tests-tools
runHook postCheck
'';
+1 -1
View File
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
bsd3
isc
mit
zsh
mit-modern
];
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.olejorgenb ];
+3 -3
View File
@@ -16,14 +16,14 @@
let
pname = "pgadmin";
version = "8.10";
yarnHash = "sha256-UydWtk2UJNsF8FEp6dNsKJGjrWhmdCog0kn9VMcOvVU=";
version = "8.11";
yarnHash = "sha256-2N1UsGrR9rTIP50kn+gB+iGz9D/Dj0K5Y/10A5wPKTY=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-b7k6A57yMh9vGwMHM9coG2b5tQ+AQoJDFvR/qQZdmtk=";
hash = "sha256-6v7/jFkWooUHztL+x6falD04XyDYa1beoY/yEpfbX4U=";
};
# keep the scope, as it is used throughout the derivation and tests
File diff suppressed because it is too large Load Diff
+7 -2
View File
@@ -28,13 +28,13 @@ let
# This includes the complete source so the per-script derivations can run the tests.
core = stdenv.mkDerivation rec {
pname = "bat-extras";
version = "2024.02.12";
version = "2024.07.10";
src = fetchFromGitHub {
owner = "eth-p";
repo = "bat-extras";
rev = "v${version}";
hash = "sha256-EPDGQkwwxYFTJPJtwSkVrpBf27+VlMd/nqEkJupHlyA=";
hash = "sha256-6IRAKSy5f/WcQZBcJKVSweTjHLznzdxhsyx074bXnUQ=";
fetchSubmodules = true;
};
@@ -68,6 +68,11 @@ let
echo "Couldn't find any library test suites"
exit 1
}
# Skip the batdiff test because it's broken
# https://github.com/eth-p/bat-extras/issues/126
sed -i '/test:version/a skip "batdiff test is broken."' test/suite/batdiff.sh
./test.sh --compiled $(printf -- "--suite %q\n" "''${!test_suites[@]}")
runHook postCheck
'';
+9
View File
@@ -7,6 +7,8 @@
, protobuf
, capnproto
, cmake
, testers
, veilid
}:
rustPlatform.buildRustPackage rec {
@@ -52,8 +54,15 @@ rustPlatform.buildRustPackage rec {
moveToOutput "lib" "$lib"
'';
passthru.tests = {
veilid-version = testers.testVersion {
package = veilid;
};
};
meta = with lib; {
description = "Open-source, peer-to-peer, mobile-first, networked application framework";
mainProgram = "veilid-server";
homepage = "https://veilid.com";
license = licenses.mpl20;
maintainers = with maintainers; [ bbigras qbit ];
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2024-07-27";
version = "2024-08-05";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
rev = "refs/tags/${version}";
hash = "sha256-V0J/Pt1K1jC+ig8ofCrGb7lbQrRah80l1rHeRLXY0+A=";
hash = "sha256-LXbcFX0yTtnZWyDr0O8d1U4CX/FrjmAqHzoDNAQiqLY=";
};
nativeBuildInputs = [ makeWrapper ];