Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot] 2025-02-18 00:14:29 +00:00 committed by GitHub
commit 71e949e746
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
94 changed files with 17532 additions and 1449 deletions

View file

@ -1860,6 +1860,12 @@
githubId = 13347712;
name = "Leo Shchurov";
};
ardubev16 = {
email = "lorenzobevilacqua02@gmail.com";
github = "ardubev16";
githubId = 43483037;
name = "Lorenzo Bevilacqua";
};
ardumont = {
email = "eniotna.t@gmail.com";
github = "ardumont";
@ -11723,6 +11729,14 @@
githubId = 79042825;
name = "Jan Kremer";
};
juli0604 = {
name = "Julian Kuhn";
email = "juliankuhn06@gmail.com";
matrix = "@julian:matrix.epiccraft-mc.de";
github = "juli0604";
githubId = 62934740;
keys = [ { fingerprint = "E9C6 44C7 F6AA A865 4CB9 2723 22C8 B0CE B9AC 4AFF"; } ];
};
JulianFP = {
name = "Julian Partanen";
github = "JulianFP";
@ -14009,6 +14023,14 @@
github = "mac-chaffee";
githubId = 7581860;
};
macronova = {
name = "Sicheng Pan";
email = "trivial@invariantspace.com";
matrix = "@macronova:invariantspace.com";
github = "Sicheng-Pan";
githubId = 60079945;
keys = [ { fingerprint = "7590 C9DD E19D 4497 9EE9 0B14 CE96 9670 FB4B 4A56"; } ];
};
madjar = {
email = "georges.dubus@compiletoi.net";
github = "madjar";
@ -16380,6 +16402,12 @@
githubId = 43587167;
name = "Nikita Tikhonov";
};
nekowinston = {
email = "hey@winston.sh";
github = "nekowinston";
githubId = 79978224;
name = "winston";
};
nelsonjeppesen = {
email = "nix@jeppesen.io";
github = "NelsonJeppesen";
@ -22563,6 +22591,12 @@
githubId = 98333944;
name = "Sven Over";
};
Svenum = {
email = "s.ziegler@holypenguin.net";
github = "Svenum";
githubId = 43136984;
name = "Sven Ziegler";
};
svrana = {
email = "shaw@vranix.com";
github = "svrana";
@ -26122,6 +26156,12 @@
github = "zmitchell";
githubId = 10246891;
};
ZMon3y = {
name = "Matt Szafir";
email = "mattszafir+nix@gmail.com";
github = "ZMon3y";
githubId = 9386488;
};
znaniye = {
email = "zn4niye@proton.me";
github = "znaniye";

View file

@ -956,6 +956,7 @@
./services/monitoring/opentelemetry-collector.nix
./services/monitoring/osquery.nix
./services/monitoring/parsedmarc.nix
./services/monitoring/prometheus/alertmanager-gotify-bridge.nix
./services/monitoring/prometheus/alertmanager-irc-relay.nix
./services/monitoring/prometheus/alertmanager-webhook-logger.nix
./services/monitoring/prometheus/alertmanager.nix

View file

@ -0,0 +1,194 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.prometheus.alertmanagerGotify;
pkg = cfg.package;
inherit (lib)
mkEnableOption
mkOption
types
mkIf
mkPackageOption
optionalString
;
in
{
meta.maintainers = with lib.maintainers; [ juli0604 ];
options.services.prometheus.alertmanagerGotify = {
enable = mkEnableOption "alertmagager-gotify";
package = mkPackageOption pkgs "alertmanager-gotify-bridge" { };
bindAddress = mkOption {
type = types.str;
default = "0.0.0.0";
description = "The address the server will listen on (bind address).";
};
defaultPriority = mkOption {
type = types.int;
default = 5;
description = "The default priority for messages sent to gotify.";
};
debug = mkOption {
type = types.bool;
default = false;
description = "Enables extended logs for debugging purposes. Should be disabled in productive mode.";
};
dispatchErrors = mkOption {
type = types.bool;
default = false;
description = "When enabled, alerts will be tried to dispatch with an error message regarding faulty templating or missing fields to help debugging.";
};
extendedDetails = mkOption {
type = types.bool;
default = false;
description = "When enabled, alerts are presented in HTML format and include colorized status (FIR|RES), alert start time, and a link to the generator of the alert.";
};
messageAnnotation = mkOption {
type = types.str;
description = "Annotation holding the alert message.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = "Opens the bridge port in the firewall.";
};
port = mkOption {
type = types.port;
default = 8080;
description = "The local port the bridge is listening on.";
};
priorityAnnotation = mkOption {
type = types.str;
default = "priority";
description = "Annotation holding the priority of the alert.";
};
timeout = mkOption {
type = types.ints.positive;
default = 5;
description = "The time between sending a message and the timeout.";
};
titleAnnotation = mkOption {
type = types.str;
default = "summary";
description = "Annotation holding the title of the alert";
};
webhookPath = mkOption {
type = types.str;
default = "/gotify_webhook";
description = "The URL path to handle requests on.";
};
environmentFile = mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = ''
File containing additional config environment variables for alertmanager-gotify-bridge.
This is especially for secrets like GOTIFY_TOKEN and AUTH_PASSWORD.
'';
};
gotifyEndpoint = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = "The hostname or ip your gotify endpoint is running.";
};
port = mkOption {
type = types.port;
default = 443;
description = "The port your gotify endpoint is running.";
};
tls = mkOption {
type = types.bool;
default = true;
description = "If your gotify endpoint uses https, leave this option set to default";
};
};
metrics = {
username = mkOption {
type = types.str;
description = "The username used to access your metrics.";
};
namespace = mkOption {
type = types.str;
default = "alertmanager-gotify-bridge";
description = "The namescape of the metrics.";
};
path = mkOption {
type = types.str;
default = "/metrics";
description = "The path under which the metrics will be exposed.";
};
};
};
config = mkIf cfg.enable {
users = {
groups.alertmanager-gotify = { };
users.alertmanager-gotify = {
group = "alertmanager-gotify";
isSystemUser = true;
};
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
systemd.services.alertmanager-gotify-bridge = {
description = "A bridge between Prometheus AlertManager and a Gotify server";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${lib.getExe pkg} ${optionalString cfg.debug "--debug"}";
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
User = "alertmanager-gotify";
Group = "alertmanager-gotify";
#hardening
NoNewPrivileges = true;
PrivateTmp = true;
PrivateDevices = true;
PrivateIPC = true;
DevicePolicy = "closed";
ProtectSystem = "strict";
ProtectHome = "read-only";
ProtectControlGroups = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectKernelTunables = true;
ProtectHostname = true;
ProtectProc = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
MemoryDenyWriteExecute = true;
LockPersonality = true;
ProcSubset = "pid";
SystemCallArchitectures = "native";
RemoveIPC = true;
};
environment = {
BIND_ADDRESS = cfg.bindAddress;
DEFAULT_PRIORITY = toString cfg.defaultPriority;
DISPATCH_ERRORS = toString cfg.dispatchErrors;
EXTENDED_DETAILS = toString cfg.extendedDetails;
MESSAGE_ANNOTATION = cfg.messageAnnotation;
PORT = toString cfg.port;
PRIORITY_ANNOTATION = cfg.priorityAnnotation;
TIMEOUT = "${toString cfg.timeout}s";
TITLE_ANNOTATION = cfg.titleAnnotation;
WEBHOOK_PATH = cfg.webhookPath;
GOTIFY_ENDPOINT = "${
if cfg.gotifyEndpoint.tls then "https://" else "http://"
}${toString cfg.gotifyEndpoint.host}:${toString cfg.gotifyEndpoint.port}/message";
AUTH_USERNAME = cfg.metrics.username;
};
};
};
}

View file

