Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-29 12:05:05 +00:00 committed by GitHub
commit 8e5ca58e0a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
45 changed files with 657 additions and 135 deletions

View File

@ -524,8 +524,8 @@ An example usage of the above attributes is:
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
yarnInstallHook,
nodejs,
npmHooks,
}:
stdenv.mkDerivation (finalAttrs: {
@ -541,7 +541,7 @@ stdenv.mkDerivation (finalAttrs: {
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-mo8urQaWIHu33+r0Y7mL9mJ/aSe/5CihuIetTeDHEUQ=";
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
nativeBuildInputs = [

View File

@ -6933,6 +6933,12 @@
{ fingerprint = "elY15tXap1tddxbBVoUoAioe1u0RDWti5rc9cauSmwo"; }
];
};
figboy9 = {
email = "figboy9@tuta.io";
github = "figboy9";
githubId = 52276064;
name = "figboy9";
};
figsoda = {
email = "figsoda@pm.me";
matrix = "@figsoda:matrix.org";

View File

@ -13,6 +13,14 @@
[XDG Icon Theme specification](https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html).
'';
};
xdg.icons.fallbackCursorThemes = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = ''
Names of the fallback cursor themes, in order of preference, to be used when no other icon source can be found.
Set to `[]` to disable the fallback entirely.
'';
};
};
config = lib.mkIf config.xdg.icons.enable {
@ -25,6 +33,15 @@
# Empty icon theme that contains index.theme file describing directories
# where toolkits should look for icons installed by apps.
pkgs.hicolor-icon-theme
] ++ lib.optionals (config.xdg.icons.fallbackCursorThemes != []) [
(pkgs.writeTextFile {
name = "fallback-cursor-theme";
text = ''
[Icon Theme]
Inherits=${lib.concatStringsSep "," config.xdg.icons.fallbackCursorThemes}
'';
destination = "/share/icons/default/index.theme";
})
];
# libXcursor looks for cursors in XCURSOR_PATH

View File

@ -1252,6 +1252,7 @@
./services/networking/uptermd.nix
./services/networking/v2ray.nix
./services/networking/v2raya.nix
./services/networking/veilid.nix
./services/networking/vdirsyncer.nix
./services/networking/vsftpd.nix
./services/networking/wasabibackend.nix

View File

@ -245,6 +245,7 @@ in {
systemd.services."drkonqi-coredump-processor@".wantedBy = ["systemd-coredump@.service"];
xdg.icons.enable = true;
xdg.icons.fallbackCursorThemes = mkDefault ["breeze_cursors"];
xdg.portal.enable = true;
xdg.portal.extraPortals = [

View File

@ -30,16 +30,15 @@ in {
description = "tzupdate timezone update service";
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
script = ''
timedatectl set-timezone $(${lib.getExe pkgs.tzupdate} --print-only)
'';
serviceConfig = {
Type = "oneshot";
# We could link directly into pkgs.tzdata, but at least timedatectl seems
# to expect the symlink to point directly to a file in etc.
# Setting the "debian timezone file" to point at /dev/null stops it doing anything.
ExecStart = "${pkgs.tzupdate}/bin/tzupdate -z /etc/zoneinfo -d /dev/null";
};
};
};
meta.maintainers = [ ];
meta.maintainers = with lib.maintainers; [ doronbehar ];
}

View File

@ -1,12 +1,10 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.monero;
listToConf = option: list:
concatMapStrings (value: "${option}=${value}\n") list;
lib.concatMapStrings (value: "${option}=${value}\n") list;
login = (cfg.rpc.user != null && cfg.rpc.password != null);
@ -14,17 +12,17 @@ let
log-file=/dev/stdout
data-dir=${dataDir}
${optionalString mining.enable ''
${lib.optionalString mining.enable ''
start-mining=${mining.address}
mining-threads=${toString mining.threads}
''}
rpc-bind-ip=${rpc.address}
rpc-bind-port=${toString rpc.port}
${optionalString login ''
${lib.optionalString login ''
rpc-login=${rpc.user}:${rpc.password}
''}
${optionalString rpc.restricted ''
${lib.optionalString rpc.restricted ''
restricted-rpc=1
''}
@ -50,34 +48,34 @@ in
services.monero = {
enable = mkEnableOption "Monero node daemon";
enable = lib.mkEnableOption "Monero node daemon";
dataDir = mkOption {
type = types.str;
dataDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/monero";
description = ''
The directory where Monero stores its data files.
'';
};
mining.enable = mkOption {
type = types.bool;
mining.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to mine monero.
'';
};
mining.address = mkOption {
type = types.str;
mining.address = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Monero address where to send mining rewards.
'';
};
mining.threads = mkOption {
type = types.addCheck types.int (x: x>=0);
mining.threads = lib.mkOption {
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Number of threads used for mining.
@ -85,48 +83,48 @@ in
'';
};
rpc.user = mkOption {
type = types.nullOr types.str;
rpc.user = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
User name for RPC connections.
'';
};
rpc.password = mkOption {
type = types.nullOr types.str;
rpc.password = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Password for RPC connections.
'';
};
rpc.address = mkOption {
type = types.str;
rpc.address = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = ''
IP address the RPC server will bind to.
'';
};
rpc.port = mkOption {
type = types.port;
rpc.port = lib.mkOption {
type = lib.types.port;
default = 18081;
description = ''
Port the RPC server will bind to.
'';
};
rpc.restricted = mkOption {
type = types.bool;
rpc.restricted = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to restrict RPC to view only commands.
'';
};
limits.upload = mkOption {
type = types.addCheck types.int (x: x>=-1);
limits.upload = lib.mkOption {
type = lib.types.addCheck lib.types.int (x: x>=-1);
default = -1;
description = ''
Limit of the upload rate in kB/s.
@ -134,8 +132,8 @@ in
'';
};
limits.download = mkOption {
type = types.addCheck types.int (x: x>=-1);
limits.download = lib.mkOption {
type = lib.types.addCheck lib.types.int (x: x>=-1);
default = -1;
description = ''
Limit of the download rate in kB/s.
@ -143,8 +141,8 @@ in
'';
};
limits.threads = mkOption {
type = types.addCheck types.int (x: x>=0);
limits.threads = lib.mkOption {
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Maximum number of threads used for a parallel job.
@ -152,8 +150,8 @@ in
'';
};
limits.syncSize = mkOption {
type = types.addCheck types.int (x: x>=0);
limits.syncSize = lib.mkOption {
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Maximum number of blocks to sync at once.
@ -161,16 +159,16 @@ in
'';
};
extraNodes = mkOption {
type = types.listOf types.str;
extraNodes = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of additional peer IP addresses to add to the local list.
'';
};
priorityNodes = mkOption {
type = types.listOf types.str;
priorityNodes = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of peer IP addresses to connect to and
@ -178,8 +176,8 @@ in
'';
};
exclusiveNodes = mkOption {
type = types.listOf types.str;
exclusiveNodes = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of peer IP addresses to connect to *only*.
@ -187,8 +185,8 @@ in
'';
};
extraConfig = mkOption {
type = types.lines;
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Extra lines to be added verbatim to monerod configuration.
@ -202,7 +200,7 @@ in
###### implementation
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
users.users.monero = {
isSystemUser = true;
@ -228,7 +226,7 @@ in
};
};
assertions = singleton {
assertions = lib.singleton {
assertion = cfg.mining.enable -> cfg.mining.address != "";
message = ''
You need a Monero address to receive mining rewards:

View File

@ -0,0 +1,227 @@
{
config,
pkgs,
lib,
...
}:
with lib;
let
cfg = config.services.veilid;
dataDir = "/var/db/veilid-server";
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "veilid-server.conf" cfg.settings;
in
{
config = mkIf cfg.enable {
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 5150 ];
allowedUDPPorts = [ 5150 ];
};
# Based on https://gitlab.com/veilid/veilid/-/blob/main/package/systemd/veilid-server.service?ref_type=heads
systemd.services.veilid = {
enable = true;
description = "Veilid Headless Node";
wants = [ "network-online.target" ];
before = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
restartTriggers = [ configFile ];
environment = {
RUST_BACKTRACE = "1";
};
serviceConfig = {
ExecStart = "${pkgs.veilid}/bin/veilid-server -c ${configFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -s HUP $MAINPID";
KillSignal = "SIGQUIT";
TimeoutStopSec = 5;
WorkingDirectory = "/";
User = "veilid";
Group = "veilid";
UMask = "0002";
CapabilityBoundingSet = "";
SystemCallFilter = [ "@system-service" ];
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
PrivateUsers = true;
ProtectHome = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
ReadWritePaths = dataDir;
RestrictRealtime = true;
SystemCallArchitectures = "native";
LockPersonality = true;
RestrictSUIDSGID = true;
};
};
users.users.veilid = {
isSystemUser = true;
group = "veilid";
home = dataDir;
createHome = true;
};
users.groups.veilid = { };
environment = {
systemPackages = [ pkgs.veilid ];
};
services.veilid.settings = { };
};
options.services.veilid = {
enable = mkEnableOption "Veilid Headless Node";
openFirewall = mkOption {
default = false;
type = types.bool;
description = "Whether to open firewall on ports 5150/tcp, 5150/udp";
};
settings = mkOption {
description = ''
Build veilid-server.conf with nix expression.
Check <link xlink:href="https://veilid.gitlab.io/developer-book/admin/config.html#configuration-keys">Configuration Keys</link>.
'';
type = types.submodule {
freeformType = settingsFormat.type;
options = {
client_api = {
ipc_enabled = mkOption {
type = types.bool;
default = true;
description = "veilid-server will respond to Python and other JSON client requests.";
};
ipc_directory = mkOption {
type = types.str;
default = "${dataDir}/ipc";
description = "IPC directory where file sockets are stored.";
};
};
logging = {
system = {
enabled = mkOption {
type = types.bool;
default = true;
description = "Events of type 'system' will be logged.";
};
level = mkOption {
type = types.str;
default = "info";
example = "debug";
description = "The minimum priority of system events to be logged.";
};
};
terminal = {
enabled = mkOption {
type = types.bool;
default = false;
description = "Events of type 'terminal' will be logged.";
};
level = mkOption {
type = types.str;
default = "info";
example = "debug";
description = "The minimum priority of terminal events to be logged.";
};
};
api = {
enabled = mkOption {
type = types.bool;
default = false;
description = "Events of type 'api' will be logged.";
};
level = mkOption {
type = types.str;
default = "info";
example = "debug";
description = "The minimum priority of api events to be logged.";
};
};
};
core = {
capabilities = {
disable = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "APPM" ];
description = "A list of capabilities to disable (for example, DHTV to say you cannot store DHT information).";
};
};
protected_store = {
allow_insecure_fallback = mkOption {
type = types.bool;
default = true;
description = "If we can't use system-provided secure storage, should we proceed anyway?";
};
always_use_insecure_storage = mkOption {
type = types.bool;
default = true;
description = "Should we bypass any attempt to use system-provided secure storage?";
};
directory = mkOption {
type = types.str;
default = "${dataDir}/protected_store";
description = "The filesystem directory to store your protected store in.";
};
};
table_store = {
directory = mkOption {
type = types.str;
default = "${dataDir}/table_store";
description = "The filesystem directory to store your table store within.";
};
};
block_store = {
directory = mkOption {
type = types.nullOr types.str;
default = "${dataDir}/block_store";
description = "The filesystem directory to store blocks for the block store.";
};
};
network = {
routing_table = {
bootstrap = mkOption {
type = types.listOf types.str;
default = [ "bootstrap.veilid.net" ];
description = "Host name of existing well-known Veilid bootstrap servers for the network to connect to.";
};
node_id = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Base64-encoded public key for the node, used as the node's ID.";
};
};
dht = {
min_peer_count = mkOption {
type = types.number;
default = 20;
description = "Minimum number of nodes to keep in the peer table.";
};
};
upnp = mkOption {
type = types.bool;
default = true;
description = "Should the app try to improve its incoming network connectivity using UPnP?";
};
detect_address_changes = mkOption {
type = types.bool;
default = true;
description = "Should veilid-core detect and notify on network address changes?";
};
};
};
};
};
};
};
meta.maintainers = with maintainers; [ figboy9 ];
}

View File

@ -11,18 +11,21 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = "cdown";
repo = "tzupdate";
rev = version;
rev = "refs/tags/${version}";
hash = "sha256-eod4yFzX7pATNQmG7jU+r9mnC9nprJ55ufMXpKjw/YI=";
};
cargoHash = "sha256-5+lp5xlwJxFDqzVxptJPX7z0iLoMkgdwHxvRVIXHF7Y=";
meta = with lib; {
meta = {
description = "Set the system timezone based on IP geolocation";
homepage = "https://github.com/cdown/tzupdate";
license = licenses.mit;
maintainers = with maintainers; [ camillemndn ];
platforms = platforms.linux;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
camillemndn
doronbehar
];
platforms = lib.platforms.linux;
mainProgram = "tzupdate";
};
}

View File

@ -32,6 +32,7 @@ let
{ hyprgrass = import ./hyprgrass.nix; }
{ hyprscroller = import ./hyprscroller.nix; }
{ hyprspace = import ./hyprspace.nix; }
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
];
in

View File

@ -0,0 +1,34 @@
{
lib,
meson,
fetchFromGitHub,
hyprland,
ninja,
mkHyprlandPlugin,
}:
mkHyprlandPlugin hyprland rec {
pluginName = "hyprsplit";
version = "0.43.0";
src = fetchFromGitHub {
owner = "shezdy";
repo = "hyprsplit";
rev = "refs/tags/v${version}";
hash = "sha256-r533kNIyfgPi/q8ddIYyDK1Pmupt/F3ncHuFo3zjDkU=";
};
nativeBuildInputs = [
meson
ninja
];
meta = {
homepage = "https://github.com/shezdy/hyprsplit";
description = "Hyprland plugin for awesome / dwm like workspaces";
license = lib.licenses.bsd3;
inherit (hyprland.meta) platforms;
maintainers = with lib.maintainers; [
aacebedo
];
};
}

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "application-title-bar";
version = "0.7.2";
version = "0.7.3";
src = fetchFromGitHub {
owner = "antroids";
repo = "application-title-bar";
rev = "v${finalAttrs.version}";
hash = "sha256-0tSwjyKPVyOR0VJi1qqMFf/yVmWFmyue0xaNp9pYxDo=";
hash = "sha256-kvFUz0m222jTGrkqLyYmnW0o4MXU9lLAsyk6QBAJHr8=";
};
propagatedUserEnvPkgs = with kdePackages; [ kconfig ];

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.27.1";
version = "0.27.3";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-7jTkQIBeC8Vl8wrrdulZZq/aQNwksUsAdA7hlPEd4cQ=";
hash = "sha256-nE4cHQvFseSgB6LluTp9dCDEqR9vAymZCN3V7HgieYA=";
};
cargoHash = "sha256-sDKF8KbTQGQizyjV3w4+LGgz1i18wmKzvHfCb3XGb0g=";
cargoHash = "sha256-A0qvug8wbqN22B0j6BFZyeHMfmlBsuZJRJ1SmctTz1s=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -12,7 +12,7 @@
let
pname = "firefly-iii";
version = "6.1.20";
version = "6.1.21";
phpPackage = php83;
npmDepsHash = "sha256-N4o7FKdya6bGakNKNq2QUV8HKRfuov5ahvbjR/rsimU=";
@ -20,7 +20,7 @@ let
owner = "firefly-iii";
repo = "firefly-iii";
rev = "v${version}";
hash = "sha256-vb9pGupa4cRy/p9iHJT7SMNchRQSU9Nnh6FphEcvt+k=";
hash = "sha256-jadxzUhOb3G/DwJk8IV4IcwjmxgrrriVMVwj1cYFHEA=";
};
in

View File

@ -28,13 +28,13 @@
rustPlatform.buildRustPackage rec {
pname = "firefoxpwa";
version = "2.12.4";
version = "2.12.5";
src = fetchFromGitHub {
owner = "filips123";
repo = "PWAsForFirefox";
rev = "v${version}";
hash = "sha256-VNCQUF/Xep/PkrNd9Mzbm3NWPToqXpJM6SzDoqBXbNY=";
hash = "sha256-WAAZ35AkKzufhDm8RNTpSsGJjqCIm84THEOmXemvv2o=";
};
sourceRoot = "${src.name}/native";

View File

@ -33,13 +33,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "picom";
version = "12";
version = "12.1";
src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${finalAttrs.version}";
hash = "sha256-7XpZEYQtjsBAcMMEJXlfSaZ1jdDxDBnzkSAtTbW7Br4=";
hash = "sha256-XBFSPSrG6C4n5oQUQbWXyy9iCuEdrdaxU0CPR73juzk=";
fetchSubmodules = true;
};

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "supermariowar";
version = "2023-unstable-2024-09-17";
version = "2023-unstable-2024-09-21";
src = fetchFromGitHub {
owner = "mmatyas";
repo = "supermariowar";
rev = "6b8ff8c669ca31a116754d23b6ff65e42ac50733";
hash = "sha256-P0jV7G81thj0UJoYLd5+H5SjjaVu4goJxc9IkbzxJgs=";
rev = "7e7ebe39cadba5d0bd9d7e87a08264332c2f1f12";
hash = "sha256-kBwaqw0GZvLWE5GqgfieLRU4s8wYFtTZyl1MgwWGbMc=";
fetchSubmodules = true;
};

View File

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "troubadix";
version = "24.9.2";
version = "24.9.4";
pyproject = true;
src = fetchFromGitHub {
owner = "greenbone";
repo = "troubadix";
rev = "refs/tags/v${version}";
hash = "sha256-nFzrOSaq0U6qapmk59iAK3N0gQag1fMaew3LtOK+neY=";
hash = "sha256-y7IVEDbXYiNi9/SIlbmrkZ5SxrLzYe3Yy8LkP+wID3w=";
};
pythonRelaxDeps = [ "validators" ];

View File

@ -0,0 +1,36 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
usage,
testers,
}:
rustPlatform.buildRustPackage rec {
pname = "jdx";
version = "0.3.1";
src = fetchFromGitHub {
owner = "jdx";
repo = "usage";
rev = "v${version}";
hash = "sha256-9zQ+gkBVhzjqSIieGjxoD9vc7999lfRQ7awkvlEkseE=";
};
cargoHash = "sha256-4ebjD1Tf7F2YyNrF7eEi2yKonctprnyu4nMf+vE2whY=";
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = usage; };
};
meta = {
homepage = "https://usage.jdx.dev";
description = "Specification for CLIs";
changelog = "https://github.com/jdx/usage/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ konradmalik ];
mainProgram = "usage";
};
}

