Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-10-24 00:22:11 +00:00 committed by GitHub
commit e1cfe064a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
189 changed files with 38044 additions and 1418 deletions

View file

@ -1,2 +1,3 @@
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
R. RyanTM <ryantm-bot@ryantm.com>
Sandro <sandro.jaeckel@gmail.com>

View file

@ -9445,6 +9445,12 @@
githubId = 772914;
name = "Mikael Voss";
};
mwolfe = {
email = "corp@m0rg.dev";
github = "m0rg-dev";
githubId = 38578268;
name = "Morgan Wolfe";
};
maxwilson = {
email = "nixpkgs@maxwilson.dev";
github = "mwilsoncoding";
@ -13730,12 +13736,6 @@
githubId = 2164118;
name = "Tobias Bora";
};
tohl = {
email = "tom@logand.com";
github = "tohl";
githubId = 12159013;
name = "Tomas Hlavaty";
};
tokudan = {
email = "git@danielfrank.net";
github = "tokudan";

View file

@ -48,7 +48,17 @@ let
let
result = builtins.tryEval pathContent;
dedupResults = lst: nubOn ({ package, attrPath }: package.updateScript) (lib.concatLists lst);
somewhatUniqueRepresentant =
{ package, attrPath }: {
inherit (package) updateScript;
# Some updaters use the same `updateScript` value for all packages.
# Also compare `meta.description`.
position = package.meta.position or null;
# We cannot always use `meta.position` since it might not be available
# or it might be shared among multiple packages.
};
dedupResults = lst: nubOn somewhatUniqueRepresentant (lib.concatLists lst);
in
if result.success then
let

View file

@ -437,6 +437,13 @@
<link xlink:href="options.html#opt-services.listmonk.enable">services.listmonk</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://uptime.kuma.pet/">Uptime
Kuma</link>, a fancy self-hosted monitoring tool. Available as
<link linkend="opt-services.uptime-kuma.enable">services.uptime-kuma</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-22.11-incompatibilities">
@ -650,6 +657,14 @@
module removed, due to lack of maintainers.
</para>
</listitem>
<listitem>
<para>
The <literal>nix.checkConfig</literal> option now fully
disables the config check. The new
<literal>nix.checkAllErrors</literal> option behaves like
<literal>nix.checkConfig</literal> previously did.
</para>
</listitem>
<listitem>
<para>
<literal>generateOptparseApplicativeCompletions</literal> and
@ -858,6 +873,34 @@
has been hardened.
</para>
</listitem>
<listitem>
<para>
The <literal>services.grafana</literal> options were converted
to a
<link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
0042</link> configuration.
</para>
</listitem>
<listitem>
<para>
The <literal>services.grafana.provision.datasources</literal>
and <literal>services.grafana.provision.dashboards</literal>
options were converted to a
<link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
0042</link> configuration. They also now support specifying
the provisioning YAML file with <literal>path</literal>
option.
</para>
</listitem>
<listitem>
<para>
The <literal>services.grafana.provision.alerting</literal>
option was added. It includes suboptions for every
alerting-related objects (with the exception of
<literal>notifiers</literal>), which means its now possible
to configure modern Grafana alerting declaratively.
</para>
</listitem>
<listitem>
<para>
Matrix Synapse now requires entries in the
@ -932,6 +975,48 @@
re-enabled it.
</para>
</listitem>
<listitem>
<para>
Nextcloud has been updated to version
<emphasis role="strong">25</emphasis>. Additionally the
following things have changed for Nextcloud in NixOS:
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
For Nextcloud <emphasis role="strong">&gt;=24</emphasis>,
the default PHP version is 8.1.
</para>
</listitem>
<listitem>
<para>
Nextcloud <emphasis role="strong">23</emphasis> has been
removed since it will reach its
<link xlink:href="https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule/d76576a12a626d53305d480a6065b57cab705d3d">end
of life in December 2022</link>.
</para>
</listitem>
<listitem>
<para>
For <literal>system.stateVersion</literal> being
<emphasis role="strong">&gt;=22.11</emphasis>, Nextcloud
25 will be installed by default. For older versions,
Nextcloud 24 will be installed.
</para>
</listitem>
<listitem>
<para>
Please ensure that you only upgrade on major release at a
time! Nextcloud doesnt support upgrades across multiple
versions, i.e. an upgrade from
<emphasis role="strong">23</emphasis> to
<emphasis role="strong">25</emphasis> is only possible
when upgrading to <emphasis role="strong">24</emphasis>
first.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
Add udev rules for the Teensy family of microcontrollers.

View file

@ -148,6 +148,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- [Listmonk](https://listmonk.app), a self-hosted newsletter manager. Enable using [services.listmonk](options.html#opt-services.listmonk.enable).
- [Uptime Kuma](https://uptime.kuma.pet/), a fancy self-hosted monitoring tool. Available as [services.uptime-kuma](#opt-services.uptime-kuma.enable).
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-22.11-incompatibilities}
@ -216,6 +218,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- virtlyst package and `services.virtlyst` module removed, due to lack of maintainers.
- The `nix.checkConfig` option now fully disables the config check. The new `nix.checkAllErrors` option behaves like `nix.checkConfig` previously did.
- `generateOptparseApplicativeCompletions` and `generateOptparseApplicativeCompletion` from `haskell.lib.compose`
(and `haskell.lib`) have been deprecated in favor of `generateOptparseApplicativeCompletions` (plural!) as
provided by the haskell package sets (so `haskellPackages.generateOptparseApplicativeCompletions` etc.).
@ -278,6 +282,12 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- The `services.matrix-synapse` systemd unit has been hardened.
- The `services.grafana` options were converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
- The `services.grafana.provision.datasources` and `services.grafana.provision.dashboards` options were converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration. They also now support specifying the provisioning YAML file with `path` option.
- The `services.grafana.provision.alerting` option was added. It includes suboptions for every alerting-related objects (with the exception of `notifiers`), which means it's now possible to configure modern Grafana alerting declaratively.
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
- The `diamond` package has been update from 0.8.36 to 2.0.15. See the [upstream release notes](https://github.com/bbuchfink/diamond/releases) for more details.
@ -296,6 +306,16 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- The udisks2 service, available at `services.udisks2.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
This also means that polkit will now actually be disabled by default. The default for `security.polkit.enable` was already flipped in the previous release, but udisks2 being enabled by default re-enabled it.
- Nextcloud has been updated to version **25**. Additionally the following things have changed
for Nextcloud in NixOS:
- For Nextcloud **>=24**, the default PHP version is 8.1.
- Nextcloud **23** has been removed since it will reach its [end of life in December 2022](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule/d76576a12a626d53305d480a6065b57cab705d3d).
- For `system.stateVersion` being **>=22.11**, Nextcloud 25 will be installed by default. For older versions,
Nextcloud 24 will be installed.
- Please ensure that you only upgrade on major release at a time! Nextcloud doesn't support
upgrades across multiple versions, i.e. an upgrade from **23** to **25** is only possible
when upgrading to **24** first.
- Add udev rules for the Teensy family of microcontrollers.
- systemd-oomd is enabled by default. Depending on which systemd units have

View file

@ -718,6 +718,7 @@
./services/monitoring/ups.nix
./services/monitoring/uptime.nix
./services/monitoring/vmagent.nix
./services/monitoring/uptime-kuma.nix
./services/monitoring/vnstat.nix
./services/monitoring/zabbix-agent.nix
./services/monitoring/zabbix-proxy.nix

View file

@ -59,7 +59,7 @@ let
${mkKeyValuePairs cfg.settings}
${cfg.extraOptions}
'';
checkPhase =
checkPhase = lib.optionalString cfg.checkConfig (
if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
echo "Ignoring validation for cross-compilation"
''
@ -72,9 +72,9 @@ let
${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
${optionalString (isNixAtLeast "2.4pre") "--option experimental-features nix-command"} \
|& sed -e 's/^warning:/error:/' \
| (! grep '${if cfg.checkConfig then "^error:" else "^error: unknown setting"}')
| (! grep '${if cfg.checkAllErrors then "^error:" else "^error: unknown setting"}')
set -o pipefail
'';
'');
};
legacyConfMappings = {
@ -395,8 +395,15 @@ in
type = types.bool;
default = true;
description = lib.mdDoc ''
If enabled (the default), checks for data type mismatches and that Nix
can parse the generated nix.conf.
If enabled, checks that Nix can parse the generated nix.conf.
'';
};
checkAllErrors = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
If enabled, checks the nix.conf parsing for any kind of error. When disabled, checks only for unknown settings.
'';
};

View file

@ -106,9 +106,9 @@ in {
}
];
services.grafana.extraOptions = mkIf cfg.provisionGrafana {
RENDERING_SERVER_URL = "http://localhost:${toString cfg.settings.service.port}/render";
RENDERING_CALLBACK_URL = "http://localhost:${toString config.services.grafana.port}";
services.grafana.settings.rendering = mkIf cfg.provisionGrafana {
url = "http://localhost:${toString cfg.settings.service.port}/render";
callback_url = "http://localhost:${toString config.services.grafana.port}";
};
services.grafana-image-renderer.chromium = mkDefault pkgs.chromium;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.uptime-kuma;
in
{
options = {
services.uptime-kuma = {
enable = mkEnableOption (mdDoc "Uptime Kuma, this assumes a reverse proxy to be set.");
package = mkOption {
type = types.package;
example = literalExpression "pkgs.uptime-kuma";
default = pkgs.uptime-kuma;
defaultText = "pkgs.uptime-kuma";
description = lib.mdDoc "Uptime Kuma package to use.";
};
settings = lib.mkOption {
type =
lib.types.submodule { freeformType = with lib.types; attrsOf str; };
default = { };
example = {
PORT = "4000";
NODE_EXTRA_CA_CERTS = "/etc/ssl/certs/ca-certificates.crt";
};
description = lib.mdDoc ''
Additional configuration for Uptime Kuma, see
<https://github.com/louislam/uptime-kuma/wiki/Environment-Variables">
for supported values.
'';
};
};
};
config = mkIf cfg.enable {
services.uptime-kuma.settings = {
DATA_DIR = "/var/lib/uptime-kuma/";
NODE_ENV = mkDefault "production";
};
systemd.services.uptime-kuma = {
description = "Uptime Kuma";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = cfg.settings;
serviceConfig = {
Type = "simple";
StateDirectory = "uptime-kuma";
DynamicUser = true;
ExecStart = "${cfg.package}/bin/uptime-kuma-server";
Restart = "on-failure";
ProtectHome = true;
ProtectSystem = "strict";
PrivateTmp = true;
PrivateDevices = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
NoNewPrivileges = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;
PrivateMounts = true;
};
};
};
}

View file

@ -15,7 +15,7 @@
<para>
Litestream service is managed by a dedicated user named <literal>litestream</literal>
which needs permission to the database file. Here's an example config which gives
required permissions to access <link linkend="opt-services.grafana.database.path">
required permissions to access <link linkend="opt-services.grafana.settings.database.path">
grafana database</link>:
<programlisting>
{ pkgs, ... }:

View file

@ -120,7 +120,6 @@ in {
" -conf ${pkgs.writeText "hound.json" cfg.config}";
};
path = [ pkgs.git pkgs.mercurial pkgs.openssh ];
};
};

View file

@ -119,7 +119,7 @@ in
assertions = [
{
assertion = !((cfg.webDriverSupport == true) && (cfg.playwrightSupport == true));
message = "'services.changedetection-io.webDriverSupport' and 'services.changedetion-io.playwrightSupport' cannot be used together.";
message = "'services.changedetection-io.webDriverSupport' and 'services.changedetection-io.playwrightSupport' cannot be used together.";
}
];
@ -135,7 +135,7 @@ in
serviceConfig = {
User = cfg.user;
Group = cfg.group;
StateDirectory = mkIf defaultStateDir "changedetion-io";
StateDirectory = mkIf defaultStateDir "changedetection-io";
StateDirectoryMode = mkIf defaultStateDir "0750";
WorkingDirectory = cfg.datastorePath;
Environment = lib.optional (cfg.baseURL != null) "BASE_URL=${cfg.baseURL}"
@ -213,6 +213,7 @@ in
};
})
];
podman.defaultNetwork.dnsname.enable = true;
};
};
}

View file

@ -7,7 +7,6 @@ let
eachSite = cfg.sites;
user = "dokuwiki";
webserver = config.services.${cfg.webserver};
stateDir = hostName: "/var/lib/dokuwiki/${hostName}/data";
dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" ''
# acl.auth.php
@ -325,17 +324,17 @@ in
{
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
"d ${stateDir hostName}/attic 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/cache 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/index 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/locks 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/log 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media_attic 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/media_meta 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/meta 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/pages 0750 ${user} ${webserver.group} - -"
"d ${stateDir hostName}/tmp 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/attic 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/cache 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/index 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/locks 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/log 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/media 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/media_attic 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/media_meta 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/meta 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/pages 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -"
] ++ lib.optional (cfg.aclFile != null) "C ${cfg.aclFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/acl.auth.php.dist"
++ lib.optional (cfg.usersFile != null) "C ${cfg.usersFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/users.auth.php.dist"
) eachSite);
@ -359,7 +358,7 @@ in
};
"~ ^/data/" = {
root = "${stateDir hostName}";
root = "${cfg.stateDir}";
extraConfig = "internal;";
};

View file

@ -116,7 +116,7 @@ in
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
SystemCallFilter = [ "@system-service" "~@privileged" ];
UMask = "0077";
};

View file

@ -156,7 +156,7 @@ in {
package = mkOption {
type = types.package;
description = lib.mdDoc "Which package to use for the Nextcloud instance.";
relatedPackages = [ "nextcloud23" "nextcloud24" ];
relatedPackages = [ "nextcloud24" "nextcloud25" ];
};
phpPackage = mkOption {
type = types.package;
@ -637,10 +637,9 @@ in {
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
Please migrate your configuration to config.services.nextcloud.poolSettings.
'')
++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05"))
++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
++ (optional isUnsupportedMariadb ''
You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)!
Please note that this isn't supported officially by Nextcloud. You can either
@ -661,19 +660,13 @@ in {
nextcloud defined in an overlay, please set `services.nextcloud.package` to
`pkgs.nextcloud`.
''
else if versionOlder stateVersion "22.05" then nextcloud22
else nextcloud24
else if versionOlder stateVersion "22.11" then nextcloud24
else nextcloud25
);
services.nextcloud.phpPackage =
if versionOlder cfg.package.version "24" then pkgs.php80
# FIXME: Use PHP 8.1 with Nextcloud 24 and higher, once issues like this one are fixed:
#
# https://github.com/nextcloud/twofactor_totp/issues/1192
#
# else if versionOlder cfg.package.version "24" then pkgs.php80
# else pkgs.php81;
else pkgs.php80;
else pkgs.php81;
}
{ assertions = [

View file

@ -11,7 +11,7 @@
desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
</para>
<para>
The current default by NixOS is <package>nextcloud24</package> which is also the latest
The current default by NixOS is <package>nextcloud25</package> which is also the latest
major version available.
</para>
<section xml:id="module-services-nextcloud-basic-usage">

View file

@ -231,7 +231,7 @@ in {
gollum = handleTest ./gollum.nix {};
google-oslogin = handleTest ./google-oslogin {};
gotify-server = handleTest ./gotify-server.nix {};
grafana = handleTest ./grafana.nix {};
grafana = handleTest ./grafana {};
grafana-agent = handleTest ./grafana-agent.nix {};
graphite = handleTest ./graphite.nix {};
graylog = handleTest ./graylog.nix {};
@ -529,6 +529,7 @@ in {
pulseaudio = discoverTests (import ./pulseaudio.nix);
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
quorum = handleTest ./quorum.nix {};
quake3 = handleTest ./quake3.nix {};
rabbitmq = handleTest ./rabbitmq.nix {};
radarr = handleTest ./radarr.nix {};
radicale = handleTest ./radicale.nix {};
@ -658,6 +659,7 @@ in {
unit-php = handleTest ./web-servers/unit-php.nix {};
upnp = handleTest ./upnp.nix {};
uptermd = handleTest ./uptermd.nix {};
uptime-kuma = handleTest ./uptime-kuma.nix {};
usbguard = handleTest ./usbguard.nix {};
user-activation-scripts = handleTest ./user-activation-scripts.nix {};
user-home-mode = handleTest ./user-home-mode.nix {};

View file

@ -1,4 +1,4 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
import ../make-test-python.nix ({ lib, pkgs, ... }:
let
inherit (lib) mkMerge nameValuePair maintainers;
@ -17,6 +17,8 @@ let
};
extraNodeConfs = {
sqlite = {};
declarativePlugins = {
services.grafana.declarativePlugins = [ pkgs.grafanaPlugins.grafana-clock-panel ];
};
@ -52,14 +54,9 @@ let
};
};
nodes = builtins.listToAttrs (map (dbName:
nameValuePair dbName (mkMerge [
baseGrafanaConf
(extraNodeConfs.${dbName} or {})
])) [ "sqlite" "declarativePlugins" "postgresql" "mysql" ]);
nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs;
in {
name = "grafana";
name = "grafana-basic";
meta = with maintainers; {
maintainers = [ willibutz ];

View file

@ -0,0 +1,9 @@
{ system ? builtins.currentSystem
, config ? { }
, pkgs ? import ../../.. { inherit system config; }
}:
{
basic = import ./basic.nix { inherit system pkgs; };
provision = import ./provision { inherit system pkgs; };
}

View file

@ -0,0 +1,9 @@
apiVersion: 1
contactPoints:
- name: "Test Contact Point"
receivers:
- uid: "test_contact_point"
type: prometheus-alertmanager
settings:
url: http://localhost:9000

View file

@ -0,0 +1,6 @@
apiVersion: 1
providers:
- name: 'default'
options:
path: /var/lib/grafana/dashboards

View file

@ -0,0 +1,7 @@
apiVersion: 1
datasources:
- name: 'Test Datasource'
type: 'testdata'
access: 'proxy'
uid: 'test_datasource'

View file

@ -0,0 +1,223 @@
import ../../make-test-python.nix ({ lib, pkgs, ... }:
let
inherit (lib) mkMerge nameValuePair maintainers;
baseGrafanaConf = {
services.grafana = {
enable = true;
addr = "localhost";
analytics.reporting.enable = false;
domain = "localhost";
security = {
adminUser = "testadmin";
adminPassword = "snakeoilpwd";
};
provision.enable = true;
};
systemd.tmpfiles.rules = [
"L /var/lib/grafana/dashboards/test.json 0700 grafana grafana - ${pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json)}"
];
};
extraNodeConfs = {
provisionOld = {
services.grafana.provision = {
datasources = [{
name = "Test Datasource";
type = "testdata";
access = "proxy";
uid = "test_datasource";
}];
dashboards = [{ options.path = "/var/lib/grafana/dashboards"; }];
notifiers = [{
uid = "test_notifiers";
name = "Test Notifiers";
type = "email";
settings = {
singleEmail = true;
addresses = "test@test.com";
};
}];
};
};
provisionNix = {
services.grafana.provision = {
datasources.settings = {
apiVersion = 1;
datasources = [{
name = "Test Datasource";
type = "testdata";
access = "proxy";
uid = "test_datasource";
}];
};
dashboards.settings = {
apiVersion = 1;
providers = [{
name = "default";
options.path = "/var/lib/grafana/dashboards";
}];
};
alerting = {
rules.settings = {
groups = [{
name = "test_rule_group";
folder = "test_folder";
interval = "60s";
rules = [{
uid = "test_rule";
title = "Test Rule";
condition = "A";
data = [{
refId = "A";
datasourceUid = "-100";
model = {
conditions = [{
evaluator = {
params = [ 3 ];
type = "git";
};
operator.type = "and";
query.params = [ "A" ];
reducer.type = "last";
type = "query";
}];
datasource = {
type = "__expr__";
uid = "-100";
};
expression = "1==0";
intervalMs = 1000;
maxDataPoints = 43200;
refId = "A";
type = "math";
};
}];
for = "60s";
}];
}];
};
contactPoints.settings = {
contactPoints = [{
name = "Test Contact Point";
receivers = [{
uid = "test_contact_point";
type = "prometheus-alertmanager";
settings.url = "http://localhost:9000";
}];
}];
};
policies.settings = {
policies = [{
receiver = "Test Contact Point";
}];
};
templates.settings = {
templates = [{
name = "Test Template";
template = "Test message";
}];
};
muteTimings.settings = {
muteTimes = [{
name = "Test Mute Timing";
}];
};
};
};
};
provisionYaml = {
services.grafana.provision = {
datasources.path = ./datasources.yaml;
dashboards.path = ./dashboards.yaml;
alerting = {
rules.path = ./rules.yaml;
contactPoints.path = ./contact-points.yaml;
policies.path = ./policies.yaml;
templates.path = ./templates.yaml;
muteTimings.path = ./mute-timings.yaml;
};
};
};
};
nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs;
in {
name = "grafana-provision";
meta = with maintainers; {
maintainers = [ kfears willibutz ];
};
inherit nodes;
testScript = ''
start_all()
nodeOld = ("Nix (old format)", provisionOld)
nodeNix = ("Nix (new format)", provisionNix)
nodeYaml = ("Nix (YAML)", provisionYaml)
for nodeInfo in [nodeOld, nodeNix, nodeYaml]:
with subtest(f"Should start provision node: {nodeInfo[0]}"):
nodeInfo[1].wait_for_unit("grafana.service")
nodeInfo[1].wait_for_open_port(3000)
with subtest(f"Successful datasource provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/datasources/uid/test_datasource | grep Test\ Datasource"
)
with subtest(f"Successful dashboard provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/dashboards/uid/test_dashboard | grep Test\ Dashboard"
)
with subtest(f"Successful notifiers provision with {nodeOld[0]}"):
nodeOld[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/alert-notifications/uid/test_notifiers | grep Test\ Notifiers"
)
for nodeInfo in [nodeNix, nodeYaml]:
with subtest(f"Successful rule provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/alert-rules/test_rule | grep Test\ Rule"
)
with subtest(f"Successful contact point provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/contact-points | grep Test\ Contact\ Point"
)
with subtest(f"Successful policy provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/policies | grep Test\ Contact\ Point"
)
with subtest(f"Successful template provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/templates | grep Test\ Template"
)
with subtest("Successful mute timings provision with {nodeInfo[0]}"):
nodeInfo[1].succeed(
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/mute-timings | grep Test\ Mute\ Timing"
)
'';
})

View file

@ -0,0 +1,4 @@
apiVersion: 1
muteTimes:
- name: "Test Mute Timing"

View file

@ -0,0 +1,4 @@
apiVersion: 1
policies:
- receiver: "Test Contact Point"

View file

@ -0,0 +1,36 @@
apiVersion: 1
groups:
- name: "test_rule_group"
folder: "test_group"
interval: 60s
rules:
- uid: "test_rule"
title: "Test Rule"
condition: A
data:
- refId: A
datasourceUid: '-100'
model:
conditions:
- evaluator:
params:
- 3
type: gt
operator:
type: and
query:
params:
- A
reducer:
type: last
type: query
datasource:
type: __expr__
uid: '-100'
expression: 1==0
intervalMs: 1000
maxDataPoints: 43200
refId: A
type: math
for: 60s

View file

@ -0,0 +1,5 @@
apiVersion: 1
templates:
- name: "Test Template"
template: "Test message"

View file

@ -0,0 +1,47 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 28,
"links": [],
"liveNow": false,
"panels": [],
"schemaVersion": 37,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Test Dashboard",
"uid": "test_dashboard",
"version": 1,
"weekStart": ""
}

View file

@ -8,8 +8,8 @@ let
};
};
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
in {
name = "lxd-image-server";

View file

@ -11,8 +11,8 @@ let
};
};
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
in {
name = "lxd";
@ -23,7 +23,7 @@ in {
nodes.machine = { lib, ... }: {
virtualisation = {
diskSize = 2048;
diskSize = 4096;
# Since we're testing `limits.cpu`, we've gotta have a known number of
# cores to lean on

View file

@ -22,4 +22,4 @@ foldl
};
})
{ }
[ 23 24 ]
[ 24 25 ]

95
nixos/tests/quake3.nix Normal file
View file

@ -0,0 +1,95 @@
import ./make-test-python.nix ({ pkgs, ...} :
let
# Build Quake with coverage instrumentation.
overrides = pkgs:
{
quake3game = pkgs.quake3game.override (args: {
stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv;
});
};
# Only allow the demo data to be used (only if it's unfreeRedistributable).
unfreePredicate = pkg: with pkgs.lib; let
allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ];
in elem pkg.pname allowPackageNames &&
elem (pkg.meta.license or null) allowLicenses;
client =
{ pkgs, ... }:
{ imports = [ ./common/x11.nix ];
hardware.opengl.driSupport = true;
environment.systemPackages = [ pkgs.quake3demo ];
nixpkgs.config.packageOverrides = overrides;
nixpkgs.config.allowUnfreePredicate = unfreePredicate;
};
in
rec {
name = "quake3";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar eelco ];
};
# TODO: lcov doesn't work atm
#makeCoverageReport = true;
nodes =
{ server =
{ pkgs, ... }:
{ systemd.services.quake3-server =
{ wantedBy = [ "multi-user.target" ];
script =
"${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " +
"+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log";
};
nixpkgs.config.packageOverrides = overrides;
nixpkgs.config.allowUnfreePredicate = unfreePredicate;
networking.firewall.allowedUDPPorts = [ 27960 ];
};
client1 = client;
client2 = client;
};
testScript =
''
start_all()
server.wait_for_unit("quake3-server")
client1.wait_for_x()
client2.wait_for_x()
client1.execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &")
client2.execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &")
server.wait_until_succeeds("grep -q 'Foo.*entered the game' /tmp/log")
server.wait_until_succeeds("grep -q 'Bar.*entered the game' /tmp/log")
server.sleep(10) # wait for a while to get a nice screenshot
client1.block()
server.sleep(20)
client1.screenshot("screen1")
client2.screenshot("screen2")
client1.unblock()
server.sleep(10)
client1.screenshot("screen3")
client2.screenshot("screen4")
client1.shutdown()
client2.shutdown()
server.stop_job("quake3-server")
'';
})

View file

@ -0,0 +1,19 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "uptime-kuma";
meta.maintainers = with maintainers; [ julienmalka ];
nodes.machine =
{ pkgs, ... }:
{ services.uptime-kuma.enable = true; };
testScript = ''
machine.start()
machine.wait_for_unit("uptime-kuma.service")
machine.wait_for_open_port(3001)
machine.succeed("curl --fail http://localhost:3001/")
'';
})

View file

@ -32,9 +32,11 @@ python3Packages.buildPythonApplication rec {
wrapGAppsHook
];
# Can be removed in later versions
# https://gitlab.com/sublime-music/sublime-music/-/issues/343
pythonRelaxDeps = [ "python-mpv" ];
# Can be removed in later versions (probably > 0.11.16)
pythonRelaxDeps = [
"deepdiff"
"python-mpv"
];
buildInputs = [
gtk3

View file

@ -1413,8 +1413,8 @@ let
mktplcRef = {
name = "latex-workshop";
publisher = "James-Yu";
version = "8.28.0";
sha256 = "sha256-ZH2n/r4iKNxf6QETmNnGc5KIAIE0hcAReX3p2MDkve8=";
version = "8.29.0";
sha256 = "sha256-khAlxN+y06aneZE97fqNg2esj/wvIUINiMdVc/exd38=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";

View file

@ -12,6 +12,7 @@
# Attributes inherit from specific versions
, version, src, meta, sourceRoot, commandLineArgs
, executableName, longName, shortName, pname, updateScript
, dontFixup ? false
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
, sourceExecutableName ? executableName
@ -21,7 +22,7 @@ let
inherit (stdenv.hostPlatform) system;
unwrapped = stdenv.mkDerivation {
inherit pname version src sourceRoot;
inherit pname version src sourceRoot dontFixup;
passthru = {
inherit executableName longName tests updateScript;

View file

@ -46,6 +46,11 @@ in
updateScript = ./update-vscode.sh;
# Editing the `code` binary within the app bundle causes the bundle's signature
# to be invalidated, which prevents launching starting with macOS Ventura, because VS Code is notarized.
# See https://eclecticlight.co/2022/06/17/app-security-changes-coming-in-ventura/ for more information.
dontFixup = stdenv.isDarwin;
meta = with lib; {
description = ''
Open source source code editor developed by Microsoft for Windows,

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "felix";
version = "1.3.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = "kyoheiu";
repo = pname;
rev = "v${version}";
sha256 = "sha256-yMuV7a8nkdymgJTPuVcZ/PEA2/Vr7rQf8mpikNe3e1w=";
sha256 = "sha256-DXsuTmkfzWbjpTb3ZJRVSDGgivDlEQraqAeyRzAB4UU=";
};
cargoSha256 = "sha256-yePPIehyv11f58HQzFoPh7izSPjmbhdVu9xlHD6PGRY=";
cargoSha256 = "sha256-gv7ujyAbFEpz95cHRDKPxUW2TiYiJz35jfiKlzi6gJY=";
checkInputs = [ zoxide ];

View file

@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
description = "File Manager and User Shell for the GNU Project";
description = "File Manager and User Shell for the GNU Project, known as Midnight Commander";
downloadPage = "https://www.midnight-commander.org/downloads/";
homepage = "https://www.midnight-commander.org";
license = licenses.gpl2Plus;

View file

@ -15,6 +15,7 @@
, glib
, gtk4
, libadwaita
, Foundation
}:
stdenv.mkDerivation rec {
@ -54,6 +55,8 @@ stdenv.mkDerivation rec {
glib
gtk4
libadwaita
] ++ lib.optionals stdenv.isDarwin [
Foundation
];
postPatch = ''

View file

@ -127,6 +127,7 @@ in stdenv.mkDerivation {
makeWrapper $out/share/1password/1password $out/bin/1password \
''${gappsWrapperArgs[@]} \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
'';
}

View file

@ -12,12 +12,12 @@ let
if extension == "zip" then fetchzip args else fetchurl args;
pname = "1password-cli";
version = "2.7.1";
version = "2.7.2";
sources = rec {
aarch64-linux = fetch "linux_arm64" "sha256-JEOvLga6o3QOPYyGJfvqWIYL00TaqjcFzSMKw1ZSxtM=" "zip";
i686-linux = fetch "linux_386" "sha256-Xd40mOsElbrGioPX0irz13jhiu8mZ2n6LmKrt4FyzDg=" "zip";
x86_64-linux = fetch "linux_amd64" "sha256-DZYSkgrIpH0cYpIllVWHIuUcNgNyeX09dZ1RgUudWP8=" "zip";
aarch64-darwin = fetch "apple_universal" "sha256-j+e9y1FQp30O5pFVLbbXhtrbyRjWZZPFhkFfNXDcCPs=" "pkg";
aarch64-linux = fetch "linux_arm64" "sha256-lYY69zbJqE9KuP1Yihfz444GFazHgR9zHVDq9RzZdTA=" "zip";
i686-linux = fetch "linux_386" "sha256-IgTusLxgeOS9u4G1M7JqqxJw2D3hy5L9wl77crgfHjM=" "zip";
x86_64-linux = fetch "linux_amd64" "sha256-OL/URp5eU3K1ObTlC4nXELa7NkrZDW5tFwhgVdrmPdQ=" "zip";
aarch64-darwin = fetch "apple_universal" "sha256-pL39V9AO2DjCcWlecteTMCcBBZVb3RXmJ8wk5gyFojg=" "pkg";
x86_64-darwin = aarch64-darwin;
};
platforms = builtins.attrNames sources;

View file

@ -2,7 +2,7 @@
let
pname = "chrysalis";
version = "0.11.8";
version = "0.11.9";
in appimageTools.wrapAppImage rec {
name = "${pname}-${version}-binary";
@ -10,7 +10,7 @@ in appimageTools.wrapAppImage rec {
inherit name;
src = fetchurl {
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
sha256 = "sha256-yyb6sRCPjHCK0tkuHTffw2NkZHcqw9tIdHbbBiKLGu8=";
sha256 = "sha256-Ce6aq4JZ271jTzAoUZx6bZpmQUXmhhFgaemfZfokS24=";
};
};

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }:
stdenv.mkDerivation rec {
version = "2.0";
version = "2.1";
pname = "ddgr";
src = fetchFromGitHub {
owner = "jarun";
repo = "ddgr";
rev = "v${version}";
sha256 = "sha256-otfa2t/tfpYKqQu+VQxRKryUsIxM3JKILc3zseTC2KM=";
sha256 = "sha256-D5FUhv1moQKzcLj/3VWJNs24jTXJir1dMpv59orPTtc=";
};
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec {
pname = "flavours";
version = "0.5.2";
version = "0.6.1";
src = fetchFromGitHub {
owner = "Misterio77";
repo = pname;
rev = "v${version}";
sha256 = "sha256-P7F7PHP2EiZz6RgKbmqXRQOGG1P8TJ1emR0BEY9yBqk=";
sha256 = "sha256-Q2YW9oFqzkmWscoE4p9E43bo1/4bQrTnd8tvPsJqJyQ=";
};
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
cargoSha256 = "sha256-QlCjAtQGITGrWNKQM39QPmv/MPZaaHfwdHjal2i1qv4=";
cargoSha256 = "sha256-IrVcd8ilWbaigGMqT+kaIW3gnE+m+Ik5IyhQ4zPlyPE=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kiln";
version = "0.3.2";
version = "0.4.0";
src = fetchFromSourcehut {
owner = "~adnano";
repo = pname;
repo = "kiln";
rev = version;
hash = "sha256-PI80td/GV92Msdtive+f+H6FWo7wdaPmPCpwrX3iLlo=";
hash = "sha256-BMYySYbV4Exl0gCUt+95FnOoIhKM1UO4cw8gCw3Zf9M=";
};
nativeBuildInputs = [ scdoc installShellFiles ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pdfsam-basic";
version = "4.3.3";
version = "4.3.4";
src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
sha256 = "sha256-SUvj9YP7hIgF003caPsx5AWnMYr38y/XRf6TRm0tMAo=";
sha256 = "sha256-DYCiK5DgWTu1cm4TRsGDCB3LzVCGVkVzSlG3Jeo2WVI=";
};
unpackPhase = ''

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tippecanoe";
version = "2.6.0";
version = "2.9.1";
src = fetchFromGitHub {
owner = "felt";
repo = "tippecanoe";
rev = finalAttrs.version;
hash = "sha256-58/FS5nxzK5JSc0D1KXooSjrKMdOnpF7dvwAK9rUZZk=";
hash = "sha256-DNIkQwJUeBdVdx06NM0KMWpTTwtMyBfKc/PwGiK4wvQ=";
};
buildInputs = [ sqlite zlib ];

View file

@ -19,9 +19,9 @@
}
},
"beta": {
"version": "107.0.5304.36",
"sha256": "1jr5jncc44jqryhg90zc7pnp590qwqdvbc9nkd28418vs0dx98r4",
"sha256bin64": "0lczdihl955vcabr8f46ncglgis4ci8rnjga7dv7wxs4vlyxkhv8",
"version": "107.0.5304.62",
"sha256": "1w77id89gszichqxsrqgkb3v0kf26fic5p3y1ndgrw86d8kilgpj",
"sha256bin64": "0lc08mc1540w4chscq813pmiavvx32qfb581w7lh9ayby15j2nkk",
"deps": {
"gn": {
"version": "2022-09-14",
@ -32,9 +32,9 @@
}
},
"dev": {
"version": "108.0.5355.0",
"sha256": "185mj5sm6q2ahf0im52vkys9pcf0zxx849yrnghix3k487z959na",
"sha256bin64": "11gns3f7k1qj3asy5skrc8z3pb6var8lbqqra47c9gs1jby60d6l",
"version": "108.0.5359.10",
"sha256": "1wmb3qxd126j3466h8wb2fsfy92218rv812sxxqdbpyf2z66m8pj",
"sha256bin64": "0vv64hqx5wf8qsm3z518wv9phipb7nbg6kj5mghx55rn20qmfpbr",
"deps": {
"gn": {
"version": "2022-10-05",

View file

@ -1,11 +1,11 @@
{
"packageVersion": "105.0.1-1",
"packageVersion": "106.0.1-1",
"source": {
"rev": "105.0.1-1",
"sha256": "0a6vvf62xqxnqn0f87971nsnrr0xzakgjl4d655qhq9xn0apj8wg"
"rev": "106.0.1-1",
"sha256": "0dg4dvpa4fqhaikqnyqvxmi84g4gw535rdxmax724d0m6ksjm5yh"
},
"firefox": {
"version": "105.0.1",
"sha512": "66ef7cd5028953e7da9d55e127135739c9d85be68ec633b71c52d6c9427edb0bd8a38504148484cd322adcefb57bfefe6e57cb15855f195508fe438864f4322b"
"version": "106.0.1",
"sha512": "15f5a65a69e11dd0c463b358cafb5ad0f31db93619b9ec3f89e8c5e14d4d319d9423fe4dcd0dbbcbedc1ad444dcbd8e5e30e483220277f5b550bff6124b66519"
}
}

View file

@ -45,7 +45,7 @@ assert with lib.strings; (
stdenv.mkDerivation rec {
pname = "palemoon";
version = "31.2.0.1";
version = "31.3.0.1";
src = fetchFromGitea {
domain = "repo.palemoon.org";
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
repo = "Pale-Moon";
rev = "${version}_Release";
fetchSubmodules = true;
sha256 = "sha256-ytJC3QW9grbI6DusYITACc40+xUJ94+ATVGaOzWAwHU=";
sha256 = "sha256-qspzTlhK9MRJBsXxmYzl5K6in09LZPvaVc+ibovJAD8=";
};
nativeBuildInputs = [
@ -115,7 +115,7 @@ stdenv.mkDerivation rec {
# Too many cores can lead to build flakiness
# https://forum.palemoon.org/viewtopic.php?f=5&t=28480
export jobs=$(($NIX_BUILD_CORES<=20 ? $NIX_BUILD_CORES : 20))
export jobs=$(($NIX_BUILD_CORES<=16 ? $NIX_BUILD_CORES : 16))
if [ -z "$enableParallelBuilding" ]; then
jobs=1
fi

View file

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.23.0";
version = "1.0.0";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WA/jkS6kArc+wZFzIpBekViVOVPafG6o1vPCVqXbBNs=";
sha256 = "sha256-hSuBN+yuwXfGP7gNtYR37yl+n5hj2sp6hJ5d8tyXkf0=";
};
vendorSha256 = "sha256-fR1793YcYMcemOHF6Pj32z1q8fxvwFJTFryDFHLL+Do=";
vendorSha256 = "sha256-2pYjN904pQoliBSaCysumkMocvZDxwsTvZxgDCacVrc=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -741,13 +741,13 @@
"version": "3.3.0"
},
"minio": {
"hash": "sha256-rB7GhbTUSPTd8YOFV2XG1riBr2Wd6DTEZd2CreMbBD0=",
"hash": "sha256-fSZf5lLs3INa742AL3ayuvHr5vsr2/i4yjSvNrCzBT0=",
"owner": "aminueza",
"provider-source-address": "registry.terraform.io/aminueza/minio",
"repo": "terraform-provider-minio",
"rev": "v1.7.1",
"vendorHash": "sha256-DDP/YAZ5CVcQWxG6+RTw8ihrk9wADAckpWx2x1I0MDE=",
"version": "1.7.1"
"rev": "v1.8.0",
"vendorHash": "sha256-LcU7Pord10j4Eyxx2xIVcQXiZQT9kSTz8iBJCe8/E7s=",
"version": "1.8.0"
},
"mongodbatlas": {
"hash": "sha256-NVbUKSG5rGUtRlaJVND3nW+0Svc2d8R8uvxGKcQktco=",

View file

@ -17,6 +17,7 @@
, glib
, networkmanager
, libpulseaudio
, pipewire
}:
stdenv.mkDerivation rec {
@ -59,6 +60,8 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-rtsp-server
gst_all_1.gst-vaapi
pipewire
networkmanager
libpulseaudio
];

View file

@ -37,5 +37,9 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ sikmir ];
platforms = platforms.unix;
# tdlib-purple is not actively maintained and currently not
# compatible with recent versions of tdlib
broken = true;
};
}

View file

@ -11,17 +11,17 @@
buildGoModule rec {
pname = "aerc";
version = "0.12.0";
version = "0.13.0";
src = fetchFromSourcehut {
owner = "~rjarry";
repo = pname;
repo = "aerc";
rev = version;
hash = "sha256-n5rRvLhCy2d8xUoTNyM5JYKGJWN0nEwkQeBCOpUrUrc=";
hash = "sha256-pUp/hW4Kk3pixGfbQvphLJM9Dc/w01T1KPRewOicPqM=";
};
proxyVendor = true;
vendorHash = "sha256-Z1dW3cK3Anl8JpAfwppsSBRgV5SdRmQemOG+652z0KA=";
vendorHash = "sha256-Nx+k0PLPIx7Ia0LobXUOw7oOFVz1FXV49haAkRAVOcM=";
doCheck = false;
@ -58,7 +58,7 @@ buildGoModule rec {
postFixup = ''
wrapProgram $out/bin/aerc --prefix PATH ":" \
"$out/share/aerc/filters:${lib.makeBinPath [ ncurses ]}"
"${lib.makeBinPath [ ncurses ]}"
wrapProgram $out/share/aerc/filters/html --prefix PATH ":" \
${lib.makeBinPath [ w3m dante ]}
'';

View file

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchurl
, cmake
, pkg-config
, openssl
@ -45,6 +46,14 @@ in stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
# fix build with openssl 3.0
(fetchurl {
url = "https://salsa.debian.org/debian/transmission/-/raw/debian/3.00-2.1/debian/patches/openssl3-compat.patch";
hash = "sha256-v+SDTW/lCtc8B3TuhQB1pmjW/QRAGLtYncaImNNwpes=";
})
];
outputs = [ "out" "apparmor" ];
cmakeFlags =

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "vnstat";
version = "2.9";
version = "2.10";
src = fetchFromGitHub {
owner = "vergoh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-AEpq3Pn/WUiPDxYk6WKb1Uur5tD+OBfFAzLUDWnZH/0=";
sha256 = "sha256-XBApdQA6E2mx9WPIEiY9z2vxJS3qR0mjBnhbft4LNuQ=";
};
postPatch = ''

View file

@ -13,6 +13,7 @@
, gobject-introspection
, libadwaita
, librsvg
, gtk4
}:
python3.pkgs.buildPythonApplication rec {
@ -40,10 +41,11 @@ python3.pkgs.buildPythonApplication rec {
ninja
pkg-config
wrapGAppsHook4
gobject-introspection
gtk4 # for gtk4-update-icon-cache
];
buildInputs = [
gobject-introspection
libadwaita
librsvg
];

View file

@ -11,13 +11,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation rec {
pname = "octopus";
version = "12.0";
version = "12.1";
src = fetchFromGitLab {
owner = "octopus-code";
repo = "octopus";
rev = version;
sha256 = "sha256-OF6zcyxtWXxMUIAB8YxQ3453JAmw6Q3RnNMjr4HgTmE=";
sha256 = "sha256-dQdb4wGKOQefrgtQVorq6EH9IiAh1tMmj3GiZOXgTBY=";
};
nativeBuildInputs = [

View file

@ -24,6 +24,7 @@
, lang ? "en"
, libGL
, libGLU
, wrapQtAppsHook
}:
let
@ -39,8 +40,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoPatchelfHook
installShellFiles
makeWrapper
wrapQtAppsHook
];
dontWrapQtApps = true;
buildInputs = [
alsa-lib
@ -120,11 +122,14 @@ stdenv.mkDerivation rec {
makeWrapper $out/libexec/${dirName}/SystemFiles/Kernel/Binaries/Linux-x86-64/$path $out/bin/$path --set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}"
done
# ... and xkeyboard config path for Qt
wrapQtApp "$out/libexec/${dirName}/SystemFiles/FrontEnd/Binaries/Linux-x86-64/WolframPlayer" \
--set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
substituteInPlace $out/libexec/${dirName}/SystemFiles/FrontEnd/Binaries/Linux-x86-64/WolframPlayer \
--replace "TopDirectory=" "TopDirectory=$out/libexec/${dirName} #"
for path in WolframPlayer wolframplayer; do
makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path \
--set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path
done
# Install man pages

View file

@ -61,7 +61,7 @@ buildGoPackage rec {
goPackagePath = "code.gitea.io/gitea";
passthru.tests.gitea = nixosTests.gitea;
passthru.tests = nixosTests.gitea;
meta = with lib; {
description = "Git with a cup of tea";

View file

@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
libadwaita
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good # for scaletempo and webm
gst_all_1.gst-plugins-bad
];

View file

@ -53,7 +53,7 @@ for package in *; do
# If multiple remote sources are enabled, nuget will try them all
# concurrently and use the one that responds first. We always use the
# first source that has the package.
echo "$package $version is available on $url, but was downloaded from ${base_addresses[$used_source]}$package/$version/$package.$version.nupkg" 1>&2
echo "$package $version is available at $url, but was restored from $used_source" 1>&2
found=true
break
else

View file

@ -10,13 +10,13 @@
stdenvNoCC.mkDerivation rec {
pname = "kora-icon-theme";
version = "1.5.3";
version = "1.5.4";
src = fetchFromGitHub {
owner = "bikass";
repo = "kora";
rev = "v${version}";
sha256 = "sha256-j4W9w/icGjfkbbb0xYF3NfSFsp5RkNCc805E089JaFQ=";
sha256 = "sha256-LYlrLkMArF3rRVrvQNNfMdOgW6bJOjK9fE9obXEJK4w=";
};
nativeBuildInputs = [

File diff suppressed because one or more lines are too long

View file

@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Clozure Common Lisp";
homepage = "https://ccl.clozure.com/";
maintainers = with maintainers; [ raskin tohl ];
maintainers = with maintainers; [ raskin ];
platforms = attrNames options;
# assembler failures during build, x86_64-darwin broken since 2020-10-14
broken = (stdenv.isDarwin && stdenv.isx86_64);

View file

@ -38,7 +38,7 @@ stdenv.mkDerivation {
'';
license = lib.licenses.free; # public domain
homepage = "http://www.cons.org/cmucl/";
maintainers = [lib.maintainers.tohl];
maintainers = [ ];
platforms = lib.platforms.linux;
};
}

View file

@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
homepage = "https://common-lisp.net/project/mkcl/";
license = licenses.lgpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ tohl ];
maintainers = with maintainers; [ ];
};
}

View file

@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
description = "Lisp compiler";
homepage = "http://www.sbcl.org";
license = licenses.publicDomain; # and FreeBSD
maintainers = [maintainers.raskin maintainers.tohl];
maintainers = [ maintainers.raskin ];
platforms = attrNames options;
};
}

View file

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, texinfo, guile }:
stdenv.mkDerivation rec {
pname = "guile-config";
version = "0.5.1";
src = fetchFromGitLab {
owner = "a-sassmannshausen";
repo = "guile-config";
rev = version;
hash = "sha256-n4ukGCyIx5G1ITfKSqS6FGJ6dnDBsyxXKSFNi81E4Gg=";
};
nativeBuildInputs = [ autoreconfHook pkg-config texinfo ];
buildInputs = [ guile ];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Configuration management library for GNU Guile";
homepage = "https://gitlab.com/a-sassmannshausen/guile-config";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ sikmir ];
platforms = guile.meta.platforms;
};
}

View file

@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
meta = {
description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org";
maintainers = with lib.maintainers; [raskin tohl];
maintainers = with lib.maintainers; [ raskin ];
platforms = lib.platforms.unix;
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;

View file

@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
meta = {
description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org";
maintainers = with lib.maintainers; [raskin tohl];
maintainers = with lib.maintainers; [ raskin ];
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
platforms = lib.platforms.linux;
};

View file

@ -1,4 +1,6 @@
{ lib, stdenv, fetchurl
{ lib
, stdenv
, fetchurl
, glib
, gtk3
, libffcall
@ -25,10 +27,10 @@ stdenv.mkDerivation rec {
configureOptions = [ "--with-gtk3" ];
meta = with lib; {
description = "gtk-server for interpreted GUI programming";
homepage = "http://www.gtk-server.org/";
description = "gtk-server for interpreted GUI programming";
license = licenses.gpl2Plus;
maintainers = [ maintainers.tohl ];
maintainers = [ ];
platforms = platforms.linux;
};
}

View file

@ -55,8 +55,8 @@ stdenv.mkDerivation rec {
description = "A simple Lisp with an integrated database";
homepage = "https://picolisp.com/";
license = licenses.mit;
maintainers = with maintainers; [ raskin ];
platforms = platforms.all;
maintainers = with maintainers; [ raskin tohl ];
};
passthru = {

View file

@ -1,6 +1,6 @@
{callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "1.16.1";
sha256 = "1333ca6lnsdck4fsgjpbqf4lagxsnbg9970wxlsrinmwvdvdnwg2";
version = "1.24.0";
sha256 = "sha256-iXaBLCShGGAPb88HGiBgZjCmmv5MCr7jsN6lKOaCxYU=";
})

View file

@ -159,7 +159,7 @@ stdenv.mkDerivation rec {
++ optional libmfxSupport intel-media-sdk
++ optional libaomSupport libaom
++ optional vpxSupport libvpx
++ optionals (!stdenv.isDarwin && !stdenv.isAarch32 && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
++ optionals (!stdenv.isDarwin && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin
++ optionals vaapiSupport [ libva libdrm ]
++ optional stdenv.isLinux alsa-lib
++ optionals stdenv.isDarwin [ Cocoa CoreMedia VideoToolbox ]

View file

@ -0,0 +1,34 @@
{ lib, stdenv, fetchFromGitHub, cmake, doxygen }:
stdenv.mkDerivation rec {
pname = "geographiclib";
version = "2.1.1";
src = fetchFromGitHub {
owner = "geographiclib";
repo = "geographiclib";
rev = "v${version}";
hash = "sha256-7K4vI5vNSGPo2d9QNmasjJa4oMDfE8WTW6Guk2604Yg=";
};
nativeBuildInputs = [ cmake doxygen ];
cmakeFlags = [
"-DBUILD_DOCUMENTATION=ON"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
meta = with lib; {
description = "C++ geographic library";
longDescription = ''
GeographicLib is a small C++ library for:
* geodesic and rhumb line calculations
* conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates
* gravity (e.g., EGM2008) and geomagnetic field (e.g., WMM2020) calculations
'';
homepage = "https://geographiclib.sourceforge.io/";
license = licenses.mit;
maintainers = with maintainers; [ sikmir ];
platforms = platforms.unix;
};
}

View file

@ -1,16 +1,20 @@
{ stdenv, lib, fetchurl, cmake, perl }:
{ stdenv, lib, fetchurl, cmake, perl, gnuplot }:
stdenv.mkDerivation rec {
pname = "libcerf";
version = "2.0";
version = "2.1";
src = fetchurl {
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
sha256 = "05lpaxmy6275nbzvf1ahxcfymyph89pvlgg8h9sp9iwal4g8nvn8";
sha256 = "sha256-ihzYt/rgS4KpUWglISm4wbrKCYooX/jT8leB3q0Ut1o=";
};
nativeBuildInputs = [ cmake perl ];
passthru.tests = {
inherit gnuplot;
};
meta = with lib; {
description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
homepage = "https://jugit.fz-juelich.de/mlz/libcerf";

View file

@ -2,29 +2,29 @@
, stdenv
, fetchurl
, autoreconfHook
, pkg-config
, bzip2
, doxygen
, gettext
, imagemagick
, libgsf
, pkg-config
, xmlto
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libpst";
version = "0.6.76";
src = fetchurl {
url = "http://www.five-ten-sg.com/libpst/packages/${pname}-${version}.tar.gz";
sha256 = "0hhbbb8ddsgjhv9y1xd8s9ixlhdnjmhw12v06jwx4j6vpgp1na9x";
url = "http://www.five-ten-sg.com/libpst/packages/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
hash = "sha256-PSkb7rvbSNK5NGCLwGGVtkHaY9Ko9eDThvLp1tBaC0I=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
doxygen
gettext
pkg-config
xmlto
];
@ -35,9 +35,9 @@ stdenv.mkDerivation rec {
];
configureFlags = [
"--enable-python=no"
"--disable-static"
"--enable-libpst-shared"
"--enable-python=no"
];
doCheck = true;
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.five-ten-sg.com/libpst/";
description = "A library to read PST (MS Outlook Personal Folders) files";
license = licenses.gpl2Plus;
maintainers = [ maintainers.tohl ];
maintainers = [ ];
platforms = platforms.unix;
};
}
})

View file

@ -3,7 +3,7 @@
}:
let
version = "2.0.7";
version = "2.0.8";
# Make sure we override python, so the correct version is chosen
boostPython = boost.override { enablePython = true; inherit python; };
@ -16,7 +16,7 @@ in stdenv.mkDerivation {
owner = "arvidn";
repo = "libtorrent";
rev = "v${version}";
sha256 = "sha256-ikDtx1BIikVEL5jf37byNbuS+ft1lDtHUlFqegndapw=";
sha256 = "sha256-mMY3NiSL/lYuYmV/KWgfKbs8XukSV4PvQ87tpgBid6M=";
fetchSubmodules = true;
};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libxc";
version = "5.2.3";
version = "6.0.0";
src = fetchFromGitLab {
owner = "libxc";
repo = "libxc";
rev = version;
hash = "sha256-PuLpwhyyht+kkPUTrJTH+VTY5WuOhi2mIUDrFqubF+w=";
hash = "sha256-g1BjqzSVauDrzxIqqU2kLl6RFs6/oe2VthtndbnJQCc=";
};
nativeBuildInputs = [ perl cmake gfortran ];

View file

@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
description = "Open source multimedia framework, designed for television broadcasting";
homepage = "https://www.mltframework.org";
license = with licenses; [ gpl3Only gpl2Only lgpl21Only ];
maintainers = with maintainers; [ tohl peti ];
maintainers = with maintainers; [ peti ];
platforms = platforms.linux;
};
}

View file

@ -5,13 +5,13 @@
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation rec {
pname = "oneDNN";
version = "2.7";
version = "2.7.1";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${version}";
sha256 = "sha256-b0cBExzS4rsdSmZ8uPtM8+Djy2ncvuGVEwLsf2h0Sro=";
sha256 = "sha256-HBCuSZkApd/6UkAxz/KDFb/gyX2SI1S2GwgXAXSTU/c=";
};
outputs = [ "out" "dev" "doc" ];

View file

@ -262,6 +262,6 @@ qtModule {
# and qtwebengine 5.14+ requires at least SDK 10.14
# (qtwebengine 5.12 is fine with SDK 10.12)
# on aarch64-darwin we are already at MacOS SDK 11.0
broken = stdenv.isDarwin && stdenv.isx86_64 && (lib.versionAtLeast qtCompatVersion "5.14");
broken = stdenv.isDarwin;
};
}

View file

@ -2,14 +2,17 @@
stdenv.mkDerivation rec {
pname = "tdlib";
version = "1.8.3";
version = "1.8.7";
src = fetchFromGitHub {
owner = "tdlib";
repo = "td";
# https://github.com/tdlib/td/issues/1790
rev = "054a823c1a812ee3e038f702c6d8ba3e6974be9c";
sha256 = "sha256-YlvIGR3Axej0nfcGBQ5lwwYVWsLgqFrYgOxoNubYMPM=";
# The tdlib authors do not set tags for minor versions, but
# external programs depending on tdlib constrain the minor
# version, hence we set a specific commit with a known version.
rev = "a7a17b34b3c8fd3f7f6295f152746beb68f34d83";
sha256 = "sha256:0a5609knn7rmiiblz315yrvc9f2r207l2nl6brjy5bnhjdspmzs6";
};
buildInputs = [ gperf openssl readline zlib ];

View file

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, vulkan-headers
, glfw
, catch2
}:
stdenv.mkDerivation rec {
pname = "vk-bootstrap";
version = "0.5";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "charles-lunarg";
repo = "vk-bootstrap";
rev = "v${version}";
sha256 = "sha256-rKyfUWfRYiVNzLWh6y44ASHW4j+yabY0kZTdZi8j2Dc=";
};
postPatch = ''
# Upstream uses cmake FetchContent to resolve glfw and catch2
# needed for examples and tests
sed -iE 's=add_subdirectory(ext)==g' CMakeLists.txt
sed -iE 's=Catch2==g' tests/CMakeLists.txt
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ vulkan-headers glfw catch2 ];
cmakeFlags = [
"-DVK_BOOTSTRAP_VULKAN_HEADER_DIR=${vulkan-headers}/include"
];
meta = with lib; {
description = "Vulkan Bootstrapping Library";
license = licenses.mit;
homepage = "https://github.com/charles-lunarg/vk-bootstrap";
maintainers = with maintainers; [ shamilton ];
platforms = platforms.all;
};
}

View file

@ -1,5 +1,6 @@
[
"@angular/cli"
, "@ansible/ansible-language-server"
, "@antfu/ni"
, "@antora/cli"
, "@antora/site-generator-default"
@ -151,6 +152,7 @@
, "gitmoji-cli"
, "glob"
, "gramma"
, "grammarly-languageserver"
, "graphql"
, "graphql-cli"
, "graphql-language-service-cli"

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch
, ocaml, findlib, ocamlbuild, ocaml_oasis
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, mmap, lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
, utop, libxml2, ncurses
, linenoise
, ppx_bap
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
z3
utop libxml2 ncurses ];
propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils ocaml_lwt ocamlgraph ocurl re uri zarith piqi parsexp
propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils mmap lwt ocamlgraph ocurl re uri zarith piqi parsexp
piqi-ocaml uuidm frontc yojson ];
installPhase = ''

View file

@ -1,29 +1,25 @@
{ lib, fetchFromGitHub, pkg-config, ncurses, libev, buildDunePackage, ocaml
, cppo, dune-configurator, ocplib-endian, result
, mmap, seq
, ocaml-syntax-shims
{ lib, fetchFromGitHub, libev, buildDunePackage
, cppo, dune-configurator, ocplib-endian
}:
let inherit (lib) optional versionOlder; in
buildDunePackage rec {
pname = "lwt";
version = "5.5.0";
version = "5.6.1";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "ocsigen";
repo = "lwt";
rev = version;
sha256 = "sha256:1jbjz2rsz3j56k8vh5qlmm87hhkr250bs2m3dvpy9vsri8rkzj9z";
sha256 = "sha256-XstKs0tMwliCyXnP0Vzi5WC27HKJGnATUYtbbQmH1TE=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config cppo ]
++ optional (versionOlder ocaml.version "4.08") ocaml-syntax-shims;
buildInputs = [ dune-configurator ]
++ optional (versionOlder ocaml.version "4.07") ncurses;
propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
nativeBuildInputs = [ cppo ];
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ libev ocplib-endian ];
meta = {
homepage = "https://ocsigen.org/lwt/";

View file

@ -9,16 +9,15 @@
buildDunePackage rec {
pname = "ppx_deriving_cmdliner";
version = "0.6.0";
version = "0.6.1";
minimumOCamlVersion = "4.08";
useDune2 = true;
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "hammerlab";
repo = "ppx_deriving_cmdliner";
repo = pname;
rev = "v${version}";
sha256 = "19l32y2wv64d1c7fvln07dg3bkf7wf5inzjxlff7lbabskdbbras";
sha256 = "sha256-/22KLQnxu3e2ZSca6ZLxTJDfv/rsmgCUkJnZC0RwRi8";
};
propagatedBuildInputs = [
@ -34,7 +33,7 @@ buildDunePackage rec {
meta = with lib; {
description = "Ppx_deriving plugin for generating command line interfaces from types for OCaml";
inherit (src.meta) homepage;
homepage = "https://github.com/hammerlab/ppx_deriving_cmdliner";
license = licenses.asl20;
maintainers = [ maintainers.romildo ];
};

View file

@ -1,45 +0,0 @@
{ buildDunePackage
, lib
, fetchFromGitHub
, ocaml
, cmdliner
, spacetime_lib
, yojson
, cohttp
, ocaml_lwt
, cohttp-lwt-unix
, lambda-term
, stdlib-shims
}:
buildDunePackage rec {
pname = "prof_spacetime";
version = "0.3.0";
useDune2 = true;
src = fetchFromGitHub {
owner = "lpw25";
repo = pname;
rev = version;
sha256 = "1s88gf6x5almmyi58zx4q23w89mvahfjwhvyfg29ya5s1pjbc9hi";
};
buildInputs = [
cmdliner
spacetime_lib
yojson
cohttp
ocaml_lwt
cohttp-lwt-unix
lambda-term
stdlib-shims
];
meta = {
description = "A viewer for OCaml spacetime profiles";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.symphorien ];
broken = true; # 2022-10-20, doesn't work with updated lambda-term
inherit (src.meta) homepage;
};
}

View file

@ -3,8 +3,8 @@
buildPecl {
pname = "grpc";
version = "1.48.1";
sha256 = "sha256-dOIvjq+DPmBecu933z1DK8bZlkffUy2XLxYYdAU4WeA=";
version = "1.50.0";
sha256 = "sha256-Lgvrw1HZywfvHTaF88T5dtKXu/lGR5xeS+TsqqNQCSc=";
doCheck = true;
checkTarget = "test";

View file

@ -294,6 +294,18 @@ buildPythonPackage rec {
./update-providers.py
'';
# Note on testing the web UI:
# You can (manually) test the web UI as follows:
#
# nix shell .#python3Packages.apache-airflow
# airflow db init
# airflow reset -y # WARNING: this will wipe any existing db state you might have!
# airflow standalone
#
# Then navigate to the localhost URL using the credentials printed, try
# triggering the 'example_bash_operator' and 'example_bash_operator' DAGs and
# see if they report success.
meta = with lib; {
description = "Programmatically author, schedule and monitor data pipelines";
homepage = "https://airflow.apache.org/";

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "bluetooth-auto-recovery";
version = "0.3.4";
version = "0.3.6";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-jInCWya146QI7D89zSAPChF8GMDj7NRzu9NvVIbkntM=";
hash = "sha256-2GmBO67sUIjasF5MHrDkZ4D+dk3xN+HNpc7nSN+qTaQ=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, click
, pytestCheckHook
, pytest-click
}:
buildPythonPackage rec {
pname = "click-shell";
version = "2.1";
format = "setuptools";
# PyPi release is missing tests
src = fetchFromGitHub {
owner = "clarkperkins";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-4QpQzg0yFuOFymGiTI+A8o6LyX78iTJMqr0ernYbilI=";
};
propagatedBuildInputs = [
click
];
checkInputs = [
pytest-click
pytestCheckHook
];
pythonImportsCheck = [
"click_shell"
];
preCheck = "export HOME=$(mktemp -d)";
meta = with lib; {
description = "An extension to click that easily turns your click app into a shell utility";
longDescription = ''
This is an extension to click that easily turns your click app into a
shell utility. It is built on top of the built in python cmd module,
with modifications to make it work with click. It adds a 'shell' mode
with command completion to any click app.
'';
homepage = "https://github.com/clarkperkins/click-shell";
license = licenses.bsd3;
maintainers = with maintainers; [ binsky ];
};
}

View file

@ -8,50 +8,56 @@
, numpy
, pytestCheckHook
, pyyaml
, toml
, pythonOlder
}:
buildPythonPackage rec {
pname = "deepdiff";
version = "5.8.2";
version = "6.1.0";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "seperman";
repo = "deepdiff";
rev = "v${version}";
hash = "sha256-7eagu6lef5bc/4KU3y067LFOGtH6whda1ocBuRHS/kI=";
rev = "refs/tags/${version}";
hash = "sha256-ngtQNyVQaywMyYitj37m0RJGBiMpjB4b8Rn+feMOjVU=";
};
postPatch = ''
substituteInPlace requirements.txt \
--replace "ordered-set==4.0.2" "ordered-set"
substituteInPlace tests/test_command.py \
--replace '/tmp/' "$TMPDIR/"
'';
propagatedBuildInputs = [
click
ordered-set
];
passthru.optional-dependencies = {
cli = [
clevercsv
click
pyyaml
toml
];
};
checkInputs = [
jsonpickle
numpy
pytestCheckHook
] ++ passthru.optional-dependencies.cli;
pythonImportsCheck = [
"deepdiff"
];
checkInputs = [
clevercsv
jsonpickle
numpy
pytestCheckHook
pyyaml
];
meta = with lib; {
description = "Deep Difference and Search of any Python object/data";
homepage = "https://github.com/seperman/deepdiff";
changelog = "https://github.com/seperman/deepdiff/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
};

View file

@ -1,26 +1,29 @@
{ lib
, python
, buildPythonPackage
, fetchPypi
, pythonOlder
, python
}:
buildPythonPackage rec {
pname = "demjson3";
version = "3.0.5";
version = "3.0.6";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "103dc4pzwg8791q3zll1vv4gcc17d9v3jvr9zj23cpv9hpfsp6mb";
hash = "sha256-N8g7DG6wjSXe/IjfCipIddWKeAmpZQvW7uev2AU826w=";
};
checkPhase = ''
${python.interpreter} test/test_demjson3.py
'';
pythonImportsCheck = [ "demjson3" ];
pythonImportsCheck = [
"demjson3"
];
meta = with lib; {
description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";

Some files were not shown because too many files have changed in this diff Show more