Merge staging-next into staging
This commit is contained in:
commit
613d60266a
|
@ -11667,6 +11667,13 @@
|
||||||
githubId = 149558;
|
githubId = 149558;
|
||||||
name = "Merlin Gaillard";
|
name = "Merlin Gaillard";
|
||||||
};
|
};
|
||||||
|
mirkolenz = {
|
||||||
|
name = "Mirko Lenz";
|
||||||
|
email = "mirko@mirkolenz.com";
|
||||||
|
matrix = "@mlenz:matrix.org";
|
||||||
|
github = "mirkolenz";
|
||||||
|
githubId = 5160954;
|
||||||
|
};
|
||||||
mirrexagon = {
|
mirrexagon = {
|
||||||
email = "mirrexagon@mirrexagon.com";
|
email = "mirrexagon@mirrexagon.com";
|
||||||
github = "mirrexagon";
|
github = "mirrexagon";
|
||||||
|
|
|
@ -258,6 +258,8 @@
|
||||||
|
|
||||||
- Garage has been upgraded to 0.9.x. `services.garage.package` now needs to be explicitly set, so version upgrades can be done in a controlled fashion. For this, we expose `garage_x_y` attributes which can be set here.
|
- Garage has been upgraded to 0.9.x. `services.garage.package` now needs to be explicitly set, so version upgrades can be done in a controlled fashion. For this, we expose `garage_x_y` attributes which can be set here.
|
||||||
|
|
||||||
|
- `voms` and `xrootd` now moves the `$out/etc` content to the `$etc` output instead of `$out/etc.orig`, when input argument `externalEtc` is not `null`.
|
||||||
|
|
||||||
- The `woodpecker-*` CI packages have been updated to 1.0.0. This release is wildly incompatible with the 0.15.X versions that were previously packaged. Please read [upstream's documentation](https://woodpecker-ci.org/docs/next/migrations#100) to learn how to update your CI configurations.
|
- The `woodpecker-*` CI packages have been updated to 1.0.0. This release is wildly incompatible with the 0.15.X versions that were previously packaged. Please read [upstream's documentation](https://woodpecker-ci.org/docs/next/migrations#100) to learn how to update your CI configurations.
|
||||||
|
|
||||||
- The Caddy module gained a new option named `services.caddy.enableReload` which is enabled by default. It allows reloading the service instead of restarting it, if only a config file has changed. This option must be disabled if you have turned off the [Caddy admin API](https://caddyserver.com/docs/caddyfile/options#admin). If you keep this option enabled, you should consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period) to a non-infinite value to prevent Caddy from delaying the reload indefinitely.
|
- The Caddy module gained a new option named `services.caddy.enableReload` which is enabled by default. It allows reloading the service instead of restarting it, if only a config file has changed. This option must be disabled if you have turned off the [Caddy admin API](https://caddyserver.com/docs/caddyfile/options#admin). If you keep this option enabled, you should consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period) to a non-infinite value to prevent Caddy from delaying the reload indefinitely.
|
||||||
|
|
|
@ -69,7 +69,7 @@ in
|
||||||
#dialout = 27; # unused
|
#dialout = 27; # unused
|
||||||
polkituser = 28;
|
polkituser = 28;
|
||||||
#utmp = 29; # unused
|
#utmp = 29; # unused
|
||||||
# ddclient = 30; # software removed
|
# ddclient = 30; # converted to DynamicUser = true
|
||||||
davfs2 = 31;
|
davfs2 = 31;
|
||||||
disnix = 33;
|
disnix = 33;
|
||||||
osgi = 34;
|
osgi = 34;
|
||||||
|
@ -394,7 +394,7 @@ in
|
||||||
dialout = 27;
|
dialout = 27;
|
||||||
#polkituser = 28; # currently unused, polkitd doesn't need a group
|
#polkituser = 28; # currently unused, polkitd doesn't need a group
|
||||||
utmp = 29;
|
utmp = 29;
|
||||||
# ddclient = 30; # software removed
|
# ddclient = 30; # converted to DynamicUser = true
|
||||||
davfs2 = 31;
|
davfs2 = 31;
|
||||||
disnix = 33;
|
disnix = 33;
|
||||||
osgi = 34;
|
osgi = 34;
|
||||||
|
|
|
@ -884,6 +884,7 @@
|
||||||
./services/networking/dae.nix
|
./services/networking/dae.nix
|
||||||
./services/networking/dante.nix
|
./services/networking/dante.nix
|
||||||
./services/networking/deconz.nix
|
./services/networking/deconz.nix
|
||||||
|
./services/networking/ddclient.nix
|
||||||
./services/networking/dhcpcd.nix
|
./services/networking/dhcpcd.nix
|
||||||
./services/networking/dnscache.nix
|
./services/networking/dnscache.nix
|
||||||
./services/networking/dnscrypt-proxy2.nix
|
./services/networking/dnscrypt-proxy2.nix
|
||||||
|
|
|
@ -54,7 +54,6 @@ in
|
||||||
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
|
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
|
||||||
(mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
|
(mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
|
||||||
(mkRemovedOptionModule [ "services" "dd-agent" ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.")
|
(mkRemovedOptionModule [ "services" "dd-agent" ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.")
|
||||||
(mkRemovedOptionModule [ "services" "ddclient" ] "ddclient has been removed on the request of the upstream maintainer because it is unmaintained and has bugs. Please switch to a different software like `inadyn` or `knsupdate`.") # Added 2023-07-04
|
|
||||||
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
|
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
|
||||||
(mkRemovedOptionModule [ "services" "exhibitor" ] "The corresponding package was removed from nixpkgs.")
|
(mkRemovedOptionModule [ "services" "exhibitor" ] "The corresponding package was removed from nixpkgs.")
|
||||||
(mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
|
(mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
|
||||||
|
|
0
nixos/modules/services/misc/confd.nix
Executable file → Normal file
0
nixos/modules/services/misc/confd.nix
Executable file → Normal file
234
nixos/modules/services/networking/ddclient.nix
Normal file
234
nixos/modules/services/networking/ddclient.nix
Normal file
|
@ -0,0 +1,234 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.ddclient;
|
||||||
|
boolToStr = bool: if bool then "yes" else "no";
|
||||||
|
dataDir = "/var/lib/ddclient";
|
||||||
|
StateDirectory = builtins.baseNameOf dataDir;
|
||||||
|
RuntimeDirectory = StateDirectory;
|
||||||
|
|
||||||
|
configFile' = pkgs.writeText "ddclient.conf" ''
|
||||||
|
# This file can be used as a template for configFile or is automatically generated by Nix options.
|
||||||
|
cache=${dataDir}/ddclient.cache
|
||||||
|
foreground=YES
|
||||||
|
use=${cfg.use}
|
||||||
|
login=${cfg.username}
|
||||||
|
password=${if cfg.protocol == "nsupdate" then "/run/${RuntimeDirectory}/ddclient.key" else "@password_placeholder@"}
|
||||||
|
protocol=${cfg.protocol}
|
||||||
|
${lib.optionalString (cfg.script != "") "script=${cfg.script}"}
|
||||||
|
${lib.optionalString (cfg.server != "") "server=${cfg.server}"}
|
||||||
|
${lib.optionalString (cfg.zone != "") "zone=${cfg.zone}"}
|
||||||
|
ssl=${boolToStr cfg.ssl}
|
||||||
|
wildcard=YES
|
||||||
|
quiet=${boolToStr cfg.quiet}
|
||||||
|
verbose=${boolToStr cfg.verbose}
|
||||||
|
${cfg.extraConfig}
|
||||||
|
${lib.concatStringsSep "," cfg.domains}
|
||||||
|
'';
|
||||||
|
configFile = if (cfg.configFile != null) then cfg.configFile else configFile';
|
||||||
|
|
||||||
|
preStart = ''
|
||||||
|
install --mode=600 --owner=$USER ${configFile} /run/${RuntimeDirectory}/ddclient.conf
|
||||||
|
${lib.optionalString (cfg.configFile == null) (if (cfg.protocol == "nsupdate") then ''
|
||||||
|
install --mode=600 --owner=$USER ${cfg.passwordFile} /run/${RuntimeDirectory}/ddclient.key
|
||||||
|
'' else if (cfg.passwordFile != null) then ''
|
||||||
|
"${pkgs.replace-secret}/bin/replace-secret" "@password_placeholder@" "${cfg.passwordFile}" "/run/${RuntimeDirectory}/ddclient.conf"
|
||||||
|
'' else ''
|
||||||
|
sed -i '/^password=@password_placeholder@$/d' /run/${RuntimeDirectory}/ddclient.conf
|
||||||
|
'')}
|
||||||
|
'';
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]
|
||||||
|
(config:
|
||||||
|
let value = getAttrFromPath [ "services" "ddclient" "domain" ] config;
|
||||||
|
in optional (value != "") value))
|
||||||
|
(mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "")
|
||||||
|
(mkRemovedOptionModule [ "services" "ddclient" "password" ] "Use services.ddclient.passwordFile instead.")
|
||||||
|
(mkRemovedOptionModule [ "services" "ddclient" "ipv6" ] "")
|
||||||
|
];
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.ddclient = with lib.types; {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = bool;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = package;
|
||||||
|
default = pkgs.ddclient;
|
||||||
|
defaultText = lib.literalExpression "pkgs.ddclient";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The ddclient executable package run by the service.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
domains = mkOption {
|
||||||
|
default = [ "" ];
|
||||||
|
type = listOf str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Domain name(s) to synchronize.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
username = mkOption {
|
||||||
|
# For `nsupdate` username contains the path to the nsupdate executable
|
||||||
|
default = lib.optionalString (config.services.ddclient.protocol == "nsupdate") "${pkgs.bind.dnsutils}/bin/nsupdate";
|
||||||
|
defaultText = "";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
User name.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = nullOr str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
A file containing the password or a TSIG key in named format when using the nsupdate protocol.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
interval = mkOption {
|
||||||
|
default = "10min";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The interval at which to run the check and update.
|
||||||
|
See {command}`man 7 systemd.time` for the format.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
configFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = nullOr path;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Path to configuration file.
|
||||||
|
When set this overrides the generated configuration from module options.
|
||||||
|
'';
|
||||||
|
example = "/root/nixos/secrets/ddclient.conf";
|
||||||
|
};
|
||||||
|
|
||||||
|
protocol = mkOption {
|
||||||
|
default = "dyndns2";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Protocol to use with dynamic DNS provider (see https://sourceforge.net/p/ddclient/wiki/protocols).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
server = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Server address.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
ssl = mkOption {
|
||||||
|
default = true;
|
||||||
|
type = bool;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Whether to use SSL/TLS to connect to dynamic DNS provider.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
quiet = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = bool;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Print no messages for unnecessary updates.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
script = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
script as required by some providers.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
use = mkOption {
|
||||||
|
default = "web, web=checkip.dyndns.com/, web-skip='Current IP Address: '";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Method to determine the IP address to send to the dynamic DNS provider.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
verbose = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = bool;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Print verbose information.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
zone = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
zone as required by some providers.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = mkOption {
|
||||||
|
default = "";
|
||||||
|
type = lines;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Extra configuration. Contents will be added verbatim to the configuration file.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
`daemon` should not be added here because it does not work great with the systemd-timer approach the service uses.
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.ddclient.enable {
|
||||||
|
systemd.services.ddclient = {
|
||||||
|
description = "Dynamic DNS Client";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
restartTriggers = optional (cfg.configFile != null) cfg.configFile;
|
||||||
|
path = lib.optional (lib.hasPrefix "if," cfg.use) pkgs.iproute2;
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
RuntimeDirectoryMode = "0700";
|
||||||
|
inherit RuntimeDirectory;
|
||||||
|
inherit StateDirectory;
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStartPre = "!${pkgs.writeShellScript "ddclient-prestart" preStart}";
|
||||||
|
ExecStart = "${lib.getExe cfg.package} -file /run/${RuntimeDirectory}/ddclient.conf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.ddclient = {
|
||||||
|
description = "Run ddclient";
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = cfg.interval;
|
||||||
|
OnUnitInactiveSec = cfg.interval;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
0
pkgs/applications/audio/soundwireserver/default.nix
Executable file → Normal file
0
pkgs/applications/audio/soundwireserver/default.nix
Executable file → Normal file
|
@ -10,16 +10,16 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "snarkos";
|
pname = "snarkos";
|
||||||
version = "2.1.7";
|
version = "2.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AleoHQ";
|
owner = "AleoHQ";
|
||||||
repo = "snarkOS";
|
repo = "snarkOS";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-kW41SNbl2vckgUth+BZ6/aM03aT6MFeY4Hwi9OVWtTI=";
|
sha256 = "sha256-vEoEnjVjxVnjZ3Lya1qO2kOypNu07aYSlrSya5NJZzs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-znEAb4q9H0Doc+XYCf27hV/z2t74kjQUffl/aJzW6tI=";
|
cargoHash = "sha256-CVHvBqfcTqWBtLFcEcs9y/LmQ4gXjX+dfqqZSxN+33A=";
|
||||||
|
|
||||||
# buildAndTestSubdir = "cli";
|
# buildAndTestSubdir = "cli";
|
||||||
|
|
||||||
|
|
0
pkgs/applications/editors/neovim/neovim-gtk.nix
Executable file → Normal file
0
pkgs/applications/editors/neovim/neovim-gtk.nix
Executable file → Normal file
|
@ -49,10 +49,10 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
tzinfoVersion = "220816";
|
tzinfoVersion = "221202";
|
||||||
tzinfo = fetchurl {
|
tzinfo = fetchurl {
|
||||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${tzinfoVersion}/${tzinfoVersion}.zip";
|
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${tzinfoVersion}/${tzinfoVersion}.zip";
|
||||||
hash = "sha256-yv8ykEYPu9upeXovei0u16iqQ7NasH6873KnQy4+KwI=";
|
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
pname = "yuzu-${branch}";
|
pname = "yuzu-${branch}";
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
# Generated by ./update.sh - do not update manually!
|
# Generated by ./update.sh - do not update manually!
|
||||||
# Last updated: 2023-10-07
|
# Last updated: 2023-10-20
|
||||||
{
|
{
|
||||||
compatList = {
|
compatList = {
|
||||||
rev = "156a0a80efc47069ba3360f8a1b268a1c6f2f505";
|
rev = "9d17cbd71408476c6a28cbf0fa8177155c511681";
|
||||||
hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
|
hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
|
||||||
};
|
};
|
||||||
|
|
||||||
mainline = {
|
mainline = {
|
||||||
version = "1579";
|
version = "1595";
|
||||||
hash = "sha256:0689w42as1di8xbh8kq2p0cws8gdwq64zdj3i8wq612nkw0q5s60";
|
hash = "sha256:09b0w6z4w9z4ms2pvik2vrmklfcx25jxcgs61bff3nflilnw9m97";
|
||||||
};
|
};
|
||||||
|
|
||||||
ea = {
|
ea = {
|
||||||
version = "3911";
|
version = "3940";
|
||||||
distHash = "sha256:0xj642kjhj0gp9l15b3ysj3gmyy47rcvzw9amghsfl13bg5ffnwh";
|
distHash = "sha256:0g0vv274sh3iy56n7s324km87g302005ahi9zh2qhwkiirbnc811";
|
||||||
fullHash = "sha256:13rd6kwnhpvjzp67k6pqgl9fsqzwy5d8043hv6kd93gg8jbxkp38";
|
fullHash = "sha256:0ywppc4z5d4b1zl1cr8yfnba58hgi0z2szficwpinapai7q0pyid";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
0
pkgs/applications/graphics/structorizer/default.nix
Executable file → Normal file
0
pkgs/applications/graphics/structorizer/default.nix
Executable file → Normal file
|
@ -31,11 +31,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: rec {
|
stdenv.mkDerivation (finalAttrs: rec {
|
||||||
pname = "blender";
|
pname = "blender";
|
||||||
version = "3.6.4";
|
version = "3.6.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
||||||
hash = "sha256-zFL0GRWAtNC3C+SAspWZmGa8US92EiYQgVfiOsCJRx4=";
|
hash = "sha256-QAHA/pn22HLsfH6VX4Sp7r25raFxAPS1Gergjez38kM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
0
pkgs/applications/misc/fluxboxlauncher/default.nix
Executable file → Normal file
0
pkgs/applications/misc/fluxboxlauncher/default.nix
Executable file → Normal file
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
perlPackages.buildPerlPackage rec {
|
perlPackages.buildPerlPackage rec {
|
||||||
pname = "get_iplayer";
|
pname = "get_iplayer";
|
||||||
version = "3.31";
|
version = "3.33";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "get-iplayer";
|
owner = "get-iplayer";
|
||||||
repo = "get_iplayer";
|
repo = "get_iplayer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "+ChCF27nmPKbqaZVxsZ6TlbzSdEz6RfMs87NE8xaSRw=";
|
hash = "sha256-cX+ydMvpQNFfQICRVKyhnB5gZkVnOMLPbGgdFymzmeA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
|
nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
|
||||||
|
@ -32,10 +32,12 @@ perlPackages.buildPerlPackage rec {
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/bin $out/share/man/man1
|
mkdir -p $out/bin $out/share/man/man1
|
||||||
cp get_iplayer $out/bin
|
cp get_iplayer $out/bin
|
||||||
wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB
|
wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB
|
||||||
cp get_iplayer.1 $out/share/man/man1
|
cp get_iplayer.1 $out/share/man/man1
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -19,18 +19,18 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "teams-for-linux";
|
pname = "teams-for-linux";
|
||||||
version = "1.3.13";
|
version = "1.3.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IsmaelMartinez";
|
owner = "IsmaelMartinez";
|
||||||
repo = "teams-for-linux";
|
repo = "teams-for-linux";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-WF2jWP6utopAMZPP/ZWOhqVGZJmACwHyLLE+HQaHJjg=";
|
hash = "sha256-2H7j8e2wPMd4cHXDKxSmyC2Ng/B3jb3/tGVTpUOU3XM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||||
hash = "sha256-vgjPGO5qa4IYfW1svClJ+wP/KtIFFd3P02T2sht69C8=";
|
hash = "sha256-zB6H14VAf13pAHQmsWC51d/qqyfRmAEbltyLD5ucG4Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
|
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
|
||||||
|
|
0
pkgs/applications/science/biology/poretools/default.nix
Executable file → Normal file
0
pkgs/applications/science/biology/poretools/default.nix
Executable file → Normal file
0
pkgs/applications/science/biology/trimal/default.nix
Executable file → Normal file
0
pkgs/applications/science/biology/trimal/default.nix
Executable file → Normal file
0
pkgs/applications/science/biology/vcftools/default.nix
Executable file → Normal file
0
pkgs/applications/science/biology/vcftools/default.nix
Executable file → Normal file
|
@ -58,7 +58,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "root";
|
pname = "root";
|
||||||
version = "6.28.06";
|
version = "6.28.08";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests = import ./tests { inherit callPackage; };
|
tests = import ./tests { inherit callPackage; };
|
||||||
|
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
||||||
hash = "sha256-rztnO5rKOTpcmuG/huqyZyqvGEG2WMXG56MKuTxYZTM=";
|
hash = "sha256-o+ZLTAH4fNm75X5h75a0FibkmwRGCVBw1B2b+6NSaGI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
|
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
|
||||||
|
|
|
@ -10,13 +10,13 @@ in
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "inputstream-adaptive";
|
pname = "inputstream-adaptive";
|
||||||
namespace = "inputstream.adaptive";
|
namespace = "inputstream.adaptive";
|
||||||
version = "20.3.9";
|
version = "20.3.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "inputstream.adaptive";
|
repo = "inputstream.adaptive";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-${rel}";
|
||||||
sha256 = "sha256-Z5p/lw7qg6aacJ0eSqswaiwTOsUmuDbNlRRs51LdjRw=";
|
sha256 = "sha256-xvU+DcVEaQ/1sm6o21/6N1znCtzrct0qDhMxXGFZjL4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraCMakeFlags = [
|
extraCMakeFlags = [
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
buildKodiAddon rec {
|
buildKodiAddon rec {
|
||||||
pname = "netflix";
|
pname = "netflix";
|
||||||
namespace = "plugin.video.netflix";
|
namespace = "plugin.video.netflix";
|
||||||
version = "1.20.2";
|
version = "1.22.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "CastagnaIT";
|
owner = "CastagnaIT";
|
||||||
repo = namespace;
|
repo = namespace;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-k2O8a0P+TzQVoFQJkzmdqmkKh3Aj7OlsnuhJfUwxOmI=";
|
sha256 = "sha256-8NGj8n1p8euqYYdPDSeFh2ZE9lly5ThSmg69yXY3Te8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
0
pkgs/applications/virtualization/vmware-workstation/default.nix
Executable file → Normal file
0
pkgs/applications/virtualization/vmware-workstation/default.nix
Executable file → Normal file
|
@ -1,3 +1,4 @@
|
||||||
|
{ lib }:
|
||||||
# We provide three paths to get the credentials into the builder's
|
# We provide three paths to get the credentials into the builder's
|
||||||
# environment:
|
# environment:
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, lib, haskellPackages, writeText, gawk }:
|
{ stdenv, lib, haskellPackages, writeText, gawk }:
|
||||||
let
|
let
|
||||||
awk = "${gawk}/bin/awk";
|
awk = "${gawk}/bin/awk";
|
||||||
dockerCredentialsFile = import ./credentials.nix;
|
dockerCredentialsFile = import ./credentials.nix { inherit lib; };
|
||||||
in
|
in
|
||||||
{ fetcher
|
{ fetcher
|
||||||
, name
|
, name
|
||||||
|
|
0
pkgs/data/fonts/vazir-fonts/default.nix
Executable file → Normal file
0
pkgs/data/fonts/vazir-fonts/default.nix
Executable file → Normal file
|
@ -1,23 +1,21 @@
|
||||||
{ lib, stdenv, fetchurl, cmake, meson, ninja, pkg-config, python3
|
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3
|
||||||
, libGLU, libepoxy, libX11, libdrm, mesa
|
, libGLU, libepoxy, libX11, libdrm, mesa
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "virglrenderer";
|
pname = "virglrenderer";
|
||||||
version = "0.10.4";
|
version = "1.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/virglrenderer-${version}/virglrenderer-virglrenderer-${version}.tar.bz2";
|
url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2";
|
||||||
sha256 = "sha256-qqvnko2sN4bdm9+F0PVjDW5FsiL5k3UAfjPSTqG+73c=";
|
hash = "sha256-KMGPP2MeuATHFXKr5oW9HuFOMmmYpmkVLvMvQi0cEdg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
buildInputs = [ libGLU libepoxy libX11 libdrm mesa ];
|
buildInputs = [ libGLU libepoxy libX11 libdrm mesa ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake meson ninja pkg-config python3 ];
|
nativeBuildInputs = [ meson ninja pkg-config python3 ];
|
||||||
|
|
||||||
dontUseCmakeConfigure = true;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
|
description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zlib-ng";
|
pname = "zlib-ng";
|
||||||
version = "2.1.3";
|
version = "2.1.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zlib-ng";
|
owner = "zlib-ng";
|
||||||
repo = "zlib-ng";
|
repo = "zlib-ng";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-DC4KPPaMuqML0HEhWJmWjyox4WEbExPDfNnpnWzoaHc=";
|
hash = "sha256-okNmobCVAC9y7tjZqFd0DBhOjs3WWRPK8jvK1j9G29k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, buildPecl, fetchFromGitHub }:
|
{ lib, buildPecl, fetchFromGitHub }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.0.0RC2";
|
version = "1.0.0RC3";
|
||||||
in buildPecl {
|
in buildPecl {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "opentelemetry";
|
pname = "opentelemetry";
|
||||||
|
@ -10,7 +10,7 @@ in buildPecl {
|
||||||
owner = "open-telemetry";
|
owner = "open-telemetry";
|
||||||
repo = "opentelemetry-php-instrumentation";
|
repo = "opentelemetry-php-instrumentation";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-sCsJ4ZmQXTTG+ZxDzw3b6Su/8QUAVZv7vV6SuLBET+0=";
|
hash = "sha256-0jHXl+Amjv0vLSuSWhkGAU25pkRXbJgdx02N6o2dUyw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/ext";
|
sourceRoot = "source/ext";
|
||||||
|
|
0
pkgs/development/python-modules/atlassian-python-api/default.nix
Executable file → Normal file
0
pkgs/development/python-modules/atlassian-python-api/default.nix
Executable file → Normal file
39
pkgs/development/python-modules/certbot-dns-ovh/default.nix
Normal file
39
pkgs/development/python-modules/certbot-dns-ovh/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ buildPythonPackage
|
||||||
|
, acme
|
||||||
|
, certbot
|
||||||
|
, dns-lexicon
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "certbot-dns-ovh";
|
||||||
|
|
||||||
|
inherit (certbot) src version;
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
sourceRoot = "${src.name}/certbot-dns-ovh";
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
acme
|
||||||
|
certbot
|
||||||
|
dns-lexicon
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pytestFlagsArray = [
|
||||||
|
"-o cache_dir=$(mktemp -d)"
|
||||||
|
|
||||||
|
# Monitor https://github.com/certbot/certbot/issues/9606 for a solution
|
||||||
|
"-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
|
||||||
|
"-W 'ignore:Package lexicon.providers is deprecated and will be removed in Lexicon 4>=.:DeprecationWarning'"
|
||||||
|
"-W 'ignore:Legacy configuration object has been used to load the ConfigResolver.:DeprecationWarning'"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = certbot.meta // {
|
||||||
|
description = "OVH DNS Authenticator plugin for Certbot";
|
||||||
|
};
|
||||||
|
}
|
|
@ -74,13 +74,13 @@ let
|
||||||
|
|
||||||
in buildPythonPackage rec {
|
in buildPythonPackage rec {
|
||||||
pname = "gpaw";
|
pname = "gpaw";
|
||||||
version = "22.8.0";
|
version = "23.9.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gpaw";
|
owner = "gpaw";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-Kgf8yuGua7mcGP+jVVmbE8JCsbrfzewRTRt3ihq9YX4=";
|
hash = "sha256-9nnK4ksTFATO6HexnxfMiih/yoY/noyJZXZOaDG/2kc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# `inetutils` is required because importing `gpaw`, as part of
|
# `inetutils` is required because importing `gpaw`, as part of
|
||||||
|
|
|
@ -7,12 +7,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "0.5.12";
|
version = "0.5.13";
|
||||||
pname = "num2words";
|
pname = "num2words";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-fnwLDwgEBao6HdnTKxypCzvwO6sXuOVNsF4beDAaCYg=";
|
hash = "sha256-owZHFvu/kNdcRJRQzr+8c6ahPmOyUx0JvezDqxoiCc8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ docopt ];
|
propagatedBuildInputs = [ docopt ];
|
||||||
|
|
0
pkgs/development/python-modules/osmnx/default.nix
Executable file → Normal file
0
pkgs/development/python-modules/osmnx/default.nix
Executable file → Normal file
|
@ -16,14 +16,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "persim";
|
pname = "persim";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-7w8KJHrc9hBOysFBF9sLJFgXEOqKjZZIFoBTlXALSXU=";
|
hash = "sha256-p6Vumfr+vRDr0D9PnEZItp9vNlCLIb59HpBg1KdyHGE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
0
pkgs/development/python-modules/streamlit/default.nix
Executable file → Normal file
0
pkgs/development/python-modules/streamlit/default.nix
Executable file → Normal file
|
@ -13,16 +13,16 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "vehicle";
|
pname = "vehicle";
|
||||||
version = "1.0.1";
|
version = "2.0.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "frenck";
|
owner = "frenck";
|
||||||
repo = "python-vehicle";
|
repo = "python-vehicle";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-nN7efkN59FCCjCk3svYCTGGdvr2RSM5VektuUkHy3Vo=";
|
hash = "sha256-EbjrAfbqVY336RHBWq81KM+oHixen+38aUTnWZQ+nCs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
0
pkgs/development/python-modules/zstandard/default.nix
Executable file → Normal file
0
pkgs/development/python-modules/zstandard/default.nix
Executable file → Normal file
|
@ -2732,6 +2732,9 @@
|
||||||
"certbot-dns-inwx": [
|
"certbot-dns-inwx": [
|
||||||
"setuptools"
|
"setuptools"
|
||||||
],
|
],
|
||||||
|
"certbot-dns-ovh": [
|
||||||
|
"setuptools"
|
||||||
|
],
|
||||||
"certbot-dns-rfc2136": [
|
"certbot-dns-rfc2136": [
|
||||||
"setuptools"
|
"setuptools"
|
||||||
],
|
],
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "railway";
|
pname = "railway";
|
||||||
version = "3.4.0";
|
version = "3.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "railwayapp";
|
owner = "railwayapp";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-pydnIUqUBMLHonEGcvB+K+48QQYQuFfZxbAETJjU+3o=";
|
hash = "sha256-I32DC0hzVM/LCSqS878sZd+UYZ0NfBuzBgd9Aed/Sq0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-VgLQfUk1xeAwr9KUo1Vz4Ndw0FAnYGw3af0v3ueNPuA=";
|
cargoHash = "sha256-CYy0YEWK9sHAr0yFIH9yzxPnzG6x/EcE8ZLkueYgSiE=";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
|
0
pkgs/misc/uq/default.nix
Executable file → Normal file
0
pkgs/misc/uq/default.nix
Executable file → Normal file
|
@ -1,4 +1,4 @@
|
||||||
{
|
{ hostPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
@ -65,7 +65,7 @@ rec {
|
||||||
*/
|
*/
|
||||||
minimal-bootstrap-sources = derivation {
|
minimal-bootstrap-sources = derivation {
|
||||||
inherit name;
|
inherit name;
|
||||||
system = builtins.currentSystem;
|
system = hostPlatform.system;
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
inherit outputHashAlgo outputHash;
|
inherit outputHashAlgo outputHash;
|
||||||
|
|
||||||
|
|
|
@ -12,12 +12,13 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
{ lib
|
{ lib
|
||||||
|
, hostPlatform
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
expected = import ./bootstrap-sources.nix { };
|
expected = import ./bootstrap-sources.nix { inherit hostPlatform; };
|
||||||
in
|
in
|
||||||
|
|
||||||
fetchFromGitHub {
|
fetchFromGitHub {
|
||||||
|
|
|
@ -10,12 +10,12 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "oci-seccomp-bpf-hook";
|
pname = "oci-seccomp-bpf-hook";
|
||||||
version = "1.2.9";
|
version = "1.2.10";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containers";
|
owner = "containers";
|
||||||
repo = "oci-seccomp-bpf-hook";
|
repo = "oci-seccomp-bpf-hook";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-KPO9xqLgPML6smoO7P50yP81b4iCvRFIR74ciUiva7o=";
|
sha256 = "sha256-bWlm+JYNf7+faKSQfW5fhxoH/D2I8ujjakswH+1r49o=";
|
||||||
};
|
};
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "apache-httpd";
|
pname = "apache-httpd";
|
||||||
version = "2.4.57";
|
version = "2.4.58";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
|
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
|
||||||
sha256 = "sha256-28y4Su6V4JXt+7geXrkmzNJOatpV3Ng8rssmLlz5TSo=";
|
sha256 = "sha256-+hbXKgeCEKVMR91b7y+Lm4oB2UkJpRRTlWs+xkQupMU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: -dev depends on -doc
|
# FIXME: -dev depends on -doc
|
||||||
|
|
|
@ -15,26 +15,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lighttpd";
|
pname = "lighttpd";
|
||||||
version = "1.4.71";
|
version = "1.4.72";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
|
url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-uLaRXaIDlv3DVN8zJNXkQBabLl6nhZ46d1IThBMlr6w=";
|
sha256 = "sha256-98reTWm3VKB0jAFGPDPNi0VsqcwDuwnoWnG8vNVOVew=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# disable tests for des/md5, which we don't support any more
|
|
||||||
./disable-legacy-crypt-tests.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs tests
|
patchShebangs tests
|
||||||
# Linux sandbox has an empty hostname and not /etc/hosts, which fails some tests
|
|
||||||
sed -ire '/[$]self->{HOSTNAME} *=/i if(length($name)==0) { $name = "127.0.0.1" }' tests/LightyTest.pm
|
|
||||||
# it's difficult to prevent this test from trying to use /var/tmp (which
|
|
||||||
# the sandbox doesn't have) so until libredirect has support for mkstemp
|
|
||||||
# calls it's easiest to disable it
|
|
||||||
sed -i '/test_mod_ssi/d' src/t/test_mod.c
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
diff -uNr lighttpd-1.4.71.orig/tests/mod-fastcgi.t lighttpd-1.4.71.new/tests/mod-fastcgi.t
|
|
||||||
--- lighttpd-1.4.71.orig/tests/mod-fastcgi.t 2023-05-27 21:56:16.000000000 +0200
|
|
||||||
+++ lighttpd-1.4.71.new/tests/mod-fastcgi.t 2023-06-01 07:01:59.789873512 +0200
|
|
||||||
@@ -79,7 +79,7 @@
|
|
||||||
ok($tf->handle_http($t) == 0, 'FastCGI + bin-copy-environment');
|
|
||||||
|
|
||||||
SKIP: {
|
|
||||||
- skip "no crypt-des under openbsd or MS Visual Studio", 2 if $^O eq 'openbsd' || $tf->{'win32native'};
|
|
||||||
+ skip "no crypt-des", 2;
|
|
||||||
|
|
||||||
$t->{REQUEST} = ( <<EOF
|
|
||||||
GET /get-server-env.php?env=REMOTE_USER HTTP/1.0
|
|
||||||
diff -uNr lighttpd-1.4.71.orig/tests/request.t lighttpd-1.4.71.new/tests/request.t
|
|
||||||
--- lighttpd-1.4.71.orig/tests/request.t 2023-05-27 21:56:16.000000000 +0200
|
|
||||||
+++ lighttpd-1.4.71.new/tests/request.t 2023-06-01 07:02:39.855940048 +0200
|
|
||||||
@@ -1106,7 +1106,7 @@
|
|
||||||
ok($tf->handle_http($t) == 0, 'Basic-Auth: Valid Auth-token - plain');
|
|
||||||
|
|
||||||
SKIP: {
|
|
||||||
- skip "no crypt-des under openbsd or MS Visual Studio", 2 if $^O eq 'openbsd' || $tf->{'win32native'};
|
|
||||||
+ skip "no crypt-des", 2;
|
|
||||||
$t->{REQUEST} = ( <<EOF
|
|
||||||
GET /server-config HTTP/1.0
|
|
||||||
Host: auth-htpasswd.example.org
|
|
||||||
@@ -1163,9 +1163,7 @@
|
|
||||||
ok($tf->handle_http($t) == 0, 'Basic-Auth: Valid Auth-token - htpasswd (apr-md5, wrong password)');
|
|
||||||
|
|
||||||
SKIP: {
|
|
||||||
- skip "no crypt-md5 under cygwin", 1 if $^O eq 'cygwin';
|
|
||||||
- skip "no crypt-md5 under darwin", 1 if $^O eq 'darwin';
|
|
||||||
- skip "no crypt-md5 under openbsd",1 if $^O eq 'openbsd';
|
|
||||||
+ skip "no crypt-md5", 1;
|
|
||||||
$t->{REQUEST} = ( <<EOF
|
|
||||||
GET /server-config HTTP/1.0
|
|
||||||
Host: auth-htpasswd.example.org
|
|
|
@ -23,7 +23,6 @@
|
||||||
let
|
let
|
||||||
phpPackage = php82.withExtensions ({ enabled, all }: enabled ++ [ all.memcached ]);
|
phpPackage = php82.withExtensions ({ enabled, all }: enabled ++ [ all.memcached ]);
|
||||||
in phpPackage.buildComposerProject rec {
|
in phpPackage.buildComposerProject rec {
|
||||||
name = pname + "-" + version;
|
|
||||||
pname = "librenms";
|
pname = "librenms";
|
||||||
version = "23.9.1";
|
version = "23.9.1";
|
||||||
|
|
||||||
|
|
0
pkgs/servers/unifi-video/default.nix
Executable file → Normal file
0
pkgs/servers/unifi-video/default.nix
Executable file → Normal file
|
@ -4,29 +4,31 @@
|
||||||
, libX11
|
, libX11
|
||||||
, libXScrnSaver
|
, libXScrnSaver
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "xssstate";
|
pname = "xssstate";
|
||||||
#
|
version = "1.1-unstable-2022-09-24";
|
||||||
# Use the date of the last commit, since there were bug fixes after the 1.1
|
|
||||||
# release.
|
|
||||||
#
|
|
||||||
version = "unstable-2022-09-24";
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.suckless.org/xssstate/";
|
url = "https://git.suckless.org/xssstate/";
|
||||||
rev = "5d8e9b49ce2970f786f1e5aa12bbaae83900453f";
|
rev = "5d8e9b49ce2970f786f1e5aa12bbaae83900453f";
|
||||||
hash = "sha256-Aor12tU1I/qNZCdBhZcvNK1FWFh0HYK8CEI29X5yoeA=";
|
hash = "sha256-Aor12tU1I/qNZCdBhZcvNK1FWFh0HYK8CEI29X5yoeA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [ "VERSION=${version}" ];
|
buildInputs = [
|
||||||
|
libX11
|
||||||
|
libXScrnSaver
|
||||||
|
];
|
||||||
|
|
||||||
installFlags = [ "PREFIX=$(out)" ];
|
makeFlags = [
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
buildInputs = [ libX11 libXScrnSaver ];
|
"VERSION=${finalAttrs.version}"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A simple tool to retrieve the X screensaver state";
|
description = "A simple tool to retrieve the X screensaver state";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ onemoresuza ];
|
maintainers = with maintainers; [ onemoresuza ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "xssstate";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
0
pkgs/tools/archivers/payload-dumper-go/default.nix
Executable file → Normal file
0
pkgs/tools/archivers/payload-dumper-go/default.nix
Executable file → Normal file
|
@ -16,14 +16,14 @@ let
|
||||||
in
|
in
|
||||||
python.pkgs.buildPythonApplication rec {
|
python.pkgs.buildPythonApplication rec {
|
||||||
pname = "esphome";
|
pname = "esphome";
|
||||||
version = "2023.9.3";
|
version = "2023.10.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-SyXEiGh1/s9EJ0UPYC8R04JUYkCPhCtNUcGvVCycKGM=";
|
hash = "sha256-XKZYnZYXETv0UXrKtjQvDXyv8lwqfO19jc5Fs3KMhEY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
0
pkgs/tools/misc/starfetch/default.nix
Executable file → Normal file
0
pkgs/tools/misc/starfetch/default.nix
Executable file → Normal file
0
pkgs/tools/misc/szyszka/default.nix
Executable file → Normal file
0
pkgs/tools/misc/szyszka/default.nix
Executable file → Normal file
53
pkgs/tools/networking/ddclient/default.nix
Normal file
53
pkgs/tools/networking/ddclient/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ lib, fetchFromGitHub, perlPackages, autoreconfHook, iproute2, perl, curl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
myPerl = perl.withPackages (ps: [ ps.JSONPP ]);
|
||||||
|
in
|
||||||
|
perlPackages.buildPerlPackage rec {
|
||||||
|
pname = "ddclient";
|
||||||
|
version = "3.11.0_1";
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ddclient";
|
||||||
|
repo = "ddclient";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-pl1kbzY5nUIvx1QiDdL9TP4vKtQnnv3RWklE4gbxXCw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
touch Makefile.PL
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
|
||||||
|
buildInputs = [ curl myPerl ];
|
||||||
|
|
||||||
|
# Prevent ddclient from picking up build time perl which is implicitly added
|
||||||
|
# by buildPerlPackage.
|
||||||
|
configureFlags = [
|
||||||
|
"--with-perl=${lib.getExe myPerl}"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -Dm755 ddclient $out/bin/ddclient
|
||||||
|
install -Dm644 -t $out/share/doc/ddclient COP* README.* ChangeLog.md
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
# TODO: run upstream tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Client for updating dynamic DNS service entries";
|
||||||
|
homepage = "https://ddclient.net/";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ bjornfor ];
|
||||||
|
mainProgram = "ddclient";
|
||||||
|
};
|
||||||
|
}
|
0
pkgs/tools/networking/ipfetch/default.nix
Executable file → Normal file
0
pkgs/tools/networking/ipfetch/default.nix
Executable file → Normal file
|
@ -13,7 +13,8 @@
|
||||||
, zlib
|
, zlib
|
||||||
# Configuration overridable with .override
|
# Configuration overridable with .override
|
||||||
# If not null, the builder will
|
# If not null, the builder will
|
||||||
# move "$out/etc" to "$out/etc.orig" and symlink "$out/etc" to externalEtc.
|
# create a new output "etc", move "$out/etc" to "$etc/etc"
|
||||||
|
# and symlink "$out/etc" to externalEtc.
|
||||||
, externalEtc ? "/etc"
|
, externalEtc ? "/etc"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -46,7 +47,8 @@ stdenv.mkDerivation rec{
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" "man" ];
|
outputs = [ "bin" "out" "dev" "man" ]
|
||||||
|
++ lib.optional (externalEtc != null) "etc";
|
||||||
|
|
||||||
preAutoreconf = ''
|
preAutoreconf = ''
|
||||||
mkdir -p aux src/autogen
|
mkdir -p aux src/autogen
|
||||||
|
@ -65,13 +67,12 @@ stdenv.mkDerivation rec{
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-gsoap-wsdl2h=${gsoap}/bin/wsdl2h"
|
"--with-gsoap-wsdl2h=${gsoap}/bin/wsdl2h"
|
||||||
|
"--sysconfdir=${placeholder "out"}/etc"
|
||||||
];
|
];
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = lib.optionalString (externalEtc != null) ''
|
||||||
${lib.optionalString (externalEtc != null) ''
|
moveToOutput etc "$etc"
|
||||||
mv "$out"/etc{,.orig}
|
ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
|
||||||
ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
|
|
||||||
''}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -39,7 +39,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
hash = "sha256-SLmxv8opN7z4V07S9kLGo8HG7Ql62iZQLtf3zGemwA8=";
|
hash = "sha256-SLmxv8opN7z4V07S9kLGo8HG7Ql62iZQLtf3zGemwA8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" "man" ];
|
outputs = [ "bin" "out" "dev" "man" ]
|
||||||
|
++ lib.optional (externalEtc != null) "etc";
|
||||||
|
|
||||||
passthru.fetchxrd = callPackage ./fetchxrd.nix { xrootd = finalAttrs.finalPackage; };
|
passthru.fetchxrd = callPackage ./fetchxrd.nix { xrootd = finalAttrs.finalPackage; };
|
||||||
passthru.tests =
|
passthru.tests =
|
||||||
|
@ -118,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
wrapProgram "$FILE" "''${makeWrapperArgs[@]}"
|
wrapProgram "$FILE" "''${makeWrapperArgs[@]}"
|
||||||
done < <(find "$bin/bin" -mindepth 1 -maxdepth 1 -type f,l -perm -a+x)
|
done < <(find "$bin/bin" -mindepth 1 -maxdepth 1 -type f,l -perm -a+x)
|
||||||
'' + lib.optionalString (externalEtc != null) ''
|
'' + lib.optionalString (externalEtc != null) ''
|
||||||
mv "$out"/etc{,.orig}
|
moveToOutput etc "$etc"
|
||||||
ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
|
ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "scrypt";
|
pname = "scrypt";
|
||||||
version = "1.3.1";
|
version = "1.3.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.tarsnap.com/scrypt/${pname}-${version}.tgz";
|
url = "https://www.tarsnap.com/scrypt/${pname}-${version}.tgz";
|
||||||
sha256 = "1hnl0r6pmyxiy4dmafmqk1db7wpc0x9rqpzqcwr9d2cmghcj6byz";
|
sha256 = "sha256-1jLBGTQgrG+uv5SC5l4z06VmTszWQ7CaUJ0h0cHym+I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "lib" "dev" ];
|
outputs = [ "out" "lib" "dev" ];
|
||||||
|
|
|
@ -92,7 +92,6 @@ mapAliases ({
|
||||||
bird2 = bird; # Added 2022-02-21
|
bird2 = bird; # Added 2022-02-21
|
||||||
bitwig-studio1 = throw "bitwig-studio1 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
|
bitwig-studio1 = throw "bitwig-studio1 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
|
||||||
bitwig-studio2 = throw "bitwig-studio2 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
|
bitwig-studio2 = throw "bitwig-studio2 has been removed, you can upgrade to 'bitwig-studio'"; # Added 2023-01-03
|
||||||
ddclient = throw "ddclient has been removed on the request of the upstream maintainer because it is unmaintained and has bugs. Please switch to a different software like `inadyn` or `knsupdate`."; # Added 2023-07-04
|
|
||||||
bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
|
bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
|
||||||
boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08
|
boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08
|
||||||
boost169 = throw "boost169 has been deprecated in favor of the latest version"; # Added 2023-06-08
|
boost169 = throw "boost169 has been deprecated in favor of the latest version"; # Added 2023-06-08
|
||||||
|
|
|
@ -7425,6 +7425,8 @@ with pkgs;
|
||||||
|
|
||||||
ddcutil = callPackage ../tools/misc/ddcutil { };
|
ddcutil = callPackage ../tools/misc/ddcutil { };
|
||||||
|
|
||||||
|
ddclient = callPackage ../tools/networking/ddclient { };
|
||||||
|
|
||||||
dd_rescue = callPackage ../tools/system/dd_rescue { };
|
dd_rescue = callPackage ../tools/system/dd_rescue { };
|
||||||
|
|
||||||
ddh = callPackage ../tools/system/ddh { };
|
ddh = callPackage ../tools/system/ddh { };
|
||||||
|
@ -20840,6 +20842,8 @@ with pkgs;
|
||||||
|
|
||||||
certbot-full = certbot.withPlugins (cp: with cp; [
|
certbot-full = certbot.withPlugins (cp: with cp; [
|
||||||
certbot-dns-cloudflare
|
certbot-dns-cloudflare
|
||||||
|
certbot-dns-google
|
||||||
|
certbot-dns-ovh
|
||||||
certbot-dns-rfc2136
|
certbot-dns-rfc2136
|
||||||
certbot-dns-route53
|
certbot-dns-route53
|
||||||
]);
|
]);
|
||||||
|
@ -28331,7 +28335,9 @@ with pkgs;
|
||||||
checkMeta = callPackage ../stdenv/generic/check-meta.nix { };
|
checkMeta = callPackage ../stdenv/generic/check-meta.nix { };
|
||||||
});
|
});
|
||||||
minimal-bootstrap-sources = callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix { };
|
minimal-bootstrap-sources = callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix { };
|
||||||
make-minimal-bootstrap-sources = callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix { };
|
make-minimal-bootstrap-sources = callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix {
|
||||||
|
inherit (stdenv) hostPlatform;
|
||||||
|
};
|
||||||
|
|
||||||
mingetty = callPackage ../os-specific/linux/mingetty { };
|
mingetty = callPackage ../os-specific/linux/mingetty { };
|
||||||
|
|
||||||
|
@ -28456,7 +28462,9 @@ with pkgs;
|
||||||
|
|
||||||
golint = callPackage ../development/tools/golint { };
|
golint = callPackage ../development/tools/golint { };
|
||||||
|
|
||||||
golangci-lint = callPackage ../development/tools/golangci-lint { };
|
golangci-lint = callPackage ../development/tools/golangci-lint {
|
||||||
|
buildGoModule = buildGo121Module;
|
||||||
|
};
|
||||||
|
|
||||||
golangci-lint-langserver = callPackage ../development/tools/golangci-lint-langserver { };
|
golangci-lint-langserver = callPackage ../development/tools/golangci-lint-langserver { };
|
||||||
|
|
||||||
|
|
|
@ -1876,11 +1876,13 @@ self: super: with self; {
|
||||||
|
|
||||||
certbot-dns-cloudflare = callPackage ../development/python-modules/certbot-dns-cloudflare { };
|
certbot-dns-cloudflare = callPackage ../development/python-modules/certbot-dns-cloudflare { };
|
||||||
|
|
||||||
|
certbot-dns-google = callPackage ../development/python-modules/certbot-dns-google { };
|
||||||
|
|
||||||
certbot-dns-inwx = callPackage ../development/python-modules/certbot-dns-inwx { };
|
certbot-dns-inwx = callPackage ../development/python-modules/certbot-dns-inwx { };
|
||||||
|
|
||||||
certbot-dns-rfc2136 = callPackage ../development/python-modules/certbot-dns-rfc2136 { };
|
certbot-dns-ovh = callPackage ../development/python-modules/certbot-dns-ovh { };
|
||||||
|
|
||||||
certbot-dns-google = callPackage ../development/python-modules/certbot-dns-google { };
|
certbot-dns-rfc2136 = callPackage ../development/python-modules/certbot-dns-rfc2136 { };
|
||||||
|
|
||||||
certbot-dns-route53 = callPackage ../development/python-modules/certbot-dns-route53 { };
|
certbot-dns-route53 = callPackage ../development/python-modules/certbot-dns-route53 { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user