View File

@ -11,16 +11,16 @@
buildGoModule rec {
pname = "werf";
version = "2.10.6";
version = "2.10.7";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
hash = "sha256-TVjmPylomSp8WT2YW6x6CPkk6FinKGrGRlDEAtl8vRI=";
hash = "sha256-pIgBYB0EEelpNgNPAxUu2jqFoT4myru5wAu3Oobmqn8=";
};
vendorHash = "sha256-OR2nIR2q3iRfaSQSQRKn+jbygETx2+WmkOIjOCIB9O8=";
vendorHash = "sha256-MSxqRU9TUYDoUoYubXPrxABwLL5gou52ia0dX7lzQ5Q=";
proxyVendor = true;

View File

@ -4,18 +4,14 @@
fetchFromGitHub,
cmake,
pkg-config,
qttools,
wrapQtAppsHook,
dtkwidget,
dtkdeclarative,
qt5integration,
qt5platform-plugins,
udisks2-qt5,
qtmpris,
qtmultimedia,
kcodecs,
dtk6widget,
dtk6declarative,
qt6integration,
qt6platform-plugins,
qt6mpris,
ffmpeg,
libvlc,
qt6Packages,
taglib,
SDL2,
gst_all_1,
@ -23,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "deepin-music";
version = "7.0.3";
version = "7.0.9";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
hash = "sha256-MLfkSO8ru8MKiwgiQ0mPO3zGlnIeSHPc0Op5jjzJ6PE=";
hash = "sha256-tj0XICmp7sM2m6aSf/DgxS7JXO3Wy/83sZIPGV17gFo=";
};
patches = [ "${src}/patches/fix-library-path.patch" ];
@ -37,20 +33,20 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
pkg-config
qttools
wrapQtAppsHook
qt6Packages.qttools
qt6Packages.wrapQtAppsHook
];
buildInputs =
[
dtkwidget
dtkdeclarative
qt5integration
qt5platform-plugins
udisks2-qt5
qtmpris
qtmultimedia
kcodecs
dtk6widget
dtk6declarative
qt6integration
qt6platform-plugins
qt6mpris
qt6Packages.qtbase
qt6Packages.qt5compat
qt6Packages.qtmultimedia
ffmpeg
libvlc
taglib
@ -69,18 +65,19 @@ stdenv.mkDerivation rec {
"-I${libvlc}/include/vlc"
];
strictDeps = true;
# qtmultimedia can't not be found with strictDeps
strictDeps = false;
preFixup = ''
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
'';
meta = with lib; {
meta = {
description = "Awesome music player with brilliant and tweakful UI Deepin-UI based";
mainProgram = "deepin-music";
homepage = "https://github.com/linuxdeepin/deepin-music";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = lib.teams.deepin.members;
};
}

View File

@ -38,6 +38,7 @@ let
dtk6log = callPackage ./library/dtk6log { };
qt6platform-plugins = callPackage ./library/qt6platform-plugins { };
qt6integration = callPackage ./library/qt6integration { };
qt6mpris = callPackage ./library/qt6mpris { };
#### CORE
deepin-kwin = callPackage ./core/deepin-kwin { };

View File

@ -0,0 +1,46 @@
{
stdenv,
lib,
fetchFromGitHub,
qt6Packages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qt6mpris";
version = "1.0.0.1-1deepin1";
src = fetchFromGitHub {
owner = "deepin-community";
repo = "qt6mpris";
rev = finalAttrs.version;
hash = "sha256-PCdA9q/txaL2Fbr2/4+Z7L4zxWeULl3bq8MVH3i1g3g=";
};
postPatch = ''
substituteInPlace src/src.pro \
--replace-fail '$$[QT_INSTALL_LIBS]' "$out/lib" \
--replace-fail '$$[QT_INSTALL_HEADERS]' "$out/include" \
--replace-fail '$$[QMAKE_MKSPECS]' "$out/mkspecs"
substituteInPlace declarative/declarative.pro \
--replace-fail '$$[QT_INSTALL_QML]' "$out/${qt6Packages.qtbase.qtQmlPrefix}"
'';
nativeBuildInputs = [
qt6Packages.qmake
];
dontWrapQtApps = true;
buildInputs = [
qt6Packages.qtbase
qt6Packages.qtdeclarative
];
meta = {
description = "Qt and QML MPRIS interface and adaptor";
homepage = "https://github.com/deepin-community/qt6mpris";
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
maintainers = lib.teams.deepin.members;
};
})

