Merge staging-next into staging
This commit is contained in:
@@ -69,6 +69,12 @@
|
||||
fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D";
|
||||
}];
|
||||
};
|
||||
_0xB10C = {
|
||||
email = "nixpkgs@b10c.me";
|
||||
name = "0xB10C";
|
||||
github = "0xb10c";
|
||||
githubId = 19157360;
|
||||
};
|
||||
_0xbe7a = {
|
||||
email = "nix@be7a.de";
|
||||
name = "Bela Stoyan";
|
||||
|
||||
@@ -961,6 +961,13 @@
|
||||
configure this behaviour.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>mastodon</literal> now automatically removes remote
|
||||
media attachments older than 30 days. This is configurable
|
||||
through <literal>services.mastodon.mediaAutoRemove</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The Redis module now disables RDB persistence when
|
||||
|
||||
@@ -296,6 +296,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
|
||||
- ZFS module will not allow hibernation by default, this is a safety measure to prevent data loss cases like the ones described at [OpenZFS/260](https://github.com/openzfs/zfs/issues/260) and [OpenZFS/12842](https://github.com/openzfs/zfs/issues/12842). Use the `boot.zfs.allowHibernation` option to configure this behaviour.
|
||||
|
||||
- `mastodon` now automatically removes remote media attachments older than 30 days. This is configurable through `services.mastodon.mediaAutoRemove`.
|
||||
|
||||
- The Redis module now disables RDB persistence when `services.redis.servers.<name>.save = []` instead of using the Redis default.
|
||||
|
||||
- Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance.
|
||||
@@ -372,7 +374,7 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
||||
[systemd.oomd.enableRootSlice](options.html#opt-systemd.oomd.enableRootSlice),
|
||||
[systemd.oomd.enableSystemSlice](options.html#opt-systemd.oomd.enableSystemSlice),
|
||||
and [systemd.oomd.enableUserServices](options.html#opt-systemd.oomd.enableUserServices).
|
||||
|
||||
|
||||
- The `tt-rss` service performs two database migrations when you first use its web UI after upgrade. Consider backing up its database before updating.
|
||||
|
||||
- The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API.
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
./services/backup/znapzend.nix
|
||||
./services/blockchain/ethereum/geth.nix
|
||||
./services/blockchain/ethereum/erigon.nix
|
||||
./services/blockchain/ethereum/lighthouse.nix
|
||||
./services/backup/zrepl.nix
|
||||
./services/cluster/corosync/default.nix
|
||||
./services/cluster/hadoop/default.nix
|
||||
|
||||
@@ -13,6 +13,15 @@ in {
|
||||
services.erigon = {
|
||||
enable = mkEnableOption (lib.mdDoc "Ethereum implementation on the efficiency frontier");
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "ethereum";
|
||||
description = lib.mdDoc ''
|
||||
Group of the user running the lighthouse process. This is used to share the jwt
|
||||
secret with the execution layer.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Configuration for Erigon
|
||||
@@ -55,6 +64,19 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users = {
|
||||
users.erigon = {
|
||||
name = "erigon";
|
||||
group = cfg.group;
|
||||
description = "Erigon user";
|
||||
home = "/var/lib/erigon";
|
||||
isSystemUser = true;
|
||||
};
|
||||
groups = mkIf (cfg.group == "ethereum") {
|
||||
ethereum = {};
|
||||
};
|
||||
};
|
||||
|
||||
# Default values are the same as in the binary, they are just written here for convenience.
|
||||
services.erigon.settings = {
|
||||
datadir = mkDefault "/var/lib/erigon";
|
||||
@@ -77,10 +99,11 @@ in {
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.erigon}/bin/erigon --config ${configFile}";
|
||||
User = "erigon";
|
||||
Group = cfg.group;
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "erigon";
|
||||
CapabilityBoundingSet = "";
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
ProtectHome = true;
|
||||
@@ -97,7 +120,6 @@ in {
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,335 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
||||
cfg = config.services.lighthouse;
|
||||
in {
|
||||
|
||||
options = {
|
||||
services.lighthouse = {
|
||||
beacon = mkOption {
|
||||
description = lib.mdDoc "Beacon node";
|
||||
default = {};
|
||||
type = types.submodule {
|
||||
options = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Lightouse Beacon node");
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/lighthouse-beacon";
|
||||
description = lib.mdDoc ''
|
||||
Directory where data will be stored. Each chain will be stored under it's own specific subdirectory.
|
||||
'';
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "0.0.0.0";
|
||||
description = lib.mdDoc ''
|
||||
Listen address of Beacon node.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 9000;
|
||||
description = lib.mdDoc ''
|
||||
Port number the Beacon node will be listening on.
|
||||
'';
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Open the port in the firewall
|
||||
'';
|
||||
};
|
||||
|
||||
disableDepositContractSync = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Explictly disables syncing of deposit logs from the execution node.
|
||||
This overrides any previous option that depends on it.
|
||||
Useful if you intend to run a non-validating beacon node.
|
||||
'';
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "ethereum";
|
||||
description = lib.mdDoc ''
|
||||
Group of the user running the lighthouse process. This is used to share the jwt
|
||||
secret with the execution layer.
|
||||
'';
|
||||
};
|
||||
|
||||
execution = {
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = lib.mdDoc ''
|
||||
Listen address for the execution layer.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8551;
|
||||
description = lib.mdDoc ''
|
||||
Port number the Beacon node will be listening on for the execution layer.
|
||||
'';
|
||||
};
|
||||
|
||||
jwtPath = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = lib.mdDoc ''
|
||||
Path for the jwt secret required to connect to the execution layer.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
http = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Beacon node http api");
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5052;
|
||||
description = lib.mdDoc ''
|
||||
Port number of Beacon node RPC service.
|
||||
'';
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = lib.mdDoc ''
|
||||
Listen address of Beacon node RPC service.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
metrics = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Beacon node prometheus metrics");
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = lib.mdDoc ''
|
||||
Listen address of Beacon node metrics service.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5054;
|
||||
description = lib.mdDoc ''
|
||||
Port number of Beacon node metrics service.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Additional arguments passed to the lighthouse beacon command.
|
||||
'';
|
||||
default = "";
|
||||
example = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
validator = mkOption {
|
||||
description = lib.mdDoc "Validator node";
|
||||
default = {};
|
||||
type = types.submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Enable Lightouse Validator node.";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/lighthouse-validator";
|
||||
description = lib.mdDoc ''
|
||||
Directory where data will be stored. Each chain will be stored under it's own specific subdirectory.
|
||||
'';
|
||||
};
|
||||
|
||||
beaconNodes = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = ["http://localhost:5052"];
|
||||
description = lib.mdDoc ''
|
||||
Beacon nodes to connect to.
|
||||
'';
|
||||
};
|
||||
|
||||
metrics = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Validator node prometheus metrics");
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = lib.mdDoc ''
|
||||
Listen address of Validator node metrics service.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5056;
|
||||
description = lib.mdDoc ''
|
||||
Port number of Validator node metrics service.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Additional arguments passed to the lighthouse validator command.
|
||||
'';
|
||||
default = "";
|
||||
example = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
network = mkOption {
|
||||
type = types.enum [ "mainnet" "prater" "goerli" "gnosis" "kiln" "ropsten" "sepolia" ];
|
||||
default = "mainnet";
|
||||
description = lib.mdDoc ''
|
||||
The network to connect to. Mainnet is the default ethereum network.
|
||||
'';
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
Additional arguments passed to every lighthouse command.
|
||||
'';
|
||||
default = "";
|
||||
example = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.beacon.enable || cfg.validator.enable) {
|
||||
|
||||
users = {
|
||||
users.lighthouse-beacon = {
|
||||
name = "lighthouse-beacon";
|
||||
group = cfg.beacon.group;
|
||||
description = "Lighthouse beacon node user";
|
||||
home = "${cfg.beacon.dataDir}";
|
||||
isSystemUser = true;
|
||||
};
|
||||
groups = mkIf (cfg.beacon.group == "ethereum") {
|
||||
ethereum = {};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.lighthouse ] ;
|
||||
|
||||
networking.firewall = mkIf cfg.beacon.enable {
|
||||
allowedTCPPorts = mkIf cfg.beacon.openFirewall [ cfg.beacon.port ];
|
||||
allowedUDPPorts = mkIf cfg.beacon.openFirewall [ cfg.beacon.port ];
|
||||
};
|
||||
|
||||
|
||||
systemd.services.lighthouse-beacon = mkIf cfg.beacon.enable {
|
||||
description = "Lighthouse beacon node (connect to P2P nodes and verify blocks)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
script = ''
|
||||
# make sure the chain data directory is created on first run
|
||||
mkdir -p ${cfg.beacon.dataDir}/${cfg.network}
|
||||
|
||||
${pkgs.lighthouse}/bin/lighthouse beacon_node \
|
||||
--disable-upnp \
|
||||
${lib.optionalString cfg.beacon.disableDepositContractSync "--disable-deposit-contract-sync"} \
|
||||
--port ${toString cfg.beacon.port} \
|
||||
--listen-address ${cfg.beacon.address} \
|
||||
--network ${cfg.network} \
|
||||
--datadir ${cfg.beacon.dataDir}/${cfg.network} \
|
||||
--execution-endpoint http://${cfg.beacon.execution.address}:${toString cfg.beacon.execution.port} \
|
||||
--execution-jwt ${cfg.beacon.execution.jwtPath} \
|
||||
${lib.optionalString cfg.beacon.http.enable '' --http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}''} \
|
||||
${lib.optionalString cfg.beacon.metrics.enable '' --metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}''} \
|
||||
${cfg.extraArgs} ${cfg.beacon.extraArgs}
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = "lighthouse-beacon";
|
||||
Group = cfg.beacon.group;
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "lighthouse-beacon";
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
ProtectHome = true;
|
||||
ProtectClock = true;
|
||||
ProtectProc = "noaccess";
|
||||
ProcSubset = "pid";
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHostname = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.lighthouse-validator = mkIf cfg.validator.enable {
|
||||
description = "Lighthouse validtor node (manages validators, using data obtained from the beacon node via a HTTP API)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
script = ''
|
||||
# make sure the chain data directory is created on first run
|
||||
mkdir -p ${cfg.validator.dataDir}/${cfg.network}
|
||||
|
||||
${pkgs.lighthouse}/bin/lighthouse validator_client \
|
||||
--network ${cfg.network} \
|
||||
--beacon-nodes ${lib.concatStringsSep "," cfg.validator.beaconNodes} \
|
||||
--datadir ${cfg.validator.dataDir}/${cfg.network}
|
||||
${optionalString cfg.validator.metrics.enable ''--metrics --metrics-address ${cfg.validator.metrics.address} --metrics-port ${toString cfg.validator.metrics.port}''} \
|
||||
${cfg.extraArgs} ${cfg.validator.extraArgs}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "lighthouse-validator";
|
||||
CapabilityBoundingSet = "";
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
ProtectHome = true;
|
||||
ProtectClock = true;
|
||||
ProtectProc = "noaccess";
|
||||
ProcSubset = "pid";
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHostname = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1796,6 +1796,33 @@ in
|
||||
WorkingDirectory = workingDir;
|
||||
StateDirectory = cfg.stateDir;
|
||||
StateDirectoryMode = "0700";
|
||||
# Hardening
|
||||
AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = if (cfg.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ];
|
||||
DeviceAllow = [ "/dev/null rw" ];
|
||||
DevicePolicy = "strict";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "full";
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
|
||||
};
|
||||
};
|
||||
# prometheus-config-reload will activate after prometheus. However, what we
|
||||
|
||||
@@ -425,6 +425,39 @@ in {
|
||||
Do automatic database migrations.
|
||||
'';
|
||||
};
|
||||
|
||||
mediaAutoRemove = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
example = false;
|
||||
description = lib.mdDoc ''
|
||||
Automatically remove remote media attachments and preview cards older than the configured amount of days.
|
||||
|
||||
Recommended in https://docs.joinmastodon.org/admin/setup/.
|
||||
'';
|
||||
};
|
||||
|
||||
startAt = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "daily";
|
||||
example = "hourly";
|
||||
description = lib.mdDoc ''
|
||||
How often to remove remote media.
|
||||
|
||||
The format is described in {manpage}`systemd.time(7)`.
|
||||
'';
|
||||
};
|
||||
|
||||
olderThanDays = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 30;
|
||||
example = 14;
|
||||
description = lib.mdDoc ''
|
||||
How old remote media needs to be in order to be removed.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -585,6 +618,22 @@ in {
|
||||
path = with pkgs; [ file imagemagick ffmpeg ];
|
||||
};
|
||||
|
||||
systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
|
||||
description = "Mastodon media auto remove";
|
||||
environment = env;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
script = let
|
||||
olderThanDays = toString cfg.mediaAutoRemove.olderThanDays;
|
||||
in ''
|
||||
${cfg.package}/bin/tootctl media remove --days=${olderThanDays}
|
||||
${cfg.package}/bin/tootctl preview_cards remove --days=${olderThanDays}
|
||||
'';
|
||||
EnvironmentFile = "/var/lib/mastodon/.secrets_env";
|
||||
startAt = cfg.mediaAutoRemove.startAt;
|
||||
} // cfgService;
|
||||
};
|
||||
|
||||
services.nginx = lib.mkIf cfg.configureNginx {
|
||||
enable = true;
|
||||
recommendedProxySettings = true; # required for redirections to work
|
||||
|
||||
@@ -409,6 +409,8 @@ in
|
||||
"d '${stateDir hostName}' 0750 ${user} ${webserver.group} - -"
|
||||
"d '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
"Z '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
"d '${cfg.fontsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
"Z '${cfg.fontsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
]) eachSite);
|
||||
|
||||
systemd.services = mkMerge [
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
dmcfg = config.services.xserver.displayManager;
|
||||
ldmcfg = dmcfg.lightdm;
|
||||
cfg = ldmcfg.greeters.mobile;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.xserver.displayManager.lightdm.greeters.mobile = {
|
||||
enable = mkEnableOption (lib.mdDoc
|
||||
"lightdm-mobile-greeter as the lightdm greeter"
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (ldmcfg.enable && cfg.enable) {
|
||||
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
|
||||
|
||||
services.xserver.displayManager.lightdm.greeter = mkDefault {
|
||||
package = pkgs.lightdm-mobile-greeter.xgreeters;
|
||||
name = "lightdm-mobile-greeter";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -83,6 +83,7 @@ in
|
||||
./lightdm-greeters/pantheon.nix
|
||||
./lightdm-greeters/tiny.nix
|
||||
./lightdm-greeters/slick.nix
|
||||
./lightdm-greeters/mobile.nix
|
||||
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [
|
||||
"services"
|
||||
"xserver"
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vorta";
|
||||
version = "0.8.7";
|
||||
version = "0.8.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "borgbase";
|
||||
repo = "vorta";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-9SfHZbNM+lRtwLO/0dE9C4cHb3pSPkxBUITYNEdPMQw=";
|
||||
sha256 = "sha256-5RZXHMov3CX0zRprs7sgz0+cGEdESLrg4I2glRnTkcU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "btcd";
|
||||
version = "0.23.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "btcsuite";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-LdK68Ianiyrs+HVMwrkiX2ruCWKkdpuY8ylxhNbm9qI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-3w8rb0sfAIFCXqPXOKb4QwoLd7WsbFv3phu/rJCEjeY=";
|
||||
|
||||
subPackages = [ "." "cmd/*" ];
|
||||
|
||||
preCheck = ''
|
||||
DIR="github.com/btcsuite/btcd/"
|
||||
# TestCreateDefaultConfigFile requires the sample-btcd.conf in $DIR
|
||||
mkdir -p $DIR
|
||||
cp sample-btcd.conf $DIR
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An alternative full node bitcoin implementation written in Go (golang)";
|
||||
homepage = "https://github.com/btcsuite/btcd";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ _0xB10C ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{ lib
|
||||
, fetchFromGitea
|
||||
, gtk3
|
||||
, libhandy_0
|
||||
, lightdm
|
||||
, lightdm-mobile-greeter
|
||||
, linkFarm
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lightdm-mobile-greeter";
|
||||
version = "2022-10-30";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.raatty.club";
|
||||
owner = "raatty";
|
||||
repo = "lightdm-mobile-greeter";
|
||||
rev = "8c8d6dfce62799307320c8c5a1f0dd5c8c18e4d3";
|
||||
hash = "sha256-SrAR2+An3BN/doFl/s8PcYZMUHLfVPXKZOo6ndO60nY=";
|
||||
};
|
||||
cargoHash = "sha256-NZ0jOkEBNa5oOydfyKm0XQB/vkAvBv9wHBbnM9egQFQ=";
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libhandy_0
|
||||
lightdm
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/xgreeters
|
||||
substitute lightdm-mobile-greeter.desktop \
|
||||
$out/share/xgreeters/lightdm-mobile-greeter.desktop \
|
||||
--replace lightdm-mobile-greeter $out/bin/lightdm-mobile-greeter
|
||||
'';
|
||||
|
||||
passthru.xgreeters = linkFarm "lightdm-mobile-greeter-xgreeters" [{
|
||||
path = "${lightdm-mobile-greeter}/share/xgreeters/lightdm-mobile-greeter.desktop";
|
||||
name = "lightdm-mobile-greeter.desktop";
|
||||
}];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple log in screen for use on touch screens";
|
||||
homepage = "https://git.raatty.club/raatty/lightdm-mobile-greeter";
|
||||
maintainers = with maintainers; [ colinsane ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -31,16 +31,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "neovide";
|
||||
version = "0.10.1";
|
||||
version = "0.10.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kethku";
|
||||
repo = "neovide";
|
||||
rev = version;
|
||||
sha256 = "sha256-PViSiK6+H79MLIOFe26cNqUZ6gZdqDC/S+ksTrbOm54=";
|
||||
sha256 = "sha256-CcBiCcfOJzuq0DnokTUHpMdo7Ry29ugQ+N7Hk0R+cQE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-GvueDUY4Hzfih/MyEfhdz/QNVd9atTC8SCF+PyuJJic=";
|
||||
cargoSha256 = "sha256-bS7yBnxAWPoTTabxI6W5Knl1DFiDztYSkEPJMa8bqlY=";
|
||||
|
||||
SKIA_SOURCE_DIR =
|
||||
let
|
||||
|
||||
@@ -25,14 +25,14 @@ assert svgSupport -> enableCairo;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fuzzel";
|
||||
version = "1.7.0";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dnkl";
|
||||
repo = "fuzzel";
|
||||
rev = version;
|
||||
sha256 = "1261gwxiky37pvzmmbrpml1psa22kkglb141ybj1fbnwg6j7jvlf";
|
||||
sha256 = "sha256-5uXf5HfQ8bDQSMNCHHaC9sCX5P/D89T2ZOUiXTDx3bQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mangal";
|
||||
version = "4.0.1";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "metafates";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pMiZgO/+koyIDm7ONZn0qEq+d6HeFfQFaU1Qjovqmc4=";
|
||||
hash = "sha256-ssvd8gdF5h6EKLY/W+1zbZWcVQqy+UirIS0p0DBQj0E=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -3,7 +3,7 @@ let
|
||||
versions = if stdenv.isLinux then {
|
||||
stable = "0.0.21";
|
||||
ptb = "0.0.34";
|
||||
canary = "0.0.142";
|
||||
canary = "0.0.143";
|
||||
} else {
|
||||
stable = "0.0.264";
|
||||
ptb = "0.0.59";
|
||||
@@ -22,7 +22,7 @@ let
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
sha256 = "sha256-/EWJC3hFIBqwHa9z4nMWR7CpoaqYY+pvw+1vcq4F0LU=";
|
||||
sha256 = "sha256-K+yyg9GTAvggfn4JQCTmq016tMyyzq+nD7aL3+bWFlo=";
|
||||
};
|
||||
};
|
||||
x86_64-darwin = {
|
||||
|
||||
@@ -5,11 +5,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gmsh";
|
||||
version = "4.10.5";
|
||||
version = "4.11.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gmsh.info/src/gmsh-${version}-source.tgz";
|
||||
sha256 = "sha256-zAMMWu5l59WPhQuLb1WmiUXIm8hx+U4SOSefWiEPxOo=";
|
||||
sha256 = "sha256-PPLyRFXuCSUsmeZNTmRilW5o8P8fN7rKC3jICdbMVXo=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools
|
||||
{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages
|
||||
, csmSupport ? false, seabios ? null
|
||||
, secureBoot ? false
|
||||
, httpSupport ? false
|
||||
@@ -33,7 +33,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
|
||||
|
||||
outputs = [ "out" "fd" ];
|
||||
|
||||
nativeBuildInputs = [ util-linux nasm acpica-tools ];
|
||||
nativeBuildInputs = [ util-linux nasm acpica-tools ]
|
||||
++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ];
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ];
|
||||
@@ -44,6 +45,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
|
||||
++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ]
|
||||
++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.cc.isClang "-Qunused-arguments";
|
||||
|
||||
postPatch = lib.optionalString csmSupport ''
|
||||
cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
|
||||
'';
|
||||
|
||||
@@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crun";
|
||||
version = "1.6";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-JO07bF2Xucz8lSvj7om17a/NT0I7Vru1vayZhPDFLIw=";
|
||||
sha256 = "sha256-Ly6GBR7nF7J5Dwe1jrQxR4XYsao7KxBAxGn8fsJwmMs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, gdk-pixbuf
|
||||
, withWayland ? false
|
||||
, gtk-layer-shell
|
||||
, stdenv
|
||||
@@ -25,7 +26,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell;
|
||||
buildInputs = [ gtk3 gdk-pixbuf ] ++ lib.optional withWayland gtk-layer-shell;
|
||||
|
||||
buildNoDefaultFeatures = withWayland;
|
||||
buildFeatures = lib.optional withWayland "wayland";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, runCommand
|
||||
, nixos-artwork
|
||||
, glib
|
||||
, gnome
|
||||
, gtk3
|
||||
, gsettings-desktop-schemas
|
||||
, extraGSettingsOverrides ? ""
|
||||
@@ -35,9 +36,20 @@ let
|
||||
cinnamon-session
|
||||
cinnamon-settings-daemon
|
||||
cinnamon-common
|
||||
gnome.gnome-terminal
|
||||
gtk3
|
||||
] ++ extraGSettingsOverridePackages;
|
||||
|
||||
gsettingsOverrides = ''
|
||||
# Use Fedora's default to make text readable and
|
||||
# restore ununified menu.
|
||||
# https://github.com/NixOS/nixpkgs/issues/200017
|
||||
[org.gnome.Terminal.Legacy.Settings]
|
||||
theme-variant='dark'
|
||||
unified-menu=false
|
||||
|
||||
${extraGSettingsOverrides}
|
||||
'';
|
||||
in
|
||||
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
@@ -53,7 +65,7 @@ runCommand "cinnamon-gsettings-overrides" { preferLocalBuild = true; }
|
||||
chmod -R a+w "$data_dir"
|
||||
|
||||
cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
${gsettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir"
|
||||
|
||||
@@ -61,7 +61,7 @@ edk2 = buildStdenv.mkDerivation {
|
||||
${"GCC5_${targetArch}_PREFIX"}=stdenv.cc.targetPrefix;
|
||||
|
||||
makeFlags = [ "-C BaseTools" ]
|
||||
++ lib.optionals (stdenv.cc.isClang) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ];
|
||||
++ lib.optionals (stdenv.cc.isClang) [ "CXX=llvm BUILD_AR=ar BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang BUILD_LD=ld" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation";
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ lib: version: with lib; {
|
||||
maintainers = with maintainers; [ edwtjo asbachb ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
|
||||
mainProgram = "java";
|
||||
knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" ]) [
|
||||
knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" "18" ]) [
|
||||
"This OpenJDK version has reached its end of life."
|
||||
];
|
||||
}
|
||||
|
||||
@@ -59,11 +59,11 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "SDL2";
|
||||
version = "2.24.0";
|
||||
version = "2.24.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-keTDSxdo+S05mweOFxRIxq8Yyv2nQ5h+0gZKKJVNbZc=";
|
||||
sha256 = "sha256-s17wqAKwnZDtOt0NysDpWCCAQgKRT1u3sP63EPGhMp8=";
|
||||
};
|
||||
dontDisableStatic = if withStatic then 1 else 0;
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -105,6 +105,26 @@ let
|
||||
homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html";
|
||||
} // (args.meta or {});
|
||||
|
||||
} // lib.optionalAttrs (stdenv.isDarwin && elem language [ "is" "nb" ]) {
|
||||
# tar: Cannot open: Illegal byte sequence
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
tar -xf $src --strip-components=1 || true
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
postPatch = getAttr language {
|
||||
is = ''
|
||||
cp icelandic.alias íslenska.alias
|
||||
sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre
|
||||
'';
|
||||
nb = ''
|
||||
cp bokmal.alias bokmål.alias
|
||||
sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre
|
||||
'';
|
||||
};
|
||||
} // removeAttrs args [ "language" "filename" "sha256" "meta" ];
|
||||
in buildDict buildArgs;
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-3ea9WzJTXxeyjJrCS2ZgfgJQUGrBQypBEso8c/XWYsM=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Makefile.in --replace '-Wl,--soname=' '-Wl,-install_name,$(out)/lib/'
|
||||
'';
|
||||
|
||||
makeFlags = [ "CC:=$(CC)" ];
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -60,6 +60,9 @@ let
|
||||
trivial-ssh-libssh2 = pkg: {
|
||||
nativeLibs = [ libssh2 ];
|
||||
};
|
||||
mssql = pkg: {
|
||||
nativeLibs = [ freetds ];
|
||||
};
|
||||
sqlite = pkg: {
|
||||
nativeLibs = [ sqlite ];
|
||||
};
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
buildDunePackage,
|
||||
fetchFromGitHub,
|
||||
ppx_js_style,
|
||||
ppx_yojson_conv_lib,
|
||||
ppxlib,
|
||||
}:
|
||||
buildDunePackage rec {
|
||||
pname = "ppx_yojson_conv";
|
||||
version = "0.15.1";
|
||||
duneVersion = "3";
|
||||
minimumOCamlVersion = "4.08.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janestreet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lSOUSMVgsRiArEhFTKpAj2yFBPbtaIc/SxdPA+24xXs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ppx_js_style
|
||||
ppx_yojson_conv_lib
|
||||
ppxlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A PPX syntax extension that generates code for converting OCaml types to and from Yojson";
|
||||
homepage = "https://github.com/janestreet/ppx_yojson_conv";
|
||||
maintainers = with maintainers; [djacu];
|
||||
license = with licenses; [mit];
|
||||
};
|
||||
}
|
||||
@@ -30,6 +30,7 @@ mkDerivation rec {
|
||||
description = "A deployment tool for PHP";
|
||||
license = licenses.mit;
|
||||
homepage = "https://deployer.org/";
|
||||
mainProgram = "dep";
|
||||
maintainers = with maintainers; teams.php.members;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, setuptools
|
||||
, setuptools-scm
|
||||
, pyvcd
|
||||
@@ -31,6 +32,23 @@ buildPythonPackage rec {
|
||||
sha256 = "P9AG3t30eGeeCN5+t7mjhRoOWIGZVzWQji9eYXphjA0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "fix-for-setuptools-64.0.2-preparation.patch";
|
||||
url = "https://github.com/amaranth-lang/amaranth/commit/64771a065a280fa683c1e6692383bec4f59f20fa.patch";
|
||||
hash = "sha256-Rsh9vVvUQj9nIcrsRirmR6XwFrfZ2VMaYJ4RCQ8sBE0=";
|
||||
# This commit removes support for Python 3.6, which is unnecessary to fix
|
||||
# the build when using new setuptools. Include only one file, which has a
|
||||
# harmless comment change so that the subsequent patch applies cleanly.
|
||||
includes = ["amaranth/_toolchain/cxx.py"];
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "fix-for-setuptools-64.0.2.patch";
|
||||
url = "https://github.com/amaranth-lang/amaranth/pull/722/commits/e5a56b07c568e5f4cc2603eefebd14c5cc4e13d8.patch";
|
||||
hash = "sha256-C8FyMSKHA7XsEMpO9eYNZx/X5rGaK7p3eXP+jSb6wVg=";
|
||||
})
|
||||
];
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}";
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, construct
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "construct-classes";
|
||||
version = "0.1.2";
|
||||
format = "pyproject";
|
||||
|
||||
# no tests in PyPI tarball
|
||||
src = fetchFromGitHub {
|
||||
owner = "matejcik";
|
||||
repo = "construct-classes";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-l4sVacKTuQbhXCw2lVHCl1OzpCiKmEAm9nSQ8pxFuTo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
construct
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "construct_classes" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Parse your binary data into dataclasses.";
|
||||
homepage = "https://github.com/matejcik/construct-classes";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils }:
|
||||
{ lib, stdenv, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils, pytestCheckHook }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sh";
|
||||
@@ -9,17 +9,12 @@ buildPythonPackage rec {
|
||||
sha256 = "sha256-5ARbbHMtnOddVxx59awiNO3Zrk9fqdWbCXBQgr3KGMc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Disable tests that fail on Darwin sandbox
|
||||
./disable-broken-tests-darwin.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's#/usr/bin/env python#${python.interpreter}#' test.py
|
||||
sed -i 's#/bin/sleep#${coreutils.outPath}/bin/sleep#' test.py
|
||||
'';
|
||||
|
||||
checkInputs = [ coverage lsof glibcLocales ];
|
||||
checkInputs = [ coverage lsof glibcLocales pytestCheckHook ];
|
||||
|
||||
# A test needs the HOME directory to be different from $TMPDIR.
|
||||
preCheck = ''
|
||||
@@ -27,6 +22,21 @@ buildPythonPackage rec {
|
||||
HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
pytestFlagsArray = [ "test.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# Disable tests that fail on Hydra
|
||||
"test_no_fd_leak"
|
||||
"test_piped_exception1"
|
||||
"test_piped_exception2"
|
||||
"test_unicode_path"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# Disable tests that fail on Darwin sandbox
|
||||
"test_background_exception"
|
||||
"test_cwd"
|
||||
"test_ok_code"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python subprocess interface";
|
||||
homepage = "https://pypi.python.org/pypi/sh/";
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
From c596ad546fe7460b57a62799837757eb641309c1 Mon Sep 17 00:00:00 2001
|
||||
From: Sirio Balmelli <sirio@b-ad.ch>
|
||||
Date: Mon, 20 Jul 2020 19:51:20 +0200
|
||||
Subject: [PATCH] Disable tests that fail on Darwin (macOS) or with sandboxing
|
||||
|
||||
Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
|
||||
--- a/test.py
|
||||
+++ b/test.py
|
||||
@@ -377,6 +377,7 @@ exit(3)
|
||||
self.assertEqual(sed(_in="one test three", e="s/test/two/").strip(),
|
||||
"one two three")
|
||||
|
||||
+ @not_macos
|
||||
def test_ok_code(self):
|
||||
from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2
|
||||
|
||||
@@ -982,6 +983,7 @@ print(sys.argv[1])
|
||||
now = time.time()
|
||||
self.assertGreater(now - start, sleep_time)
|
||||
|
||||
+ @not_macos
|
||||
def test_background_exception(self):
|
||||
from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2
|
||||
p = ls("/ofawjeofj", _bg=True, _bg_exc=False) # should not raise
|
||||
@@ -1779,6 +1781,7 @@ exit(49)
|
||||
p = python(py.name, _ok_code=49, _bg=True)
|
||||
self.assertEqual(49, p.exit_code)
|
||||
|
||||
+ @not_macos
|
||||
def test_cwd(self):
|
||||
from sh import pwd
|
||||
from os.path import realpath
|
||||
@@ -2777,6 +2780,7 @@ print("cool")
|
||||
# on osx. so skip it for now if osx
|
||||
@not_macos
|
||||
@requires_progs("lsof")
|
||||
+ @skipUnless(False, "Flaky on Hydra")
|
||||
def test_no_fd_leak(self):
|
||||
import sh
|
||||
import os
|
||||
@@ -2879,6 +2883,7 @@ print("hi")
|
||||
python(py.name, _in=stdin)
|
||||
|
||||
@requires_utf8
|
||||
+ @skipUnless(False, "Does not work in sandbox")
|
||||
def test_unicode_path(self):
|
||||
from sh import Command
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
, attrs
|
||||
, click
|
||||
, construct
|
||||
, construct-classes
|
||||
, ecdsa
|
||||
, hidapi
|
||||
, libusb1
|
||||
@@ -24,13 +25,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "trezor";
|
||||
version = "0.13.3";
|
||||
version = "0.13.4";
|
||||
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "055d32174d4ecf2353f7622ee44b8e82e3bef78fe40ce5cdbeafc785b422a049";
|
||||
sha256 = "04a77b44005971819386bbd55242a1004b1f88fbbdb829deb039a1e0028a4af1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
@@ -39,6 +40,7 @@ buildPythonPackage rec {
|
||||
attrs
|
||||
click
|
||||
construct
|
||||
construct-classes
|
||||
ecdsa
|
||||
hidapi
|
||||
libusb1
|
||||
@@ -58,6 +60,7 @@ buildPythonPackage rec {
|
||||
|
||||
disabledTestPaths = [
|
||||
"tests/test_stellar.py" # requires stellar-sdk
|
||||
"tests/test_firmware.py" # requires network downloads
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "trezorlib" ];
|
||||
|
||||
@@ -28,6 +28,9 @@ buildPythonPackage rec {
|
||||
ifaddr
|
||||
];
|
||||
|
||||
# OSError: [Errno 48] Address already in use
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
checkInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
commit e9219b88de5ed37af337ee2d2e71e7ec7c0aad1b
|
||||
Author: Robbert van Ginkel <rvanginkel@buf.build>
|
||||
Date: Thu Oct 20 16:43:28 2022 -0400
|
||||
|
||||
Fix git unit test by using fake git server rather than file:// (#1518)
|
||||
|
||||
More recent versions of git fix a CVE by disabling some usage of the
|
||||
`file://` transport, see
|
||||
https://github.blog/2022-10-18-git-security-vulnerabilities-announced/#cve-2022-39253.
|
||||
We were using this transport in tests.
|
||||
|
||||
Instead, use https://git-scm.com/docs/git-http-backend to serve up this
|
||||
repository locally so we don't have to use the file protocol. This
|
||||
should be a more accurate tests, since we mostly expect submodules to
|
||||
come from servers.
|
||||
|
||||
diff --git a/private/pkg/git/git_test.go b/private/pkg/git/git_test.go
|
||||
index 7b77b6cd..7132054e 100644
|
||||
--- a/private/pkg/git/git_test.go
|
||||
+++ b/private/pkg/git/git_test.go
|
||||
@@ -17,6 +17,8 @@ package git
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
+ "net/http/cgi"
|
||||
+ "net/http/httptest"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -213,6 +215,21 @@ func createGitDirs(
|
||||
runCommand(ctx, t, container, runner, "git", "-C", submodulePath, "add", "test.proto")
|
||||
runCommand(ctx, t, container, runner, "git", "-C", submodulePath, "commit", "-m", "commit 0")
|
||||
|
||||
+ gitExecPath, err := command.RunStdout(ctx, container, runner, "git", "--exec-path")
|
||||
+ require.NoError(t, err)
|
||||
+ t.Log(filepath.Join(string(gitExecPath), "git-http-backend"))
|
||||
+ // https://git-scm.com/docs/git-http-backend#_description
|
||||
+ f, err := os.Create(filepath.Join(submodulePath, ".git", "git-daemon-export-ok"))
|
||||
+ require.NoError(t, err)
|
||||
+ require.NoError(t, f.Close())
|
||||
+ server := httptest.NewServer(&cgi.Handler{
|
||||
+ Path: filepath.Join(strings.TrimSpace(string(gitExecPath)), "git-http-backend"),
|
||||
+ Dir: submodulePath,
|
||||
+ Env: []string{"GIT_PROJECT_ROOT=" + submodulePath},
|
||||
+ })
|
||||
+ t.Cleanup(server.Close)
|
||||
+ submodulePath = server.URL
|
||||
+
|
||||
originPath := filepath.Join(tmpDir, "origin")
|
||||
require.NoError(t, os.MkdirAll(originPath, 0777))
|
||||
runCommand(ctx, t, container, runner, "git", "-C", originPath, "init")
|
||||
@@ -26,6 +26,9 @@ buildGoModule rec {
|
||||
./skip_test_requiring_network.patch
|
||||
# Skip TestWorkspaceGit which requires .git and commits.
|
||||
./skip_test_requiring_dotgit.patch
|
||||
# Remove reliance of tests on file protocol which is disabled in git by default now
|
||||
# Rebased upstream change https://github.com/bufbuild/buf/commit/bcaa77f8bbb8f6c198154c7c8d53596da4506dab
|
||||
./buf-tests-dont-use-file-transport.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -31,7 +31,7 @@ let
|
||||
++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
|
||||
++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
knownVulnerabilities = optional (versionOlder version "15.0.0") "Electron version ${version} is EOL";
|
||||
knownVulnerabilities = optional (versionOlder version "18.0.0") "Electron version ${version} is EOL";
|
||||
};
|
||||
|
||||
fetcher = vers: tag: hash: fetchurl {
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ buildGoModule, fetchFromGitHub, lib }:
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, netlify-cli
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "esbuild";
|
||||
@@ -11,7 +16,25 @@ buildGoModule rec {
|
||||
sha256 = "0asjmqfzdrpfx2hd5hkac1swp52qknyqavsm59j8xr4c1ixhc6n9";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
|
||||
vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||
|
||||
patches = [
|
||||
# Both upstream patches update the same dependency "x/sys". It's required for darwin compatibility.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/evanw/esbuild/commit/2567e099fcc6959e630f100b2c737ca80e88ba82.patch";
|
||||
hash = "sha256-KdX/Ru9TBX0mSDaS1ijxgzDI+2AoCvt6Wilhpca3VC0=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/evanw/esbuild/commit/fd13718c6195afb9e63682476a774fa6d4483be0.patch";
|
||||
hash = "sha256-va/bXRBQf9qgE9LZXcKKAa0ZpMt/QG7BFClJ8bPWG1Y=";
|
||||
})
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
inherit netlify-cli;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fork of esbuild maintained by netlify";
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
{ lib, buildGoPackage, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, llvmPackages, getconf }:
|
||||
|
||||
buildGoPackage rec {
|
||||
buildGoModule rec {
|
||||
pname = "gllvm";
|
||||
version = "1.3.0";
|
||||
|
||||
goPackagePath = "github.com/SRI-CSL/gllvm";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SRI-CSL";
|
||||
repo = "gllvm";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nu6PRFk+GoN1gT1RTbX6mTPZByAGf0bSsj2C5YriGp8=";
|
||||
sha256 = "sha256-CoreqnMRuPuv+Ci1uyF3HJCJFwK2jwB79okynv6AHTA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
|
||||
|
||||
checkInputs = with llvmPackages; [
|
||||
clang
|
||||
llvm
|
||||
] ++ lib.optionals stdenv.isDarwin [ getconf ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/SRI-CSL/gllvm";
|
||||
description = "Whole Program LLVM: wllvm ported to go";
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nil";
|
||||
version = "2022-10-03";
|
||||
version = "2022-11-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oxalica";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-Oo0y/333YyeW9zeYQyiUUay7q7GK/Uu/FdEa6+5c4Pk=";
|
||||
hash = "sha256-ioY9RvKx9DKnNTeMW8mAIEq23w7Y+lAOFWMkgUQ5fu4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-z7wjap7IL2OTd2wEUB6EbSbP71dZiqbKDmJ7oUjVi0U=";
|
||||
cargoHash = "sha256-sL/bnLK3TifmVHy3LOsduETHh9SGz639vgEKkbHE0HQ=";
|
||||
|
||||
CFG_DATE = version;
|
||||
CFG_REV = "release";
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "yamlpath";
|
||||
version = "3.6.8";
|
||||
version = "3.6.9";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wwkimball";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-g4Pw0IWLY/9nG2eqbiknWCZjJNGbmV42KEviIENXYYA=";
|
||||
sha256 = "sha256-0r1jlDWlYPIjUEudHbwt324rt0H8K3PUb7RILoxNNnw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{ roundcubePlugin, fetchzip }:
|
||||
|
||||
roundcubePlugin rec {
|
||||
pname = "contextmenu";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/johndoh/roundcube-contextmenu/archive/refs/tags/${version}.tar.gz";
|
||||
sha256 = "0aya3nv8jwfvd9rlvxfxnyfpdcpw858745xal362l3zzkbkhcrmb";
|
||||
};
|
||||
}
|
||||
@@ -6,5 +6,6 @@
|
||||
roundcubePlugin = callPackage ./roundcube-plugin.nix { };
|
||||
|
||||
carddav = callPackage ./carddav { };
|
||||
contextmenu = callPackage ./contextmenu { };
|
||||
persistent_login = callPackage ./persistent_login { };
|
||||
}
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert, bash }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2022-11-06";
|
||||
version = "2022-11-07";
|
||||
pname = "oh-my-zsh";
|
||||
rev = "4806f755694d160f20e3fb8ae0a1d009d56d966b";
|
||||
rev = "0145d744a9c4c11f00992f7f3ad9555bc8ac6177";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "ohmyzsh";
|
||||
repo = "ohmyzsh";
|
||||
sha256 = "zaaTcTka4L3Ec2bWgT0Yd8vSVG/n21G0PC/VxK2DfT8=";
|
||||
sha256 = "F1h+yTYCVS3rz/ADahOQWyee3TKjkNfUc8O7Ug+2z48=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, edk2
|
||||
, llvmPackages
|
||||
, util-linux
|
||||
, nasm
|
||||
, python3
|
||||
@@ -8,9 +10,12 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: {
|
||||
pname = "edk2-uefi-shell";
|
||||
inherit (edk2) version;
|
||||
|
||||
nativeBuildInputs = [ util-linux nasm python3 ];
|
||||
nativeBuildInputs = [ util-linux nasm python3 ]
|
||||
++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ];
|
||||
strictDeps = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-fno-pic" "-Qunused-arguments" ];
|
||||
|
||||
# We only have a .efi file in $out which shouldn't be patched or stripped
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
|
||||
@@ -26,7 +26,8 @@ buildGoModule rec {
|
||||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||
'';
|
||||
};
|
||||
vendorSha256 = "sha256-K6MJp07JEit/6AHqLtnzXIaVCi7W6jfX41M96VwnS5A=";
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-tRux9M9vFPj3TqhsF1zSV4V1YKnLVViuQjum9YFr5FU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# frozen_string_literal: true
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.24"
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.25"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
GIT
|
||||
remote: https://github.com/rapid7/metasploit-framework
|
||||
revision: 1c805324f10bafa3a99fcd0315cc99ef83430b23
|
||||
ref: refs/tags/6.2.24
|
||||
revision: 2ab12336a4a6197c88ca4777c016311fa4fb7a3d
|
||||
ref: refs/tags/6.2.25
|
||||
specs:
|
||||
metasploit-framework (6.2.24)
|
||||
metasploit-framework (6.2.25)
|
||||
actionpack (~> 6.0)
|
||||
activerecord (~> 6.0)
|
||||
activesupport (~> 6.0)
|
||||
@@ -129,13 +129,13 @@ GEM
|
||||
arel-helpers (2.14.0)
|
||||
activerecord (>= 3.1.0, < 8)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.652.0)
|
||||
aws-partitions (1.656.0)
|
||||
aws-sdk-core (3.166.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-ec2 (1.343.0)
|
||||
aws-sdk-ec2 (1.345.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-iam (1.73.0)
|
||||
@@ -152,7 +152,7 @@ GEM
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
bcrypt (3.1.18)
|
||||
bcrypt_pbkdf (1.1.0)
|
||||
bindata (2.4.13)
|
||||
bindata (2.4.14)
|
||||
bson (4.15.0)
|
||||
builder (3.2.4)
|
||||
concurrent-ruby (1.0.5)
|
||||
@@ -174,7 +174,7 @@ GEM
|
||||
eventmachine (>= 1.0.0.beta.4)
|
||||
erubi (1.11.0)
|
||||
eventmachine (1.2.7)
|
||||
faker (2.23.0)
|
||||
faker (3.0.0)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
faraday (2.6.0)
|
||||
faraday-net_http (>= 2.0, < 3.1)
|
||||
@@ -237,7 +237,7 @@ GEM
|
||||
activesupport (~> 6.0)
|
||||
railties (~> 6.0)
|
||||
metasploit-payloads (2.0.97)
|
||||
metasploit_data_models (5.0.5)
|
||||
metasploit_data_models (5.0.6)
|
||||
activerecord (~> 6.0)
|
||||
activesupport (~> 6.0)
|
||||
arel-helpers
|
||||
@@ -245,7 +245,7 @@ GEM
|
||||
metasploit-model (>= 3.1)
|
||||
pg
|
||||
railties (~> 6.0)
|
||||
recog (~> 2.0)
|
||||
recog
|
||||
webrick
|
||||
metasploit_payloads-mettle (1.0.20)
|
||||
method_source (1.0.0)
|
||||
@@ -260,7 +260,7 @@ GEM
|
||||
net-ldap (0.17.1)
|
||||
net-protocol (0.1.3)
|
||||
timeout
|
||||
net-smtp (0.3.2)
|
||||
net-smtp (0.3.3)
|
||||
net-protocol
|
||||
net-ssh (7.0.1)
|
||||
network_interface (0.0.2)
|
||||
@@ -309,7 +309,7 @@ GEM
|
||||
thor (~> 1.0)
|
||||
rake (13.0.6)
|
||||
rb-readline (0.5.5)
|
||||
recog (2.3.23)
|
||||
recog (3.0.3)
|
||||
nokogiri
|
||||
redcarpet (3.5.1)
|
||||
reline (0.3.1)
|
||||
@@ -359,7 +359,7 @@ GEM
|
||||
rex-socket
|
||||
rex-text
|
||||
rex-struct2 (0.1.3)
|
||||
rex-text (0.2.45)
|
||||
rex-text (0.2.46)
|
||||
rex-zip (0.1.4)
|
||||
rex-text
|
||||
rexml (3.2.5)
|
||||
@@ -399,7 +399,7 @@ GEM
|
||||
ttfunk (1.7.0)
|
||||
tzinfo (2.0.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2022.5)
|
||||
tzinfo-data (1.2022.6)
|
||||
tzinfo (>= 1.0.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
@@ -427,7 +427,7 @@ GEM
|
||||
activesupport (>= 4.2, < 8.0)
|
||||
xmlrpc (0.3.2)
|
||||
webrick
|
||||
zeitwerk (2.6.1)
|
||||
zeitwerk (2.6.5)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@@ -436,4 +436,4 @@ DEPENDENCIES
|
||||
metasploit-framework!
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.23
|
||||
2.3.24
|
||||
|
||||
@@ -15,13 +15,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "metasploit-framework";
|
||||
version = "6.2.24";
|
||||
version = "6.2.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rapid7";
|
||||
repo = "metasploit-framework";
|
||||
rev = version;
|
||||
sha256 = "sha256-BU6R4/wCgXjxLcWrIGo5MSRD71SV3kEHWil8HIeHK0k=";
|
||||
sha256 = "sha256-lrooEMmSu7pgG3Nm35G385ipdc4WdlM696Dd5KdwVJ0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -104,10 +104,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jxv2az9l3q1nk4bif07yr7kc0wi9znihgdph6cf8z74lbbpl7kv";
|
||||
sha256 = "1l4n8wrjhm4n9hn8c1dm92vwqlcf5wryw4dqmmp5whm6k2k9slkh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.652.0";
|
||||
version = "1.656.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
groups = ["default"];
|
||||
@@ -124,10 +124,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0crzfd4g0ym8gnn989cbv6xdwzkkp8fdqn4y7aqahyh4vixq0zki";
|
||||
sha256 = "1lqx1iadp1vdm3rgb79a219a7xkss409fadqnd5k7vl0cncxkg2s";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.343.0";
|
||||
version = "1.345.0";
|
||||
};
|
||||
aws-sdk-iam = {
|
||||
groups = ["default"];
|
||||
@@ -194,10 +194,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gbwv05hlpqrz483zd8kbsgf4i62n1gzh7rnk6nl4ik4swkdmxwa";
|
||||
sha256 = "0mz9hz5clknznw8i5f3l2zb9103mlgh96djdhlvlfpf2chkr0s1z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.13";
|
||||
version = "2.4.14";
|
||||
};
|
||||
bson = {
|
||||
groups = ["default"];
|
||||
@@ -334,10 +334,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wslw5gh335zcahxmdd497xaa7h0d8l60c0jfv942mn47fxy8m47";
|
||||
sha256 = "0fcrgzjvqc9fxhnn7mzvzxd41m63cil7n19mjxnisx836p0k93hl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.23.0";
|
||||
version = "3.0.0";
|
||||
};
|
||||
faraday = {
|
||||
groups = ["default"];
|
||||
@@ -604,12 +604,12 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
fetchSubmodules = false;
|
||||
rev = "1c805324f10bafa3a99fcd0315cc99ef83430b23";
|
||||
sha256 = "0j9bhy3iqz19b83l3plmakpl691i75m21ay55pqpi082zkir2kh5";
|
||||
rev = "2ab12336a4a6197c88ca4777c016311fa4fb7a3d";
|
||||
sha256 = "17alf2ky9pd0ywx56xhnrrssk67kny8xyrkk3dhbmfwjr482ifln";
|
||||
type = "git";
|
||||
url = "https://github.com/rapid7/metasploit-framework";
|
||||
};
|
||||
version = "6.2.24";
|
||||
version = "6.2.25";
|
||||
};
|
||||
metasploit-model = {
|
||||
groups = ["default"];
|
||||
@@ -636,10 +636,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1h7w6kavbylbs55rkv12hg28wcchwqvzmagw9yrkqmncwdavl0dl";
|
||||
sha256 = "1dli79r6rh77mwh6xqjzvz5kld70j93myg0gd5q0jxjhimwcrgya";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.0.5";
|
||||
version = "5.0.6";
|
||||
};
|
||||
metasploit_payloads-mettle = {
|
||||
groups = ["default"];
|
||||
@@ -756,10 +756,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0d1y3nkgwypfsivip8vzphs3a01a40ds4ng8i314fpr9fdk48dad";
|
||||
sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
};
|
||||
net-ssh = {
|
||||
groups = ["default"];
|
||||
@@ -1027,10 +1027,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0axq8hw515b8hbv1jm4lbrqnjm5bvjjnj7xbx9pvp17zlklvsfzb";
|
||||
sha256 = "1apkzqm07bccnfqf0fgpkcyshkqxb43fj7mkd78za4niimm3lk6w";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.23";
|
||||
version = "3.0.3";
|
||||
};
|
||||
redcarpet = {
|
||||
groups = ["default"];
|
||||
@@ -1217,10 +1217,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x7ppwzvwz8fag1n2j231wxvb0vl4qbbsqw7v8y0hx8vrfs3k5km";
|
||||
sha256 = "0arm3yakxs541qbm52rxjjd9b3p70sqim7syd83m3vqh366gr67d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.45";
|
||||
version = "0.2.46";
|
||||
};
|
||||
rex-zip = {
|
||||
groups = ["default"];
|
||||
@@ -1438,10 +1438,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1w2qlazh0r23bz9qf2d4smvlv4a1yin8kprkqqxwkiwfs5v1n55s";
|
||||
sha256 = "0dpwi70x9jrpvc7p103ci0kppam79wqqrskq9n39r3jrp4b4j27w";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2022.5";
|
||||
version = "1.2022.6";
|
||||
};
|
||||
unf = {
|
||||
groups = ["default"];
|
||||
@@ -1568,9 +1568,9 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18hihq3hxs2ywxh3ixm366cawwy4k733mh680ldaa1vxjiraxj58";
|
||||
sha256 = "10ipi1b3rh2vgwskfzcrgagc6hw5ppsz7jamsimglvww8bvya3zy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.6.1";
|
||||
version = "2.6.5";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31894,6 +31894,8 @@ with pkgs;
|
||||
|
||||
lightdm-mini-greeter = callPackage ../applications/display-managers/lightdm-mini-greeter { };
|
||||
|
||||
lightdm-mobile-greeter = callPackage ../applications/display-managers/lightdm-mobile-greeter { };
|
||||
|
||||
lightdm-tiny-greeter = callPackage ../applications/display-managers/lightdm-tiny-greeter {
|
||||
conf = config.lightdm-tiny-greeter.conf or "";
|
||||
};
|
||||
@@ -33399,6 +33401,8 @@ with pkgs;
|
||||
inherit (darwin) autoSignDarwinBinariesHook;
|
||||
};
|
||||
|
||||
btcd = callPackage ../applications/blockchains/btcd { };
|
||||
|
||||
cgminer = callPackage ../applications/blockchains/cgminer { };
|
||||
|
||||
chia = callPackage ../applications/blockchains/chia { };
|
||||
|
||||
@@ -1314,6 +1314,8 @@ let
|
||||
|
||||
ppx_tools_versioned = callPackage ../development/ocaml-modules/ppx_tools_versioned { };
|
||||
|
||||
ppx_yojson_conv = callPackage ../development/ocaml-modules/ppx_yojson_conv {};
|
||||
|
||||
ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {};
|
||||
|
||||
prettym = callPackage ../development/ocaml-modules/prettym { };
|
||||
|
||||
@@ -58,6 +58,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||
# with how buildPecl does it and make the file easier to overview.
|
||||
mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // {
|
||||
pname = "php-${pname}";
|
||||
meta.mainProgram = args.meta.mainProgram or pname;
|
||||
});
|
||||
|
||||
# Function to build an extension which is shipped as part of the php
|
||||
|
||||
@@ -1928,6 +1928,8 @@ self: super: with self; {
|
||||
|
||||
construct = callPackage ../development/python-modules/construct { };
|
||||
|
||||
construct-classes = callPackage ../development/python-modules/construct-classes { };
|
||||
|
||||
consul = callPackage ../development/python-modules/consul { };
|
||||
|
||||
container-inspector = callPackage ../development/python-modules/container-inspector { };
|
||||
|
||||
Reference in New Issue
Block a user