Merge master into staging-next
This commit is contained in:
commit
a400aea596
|
@ -14228,6 +14228,12 @@
|
||||||
githubId = 1069318;
|
githubId = 1069318;
|
||||||
name = "Robin Lambertz";
|
name = "Robin Lambertz";
|
||||||
};
|
};
|
||||||
|
robwalt = {
|
||||||
|
email = "robwalter96@gmail.com";
|
||||||
|
github = "robwalt";
|
||||||
|
githubId = 26892280;
|
||||||
|
name = "Robert Walter";
|
||||||
|
};
|
||||||
roconnor = {
|
roconnor = {
|
||||||
email = "roconnor@theorem.ca";
|
email = "roconnor@theorem.ca";
|
||||||
github = "roconnor";
|
github = "roconnor";
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
- [osquery](https://www.osquery.io/), a SQL powered operating system instrumentation, monitoring, and analytics.
|
- [osquery](https://www.osquery.io/), a SQL powered operating system instrumentation, monitoring, and analytics.
|
||||||
|
|
||||||
|
- [ebusd](https://ebusd.eu), a daemon for handling communication with eBUS devices connected to a 2-wire bus system (“energy bus” used by numerous heating systems). Available as [services.ebusd](#opt-services.ebusd.enable).
|
||||||
|
|
||||||
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
||||||
|
|
||||||
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
|
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
|
||||||
|
|
|
@ -536,6 +536,7 @@
|
||||||
./services/hardware/usbrelayd.nix
|
./services/hardware/usbrelayd.nix
|
||||||
./services/hardware/vdr.nix
|
./services/hardware/vdr.nix
|
||||||
./services/hardware/keyd.nix
|
./services/hardware/keyd.nix
|
||||||
|
./services/home-automation/ebusd.nix
|
||||||
./services/home-automation/esphome.nix
|
./services/home-automation/esphome.nix
|
||||||
./services/home-automation/evcc.nix
|
./services/home-automation/evcc.nix
|
||||||
./services/home-automation/home-assistant.nix
|
./services/home-automation/home-assistant.nix
|
||||||
|
@ -599,6 +600,7 @@
|
||||||
./services/matrix/mjolnir.nix
|
./services/matrix/mjolnir.nix
|
||||||
./services/matrix/mx-puppet-discord.nix
|
./services/matrix/mx-puppet-discord.nix
|
||||||
./services/matrix/pantalaimon.nix
|
./services/matrix/pantalaimon.nix
|
||||||
|
./services/matrix/matrix-sliding-sync.nix
|
||||||
./services/matrix/synapse.nix
|
./services/matrix/synapse.nix
|
||||||
./services/misc/airsonic.nix
|
./services/misc/airsonic.nix
|
||||||
./services/misc/ananicy.nix
|
./services/misc/ananicy.nix
|
||||||
|
|
270
nixos/modules/services/home-automation/ebusd.nix
Normal file
270
nixos/modules/services/home-automation/ebusd.nix
Normal file
|
@ -0,0 +1,270 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.ebusd;
|
||||||
|
|
||||||
|
package = pkgs.ebusd;
|
||||||
|
|
||||||
|
arguments = [
|
||||||
|
"${package}/bin/ebusd"
|
||||||
|
"--foreground"
|
||||||
|
"--updatecheck=off"
|
||||||
|
"--device=${cfg.device}"
|
||||||
|
"--port=${toString cfg.port}"
|
||||||
|
"--configpath=${cfg.configpath}"
|
||||||
|
"--scanconfig=${cfg.scanconfig}"
|
||||||
|
"--log=main:${cfg.logs.main}"
|
||||||
|
"--log=network:${cfg.logs.network}"
|
||||||
|
"--log=bus:${cfg.logs.bus}"
|
||||||
|
"--log=update:${cfg.logs.update}"
|
||||||
|
"--log=other:${cfg.logs.other}"
|
||||||
|
"--log=all:${cfg.logs.all}"
|
||||||
|
] ++ lib.optionals cfg.readonly [
|
||||||
|
"--readonly"
|
||||||
|
] ++ lib.optionals cfg.mqtt.enable [
|
||||||
|
"--mqtthost=${cfg.mqtt.host}"
|
||||||
|
"--mqttport=${toString cfg.mqtt.port}"
|
||||||
|
"--mqttuser=${cfg.mqtt.user}"
|
||||||
|
"--mqttpass=${cfg.mqtt.password}"
|
||||||
|
] ++ lib.optionals cfg.mqtt.home-assistant [
|
||||||
|
"--mqttint=${package}/etc/ebusd/mqtt-hassio.cfg"
|
||||||
|
"--mqttjson"
|
||||||
|
] ++ lib.optionals cfg.mqtt.retain [
|
||||||
|
"--mqttretain"
|
||||||
|
] ++ cfg.extraArguments;
|
||||||
|
|
||||||
|
usesDev = hasPrefix "/" cfg.device;
|
||||||
|
|
||||||
|
command = concatStringsSep " " arguments;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
meta.maintainers = with maintainers; [ nathan-gs ];
|
||||||
|
|
||||||
|
options.services.ebusd = {
|
||||||
|
enable = mkEnableOption (lib.mdDoc "ebusd service");
|
||||||
|
|
||||||
|
device = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
example = "IP:PORT";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Use DEV as eBUS device [/dev/ttyUSB0].
|
||||||
|
This can be either:
|
||||||
|
enh:DEVICE or enh:IP:PORT for enhanced device (only adapter v3 and newer),
|
||||||
|
ens:DEVICE for enhanced high speed serial device (only adapter v3 and newer with firmware since 20220731),
|
||||||
|
DEVICE for serial device (normal speed, for all other serial adapters like adapter v2 as well as adapter v3 in non-enhanced mode), or
|
||||||
|
[udp:]IP:PORT for network device.
|
||||||
|
https://github.com/john30/ebusd/wiki/2.-Run#device-options
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
default = 8888;
|
||||||
|
type = types.port;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The port on which to listen on
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
readonly = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only read from device, never write to it
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
configpath = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "https://cfg.ebusd.eu/";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Read CSV config files from PATH (local folder or HTTPS URL) [https://cfg.ebusd.eu/]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
scanconfig = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "full";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Pick CSV config files matching initial scan ("none" or empty for no initial scan message, "full" for full scan, or a single hex address to scan, default is to send a broadcast ident message).
|
||||||
|
If combined with --checkconfig, you can add scan message data as arguments for checking a particular scan configuration, e.g. "FF08070400/0AB5454850303003277201". For further details on this option,
|
||||||
|
see [Automatic configuration](https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
logs = {
|
||||||
|
main = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
network = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
bus = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
update = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
other = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
all = mkOption {
|
||||||
|
type = types.enum [ "error" "notice" "info" "debug"];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Only write log for matching AREAs (main|network|bus|update|other|all) below or equal to LEVEL (error|notice|info|debug) [all:notice].
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mqtt = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Adds support for MQTT
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
host = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "localhost";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Connect to MQTT broker on HOST.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
default = 1883;
|
||||||
|
type = types.port;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The port on which to connect to MQTT
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home-assistant = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Adds the Home Assistant topics to MQTT, read more at [MQTT Integration](https://github.com/john30/ebusd/wiki/MQTT-integration)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
retain = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Set the retain flag on all topics instead of only selected global ones
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The MQTT user to use
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
password = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The MQTT password.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
extraArguments = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Extra arguments to the ebus daemon
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (cfg.enable) {
|
||||||
|
|
||||||
|
systemd.services.ebusd = {
|
||||||
|
description = "EBUSd Service";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = command;
|
||||||
|
DynamicUser = true;
|
||||||
|
Restart = "on-failure";
|
||||||
|
|
||||||
|
# Hardening
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
DeviceAllow = lib.optionals usesDev [
|
||||||
|
cfg.device
|
||||||
|
] ;
|
||||||
|
DevicePolicy = "closed";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = false;
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = usesDev;
|
||||||
|
PrivateUsers = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RemoveIPC = true;
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SupplementaryGroups = [
|
||||||
|
"dialout"
|
||||||
|
];
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [
|
||||||
|
"@system-service @pkey"
|
||||||
|
"~@privileged @resources"
|
||||||
|
];
|
||||||
|
UMask = "0077";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
96
nixos/modules/services/matrix/matrix-sliding-sync.nix
Normal file
96
nixos/modules/services/matrix/matrix-sliding-sync.nix
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.matrix-synapse.sliding-sync;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.matrix-synapse.sliding-sync = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "sliding sync");
|
||||||
|
|
||||||
|
package = lib.mkPackageOption pkgs "matrix-sliding-sync" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType = with lib.types; attrsOf str;
|
||||||
|
options = {
|
||||||
|
SYNCV3_SERVER = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The destination homeserver to talk to not including `/_matrix/` e.g `https://matrix.example.org`.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
SYNCV3_DB = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "postgresql:///matrix-sliding-sync?host=/run/postgresql";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The postgres connection string.
|
||||||
|
Refer to <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
SYNCV3_BINDADDR = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "127.0.0.1:8009";
|
||||||
|
example = "[::]:8008";
|
||||||
|
description = lib.mdDoc "The interface and port to listen on.";
|
||||||
|
};
|
||||||
|
|
||||||
|
SYNCV3_LOG_LEVEL = lib.mkOption {
|
||||||
|
type = lib.types.enum [ "trace" "debug" "info" "warn" "error" "fatal" ];
|
||||||
|
default = "info";
|
||||||
|
description = lib.mdDoc "The level of verbosity for messages logged.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Freeform environment variables passed to the sliding sync proxy.
|
||||||
|
Refer to <https://github.com/matrix-org/sliding-sync#setup> for all supported values.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
createDatabase = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Whether to enable and configure `services.postgres` to ensure that the database user `matrix-sliding-sync`
|
||||||
|
and the database `matrix-sliding-sync` exist.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
environmentFile = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Environment file as defined in {manpage}`systemd.exec(5)`.
|
||||||
|
|
||||||
|
This must contain the {env}`SYNCV3_SECRET` variable which should
|
||||||
|
be generated with {command}`openssl rand -hex 32`.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.postgresql = lib.optionalAttrs cfg.createDatabase {
|
||||||
|
enable = true;
|
||||||
|
ensureDatabases = [ "matrix-sliding-sync" ];
|
||||||
|
ensureUsers = [ rec {
|
||||||
|
name = "matrix-sliding-sync";
|
||||||
|
ensurePermissions."DATABASE \"${name}\"" = "ALL PRIVILEGES";
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.matrix-sliding-sync = {
|
||||||
|
after = lib.optional cfg.createDatabase "postgresql.service";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
environment = cfg.settings;
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
EnvironmentFile = cfg.environmentFile;
|
||||||
|
ExecStart = lib.getExe cfg.package;
|
||||||
|
StateDirectory = "matrix-sliding-sync";
|
||||||
|
WorkingDirectory = "%S/matrix-sliding-sync";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -439,6 +439,8 @@ in
|
||||||
lfs = mkIf cfg.lfs.enable {
|
lfs = mkIf cfg.lfs.enable {
|
||||||
PATH = cfg.lfs.contentDir;
|
PATH = cfg.lfs.contentDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages.CHUNKED_UPLOAD_PATH = "${cfg.stateDir}/tmp/package-upload";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.postgresql = optionalAttrs (usePostgresql && cfg.database.createDatabase) {
|
services.postgresql = optionalAttrs (usePostgresql && cfg.database.createDatabase) {
|
||||||
|
@ -575,7 +577,7 @@ in
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "notify";
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
WorkingDirectory = cfg.stateDir;
|
WorkingDirectory = cfg.stateDir;
|
||||||
|
|
|
@ -225,7 +225,7 @@ in {
|
||||||
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
|
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
|
||||||
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
|
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
|
||||||
ExecStartPost = pkgs.writeShellScript "wait-for-netdata-up" ''
|
ExecStartPost = pkgs.writeShellScript "wait-for-netdata-up" ''
|
||||||
while [ "$(${pkgs.netdata}/bin/netdatacli ping)" != pong ]; do sleep 0.5; done
|
while [ "$(${cfg.package}/bin/netdatacli ping)" != pong ]; do sleep 0.5; done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
TimeoutStopSec = cfg.deadlineBeforeStopSec;
|
TimeoutStopSec = cfg.deadlineBeforeStopSec;
|
||||||
|
|
|
@ -206,6 +206,11 @@ in
|
||||||
|
|
||||||
systemd.user.sockets.podman.wantedBy = [ "sockets.target" ];
|
systemd.user.sockets.podman.wantedBy = [ "sockets.target" ];
|
||||||
|
|
||||||
|
systemd.timers.podman-prune.timerConfig = lib.mkIf cfg.autoPrune.enable {
|
||||||
|
Persistent = true;
|
||||||
|
RandomizedDelaySec = 1800;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.packages = [
|
systemd.tmpfiles.packages = [
|
||||||
# The /run/podman rule interferes with our podman group, so we remove
|
# The /run/podman rule interferes with our podman group, so we remove
|
||||||
# it and let the systemd socket logic take care of it.
|
# it and let the systemd socket logic take care of it.
|
||||||
|
|
|
@ -121,14 +121,10 @@ let
|
||||||
client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
|
client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
|
||||||
client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
|
client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
|
||||||
|
|
||||||
server.succeed(
|
server.wait_until_succeeds(
|
||||||
'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits '
|
'test "$(curl http://localhost:3000/api/v1/repos/test/repo/commits '
|
||||||
+ '-H "Accept: application/json" | jq length)" = "1"'
|
+ '-H "Accept: application/json" | jq length)" = "1"'
|
||||||
)
|
)
|
||||||
|
|
||||||
client1.shutdown()
|
|
||||||
client2.shutdown()
|
|
||||||
server.shutdown()
|
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
|
|
|
@ -427,6 +427,7 @@ let
|
||||||
# The test cannot access the network, so any packages we
|
# The test cannot access the network, so any packages we
|
||||||
# need must be included in the VM.
|
# need must be included in the VM.
|
||||||
system.extraDependencies = with pkgs; [
|
system.extraDependencies = with pkgs; [
|
||||||
|
bintools
|
||||||
brotli
|
brotli
|
||||||
brotli.dev
|
brotli.dev
|
||||||
brotli.lib
|
brotli.lib
|
||||||
|
|
|
@ -1,207 +0,0 @@
|
||||||
{ lib, stdenv
|
|
||||||
, coreutils
|
|
||||||
, fetchurl
|
|
||||||
, makeWrapper
|
|
||||||
, pkg-config
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib.strings;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
version = "0.9.90";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/project/faudiostream/faust-${version}.tgz";
|
|
||||||
sha256 = "0d1fqwymyfb73zkmpwv4zk4gsg4ji7qs20mfsr20skmnqx30xvna";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://faust.grame.fr/";
|
|
||||||
downloadPage = "https://sourceforge.net/projects/faudiostream/files/";
|
|
||||||
license = licenses.gpl2;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ magnetophon pmahoney ];
|
|
||||||
};
|
|
||||||
|
|
||||||
faust = stdenv.mkDerivation {
|
|
||||||
pname = "faust";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
inherit src;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
inherit wrap wrapWithBuildEnv;
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
makeFlags="$makeFlags prefix=$out"
|
|
||||||
|
|
||||||
# The faust makefiles use 'system ?= $(shell uname -s)' but nix
|
|
||||||
# defines 'system' env var, so undefine that so faust detects the
|
|
||||||
# correct system.
|
|
||||||
unset system
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Remove most faust2appl scripts since they won't run properly
|
|
||||||
# without additional paths setup. See faust.wrap,
|
|
||||||
# faust.wrapWithBuildEnv.
|
|
||||||
postInstall = ''
|
|
||||||
# syntax error when eval'd directly
|
|
||||||
pattern="faust2!(*@(atomsnippets|graph|graphviewer|md|plot|sig|sigviewer|svg))"
|
|
||||||
(shopt -s extglob; rm "$out"/bin/$pattern)
|
|
||||||
'';
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
# Set faustpath explicitly.
|
|
||||||
substituteInPlace "$out"/bin/faustpath \
|
|
||||||
--replace "/usr/local /usr /opt /opt/local" "$out"
|
|
||||||
|
|
||||||
# The 'faustoptflags' is 'source'd into other faust scripts and
|
|
||||||
# not used as an executable, so patch 'uname' usage directly
|
|
||||||
# rather than use makeWrapper.
|
|
||||||
substituteInPlace "$out"/bin/faustoptflags \
|
|
||||||
--replace uname "${coreutils}/bin/uname"
|
|
||||||
|
|
||||||
# wrapper for scripts that don't need faust.wrap*
|
|
||||||
for script in "$out"/bin/faust2*; do
|
|
||||||
wrapProgram "$script" \
|
|
||||||
--prefix PATH : "$out"/bin
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = meta // {
|
|
||||||
description = "A functional programming language for realtime audio signal processing";
|
|
||||||
longDescription = ''
|
|
||||||
FAUST (Functional Audio Stream) is a functional programming
|
|
||||||
language specifically designed for real-time signal processing
|
|
||||||
and synthesis. FAUST targets high-performance signal processing
|
|
||||||
applications and audio plug-ins for a variety of platforms and
|
|
||||||
standards.
|
|
||||||
The Faust compiler translates DSP specifications into very
|
|
||||||
efficient C++ code. Thanks to the notion of architecture,
|
|
||||||
FAUST programs can be easily deployed on a large variety of
|
|
||||||
audio platforms and plugin formats (jack, alsa, ladspa, maxmsp,
|
|
||||||
puredata, csound, supercollider, pure, vst, coreaudio) without
|
|
||||||
any change to the FAUST code.
|
|
||||||
|
|
||||||
This package has just the compiler, libraries, and headers.
|
|
||||||
Install faust2* for specific faust2appl scripts.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
# Default values for faust2appl.
|
|
||||||
faust2ApplBase =
|
|
||||||
{ baseName
|
|
||||||
, dir ? "tools/faust2appls"
|
|
||||||
, scripts ? [ baseName ]
|
|
||||||
, ...
|
|
||||||
}@args:
|
|
||||||
|
|
||||||
args // {
|
|
||||||
name = "${baseName}-${version}";
|
|
||||||
|
|
||||||
inherit src;
|
|
||||||
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p "$out/bin"
|
|
||||||
for script in ${concatStringsSep " " scripts}; do
|
|
||||||
cp "${dir}/$script" "$out/bin/"
|
|
||||||
done
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# For the faust2appl script, change 'faustpath' and
|
|
||||||
# 'faustoptflags' to absolute paths.
|
|
||||||
for script in "$out"/bin/*; do
|
|
||||||
substituteInPlace "$script" \
|
|
||||||
--replace ". faustpath" ". '${faust}/bin/faustpath'" \
|
|
||||||
--replace ". faustoptflags" ". '${faust}/bin/faustoptflags'"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = meta // {
|
|
||||||
description = "The ${baseName} script, part of faust functional programming language for realtime audio signal processing";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Some 'faust2appl' scripts, such as faust2alsa, run faust to
|
|
||||||
# generate cpp code, then invoke the c++ compiler to build the code.
|
|
||||||
# This builder wraps these scripts in parts of the stdenv such that
|
|
||||||
# when the scripts are called outside any nix build, they behave as
|
|
||||||
# if they were running inside a nix build in terms of compilers and
|
|
||||||
# paths being configured (e.g. rpath is set so that compiled
|
|
||||||
# binaries link to the libs inside the nix store)
|
|
||||||
#
|
|
||||||
# The function takes two main args: the appl name (e.g.
|
|
||||||
# 'faust2alsa') and an optional list of propagatedBuildInputs. It
|
|
||||||
# returns a derivation that contains only the bin/${appl} script,
|
|
||||||
# wrapped up so that it will run as if it was inside a nix build
|
|
||||||
# with those build inputs.
|
|
||||||
#
|
|
||||||
# The build input 'faust' is automatically added to the
|
|
||||||
# propagatedBuildInputs.
|
|
||||||
wrapWithBuildEnv =
|
|
||||||
{ baseName
|
|
||||||
, propagatedBuildInputs ? [ ]
|
|
||||||
, ...
|
|
||||||
}@args:
|
|
||||||
|
|
||||||
stdenv.mkDerivation ((faust2ApplBase args) // {
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
|
|
||||||
# export parts of the build environment
|
|
||||||
for script in "$out"/bin/*; do
|
|
||||||
wrapProgram "$script" \
|
|
||||||
--set FAUSTLIB "${faust}/lib/faust" \
|
|
||||||
--set FAUSTINC "${faust}/include/faust" \
|
|
||||||
--prefix PATH : "$PATH" \
|
|
||||||
--prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \
|
|
||||||
--set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \
|
|
||||||
--set NIX_LDFLAGS "$NIX_LDFLAGS"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
# Builder for 'faust2appl' scripts, such as faust2firefox that
|
|
||||||
# simply need to be wrapped with some dependencies on PATH.
|
|
||||||
#
|
|
||||||
# The build input 'faust' is automatically added to the PATH.
|
|
||||||
wrap =
|
|
||||||
{ baseName
|
|
||||||
, runtimeInputs ? [ ]
|
|
||||||
, ...
|
|
||||||
}@args:
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
runtimePath = concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs));
|
|
||||||
|
|
||||||
in stdenv.mkDerivation ((faust2ApplBase args) // {
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
for script in "$out"/bin/*; do
|
|
||||||
wrapProgram "$script" --prefix PATH : "${runtimePath}"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
in faust
|
|
|
@ -97,20 +97,20 @@ let
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }:
|
buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit pname version src wmClass jdk buildNumber;
|
inherit pname version src wmClass jdk buildNumber;
|
||||||
product = "DataSpell";
|
product = "DataSpell";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/dataspell/";
|
homepage = "https://www.jetbrains.com/dataspell/";
|
||||||
inherit description license platforms;
|
inherit description license platforms;
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
DataSpell is a new IDE from JetBrains built for Data Scientists.
|
DataSpell is a new IDE from JetBrains built for Data Scientists.
|
||||||
Mainly it integrates Jupyter notebooks in the IntelliJ platform.
|
Mainly it integrates Jupyter notebooks in the IntelliJ platform.
|
||||||
'';
|
'';
|
||||||
maintainers = with maintainers; [ leona ];
|
maintainers = with maintainers; [ leona ];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
buildGateway = { pname, version, src, license, description, wmClass, buildNumber, product, ... }:
|
buildGateway = { pname, version, src, license, description, wmClass, buildNumber, product, ... }:
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
|
@ -132,6 +132,10 @@ let
|
||||||
(mkJetBrainsProduct {
|
(mkJetBrainsProduct {
|
||||||
inherit pname version src wmClass jdk buildNumber;
|
inherit pname version src wmClass jdk buildNumber;
|
||||||
product = "Goland";
|
product = "Goland";
|
||||||
|
extraWrapperArgs = [
|
||||||
|
# fortify source breaks build since delve compiles with -O0
|
||||||
|
''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"''
|
||||||
|
];
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.jetbrains.com/go/";
|
homepage = "https://www.jetbrains.com/go/";
|
||||||
inherit description license platforms;
|
inherit description license platforms;
|
||||||
|
@ -148,9 +152,6 @@ let
|
||||||
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
||||||
patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
|
patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
|
||||||
chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
|
chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
|
||||||
# fortify source breaks build since delve compiles with -O0
|
|
||||||
wrapProgram $out/bin/goland \
|
|
||||||
--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"
|
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,8 @@ rec {
|
||||||
# Only use if you know what youre doing
|
# Only use if you know what youre doing
|
||||||
raw = { inherit files byId byName; };
|
raw = { inherit files byId byName; };
|
||||||
|
|
||||||
|
tests = callPackage ./tests.nix {};
|
||||||
|
|
||||||
addPlugins = ide: unprocessedPlugins:
|
addPlugins = ide: unprocessedPlugins:
|
||||||
let
|
let
|
||||||
|
|
||||||
|
@ -98,14 +100,6 @@ rec {
|
||||||
let
|
let
|
||||||
pluginCmdsLines = map (plugin: "ln -s ${plugin} \"$out\"/${meta.mainProgram}/plugins/${baseNameOf plugin}") plugins;
|
pluginCmdsLines = map (plugin: "ln -s ${plugin} \"$out\"/${meta.mainProgram}/plugins/${baseNameOf plugin}") plugins;
|
||||||
pluginCmds = builtins.concatStringsSep "\n" pluginCmdsLines;
|
pluginCmds = builtins.concatStringsSep "\n" pluginCmdsLines;
|
||||||
extraBuildPhase = rec {
|
|
||||||
clion = ''
|
|
||||||
sed "s|${ide}|$out|" -i $out/bin/.clion-wrapped
|
|
||||||
'';
|
|
||||||
goland = ''
|
|
||||||
sed "s|${ide}|$out|" -i $out/bin/.goland-wrapped
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
cp -r ${ide} $out
|
cp -r ${ide} $out
|
||||||
|
@ -115,8 +109,10 @@ rec {
|
||||||
do
|
do
|
||||||
ln -s "$plugin" -t $out/${meta.mainProgram}/plugins/
|
ln -s "$plugin" -t $out/${meta.mainProgram}/plugins/
|
||||||
done
|
done
|
||||||
sed "s|${ide.outPath}|$out|" -i $out/bin/${meta.mainProgram}
|
sed "s|${ide.outPath}|$out|" \
|
||||||
|
-i $(realpath $out/bin/${meta.mainProgram}) \
|
||||||
|
-i $(realpath $out/bin/${meta.mainProgram}-remote-dev-server)
|
||||||
autoPatchelf $out/${meta.mainProgram}/bin
|
autoPatchelf $out/${meta.mainProgram}/bin
|
||||||
'' + (extraBuildPhase."${ide.meta.mainProgram}" or "");
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,6 +244,33 @@
|
||||||
},
|
},
|
||||||
"name": "csv-editor"
|
"name": "csv-editor"
|
||||||
},
|
},
|
||||||
|
"12062": {
|
||||||
|
"compatible": [
|
||||||
|
"clion",
|
||||||
|
"datagrip",
|
||||||
|
"goland",
|
||||||
|
"idea-community",
|
||||||
|
"idea-ultimate",
|
||||||
|
"mps",
|
||||||
|
"phpstorm",
|
||||||
|
"pycharm-community",
|
||||||
|
"pycharm-professional",
|
||||||
|
"rider",
|
||||||
|
"ruby-mine",
|
||||||
|
"webstorm"
|
||||||
|
],
|
||||||
|
"builds": {
|
||||||
|
"223.8836.1185": "https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip",
|
||||||
|
"231.9011.35": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.12": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.15": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.16": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.18": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.21": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip",
|
||||||
|
"231.9225.23": "https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip"
|
||||||
|
},
|
||||||
|
"name": "vscode-keymap"
|
||||||
|
},
|
||||||
"12559": {
|
"12559": {
|
||||||
"compatible": [
|
"compatible": [
|
||||||
"clion",
|
"clion",
|
||||||
|
@ -383,6 +410,8 @@
|
||||||
"files": {
|
"files": {
|
||||||
"https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip": "sha256-JC/NOICLHf1gc4wTarDPw7lYfGHOkCOlG194yt18xOA=",
|
"https://plugins.jetbrains.com/files/10037/358810/CSVEditor-3.2.1-231.zip": "sha256-JC/NOICLHf1gc4wTarDPw7lYfGHOkCOlG194yt18xOA=",
|
||||||
"https://plugins.jetbrains.com/files/10037/358812/CSVEditor-3.2.1-223.zip": "sha256-l8xq7XXQheZYcP+kdnLXAO7FhfPJYwIh+ZffbttBI9s=",
|
"https://plugins.jetbrains.com/files/10037/358812/CSVEditor-3.2.1-223.zip": "sha256-l8xq7XXQheZYcP+kdnLXAO7FhfPJYwIh+ZffbttBI9s=",
|
||||||
|
"https://plugins.jetbrains.com/files/12062/256327/keymap-vscode-223.7571.113.zip": "sha256-MlWTPLA6517inAtiOdJDUeUMyHczXzeUIe4dfASLzsM=",
|
||||||
|
"https://plugins.jetbrains.com/files/12062/307834/keymap-vscode-231.8109.91.zip": "sha256-OqK3HmcksgNlrADv7Ld91VCW+uzTOVWtcXcRC60IKfw=",
|
||||||
"https://plugins.jetbrains.com/files/12559/257029/keymap-eclipse-223.7571.125.zip": "sha256-0hMn8Qt+xJjB9HnYz7OMw8xmI0FxDFy+lYfXHURhTKY=",
|
"https://plugins.jetbrains.com/files/12559/257029/keymap-eclipse-223.7571.125.zip": "sha256-0hMn8Qt+xJjB9HnYz7OMw8xmI0FxDFy+lYfXHURhTKY=",
|
||||||
"https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip": "sha256-8jUsRK4evNMzjuWQIjIMrvQ0sIXPoY1C/buu1nod5X8=",
|
"https://plugins.jetbrains.com/files/12559/307825/keymap-eclipse-231.8109.91.zip": "sha256-8jUsRK4evNMzjuWQIjIMrvQ0sIXPoY1C/buu1nod5X8=",
|
||||||
"https://plugins.jetbrains.com/files/13017/257030/keymap-visualStudio-223.7571.125.zip": "sha256-YiJALivO1a+I4bCtZEv68PZ21Vydk5UW6gAgErj28DQ=",
|
"https://plugins.jetbrains.com/files/13017/257030/keymap-visualStudio-223.7571.125.zip": "sha256-YiJALivO1a+I4bCtZEv68PZ21Vydk5UW6gAgErj28DQ=",
|
||||||
|
|
26
pkgs/applications/editors/jetbrains/plugins/tests.nix
Normal file
26
pkgs/applications/editors/jetbrains/plugins/tests.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ jetbrains, writeText }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Check to see if the process for adding plugins is breaking anything, instead of the plugins themselves
|
||||||
|
default =
|
||||||
|
let
|
||||||
|
modify-ide = ide: jetbrains.plugins.addPlugins ide [ ];
|
||||||
|
ides = with jetbrains; map modify-ide [
|
||||||
|
clion
|
||||||
|
datagrip
|
||||||
|
dataspell
|
||||||
|
goland
|
||||||
|
idea-community
|
||||||
|
idea-ultimate
|
||||||
|
mps
|
||||||
|
phpstorm
|
||||||
|
pycharm-community
|
||||||
|
pycharm-professional
|
||||||
|
rider
|
||||||
|
ruby-mine
|
||||||
|
webstorm
|
||||||
|
];
|
||||||
|
paths = builtins.concatStringsSep " " ides;
|
||||||
|
in
|
||||||
|
writeText "jb-ides" paths;
|
||||||
|
}
|
|
@ -110,13 +110,13 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"aws": {
|
"aws": {
|
||||||
"hash": "sha256-VDet4IGyd0RXCzlQ+s08QwX9eby5oYfwq2eVRfSS9ME=",
|
"hash": "sha256-6/KnfV4Gti79nh9Cpic1swfOjDkxRK1Zx57DLqTj/nE=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"repo": "terraform-provider-aws",
|
"repo": "terraform-provider-aws",
|
||||||
"rev": "v5.8.0",
|
"rev": "v5.9.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-oNPWz/0jcSL0FYuIW9wnj8Jp94vm9dJdiC9gfhtbQiU="
|
"vendorHash": "sha256-uBfZLiKLv60WoN+DXf6U62XnHxYt/jx2DRcWP58B6GA="
|
||||||
},
|
},
|
||||||
"azuread": {
|
"azuread": {
|
||||||
"hash": "sha256-6LSvqMi79HW1GdEG0lSVwLF2nWft/JnKyj9EQO4pMW4=",
|
"hash": "sha256-6LSvqMi79HW1GdEG0lSVwLF2nWft/JnKyj9EQO4pMW4=",
|
||||||
|
@ -128,11 +128,11 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"azurerm": {
|
"azurerm": {
|
||||||
"hash": "sha256-4cJal4GrL8OwoFNMjN0AKlicq2mC0ba3N8bYISMaY3A=",
|
"hash": "sha256-7irC2P8Sev0lqUbJrHi6MjZGQ1ag0BDiQ84iEBVoDss=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
|
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"repo": "terraform-provider-azurerm",
|
"repo": "terraform-provider-azurerm",
|
||||||
"rev": "v3.65.0",
|
"rev": "v3.66.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
|
@ -282,13 +282,13 @@
|
||||||
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
|
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
|
||||||
},
|
},
|
||||||
"datadog": {
|
"datadog": {
|
||||||
"hash": "sha256-2ahiJ4YL0BmrDwc9f9fp/ppStb51bZlzpwEfuTAlgko=",
|
"hash": "sha256-sytQJgrfgtJ761mGo0KUTxAukqvmPYyLM8+vsYGtoZc=",
|
||||||
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
|
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
|
||||||
"owner": "DataDog",
|
"owner": "DataDog",
|
||||||
"repo": "terraform-provider-datadog",
|
"repo": "terraform-provider-datadog",
|
||||||
"rev": "v3.27.0",
|
"rev": "v3.28.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-yAOWcs+rFjjp21Xq1Ch/sE/6N0BSpOC167mxIOmR9nk="
|
"vendorHash": "sha256-foS7GyRUdhF/M8uTPf2I4WQo7qEg4Z/3FXjagoeSRkU="
|
||||||
},
|
},
|
||||||
"dhall": {
|
"dhall": {
|
||||||
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
||||||
|
@ -971,13 +971,13 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"scaleway": {
|
"scaleway": {
|
||||||
"hash": "sha256-W1s4SCxpPsZH31KOExoGX1h5y8twaJQ6qKPiRXUkTZk=",
|
"hash": "sha256-NFBDqRVlSzEHTptAWg3OnK5zYm6JnvuzZnfh8mTtl2Q=",
|
||||||
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
|
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
|
||||||
"owner": "scaleway",
|
"owner": "scaleway",
|
||||||
"repo": "terraform-provider-scaleway",
|
"repo": "terraform-provider-scaleway",
|
||||||
"rev": "v2.25.0",
|
"rev": "v2.25.1",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-wwm0edsOwsuCiURFI2Y2Jue0FD+4pAzyDxqSVJYkQYE="
|
"vendorHash": "sha256-rgM+TkygUIUXbw+QNsZOr003A/42iC52Zybw2zBJ15U="
|
||||||
},
|
},
|
||||||
"secret": {
|
"secret": {
|
||||||
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
|
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
|
||||||
|
@ -1198,13 +1198,13 @@
|
||||||
"vendorHash": "sha256-xd2tsJ5k/8PCSegHqeyJ1ePFBS0ho8SD+4m4QyFMTL0="
|
"vendorHash": "sha256-xd2tsJ5k/8PCSegHqeyJ1ePFBS0ho8SD+4m4QyFMTL0="
|
||||||
},
|
},
|
||||||
"vcd": {
|
"vcd": {
|
||||||
"hash": "sha256-AiVmxqktBgvXbMl6jA5sMa86sEAvxD1LjVuxdwdBJvU=",
|
"hash": "sha256-ltdkB9PqmuCs5daRjcThVhy1wIoDW21yBiwtRo/pMss=",
|
||||||
"homepage": "https://registry.terraform.io/providers/vmware/vcd",
|
"homepage": "https://registry.terraform.io/providers/vmware/vcd",
|
||||||
"owner": "vmware",
|
"owner": "vmware",
|
||||||
"repo": "terraform-provider-vcd",
|
"repo": "terraform-provider-vcd",
|
||||||
"rev": "v3.9.0",
|
"rev": "v3.10.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-dYFLohH/gU+cAiaLLNluxAjfj7giqnk+zQKGVSR1Kws="
|
"vendorHash": "sha256-p/wTnEr/+qe8S83x6EtfsnIMVUF1VWZVHOq0vLDbh60="
|
||||||
},
|
},
|
||||||
"venafi": {
|
"venafi": {
|
||||||
"hash": "sha256-/5X/+BilaYwi1Vce7mIvVeHjTpVX/OuYquZ+2BGfxrs=",
|
"hash": "sha256-/5X/+BilaYwi1Vce7mIvVeHjTpVX/OuYquZ+2BGfxrs=",
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "thelounge";
|
pname = "thelounge";
|
||||||
version = "4.4.0";
|
version = "4.4.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "thelounge";
|
owner = "thelounge";
|
||||||
repo = "thelounge";
|
repo = "thelounge";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-2MHq71lKkFe1uHEENgUiYsO99bPyLmEZZIdcdgsZfSM=";
|
hash = "sha256-4FdNYP9VLgv/rfvT7KHCF+ABFsZvPbJjfz6IvvDkRNA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Allow setting package path for the NixOS module.
|
# Allow setting package path for the NixOS module.
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||||
hash = "sha256-OKLsNGl94EDyLgP2X2tiwihgRQFXGvf5XgXwgX+JEpk=";
|
hash = "sha256-MM6SgVT7Pjdu96A4eWRucEzT7uNPxBqUDgHKl8mH2C0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ nodejs yarn fixup_yarn_lock python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
nativeBuildInputs = [ nodejs yarn fixup_yarn_lock python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
, opusTools
|
, opusTools
|
||||||
, gst_all_1
|
, gst_all_1
|
||||||
, enableSonos ? true
|
, enableSonos ? true
|
||||||
|
, qtwayland
|
||||||
}:
|
}:
|
||||||
let packages = [
|
let packages = [
|
||||||
vorbis-tools
|
vorbis-tools
|
||||||
|
@ -27,17 +28,18 @@ let packages = [
|
||||||
] ++ lib.optionals stdenv.isLinux [ pulseaudio ];
|
] ++ lib.optionals stdenv.isLinux [ pulseaudio ];
|
||||||
|
|
||||||
in
|
in
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication {
|
||||||
pname = "mkchromecast-unstable";
|
pname = "mkchromecast-unstable";
|
||||||
version = "2022-10-31";
|
version = "2022-10-31";
|
||||||
|
|
||||||
src = fetchFromGitHub rec {
|
src = fetchFromGitHub {
|
||||||
owner = "muammar";
|
owner = "muammar";
|
||||||
repo = "mkchromecast";
|
repo = "mkchromecast";
|
||||||
rev = "0de9fd78c4122dec4f184aeae2564790b45fe6dc";
|
rev = "0de9fd78c4122dec4f184aeae2564790b45fe6dc";
|
||||||
sha256 = "sha256-dxsIcBPrZaXlsfzOEXhYj2qoK5LRducJG2ggMrMMl9Y=";
|
sha256 = "sha256-dxsIcBPrZaXlsfzOEXhYj2qoK5LRducJG2ggMrMMl9Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildInputs = lib.optional stdenv.isLinux qtwayland;
|
||||||
propagatedBuildInputs = with python3Packages; ([
|
propagatedBuildInputs = with python3Packages; ([
|
||||||
pychromecast
|
pychromecast
|
||||||
psutil
|
psutil
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
{ lib
|
||||||
|
, CoreServices
|
||||||
|
, Security
|
||||||
|
, fetchFromGitea
|
||||||
|
, installShellFiles
|
||||||
|
, openssl
|
||||||
|
, pkg-config
|
||||||
|
, rustPlatform
|
||||||
|
, stdenv
|
||||||
|
}:
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "codeberg-cli";
|
||||||
|
version = "0.3.5";
|
||||||
|
|
||||||
|
src = fetchFromGitea {
|
||||||
|
domain = "codeberg.org";
|
||||||
|
owner = "RobWalt";
|
||||||
|
repo = "codeberg-cli";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-KjH78yqfZoN24TBYyFZuxf7z9poRov0uFYQ8+eq9p/o=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-RE4Zwa5vUWPc42w5GaaYkS6fLIbges1fAsOUuwqR2ag=";
|
||||||
|
nativeBuildInputs = [ pkg-config installShellFiles ];
|
||||||
|
|
||||||
|
buildInputs = [ openssl ]
|
||||||
|
++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
installShellCompletion --cmd berg \
|
||||||
|
--bash <($out/bin/berg completion bash) \
|
||||||
|
--fish <($out/bin/berg completion fish) \
|
||||||
|
--zsh <($out/bin/berg completion zsh)
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "CLI Tool for Codeberg similar to gh and glab";
|
||||||
|
homepage = "https://codeberg.org/RobWalt/codeberg-cli";
|
||||||
|
license = with licenses; [ agpl3Plus ];
|
||||||
|
maintainers = with maintainers; [ robwalt ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,12 +20,12 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitea";
|
pname = "gitea";
|
||||||
version = "1.19.4";
|
version = "1.20.0";
|
||||||
|
|
||||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||||
hash = "sha256-vNMNEKMpUoVLUGwPPVhLKfElFmjCWgZHY5i1liNs+xk=";
|
hash = "sha256-ME2ZYSeaHru/7wBFBmXLpf9dKpl0WrtrmAqmzw37tq4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "gleam";
|
pname = "gleam";
|
||||||
version = "0.30.1";
|
version = "0.30.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gleam-lang";
|
owner = "gleam-lang";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-x/Wb65UIVzuIBwbJmTNVpCzNBu/0bIDL5UD98Bo8n4Q=";
|
hash = "sha256-XrXN+HZlCPzywFo10/vLHbz/zjglSZnNQKfYvLvx35I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ git pkg-config ];
|
nativeBuildInputs = [ git pkg-config ];
|
||||||
|
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildInputs = [ openssl ] ++
|
buildInputs = [ openssl ] ++
|
||||||
lib.optionals stdenv.isDarwin [ Security libiconv ];
|
lib.optionals stdenv.isDarwin [ Security libiconv ];
|
||||||
|
|
||||||
cargoHash = "sha256-IKCrIATDALS4Bvl26dzVlHtj90U+XR3n7+Lu772sy1I=";
|
cargoHash = "sha256-K7MrrnupH1BS8KEIgVdlnGF91J5ND5umgdeLVCg7DbQ=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A statically typed language for the Erlang VM";
|
description = "A statically typed language for the Erlang VM";
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
let source =
|
let source =
|
||||||
if lib.versionAtLeast ocaml.version "4.13"
|
if lib.versionAtLeast ocaml.version "4.13"
|
||||||
then {
|
then {
|
||||||
version = "0.21.0";
|
version = "0.26.0";
|
||||||
sha256 = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0=";
|
sha256 = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30=";
|
||||||
} else {
|
} else {
|
||||||
version = "0.20.0";
|
version = "0.20.0";
|
||||||
sha256 = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk=";
|
sha256 = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk=";
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bleak-retry-connector";
|
pname = "bleak-retry-connector";
|
||||||
version = "3.0.2";
|
version = "3.1.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-mJQ3Y6o6HAqnktsPVuD9ebGgJo0BjSnlDTyqTpNPb1M=";
|
hash = "sha256-hFtk25ia3ZupqAWp9ODLYGMClKLPU9UrSfYFXRX4rJE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bluetooth-adapters";
|
pname = "bluetooth-adapters";
|
||||||
version = "0.15.4";
|
version = "0.16.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-H8QkOs+QPN9jB/g4f3OaGlX/F2SO2hIDptoPB47ogqA=";
|
hash = "sha256-gbnsTRiT/4YumyaJ1h4VRzDAf8/oSkD3yL9mdACvWWk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bluetooth-data-tools";
|
pname = "bluetooth-data-tools";
|
||||||
version = "1.3.0";
|
version = "1.6.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-uN3N8/RzZyMp+ljgGYqBLUperNYOnbOPTWjlDlos5QE=";
|
hash = "sha256-Doz8T7XuX/8JFu1yutTUxrtvasDLWD3Fp/+JMLEUIQM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
@ -21,7 +20,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bravado-core";
|
pname = "bravado-core";
|
||||||
version = "5.17.1";
|
version = "6.1.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -30,7 +29,7 @@ buildPythonPackage rec {
|
||||||
owner = "Yelp";
|
owner = "Yelp";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-7LnKNR1/YIzw2iIPYXAuoC6G7fdm4D3frkSl/wJhYG4=";
|
hash = "sha256-/ePs3znbwamMHHzb/PD4UHq+7v0j1r1X3J3Bnb4S2VU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,11 +5,12 @@
|
||||||
, pycryptodome
|
, pycryptodome
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, setuptools
|
, setuptools
|
||||||
|
, solc-select
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "crytic-compile";
|
pname = "crytic-compile";
|
||||||
version = "0.3.0";
|
version = "0.3.3";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -18,18 +19,22 @@ buildPythonPackage rec {
|
||||||
owner = "crytic";
|
owner = "crytic";
|
||||||
repo = "crytic-compile";
|
repo = "crytic-compile";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-4iTvtu2TmxvLTyWm4PV0+yV1fRLYpJHZNBgjy1MFLjM=";
|
hash = "sha256-Nx3eKy/0BLg82o3qDHjxcHXtpX3KDdnBKYwCuTLWRUE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
cbor2
|
cbor2
|
||||||
pycryptodome
|
pycryptodome
|
||||||
setuptools
|
setuptools
|
||||||
|
solc-select
|
||||||
];
|
];
|
||||||
|
|
||||||
# Test require network access
|
# Test require network access
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
# required for import check to work
|
||||||
|
# PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
|
||||||
|
env.HOME = "/tmp";
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"crytic_compile"
|
"crytic_compile"
|
||||||
];
|
];
|
||||||
|
@ -39,6 +44,6 @@ buildPythonPackage rec {
|
||||||
homepage = "https://github.com/crytic/crytic-compile";
|
homepage = "https://github.com/crytic/crytic-compile";
|
||||||
changelog = "https://github.com/crytic/crytic-compile/releases/tag/${version}";
|
changelog = "https://github.com/crytic/crytic-compile/releases/tag/${version}";
|
||||||
license = licenses.agpl3Plus;
|
license = licenses.agpl3Plus;
|
||||||
maintainers = with maintainers; [ SuperSandro2000 arturcygan ];
|
maintainers = with maintainers; [ arturcygan hellwolf ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,8 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
__darwinAllowLocalNetworking = true;
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytest-httpserver
|
pytest-httpserver
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
|
|
@ -28,14 +28,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "google-cloud-bigquery";
|
pname = "google-cloud-bigquery";
|
||||||
version = "3.11.3";
|
version = "3.11.4";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-1Fhb6edsmE7IPvKQ6+/xdWLSyfL0+E0wFdm3sntJmp0=";
|
hash = "sha256-aX3xFyQaIoO8u5OyHhC63BTlHJqQgA0qfho+HH2EKXQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "google-cloud-container";
|
pname = "google-cloud-container";
|
||||||
version = "2.26.0";
|
version = "2.27.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-fUqX5n/tQ7BgtIo3/1jyOGvkIUiVltbfLpzwIZ0YJ0M=";
|
hash = "sha256-d5XR09tdeJ/x5SRtExplDUWsbFXBtzcTQ4pbWhmjkvk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -9,16 +9,16 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "identify";
|
pname = "identify";
|
||||||
version = "2.5.24";
|
version = "2.5.25";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pre-commit";
|
owner = "pre-commit";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-L73M+lWonuT7sSk+piBkZZJtxxeBvZ1XUXUypvS65G0=";
|
hash = "sha256-kqeqo0qWE9O9Q57Ef/0zTSGR04ubYibFFs6FzP9UQys=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "msoffcrypto-tool";
|
pname = "msoffcrypto-tool";
|
||||||
version = "5.0.1";
|
version = "5.1.1";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nolze";
|
owner = "nolze";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-OrGgY+CEhAHGOOIPYK8OijRdoh0PRelnsKB++ksUIXY=";
|
hash = "sha256-A1TeTE4TMHAb+KtFxTi+b4yTfuEFya8iyzy92dzQ0Z4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pynisher";
|
pname = "pynisher";
|
||||||
version = "1.0.5";
|
version = "1.0.7";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-usSowgCwGTATiX1dbPpScO9/FI+E567dvGZxAC+zS14=";
|
hash = "sha256-cqgRoV3AJn96zAJDGbRJ5e3xOTuujmBu8HwZi2RQ6GY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -9,12 +9,13 @@
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, setuptools
|
, setuptools
|
||||||
, solc
|
, solc
|
||||||
|
, web3
|
||||||
, withSolc ? false
|
, withSolc ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "slither-analyzer";
|
pname = "slither-analyzer";
|
||||||
version = "0.9.2";
|
version = "0.9.6";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -23,7 +24,7 @@ buildPythonPackage rec {
|
||||||
owner = "crytic";
|
owner = "crytic";
|
||||||
repo = "slither";
|
repo = "slither";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-Co3BFdLmSIMqlZVEPJHYH/Cf7oKYSZ+Ktbnd5RZGmfE=";
|
hash = "sha256-c6H7t+aPPWn1i/30G9DLOmwHhdHHHbcP3FRVVjk1XR4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -35,6 +36,7 @@ buildPythonPackage rec {
|
||||||
packaging
|
packaging
|
||||||
prettytable
|
prettytable
|
||||||
setuptools
|
setuptools
|
||||||
|
web3
|
||||||
];
|
];
|
||||||
|
|
||||||
postFixup = lib.optionalString withSolc ''
|
postFixup = lib.optionalString withSolc ''
|
||||||
|
@ -55,6 +57,6 @@ buildPythonPackage rec {
|
||||||
homepage = "https://github.com/trailofbits/slither";
|
homepage = "https://github.com/trailofbits/slither";
|
||||||
changelog = "https://github.com/crytic/slither/releases/tag/${version}";
|
changelog = "https://github.com/crytic/slither/releases/tag/${version}";
|
||||||
license = licenses.agpl3Plus;
|
license = licenses.agpl3Plus;
|
||||||
maintainers = with maintainers; [ arturcygan fab ];
|
maintainers = with maintainers; [ arturcygan fab hellwolf ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "types-urllib3";
|
pname = "types-urllib3";
|
||||||
version = "1.26.25.13";
|
version = "1.26.25.14";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-MwBTjJ3BHa0y6uSCesMT9dmGuLIUlIAfG/l6GsbAOuU=";
|
hash = "sha256-Ipt/V3yVG4wbksG8Ky/bC0mEe9KvbRzCouPdNA872o8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Module doesn't have tests
|
# Module doesn't have tests
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
# runtime dependencies
|
||||||
|
, layoutparser
|
||||||
|
, python-multipart
|
||||||
|
, huggingface-hub
|
||||||
|
, opencv
|
||||||
|
, onnxruntime
|
||||||
|
, transformers
|
||||||
|
, detectron2
|
||||||
|
# check inputs
|
||||||
|
, pytestCheckHook
|
||||||
|
, coverage
|
||||||
|
, click
|
||||||
|
, httpx
|
||||||
|
, mypy
|
||||||
|
, pytest-cov
|
||||||
|
, pdf2image
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "unstructured-inference";
|
||||||
|
version = "0.5.5";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Unstructured-IO";
|
||||||
|
repo = "unstructured-inference";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-Oma6vPoiA+5czauYFgsU1W6UECDRurYmBTaCSiEILNs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace requirements/base.in \
|
||||||
|
--replace "opencv-python" "opencv"
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
layoutparser
|
||||||
|
python-multipart
|
||||||
|
huggingface-hub
|
||||||
|
opencv
|
||||||
|
onnxruntime
|
||||||
|
transformers
|
||||||
|
detectron2
|
||||||
|
# paddleocr
|
||||||
|
# yolox
|
||||||
|
]
|
||||||
|
++ layoutparser.optional-dependencies.layoutmodels
|
||||||
|
++ layoutparser.optional-dependencies.tesseract;
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
coverage
|
||||||
|
click
|
||||||
|
httpx
|
||||||
|
mypy
|
||||||
|
pytest-cov
|
||||||
|
pdf2image
|
||||||
|
huggingface-hub
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# not sure why this fails
|
||||||
|
"test_get_path_oob_move_deeply_nested"
|
||||||
|
"test_get_path_oob_move_nested[False]"
|
||||||
|
# requires yolox
|
||||||
|
"test_yolox"
|
||||||
|
# requires paddleocr
|
||||||
|
"test_table_prediction"
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
|
# network access
|
||||||
|
"test_unstructured_inference/inference/test_layout.py"
|
||||||
|
"test_unstructured_inference/models/test_chippermodel.py"
|
||||||
|
"test_unstructured_inference/models/test_detectron2.py"
|
||||||
|
"test_unstructured_inference/models/test_detectron2onnx.py"
|
||||||
|
# unclear failure
|
||||||
|
"test_unstructured_inference/models/test_donut.py"
|
||||||
|
"test_unstructured_inference/models/test_model.py"
|
||||||
|
"test_unstructured_inference/models/test_tables.py"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "unstructured_inference" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "";
|
||||||
|
homepage = "https://github.com/Unstructured-IO/unstructured-inference";
|
||||||
|
changelog = "https://github.com/Unstructured-IO/unstructured-inference/blob/${src.rev}/CHANGELOG.md";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ happysalada ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "weconnect";
|
pname = "weconnect";
|
||||||
version = "0.55.0";
|
version = "0.56.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "tillsteinbach";
|
owner = "tillsteinbach";
|
||||||
repo = "WeConnect-python";
|
repo = "WeConnect-python";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-+ISWPrpY/urpZZZrn6+Ii8gbrwkQMLL6gXhydXd8HqI=";
|
hash = "sha256-Z6QIEFITMjmB3JbbcfGC5JMJtAz5/3F21TRgao5lBs0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
, qtsvg
|
, qtsvg
|
||||||
, qttools
|
, qttools
|
||||||
, qtwebengine
|
, qtwebengine
|
||||||
|
, qtwayland
|
||||||
, qtshadertools
|
, qtshadertools
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, yaml-cpp
|
, yaml-cpp
|
||||||
|
@ -28,11 +29,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "qtcreator";
|
pname = "qtcreator";
|
||||||
version = "10.0.2";
|
version = "11.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
|
url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
|
||||||
hash = "sha256-2n/F59wagMccCeJFt9JxHrAbpXXi+ZEQ0Ep855mSbU4=";
|
hash = "sha256-2/RPVfsDg00nC+3v9pWsT8Aq862oRfW575graxWaFDA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
|
||||||
qtsvg
|
qtsvg
|
||||||
qtquick3d
|
qtquick3d
|
||||||
qtwebengine
|
qtwebengine
|
||||||
|
qtwayland
|
||||||
qtserialport
|
qtserialport
|
||||||
qtshadertools
|
qtshadertools
|
||||||
qt5compat
|
qt5compat
|
||||||
|
|
|
@ -52,31 +52,31 @@
|
||||||
"6.1": {
|
"6.1": {
|
||||||
"patch": {
|
"patch": {
|
||||||
"extra": "-hardened1",
|
"extra": "-hardened1",
|
||||||
"name": "linux-hardened-6.1.38-hardened1.patch",
|
"name": "linux-hardened-6.1.39-hardened1.patch",
|
||||||
"sha256": "0sv8i26xwgw3a36yga79n36a5xbrs3ajn8wdkqn40ydbzp24i0qc",
|
"sha256": "0j4sgcs6m2mq9dn1v525bymhdhha3x8ivrpfrhqm553q4vdnmbg7",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.38-hardened1/linux-hardened-6.1.38-hardened1.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.39-hardened1/linux-hardened-6.1.39-hardened1.patch"
|
||||||
},
|
},
|
||||||
"sha256": "0hrdh1w9z8bgy4cxqsxfkwa01yincfw1mq1bbwm36zczc0dzk97r",
|
"sha256": "1f45j3ch1ljbacjlg8q45iva9lvwys938rdg0s516mznzlifxpac",
|
||||||
"version": "6.1.38"
|
"version": "6.1.39"
|
||||||
},
|
},
|
||||||
"6.3": {
|
"6.3": {
|
||||||
"patch": {
|
"patch": {
|
||||||
"extra": "-hardened1",
|
"extra": "-hardened1",
|
||||||
"name": "linux-hardened-6.3.12-hardened1.patch",
|
"name": "linux-hardened-6.3.13-hardened1.patch",
|
||||||
"sha256": "12dqdn2prr0mczwcy48907wpp235n87pl22gwyfilsxcj94x2wrx",
|
"sha256": "1iy95awbkrdk5529w9s07axb21l2snab4kifbzjghhz9vwzx22rp",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.3.12-hardened1/linux-hardened-6.3.12-hardened1.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.3.13-hardened1/linux-hardened-6.3.13-hardened1.patch"
|
||||||
},
|
},
|
||||||
"sha256": "1mvcirkhqnf03cci3jiq077fs9b42a3xdk3zjkpyim3x43ydwzyb",
|
"sha256": "1ywijjhf19bciip75ppzjjh7bkadd449jr64yg2j5049w9h0aipa",
|
||||||
"version": "6.3.12"
|
"version": "6.3.13"
|
||||||
},
|
},
|
||||||
"6.4": {
|
"6.4": {
|
||||||
"patch": {
|
"patch": {
|
||||||
"extra": "-hardened1",
|
"extra": "-hardened1",
|
||||||
"name": "linux-hardened-6.4.3-hardened1.patch",
|
"name": "linux-hardened-6.4.4-hardened1.patch",
|
||||||
"sha256": "1xwy9088f8qy7algv1gad90gd6sv03diz16jvfnk2yb01k4f87wv",
|
"sha256": "0yy02hn190wvl24z1j9kjmnyxrlp6s9fhkyvqgcm8i56d7d69zhb",
|
||||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.3-hardened1/linux-hardened-6.4.3-hardened1.patch"
|
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.4-hardened1/linux-hardened-6.4.4-hardened1.patch"
|
||||||
},
|
},
|
||||||
"sha256": "18c8ikghvlr6h9jajy11dldck4h57wl301j14rxg7xhd6qlysd3i",
|
"sha256": "0apzfnn04w6jda9yw5cbgj8784frvqrryb1iw5ad390lwwmlmg4w",
|
||||||
"version": "6.4.3"
|
"version": "6.4.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
buildLinux (args // rec {
|
buildLinux (args // rec {
|
||||||
version = "6.1.38";
|
version = "6.1.39";
|
||||||
|
|
||||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||||
modDirVersion = versions.pad 3 version;
|
modDirVersion = versions.pad 3 version;
|
||||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||||
sha256 = "0hrdh1w9z8bgy4cxqsxfkwa01yincfw1mq1bbwm36zczc0dzk97r";
|
sha256 = "1f45j3ch1ljbacjlg8q45iva9lvwys938rdg0s516mznzlifxpac";
|
||||||
};
|
};
|
||||||
} // (args.argsOverride or { }))
|
} // (args.argsOverride or { }))
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
buildLinux (args // rec {
|
buildLinux (args // rec {
|
||||||
version = "6.3.12";
|
version = "6.3.13";
|
||||||
|
|
||||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||||
modDirVersion = versions.pad 3 version;
|
modDirVersion = versions.pad 3 version;
|
||||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||||
sha256 = "1mvcirkhqnf03cci3jiq077fs9b42a3xdk3zjkpyim3x43ydwzyb";
|
sha256 = "1ywijjhf19bciip75ppzjjh7bkadd449jr64yg2j5049w9h0aipa";
|
||||||
};
|
};
|
||||||
} // (args.argsOverride or { }))
|
} // (args.argsOverride or { }))
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
buildLinux (args // rec {
|
buildLinux (args // rec {
|
||||||
version = "6.4.3";
|
version = "6.4.4";
|
||||||
|
|
||||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||||
modDirVersion = versions.pad 3 version;
|
modDirVersion = versions.pad 3 version;
|
||||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||||
sha256 = "18c8ikghvlr6h9jajy11dldck4h57wl301j14rxg7xhd6qlysd3i";
|
sha256 = "0apzfnn04w6jda9yw5cbgj8784frvqrryb1iw5ad390lwwmlmg4w";
|
||||||
};
|
};
|
||||||
} // (args.argsOverride or { }))
|
} // (args.argsOverride or { }))
|
||||||
|
|
50
pkgs/servers/ebusd/default.nix
Normal file
50
pkgs/servers/ebusd/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{ lib, stdenv, pkgs, fetchFromGitHub, argparse, mosquitto, cmake, autoconf, automake, libtool, pkg-config, openssl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "ebusd";
|
||||||
|
version = "23.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "john30";
|
||||||
|
repo = "ebusd";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "2CkcTTxEzVrEPtUVVDxXPPkYqZT6+gsCcfTrt83sFv8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
libtool
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
argparse
|
||||||
|
mosquitto
|
||||||
|
openssl
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./patches/ebusd-cmake.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
|
||||||
|
"-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
|
||||||
|
"-DCMAKE_INSTALL_LOCALSTATEDIR=${placeholder "TMPDIR"}"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mv $out/usr/bin $out
|
||||||
|
rmdir $out/usr
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "ebusd";
|
||||||
|
homepage = "https://github.com/john30/ebusd";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ nathan-gs ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/servers/ebusd/patches/ebusd-cmake.patch
Normal file
21
pkgs/servers/ebusd/patches/ebusd-cmake.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -184,16 +184,11 @@
|
||||||
|
add_subdirectory(src/lib/knx)
|
||||||
|
add_subdirectory(src/tools)
|
||||||
|
|
||||||
|
-if(EXISTS "${ROOT}/etc/debian_version")
|
||||||
|
- install(FILES ${CMAKE_SOURCE_DIR}/contrib/debian/default/ebusd DESTINATION /etc/default/)
|
||||||
|
- install(FILES ${CMAKE_SOURCE_DIR}/contrib/debian/init.d/ebusd DESTINATION /etc/init.d/)
|
||||||
|
- install(FILES ${CMAKE_SOURCE_DIR}/contrib/debian/systemd/ebusd.service DESTINATION /lib/systemd/system/)
|
||||||
|
-endif()
|
||||||
|
if(HAVE_MQTT)
|
||||||
|
FILE(GLOB MQTT_CFG_FILES "${CMAKE_SOURCE_DIR}/contrib/etc/ebusd/mqtt-*.cfg")
|
||||||
|
- install(FILES ${MQTT_CFG_FILES} DESTINATION /etc/ebusd/)
|
||||||
|
+ install(FILES ${MQTT_CFG_FILES} DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/ebusd/)
|
||||||
|
endif(HAVE_MQTT)
|
||||||
|
if(HAVE_KNX)
|
||||||
|
FILE(GLOB KNX_CFG_FILES "${CMAKE_SOURCE_DIR}/contrib/etc/ebusd/knx*.cfg")
|
||||||
|
- install(FILES ${KNX_CFG_FILES} DESTINATION /etc/ebusd/)
|
||||||
|
+ install(FILES ${KNX_CFG_FILES} DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/ebusd/)
|
||||||
|
endif(HAVE_KNX)
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "maskromtool";
|
pname = "maskromtool";
|
||||||
version = "2023-06-17";
|
version = "2023-07-20";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "travisgoodspeed";
|
owner = "travisgoodspeed";
|
||||||
repo = "maskromtool";
|
repo = "maskromtool";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-NumMO9whM5ZdEtxI3gjp2Ky2b8/rjPSiD9G/95xJk1o=";
|
hash = "sha256-AUZh1GAGN5RUXyK+YvQfhAp124bSI0LvCSaTRutLuE4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "amass";
|
pname = "amass";
|
||||||
version = "3.23.3";
|
version = "4.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OWASP";
|
owner = "OWASP";
|
||||||
repo = "Amass";
|
repo = "Amass";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-aOir4ezLBNWoTaDeQDWoDdV/A+Qzbq09601297o6uDE=";
|
hash = "sha256-FdOfTZG2zzO8Lp3/CbSw8ouDmveXDzbIBB34EuKiyXg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-zUl1q6rRjX958VXKnVB2YmLUpKMUtFvdh+hkIrTomes=";
|
vendorHash = "sha256-ZA9XKloUk46pdJK0Lutk1upPfT9irwR0NtmntCkzmlA=";
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
"out"
|
"out"
|
||||||
|
|
|
@ -1,38 +1,60 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, mkDerivation
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
# Haskell deps
|
, haskellPackages
|
||||||
, mkDerivation, aeson, base, base16-bytestring, binary, brick, bytestring
|
, haskell
|
||||||
, containers, data-dword, data-has, directory, exceptions, extra, filepath
|
, slither-analyzer
|
||||||
, hashable, hevm, hpack, html-entities, lens, ListLike, MonadRandom, mtl
|
|
||||||
, optparse-applicative, process, random, semver, tasty, tasty-hunit
|
|
||||||
, tasty-quickcheck, text, transformers, unix, unliftio, unordered-containers
|
|
||||||
, vector, vector-instances, vty, yaml
|
|
||||||
}:
|
}:
|
||||||
mkDerivation rec {
|
|
||||||
|
let haskellPackagesOverride = haskellPackages.override {
|
||||||
|
overrides = self: super: {
|
||||||
|
# following the revision specified in echidna/stack.yaml
|
||||||
|
# TODO: 0.51.3 is not in haskellPackages yet
|
||||||
|
hevm = haskell.lib.overrideCabal super.hevm (oa: {
|
||||||
|
version = "0.51.3";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ethereum";
|
||||||
|
repo = "hevm";
|
||||||
|
rev = "release/0.51.3";
|
||||||
|
hash = "sha256-H6oURBGoQWSOuPhBB+UKg2UarVzXgv1tmfDBLnOtdhU=";
|
||||||
|
};
|
||||||
|
libraryHaskellDepends = oa.libraryHaskellDepends
|
||||||
|
++ (with haskellPackages;[githash witch]);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in mkDerivation rec {
|
||||||
pname = "echidna";
|
pname = "echidna";
|
||||||
version = "2.0.5";
|
version = "2.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "crytic";
|
owner = "crytic";
|
||||||
repo = "echidna";
|
repo = "echidna";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-8bChe+qA4DowfuwsR5wLckb56fXi102g8vL2gAH/kYE=";
|
sha256 = "sha256-5d9ttPR3rRHywBeLM85EGCEZLNZNZzOAhIN6AJToJyI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
libraryHaskellDepends = [
|
|
||||||
aeson base base16-bytestring binary brick bytestring containers data-dword
|
libraryToolDepends = with haskellPackagesOverride; [
|
||||||
data-has directory exceptions extra filepath hashable hevm html-entities
|
haskellPackages.hpack
|
||||||
lens ListLike MonadRandom mtl optparse-applicative process random semver
|
|
||||||
text transformers unix unliftio unordered-containers vector vector-instances
|
|
||||||
vty yaml
|
|
||||||
];
|
];
|
||||||
libraryToolDepends = [ hpack ];
|
|
||||||
executableHaskellDepends = libraryHaskellDepends;
|
# Note: This can be extracted from package.yaml of echidna, the list is shorter because some are transitive.
|
||||||
testHaskellDepends = [
|
executableHaskellDepends = with haskellPackagesOverride;
|
||||||
|
[aeson base base16-bytestring binary brick bytestring code-page containers data-dword data-has directory exceptions extra
|
||||||
|
filepath hashable hevm html-conduit html-entities http-conduit lens ListLike MonadRandom mtl optics optparse-applicative
|
||||||
|
process random semver text transformers unix unliftio unordered-containers vector vector-instances vty with-utf8
|
||||||
|
xml-conduit yaml];
|
||||||
|
|
||||||
|
# Note: there is also a runtime dependency of slither-analyzer, let's include it also.
|
||||||
|
executableSystemDepends = [ slither-analyzer ];
|
||||||
|
|
||||||
|
testHaskellDepends = with haskellPackagesOverride; [
|
||||||
tasty tasty-hunit tasty-quickcheck
|
tasty tasty-hunit tasty-quickcheck
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
hpack
|
hpack
|
||||||
# re-enable dynamic build for Linux
|
# re-enable dynamic build for Linux
|
||||||
|
@ -46,7 +68,7 @@ mkDerivation rec {
|
||||||
description = "Ethereum smart contract fuzzer";
|
description = "Ethereum smart contract fuzzer";
|
||||||
homepage = "https://github.com/crytic/echidna";
|
homepage = "https://github.com/crytic/echidna";
|
||||||
license = lib.licenses.agpl3Plus;
|
license = lib.licenses.agpl3Plus;
|
||||||
maintainers = with lib.maintainers; [ arturcygan ];
|
maintainers = with lib.maintainers; [ arturcygan hellwolf ];
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
mainProgram = "echidna-test";
|
mainProgram = "echidna-test";
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "exploitdb";
|
pname = "exploitdb";
|
||||||
version = "2023-07-18";
|
version = "2023-07-21";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "exploit-database";
|
owner = "exploit-database";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-fna7N9TCrq2Fz+/S0vNQRCx35EFTRr+OiYk6aXzWfyc=";
|
hash = "sha256-HJKvIyWJSLsoVq2jpLDN7H1dsLE9+zv5bSZIh3l4W/4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -492,6 +492,7 @@ mapAliases ({
|
||||||
|
|
||||||
facette = throw "facette has been removed"; # Added 2020-01-06
|
facette = throw "facette has been removed"; # Added 2020-01-06
|
||||||
faustStk = faustPhysicalModeling; # Added 2023-05-16
|
faustStk = faustPhysicalModeling; # Added 2023-05-16
|
||||||
|
faust1 = throw "faust1 has been removed, use faust2 instead"; # Added 2022-12-03
|
||||||
fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
|
fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
|
||||||
fastnlo = fastnlo_toolkit; # Added 2021-04-24
|
fastnlo = fastnlo_toolkit; # Added 2021-04-24
|
||||||
fbreader = throw "fbreader has been removed, as the upstream project has been archived"; # Added 2022-05-26
|
fbreader = throw "fbreader has been removed, as the upstream project has been archived"; # Added 2022-05-26
|
||||||
|
|
|
@ -475,6 +475,10 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
codeberg-cli = callPackage ../applications/version-management/codeberg-cli {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Security CoreServices;
|
||||||
|
};
|
||||||
|
|
||||||
conftest = callPackage ../development/tools/conftest { };
|
conftest = callPackage ../development/tools/conftest { };
|
||||||
|
|
||||||
coldsnap = callPackage ../tools/admin/coldsnap {
|
coldsnap = callPackage ../tools/admin/coldsnap {
|
||||||
|
@ -583,6 +587,8 @@ with pkgs;
|
||||||
|
|
||||||
each = callPackage ../tools/text/each { };
|
each = callPackage ../tools/text/each { };
|
||||||
|
|
||||||
|
ebusd = callPackage ../servers/ebusd { };
|
||||||
|
|
||||||
eclipse-mat = callPackage ../development/tools/eclipse-mat { };
|
eclipse-mat = callPackage ../development/tools/eclipse-mat { };
|
||||||
|
|
||||||
edgedb = callPackage ../tools/networking/edgedb {
|
edgedb = callPackage ../tools/networking/edgedb {
|
||||||
|
@ -39668,8 +39674,6 @@ with pkgs;
|
||||||
|
|
||||||
faust = res.faust2;
|
faust = res.faust2;
|
||||||
|
|
||||||
faust1 = callPackage ../applications/audio/faust/faust1.nix { };
|
|
||||||
|
|
||||||
faust2 = callPackage ../applications/audio/faust/faust2.nix { };
|
faust2 = callPackage ../applications/audio/faust/faust2.nix { };
|
||||||
|
|
||||||
faust2alqt = libsForQt5.callPackage ../applications/audio/faust/faust2alqt.nix { };
|
faust2alqt = libsForQt5.callPackage ../applications/audio/faust/faust2alqt.nix { };
|
||||||
|
|
|
@ -13055,6 +13055,8 @@ self: super: with self; {
|
||||||
|
|
||||||
unrpa = callPackage ../development/python-modules/unrpa { };
|
unrpa = callPackage ../development/python-modules/unrpa { };
|
||||||
|
|
||||||
|
unstructured-inference = callPackage ../development/python-modules/unstructured-inference { };
|
||||||
|
|
||||||
untangle = callPackage ../development/python-modules/untangle { };
|
untangle = callPackage ../development/python-modules/untangle { };
|
||||||
|
|
||||||
untokenize = callPackage ../development/python-modules/untokenize { };
|
untokenize = callPackage ../development/python-modules/untokenize { };
|
||||||
|
|
Loading…
Reference in a new issue