View File

@ -593,6 +593,10 @@ self: super: {
# Too strict bounds on algebraic-graphs
# https://github.com/haskell-nix/hnix-store/issues/180
hnix-store-core_0_6_1_0 = doJailbreak super.hnix-store-core_0_6_1_0;
# 2024-09-27: dependent-sum-template pinned to 0.1.1.1, however 0.2.0.1+ required
hnix-store-core_0_8_0_0 = super.hnix-store-core_0_8_0_0.override { dependent-sum-template = self.dependent-sum-template_0_2_0_1; };
# 2023-12-11: Needs older core
hnix-store-remote = super.hnix-store-remote.override { hnix-store-core = self.hnix-store-core_0_6_1_0; };

View File

@ -44,7 +44,7 @@ buildPythonPackage rec {
"tests/cli/test_rawify_url.py"
];
pythonImportsCheckHook = [ "cffconvert" ];
pythonImportsCheck = [ "cffconvert" ];
meta = {
changelog = "https://github.com/citation-file-format/cffconvert/blob/${src.rev}/CHANGELOG.md";

View File

@ -11,7 +11,9 @@
, pyinstaller
, glibc
, binutils
, macholib
, installShellFiles
, stdenv
}:
buildPythonPackage rec {
@ -34,10 +36,11 @@ buildPythonPackage rec {
dependencies = [
altgraph
packaging
macholib
pyinstaller-hooks-contrib
];
makeWrapperArgs = [
makeWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
"--prefix" "PATH" ":" (lib.makeBinPath [ glibc binutils ])
];

View File

@ -10,20 +10,20 @@
buildPythonPackage rec {
pname = "python-opendata-transport";
version = "0.4.0";
version = "0.5.0";
pyproject = true;
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchPypi {
pname = "python_opendata_transport";
inherit version;
hash = "sha256-2lEKPu5vjyqNUqz1NGmZ5b6YP3oWnCgoubDdiQCbdps=";
hash = "sha256-CtYsks7Q33ww0Mr9ehhq7+fJhCsj4gxKytiCZ6G4Aqc=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
aiohttp
urllib3
];
@ -37,7 +37,7 @@ buildPythonPackage rec {
description = "Python client for interacting with transport.opendata.ch";
homepage = "https://github.com/home-assistant-ecosystem/python-opendata-transport";
changelog = "https://github.com/home-assistant-ecosystem/python-opendata-transport/releases/tag/${version}";
license = with licenses; [ mit ];
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -3,7 +3,6 @@
buildPythonPackage,
fetchFromGitHub,
flit-core,
pythonImportsCheckHook,
# documentation build dependencies
sphinxHook,
sphinx-notfound-page,
@ -37,7 +36,6 @@ buildPythonPackage rec {
nativeBuildInputs = [
flit-core
pythonImportsCheckHook
sphinxHook
sphinx-notfound-page

View File

@ -3,7 +3,6 @@
buildPythonPackage,
fetchFromGitHub,
flit-core,
pythonImportsCheckHook,
pythonOlder,
# documentation build dependencies
sphinxHook,
@ -38,7 +37,6 @@ buildPythonPackage rec {
nativeBuildInputs = [
flit-core
pythonImportsCheckHook
sphinxHook
sphinx-prompt
sphinx-rtd-theme

View File

@ -3,7 +3,6 @@
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pythonImportsCheckHook,
pythonOlder,
setuptools,
sphinx,
@ -47,7 +46,6 @@ buildPythonPackage {
];
nativeBuildInputs = [
pythonImportsCheckHook
sphinx-autoapi
sphinx-prompt
sphinx-rtd-theme

View File

@ -4,7 +4,6 @@
fetchPypi,
rstr,
sre-yield,
pythonImportsCheckHook,
}:
buildPythonPackage rec {
@ -21,7 +20,6 @@ buildPythonPackage rec {
rstr
sre-yield
];
nativeBuildInputs = [ pythonImportsCheckHook ];
# Package has no tests
doCheck = false;

View File

@ -3,7 +3,6 @@
buildPythonPackage,
fetchPypi,
fonttools,
pythonImportsCheckHook,
uharfbuzz,
}:
@ -21,7 +20,6 @@ buildPythonPackage rec {
fonttools
uharfbuzz
];
nativeBuildInputs = [ pythonImportsCheckHook ];
# Package has no tests.
doCheck = false;

View File

@ -176,6 +176,8 @@ buildPythonPackage rec {
happysalada
lach
];
broken = !cudaSupport && !rocmSupport;
# RuntimeError: Unknown runtime environment
broken = true;
# broken = !cudaSupport && !rocmSupport;
};
}

View File

@ -564,7 +564,9 @@ getVersion() {
fi
fi
echo ".git.$rev"
if [ -n "$rev" ]; then
echo ".git.$rev"
fi
}

View File

@ -33,6 +33,10 @@ buildGoModule rec {
"-X main.Version=${version}"
];
tags = [
"kvformat"
];
postInstall = ''
tar xf ${web-assets}
mkdir -p $out/share/gotosocial

View File

@ -29,16 +29,16 @@ let
in
buildNpmPackage rec {
pname = "homepage-dashboard";
version = "0.9.9";
version = "0.9.10";
src = fetchFromGitHub {
owner = "gethomepage";
repo = "homepage";
rev = "v${version}";
hash = "sha256-jUKXAqq6Oj8CmOuBUlsf0zDIcK+3MX/czzNDmakN9VM=";
hash = "sha256-qDbYgitMbjOMIZUyQuFSNAyb/ZRAcStm/jDrsIutKno=";
};
npmDepsHash = "sha256-YjcF8FkURnTurcJ0Iq0ghv/bhu5sFA860jXrn3TkRds=";
npmDepsHash = "sha256-gAti4y4Ios7XjJ3nVOhzjwPzcAC2upODZ64qQjx17JE=";
preBuild = ''
mkdir -p config

View File

@ -0,0 +1,37 @@
{
stdenv,
callPackage,
sasl,
boost,
Security,
CoreFoundation,
cctools,
avxSupport ? stdenv.hostPlatform.avxSupport,
}:
let
buildMongoDB = callPackage ./mongodb.nix {
inherit
sasl
boost
Security
CoreFoundation
cctools
stdenv
;
};
in
buildMongoDB {
inherit avxSupport;
version = "7.0.14";
sha256 = "sha256-3NUv/Rr6V0rH6zHCXJwHZ7ZQOqMJvYGessNVemUF6g0=";
patches = [
# ModuleNotFoundError: No module named 'mongo_tooling_metrics':
# NameError: name 'SConsToolingMetrics' is not defined:
# The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'.
./mongodb7-SConstruct.patch
# Fix building with python 3.12 since the imp module was removed
./mongodb-python312.patch
];
}

View File

@ -4,6 +4,7 @@
, buildPackages
, boost
, gperftools
, pcre2
, pcre-cpp
, snappy
, zlib
@ -48,7 +49,6 @@ let
system-libraries = [
"boost"
"pcre"
"snappy"
"yaml"
"zlib"
@ -56,7 +56,13 @@ let
#"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs).
#"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source.
#"wiredtiger"
] ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ];
] ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ]
++ lib.optionals (lib.versionOlder version "7.0") [
"pcre"
]
++ lib.optionals (lib.versionAtLeast version "7.0") [
"pcre2"
];
inherit (lib) systems subtractLists;
in stdenv.mkDerivation rec {
@ -83,6 +89,7 @@ in stdenv.mkDerivation rec {
yaml-cpp
openssl
openldap
pcre2
pcre-cpp
sasl
snappy

View File

@ -0,0 +1,63 @@
diff --git a/SConstruct b/SConstruct
index 07579349b83..68a26f26a49 100644
--- a/SConstruct
+++ b/SConstruct
@@ -23,7 +23,6 @@ from pkg_resources import parse_version
import SCons
import SCons.Script
-from mongo_tooling_metrics.lib.top_level_metrics import SConsToolingMetrics
from site_scons.mongo import build_profiles
# This must be first, even before EnsureSConsVersion, if
@@ -1653,16 +1652,6 @@ env = Environment(variables=env_vars, **envDict)
del envDict
env.AddMethod(lambda env, name, **kwargs: add_option(name, **kwargs), 'AddOption')
-# The placement of this is intentional. Here we setup an atexit method to store tooling metrics.
-# We should only register this function after env, env_vars and the parser have been properly initialized.
-SConsToolingMetrics.register_metrics(
- utc_starttime=datetime.utcnow(),
- artifact_dir=env.Dir('$BUILD_DIR').get_abspath(),
- env_vars=env_vars,
- env=env,
- parser=_parser,
-)
-
if get_option('build-metrics'):
env['BUILD_METRICS_ARTIFACTS_DIR'] = '$BUILD_ROOT/$VARIANT_DIR'
env.Tool('build_metrics')
@@ -3549,33 +3538,6 @@ def doConfigure(myenv):
myenv.AddMethod(
functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported")
- if myenv.ToolchainIs('gcc', 'clang'):
- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
- # because it is much faster. Don't use it if the user has already configured another linker
- # selection manually.
- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
- myenv.FatalError(
- f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
-
- linker_ld = get_option('linker')
- if linker_ld == 'auto':
- if not env.TargetOSIs('darwin', 'macOS'):
- if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'):
- myenv.FatalError(
- f"The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'."
- )
- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
- # BFD is not supported due to issues with it causing warnings from some of
- # the third party libraries that mongodb is linked with:
- # https://jira.mongodb.org/browse/SERVER-49465
- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
- else:
- if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'):
- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
-
- if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'):
- myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single'])
-
detectCompiler = Configure(
myenv,
help=False,

View File

@ -8225,9 +8225,9 @@ dependencies = [
[[package]]
name = "time"
version = "0.3.34"
version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa",
@ -8258,9 +8258,9 @@ dependencies = [
[[package]]
name = "time-macros"
version = "0.2.17"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
"num-conv",
"time-core",

View File

@ -96,6 +96,10 @@ rustPlatform.buildRustPackage rec {
};
};
cargoPatches =[
./update-time-for-rust-1.80.patch
];
CARGO_PROFILE_RELEASE_LTO = "fat";
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";

View File

@ -0,0 +1,28 @@
diff --git a/Cargo.lock b/Cargo.lock
index db5e22e6..6d48db37 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -8225,9 +8225,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.34"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa",
@@ -8258,9 +8258,9 @@ dependencies = [
[[package]]
name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
"num-conv",
"time-core",

View File

@ -1,7 +1,6 @@
{ lib
, buildPythonApplication
, fetchFromGitea
, pythonImportsCheckHook
, six
, sphinxHook
, sphinx-rtd-theme
@ -21,7 +20,6 @@ buildPythonApplication rec {
};
nativeBuildInputs = [
pythonImportsCheckHook
six
sphinxHook
sphinx-rtd-theme

View File

@ -7,18 +7,18 @@
maven.buildMavenPackage rec {
pname = "cryptomator";
version = "1.13.0";
version = "1.14.1";
src = fetchFromGitHub {
owner = "cryptomator";
repo = "cryptomator";
rev = version;
hash = "sha256-aKj8/yQzNWWV2m+sF2Or59OyPMiBqPeXEHn88w2VUkU=";
hash = "sha256-so8RINjFLF9H4K9f/60Ym/v/VpcVfxJ/c+JDOAPFgZU=";
};
mvnJdk = jdk;
mvnParameters = "-Dmaven.test.skip=true -Plinux";
mvnHash = "sha256-bZGTYkxRXgjGoxAdVkgiZZgVSghKz3Mq9pCBdivMNPQ=";
mvnHash = "sha256-aB7wgnJAYvCizC0/gG/amcId/WVVWmZndItm398nDfQ=";
preBuild = ''
VERSION=${version}

View File

@ -24989,6 +24989,19 @@ with pkgs;
if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
};
mongodb-7_0 = darwin.apple_sdk_11_0.callPackage ../servers/nosql/mongodb/7.0.nix {
sasl = cyrus_sasl;
boost = boost179.override { enableShared = false; };
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
stdenv = if stdenv.hostPlatform.isDarwin then
darwin.apple_sdk_11_0.stdenv.override (old: {
hostPlatform = old.hostPlatform // { darwinMinVersion = "10.14"; };
buildPlatform = old.buildPlatform // { darwinMinVersion = "10.14"; };
targetPlatform = old.targetPlatform // { darwinMinVersion = "10.14"; };
}) else
if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
};
immudb = callPackage ../servers/nosql/immudb { };
influxdb = callPackage ../servers/nosql/influxdb { };