@ -91,7 +91,7 @@ in
description = ''
Whether to enable the fail2ban service.
See the documentation of {option}`services.fail2ban.jails`
See the documentation of [](#opt-services.fail2ban.jails)
for what jails are enabled by default.
'';
};
@ -326,7 +326,7 @@ in
NixOS comes with a default `sshd` jail;
for it to work well,
{option}`services.openssh.logLevel` should be set to
[](#opt-services.openssh.settings.LogLevel) should be set to
`"VERBOSE"` or higher so that fail2ban
can observe failed login attempts.
This module sets it to `"VERBOSE"` if

View file

@ -105,7 +105,7 @@ in
add_header Set-Cookie $auth_cookie;
'';
"/oauth2/auth" =
"= /oauth2/auth" =
let
maybeQueryArg =
name: value:

View file

@ -437,6 +437,7 @@ let
(assertKeyIsSystemdCredential "PresharedKey")
(assertOnlyFields [
"PublicKey"
"PublicKeyFile"
"PresharedKey"
"PresharedKeyFile"
"AllowedIPs"

View file

@ -115,6 +115,16 @@ let
extraFlags+=("--private-network")
fi
NIX_BIND_OPT=""
if [ -n "$PRIVATE_USERS" ]; then
extraFlags+=("--private-users=$PRIVATE_USERS")
if [ "$PRIVATE_USERS" = "pick" ] || ( [ "$PRIVATE_USERS" != "identity" ] && [ "$PRIVATE_USERS" -gt 0 ] ); then
# when user namespacing is enabled, we use `idmap` mount option
# so that bind mounts under /nix get proper owner (and not nobody/nogroup).
NIX_BIND_OPT=":idmap"
fi
fi
if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] ||
[ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then
extraFlags+=("--network-veth")
@ -171,13 +181,14 @@ let
$EXTRA_NSPAWN_FLAGS \
--notify-ready=yes \
--kill-signal=SIGRTMIN+3 \
--bind-ro=/nix/store \
--bind-ro=/nix/var/nix/db \
--bind-ro=/nix/var/nix/daemon-socket \
--bind="/nix/var/nix/profiles/per-container/$INSTANCE:/nix/var/nix/profiles" \
--bind="/nix/var/nix/gcroots/per-container/$INSTANCE:/nix/var/nix/gcroots" \
--bind-ro=/nix/store:/nix/store$NIX_BIND_OPT \
--bind-ro=/nix/var/nix/db:/nix/var/nix/db$NIX_BIND_OPT \
--bind-ro=/nix/var/nix/daemon-socket:/nix/var/nix/daemon-socket$NIX_BIND_OPT \
--bind="/nix/var/nix/profiles/per-container/$INSTANCE:/nix/var/nix/profiles$NIX_BIND_OPT" \
--bind="/nix/var/nix/gcroots/per-container/$INSTANCE:/nix/var/nix/gcroots$NIX_BIND_OPT" \
${optionalString (!cfg.ephemeral) "--link-journal=try-guest"} \
--setenv PRIVATE_NETWORK="$PRIVATE_NETWORK" \
--setenv PRIVATE_USERS="$PRIVATE_USERS" \
--setenv HOST_BRIDGE="$HOST_BRIDGE" \
--setenv HOST_ADDRESS="$HOST_ADDRESS" \
--setenv LOCAL_ADDRESS="$LOCAL_ADDRESS" \
@ -650,6 +661,27 @@ in
'';
};
privateUsers = mkOption {
type = types.either types.ints.u32 (types.enum [ "no" "identity" "pick" ]);
default = "no";
description = ''
Whether to give the container its own private UIDs/GIDs space (user namespacing).
Disabled by default (`no`).
If set to a number (usually above host's UID/GID range: 65536),
user namespacing is enabled and the container UID/GIDs will start at that number.
If set to `identity`, mostly equivalent to `0`, this will only provide
process capability isolation (no UID/GID isolation, as they are the same as host).
If set to `pick`, user namespacing is enabled and the UID/GID range is automatically chosen,
so that no overlapping UID/GID ranges are assigned to multiple containers.
This is the recommanded option as it enhances container security massively and operates fully automatically in most cases.
See https://www.freedesktop.org/software/systemd/man/latest/systemd-nspawn.html#--private-users= for details.
'';
};
interfaces = mkOption {
type = types.listOf types.str;
default = [];
@ -862,6 +894,13 @@ in
additionalCapabilities = cfg.additionalCapabilities
++ [ "CAP_NET_ADMIN" ];
}
) // (
optionalAttrs (!cfg.enableTun && cfg.privateNetwork
&& (cfg.privateUsers == "pick" || (builtins.isInt cfg.privateUsers && cfg.privateUsers > 0 )))
{
allowedDevices = cfg.allowedDevices
++ [ { node = "/dev/net/tun"; modifier = "rwm"; } ];
}
);
in
recursiveUpdate unit {
@ -923,6 +962,7 @@ in
${optionalString (cfg.networkNamespace != null) ''
NETWORK_NAMESPACE_PATH=${cfg.networkNamespace}
''}
PRIVATE_USERS=${toString cfg.privateUsers}
INTERFACES="${toString cfg.interfaces}"
MACVLANS="${toString cfg.macvlans}"
${optionalString cfg.autoStart ''

View file

@ -404,6 +404,7 @@ in {
gollum = handleTest ./gollum.nix {};
gonic = handleTest ./gonic.nix {};
google-oslogin = handleTest ./google-oslogin {};
gopro-tool = handleTest ./gopro-tool.nix {};
goss = handleTest ./goss.nix {};
gotenberg = handleTest ./gotenberg.nix {};
gotify-server = handleTest ./gotify-server.nix {};

View file

@ -0,0 +1,41 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
let
testScript = ''
start_all()
machine.wait_for_unit("multi-user.target")
# Check that gopro-tool is installed
machine.succeed("which gopro-tool")
# Check that the v4l2loopback module is available
machine.succeed("lsmod | grep v4l2loopback || echo 'Module not found'")
# Check that VLC is installed
machine.succeed("which vlc")
'';
in
{
name = "gopro-tool";
meta.maintainers = with lib.maintainers; [ ZMon3y ];
nodes.machine =
{ config, pkgs, ... }:
{
# Ensure dependencies are installed
environment.systemPackages = with pkgs; [
gopro-tool
vlc
];
# Load kernel module for testing
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
# Enable module loading
boot.kernelModules = [ "v4l2loopback" ];
};
testScript = testScript;
}
)

View file

@ -9,12 +9,12 @@
replaceVars,
}:
let
version = "0.12.2";
version = "0.12.4";
src = fetchFromGitHub {
owner = "Saghen";
repo = "blink.cmp";
tag = "v${version}";
hash = "sha256-oPh0mIqSxbpzmUzk3lP7OwcqKfP8syP0NAPKysTet98=";
hash = "sha256-ybzEQHvZIiF+B2SIdFX8HJGai50PUw5QRgrL7qJ0sUk=";
};
blink-fuzzy-lib = rustPlatform.buildRustPackage {
inherit version src;

View file

@ -90,11 +90,11 @@
"vendorHash": "sha256-CHd4r89n+8hpGAZQF6ozqNgMXQgMEb8Uh/gFkrKolyk="
},
"auth0": {
"hash": "sha256-hfmJWtfHwDKtc9nsKZUbibf6VIQb02a/fXWkhqDgiFQ=",
"hash": "sha256-mlGMYuQCiQhQH5gCLLG8YrEQ40E4WuvPW6xFYAOZbwQ=",
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
"owner": "auth0",
"repo": "terraform-provider-auth0",
"rev": "v1.11.0",
"rev": "v1.12.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-NynPovzkVRNU0EGxbIcvO4AOxnmG10mWfk8520arU5c="
},
@ -363,11 +363,11 @@
"vendorHash": null
},
"dme": {
"hash": "sha256-QNkr+6lKlKY+os0Pf6dqlmIn9u2LtMOo6ONahDeA9mE=",
"hash": "sha256-u7mCQtz6Z7X34nbYKaRNPrbD7IuDe1tH67noAeTWH6Q=",
"homepage": "https://registry.terraform.io/providers/DNSMadeEasy/dme",
"owner": "DNSMadeEasy",
"repo": "terraform-provider-dme",
"rev": "v1.0.6",
"rev": "v1.0.7",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -543,11 +543,11 @@
"vendorHash": "sha256-py17K2zNqAEd22hMYrIpxmBaN6A5eeG/qgmaRBgyCeI="
},
"gridscale": {
"hash": "sha256-uI05BO/c00RNr52rbvY7SZwcn64NRfBpR44/xXWmjqw=",
"hash": "sha256-YE7o8HwHUo6zI2umRv2lXY7voyg1fX5h1UitH89fBXc=",
"homepage": "https://registry.terraform.io/providers/gridscale/gridscale",
"owner": "gridscale",
"repo": "terraform-provider-gridscale",
"rev": "v2.0.3",
"rev": "v2.1.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -732,13 +732,13 @@
"vendorHash": "sha256-PfvIzUugDsnMKW7mSM2GyJZpXi3wJsEhYLKzlKq1U6A="
},
"launchdarkly": {
"hash": "sha256-nneVn/q6p1FbFSZDjL5aEmp1U1xtjGox/mf48e140Qs=",
"hash": "sha256-ftpPH5EP67yLmE32Z99nnBuGeBNKck4Ca039GV6iReQ=",
"homepage": "https://registry.terraform.io/providers/launchdarkly/launchdarkly",
"owner": "launchdarkly",
"repo": "terraform-provider-launchdarkly",
"rev": "v2.21.5",
"rev": "v2.23.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-mdVTcbfJ06o8LTfFMnpmoYSbLVSjZxxhpFFsL54tbUA="
"vendorHash": "sha256-6lcLNoD/CNYpmwHuRsUCPoSii5ZXAlAjWSXVk9i0izU="
},
"libvirt": {
"hash": "sha256-B99pSnnI+GoMX4uleDqBoAKPe15l/+C5mIUGp6KsE54=",
@ -822,13 +822,13 @@
"vendorHash": "sha256-5d5vTEu08abEAxr9lFvmGsRKlcPq+B+TPGVkalr75tU="
},
"minio": {
"hash": "sha256-Y34cCOQqJslDU4LcCou1QxIFfyUP2PRt3ExoCUNl8so=",
"hash": "sha256-OIdXZIy+W8yO3y7z/1JzG7QegJmMLTFSoC7FmioscmA=",
"homepage": "https://registry.terraform.io/providers/aminueza/minio",
"owner": "aminueza",
"repo": "terraform-provider-minio",
"rev": "v3.2.3",
"rev": "v3.3.0",
"spdx": "AGPL-3.0",
"vendorHash": "sha256-a9v1nVG3NiuyHwJGhIKKKXFDp4/Cb533EJxrfqK9h/A="
"vendorHash": "sha256-1nm2Y4T9/mCWMXMjXEzBz3w08AYHjQJeb9mYPQeWPs0="
},
"mongodbatlas": {
"hash": "sha256-bngDZUqemOjmRTQC0UnQG2IvjuqjORrZ3Agr1K0T+TE=",
@ -976,20 +976,20 @@
"vendorHash": null
},
"ovh": {
"hash": "sha256-aGg3zvGWBVU8dv852nG1u3gRKD6I9ra77D2foDmjUEE=",
"hash": "sha256-haKmmNAHBmB5bpzlqkhvntUlZmyvz5brBgD3bxT40kI=",
"homepage": "https://registry.terraform.io/providers/ovh/ovh",
"owner": "ovh",
"repo": "terraform-provider-ovh",
"rev": "v1.5.0",
"rev": "v1.6.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
"pagerduty": {
"hash": "sha256-6n+FPTuoK5eoaNxa+E8NAWglMBMH/1eJAu6BmiaKhAs=",
"hash": "sha256-A+i85IEblZNHz/Z3MpD+c8c0aAO1MAsuwlbKHKm238M=",
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
"owner": "PagerDuty",
"repo": "terraform-provider-pagerduty",
"rev": "v3.19.4",
"rev": "v3.21.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -1039,13 +1039,13 @@
"vendorHash": "sha256-mnKXYT0GfIS+ODzBCS9l4rLF1ugadesmpgdOgj74nLg="
},
"proxmox": {
"hash": "sha256-ikXLLNoAjrnGGGI3fHTKFXm8YwqNazE/U39JTjOBsW4=",
"hash": "sha256-dQvJVAxSR0eMeJseDR80MqXX4v7ry794bIr+ilpKBoQ=",
"homepage": "https://registry.terraform.io/providers/Telmate/proxmox",
"owner": "Telmate",
"repo": "terraform-provider-proxmox",
"rev": "v2.9.14",
"rev": "v3.0.1-rc6",
"spdx": "MIT",
"vendorHash": "sha256-um4iOwYO6ASv9wpu5Jua9anUZBKly4yVgI224Fk2dOM="
"vendorHash": "sha256-rD4+m0txQhzw2VmQ56/ZXjtQ9QOufseZGg8TrisgAJo="
},
"rabbitmq": {
"hash": "sha256-ArteHTNNUxgiBJamnR1bJFDrvNnqjbJ6D3mj1XlpVUA=",
@ -1147,11 +1147,11 @@
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
},
"signalfx": {
"hash": "sha256-m+dclQs0oGwXci/SDfaNSwuzTCV3hDskyiD0VbTmryQ=",
"hash": "sha256-16FdvnLNFgX2shkBTxefPZ/gpIZiSxbxKRlVvDoUT8o=",
"homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
"owner": "splunk-terraform",
"repo": "terraform-provider-signalfx",
"rev": "v9.7.1",
"rev": "v9.7.2",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Eh/8EDdnxKBbq0E3KXFtO4liJ6ruytfyCyM5DVwk9jo="
},
@ -1192,13 +1192,13 @@
"vendorHash": "sha256-YFV+qXD78eajSeagJPgPu+qIktx1Vh/ZT0fUPOBuZyo="
},
"spacelift": {
"hash": "sha256-qa+mBk57B2lauJI8k6t4BLksyKVM9tXKQOzo0ky/gAQ=",
"hash": "sha256-prw8STuA6n04JTZT8iDG7giFwkZ0FzGXzuuxyBJ5xjM=",
"homepage": "https://registry.terraform.io/providers/spacelift-io/spacelift",
"owner": "spacelift-io",
"repo": "terraform-provider-spacelift",
"rev": "v1.19.1",
"rev": "v1.20.0",
"spdx": "MIT",
"vendorHash": "sha256-c3R/7k7y7XS2Qli00nSj7gh/3Mj88PY4WybBTq/+pPs="
"vendorHash": "sha256-8K5ye/QD7Iy8GNb+BCfJ2oo/5dATHpEXM+qD7c0NEu8="
},
"spotinst": {
"hash": "sha256-ThGr8oY7SevU05S7g4r8Il4mr02zzg53YzaYztkY7M4=",
@ -1427,13 +1427,13 @@
"vendorHash": null
},
"vsphere": {
"hash": "sha256-8xJOuafposGNtFw6ZMfrmoGOp67rubOdrLDR9DFRxdg=",
"hash": "sha256-ce3nKSBvF7Enk3wsW4ackEBIDPKPP0qkjZ7Dm9SGKV4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/vsphere",
"owner": "hashicorp",
"repo": "terraform-provider-vsphere",
"rev": "v2.11.0",
"rev": "v2.11.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-nQM1RcdgndUwHJWAspu/INFSXBoXJgAFBZR1x2txCkE="
"vendorHash": "sha256-3RylkFRnCG5Z9G/4iV8YJgBnNKYS4T3AhA2JdI+1FEY="
},
"vultr": {
"hash": "sha256-vgeTK5fGHYzHCBdxq1JN9agK6+jYGkCkFnAWrkIz/gM=",

View file

@ -0,0 +1,42 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule rec {
pname = "alertmanager-gotify-bridge";
version = "2.3.2";
src = fetchFromGitHub {
owner = "DRuggeri";
repo = "alertmanager_gotify_bridge";
tag = "v${version}";
hash = "sha256-jG4SC+go6ZxdV1RtLJjZdL4I8jLayY5JKK8mlMDD2pE=";
};
vendorHash = "sha256-EjsfY8Ys0Fd99sx7OsZ2jcstdVloqDQQj5xfoIVSX9E=";
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/alertmanager_gotify_bridge";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Bridge between Prometheus AlertManager and a Gotify server";
homepage = "https://github.com/DRuggeri/alertmanager_gotify_bridge";
changelog = "https://github.com/DRuggeri/alertmanager_gotify_bridge/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ juli0604 ];
mainProgram = "alertmanager_gotify_bridge";
};
}

View file

@ -1,43 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule rec {
pname = "amazon-ec2-metadata-mock";
version = "1.13.0";
src = fetchFromGitHub {
owner = "aws";
repo = "amazon-ec2-metadata-mock";
tag = "v${version}";
hash = "sha256-gqzROHfwhd3i1GWSp58dBKjS1EU7Xu0Fqbzv2PoLaF8=";
};
vendorHash = "sha256-Px4vhFW1mhXbBuPbxEpukmeLZewF7zooOXKxL8sEFLU=";
subPackages = [ "cmd/ec2-metadata-mock" ];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${builtins.placeholder "out"}/bin/ec2-metadata-mock";
versionCheckProgramArg = "--version";
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Tool to simulate Amazon EC2 instance metadata";
homepage = "https://github.com/aws/amazon-ec2-metadata-mock";
license = lib.licenses.asl20;
mainProgram = "ec2-metadata-mock";
maintainers = with lib.maintainers; [ arianvp ];
};
}

View file

