Merge staging-next into staging
This commit is contained in:
@@ -16258,6 +16258,12 @@
|
||||
github = "M0ustach3";
|
||||
githubId = 37956764;
|
||||
};
|
||||
m1-s = {
|
||||
email = "michael@m1-s.com";
|
||||
github = "m1-s";
|
||||
githubId = 94642227;
|
||||
name = "Michael Schneider";
|
||||
};
|
||||
m1cr0man = {
|
||||
email = "lucas+nix@m1cr0man.com";
|
||||
github = "m1cr0man";
|
||||
|
||||
@@ -174,7 +174,11 @@ def generate_driver_symbols() -> None:
|
||||
vlans=[],
|
||||
global_timeout=0,
|
||||
enable_ssh_backdoor=False,
|
||||
test_script=Path("testScriptWithTypes"),
|
||||
test_script=(
|
||||
Path("testScriptWithTypes")
|
||||
if (Path("testScriptWithTypes").is_file())
|
||||
else Path("testScriptFile")
|
||||
),
|
||||
),
|
||||
out_dir=Path(),
|
||||
logger=CompositeLogger([]),
|
||||
|
||||
@@ -85,6 +85,8 @@ let
|
||||
testScriptWithTypes
|
||||
''}
|
||||
|
||||
echo -n "$testScript" > testScriptFile
|
||||
|
||||
cp "${config.driverConfiguration.test_script}" $out/test-script
|
||||
|
||||
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-test-driver
|
||||
|
||||
@@ -1833,6 +1833,7 @@
|
||||
./services/web-servers/traefik.nix
|
||||
./services/web-servers/trafficserver/default.nix
|
||||
./services/web-servers/ttyd.nix
|
||||
./services/web-servers/tusd.nix
|
||||
./services/web-servers/unit/default.nix
|
||||
./services/web-servers/uwsgi.nix
|
||||
./services/web-servers/varnish/default.nix
|
||||
|
||||
@@ -13,6 +13,12 @@ in
|
||||
options = {
|
||||
services.blueman = {
|
||||
enable = lib.mkEnableOption "blueman, a bluetooth manager";
|
||||
|
||||
withApplet = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether to spawn the Blueman tray applet.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -24,5 +30,15 @@ in
|
||||
services.dbus.packages = [ pkgs.blueman ];
|
||||
|
||||
systemd.packages = [ pkgs.blueman ];
|
||||
|
||||
systemd.user.services.blueman-applet = lib.mkIf cfg.withApplet {
|
||||
description = "Blueman tray applet";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.blueman}/bin/blueman-applet";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.tusd;
|
||||
username = "tusd";
|
||||
groupname = "tusd";
|
||||
|
||||
args = [
|
||||
"-host=${cfg.host}"
|
||||
"-port=${toString cfg.port}"
|
||||
"-base-path=${cfg.basePath}"
|
||||
"-upload-dir=${cfg.uploadDir}"
|
||||
]
|
||||
++ lib.optional cfg.behindProxy "-behind-proxy"
|
||||
++ lib.optional (cfg.maxSize != null) "-max-size=${toString cfg.maxSize}"
|
||||
++ lib.optional (cfg.networkTimeout != null) "-network-timeout=${cfg.networkTimeout}"
|
||||
++ lib.optional (cfg.hooksHttp != null) "-hooks-http=${cfg.hooksHttp}"
|
||||
++ lib.optional (
|
||||
cfg.hooksEnabledEvents != [ ]
|
||||
) "-hooks-enabled-events=${lib.concatStringsSep "," cfg.hooksEnabledEvents}"
|
||||
++ cfg.extraArgs;
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ m1-s ];
|
||||
|
||||
options.services.tusd = {
|
||||
enable = lib.mkEnableOption "tus resumable upload protocol server";
|
||||
|
||||
host = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "0.0.0.0";
|
||||
description = "The host to bind the HTTP server to.";
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 8080;
|
||||
description = "The port to bind the HTTP server to.";
|
||||
};
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to open the firewall port for tusd.";
|
||||
};
|
||||
|
||||
basePath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/files/";
|
||||
description = "The basepath of the HTTP server.";
|
||||
};
|
||||
|
||||
uploadDir = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "/var/lib/tusd/data";
|
||||
description = "The directory to store uploads in.";
|
||||
};
|
||||
|
||||
behindProxy = lib.mkEnableOption null // {
|
||||
description = "Whether to respect X-Forwarded-* and similar headers which may be set by proxies.";
|
||||
};
|
||||
|
||||
maxSize = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.int;
|
||||
default = null;
|
||||
description = "The maximum size of a single upload in bytes.";
|
||||
};
|
||||
|
||||
networkTimeout = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The timeout for reading the request and writing the response.
|
||||
If tusd does not receive data for this duration,
|
||||
it will consider the connection dead.
|
||||
'';
|
||||
example = "30s";
|
||||
};
|
||||
|
||||
hooksHttp = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = "The HTTP endpoint to which hook events will be sent to.";
|
||||
example = "http://localhost:8081/hooks";
|
||||
};
|
||||
|
||||
hooksEnabledEvents = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "The list of enabled hook events.";
|
||||
example = [
|
||||
"pre-create"
|
||||
"post-finish"
|
||||
];
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Additional arguments given to tusd.";
|
||||
example = [
|
||||
"-verbose"
|
||||
"-log-format=json"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users.${username} = {
|
||||
isSystemUser = true;
|
||||
group = groupname;
|
||||
};
|
||||
users.groups.${groupname} = { };
|
||||
|
||||
# tusd knows how to create subdirectories in this folder but we have to
|
||||
# create the root folder ourselves.
|
||||
systemd.tmpfiles.settings."tusd".${cfg.uploadDir}.d = {
|
||||
user = username;
|
||||
group = groupname;
|
||||
# default taken from https://github.com/tus/tusd/blob/55a096a10942b85360664a1e8aea7bd758272053/pkg/filestore/filestore.go#L37
|
||||
mode = "0775";
|
||||
};
|
||||
|
||||
systemd.services.tusd = {
|
||||
description = "tusd - tus resumable upload protocol server";
|
||||
documentation = [ "https://github.com/tus/tusd" ];
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
User = username;
|
||||
Group = groupname;
|
||||
|
||||
ExecStart = lib.escapeShellArgs ([ (lib.getExe pkgs.tusd) ] ++ args);
|
||||
Restart = "on-failure";
|
||||
|
||||
StateDirectory = "tusd";
|
||||
|
||||
# Hardening
|
||||
LockPersonality = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHostUserNamespaces = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.port;
|
||||
};
|
||||
}
|
||||
+36
-24
@@ -3,21 +3,21 @@
|
||||
let
|
||||
grpcPort = 19090;
|
||||
queryPort = 9090;
|
||||
minioPort = 9000;
|
||||
garagePort = 9000;
|
||||
pushgwPort = 9091;
|
||||
frontPort = 9092;
|
||||
|
||||
s3 = {
|
||||
accessKey = "BKIKJAA5BMMU2RHO6IBB";
|
||||
secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
|
||||
accessKey = "GKaaaaaaaaaaaaaaaaaaaaaaaa";
|
||||
secretKey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
||||
};
|
||||
|
||||
objstore.config = {
|
||||
type = "S3";
|
||||
config = {
|
||||
bucket = "thanos-bucket";
|
||||
endpoint = "s3:${toString minioPort}";
|
||||
region = "us-east-1";
|
||||
endpoint = "garage:${toString garagePort}";
|
||||
region = "garage";
|
||||
access_key = s3.accessKey;
|
||||
secret_key = s3.secretKey;
|
||||
insecure = true;
|
||||
@@ -139,14 +139,14 @@ in
|
||||
environment.systemPackages = [ pkgs.yq ];
|
||||
|
||||
# This configuration just adds a new prometheus job
|
||||
# to scrape the node_exporter metrics of the s3 machine.
|
||||
# to scrape the node_exporter metrics of the garage machine.
|
||||
services.prometheus = {
|
||||
scrapeConfigs = [
|
||||
{
|
||||
job_name = "s3-node_exporter";
|
||||
job_name = "garage-node_exporter";
|
||||
static_configs = [
|
||||
{
|
||||
targets = [ "s3:9100" ];
|
||||
targets = [ "garage:9100" ];
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -207,21 +207,30 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
s3 =
|
||||
garage =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Minio requires at least 1GiB of free disk space to run.
|
||||
# Garage requires at least 1GiB of free disk space to run.
|
||||
virtualisation = {
|
||||
diskSize = 2 * 1024;
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ minioPort ];
|
||||
networking.firewall.allowedTCPPorts = [ garagePort ];
|
||||
|
||||
services.minio = {
|
||||
services.garage = {
|
||||
enable = true;
|
||||
inherit (s3) accessKey secretKey;
|
||||
};
|
||||
package = pkgs.garage_2;
|
||||
settings = {
|
||||
rpc_bind_addr = "127.0.0.1:3901";
|
||||
rpc_public_addr = "127.0.0.1:3901";
|
||||
rpc_secret = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
|
||||
replication_factor = 1;
|
||||
|
||||
environment.systemPackages = [ pkgs.minio-client ];
|
||||
s3_api = {
|
||||
s3_region = "garage";
|
||||
api_bind_addr = "0.0.0.0:${toString garagePort}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.prometheus.exporters.node = {
|
||||
enable = true;
|
||||
@@ -235,17 +244,20 @@ in
|
||||
''
|
||||
# Before starting the other machines we first make sure that our S3 service is online
|
||||
# and has a bucket added for thanos:
|
||||
s3.start()
|
||||
s3.wait_for_unit("minio.service")
|
||||
s3.wait_for_open_port(${toString minioPort})
|
||||
s3.succeed(
|
||||
"mc alias set minio "
|
||||
+ "http://localhost:${toString minioPort} "
|
||||
+ "${s3.accessKey} ${s3.secretKey} --api s3v4",
|
||||
"mc mb minio/thanos-bucket",
|
||||
garage.start()
|
||||
garage.wait_for_unit("garage.service")
|
||||
garage.wait_for_open_port(3901)
|
||||
garage_node_id = garage.succeed("garage status | tail -n1 | awk '{ print $1 }'")
|
||||
garage.succeed(
|
||||
f"garage layout assign -c 100MB -z garage {garage_node_id}",
|
||||
"garage layout apply --version 1",
|
||||
"garage key import ${s3.accessKey} ${s3.secretKey} --yes",
|
||||
"garage bucket create thanos-bucket",
|
||||
"garage bucket allow --read --write --owner thanos-bucket --key ${s3.accessKey}",
|
||||
)
|
||||
garage.wait_for_open_port(${toString garagePort})
|
||||
|
||||
# Now that s3 has started we can start the other machines:
|
||||
# Now that the S3 service has started we can start the other machines:
|
||||
for machine in prometheus, query, store:
|
||||
machine.start()
|
||||
|
||||
|
||||
@@ -2,37 +2,28 @@
|
||||
|
||||
let
|
||||
port = 1080;
|
||||
|
||||
client =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.curl ];
|
||||
};
|
||||
|
||||
server =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# tusd does not have a NixOS service yet.
|
||||
systemd.services.tusd = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''${pkgs.tusd}/bin/tusd -port "${toString port}" -upload-dir=/data'';
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ port ];
|
||||
};
|
||||
uploadDir = "/var/lib/tusd/data";
|
||||
in
|
||||
{
|
||||
name = "tusd";
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
m1-s
|
||||
nh2
|
||||
kalbasit
|
||||
];
|
||||
|
||||
nodes = {
|
||||
inherit server;
|
||||
inherit client;
|
||||
client = {
|
||||
environment.systemPackages = [ pkgs.curl ];
|
||||
};
|
||||
|
||||
server = {
|
||||
services.tusd = {
|
||||
enable = true;
|
||||
inherit port uploadDir;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
@@ -46,6 +37,9 @@ in
|
||||
client.wait_for_unit("network.target")
|
||||
client.succeed("${./tus-curl-upload.sh} file-100M.bin http://server:${toString port}/files/")
|
||||
|
||||
# Verify file was created in uploadDir
|
||||
server.succeed("test -n \"$(ls -A ${uploadDir})\"")
|
||||
|
||||
print("Upload succeeded")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.1.112";
|
||||
hash = "sha256-ILNV8wZXgN+JmcoVqMn7NitdgBjEIqTHvWbE2D2WWn4=";
|
||||
version = "2.1.114";
|
||||
hash = "sha256-rcEbeYsyhbhh5wj6Mo3kz2+K3uZe5XMBKpwmSaB9Pgc=";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "google";
|
||||
name = "colab";
|
||||
version = "0.7.3";
|
||||
hash = "sha256-+YhPF2SMOIA95VMiew/tiCf//xqGgmJyW7Bpn39geJ8=";
|
||||
version = "0.8.0";
|
||||
hash = "sha256-bkZCDBWiHdj3bKEdj2bVNUY84SkAMHi7PwZuUnhyR+0=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "prboom";
|
||||
version = "0-unstable-2026-04-10";
|
||||
version = "0-unstable-2026-04-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-prboom";
|
||||
rev = "79d35037b742532e273b82088efad9c5c0af8a6d";
|
||||
hash = "sha256-BR1orEzjT8NQF59uPfHt6WlXwb23bDRnUV8F2itc/HM=";
|
||||
rev = "c834221f61e4efa43525392cf778b6475467f236";
|
||||
hash = "sha256-mESKZiiCIbbAzn7tFeofWARHSZ+MyEYTIa04FGxOMlA=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -1076,11 +1076,11 @@
|
||||
"vendorHash": "sha256-F1AuO/dkldEDRvkwrbq2EjByxjg3K2rohZAM4DzKPUw="
|
||||
},
|
||||
"pagerduty_pagerduty": {
|
||||
"hash": "sha256-Pvx0Fn+NpY+C/U2kUGImoJrglQooWht3eE2pdN/XVCw=",
|
||||
"hash": "sha256-w5FNU3HYIrplFyyw3V6RpJ6exW83F+u/CRdr9htbuxs=",
|
||||
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
|
||||
"owner": "PagerDuty",
|
||||
"repo": "terraform-provider-pagerduty",
|
||||
"rev": "v3.32.1",
|
||||
"rev": "v3.32.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "bootdev-cli";
|
||||
version = "1.26.0";
|
||||
version = "1.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootdotdev";
|
||||
repo = "bootdev";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hr8mqnX4mv6P8WpXCpP678lLUaanUu6X4jL5GJeBdzo=";
|
||||
hash = "sha256-i1U1AsFB/z3h/Aj+YSrfi/U1GWUyawfuL2zJiCWWPgI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ZDioEU5uPCkd+kC83cLlpgzyOsnpj2S7N+lQgsQb8uY=";
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
{
|
||||
"version": "2.1.112",
|
||||
"buildDate": "2026-04-16T18:39:33Z",
|
||||
"version": "2.1.114",
|
||||
"buildDate": "2026-04-17T22:43:08Z",
|
||||
"platforms": {
|
||||
"darwin-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "b05381f382754012b95984016000f7062a2f127a6a3a843afc37ebd7d4672340",
|
||||
"size": 203956832
|
||||
"checksum": "bf1b4da368da7970f0d1d4a1675acea99b6f2ad94f24e9f8ccfcc7940ac67894",
|
||||
"size": 204534752
|
||||
},
|
||||
"darwin-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "a2a7fea41acee4c889b30132dd490ac00b1cb86c6e25755a224d91b1cba97734",
|
||||
"size": 205442640
|
||||
"checksum": "1a30360b6240056a58ba9187c8f9d2e88e949e0f970d5cf81f8d69bc65568f6a",
|
||||
"size": 206004048
|
||||
},
|
||||
"linux-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "1015ef5747767cdac58376de4ec990253dcac49314d54e19750d5512fa7422f6",
|
||||
"size": 236128832
|
||||
"checksum": "9556b74e2c912e7dcaef90c91fd0dd5095364f8a9d71398de3c5c669612b828a",
|
||||
"size": 236653120
|
||||
},
|
||||
"linux-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "57be9406d3e5cae259552790bf7288dd6496675430ec93dbed76a33a57580d3d",
|
||||
"size": 235846272
|
||||
"checksum": "12bd4b0916deb06be17ffc7b2f0485e140bf00b2db3dcb78469d66723d73c27f",
|
||||
"size": 236411520
|
||||
},
|
||||
"linux-arm64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "dcf16fc8ab6e4b504af6c66d5e5afc113a9a5da2a9d7e555cac0b301873a84f6",
|
||||
"size": 228854208
|
||||
"checksum": "20c68c312e76fb81f52cd2006b1461a0eedd470798f44b9b4a833ad583ccc05b",
|
||||
"size": 229378496
|
||||
},
|
||||
"linux-x64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "4b629f61a1e280a5e3c22bad8e1ea3118f4aebcde7e6754f18331c500e5b3fe0",
|
||||
"size": 230111680
|
||||
"checksum": "fbbcfa225e948d9263c39f8be29a956ea4bd3a445f79aa9396cdc3263ea05690",
|
||||
"size": 230676928
|
||||
},
|
||||
"win32-x64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "7eb4916245c797f89ae7905c4cd211429264ec38b1b8164b7babdfa7746eb839",
|
||||
"size": 245424288
|
||||
"checksum": "6f4a961ea8a1d656c41dd71cbef202cb71d13c443f86818c721167c33f8a51fd",
|
||||
"size": 245966496
|
||||
},
|
||||
"win32-arm64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "79336ca966d89d844eb8b198b8423cd8f75e0407d16359c1b492cc9decbbc999",
|
||||
"size": 242155680
|
||||
"checksum": "acdc5b7004491662f10622124c509b018a6a6c5566adf3e217f2dd4dad64ef34",
|
||||
"size": 242697888
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "datafusion-cli";
|
||||
version = "53.0.0";
|
||||
version = "53.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "datafusion-cli-source";
|
||||
owner = "apache";
|
||||
repo = "datafusion";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DYNKYE8+rh/hkHpWnBl9C7licTst7WxNOV812vPXiQs=";
|
||||
hash = "sha256-XEcZShliF3hNCszaAEWq2+3g86TRhG3/EEQ1Y2v1DiQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-bMa8bcvD12lLf7/Kj0rcaFbzOa8nlTWkVsVzMbdRCXw=";
|
||||
cargoHash = "sha256-IajrZse8YJJGskdX0Zo4IVdGj/jEGzF9tgj3g4nvXRo=";
|
||||
|
||||
buildAndTestSubdir = "datafusion-cli";
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "dvr-scan";
|
||||
version = "1.8.2";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Breakthrough";
|
||||
repo = "DVR-Scan";
|
||||
tag = "v${version}-release";
|
||||
hash = "sha256-+1liOZu8360aQlNwWaJXJQS/0POT9bTcIUkDg/v4lxU=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
numpy
|
||||
opencv-contrib-python
|
||||
pillow
|
||||
platformdirs
|
||||
scenedetect
|
||||
screeninfo
|
||||
tqdm
|
||||
|
||||
# GUI application
|
||||
tkinter
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"opencv-contrib-python"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# frame number mismatches with opencv 4.13+ (upstream issue #257)
|
||||
"test_pre_event_shift_with_frame_skip"
|
||||
"test_start_end_time"
|
||||
"test_start_duration"
|
||||
"test_default"
|
||||
"test_concatenate"
|
||||
"test_scan_only"
|
||||
"test_quiet_mode"
|
||||
"test_config_file"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Find and extract motion events in videos";
|
||||
longDescription = ''
|
||||
Command-line application that automatically detects motion events in video files (e.g. security camera footage). DVR-Scan looks for areas in footage containing motion, and saves each event to a separate video clip. DVR-Scan is free and open-source software, and works on Windows, Linux, and Mac.
|
||||
'';
|
||||
homepage = "https://www.dvr-scan.com";
|
||||
changelog = "https://github.com/Breakthrough/DVR-Scan/releases/tag/v${version}-release";
|
||||
mainProgram = "dvr-scan";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ DataHearth ];
|
||||
};
|
||||
}
|
||||
@@ -11,11 +11,11 @@ proton-ge-bin.overrideAttrs (
|
||||
inherit steamDisplayName;
|
||||
|
||||
pname = "dwproton-bin";
|
||||
version = "dwproton-10.0-23";
|
||||
version = "dwproton-10.0-24";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dawn.wine/dawn-winery/dwproton/releases/download/${finalAttrs.version}/${finalAttrs.version}-x86_64.tar.xz";
|
||||
hash = "sha256-XqXXxsTekvTUNsykpWu4vbZ4Mi+2tMR57zngaOt+3gQ=";
|
||||
hash = "sha256-3mfJGi2pUwPgWNZCvGD1SNHghS2HThX5Y7TrnJaEYvw=";
|
||||
};
|
||||
|
||||
passthru.updateScript = writeScript "update-dwproton" ''
|
||||
|
||||
@@ -1,24 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
openssl,
|
||||
emmylua-ls,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "emmylua_check";
|
||||
version = "0.21.0";
|
||||
inherit (emmylua-ls) version src;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmmyLuaLs";
|
||||
repo = "emmylua-analyzer-rust";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-2H/8ILVk5QnLe099a25pzMEqJLRFDxMG/fQ3f5UwgmI=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
# Needed to get openssl-sys to use pkg-config.
|
||||
env.OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
buildAndTestSubdir = "crates/emmylua_check";
|
||||
|
||||
cargoHash = "sha256-QdL4KtQ4sJUaviqMzxmC1KW4Qy5wO7c5koy0Pl8Eua0=";
|
||||
cargoHash = "sha256-JNirHIKXFsiLme5oByerHjB/3lumuAr2u3pNfxh4qa0=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
emmylua-ls,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "emmylua_doc_cli";
|
||||
version = "0.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmmyLuaLs";
|
||||
repo = "emmylua-analyzer-rust";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Zj5nLeTH/4sVElYP+erg6bSTX8jFqF7sqiXfaMam8pE=";
|
||||
};
|
||||
inherit (emmylua-ls) version src;
|
||||
|
||||
buildAndTestSubdir = "crates/emmylua_doc_cli";
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
openssl,
|
||||
pkg-config,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
@@ -7,18 +9,29 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "emmylua_ls";
|
||||
version = "0.21.0";
|
||||
version = "0.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmmyLuaLs";
|
||||
repo = "emmylua-analyzer-rust";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-2H/8ILVk5QnLe099a25pzMEqJLRFDxMG/fQ3f5UwgmI=";
|
||||
hash = "sha256-Zj5nLeTH/4sVElYP+erg6bSTX8jFqF7sqiXfaMam8pE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
# Needed to get openssl-sys to use pkg-config.
|
||||
env.OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
buildAndTestSubdir = "crates/emmylua_ls";
|
||||
|
||||
cargoHash = "sha256-QdL4KtQ4sJUaviqMzxmC1KW4Qy5wO7c5koy0Pl8Eua0=";
|
||||
cargoHash = "sha256-JNirHIKXFsiLme5oByerHjB/3lumuAr2u3pNfxh4qa0=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -26,6 +26,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs-slim
|
||||
nodejs-slim.npm
|
||||
nodejs-slim.python
|
||||
buildPackages.npmHooks.npmConfigHook
|
||||
php84.packages.composer
|
||||
|
||||
@@ -49,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
yarnBuildHook
|
||||
yarnInstallHook
|
||||
nodejs
|
||||
nodejs.npm
|
||||
(nodejs.python.withPackages (ps: [ ps.setuptools ]))
|
||||
pkg-config
|
||||
];
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
copyDesktopItems,
|
||||
fetchFromGitHub,
|
||||
libGL,
|
||||
makeDesktopItem,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
sdl3,
|
||||
versionCheckHook,
|
||||
}:
|
||||
let
|
||||
inherit (stdenv.targetPlatform) isLinux isDarwin;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gearboy";
|
||||
version = "3.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drhelius";
|
||||
repo = "Gearboy";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JgvTt/nUV2CiSJNC3NnKpoa28xAMhRxEh9txqE9FPzU=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
buildInputs = [
|
||||
libGL
|
||||
sdl3
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optional isLinux copyDesktopItems
|
||||
++ lib.optional isDarwin makeWrapper;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace platforms/shared/makefiles/Makefile.common \
|
||||
--replace-fail 'GIT_VERSION := $(shell git describe --abbrev=7 --dirty --always --tags)' \
|
||||
'GIT_VERSION := ${finalAttrs.version}'
|
||||
''
|
||||
# point the Linux binary to the `$out/opt/gearboy` location
|
||||
+ lib.optionalString isLinux ''
|
||||
substituteInPlace platforms/shared/desktop/gamepad.cpp \
|
||||
--replace-fail 'db_path = std::string(exe_path) + "/gamecontrollerdb.txt";' \
|
||||
'db_path = std::string(exe_path) + "/../opt/gearboy/gamecontrollerdb.txt";'
|
||||
'';
|
||||
|
||||
makeFlags =
|
||||
lib.optional isLinux "-Cplatforms/linux"
|
||||
++ lib.optional isDarwin "-Cplatforms/macos"
|
||||
++ lib.optional stdenv.cc.isClang "USE_CLANG=1";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
desktopItems = lib.optionals isLinux [
|
||||
(makeDesktopItem {
|
||||
type = "Application";
|
||||
name = "Gearboy";
|
||||
desktopName = "Gearboy";
|
||||
genericName = "Game Boy Emulator";
|
||||
comment = finalAttrs.meta.description;
|
||||
exec = finalAttrs.meta.mainProgram;
|
||||
categories = [
|
||||
"Game"
|
||||
"Emulator"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
''
|
||||
+ lib.optionalString isLinux ''
|
||||
install -Dm755 platforms/linux/gearboy -t $out/bin
|
||||
install -Dm644 platforms/shared/gamecontrollerdb.txt -t $out/opt/gearboy
|
||||
''
|
||||
+ lib.optionalString isDarwin ''
|
||||
# create the Gearboy.app bundle
|
||||
make $makeFlags bundle
|
||||
|
||||
mkdir -p $out/{bin,Applications}
|
||||
cp -r platforms/macos/Gearboy.app $out/Applications/Gearboy.app
|
||||
|
||||
# using makeWrapper rather than a link, to have the `db_path` work in both
|
||||
# the $out/bin binary and the App
|
||||
makeWrapper $out/Applications/Gearboy.app/Contents/MacOS/gearboy $out/bin/gearboy
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Game Boy/Game Boy Color/Super Game Boy emulator, debugger and embedded MCP server for macOS, Windows, Linux, BSD and RetroArch";
|
||||
homepage = "https://github.com/drhelius/Gearboy";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = [ lib.maintainers.nekowinston ];
|
||||
mainProgram = "gearboy";
|
||||
};
|
||||
})
|
||||
@@ -9,6 +9,7 @@
|
||||
gettext,
|
||||
itstool,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
libxml2,
|
||||
gtk4,
|
||||
@@ -34,6 +35,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-3fTNLt2hNcQcivaPnAzc2dmpFjy59/jijKLI6B/Ydlc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix tests with GNU MPC 1.4.0
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-calculator/-/commit/c9bf69ce3688390a584ca7571ea5fcda5aea8863.patch";
|
||||
hash = "sha256-FoV6SUprVdNcRORpoi+bNMTjzMM8bmXuze+6C9lqF8E=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
blueprint-compiler
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hl-log-viewer";
|
||||
version = "0.35.3";
|
||||
version = "0.36.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pamburus";
|
||||
repo = "hl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-eEILIQ24QG2zAafex9dGQxQyXB6W8QVgqST3nL9hsI0=";
|
||||
hash = "sha256-28R9WcKcAzw966vYD32R9z7ZN/6WlzPjaCmuR3b7a90=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-KPI5rDDbc9WY/S1axMPPCN7ltkwg8W+9Zwm4EiNBZ+k=";
|
||||
cargoHash = "sha256-dQTc8pwO49Meq3jkIvardEIDYZ3r4Z41uZiAymT6RWM=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
git,
|
||||
lib,
|
||||
libgit2,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "knope";
|
||||
version = "0.22.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "knope-dev";
|
||||
repo = "knope";
|
||||
tag = "knope/v${finalAttrs.version}";
|
||||
hash = "sha256-2lZhetmctKSfLXd7jvepm1+Vc0db1teryx6tehEHCJM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-L7IT7nWinyWiuIwlBmGmHDyKB+o3LJBanHVFRQpWB+c=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ libgit2 ];
|
||||
|
||||
env.LIBGIT2_NO_VENDOR = 1;
|
||||
|
||||
nativeCheckInputs = [ git ];
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
__structuredAttrs = true;
|
||||
doInstallCheck = true;
|
||||
strictDeps = true;
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"knope/v(.*)"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/knope-dev/knope/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
description = "Automation for changelogs and releases using conventional commits and/or changesets";
|
||||
homepage = "https://knope.tech/";
|
||||
mainProgram = "knope";
|
||||
maintainers = with lib.maintainers; [ mdaniels5757 ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
})
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lean4";
|
||||
version = "4.29.0";
|
||||
version = "4.29.1";
|
||||
|
||||
# Using a vendored version rather than nixpkgs' version to match the exact version required by
|
||||
# Lean. Apparently, even a slight version change can impact greatly the final performance.
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "leanprover";
|
||||
repo = "lean4";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0v4OTrCLdHBbWJUq7hIjJonqget9SvsG3izGlOwhwyU=";
|
||||
hash = "sha256-pdhRPjSic2H8zPJXLmyfN8umKDoafjmSo4OQSRxIbyE=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
|
||||
@@ -26,6 +26,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sha256 = "15rvrnszdy3db8s0dmb696l4isb3x2cpj7wcl4j09pdi59pc8p37";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace include/types.h \
|
||||
--replace-fail "typedef unsigned char bool;" ""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-alsa=${lib.getLib alsa-lib}/lib/libasound.so"
|
||||
"--with-pulse=${lib.getLib libpulseaudio}/lib/libpulse.so"
|
||||
|
||||
@@ -10,23 +10,23 @@
|
||||
|
||||
let
|
||||
pname = "osu-lazer-bin";
|
||||
version = "2026.406.0";
|
||||
version = "2026.418.0";
|
||||
|
||||
src =
|
||||
{
|
||||
aarch64-darwin = fetchzip {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Apple.Silicon.zip";
|
||||
hash = "sha256-cFSTxS6L/JHyuoOTlvov0J6vD8mNE0EhLXQok66+4zk=";
|
||||
hash = "sha256-zJRKgFbaXdXD8INiaDDemlNfVilTAyUEjkPNVF5H85Q=";
|
||||
stripRoot = false;
|
||||
};
|
||||
x86_64-darwin = fetchzip {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.app.Intel.zip";
|
||||
hash = "sha256-DTQ+2BRK3tu0H4xOwJel2bgs8U5fk2EZSuAYyloXSPU=";
|
||||
hash = "sha256-vUXvmfZd/dh4rzwcNgrVDnlrZxoJsBrjYt35hNz/WYw=";
|
||||
stripRoot = false;
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/ppy/osu/releases/download/${version}-lazer/osu.AppImage";
|
||||
hash = "sha256-RKKhf193BYF7dYL1x4gF2+Kl2xHuWZ/WMYBk4M/x8S0=";
|
||||
hash = "sha256-51zjZ7OxftIKl21d2xCjUhaQMtwyQK6vEGRPTXnqjXU=";
|
||||
};
|
||||
}
|
||||
.${stdenvNoCC.system} or (throw "osu-lazer-bin: ${stdenvNoCC.system} is unsupported.");
|
||||
|
||||
Generated
+6
-6
@@ -6,8 +6,8 @@
|
||||
},
|
||||
{
|
||||
"pname": "CodeFileSanity",
|
||||
"version": "0.0.37",
|
||||
"hash": "sha256-+BoA4FdDUfeREdc42xbnonh3IBLOjzyrrBosaswbSg4="
|
||||
"version": "0.0.41",
|
||||
"hash": "sha256-DJ0FeoxkwsywOl/yms1l2IW1YeHm6T3H7IMIMx3kksg="
|
||||
},
|
||||
{
|
||||
"pname": "DiffPlex",
|
||||
@@ -616,8 +616,8 @@
|
||||
},
|
||||
{
|
||||
"pname": "ppy.osu.Framework",
|
||||
"version": "2026.318.0",
|
||||
"hash": "sha256-LKRgb7Qiuap13zPB14+StllK52Oz/VN35bGnymqek4s="
|
||||
"version": "2026.416.0",
|
||||
"hash": "sha256-moHhHajj0WlcA0hHdLTw4MoKLdnHJdw8+EhSrCcbUVY="
|
||||
},
|
||||
{
|
||||
"pname": "ppy.osu.Framework.NativeLibs",
|
||||
@@ -631,8 +631,8 @@
|
||||
},
|
||||
{
|
||||
"pname": "ppy.osu.Game.Resources",
|
||||
"version": "2026.404.0",
|
||||
"hash": "sha256-ZMWNLcxY3WqfsYomDAQKBU7X179tkdMV1LdUk5jilxU="
|
||||
"version": "2026.411.0",
|
||||
"hash": "sha256-cc4GkPDnw22X2fPKSyULCflgvxS4cLqzx45j+KrZuiI="
|
||||
},
|
||||
{
|
||||
"pname": "ppy.osuTK.NS20",
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "osu-lazer";
|
||||
version = "2026.406.0";
|
||||
version = "2026.418.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ppy";
|
||||
repo = "osu";
|
||||
tag = "${version}-lazer";
|
||||
hash = "sha256-3Wg6BzMoP2BR5XAmdZgl3+Kt9YOFb+k3Qceh2hh9or8=";
|
||||
hash = "sha256-0l0MlfCyO81X/Rpjhjc9WyxdhEhTLZcqRSOgYSaK6wk=";
|
||||
};
|
||||
|
||||
projectFile = "osu.Desktop/osu.Desktop.csproj";
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "praat";
|
||||
version = "6.4.62";
|
||||
version = "6.4.63";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praat";
|
||||
repo = "praat.github.io";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AyjCbTKPj3OemJCr3aTAtQhwnXFTA/EGcbBwARMIiWU=";
|
||||
hash = "sha256-96fw5WRk1/zex65hcRdmx0wq2FTVett3FRDPhmsZr6g=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -16,20 +16,20 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
version = "2026.1.0";
|
||||
version = "2026.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-oSqeqVQ/L6DBI2ZP0h+qz2QBB4evt7V99tLMTkXvAic=";
|
||||
hash = "sha256-qkItCF7MOtJQ8NKdB9ImIRKP8g+dzjddElUC4RvLW+s=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Conference planning tool: CfP, scheduling, speaker management";
|
||||
mainProgram = "pretalx-manage";
|
||||
homepage = "https://github.com/pretalx/pretalx";
|
||||
changelog = "https://docs.pretalx.org/changelog/#${version}";
|
||||
changelog = "https://docs.pretalx.org/changelog/v${version}/";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
hexa
|
||||
|
||||
@@ -63,6 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
nodejs
|
||||
nodejs.npm
|
||||
(nodejs.python.withPackages (ps: [ ps.setuptools ]))
|
||||
pkg-config
|
||||
yarnConfigHook
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "sdl_gamecontrollerdb";
|
||||
version = "0-unstable-2026-04-10";
|
||||
version = "0-unstable-2026-04-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mdqinc";
|
||||
repo = "SDL_GameControllerDB";
|
||||
rev = "bd4ef5de42d50480c5be6bd54de164140a62f384";
|
||||
hash = "sha256-mJB51qS3U0nyjhi+CzOJmRExG7jP3IlhYvABHilcaOA=";
|
||||
rev = "c6062ec4b92254aced84843d94d379410774d907";
|
||||
hash = "sha256-81HGyyPjMBgBpPk3Ws2r6KR/On7fmSlNtPleN6jKNf0=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
@@ -34,6 +34,7 @@ buildGoModule (finalAttrs: {
|
||||
description = "Reference server implementation in Go of tus: the open protocol for resumable file uploads";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://tus.io/";
|
||||
mainProgram = "tusd";
|
||||
maintainers = with lib.maintainers; [
|
||||
nh2
|
||||
kalbasit
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
electron,
|
||||
jq,
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
desktopToDarwinBundle,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "twine";
|
||||
version = "2.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "klembot";
|
||||
repo = "twinejs";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-+y25XxTRxmCKjNL74Wb3hgAkw8yQNznYNzTuDL3uIvg=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-9gMdbFibt6RwMxEsBAQE7nM0rfE7PqgUxTs87+g0Ok8=";
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
env.PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
|
||||
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
npm run build:web
|
||||
npm run build:electron-main
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
files="$(node -e 'process.stdout.write(require("./electron-builder.config.js").files.join(" "))')"
|
||||
packageJson="$(jq -s '.[0] * .[1]' package.json <(node -e 'process.stdout.write(JSON.stringify(require("./electron-builder.config.js").extraMetadata))'))"
|
||||
|
||||
# so that dev dependencies will not be installed
|
||||
npm prune --production
|
||||
|
||||
phome="$out/lib/node_modules/$(jq -r .name package.json)"
|
||||
mkdir -p "$phome"
|
||||
tar -cf - --wildcards $files | tar -C "$phome" -xf -
|
||||
echo "$packageJson" > "$phome/package.json"
|
||||
|
||||
makeWrapper ${lib.getExe electron} $out/bin/twine \
|
||||
--add-flags "$phome" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
|
||||
--set ELECTRON_FORCE_IS_PACKAGED 1 \
|
||||
--inherit-argv0
|
||||
|
||||
install -Dm644 icons/app-pwa.svg $out/share/icons/hicolor/scalable/apps/twine.svg
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "twine";
|
||||
desktopName = "Twine";
|
||||
comment = finalAttrs.meta.description;
|
||||
exec = "twine %U";
|
||||
icon = "twine";
|
||||
categories = [ "Development" ];
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Open-source tool for telling interactive, nonlinear stories";
|
||||
homepage = "https://twinery.org";
|
||||
changelog = "https://github.com/klembot/twinejs/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ ulysseszhan ];
|
||||
platforms = electron.meta.platforms;
|
||||
mainProgram = "twine";
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
lib,
|
||||
copyDesktopItems,
|
||||
fetchFromGitHub,
|
||||
fftw,
|
||||
glib,
|
||||
gtk4-layer-shell,
|
||||
gtksourceview5,
|
||||
installShellFiles,
|
||||
libpulseaudio,
|
||||
libxkbcommon,
|
||||
makeDesktopItem,
|
||||
nix-update-script,
|
||||
pipewire,
|
||||
pixman,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
stdenv,
|
||||
udev,
|
||||
wrapGAppsHook4,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "wayle";
|
||||
version = "0.2.1";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wayle-rs";
|
||||
repo = "wayle";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-YzDrvCTPuCOCkq0A79IHP+LYZ7ev3IpmWkk6sHuwDts=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-KYYuB2TsHmHqYDXggWbj6HI0iZ0bepdMVDSQcocfXj4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
glib
|
||||
installShellFiles
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4-layer-shell.dev
|
||||
gtksourceview5
|
||||
# Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
|
||||
libxkbcommon.dev
|
||||
pixman
|
||||
udev
|
||||
|
||||
# for generating libcava bindings
|
||||
fftw.dev
|
||||
libpulseaudio
|
||||
pipewire.dev
|
||||
];
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--bin=wayle"
|
||||
"--bin=wayle-settings"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
checkFlags = [
|
||||
# GTK4 failed to initialize (requires GUI?)
|
||||
"--skip=tests::css_loads_into_gtk4"
|
||||
];
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p "$out/share/icons/hicolor/scalable/apps"
|
||||
cp -r resources/icons "$out/share"
|
||||
cp resources/wayle-settings.svg "$out/share/icons/hicolor/scalable/apps"
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||
# bash
|
||||
''
|
||||
installShellCompletion --cmd wayle \
|
||||
--bash <($out/bin/wayle completions bash) \
|
||||
--fish <($out/bin/wayle completions fish) \
|
||||
--zsh <($out/bin/wayle completions zsh)
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# so wayle could access wayle-settings binary
|
||||
gappsWrapperArgs+=( --suffix PATH : $out/bin )
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "com.wayle.settings.desktop";
|
||||
type = "Application";
|
||||
desktopName = "Wayle Settings";
|
||||
genericName = "Shell Settings";
|
||||
comment = "Configure the Wayle desktop shell";
|
||||
exec = "wayle-settings";
|
||||
icon = "wayle-settings";
|
||||
terminal = false;
|
||||
categories = [
|
||||
"Settings"
|
||||
"DesktopSettings"
|
||||
"GTK"
|
||||
];
|
||||
keywords = [
|
||||
"wayle"
|
||||
"settings"
|
||||
"shell"
|
||||
"bar"
|
||||
"wayland"
|
||||
"config"
|
||||
];
|
||||
startupNotify = true;
|
||||
startupWMClass = "com.wayle.settings";
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Wayland Elements - A compositor agnostic shell with extensive customization";
|
||||
homepage = "https://github.com/wayle-rs/wayle/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ PerchunPak ];
|
||||
mainProgram = "wayle";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -36,6 +36,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preConfigure = ''
|
||||
sed -e 's/getline/my_getline/' -i score.c
|
||||
sed -e 's/getpass/my_getpass/' -i externs.h display.c
|
||||
# gcc15
|
||||
sed -e 's/Score(_false_)/Score()/g' -i main.c
|
||||
|
||||
chmod a+rw config.h
|
||||
cat >>config.h <<EOF
|
||||
|
||||
@@ -10,13 +10,13 @@ let
|
||||
{ directory, meta }:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "open-relay-${name}";
|
||||
version = "2026-02-08";
|
||||
version = "2026-04-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kreativekorp";
|
||||
repo = "open-relay";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-2vgpzbiNuGd8p8fnvt8OTY28bVnoKtFj0TXjaOBFids=";
|
||||
hash = "sha256-UI3JP/5Os7xWB07dwlEpWuDMG1awpsOr0itmZpxGtyg=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
lib,
|
||||
aiosendspin,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
mpris-api,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aiosendspin-mpris";
|
||||
version = "2.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abmantis";
|
||||
repo = "aiosendspin-mpris";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hOF6rTm0pppk+J7tTVaLDK5C1ofGXz1YU6RVGm92geQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
aiosendspin
|
||||
mpris-api
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aiosendspin_mpris" ];
|
||||
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "MPRIS integration for aiosendspin";
|
||||
homepage = "https://github.com/abmantis/aiosendspin-mpris";
|
||||
changelog = "https://github.com/abmantis/aiosendspin-mpris/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -28,7 +28,7 @@
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "aiosendspin";
|
||||
version = "4.4.0";
|
||||
pyproject = true;
|
||||
@@ -36,14 +36,14 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "Sendspin";
|
||||
repo = "aiosendspin";
|
||||
tag = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-7edFCGNbECW5rrTbF7vJ4lJUc2IrQZD9VTR3IxJRP08=";
|
||||
};
|
||||
|
||||
# https://github.com/Sendspin/aiosendspin/blob/4.4.0/pyproject.toml#L7
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail 'version = "0.0.0"' 'version = "${version}"'
|
||||
--replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"'
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
@@ -79,10 +79,10 @@ buildPythonPackage rec {
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/Sendspin/aiosendspin/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/Sendspin/aiosendspin/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "Async Python library implementing the Sendspin Protocol";
|
||||
homepage = "https://github.com/Sendspin/aiosendspin";
|
||||
license = lib.licenses.asl20;
|
||||
inherit (music-assistant.meta) maintainers;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,26 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
cacert,
|
||||
cryptography,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
pytestCheckHook,
|
||||
pytest-mock,
|
||||
six,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "cert-chain-resolver";
|
||||
version = "1.4.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rkoopmans";
|
||||
repo = "python-certificate-chain-resolver";
|
||||
tag = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DWE+mR7EO5ohuRAR0WC40GBY7HpwXIpU0hhVUnWNRno=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cryptography ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ cryptography ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
@@ -28,10 +32,13 @@ buildPythonPackage rec {
|
||||
six
|
||||
];
|
||||
|
||||
env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
disabledTests = [
|
||||
# Tests require network access
|
||||
"test_cert_returns_completed_chain"
|
||||
"test_display_flag_is_properly_formatted"
|
||||
"test_display_flag_includes_warning_when_root_was_requested_but_not_found"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "cert_chain_resolver" ];
|
||||
@@ -40,8 +47,8 @@ buildPythonPackage rec {
|
||||
description = "Resolve / obtain the certificate intermediates of a x509 certificate";
|
||||
mainProgram = "cert-chain-resolver";
|
||||
homepage = "https://github.com/rkoopmans/python-certificate-chain-resolver";
|
||||
changelog = "https://github.com/rkoopmans/python-certificate-chain-resolver/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/rkoopmans/python-certificate-chain-resolver/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veehaitch ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -41,14 +41,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-allauth";
|
||||
version = "65.15.1";
|
||||
version = "65.16.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "allauth";
|
||||
repo = "django-allauth";
|
||||
tag = version;
|
||||
hash = "sha256-F36Grbyk5jyvEvK+wQtB8rrq9LMSVJCQjdHkRfdKLlM=";
|
||||
hash = "sha256-uYJErt7RElFrSMyVtnUgdkoIVIBzuAENZZHn/7kmfDE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
requests,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "finvizfinance";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
@@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "lit26";
|
||||
repo = "finvizfinance";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-M/EyQgINdJLLfOFNm/RhqONz3slb4ukugHLdiozDY0s=";
|
||||
};
|
||||
|
||||
@@ -45,20 +45,22 @@ buildPythonPackage rec {
|
||||
# Tests require network access
|
||||
"test_finvizfinance_calendar"
|
||||
"test_finvizfinance_crypto"
|
||||
"test_forex_performance_percentage"
|
||||
"test_group_overview"
|
||||
"test_finvizfinance_finvizfinance"
|
||||
"test_finvizfinance_insider"
|
||||
"test_finvizfinance_news"
|
||||
"test_finvizfinance_finvizfinance"
|
||||
"test_statements"
|
||||
"test_forex_performance_percentage"
|
||||
"test_group_overview"
|
||||
"test_screener_overview"
|
||||
"test_statements"
|
||||
"test_ticker_etf_holders_returns_list"
|
||||
"test_ticker_peer_returns_list"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Finviz Finance information downloader";
|
||||
homepage = "https://github.com/lit26/finvizfinance";
|
||||
changelog = "https://github.com/lit26/finvizfinance/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/lit26/finvizfinance/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ icyrockcom ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
dataclasses-json,
|
||||
fetchFromBitbucket,
|
||||
pytest-mock,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "json-handler-registry";
|
||||
version = "1.5.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "massultidev";
|
||||
repo = "json-handler-registry";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-oB2zsA6H1D27m87+mBKCDaN/kuxtc74RY29zSXovBKU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dataclasses-json
|
||||
pytest-mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "json_handler_registry" ];
|
||||
|
||||
meta = {
|
||||
description = "Registry for JSON handlers";
|
||||
homepage = "https://bitbucket.org/massultidev/json-handler-registry";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -14,19 +14,19 @@
|
||||
gitUpdater,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "microsoft-kiota-authentication-azure";
|
||||
version = "1.9.10";
|
||||
version = "1.10.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "kiota-python";
|
||||
tag = "microsoft-kiota-authentication-azure-v${version}";
|
||||
hash = "sha256-J9OLxZ3vQpChhfwjXzrGF691zco/bKv51FG20VFieN0=";
|
||||
tag = "microsoft-kiota-authentication-azure-v${finalAttrs.version}";
|
||||
hash = "sha256-KBCjVNZDPMh0wxWm8UVLsrfl2AYp3rKMjAT5c8F7+64=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/packages/authentication/azure/";
|
||||
sourceRoot = "${finalAttrs.src.name}/packages/authentication/azure/";
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -53,8 +53,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Kiota Azure authentication provider";
|
||||
homepage = "https://github.com/microsoft/kiota-python/tree/main/packages/authentication/azure";
|
||||
changelog = "https://github.com/microsoft/kiota-python/releases/tag/microsoft-kiota-authentication-azure-${src.tag}";
|
||||
changelog = "https://github.com/microsoft/kiota-python/releases/tag/microsoft-kiota-authentication-azure-${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
dbus-next,
|
||||
fetchFromBitbucket,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
tunit,
|
||||
unidecode,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "mpris-api";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "massultidev";
|
||||
repo = "mpris-api";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-tr1McOBGTKUVLFToFmb6j8NUzl5bCH8XsNgzZT9Jv7s=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
dbus-next
|
||||
unidecode
|
||||
tunit
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "mpris_api" ];
|
||||
|
||||
meta = {
|
||||
description = "Module provides an implementation of MPRIS DBus interface";
|
||||
homepage = "https://bitbucket.org/massultidev/mpris-api/src/master/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -3,20 +3,28 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
unittestCheckHook,
|
||||
uv-build,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "rtfunicode";
|
||||
version = "2.3";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mjpieters";
|
||||
repo = "rtfunicode";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-dmPpMplCQIJMHhNFzOIjKwEHVio2mjFEbDmq1Y9UJkA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "uv_build>=0.9.26,<0.10.0" "uv_build"
|
||||
'';
|
||||
|
||||
build-system = [ uv-build ];
|
||||
|
||||
nativeBuildInputs = [ unittestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "rtfunicode" ];
|
||||
@@ -26,6 +34,6 @@ buildPythonPackage rec {
|
||||
maintainers = [ lib.maintainers.lucasew ];
|
||||
license = lib.licenses.bsd2;
|
||||
homepage = "https://github.com/mjpieters/rtfunicode";
|
||||
changelog = "https://github.com/mjpieters/rtfunicode/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/mjpieters/rtfunicode/releases/tag/${finalAttrs.src.tag}";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
lib,
|
||||
aiosendspin-mpris,
|
||||
aiosendspin,
|
||||
av,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
numpy,
|
||||
pulsectl-asyncio,
|
||||
pychromecast,
|
||||
pytestCheckHook,
|
||||
qrcode,
|
||||
readchar,
|
||||
rich,
|
||||
setuptools,
|
||||
sounddevice,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "sendspin";
|
||||
version = "5.9.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Sendspin";
|
||||
repo = "sendspin-cli";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-g+qw3mDHij50CEDKGjltMGNZoI6/HeJQ8zq8NSvD3Ls=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"'
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
aiosendspin
|
||||
aiosendspin-mpris
|
||||
av
|
||||
numpy
|
||||
pulsectl-asyncio
|
||||
qrcode
|
||||
readchar
|
||||
rich
|
||||
sounddevice
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
cast = [ pychromecast ];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "sendspin" ];
|
||||
|
||||
disabledTests = [
|
||||
# AssertionError: assert None == (1, 'Digital')
|
||||
"test_alsa_available_for_hw_device_with_mixer"
|
||||
"test_hifiberry_dac_discovery"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Synchronized audio player for Sendspin servers";
|
||||
homepage = "https://github.com/Sendspin/sendspin-cli";
|
||||
changelog = "https://github.com/Sendspin/sendspin-cli/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromBitbucket,
|
||||
json-handler-registry,
|
||||
pytestCheckHook,
|
||||
pyyaml,
|
||||
setuptools,
|
||||
types-pyyaml,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "tunit";
|
||||
version = "1.7.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "massultidev";
|
||||
repo = "tunit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-S1YEpXQcjQ7gcJPUv4Eo32ypGFkinMjr/x4P/pFMipg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
optional-dependencies = {
|
||||
json = [ json-handler-registry ];
|
||||
yaml = [
|
||||
pyyaml
|
||||
types-pyyaml
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
|
||||
|
||||
pythonImportsCheck = [ "tunit" ];
|
||||
|
||||
meta = {
|
||||
description = "Module for time unit types";
|
||||
homepage = "https://bitbucket.org/massultidev/tunit";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
})
|
||||
@@ -10,13 +10,12 @@
|
||||
writableTmpDirAsHomeHook,
|
||||
versionCheckHook,
|
||||
|
||||
## gpu-stats
|
||||
## wandb-xpu
|
||||
rustPlatform,
|
||||
|
||||
## wandb
|
||||
buildPythonPackage,
|
||||
replaceVars,
|
||||
fetchpatch,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
@@ -76,26 +75,29 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.25.1";
|
||||
version = "0.26.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wandb";
|
||||
repo = "wandb";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-jrHj+dNW/eUMcqT5XJbiAz1tlviVBhdtroJ8dA7GBr4=";
|
||||
hash = "sha256-pN2vfrexu87202WLes4eIbkU1aVuLpqR676f7AxokT8=";
|
||||
};
|
||||
|
||||
gpu-stats = rustPlatform.buildRustPackage {
|
||||
pname = "gpu-stats";
|
||||
version = "0.6.0";
|
||||
wandb-xpu = rustPlatform.buildRustPackage {
|
||||
pname = "wandb-xpu";
|
||||
version = "0.7.0";
|
||||
inherit src;
|
||||
|
||||
sourceRoot = "${src.name}/gpu_stats";
|
||||
sourceRoot = "${src.name}/xpu";
|
||||
|
||||
cargoHash = "sha256-yzvXJYkQTNOScOI3yfVBH6IGZzcFduuXqW3pI5hEZGw=";
|
||||
cargoHash = "sha256-h5kttUU1KsP+IaXTfqfgRf+7cooRZQzi5i5NmQ9YEA0=";
|
||||
|
||||
checkFlags = [
|
||||
# fails in sandbox
|
||||
"--skip=gpu_amd::tests::test_gpu_amd_new"
|
||||
|
||||
# tries to download libtpu wheel from PyPI
|
||||
"--skip=tpu_libtpu::tests::test_libtpu_sdk"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
@@ -104,23 +106,50 @@ let
|
||||
doInstallCheck = true;
|
||||
|
||||
meta = {
|
||||
mainProgram = "gpu_stats";
|
||||
mainProgram = "wandb-xpu";
|
||||
};
|
||||
};
|
||||
|
||||
inherit (stdenv.hostPlatform.extensions) sharedLibrary;
|
||||
libRustParquet = "librust_parquet_ffi${sharedLibrary}";
|
||||
|
||||
parquet-rust-wrapper = rustPlatform.buildRustPackage {
|
||||
pname = "arrow-rs-wrapper";
|
||||
version = "0.1.0";
|
||||
inherit src;
|
||||
|
||||
sourceRoot = "${src.name}/parquet-rust-wrapper";
|
||||
|
||||
cargoHash = "sha256-fOq1KoWJEDZnchE6ooTmUQZ3DLdlbr2/aYl1qbF2GH4=";
|
||||
|
||||
# The original build script renames the library:
|
||||
# https://github.com/wandb/wandb/blob/v0.26.0/parquet-rust-wrapper/build.sh#L37-L68
|
||||
postInstall = ''
|
||||
mv $out/lib/libarrow_rs_wrapper${sharedLibrary} $out/lib/${libRustParquet}
|
||||
'';
|
||||
};
|
||||
|
||||
wandb-core = buildGoModule {
|
||||
pname = "wandb-core";
|
||||
inherit src version;
|
||||
|
||||
sourceRoot = "${src.name}/core";
|
||||
|
||||
# hardcode the `gpu_stats` binary path.
|
||||
postPatch = ''
|
||||
substituteInPlace internal/monitor/gpuresourcemanager.go \
|
||||
--replace-fail \
|
||||
'cmdPath, err := getGPUCollectorCmdPath()' \
|
||||
'cmdPath, err := "${lib.getExe gpu-stats}", error(nil)'
|
||||
'';
|
||||
postPatch =
|
||||
# hardcode the `wandb-xpu` binary path.
|
||||
''
|
||||
substituteInPlace internal/monitor/xpuresourcemanager.go \
|
||||
--replace-fail \
|
||||
'cmdPath, err := getXPUCmdPath()' \
|
||||
'cmdPath, err := "${lib.getExe wandb-xpu}", error(nil)'
|
||||
''
|
||||
# hardcode the `parquet-rust-wrapper` library path.
|
||||
+ ''
|
||||
substituteInPlace internal/runhistoryreader/parquet/ffi/rustarrowreader.go \
|
||||
--replace-fail \
|
||||
"${libRustParquet}" \
|
||||
"${lib.getLib parquet-rust-wrapper}/lib/${libRustParquet}"
|
||||
'';
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -163,20 +192,14 @@ buildPythonPackage (finalAttrs: {
|
||||
(replaceVars ./hardcode-git-path.patch {
|
||||
git = lib.getExe gitMinimal;
|
||||
})
|
||||
|
||||
# https://github.com/wandb/wandb/pull/11552
|
||||
(fetchpatch {
|
||||
name = "add-protobuf-7-compatibility";
|
||||
url = "https://github.com/wandb/wandb/commit/4ef09f3dd1ee408eb9194ea8b7feea2b1128839c.patch";
|
||||
hash = "sha256-6weMJI51cWXz2mCxOGWYGrh0QCxtMGqz6HAVRF5b1xs=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch =
|
||||
# Prevent hatch from building wandb-core
|
||||
# Prevent hatch from building wandb-core and arrow-rs-wrapper
|
||||
''
|
||||
substituteInPlace hatch_build.py \
|
||||
--replace-fail "artifacts.extend(self._build_wandb_core())" ""
|
||||
--replace-fail "artifacts.extend(self._build_wandb_core())" "" \
|
||||
--replace-fail "artifacts.extend(self._build_arrow_rs_wrapper())" ""
|
||||
''
|
||||
# Hard-code the path to the `wandb-core` binary in the code.
|
||||
+ ''
|
||||
@@ -187,11 +210,11 @@ buildPythonPackage (finalAttrs: {
|
||||
'';
|
||||
|
||||
env = {
|
||||
# Prevent the install script to try building and embedding the `gpu_stats` and `wandb-core`
|
||||
# binaries in the wheel.
|
||||
# Their path have been patched accordingly in the `wandb-core` and `wanbd` source codes.
|
||||
# Prevent the install script from trying to build and embed native binaries in the wheel.
|
||||
# Their paths have been patched accordingly in the `wandb-core` and `wandb` source codes.
|
||||
# https://github.com/wandb/wandb/blob/v0.18.5/hatch_build.py#L37-L47
|
||||
WANDB_BUILD_SKIP_GPU_STATS = true;
|
||||
WANDB_BUILD_SKIP_WANDB_XPU = true;
|
||||
WANDB_BUILD_SKIP_ORJSON = true;
|
||||
WANDB_BUILD_UNIVERSAL = true;
|
||||
};
|
||||
|
||||
@@ -199,11 +222,6 @@ buildPythonPackage (finalAttrs: {
|
||||
hatchling
|
||||
];
|
||||
|
||||
# Protobuf 7 is not compatible with the current version of wandb
|
||||
pythonRelaxDeps = [
|
||||
"protobuf"
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
click
|
||||
gitpython
|
||||
@@ -281,6 +299,9 @@ buildPythonPackage (finalAttrs: {
|
||||
|
||||
# PermissionError: unable to write to .cache/wandb/artifacts
|
||||
"tests/unit_tests/test_artifacts/test_wandb_artifacts.py"
|
||||
|
||||
# Requires kfp which is not packaged
|
||||
"tests/unit_tests/test_kfp.py"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Breaks in sandbox: "Timed out waiting for wandb service to start"
|
||||
@@ -400,12 +421,20 @@ buildPythonPackage (finalAttrs: {
|
||||
"test_watch_parameters_torch_jit"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit
|
||||
wandb-core
|
||||
wandb-xpu
|
||||
parquet-rust-wrapper
|
||||
;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "CLI and library for interacting with the Weights and Biases API";
|
||||
homepage = "https://github.com/wandb/wandb";
|
||||
changelog = "https://github.com/wandb/wandb/raw/${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ samuela ];
|
||||
broken = gpu-stats.meta.broken || wandb-core.meta.broken;
|
||||
broken = wandb-xpu.meta.broken || wandb-core.meta.broken;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
}:
|
||||
mkKdeDerivation rec {
|
||||
pname = "polkit-qt-1";
|
||||
version = "0.200.0";
|
||||
version = "0.201.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/polkit-qt-1/polkit-qt-1-${version}.tar.xz";
|
||||
sha256 = "sha256-XTthHAYtK3apN1C7EMkHv9IdH/CNChXcLPY+J44Wd/s=";
|
||||
sha256 = "sha256-ldjiyuUwxUbZQ3RZ3rihvqONVy8Pl3LMKGDcFDY38lY=";
|
||||
};
|
||||
|
||||
patches = [ ./full-paths.patch ];
|
||||
|
||||
@@ -15,14 +15,14 @@ let
|
||||
variants = {
|
||||
# ./update-xanmod.sh lts
|
||||
lts = {
|
||||
version = "6.18.22";
|
||||
hash = "sha256-RWLMFCW3dHtTeY+F9LFZpale8FTh5ITSHU/N/CkN5WA=";
|
||||
version = "6.18.23";
|
||||
hash = "sha256-IXR3gSaUsykNbdDxYCawDp6/5otc9wm88ewPGnpd5Kw=";
|
||||
isLTS = true;
|
||||
};
|
||||
# ./update-xanmod.sh main
|
||||
main = {
|
||||
version = "6.19.12";
|
||||
hash = "sha256-jv8sJnBzXRV/e9dHJgiUbQneCRINCchAM6aj8Xp6knI=";
|
||||
version = "6.19.13";
|
||||
hash = "sha256-r3CXmgMiZtD5ZHmGDsk2O1TwUR01iCX4m06royJMf68=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "bramstroker";
|
||||
domain = "powercalc";
|
||||
version = "1.20.12";
|
||||
version = "1.20.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = "homeassistant-powercalc";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kOxY/7JjDHbQC7adfcRDgDJnvU2TRyaKYXxfmo/cXPQ=";
|
||||
hash = "sha256-Vg/hqDo0dW88VUKEXZcaRMwOAzm8EmbKGwV/xIfB5lQ=";
|
||||
};
|
||||
|
||||
dependencies = [ numpy ];
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 450a6183586243d907843c7d89973452b59d8b10 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
|
||||
Date: Fri, 17 Apr 2026 22:35:08 +0000
|
||||
Subject: [PATCH] fix systemd detection after argparse migration
|
||||
|
||||
---
|
||||
lib/util/wscript | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/util/wscript b/lib/util/wscript
|
||||
index 425f659a2ed..b8baabfbea9 100644
|
||||
--- a/lib/util/wscript
|
||||
+++ b/lib/util/wscript
|
||||
@@ -13,7 +13,7 @@ def options(opt):
|
||||
|
||||
opt.add_option('--with-systemd',
|
||||
help=("Enable systemd integration"),
|
||||
- action='store_true', dest='enable_systemd')
|
||||
+ action='store_true', dest='enable_systemd', default=None)
|
||||
|
||||
opt.add_option('--without-systemd',
|
||||
help=("Disable systemd integration"),
|
||||
@@ -21,7 +21,7 @@ def options(opt):
|
||||
|
||||
opt.add_option('--with-lttng',
|
||||
help=("Enable lttng integration"),
|
||||
- action='store_true', dest='enable_lttng')
|
||||
+ action='store_true', dest='enable_lttng', default=None)
|
||||
|
||||
opt.add_option('--without-lttng',
|
||||
help=("Disable lttng integration"),
|
||||
--
|
||||
2.53.0
|
||||
|
||||
@@ -81,11 +81,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "samba";
|
||||
version = "4.22.7";
|
||||
version = "4.23.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.samba.org/pub/samba/stable/samba-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-EhlYEdRUL2YVNukFW0TVjFMCBBK+r6riBeInv3L2pJc=";
|
||||
hash = "sha256-WTpD3dDVeQIjffp2iI97Ast/x3RxETacsx4SbbSDa58=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -98,7 +98,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./4.x-no-persistent-install.patch
|
||||
./4.x-no-persistent-install-dynconfig.patch
|
||||
./4.x-fix-makeflags-parsing.patch
|
||||
./build-find-pre-built-heimdal-build-tools-in-case-of-.patch
|
||||
./4.x-fix-systemd-detection.patch
|
||||
(fetchpatch {
|
||||
# workaround for https://bugzilla.samba.org/show_bug.cgi?id=14164
|
||||
name = "build-find-pre-built-heimdal-build-tools-in-case-of-.patch";
|
||||
url = "https://raw.githubusercontent.com/LibreELEC/LibreELEC.tv/fe5538114371b98c7350e6fffbfc0d1ac063719c/packages/network/samba/patches/samba-200-4.11-fix-ASN1-bso14164.patch";
|
||||
hash = "sha256-0/c9TH5FZ4S1OoM04gwDBJoIN+10unjLSv7Hlwt9FEQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
# workaround for https://github.com/NixOS/nixpkgs/issues/303436
|
||||
name = "samba-reproducible-builds.patch";
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
From 475ec75a34002aafabc92659f693cf705c96aff4 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Cao <nickcao@nichi.co>
|
||||
Date: Thu, 21 Nov 2024 15:30:00 -0500
|
||||
Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
|
||||
heimdal
|
||||
|
||||
This patch fixes the case of finding asn1_compile and compile_et for
|
||||
building embedded heimdal, by setting
|
||||
--bundled-libraries='!asn1_compile,!compile_et' as configure flags.
|
||||
|
||||
The Heimdal build tools compile_et and asn1_compile are needed *only*
|
||||
if we use the embedded heimdal (otherwise we don't build heimdal and
|
||||
use headers that have been generated by those tools elsewhere).
|
||||
|
||||
For cross-compilation with embedded heimdal, it is vital to use host build
|
||||
tools, and so asn1_compile and compile_et must be supplied and not
|
||||
built. One way of doing this would be to set the COMPILE_ET and
|
||||
ASN1_COMPILE env vars to the location of supplied binaries. Another way,
|
||||
which is more commonly used, is to exclude asn1_compile and compile_et
|
||||
from bundled packages via the switch
|
||||
-bundled-libraries='!asn1_compile,!compile_et'. When this is done,
|
||||
the build script searches the path for those tools and sets the
|
||||
ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly
|
||||
kind of a round-about way of doing things but this has become the
|
||||
de-facto standard amongst embedded distro builders).
|
||||
|
||||
In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of
|
||||
finding the binaris has been moved to be carried out only in the
|
||||
system heimdal case. As explained above, we only need these tools,
|
||||
and hence the check, in bundled mode.
|
||||
|
||||
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
|
||||
|
||||
Signed-off-by: Uri Simchoni <uri@samba.org>
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bachp: rebased for version 4.15.0]
|
||||
[Mats: rebased for version 4.18.5]
|
||||
[hexa: rebased for version 4.22.3]
|
||||
---
|
||||
wscript_configure_embedded_heimdal | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
|
||||
index c1488e5506e..ede28ba7fc3 100644
|
||||
--- a/wscript_configure_embedded_heimdal
|
||||
+++ b/wscript_configure_embedded_heimdal
|
||||
@@ -15,3 +15,14 @@ conf.RECURSE('third_party/heimdal_build')
|
||||
conf.define('HAVE_CLIENT_GSS_C_CHANNEL_BOUND_FLAG', 1)
|
||||
|
||||
conf.define('HAVE_KRB5_INIT_CREDS_STEP', 1)
|
||||
+
|
||||
+def check_system_heimdal_binary(name):
|
||||
+ if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
+ return False
|
||||
+ if not conf.find_program(name, var=name.upper()):
|
||||
+ return False
|
||||
+ conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
+ return True
|
||||
+
|
||||
+check_system_heimdal_binary("compile_et")
|
||||
+check_system_heimdal_binary("asn1_compile")
|
||||
--
|
||||
2.50.1
|
||||
@@ -510,6 +510,8 @@ self: super: with self; {
|
||||
|
||||
aiosendspin = callPackage ../development/python-modules/aiosendspin { };
|
||||
|
||||
aiosendspin-mpris = callPackage ../development/python-modules/aiosendspin-mpris { };
|
||||
|
||||
aioserial = callPackage ../development/python-modules/aioserial { };
|
||||
|
||||
aioshelly = callPackage ../development/python-modules/aioshelly { };
|
||||
@@ -7957,6 +7959,8 @@ self: super: with self; {
|
||||
|
||||
json-flatten = callPackage ../development/python-modules/json-flatten { };
|
||||
|
||||
json-handler-registry = callPackage ../development/python-modules/json-handler-registry { };
|
||||
|
||||
json-home-client = callPackage ../development/python-modules/json-home-client { };
|
||||
|
||||
json-logging = callPackage ../development/python-modules/json-logging { };
|
||||
@@ -10282,6 +10286,8 @@ self: super: with self; {
|
||||
|
||||
mpmath = callPackage ../development/python-modules/mpmath { };
|
||||
|
||||
mpris-api = callPackage ../development/python-modules/mpris-api { };
|
||||
|
||||
mprisify = callPackage ../development/python-modules/mprisify { };
|
||||
|
||||
mpv = callPackage ../development/python-modules/mpv { inherit (pkgs) mpv; };
|
||||
@@ -17499,6 +17505,8 @@ self: super: with self; {
|
||||
|
||||
sendgrid = callPackage ../development/python-modules/sendgrid { };
|
||||
|
||||
sendspin = callPackage ../development/python-modules/sendspin { };
|
||||
|
||||
senf = callPackage ../development/python-modules/senf { };
|
||||
|
||||
sensai-utils = callPackage ../development/python-modules/sensai-utils { };
|
||||
@@ -19870,6 +19878,8 @@ self: super: with self; {
|
||||
|
||||
tunigo = callPackage ../development/python-modules/tunigo { };
|
||||
|
||||
tunit = callPackage ../development/python-modules/tunit { };
|
||||
|
||||
turnt = callPackage ../development/python-modules/turnt { };
|
||||
|
||||
turrishw = callPackage ../development/python-modules/turrishw { };
|
||||
|
||||
@@ -1021,6 +1021,20 @@
|
||||
};
|
||||
version = "3.5.0";
|
||||
};
|
||||
debug = {
|
||||
dependencies = [
|
||||
"irb"
|
||||
"reline"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "sha256-LgsKxhGfIgem+Kx9SnPKjrTkQPZNoKMTbDA0MUbpUrY=";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.1";
|
||||
};
|
||||
dentaku = {
|
||||
dependencies = [ "concurrent-ruby" ];
|
||||
groups = [ "default" ];
|
||||
|
||||
Reference in New Issue
Block a user