@ -0,0 +1,25 @@
diff --git a/cmake/macos/compilerconfig.cmake b/cmake/macos/compilerconfig.cmake
index 99272c662..50f94db37 100644
--- a/cmake/macos/compilerconfig.cmake
+++ b/cmake/macos/compilerconfig.cmake
@@ -27,7 +27,7 @@ message(DEBUG "macOS SDK Path: ${CMAKE_OSX_SYSROOT}")
string(REGEX MATCH ".+/SDKs/MacOSX([0-9]+\\.[0-9])+\\.sdk$" _ ${CMAKE_OSX_SYSROOT})
set(_ares_macos_current_sdk ${CMAKE_MATCH_1})
message(DEBUG "macOS SDK version: ${_ares_macos_current_sdk}")
-if(_ares_macos_current_sdk VERSION_LESS _ares_macos_minimum_sdk)
+if(FALSE)
message(
FATAL_ERROR
"Your macOS SDK version (${_ares_macos_current_sdk}) is too low. "
diff --git a/cmake/macos/helpers.cmake b/cmake/macos/helpers.cmake
index 864a629f0..f455345bf 100644
--- a/cmake/macos/helpers.cmake
+++ b/cmake/macos/helpers.cmake
@@ -35,7 +35,6 @@ function(ares_configure_executable target)
endif()
endif()
- _bundle_dependencies(${target})
install(TARGETS ${target} BUNDLE DESTINATION "." COMPONENT Application)
endif()

View file

@ -2,7 +2,8 @@
lib,
SDL2,
alsa-lib,
autoPatchelfHook,
apple-sdk_14,
cmake,
fetchFromGitHub,
gtk3,
gtksourceview3,
@ -11,42 +12,39 @@
libX11,
libXv,
libao,
libicns,
libpulseaudio,
libretro-shaders-slang,
librashader,
ninja,
moltenvk,
openal,
pkg-config,
stdenv,
udev,
vulkan-loader,
which,
wrapGAppsHook3,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ares";
version = "141";
version = "143";
src = fetchFromGitHub {
owner = "ares-emulator";
repo = "ares";
rev = "v${finalAttrs.version}";
hash = "sha256-iNcoNdGw/DfYc9tsOGsPYoZLhVwNzJe8bVotx6Rl0j4=";
tag = "v${finalAttrs.version}";
hash = "sha256-uuFKbS7WvxkTyyQfuQ6iKPvRt+54zUPdjUlQ/ohBAr8=";
};
patches = [
./patches/001-dont-rebuild-on-install.patch
];
nativeBuildInputs =
[
autoPatchelfHook
cmake
ninja
pkg-config
which
wrapGAppsHook3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libicns
++ lib.optionals stdenv.hostPlatform.isLinux [
wrapGAppsHook3
];
buildInputs =
@ -54,6 +52,12 @@ stdenv.mkDerivation (finalAttrs: {
SDL2
libao
librashader
vulkan-loader
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_14
moltenvk
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
@ -68,31 +72,48 @@ stdenv.mkDerivation (finalAttrs: {
udev
];
appendRunpaths = [
(lib.makeLibraryPath [
patches = [
./darwin-build-fixes.patch
];
cmakeFlags = [
(lib.cmakeBool "ARES_BUILD_LOCAL" false)
(lib.cmakeBool "ARES_SKIP_DEPS" true)
];
postInstall =
if stdenv.hostPlatform.isDarwin then
''
mkdir $out/Applications
cp -a desktop-ui/ares.app $out/Applications/ares.app
# Shaders directory is already populated with Metal shaders, so can't simply symlink the slang shaders directory itself
for f in ${libretro-shaders-slang}/share/libretro/shaders/shaders_slang/*; do
ln -s "$f" $out/Applications/ares.app/Contents/Resources/Shaders/
done
''
else
''
ln -s ${libretro-shaders-slang}/share/libretro $out/share/libretro
'';
postFixup =
if stdenv.hostPlatform.isDarwin then
''
install_name_tool \
-add_rpath ${librashader}/lib \
-add_rpath ${moltenvk}/lib \
$out/Applications/ares.app/Contents/MacOS/ares
''
else
''
patchelf $out/bin/.ares-wrapped \
--add-rpath ${
lib.makeLibraryPath [
librashader
vulkan-loader
])
];
makeFlags =
lib.optionals stdenv.hostPlatform.isLinux [
"hiro=gtk3"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"hiro=cocoa"
"lto=false"
"vulkan=false"
]
++ [
"local=false"
"openmp=true"
"prefix=$(out)"
];
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-mmacosx-version-min=10.14";
}
'';
meta = {
homepage = "https://ares-emu.net";
@ -103,8 +124,5 @@ stdenv.mkDerivation (finalAttrs: {
Madouura
];
platforms = lib.platforms.unix;
broken = stdenv.hostPlatform.isDarwin;
};
})
# TODO: select between Qt and GTK3
# TODO: call Darwin hackers to deal with specific errors

View file

@ -1,22 +0,0 @@
From 65cc7647110edd768e7baa7991143014316e655a Mon Sep 17 00:00:00 2001
From: Madoura <93990818+Madouura@users.noreply.github.com>
Date: Mon, 9 May 2022 10:17:06 -0500
Subject: [PATCH] Update GNUmakefile
---
desktop-ui/GNUmakefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/desktop-ui/GNUmakefile b/desktop-ui/GNUmakefile
index 8e27b11d3..0bee561fb 100644
--- a/desktop-ui/GNUmakefile
+++ b/desktop-ui/GNUmakefile
@@ -106,7 +106,7 @@ endif
$(call rdelete,$(object.path))
$(call rdelete,$(output.path))
-install: all
+install:
ifeq ($(platform),windows)
$(call mkdir,$(prefix)/$(name)/)
else ifeq ($(shell id -un),root)

View file

@ -10,13 +10,13 @@
flutter324.buildFlutterApplication rec {
pname = "bloomeetunes";
version = "2.10.14";
version = "2.10.15";
src = fetchFromGitHub {
owner = "HemantKArya";
repo = "BloomeeTunes";
tag = "v${version}+161";
hash = "sha256-Cj4NfWEIEYTNAdb6CunA7ExTebK89OlHvZx9n853eHI=";
tag = "v${version}+162";
hash = "sha256-o26HB2eFXXiovg+X5hNIRRStJBGNEFTF9Um/8AKlKww=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

View file

@ -0,0 +1,122 @@
{
lib,
stdenvNoCC,
pkgsi686Linux,
fetchurl,
cups,
dpkg,
gnused,
makeWrapper,
ghostscript,
file,
a2ps,
coreutils,
gawk,
}:
let
version = "3.0.1-1";
cupsdeb = fetchurl {
url = "https://download.brother.com/welcome/dlf101532/dcp1610wcupswrapper-${version}.i386.deb";
hash = "sha256-ZgE2o/xU11+MzSnBYakXZE5m+Qa85/KIo31wKWAmsGY=";
};
lprdeb = fetchurl {
url = "https://download.brother.com/welcome/dlf101533/dcp1610wlpr-${version}.i386.deb";
hash = "sha256-hi0b23DgSXVT/fNA+Y2aJOdopt7SwjUyYyev81boGlg=";
};
in
stdenvNoCC.mkDerivation {
pname = "cups-brother-dcp1610wlpr";
inherit version;
srcs = [
cupsdeb
lprdeb
];
nativeBuildInputs = [
makeWrapper
];
buildInputs = [
cups
ghostscript
dpkg
a2ps
];
unpackPhase = ''
runHook preUnpack
dpkg-deb -x ${lprdeb} $out
dpkg-deb -x ${cupsdeb} $out
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/cups/filter $out/share/cups/model
ln -s $out/opt/brother/Printers/DCP1610W/cupswrapper/brother_lpdwrapper_DCP1610W $out/lib/cups/filter/brother_lpdwrapper_DCP1610W
ln -s $out/opt/brother/Printers/DCP1610W/cupswrapper/brother-DCP1610W-cups-en.ppd $out/share/cups/model/
ln -s $out/opt/brother/Printers/DCP1610W/cupswrapper/brcupsconfig4 $out/lib/cups/filter/brcupsconfig4
runHook postInstall
'';
postFixup = ''
substituteInPlace $out/opt/brother/Printers/DCP1610W/lpd/filter_DCP1610W \
--replace-fail /opt "$out/opt"
sed -i '/GHOST_SCRIPT=/c\GHOST_SCRIPT=gs' $out/opt/brother/Printers/DCP1610W/lpd/psconvert2
patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/DCP1610W/lpd/brprintconflsr3
patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/DCP1610W/lpd/rawtobr3
patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/DCP1610W/inf/braddprinter
wrapProgram $out/opt/brother/Printers/DCP1610W/lpd/psconvert2 \
--prefix PATH ":" ${
lib.makeBinPath [
gnused
coreutils
gawk
]
}
wrapProgram $out/opt/brother/Printers/DCP1610W/lpd/filter_DCP1610W \
--prefix PATH ":" ${
lib.makeBinPath [
ghostscript
a2ps
file
gnused
coreutils
]
}
substituteInPlace $out/opt/brother/Printers/DCP1610W/cupswrapper/brother_lpdwrapper_DCP1610W \
--replace-fail /opt "$out/opt"
wrapProgram $out/opt/brother/Printers/DCP1610W/cupswrapper/brother_lpdwrapper_DCP1610W \
--prefix PATH ":" ${
lib.makeBinPath [
gnused
coreutils
gawk
]
}
'';
meta = {
homepage = "http://www.brother.com/";
description = "Brother DCP-1610W printer driver";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfreeRedistributable;
platforms = [
"x86_64-linux"
"i686-linux"
];
downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=nz&lang=en&prod=dcp1610w_eu_as&os=128";
};
}

View file

@ -58,16 +58,21 @@ stdenv.mkDerivation rec {
llvmPackages.openmp
];
# force char to be unsigned on aarch64
# https://codeberg.org/doug-moen/curv/issues/227
NIX_CFLAGS_COMPILE = [ "-fsigned-char" ];
# GPU tests do not work in sandbox, instead we do this for sanity
checkPhase = ''
runHook preCheck
test "$($out/bin/curv -x 2 + 2)" -eq "4"
runHook postCheck
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
test "$(set -x; $out/bin/curv -x "2 + 2")" -eq "4"
runHook postInstallCheck
'';
meta = with lib; {
description = "2D and 3D geometric modelling programming language for creating art with maths";
homepage = "https://github.com/curv3d/curv";
homepage = "https://codeberg.org/doug-moen/curv";
license = licenses.asl20;
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin;

View file

@ -0,0 +1,13 @@
diff --git a/meson.build b/meson.build
index 616ccff..d32b4c5 100644
--- a/meson.build
+++ b/meson.build
@@ -29,7 +29,7 @@ version = meson.project_version()
prefix = get_option('prefix')
bindir = prefix / get_option('bindir')
localedir = prefix / get_option('localedir')
-graphviewsrcdir = prefix / 'src/delineate/graph_view'
+graphviewsrcdir = prefix / 'opt/delineate/graph_view'
datadir = prefix / get_option('datadir')
pkgdatadir = datadir / meson.project_name()

View file

@ -0,0 +1,99 @@
{
appstream,
buildNpmPackage,
cargo,
cmake,
desktop-file-utils,
fetchFromGitHub,
gtk4,
gtksourceview5,
lib,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
rustPlatform,
rustc,
stdenv,
webkitgtk_6_0,
wrapGAppsHook4,
}:
let
d3-graphviz = buildNpmPackage rec {
pname = "d3-graphviz";
version = "5.6.0";
src = fetchFromGitHub {
owner = "magjac";
repo = "d3-graphviz";
tag = "v${version}";
hash = "sha256-MZhAzR6+GIBTsLPJq5NqaEPHjiBMgYBJ0hFbDPNPgFk=";
};
npmDepsHash = "sha256-J1kptumP/8UoiYDM+AJOYUne0OSkMXCTAXW3ZmavU4E=";
# keep the devDependencies, as Delineate imports d3 via node_modules
# https://github.com/SeaDve/Delineate/blob/v0.1.0/data/graph_view/index.html#L10-L11
npmPruneFlags = "--include=dev";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "delineate";
version = "0.1.0";
src = fetchFromGitHub {
owner = "SeaDve";
repo = "Delineate";
tag = "v${finalAttrs.version}";
hash = "sha256-dFGh7clxc6UxQRTsNKrggWDvL3CPmzJmrvO1jqMVoTg=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-RtQnpbjULtnvlc71L4KIKPES0WRSY2GoaIwt8UvlYOA=";
};
patches = [
./graphview-dir.patch
];
nativeBuildInputs = [
cargo
cmake
desktop-file-utils
gtk4
meson
ninja
pkg-config
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
];
buildInputs = [
appstream
gtksourceview5
libadwaita
webkitgtk_6_0
];
dontUseCmakeConfigure = true;
postInstall = ''
ln -s ${d3-graphviz}/lib/node_modules/d3-graphviz $out/opt/delineate/graph_view/d3-graphviz
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "View and edit graphs";
homepage = "https://github.com/SeaDve/Delineate";
changelog = "https://github.com/SeaDve/Delineate/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.nekowinston ];
platforms = lib.platforms.linux;
mainProgram = "delineate";
};
})

View file

@ -0,0 +1,127 @@
diff --git a/chkshsgr.c b/chkshsgr.c
index b6eb8a1..caa1b2b 100644
--- a/chkshsgr.c
+++ b/chkshsgr.c
@@ -1,9 +1,11 @@
+#include <unistd.h>
+#include <grp.h>
#include "exit.h"
int main()
{
return 0;
- short x[4];
+ unsigned int x[4];
x[0] = x[1] = 0;
if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
diff --git a/dnsq.c b/dnsq.c
index 533e6af..23b08e7 100644
--- a/dnsq.c
+++ b/dnsq.c
@@ -1,3 +1,4 @@
+#include <unistd.h>
#include "uint16.h"
#include "strerr.h"
#include "buffer.h"
diff --git a/dnsqr.c b/dnsqr.c
index ff8ea6e..d3879ea 100644
--- a/dnsqr.c
+++ b/dnsqr.c
@@ -1,3 +1,4 @@
+#include <unistd.h>
#include "uint16.h"
#include "strerr.h"
#include "buffer.h"
diff --git a/hier.c b/hier.c
index a598e61..6eddb21 100644
--- a/hier.c
+++ b/hier.c
@@ -1,4 +1,5 @@
#include "auto_home.h"
+#include "instcheck.h"
void hier()
{
diff --git a/instcheck.h b/instcheck.h
new file mode 100644
index 0000000..056b74c
--- /dev/null
+++ b/instcheck.h
@@ -0,0 +1,9 @@
+void h(const char *home, int uid, int gid, int mode);
+
+void d(const char *home, char *subdir, int uid, int gid, int mode);
+
+void p(char *home, char *fifo, int uid, int gid, int mode);
+
+void c(const char *home, char *subdir, char *file, int uid, int gid, int mode);
+
+void z(char *home, char *file, int len, int uid, int gid, int mode);
diff --git a/prot.c b/prot.c
index 0a8a373..1c56e9c 100644
--- a/prot.c
+++ b/prot.c
@@ -1,3 +1,5 @@
+#include <grp.h>
+#include <unistd.h>
#include "hasshsgr.h"
#include "prot.h"
diff --git a/seek_set.c b/seek_set.c
index d08d4f3..47c61e4 100644
--- a/seek_set.c
+++ b/seek_set.c
@@ -1,4 +1,5 @@
#include <sys/types.h>
+#include <unistd.h>
#include "seek.h"
#define SET 0 /* sigh */
diff --git a/tinydns-data.c b/tinydns-data.c
index ba82f84..c70382e 100644
--- a/tinydns-data.c
+++ b/tinydns-data.c
@@ -251,19 +251,19 @@ int main()
if (!dns_domain_fromdot(&d1,f[0].s,f[0].len)) nomem();
if (!stralloc_0(&f[3])) nomem();
- if (!scan_ulong(f[3].s,&u)) uint32_unpack_big(defaultsoa,&u);
+ if (!scan_ulong(f[3].s,&u)) uint32_unpack_big(defaultsoa,(unsigned int *)&u);
uint32_pack_big(soa,u);
if (!stralloc_0(&f[4])) nomem();
- if (!scan_ulong(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,&u);
+ if (!scan_ulong(f[4].s,&u)) uint32_unpack_big(defaultsoa + 4,(unsigned int *)&u);
uint32_pack_big(soa + 4,u);
if (!stralloc_0(&f[5])) nomem();
- if (!scan_ulong(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,&u);
+ if (!scan_ulong(f[5].s,&u)) uint32_unpack_big(defaultsoa + 8,(unsigned int *)&u);
uint32_pack_big(soa + 8,u);
if (!stralloc_0(&f[6])) nomem();
- if (!scan_ulong(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,&u);
+ if (!scan_ulong(f[6].s,&u)) uint32_unpack_big(defaultsoa + 12,(unsigned int *)&u);
uint32_pack_big(soa + 12,u);
if (!stralloc_0(&f[7])) nomem();
- if (!scan_ulong(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,&u);
+ if (!scan_ulong(f[7].s,&u)) uint32_unpack_big(defaultsoa + 16,(unsigned int *)&u);
uint32_pack_big(soa + 16,u);
if (!stralloc_0(&f[8])) nomem();
diff --git a/utime.c b/utime.c
index 4b7984f..6a64060 100644
--- a/utime.c
+++ b/utime.c
@@ -1,3 +1,4 @@
+#include <utime.h>
#include <sys/types.h>
#include <sys/time.h>
#include "scan.h"
@@ -19,6 +20,7 @@ int main(int argc,char **argv)
scan_ulong(ustr,&u);
ut[0] = ut[1] = u;
- if (utime(fn,ut) == -1) _exit(111);
+ struct utimbuf new_time = { .actime = u, .modtime = u };
+ if (utime(fn,&new_time) == -1) _exit(111);
_exit(0);
}

View file

@ -33,6 +33,9 @@ stdenv.mkDerivation {
# To fix https://github.com/NixOS/nixpkgs/issues/119066.
# Note that the NixOS test <nixpkgs/nixos/tests/tinydns.nix> tests for this.
./softlimit.patch
# Fix warnings introduced due to implicit type conversions and implicit function declarations
./fix-warnings.patch
];
postPatch = ''

View file

@ -0,0 +1,75 @@
{
lib,
appstream,
desktop-file-utils,
fetchFromGitHub,
glib,
gobject-introspection,
gtk4,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
python3Packages,
wrapGAppsHook4,
}:
python3Packages.buildPythonApplication rec {
pname = "drum-machine";
version = "1.0.0";
pyproject = false;
src = fetchFromGitHub {
owner = "Revisto";
repo = "drum-machine";
tag = "v${version}";
hash = "sha256-7D9Cda0HILRC/RLySC7jEJ7QhoO2KOQBFNZtn9wD+54=";
};
strictDeps = true;
nativeBuildInputs = [
appstream
desktop-file-utils
glib
gobject-introspection
gtk4 # For `gtk-update-icon-theme`
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [ libadwaita ];
dependencies = with python3Packages; [
mido
pygame
pygobject3
];
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
# NOTE: `postCheck` is intentionally not used here, as the entire checkPhase
# is skipped by `buildPythonApplication`
# https://github.com/NixOS/nixpkgs/blob/9d4343b7b27a3e6f08fc22ead568233ff24bbbde/pkgs/development/interpreters/python/mk-python-derivation.nix#L296
postInstallCheck = ''
mesonCheckPhase
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Modern and intuitive application for creating, playing, and managing drum patterns";
homepage = "https://apps.gnome.org/DrumMachine";
changelog = "https://github.com/Revisto/drum-machine/releases/tag/${src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = lib.teams.gnome-circle.members;
platforms = lib.platforms.linux;
};
}

View file

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "files-cli";
version = "2.13.239";
version = "2.13.247";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-rfjfx09Pp+EZiivM1viclNof9u9ojDbyE1NLdKe/rt8=";
hash = "sha256-Czz2qiPagIV19+x6hORIUndCdfME9IV4J2/V+uNzVQ4=";
};
vendorHash = "sha256-B8iuuTtM4d67TmoxAIAruFv2xzjrUGbdRe9XLNaJqe8=";
vendorHash = "sha256-h4HGKtTk+TmzeEpFbgj6wvQmxprJDN2ib+aEDhN82PE=";
ldflags = [
"-s"

View file

@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "files-to-prompt";
version = "0.4";
version = "0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "simonw";
repo = "files-to-prompt";
tag = version;
hash = "sha256-gl3j0ok/hlFfIF3HhhzYrUZuNlAtU7y+Ej29sQv9tP4=";
hash = "sha256-nO4I9qgG83OnWw6/FWSqx0Du5d3s5dLBjtMQLstWPEY";
};
build-system = with python3Packages; [

View file

@ -9,17 +9,17 @@
rustPlatform.buildRustPackage rec {
pname = "fselect";
version = "0.8.5";
version = "0.8.9";
src = fetchFromGitHub {
owner = "jhspetersson";
repo = "fselect";
rev = version;
sha256 = "sha256-gEiKv1YbNNWexNfzUULbe0fT0ueJ9TJojhBHp31i6OY=";
sha256 = "sha256-oZnA033/gKg5qppEvP+miNTTTwDpOlhUz8OOnKt5cx0=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-/FBEv1jDlYrx06Ia/lF3Vcjnl5nWg0aEQefY67kh9Bw=";
cargoHash = "sha256-4NpyHcTJhLO0xeva/qcKE5WiS15hHvQ9HO8ENgplfvo=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv;

View file

@ -0,0 +1,28 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "ginko";
version = "0.0.8";
src = fetchFromGitHub {
owner = "Schottkyc137";
repo = "ginko";
tag = "v${version}";
hash = "sha256-lk+iZclni6jAkvN5/62YobFBAdwTUOfd5v7Fs8M6MQo=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-7VwvFDjwUZechUrkxnXPFN6aMkr9KJkV81rpOZJHr8E=";
meta = {
description = "Device-tree source parser, analyzer and language server";
maintainers = [ lib.maintainers.fredeb ];
license = lib.licenses.mit;
homepage = "https://github.com/Schottkyc137/ginko";
changelog = "https://github.com/Schottkyc137/ginko/releases/tag/v${version}/CHANGELOG.md";
};
}

View file

@ -35,13 +35,13 @@ let
in
buildGoModule rec {
pname = "gitea";
version = "1.23.2";
version = "1.23.3";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
tag = "v${gitea.version}";
hash = "sha256-g7nrqSeMoAcfN8uexEKySZwY8SCosIpACtURRbUgb5c=";
hash = "sha256-XVaNqnvTbB3d6ksyEzHOqrKhtzU4YLSpBs8RrqG1/hw=";
};
proxyVendor = true;

View file

@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
ffmpeg,
vlc,
jq,
}:
stdenv.mkDerivation {
pname = "gopro-tool";
version = "0-unstable-2024-04-18";
src = fetchFromGitHub {
owner = "juchem";
repo = "gopro-tool";
rev = "a678f0ea65e24dca9b8d848b245bd2d487d3c8ca";
sha256 = "0sh3s38m17pci24x4kdlmlhn0gwgm28aaa6p7qs16wysk0q0h6wz";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp $src/gopro-tool $out/bin/gopro-tool
chmod +x $out/bin/gopro-tool
wrapProgram $out/bin/gopro-tool \
--prefix PATH : ${
lib.makeBinPath [
ffmpeg
vlc
jq
]
}
'';
meta = {
description = "A tool to control GoPro webcam mode in Linux (requires v4l2loopback kernel module and a firewall rule)";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ ZMon3y ];
platforms = lib.platforms.linux;
};
}

View file

@ -7,17 +7,17 @@
rustPackages.rustPlatform.buildRustPackage rec {
pname = "hawkeye";
version = "6.0.0";
version = "6.0.1";
src = fetchFromGitHub {
owner = "korandoru";
repo = "hawkeye";
tag = "v${version}";
hash = "sha256-VfJWj9BwNVR7RVUW+CjFuaniyiEath1U0F/7QJcA3r4=";
hash = "sha256-vf4Y/OJ6owLC3AMm4LVUyc/kfUluxN5VxC07hDWuEQY=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-SJEl5QsO4KYRv+5xDPHy1Q53qcL89IJ9JTXtzubO5fk=";
cargoHash = "sha256-mGJuAuq2z7JXRgAIVrBaO75Je++lBHHTUowo7+LEuaE=";
nativeBuildInputs = [
pkg-config

View file

@ -9,18 +9,18 @@
}:
rustPlatform.buildRustPackage rec {
pname = "hyprland-workspaces-tui";
version = "1.1.0";
version = "1.2.0";
src = fetchFromGitHub {
owner = "Levizor";
repo = "hyprland-workspaces-tui";
tag = version;
hash = "sha256-QMwiBQGAybdL8FaUil6tFzSFg4nN/9mGVoqiDFwGZec=";
hash = "sha256-DLu7njrD5i9FeNWVZGBTKki70FurIGxtwgS6HbA7YLE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-aT8LfBVOEVUvzgPlBIOXTgT+WXEt3vHMDyCcl9jT5/E=";
cargoHash = "sha256-1NZrpqbFiYSJtFNnlDwXX4J4rLwa9XlwUT+boMtr4tk=";
nativeBuildInputs = [
makeWrapper

View file

@ -10,13 +10,13 @@
buildGoModule rec {
pname = "kind";
version = "0.26.0";
version = "0.27.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "kubernetes-sigs";
repo = "kind";
hash = "sha256-1bU4vHC9bVz8TfO7knO1RYRxJUnwsXxZrRVnit5iQz0=";
hash = "sha256-J0M/enjufNmEMm43zo5fi5hL1LfaemNwR6nCClVCJNA=";
};
patches = [
@ -24,7 +24,7 @@ buildGoModule rec {
./kernel-module-path.patch
];
vendorHash = "sha256-VfqNM48M39R2LaUHirKmSXCdvBXUHu09oMzDPmAQC4o=";
vendorHash = "sha256-dwdDVN/B1bv8cYZYcXxSlGgO46ljBZfXuivPXmvo28c=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -0,0 +1,44 @@
{
lib,
rustPlatform,
fetchFromGitHub,
yq,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "koto";
version = "0.15.2";
src = fetchFromGitHub {
owner = "koto-lang";
repo = "koto";
tag = "v${version}";
hash = "sha256-T8SjNeoTANAcT+uAdgzBRMK0LbC038cpKFoCFHgsp8k=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-kIjDY27ot1dN3L8TKaBEQWDzo7+QIFvhdmi1YN9TofI=";
postPatch = ''
${lib.getExe' yq "tomlq"} -ti 'del(.bench)' crates/koto/Cargo.toml
'';
cargoBuildFlags = [ "--package=koto_cli" ];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Simple, expressive, embeddable programming language";
homepage = "https://github.com/koto-lang/koto";
changelog = "https://github.com/koto-lang/koto/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ defelo ];
mainProgram = "koto";
};
}

View file

@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule rec {
pname = "kube-review";
version = "0.4.0";
src = fetchFromGitHub {
owner = "anderseknert";
repo = "kube-review";
tag = "v${version}";
hash = "sha256-0wDapaV1e6QNZWeHG86t12iu1yW1LW6mnpdWIrwvBFk=";
};
vendorHash = "sha256-lzhjIX+67S+68erlJNHVXMKgRFUUyG+ymZEKVKRRpRc=";
ldflags = [
"-X github.com/anderseknert/kube-review/cmd.version=v${version}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Create Kubernetes AdmissionReview requests from Kubernetes resource manifests";
mainProgram = "kube-review";
homepage = "https://github.com/anderseknert/kube-review";
changelog = "https://github.com/anderseknert/kube-review/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.ardubev16 ];
};
}

View file

@ -11,13 +11,13 @@
buildGoModule rec {
pname = "kubeshark";
version = "52.3.96";
version = "52.4.2";
src = fetchFromGitHub {
owner = "kubeshark";
repo = "kubeshark";
rev = "v${version}";
hash = "sha256-o0Rzo7+gT+bj1b5YhfJMKSpeo4tkEof8QHNMzYbtpQw=";
hash = "sha256-FipypVdHAB62pfLk5mMezRLPiPKe0NbWkzlfoWC9D4w=";
};
vendorHash = "sha256-kzyQW4bVE7oMOlHVG7LKG1AMTRYa5GLiiEhdarIhMSo=";

View file

@ -0,0 +1,32 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
unstableGitUpdater,
}:
stdenvNoCC.mkDerivation {
pname = "libretro-shaders-slang";
version = "0-unstable-2025-02-14";
src = fetchFromGitHub {
owner = "libretro";
repo = "slang-shaders";
rev = "130f589cd5a2f3e5df1d6607b82b6771bc8b8446";
hash = "sha256-ig+cE6MZNeY1Rx6ciSvLuxU0UyLPQLP5c5+lKpq4skA=";
};
dontConfigure = true;
dontBuild = true;
installFlags = "PREFIX=${placeholder "out"}";
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Slang shaders for use with RetroArch's shader system";
homepage = "https://github.com/libretro/slang-shaders";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.nadiaholmquist ];
platforms = lib.platforms.all;
};
}

View file

@ -0,0 +1,48 @@
{
lib,
buildGoModule,
fetchFromGitHub,
olm,
nix-update-script,
testers,
mautrix-gmessages,
}:
buildGoModule rec {
pname = "mautrix-gmessages";
version = "0.6.0";
src = fetchFromGitHub {
owner = "mautrix";
repo = "gmessages";
tag = "v${version}";
hash = "sha256-FNjFGO/4j3kLo79oU5fsYA2/yhc9cAsAGIAQ5OJ2VPE=";
};
vendorHash = "sha256-QZ16R5i0I7uvQCDpa9/0Fh3jP6TEiheenRnRUXHvYIQ=";
ldflags = [
"-s"
"-w"
"-X"
"main.Tag=${version}"
];
buildInputs = [ olm ];
doCheck = false;
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = mautrix-gmessages; };
};
meta = with lib; {
description = "Matrix-Google Messages puppeting bridge";
homepage = "https://github.com/mautrix/gmessages";
changelog = "https://github.com/mautrix/gmessages/blob/${src.rev}/CHANGELOG.md";
license = licenses.agpl3Only;
maintainers = with maintainers; [ sumnerevans ];
mainProgram = "mautrix-gmessages";
};
}

View file

@ -6,16 +6,16 @@
}:
buildGoModule rec {
pname = "memogram";
version = "0.2.2";
version = "0.2.4";
src = fetchFromGitHub {
owner = "usememos";
repo = "telegram-integration";
tag = "v${version}";
hash = "sha256-CUo5fPWNE4FP1Dtwb1rPNSPP/CAJvYGYYIMAx/oeSOc=";
hash = "sha256-nhNVo8Bp/g/IWyj548BQlyxPy1t3DDCyLmInDwQCH4c=";
};
vendorHash = "sha256-BDGA7GpXS3/esBvb3+rC8ZgtER2OgBJ1bHZ6AHP/i4s=";
vendorHash = "sha256-g8mAG5l2juOVaem2xk+pPVzKYNJHbWbkS/D0LwF+XdM=";
subPackages = [ "bin/memogram" ];

View file

@ -6,11 +6,11 @@
let
pname = "mockoon";
version = "6.1.0";
version = "9.1.0";
src = fetchurl {
url = "https://github.com/mockoon/mockoon/releases/download/v${version}/mockoon-${version}.AppImage";
hash = "sha256-harZU3TTIzfJoY/jAQI0dm7YSOr24Y9xk9L5ZaBLdD8=";
url = "https://github.com/mockoon/mockoon/releases/download/v${version}/mockoon-${version}.x86_64.AppImage";
hash = "sha256-54E8o8m192yVuuLu3n4I9KRsC5h1UYBZ/1m0n5vGSdY=";
};
appimageContents = appimageTools.extractType2 {
@ -31,10 +31,16 @@ appimageTools.wrapType2 {
meta = with lib; {
description = "Easiest and quickest way to run mock APIs locally";
longDescription = ''
Mockoon is the easiest and quickest way to run mock APIs locally.
No remote deployment, no account required, free and open-source.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
homepage = "https://mockoon.com";
changelog = "https://github.com/mockoon/mockoon/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ dit7ya ];
mainProgram = "mockoon";
platforms = [ "x86_64-linux" ];
};
}

View file

@ -364,7 +364,7 @@ sub restartContainer {
sub runInContainer {
my @args = @_;
my $leader = getLeader;
exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", @args);
exec($nsenter, "--all", "-t", $leader, "--", @args);
die "cannot run nsenter: $!\n";
}

View file

@ -1,5 +1,6 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
typescript,
@ -25,9 +26,17 @@ buildNpmPackage rec {
makeWrapper
];
postPatch = ''
postPatch =
let
esbuildPrefix =
"esbuild"
# Workaround for 'No loader is configured for ".node" files: node_modules/fsevents/fsevents.node'
# esbuild issue is https://github.com/evanw/esbuild/issues/1051
+ lib.optionalString stdenv.hostPlatform.isDarwin " --external:fsevents";
in
''
substituteInPlace package.json \
--replace-warn "npx -y esbuild" "esbuild"
--replace-fail 'npx -y esbuild' '${esbuildPrefix}'
'';
# We need to add `nodejs` to PATH for `opcua-commander` to properly work

View file

@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "pmtiles";
version = "1.25.0";
version = "1.25.1";
src = fetchFromGitHub {
owner = "protomaps";
repo = "go-pmtiles";
rev = "v${version}";
hash = "sha256-eOcjJPQ5a9d1iDaTa+oZgMmyaOszd2ORaKKr3Td4WP0=";
tag = "v${version}";
hash = "sha256-sX+rEXCmDqHP6GZ5QdvJLBaJsuAhvRQSm+htlQiyYDk=";
};
vendorHash = "sha256-NQ74rLYhzacOrw6Tl6WoERfqbx2aF9X18rh0oOjCotE=";
@ -27,11 +27,11 @@ buildGoModule rec {
mv $out/bin/go-pmtiles $out/bin/pmtiles
'';
meta = with lib; {
meta = {
description = "Single-file utility for creating and working with PMTiles archives";
homepage = "https://github.com/protomaps/go-pmtiles";
license = licenses.bsd3;
maintainers = teams.geospatial.members ++ (with maintainers; [ theaninova ]);
license = lib.licenses.bsd3;
maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ theaninova ]);
mainProgram = "pmtiles";
};
}

View file

@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "prettypst";
version = "unstable-2024-10-20";
version = "2.0.0";
src = fetchFromGitHub {
owner = "antonWetzel";
repo = "prettypst";
rev = "a724b56de0527faf0f1f1eecb17d0b847872411c";
hash = "sha256-CVvcrytEG2q6kPiGBMfy/oQCD63Gm2AenvLUhCUx6fw=";
rev = "2.0.0";
hash = "sha256-fGm3HDMJ12HlVOjLtaS2hcAzVl/jl4nqMYly0aBVRxw=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-NxCc5DGbeHJ3M2V4h/u0lvzEkSbFU+rMcSnu+kJ0rXM=";
cargoHash = "sha256-zfx6SDtvn5waKWZB1gVxcvCzP+Rp7+J+txaRHoRfaBM=";
meta = {
changelog = "https://github.com/antonWetzel/prettypst/blob/${src.rev}/changelog.md";

View file

@ -11,13 +11,13 @@
buildGoModule rec {
pname = "pulsarctl";
version = "4.0.1.3";
version = "4.1.0-SNAPSHOT";
src = fetchFromGitHub {
owner = "streamnative";
repo = "pulsarctl";
rev = "v${version}";
hash = "sha256-wjLF8yaVRJeh7xMCmNAI/xW7CU5noFPgHkZRtixADv8=";
hash = "sha256-/4JSSYd18hEHUOiay3y74VHBY3ql6aqAK4aWDJaqwCU=";
};
vendorHash = "sha256-wNUTJn7Ar+GlePEhdr6xeolAiltJdAoIs5o5uDo8Ibs=";

View file

@ -53,17 +53,17 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "rio";
version = "0.2.5";
version = "0.2.7";
src = fetchFromGitHub {
owner = "raphamorim";
repo = "rio";
rev = "v${version}";
hash = "sha256-GyHwYvhqRX2ENaytLB/NrJv2wFbpPrZpQd5OW53ZgRw=";
hash = "sha256-OUiEqfh08q/VnX08w7uRDsKMPq5ZBxcZ8jIz/eYVf8k=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-TB3Nl3ePIJE7UQ89cJI5MPG4XpsPQgG5tM409GGm+qg=";
cargoHash = "sha256-OQ+nDdq4H291jLgWLLov2XVwOOErpiJPuDBUKR67blw=";
nativeBuildInputs =
[

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "signalbackup-tools";
version = "20250213-1";
version = "20250217";
src = fetchFromGitHub {
owner = "bepaald";
repo = "signalbackup-tools";
rev = version;
hash = "sha256-616NpIZ2TWyZEoYWZx6XDDxmZbsnrpxcWmTc7QgiT70=";
hash = "sha256-cjEbnuELa2c03Gdn1l3I8lM9szPJ8luhUYTj6qW/VWU=";
};
nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "stripe-cli";
version = "1.23.10";
version = "1.24.0";
src = fetchFromGitHub {
owner = "stripe";
repo = "stripe-cli";
rev = "v${version}";
hash = "sha256-QHCQ8cM7XfMdpgIm5zUQIP/5ryc/prvXQfdD91y7zJY=";
hash = "sha256-xWpKSrTH72YZlRGfL12bMF8ieObRIVvDwlUKR10g6hg=";
};
vendorHash = "sha256-dWLrJ866R+yPEYs4vc8SRADZXC1xCO7sDosHbU1G63o=";

View file

@ -5,29 +5,25 @@
fetchFromGitHub,
pkg-config,
openssl,
rocksdb_8_3,
rocksdb,
testers,
surrealdb,
darwin,
protobuf,
}:
let
rocksdb = rocksdb_8_3;
in
rustPlatform.buildRustPackage rec {
pname = "surrealdb";
version = "2.0.2";
version = "2.2.0";
src = fetchFromGitHub {
owner = "surrealdb";
repo = "surrealdb";
rev = "v${version}";
hash = "sha256-kTTZx/IXXJrkC0qm4Nx0hYPbricNjwFshCq0aFYCTo0=";
tag = "v${version}";
hash = "sha256-gsIeoxSfbHHSdpPn6xAB/t5w3cLtpu6MjTuf5xsI6wI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-yJfpxklHD/qbEoUS4OMAzlc9/0d/iW3EABU6AK/Maqo=";
cargoHash = "sha256-OXcQsDCiT3seMQhyKEKfC8pcd4MXwbql5+ZDGGkhPMI=";
# error: linker `aarch64-linux-gnu-gcc` not found
postPatch = ''
@ -54,8 +50,6 @@ rustPlatform.buildRustPackage rec {
doCheck = false;
checkFlags = [
# flaky
"--skip=ws_integration::none::merge"
# requires docker
"--skip=database_upgrade"
];

View file

@ -0,0 +1,16 @@
diff --git a/tail-tray.desktop.in b/tail-tray.desktop.in
index 2d1c7be..5e859ae 100644
--- a/tail-tray.desktop.in
+++ b/tail-tray.desktop.in
@@ -2,8 +2,8 @@
Name=Tail Tray
GenericName=Tail Tray
Comment=Tailscale Tray Application
-Exec=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/tail-tray
-Icon=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_DATAROOTDIR@/icons/hicolor/128x128/apps/tailscale.png
+Exec=@CMAKE_INSTALL_PREFIX@/bin/tail-tray
+Icon=@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/128x128/apps/tailscale.png
Type=Application
Categories=Qt;KDE;Utility;X-Networking;X-Internet;X-VPN;
StartupNotify=true

View file

@ -0,0 +1,45 @@
{
lib,
fetchFromGitHub,
davfs2,
cmake,
stdenv,
fetchpatch,
pkg-config,
kdePackages,
}:
stdenv.mkDerivation rec {
pname = "tail-tray";
version = "0.2.13";
src = fetchFromGitHub {
owner = "SneWs";
repo = "tail-tray";
tag = "v${version}";
sha256 = "sha256-BzE32XvDEdlS5D8XjZ4m2OEn+6nS0F7oJYX/a/UKhJ4=";
};
nativeBuildInputs = with kdePackages; [
wrapQtAppsHook
qttools
cmake
pkg-config
];
buildInputs = with kdePackages; [
qtbase
davfs2
];
patches = [ ./desktop.patch ];
meta = {
description = "Tray icon to manage Tailscale";
homepage = "https://github.com/SneWs/tail-tray";
changelog = "https://github.com/SneWs/tail-tray/releases/tag/${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ Svenum ];
platforms = lib.platforms.linux;
};
}

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "yash";
version = "2.58";
version = "2.58.1";
src = fetchFromGitHub {
owner = "magicant";
repo = pname;
rev = version;
hash = "sha256-d0Dt/+TxAtfKndXao6Cd9IEujHwi6H5HQjgY774UEFY=";
hash = "sha256-024/Nj4i5fxXMAqVEjlcrSf62a9CZv3W+imAAEdR+xo=";
};
strictDeps = true;

View file

@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
version = "3.25";
src = fetchzip {
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
# to update: archive https://www.yworks.com/resources/yed/demo/yEd-${version}.zip
url = "https://web.archive.org/web/20250212125159/https://www.yworks.com/resources/yed/demo/yEd-${version}.zip";
sha256 = "sha256-6Z24XmFPK+aomO7hImN4AdN08kjOsyn9PvHToyQj8sk=";
};

View file

@ -0,0 +1,37 @@
{
lib,
mkCoqDerivation,
coq,
mathcomp,
mathcomp-word,
version ? null,
}:
mkCoqDerivation {
pname = "jasmin";
owner = "jasmin-lang";
inherit version;
defaultVersion =
with lib.versions;
lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.18" "8.20") (range "2.2" "2.3") ];
out = "2024.07.2"; }
] null;
releaseRev = v: "v${v}";
release."2024.07.2".sha256 = "sha256-aF8SYY5jRxQ6iEr7t6mRN3BEmIDhJ53PGhuZiJGB+i8=";
propagatedBuildInputs = [
mathcomp-word
];
makeFlags = [ "-C" "proofs" ];
meta = with lib; {
description = "Jasmin language & verified compiler";
homepage = "https://github.com/jasmin-lang/jasmin/";
license = licenses.mit;
maintainers = with maintainers; [ proux01 vbgl ];
};
}

View file

@ -4,8 +4,8 @@ let
base = callPackage ./generic.nix (
_args
// {
version = "8.4.3";
hash = "sha256-1rEjedHx3yFtGTKECjGxT+0eD8fo2x6dF5X3Wh516tk=";
version = "8.4.4";
hash = "sha256-GSoyX9PKCbbFKN1gFO4H2APDFiUU1LsNPgmB0ArHAOw=";
}
);
in

View file

@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-OJizLQeWE2D28s822zYDa3GaIw5HZGklioDzIkPoRfo=";
};
configureFlags = [
"--disable-libodbc"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optionals useGTK [ gtk2 ] ++ lib.optional stdenv.hostPlatform.isDarwin Carbon;

View file

@ -1110,6 +1110,16 @@ in
];
});
orgmode = prev.orgmode.overrideAttrs (oa: {
# Patch in tree-sitter-orgmode dependency
postPatch = ''
substituteInPlace lua/orgmode/config/init.lua \
--replace-fail \
"pcall(vim.treesitter.language.add, 'org')" \
"pcall(function() vim.treesitter.language.add('org', { path = '${final.tree-sitter-orgmode}/lib/lua/${final.tree-sitter-orgmode.lua.luaversion}/parser/org.so'}) end)"
'';
});
tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (oa: {
propagatedBuildInputs =
let

View file

@ -135,6 +135,7 @@ mapAliases {
inherit (pkgs) kaput-cli; # added 2024-12-03
karma = pkgs.karma-runner; # added 2023-07-29
leetcode-cli = self.vsc-leetcode-cli; # added 2023-08-31
inherit (pkgs) lerna; # added 2025-02-12
less = pkgs.lessc; # added 2024-06-15
less-plugin-clean-css = pkgs.lessc.plugins.clean-css; # added 2024-06-15
inherit (pkgs) lv_font_conv; # added 2024-06-28

View file

@ -111,7 +111,6 @@
, "katex"
, "keyoxide"
, "lcov-result-merger"
, "lerna"
, "live-server"
, "livedown"
, "localtunnel"

File diff suppressed because it is too large Load diff

View file

@ -8,11 +8,12 @@
ArchiveCpio,
SubOverride,
shortenPerlShebang,
gitUpdater,
}:
buildPerlPackage rec {
pname = "strip-nondeterminism";
version = "1.13.1";
version = "1.14.1";
outputs = [
"out"
@ -24,7 +25,7 @@ buildPerlPackage rec {
repo = "strip-nondeterminism";
domain = "salsa.debian.org";
rev = version;
sha256 = "czx9UhdgTsQSfDNo1mMOXCM/3/nuNe+cPZeyy2xdnKs=";
sha256 = "C/812td9BX1YRqFpD9QYgBfzE+biZeAKgxoNcxpb6UU=";
};
strictDeps = true;
@ -64,6 +65,10 @@ buildPerlPackage rec {
doCheck = !stdenv.hostPlatform.isDarwin;
doInstallCheck = true;
passthru = {
updateScript = gitUpdater { };
};
meta = with lib; {
description = "Perl module for stripping bits of non-deterministic information";
mainProgram = "strip-nondeterminism";

View file

@ -2,11 +2,16 @@
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# nativeBuildInputs
h5py,
# tests
numpy,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
@ -14,8 +19,6 @@ buildPythonPackage rec {
version = "1.17.3";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "spotify";
repo = "annoy";
@ -48,11 +51,15 @@ buildPythonPackage rec {
pythonImportsCheck = [ "annoy" ];
meta = with lib; {
meta = {
description = "Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk";
homepage = "https://github.com/spotify/annoy";
changelog = "https://github.com/spotify/annoy/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ timokau ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ timokau ];
badPlatforms = [
# Several tests fail with AssertionError
lib.systems.inspect.patterns.isDarwin
];
};
}

View file

@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "ansible-compat";
version = "25.1.1";
version = "25.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "ansible";
repo = "ansible-compat";
tag = "v${version}";
hash = "sha256-uchju9ZxmoqZX3xlAC9lXc+DPpbG71xq1mIHwtaiB9c=";
hash = "sha256-AElonUB2zXB3ZcRTwuaYpEQJYHtPw2lD3tBNMEqwuKo=";
};
build-system = [

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "bandit";
version = "1.8.2";
version = "1.8.3";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-4ArVprxnbAlUZp/hOBgCTWa3DkLPWtuXFIDPO2ceg18=";
hash = "sha256-9YR762VNMJQimFw2ZEZJkk4OpEJcdt7C6JEQuHUGGTo=";
};
nativeBuildInputs = [ pbr ];

View file

@ -35,14 +35,14 @@ let
in
buildPythonPackage rec {
pname = "blivet";
version = "3.11.0";
version = "3.12.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "storaged-project";
repo = "blivet";
tag = "blivet-${version}";
hash = "sha256-X5U6XFmcsTfetpxwH0ONSnTasnwh2USukYtx+8HwVGc=";
hash = "sha256-09Fs9lwZksfAIH26bHyewr7ALuVo/cpMhb5xWaifXUg=";
};
postPatch = ''

View file

@ -2,35 +2,40 @@
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
poetry-core,
# dependencies
jsonref,
jsonschema,
latex2mathml,
pandas,
pillow,
pydantic,
tabulate,
pyyaml,
semchunk,
typing-extensions,
tabulate,
transformers,
typer,
latex2mathml,
typing-extensions,
# tests
jsondiff,
requests,
pytestCheckHook,
requests,
}:
buildPythonPackage rec {
pname = "docling-core";
version = "2.18.1";
version = "2.19.1";
pyproject = true;
src = fetchFromGitHub {
owner = "DS4SD";
repo = "docling-core";
tag = "v${version}";
hash = "sha256-ymFBR+nz/zq6EFgCbSQPfZDQ/Gk8QeJrkeVQ7KZ9bmo=";
hash = "sha256-SBPk9DF9M1rY6YOqO1FOfnAcaGLQrJnMaBUG1JLWYFU=";
};
build-system = [
@ -38,18 +43,18 @@ buildPythonPackage rec {
];
dependencies = [
jsonschema
pydantic
jsonref
tabulate
jsonschema
latex2mathml
pandas
pillow
pydantic
pyyaml
typing-extensions
transformers
semchunk
tabulate
transformers
typer
latex2mathml
typing-extensions
];
pythonRelaxDeps = [
@ -73,7 +78,7 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/DS4SD/docling-core/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/DS4SD/docling-core/blob/v${version}/CHANGELOG.md";
description = "Python library to define and validate data types in Docling";
homepage = "https://github.com/DS4SD/docling-core";
license = lib.licenses.mit;

View file

@ -2,56 +2,61 @@
lib,
buildPythonPackage,
fetchFromGitHub,
# dependencies
pydantic,
docling-core,
docling-ibm-models,
deepsearch-glm,
docling-parse,
filetype,
pypdfium2,
pydantic-settings,
huggingface-hub,
requests,
easyocr,
tesserocr,
certifi,
rtree,
scipy,
typer,
python-docx,
python-pptx,
beautifulsoup4,
pandas,
marko,
openpyxl,
lxml,
# ocrmac # not yet packaged
rapidocr-onnxruntime,
onnxruntime,
pillow,
pyarrow,
# build system
poetry-core,
# dependencies
beautifulsoup4,
certifi,
deepsearch-glm,
docling-core,
docling-ibm-models,
docling-parse,
easyocr,
filetype,
huggingface-hub,
lxml,
marko,
# ocrmac # not yet packaged
onnxruntime,
openpyxl,
pandas,
pillow,
pyarrow,
pydantic,
pydantic-settings,
pypdfium2,
python-docx,
python-pptx,
rapidocr-onnxruntime,
requests,
rtree,
scipy,
tesserocr,
typer,
# optional dependencies
mkdocs-material,
mkdocs-jupyter,
# mkdocs-click # not yet packaged
mkdocs-jupyter,
mkdocs-material,
mkdocstrings,
# native check inputs
# tests
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "docling";
version = "2.20.0";
version = "2.23.0";
pyproject = true;
src = fetchFromGitHub {
owner = "DS4SD";
repo = "docling";
tag = "v${version}";
hash = "sha256-6p6/UwbI4ZB6ro1O5ELg8fENEnpH4ycpCyOk7QPX7cY=";
hash = "sha256-ySywKaLxjtgQM7RtzJrxZDS3z8uMwAwPDYO51uKHT28=";
};
build-system = [
@ -59,34 +64,34 @@ buildPythonPackage rec {
];
dependencies = [
pydantic
beautifulsoup4
certifi
deepsearch-glm
docling-core
docling-ibm-models
deepsearch-glm
docling-parse
filetype
pypdfium2
pydantic-settings
huggingface-hub
requests
easyocr
tesserocr
certifi
rtree
scipy
typer
python-docx
python-pptx
beautifulsoup4
pandas
marko
openpyxl
filetype
huggingface-hub
lxml
marko
# ocrmac # not yet packaged
rapidocr-onnxruntime
onnxruntime
openpyxl
pandas
pillow
pyarrow
pydantic
pydantic-settings
pypdfium2
python-docx
python-pptx
rapidocr-onnxruntime
requests
rtree
scipy
tesserocr
typer
];
pythonRelaxDeps = [
@ -107,20 +112,17 @@ buildPythonPackage rec {
];
docs = [
mkdocs-material
mkdocs-jupyter
# mkdocs-click # not yet packaged
mkdocs-jupyter
mkdocs-material
mkdocstrings
# griffle-pydantic
];
};
preCheck = ''
export HOME="$TEMPDIR"
'';
nativeCheckInputs = [
pytestCheckHook
writableTmpDirAsHomeHook
];
pythonImportsCheck = [
@ -130,6 +132,7 @@ buildPythonPackage rec {
disabledTests = [
"test_e2e_pdfs_conversions" # AssertionError: ## TableFormer: Table Structure Understanding with Transf
"test_e2e_conversions" # RuntimeError: Tesseract is not available
# huggingface_hub.errors.LocalEntryNotFoundError: An error happened
"test_cli_convert"
"test_code_and_formula_conversion"
@ -138,8 +141,12 @@ buildPythonPackage rec {
"test_convert_stream"
"test_compare_legacy_output"
"test_ocr_coverage_threshold"
# requires network access
"test_page_range"
# AssertionError: pred_itxt==true_itxt
"test_e2e_valid_csv_conversions"
];
meta = {

View file

@ -28,8 +28,8 @@ buildPythonPackage rec {
patches = [
# fix test_openapi_utils test
(fetchpatch {
url = "https://github.com/ghazi-git/drf-standardized-errors/pull/96/commits/4a2b1be3c97cd6db50543e6ff0303c0df0731d8a.patch";
hash = "sha256-8+zVzBX7yDGfpsyvj61auqV+zdG6mIyj2LtR3D8l4jc=";
url = "https://github.com/ghazi-git/drf-standardized-errors/commit/dbc37d4228bdefa858ab299517097d6e52a0b698.patch";
hash = "sha256-CZTBmhAFKODGLiN2aQNKMaR8VyKs0H55Tzu4Rh6X9R8=";
})
];

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "githubkit";
version = "0.12.6";
version = "0.12.7";
pyproject = true;
disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "yanyongyu";
repo = "githubkit";
tag = "v${version}";
hash = "sha256-JqnQ1cO5cbgRRyLSC+0LvYui/GVad3dBSSr/aTNw/yM=";
hash = "sha256-Lu87Vw1nTSxraK9jKr9lvwGXu49s9amO3vICbs89iHA=";
};
pythonRelaxDeps = [ "hishel" ];

View file

@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "islpy";
version = "2025.1.1";
version = "2025.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "inducer";
repo = "islpy";
tag = "v${version}";
hash = "sha256-SCrEHz5gMPSfrgyPQcTf4k2YlzVs7WWdhgnw7U0Tv30=";
hash = "sha256-F+qF/pX/1rFZiDVK71FYNatWuVkcvl62+EriTHzAfHw=";
};
build-system = [

View file

@ -22,7 +22,7 @@
let
llm = buildPythonPackage rec {
pname = "llm";
version = "0.21";
version = "0.22";
pyproject = true;
build-system = [ setuptools ];
@ -33,7 +33,7 @@ let
owner = "simonw";
repo = "llm";
tag = version;
hash = "sha256-gxmhdczgbcvbWJQTy+gek499C/3jm9WL5vKZmaGVWgU=";
hash = "sha256-l4tFBCIey5cOUvJ8IXLOjslc1zy9MnuiwFFP275S/Bg=";
};
patches = [ ./001-disable-install-uninstall-commands.patch ];
@ -76,7 +76,7 @@ let
meta = with lib; {
homepage = "https://github.com/simonw/llm";
description = "Access large language models from the command-line";
changelog = "https://github.com/simonw/llm/releases/tag/${version}";
changelog = "https://github.com/simonw/llm/releases/tag/${src.tag}";
license = licenses.asl20;
mainProgram = "llm";
maintainers = with maintainers; [

View file

@ -33,13 +33,13 @@
buildPythonPackage rec {
pname = "marimo";
version = "0.11.2";
version = "0.11.5";
pyproject = true;
# The github archive does not include the static assets
src = fetchPypi {
inherit pname version;
hash = "sha256-E6mEYTigSPgTC9pNfDpsIbOBagYOL5sc9CpYPMfNtfI=";
hash = "sha256-SELoL9ycfRAeq47dViCcutZ6lg5LUdUtcJbj93N6ig4=";
};
build-system = [ hatchling ];

View file

@ -27,14 +27,14 @@
buildPythonPackage rec {
pname = "mdtraj";
version = "1.10.2";
version = "1.10.3";
pyproject = true;
src = fetchFromGitHub {
owner = "mdtraj";
repo = "mdtraj";
tag = version;
hash = "sha256-0hSMKrY3p29IUmMuLsNUK4s/AM5zCzAh6Udg/xbeky0=";
hash = "sha256-xmxVPF6GhZpyuTxdmxB7mkfrDb1FIh9Z3obgUOdQmrw=";
};
patches = [

View file

@ -1,26 +1,39 @@
{
lib,
buildPythonPackage,
fetchPypi,
isPy3k,
fetchFromGitHub,
setuptools,
pytestCheckHook,
}:
buildPythonPackage rec {
version = "1.26";
format = "setuptools";
pname = "numericalunits";
version = "1.26";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-igtplF3WXqz27vjIaLzTKY10OfWIL1B7tgYOwgxyPhI=";
src = fetchFromGitHub {
owner = "sbyrnes321";
repo = "numericalunits";
tag = "numericalunits-${version}";
hash = "sha256-vPB1r+j+p9n+YLnBjHuk2t+QSr+adEOjyC45QSbeb4M=";
};
disabled = !isPy3k;
build-system = [
setuptools
];
meta = with lib; {
nativeCheckInputs = [
pytestCheckHook
];
pytestFlagsArray = [
"tests/tests.py"
];
meta = {
homepage = "http://pypi.python.org/pypi/numericalunits";
description = "Package that lets you define quantities with unit";
license = licenses.mit;
maintainers = [ ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ nickcao ];
};
}

View file

@ -2,23 +2,57 @@
lib,
buildPythonPackage,
fetchPypi,
hatchling,
pythonOlder,
fetchurl,
setuptools,
}:
let
# 4 binaries which require vendoring, as otherwise
# the build system behind pex will attempt to fetch
# them during at build time
uv-trampoline = {
# Taken from https://github.com/pex-tool/pex/blob/2c66932d6645e8e542e5386eae08b9cc2dbb2a21/pex/windows/__init__.py#L45
version = "0.5.29";
aarch64-gui = fetchurl {
url = "https://raw.githubusercontent.com/astral-sh/uv/refs/tags/${uv-trampoline.version}/crates/uv-trampoline/trampolines/uv-trampoline-aarch64-gui.exe";
hash = "sha256-mb8x1FpyH+wy11X5YgWfqh/VUwBb62M4Zf9aFr5V4EE=";
};
aarch64-console = fetchurl {
url = "https://raw.githubusercontent.com/astral-sh/uv/refs/tags/${uv-trampoline.version}/crates/uv-trampoline/trampolines/uv-trampoline-aarch64-console.exe";
hash = "sha256-1S2aM+6CV7rKz+3ncM5X7kk7uDQeuha1+8lUEMYC75k=";
};
x86_64-gui = fetchurl {
url = "https://raw.githubusercontent.com/astral-sh/uv/refs/tags/${uv-trampoline.version}/crates/uv-trampoline/trampolines/uv-trampoline-x86_64-gui.exe";
hash = "sha256-icnp1oXrOZpc+dHTGvDbTHjr+D8M0eamvRrC9bPI/KI=";
};
x86_64-console = fetchurl {
url = "https://raw.githubusercontent.com/astral-sh/uv/refs/tags/${uv-trampoline.version}/crates/uv-trampoline/trampolines/uv-trampoline-x86_64-console.exe";
hash = "sha256-nLopBrlCMMFjkKVRlY7Ke2zFGpQOyF5mSlLs0d7+HRQ=";
};
};
in
buildPythonPackage rec {
pname = "pex";
version = "2.29.0";
version = "2.33.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-2JeQ1zGKZorVqx+2OzjdF7nln00t42yxP2O0e6AVGx4=";
hash = "sha256-kHTvgXe51TencKDkFQAAdyPXuJLBNpJ0NIy1KB8p5JQ=";
};
build-system = [ hatchling ];
preBuild = ''
mkdir -p pex/windows/stubs
cp ${uv-trampoline.aarch64-gui} pex/windows/stubs/uv-trampoline-aarch64-gui.exe
cp ${uv-trampoline.aarch64-console} pex/windows/stubs/uv-trampoline-aarch64-console.exe
cp ${uv-trampoline.x86_64-gui} pex/windows/stubs/uv-trampoline-x86_64-gui.exe
cp ${uv-trampoline.x86_64-console} pex/windows/stubs/uv-trampoline-x86_64-console.exe
'';
build-system = [ setuptools ];
# A few more dependencies I don't want to handle right now...
doCheck = false;
@ -32,7 +66,6 @@ buildPythonPackage rec {
license = licenses.asl20;
maintainers = with maintainers; [
copumpkin
phaer
];
};
}

View file

@ -45,7 +45,7 @@
sphinx-issues,
towncrier,
# checks
# tests
deepdiff,
hypothesis,
lxml,
@ -55,20 +55,26 @@
pytest-rerunfailures,
pytest-xdist,
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "qcodes";
version = "0.50.1";
version = "0.51.0";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "Qcodes";
tag = "v${version}";
hash = "sha256-oNJVOz2FMMhUkYIajeWwRmHzLcXu5qTSQzjk0gciOnE=";
hash = "sha256-QgCMoZrC3ZCo8yayRXw9fvBj5xi+XH2x/E1MuQFULPo=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'default-version = "0.0"' 'default-version = "${version}"'
'';
build-system = [
setuptools
versioningit
@ -142,6 +148,7 @@ buildPythonPackage rec {
pytestCheckHook
pyvisa-sim
sphinx
writableTmpDirAsHomeHook
];
__darwinAllowLocalNetworking = true;
@ -182,19 +189,6 @@ buildPythonPackage rec {
pythonImportsCheck = [ "qcodes" ];
# Remove the `asyncio_default_fixture_loop_scope` option as it has been introduced in newer `pytest-asyncio` v0.24
# which is not in nixpkgs yet:
# pytest.PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'default-version = "0.0"' 'default-version = "${version}"' \
--replace-fail 'asyncio_default_fixture_loop_scope = "function"' ""
'';
postInstall = ''
export HOME="$TMPDIR"
'';
meta = {
description = "Python-based data acquisition framework";
changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";

View file

@ -3,24 +3,25 @@
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
cython,
h5py,
matplotlib,
numpy,
phonopy,
pymatgen,
scipy,
seekpath,
setuptools,
spglib,
numpy,
scipy,
h5py,
pymatgen,
phonopy,
matplotlib,
seekpath,
castepxbin,
pytestCheckHook,
colormath,
importlib-resources,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "sumo";
version = "2.3.10";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.8";
@ -31,30 +32,35 @@ buildPythonPackage rec {
hash = "sha256-WoOW+JPo5x9V6LN+e8Vf3Q3ohHhQVK81s0Qk7oPn1Tk=";
};
nativeBuildInputs = [ cython ];
propagatedBuildInputs = [
castepxbin
colormath
h5py
matplotlib
numpy
phonopy
pymatgen
scipy
seekpath
spglib
build-system = [
setuptools
];
nativeCheckInputs = [ pytestCheckHook ];
dependencies = [
spglib
numpy
scipy
h5py
pymatgen
phonopy
matplotlib
seekpath
castepxbin
colormath
importlib-resources
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "sumo" ];
meta = with lib; {
meta = {
description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
homepage = "https://github.com/SMTG-UCL/sumo";
changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ psyanticy ];
};
}

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
version = "3.0.1318";
version = "3.0.1319";
pyproject = true;
disabled = pythonOlder "3.9";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = version;
hash = "sha256-pH0gm+/bZqMKWt3800rfMdKba0ZxuPNmkXDR2lPc3fs=";
hash = "sha256-AwWUvIx+BWfUelhGjYvzxLc08nNx/NXYDip5Et/hMdo=";
};
build-system = [ setuptools ];

View file

@ -17,20 +17,22 @@
# tests
absl-py,
jaxlib,
omegaconf,
pydantic,
pytestCheckHook,
torch,
}:
buildPythonPackage rec {
pname = "treescope";
version = "0.1.8";
version = "0.1.9";
pyproject = true;
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "treescope";
tag = "v${version}";
hash = "sha256-/rSQUmmfMPP7sZ6avd9bc4lSW/sHLXLEKKCJdXjBTB4=";
hash = "sha256-rLrsG7psY3xkuvNtdRULiMWKzIiWZpJ7TVJhwTNGXRQ=";
};
build-system = [ flit-core ];
@ -51,6 +53,8 @@ buildPythonPackage rec {
absl-py
jax
jaxlib
omegaconf
pydantic
pytestCheckHook
torch
];

View file

@ -1,5 +1,5 @@
{
"version": "0.7.4",
"url": "https://github.com/getgauge/gauge-dotnet/releases/download/v0.7.4/gauge-dotnet-0.7.4.zip",
"hash": "sha256-V5zawtvwz1lIe/X4YyFQOBUfg27eMDrVnHV5Mnec+0o="
"version": "0.7.5",
"url": "https://github.com/getgauge/gauge-dotnet/releases/download/v0.7.5/gauge-dotnet-0.7.5.zip",
"hash": "sha256-h9dBgtSZ6W6O4VdWEl0y2kOEcSOoXMiBDmEl2VYdT3E="
}

View file

@ -0,0 +1,37 @@
{
lib,
callPackage,
}:
let
inherit (lib) mapAttrs' nameValuePair;
variants = {
"6" = {
version = "6.6.2";
hash = "sha256-B+o6SwVTrotHNYJW6CUXU/rJLK2VeGHvZYQZqbhYWjg=";
npmDepsHash = "sha256-yR3MUcmAVj0/+lLQk5+hmyGFnyqhzw1xjVsu7ciYccs=";
packageLockFile = ./package-lock.v6.json;
};
"8" = {
version = "8.1.9";
hash = "sha256-Rs6utL5dsL2h+rpOwjbtwEyU5pRdaAWHexfOm18o6BA=";
npmDepsHash = "sha256-o3mLG0mBDIdkjusCKTSoradYlD8r4xdMyHH2HtOG9KQ=";
packageLockFile = ./package-lock.v8.json;
};
};
callLerna =
variant:
callPackage ./generic.nix {
inherit (variant)
version
hash
npmDepsHash
packageLockFile
;
};
mkLerna = versionSuffix: variant: nameValuePair "lerna_${versionSuffix}" (callLerna variant);
in
mapAttrs' mkLerna variants

View file

@ -0,0 +1,34 @@
{
lib,
buildNpmPackage,
fetchurl,
version,
hash,
npmDepsHash,
packageLockFile,
}:
buildNpmPackage rec {
pname = "lerna";
inherit version;
src = fetchurl {
url = "https://registry.npmjs.org/lerna/-/lerna-${version}.tgz";
inherit hash;
};
postPatch = ''
ln -s ${packageLockFile} package-lock.json
'';
inherit npmDepsHash;
dontNpmBuild = true;
meta = {
description = "Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository";
homepage = "https://lerna.js.org/";
changelog = "https://github.com/lerna/lerna/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ThaoTranLePhuong ];
};
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -93,6 +93,7 @@ let
koi = self.callPackage ./third-party/koi { };
krohnkite = self.callPackage ./third-party/krohnkite { };
kzones = self.callPackage ./third-party/kzones { };
wallpaper-engine-plugin = self.callPackage ./third-party/wallpaper-engine-plugin { };
}
);
in

View file

@ -0,0 +1,72 @@
{
extra-cmake-modules,
fetchFromGitHub,
kpackage,
libplasma,
lib,
lz4,
mkKdeDerivation,
mpv-unwrapped,
pkg-config,
python3,
qtbase,
qtmultimedia,
qtwebchannel,
qtwebengine,
qtwebsockets,
}:
mkKdeDerivation {
pname = "wallpaper-engine-kde-plugin";
version = "0.5.5-unstable-2024-11-03";
src = fetchFromGitHub {
owner = "catsout";
repo = "wallpaper-engine-kde-plugin";
rev = "ed58dd8b920dbb2bf0859ab64e0b5939b8a32a0e";
hash = "sha256-ICQLtw+qaOMf0lkqKegp+Dkl7eUgPqKDn8Fj5Osb7eA=";
fetchSubmodules = true;
};
patches = [ ./nix-plugin.patch ];
extraNativeBuildInputs = [
kpackage
pkg-config
(python3.withPackages (ps: with ps; [ websockets ]))
];
extraBuildInputs = [
extra-cmake-modules
libplasma
lz4
mpv-unwrapped
];
extraCmakeFlags = [
(lib.cmakeFeature "QML_LIB" (
lib.makeSearchPathOutput "out" "lib/qt-6/qml" [
qtmultimedia
qtwebchannel
qtwebengine
qtwebsockets
]
))
(lib.cmakeFeature "Qt6_DIR" "${qtbase}/lib/cmake/Qt6")
];
postInstall = ''
cd $out/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde
chmod +x ./contents/pyext.py
patchShebangs --build ./contents/pyext.py
substituteInPlace ./contents/ui/Pyext.qml \
--replace-fail NIX_STORE_PACKAGE_PATH ${placeholder "out"}
cd -
'';
meta = with lib; {
description = "KDE wallpaper plugin integrating Wallpaper Engine";
homepage = "https://github.com/catsout/wallpaper-engine-kde-plugin";
license = licenses.gpl2Only;
maintainers = with maintainers; [ macronova ];
};
}

View file

@ -0,0 +1,52 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e1298ba..1af7d0a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,7 @@ set(KF_MIN_VERSION "5.68.0")
project("WallpaperEngineKde")
+add_definitions(-DQML_LIB="${QML_LIB}")
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(NOT OpenGL_GL_PREFERENCE)
diff --git a/plugin/contents/pyext.py b/plugin/contents/pyext.py
old mode 100644
new mode 100755
diff --git a/plugin/contents/ui/Pyext.qml b/plugin/contents/ui/Pyext.qml
index 1a48f5e..7db2480 100644
--- a/plugin/contents/ui/Pyext.qml
+++ b/plugin/contents/ui/Pyext.qml
@@ -15,7 +15,8 @@ Item {
"[ -f /usr/share/$EXT ] && WKD=/usr/share/$EXT",
"[ -f \"$HOME/.local/share/$EXT\" ] && WKD=\"$HOME/.local/share/$EXT\"",
"[ -f \"$XDG_DATA_HOME/$EXT\" ] && WKD=\"$XDG_DATA_HOME/$EXT\"",
- `exec python3 "$WKD" "${ws_server.url}"`
+ "[ -f \"NIX_STORE_PACKAGE_PATH/share/$EXT\" ] && WKD=\"NIX_STORE_PACKAGE_PATH/share/$EXT\"",
+ `"$WKD" "${ws_server.url}"`
].join("\n");
return sh;
}
diff --git a/src/plugin.cpp b/src/plugin.cpp
index 4bc817e..a98cb4a 100644
--- a/src/plugin.cpp
+++ b/src/plugin.cpp
@@ -14,6 +14,18 @@ class Port : public QQmlExtensionPlugin {
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
public:
+ void initializeEngine(QQmlEngine *engine, const char *uri) override {
+ if (strcmp(uri, "com.github.catsout.wallpaperEngineKde") != 0) return;
+ if (!engine) return;
+
+ QString pathList = QML_LIB;
+ QStringList paths = pathList.split(':', Qt::SkipEmptyParts);
+ for (const QString &path : paths) {
+ engine->addImportPath(path);
+ }
+
+ QQmlExtensionPlugin::initializeEngine(engine, uri);
+ }
void registerTypes(const char* uri) override {
if (strcmp(uri, "com.github.catsout.wallpaperEngineKde") != 0) return;
qmlRegisterType<wekde::PluginInfo>(uri, WPVer[0], WPVer[1], "PluginInfo");

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rtl8821ce";
version = "${kernel.version}-unstable-2024-03-26";
version = "${kernel.version}-unstable-2025-02-08";
src = fetchFromGitHub {
owner = "tomaspinho";
repo = "rtl8821ce";
rev = "f119398d868b1a3395f40c1df2e08b57b2c882cd";
hash = "sha256-EfpKa5ZRBVM5T8EVim3cVX1PP1UM9CyG6tN5Br8zYww=";
rev = "46d1a59e37364ed4aedcb09746f0ae412e6b2066";
hash = "sha256-vQM7e8tuy4Lf2HvGtHUvOxulF4DIhX33vFel9u9i178=";
};
hardeningDisable = [ "pic" ];
@ -25,9 +25,9 @@ stdenv.mkDerivation (finalAttrs: {
prePatch = ''
substituteInPlace ./Makefile \
--replace /lib/modules/ "${kernel.dev}/lib/modules/" \
--replace /sbin/depmod \# \
--replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
--replace-fail /lib/modules/ "${kernel.dev}/lib/modules/" \
--replace-fail /sbin/depmod \# \
--replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
'';
preInstall = ''
@ -41,10 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/tomaspinho/rtl8821ce";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
hhm
defelo
];
maintainers = with lib.maintainers; [ defelo ];
broken =
stdenv.hostPlatform.isAarch64
|| ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened);

View file

@ -1,14 +1,14 @@
{ fetchFromGitHub }:
rec {
pname = "authelia";
version = "4.38.18";
version = "4.38.19";
src = fetchFromGitHub {
owner = "authelia";
repo = "authelia";
rev = "v${version}";
hash = "sha256-gJEKjplESS6wNN2cM/JYRAHm7200tMlBKs1lZi0ShiE=";
hash = "sha256-VqdSDrvsue8NqUNN5H++psxAyvvSyFNqt2U8yUXhTo8=";
};
vendorHash = "sha256-K5PunLkbcEuWL4IWbXYqgP3H5S/d5IHrWqCin//qJxw=";
pnpmDepsHash = "sha256-jkghQGWLvmL1Vxwl7v4T/H1UUN8DeaCgbc8lnUcS4nA=";
vendorHash = "sha256-NONSCqRalxZq1n0Q3fXKVXpkALkoyIl3+Fsx7Xb3M2w=";
pnpmDepsHash = "sha256-9ZqAoktMS28GTqbOsWDYUsS1H0unWSEPO0Z2b5xXV54=";
}

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "libasn1c";
version = "0.9.37";
version = "0.9.38";
src = fetchFromGitHub {
owner = "osmocom";
repo = "libasn1c";
rev = version;
hash = "sha256-st5KbAUhNFSJ0DmPFYOnNvDQ8xtTNi4t8DNYvEjt9Ns=";
hash = "sha256-cnXcUvP6WwHVvpdsIVsMkizlLyg9KMwVj8XYX/nIfic=";
};
postPatch = ''

View file

@ -11,14 +11,14 @@
stdenv.mkDerivation rec {
pname = "snac2";
version = "2.70";
version = "2.72";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "grunfink";
repo = pname;
rev = version;
hash = "sha256-i0Eh9dT4TOb05hLqsJnC5KoUwnnUVz02CNU2+bc5N2c=";
hash = "sha256-rAdbTzgjd6sZSx8TQrBQbhFjRY/4eSStrEwwCbrHefo=";
};
buildInputs = [

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "outline";
version = "0.81.1";
version = "0.82.0";
src = fetchFromGitHub {
owner = "outline";
repo = "outline";
rev = "v${version}";
hash = "sha256-P0JDkuEm5eeVwi0+C7uSytA2NPQXUgJEDxqPiJfRNvs=";
hash = "sha256-nCXyR4k/Ny0OLAE18B+GJDyOMTjt6rc375yj+d+c8zQ=";
};
nativeBuildInputs = [
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-j0mA+2GQZNxQoEi8qwmipUXGjPL4/bY5GHAT0o92Ob0=";
hash = "sha256-RDMVlSVYPGAuyOTcI2CBgaaZ5wNT7lznYb4jbirKmqk=";
};
configurePhase = ''

View file

@ -1628,7 +1628,7 @@ with pkgs;
authelia = callPackage ../servers/authelia {
buildGoModule = buildGo123Module;
pnpm = pnpm_9;
pnpm = pnpm_10;
};
authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { });
@ -4071,6 +4071,10 @@ with pkgs;
leanblueprint = with python3Packages; toPythonApplication leanblueprint;
inherit (callPackage ../development/tools/lerna { })
lerna_6 lerna_8;
lerna = lerna_8;
lethe = callPackage ../tools/security/lethe {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -6178,6 +6182,11 @@ with pkgs;
dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {});
gopro-tool = callPackage ../by-name/go/gopro-tool/package.nix {
vlc =
vlc.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ x264 ]; });
};
gwe = callPackage ../tools/misc/gwe {
nvidia_x11 = linuxPackages.nvidia_x11;
};
@ -11756,6 +11765,8 @@ with pkgs;
showoff = callPackage ../servers/http/showoff { };
stalwart-mail-webadmin = stalwart-mail.webadmin;
ruby-zoom = callPackage ../tools/text/ruby-zoom { };
inherit (callPackages ../servers/monitoring/sensu-go { })

View file

@ -87,6 +87,7 @@ let
itauto = callPackage ../development/coq-modules/itauto { };
ITree = callPackage ../development/coq-modules/ITree { };
itree-io = callPackage ../development/coq-modules/itree-io { };
jasmin = callPackage ../development/coq-modules/jasmin {};
json = callPackage ../development/coq-modules/json {};
lemma-overloading = callPackage ../development/coq-modules/lemma-overloading {};
LibHyps = callPackage ../development/coq-modules/LibHyps {};