Merge staging-next into staging
This commit is contained in:
commit
38a8b47046
@ -302,6 +302,12 @@ Container system, boot system and library changes are some examples of the pull
|
||||
|
||||
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
|
||||
|
||||
In case the PR is stuck waiting for the original author to apply a trivial
|
||||
change (a typo, capitalisation change, etc.) and the author allowed the members
|
||||
to modify the PR, consider applying it yourself. (or commit the existing review
|
||||
suggestion) You should pay extra attention to make sure the addition doesn't go
|
||||
against the idea of the original PR and would not be opposed by the author.
|
||||
|
||||
<!--
|
||||
The following paragraphs about how to deal with unactive contributors is just a proposition and should be modified to what the community agrees to be the right policy.
|
||||
|
||||
|
@ -8803,7 +8803,7 @@
|
||||
email = "megoettlinger@gmail.com";
|
||||
github = "mgttlinger";
|
||||
githubId = 5120487;
|
||||
name = "Merlin Göttlinger";
|
||||
name = "Merlin Humml";
|
||||
};
|
||||
mguentner = {
|
||||
email = "code@klandest.in";
|
||||
|
@ -182,6 +182,8 @@ with lib.maintainers; {
|
||||
members = [
|
||||
cole-h
|
||||
grahamc
|
||||
hoverbear
|
||||
lheckemann
|
||||
];
|
||||
scope = "Group registration for packages maintained by Determinate Systems.";
|
||||
shortName = "Determinate Systems employees";
|
||||
|
@ -184,7 +184,7 @@ in
|
||||
|
||||
# Tell zsh how to find installed completions.
|
||||
for p in ''${(z)NIX_PROFILES}; do
|
||||
fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
|
||||
fpath=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions $fpath)
|
||||
done
|
||||
|
||||
# Setup custom shell init stuff.
|
||||
|
@ -62,7 +62,7 @@ in {
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
RestrictRealtime = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
@ -1,72 +1,74 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
inherit (lib)
|
||||
concatLists
|
||||
concatMap
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
filterAttrs
|
||||
flatten
|
||||
isAttrs
|
||||
isString
|
||||
literalExpression
|
||||
mapAttrs'
|
||||
mapAttrsToList
|
||||
mkIf
|
||||
mkOption
|
||||
optionalString
|
||||
partition
|
||||
typeOf
|
||||
sort
|
||||
types
|
||||
;
|
||||
|
||||
# The priority of an option or section.
|
||||
# The configurations format are order-sensitive. Pairs are added as children of
|
||||
# the last sections if possible, otherwise, they start a new section.
|
||||
# We sort them in topological order:
|
||||
# 1. Leaf pairs.
|
||||
# 2. Sections that may contain (1).
|
||||
# 3. Sections that may contain (1) or (2).
|
||||
# 4. Etc.
|
||||
prioOf = { name, value }:
|
||||
if !isAttrs value then 0 # Leaf options.
|
||||
else {
|
||||
target = 1; # Contains: options.
|
||||
subvolume = 2; # Contains: options, target.
|
||||
volume = 3; # Contains: options, target, subvolume.
|
||||
}.${name} or (throw "Unknow section '${name}'");
|
||||
|
||||
genConfig' = set: concatStringsSep "\n" (genConfig set);
|
||||
genConfig = set:
|
||||
let
|
||||
pairs = mapAttrsToList (name: value: { inherit name value; }) set;
|
||||
sortedPairs = sort (a: b: prioOf a < prioOf b) pairs;
|
||||
in
|
||||
concatMap genPair sortedPairs;
|
||||
genSection = sec: secName: value:
|
||||
[ "${sec} ${secName}" ] ++ map (x: " " + x) (genConfig value);
|
||||
genPair = { name, value }:
|
||||
if !isAttrs value
|
||||
then [ "${name} ${value}" ]
|
||||
else concatLists (mapAttrsToList (genSection name) value);
|
||||
|
||||
addDefaults = settings: { backend = "btrfs-progs-sudo"; } // settings;
|
||||
|
||||
mkConfigFile = name: settings: pkgs.writeTextFile {
|
||||
name = "btrbk-${name}.conf";
|
||||
text = genConfig' (addDefaults settings);
|
||||
checkPhase = ''
|
||||
set +e
|
||||
${pkgs.btrbk}/bin/btrbk -c $out dryrun
|
||||
# According to btrbk(1), exit status 2 means parse error
|
||||
# for CLI options or the config file.
|
||||
if [[ $? == 2 ]]; then
|
||||
echo "Btrbk configuration is invalid:"
|
||||
cat $out
|
||||
exit 1
|
||||
fi
|
||||
set -e
|
||||
'';
|
||||
};
|
||||
|
||||
cfg = config.services.btrbk;
|
||||
sshEnabled = cfg.sshAccess != [ ];
|
||||
serviceEnabled = cfg.instances != { };
|
||||
attr2Lines = attr:
|
||||
let
|
||||
pairs = mapAttrsToList (name: value: { inherit name value; }) attr;
|
||||
isSubsection = value:
|
||||
if isAttrs value then true
|
||||
else if isString value then false
|
||||
else throw "invalid type in btrbk config ${typeOf value}";
|
||||
sortedPairs = partition (x: isSubsection x.value) pairs;
|
||||
in
|
||||
flatten (
|
||||
# non subsections go first
|
||||
(
|
||||
map (pair: [ "${pair.name} ${pair.value}" ]) sortedPairs.wrong
|
||||
)
|
||||
++ # subsections go last
|
||||
(
|
||||
map
|
||||
(
|
||||
pair:
|
||||
mapAttrsToList
|
||||
(
|
||||
childname: value:
|
||||
[ "${pair.name} ${childname}" ] ++ (map (x: " " + x) (attr2Lines value))
|
||||
)
|
||||
pair.value
|
||||
)
|
||||
sortedPairs.right
|
||||
)
|
||||
)
|
||||
;
|
||||
addDefaults = settings: { backend = "btrfs-progs-sudo"; } // settings;
|
||||
mkConfigFile = settings: concatStringsSep "\n" (attr2Lines (addDefaults settings));
|
||||
mkTestedConfigFile = name: settings:
|
||||
let
|
||||
configFile = pkgs.writeText "btrbk-${name}.conf" (mkConfigFile settings);
|
||||
in
|
||||
pkgs.runCommand "btrbk-${name}-tested.conf" { } ''
|
||||
mkdir foo
|
||||
cp ${configFile} $out
|
||||
if (set +o pipefail; ${pkgs.btrbk}/bin/btrbk -c $out ls foo 2>&1 | grep $out);
|
||||
then
|
||||
echo btrbk configuration is invalid
|
||||
cat $out
|
||||
exit 1
|
||||
fi;
|
||||
'';
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ oxalica ];
|
||||
@ -196,7 +198,7 @@ in
|
||||
(
|
||||
name: instance: {
|
||||
name = "btrbk/${name}.conf";
|
||||
value.source = mkTestedConfigFile name instance.settings;
|
||||
value.source = mkConfigFile name instance.settings;
|
||||
}
|
||||
)
|
||||
cfg.instances;
|
||||
|
@ -592,7 +592,7 @@ in
|
||||
PrivateMounts = true;
|
||||
# System Call Filtering
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
|
||||
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @setuid @swap";
|
||||
};
|
||||
|
||||
environment = {
|
||||
|
@ -245,17 +245,17 @@ in {
|
||||
(mkRenamedOptionModule [ "services" "grafana" "users" "autoAssignOrg" ] [ "services" "grafana" "settings" "users" "auto_assign_org" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "users" "autoAssignOrgRole" ] [ "services" "grafana" "settings" "users" "auto_assign_org_role" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "disableLoginForm" ] [ "services" "grafana" "settings" "auth" "disable_login_form" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "enable" ] [ "services" "grafana" "settings" "auth" "anonymous" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "org_name" ] [ "services" "grafana" "settings" "auth" "anonymous" "org_name" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "org_role" ] [ "services" "grafana" "settings" "auth" "anonymous" "org_role" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "enable" ] [ "services" "grafana" "settings" "auth" "azuread" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowSignUp" ] [ "services" "grafana" "settings" "auth" "azuread" "allow_sign_up" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "clientId" ] [ "services" "grafana" "settings" "auth" "azuread" "client_id" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowedDomains" ] [ "services" "grafana" "settings" "auth" "azuread" "allowed_domains" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowedGroups" ] [ "services" "grafana" "settings" "auth" "azuread" "allowed_groups" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "enable" ] [ "services" "grafana" "settings" "auth" "google" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "allowSignUp" ] [ "services" "grafana" "settings" "auth" "google" "allow_sign_up" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "clientId" ] [ "services" "grafana" "settings" "auth" "google" "client_id" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "enable" ] [ "services" "grafana" "settings" "auth.anonymous" "enabled" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "org_name" ] [ "services" "grafana" "settings" "auth.anonymous" "org_name" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "anonymous" "org_role" ] [ "services" "grafana" "settings" "auth.anonymous" "org_role" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "enable" ] [ "services" "grafana" "settings" "auth.azuread" "enabled" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowSignUp" ] [ "services" "grafana" "settings" "auth.azuread" "allow_sign_up" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "clientId" ] [ "services" "grafana" "settings" "auth.azuread" "client_id" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowedDomains" ] [ "services" "grafana" "settings" "auth.azuread" "allowed_domains" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "azuread" "allowedGroups" ] [ "services" "grafana" "settings" "auth.azuread" "allowed_groups" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "enable" ] [ "services" "grafana" "settings" "auth.google" "enabled" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "allowSignUp" ] [ "services" "grafana" "settings" "auth.google" "allow_sign_up" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "auth" "google" "clientId" ] [ "services" "grafana" "settings" "auth.google" "client_id" ])
|
||||
(mkRenamedOptionModule [ "services" "grafana" "analytics" "reporting" "enable" ] [ "services" "grafana" "settings" "analytics" "reporting_enabled" ])
|
||||
|
||||
(mkRemovedOptionModule [ "services" "grafana" "database" "passwordFile" ] ''
|
||||
@ -351,7 +351,7 @@ in {
|
||||
protocol = mkOption {
|
||||
description = lib.mdDoc "Which protocol to listen.";
|
||||
default = "http";
|
||||
type = types.enum ["http" "https" "socket"];
|
||||
type = types.enum ["http" "https" "h2" "socket"];
|
||||
};
|
||||
|
||||
http_addr = mkOption {
|
||||
@ -1173,14 +1173,14 @@ in {
|
||||
any (x: x.secure_settings != null) cfg.provision.notifiers
|
||||
) "Notifier secure settings will be stored as plaintext in the Nix store! Use file provider instead.")
|
||||
(optional (
|
||||
builtins.isList cfg.provision.datasources
|
||||
builtins.isList cfg.provision.datasources && cfg.provision.datasources != []
|
||||
) ''
|
||||
Provisioning Grafana datasources with options has been deprecated.
|
||||
Use `services.grafana.provision.datasources.settings` or
|
||||
`services.grafana.provision.datasources.path` instead.
|
||||
'')
|
||||
(optional (
|
||||
builtins.isList cfg.provision.dashboards
|
||||
builtins.isList cfg.provision.datasources && cfg.provision.dashboards != []
|
||||
) ''
|
||||
Provisioning Grafana dashboards with options has been deprecated.
|
||||
Use `services.grafana.provision.dashboards.settings` or
|
||||
@ -1253,8 +1253,8 @@ in {
|
||||
RuntimeDirectory = "grafana";
|
||||
RuntimeDirectoryMode = "0755";
|
||||
# Hardening
|
||||
AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = if (cfg.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ];
|
||||
AmbientCapabilities = lib.mkIf (cfg.settings.server.http_port < 1024) [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = if (cfg.settings.server.http_port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ];
|
||||
DeviceAllow = [ "" ];
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
|
@ -111,7 +111,6 @@ in
|
||||
"~@aio"
|
||||
"~@keyring"
|
||||
"~@memlock"
|
||||
"~@resources"
|
||||
"~@setuid"
|
||||
"~@timer"
|
||||
];
|
||||
|
@ -126,7 +126,7 @@ in
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -102,6 +102,7 @@ in {
|
||||
brscan5 = handleTest ./brscan5.nix {};
|
||||
btrbk = handleTest ./btrbk.nix {};
|
||||
btrbk-no-timer = handleTest ./btrbk-no-timer.nix {};
|
||||
btrbk-section-order = handleTest ./btrbk-section-order.nix {};
|
||||
buildbot = handleTest ./buildbot.nix {};
|
||||
buildkite-agents = handleTest ./buildkite-agents.nix {};
|
||||
caddy = handleTest ./caddy.nix {};
|
||||
|
51
nixos/tests/btrbk-section-order.nix
Normal file
51
nixos/tests/btrbk-section-order.nix
Normal file
@ -0,0 +1,51 @@
|
||||
# This tests validates the order of generated sections that may contain
|
||||
# other sections.
|
||||
# When a `volume` section has both `subvolume` and `target` children,
|
||||
# `target` must go before `subvolume`. Otherwise, `target` will become
|
||||
# a child of the last `subvolume` instead of `volume`, due to the
|
||||
# order-sensitive config format.
|
||||
#
|
||||
# Issue: https://github.com/NixOS/nixpkgs/issues/195660
|
||||
import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
name = "btrbk-section-order";
|
||||
meta.maintainers = with lib.maintainers; [ oxalica ];
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
services.btrbk.instances.local = {
|
||||
onCalendar = null;
|
||||
settings = {
|
||||
timestamp_format = "long";
|
||||
target."ssh://global-target/".ssh_user = "root";
|
||||
volume."/btrfs" = {
|
||||
snapshot_dir = "/volume-snapshots";
|
||||
target."ssh://volume-target/".ssh_user = "root";
|
||||
subvolume."@subvolume" = {
|
||||
snapshot_dir = "/subvolume-snapshots";
|
||||
target."ssh://subvolume-target/".ssh_user = "root";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("basic.target")
|
||||
got = machine.succeed("cat /etc/btrbk/local.conf")
|
||||
expect = """
|
||||
backend btrfs-progs-sudo
|
||||
timestamp_format long
|
||||
target ssh://global-target/
|
||||
ssh_user root
|
||||
volume /btrfs
|
||||
snapshot_dir /volume-snapshots
|
||||
target ssh://volume-target/
|
||||
ssh_user root
|
||||
subvolume @subvolume
|
||||
snapshot_dir /subvolume-snapshots
|
||||
target ssh://subvolume-target/
|
||||
ssh_user root
|
||||
""".strip()
|
||||
print(got)
|
||||
assert got == expect
|
||||
'';
|
||||
})
|
@ -6,12 +6,18 @@ let
|
||||
baseGrafanaConf = {
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
addr = "localhost";
|
||||
analytics.reporting.enable = false;
|
||||
domain = "localhost";
|
||||
security = {
|
||||
adminUser = "testadmin";
|
||||
adminPassword = "snakeoilpwd";
|
||||
settings = {
|
||||
analytics.reporting_enabled = false;
|
||||
|
||||
server = {
|
||||
http_addr = "localhost";
|
||||
domain = "localhost";
|
||||
};
|
||||
|
||||
security = {
|
||||
admin_user = "testadmin";
|
||||
admin_password = "snakeoilpwd";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -24,7 +30,7 @@ let
|
||||
};
|
||||
|
||||
postgresql = {
|
||||
services.grafana.database = {
|
||||
services.grafana.settings.database = {
|
||||
host = "127.0.0.1:5432";
|
||||
user = "grafana";
|
||||
};
|
||||
@ -40,7 +46,7 @@ let
|
||||
};
|
||||
|
||||
mysql = {
|
||||
services.grafana.database.user = "grafana";
|
||||
services.grafana.settings.database.user = "grafana";
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "grafana" ];
|
||||
|
@ -6,14 +6,20 @@ let
|
||||
baseGrafanaConf = {
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
addr = "localhost";
|
||||
analytics.reporting.enable = false;
|
||||
domain = "localhost";
|
||||
security = {
|
||||
adminUser = "testadmin";
|
||||
adminPassword = "snakeoilpwd";
|
||||
};
|
||||
provision.enable = true;
|
||||
settings = {
|
||||
analytics.reporting_enabled = false;
|
||||
|
||||
server = {
|
||||
http_addr = "localhost";
|
||||
domain = "localhost";
|
||||
};
|
||||
|
||||
security = {
|
||||
admin_user = "testadmin";
|
||||
admin_password = "snakeoilpwd";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mangal";
|
||||
version = "3.12.0";
|
||||
version = "3.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "metafates";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1fWy7riInrbReQ0sQ1TF8GhqWQG0KXk1JzhmxlSuvmk=";
|
||||
hash = "sha256-IQSRPjtMaxwJuiKGjOYQ7jp0mAPS/V6fA1/Ek/K5yqk=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorSha256 = "sha256-+HDuGSZinotUtCqffrmFkjHegxdArSJMWwnUG/tnLRc=";
|
||||
vendorSha256 = "sha256-XslNMrFCI+dGaSw7ro1vBMamFukbMA3m0I3hOl9QccM=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -47,23 +47,23 @@ let
|
||||
# and often with different versions. We write them on three lines
|
||||
# like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "5.12.0.11129";
|
||||
versions.x86_64-darwin = "5.12.0.11129";
|
||||
versions.x86_64-linux = "5.12.0.4682";
|
||||
versions.aarch64-darwin = "5.12.3.11845";
|
||||
versions.x86_64-darwin = "5.12.3.11845";
|
||||
versions.x86_64-linux = "5.12.2.4816";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-0XhqJrls4X8wO9VNmmmUGexJkA9NDkwJkYRjmyV1kAU=";
|
||||
hash = "sha256-iDLxqG7/cdo60V0mFE3tX/Msi0rRUjoM8X9yq2rlvf0=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-E7+zMrW4y1RfsR1LrxCJRRVlA+BuhzwMI/sfzqNHObo=";
|
||||
hash = "sha256-+YOtdoh8S50+GHRLb6TPYCqDtry7SnnNqo7USzkDc7c=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-UNtxyR4SMCP9c1Dre/arfdSVZbAV8qoHyHlvj3ZbXIs=";
|
||||
hash = "sha256-kgjooMqeZurzqIn3ADcgFjlqaC58dQNuIAHLx4M0S9I=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "e16";
|
||||
version = "1.0.25";
|
||||
version = "1.0.26";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz";
|
||||
hash = "sha256-rUtDaBa4vvC3gO7QSkFrphWuVOmbtkH+pRujQDaUOek=";
|
||||
hash = "sha256-1FJFE4z8UT5VYv0Ef9pqi5sYq8iIbrDPKaqcUFf9dwE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ ballerina, lib, writeText, runCommand, makeWrapper, fetchzip, stdenv, openjdk }:
|
||||
let
|
||||
version = "2201.2.1";
|
||||
version = "2201.2.2";
|
||||
codeName = "swan-lake";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "ballerina";
|
||||
@ -8,7 +8,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dist.ballerina.io/downloads/${version}/ballerina-${version}-${codeName}.zip";
|
||||
sha256 = "sha256-QNXaEivwlqBdbpxGCYnfIN/fQkWlVu8lqGWKfLlVB5s=";
|
||||
sha256 = "sha256-xBr7lsZJKk4VXuUDt7IRQN/ZDH4WrxYjd1mBIoyb9qs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clojure";
|
||||
version = "1.11.1.1165";
|
||||
version = "1.11.1.1177";
|
||||
|
||||
src = fetchurl {
|
||||
# https://clojure.org/releases/tools
|
||||
url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
|
||||
sha256 = "sha256-UXukXP6Dt1Clj4JGvO5WmuFJ2HJGkPLbyP8xhxU/6dE=";
|
||||
sha256 = "sha256-Axutyw+f7TPObxcw8llbu3r0zxYIKxFnBuUp+trR9eI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "armadillo";
|
||||
version = "11.4.1";
|
||||
version = "11.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
|
||||
sha256 = "sha256-2ttf01vE3CUbNvXdgHKcPFiNZeLsvNTk41mtnLBFI/s=";
|
||||
sha256 = "sha256-5oYBNPGsllbGoczHTHS3X4xZZqyGEoQfL78Mkc459Ok=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -0,0 +1,33 @@
|
||||
{
|
||||
lib,
|
||||
fetchzip,
|
||||
buildDunePackage,
|
||||
bls12-381,
|
||||
alcotest,
|
||||
bisect_ppx,
|
||||
integers_stubs_js,
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bls12-381-signature";
|
||||
version = "1.0.0";
|
||||
src = fetchzip {
|
||||
url = "https://gitlab.com/nomadic-labs/cryptography/ocaml-${pname}/-/archive/${version}/ocaml-bls12-381-signature-${version}.tar.bz2";
|
||||
sha256 = "sha256-KaUpAT+BWxmUP5obi4loR9vVUeQmz3p3zG3CBolUuL4=";
|
||||
};
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [ bls12-381 ];
|
||||
|
||||
checkInputs = [alcotest bisect_ppx integers_stubs_js];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Implementation of BLS signatures for the pairing-friendly curve BLS12-381";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature";
|
||||
maintainers = [lib.maintainers.ulrikstrid];
|
||||
};
|
||||
}
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "git";
|
||||
version = "3.9.1";
|
||||
version = "3.10.0";
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
|
||||
sha256 = "sha256-OyeMW5gsq4fMEWRmhzPq2qardFZtMjoQk6mMKz5+Ds4=";
|
||||
sha256 = "sha256-slUzAT4qwPzUNzHMbib/ArxaGzcMFl8tg0ynq1y5U1M=";
|
||||
};
|
||||
|
||||
# remove changelog for the carton package
|
||||
|
@ -25,11 +25,11 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "paf";
|
||||
version = "0.1.0";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/dinosaure/paf-le-chien/releases/download/${version}/paf-${version}.tbz";
|
||||
sha256 = "sha256-JIJjECEbajauowbXot19vtiDhTpGAQiSCBY0AHZOyZM=";
|
||||
sha256 = "sha256-TzhRxFTPkLMAsLPl0ONC8DRhJRGstF58+QRKbGuJZVE=";
|
||||
};
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
@ -4,6 +4,7 @@
|
||||
buildDunePackage,
|
||||
bls12-381,
|
||||
data-encoding,
|
||||
bigstringaf,
|
||||
alcotest,
|
||||
alcotest-lwt,
|
||||
bisect_ppx,
|
||||
@ -12,16 +13,16 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "tezos-bls12-381-polynomial";
|
||||
version = "0.1.2";
|
||||
version = "0.1.3";
|
||||
duneVersion = "3";
|
||||
src = fetchFromGitLab {
|
||||
owner = "nomadic-labs/cryptography";
|
||||
repo = "privacy-team";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HVeKZCPBRJWQXkcI2J7Fl4qGviYLD5x+4W4pAY/W4jA=";
|
||||
sha256 = "sha256-H1Wog3GItTIVsawr9JkyyKq+uGqbTQPTR1dacpmxLbs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [bls12-381 data-encoding];
|
||||
propagatedBuildInputs = [bls12-381 data-encoding bigstringaf];
|
||||
|
||||
checkInputs = [alcotest alcotest-lwt bisect_ppx qcheck-alcotest];
|
||||
|
||||
|
@ -1,22 +1,41 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, isPy3k, six, httplib2, requests }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, requests
|
||||
, typing-extensions
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mailmanclient";
|
||||
version = "3.3.3";
|
||||
disabled = !isPy3k;
|
||||
version = "3.3.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "92fe624675e41f41f59de1208e0125dfaa8d062bbe6138bd7cd79e4dd0b6f85e";
|
||||
hash = "sha256-0y31HXjvU/bwy0s0PcDOlrX1RdyTTnk41ceD4A0R4p4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ six httplib2 requests ];
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
] ++ lib.optionals (pythonOlder "3.8") [
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
# Tests require a running Mailman instance
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"mailmanclient"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.gnu.org/software/mailman/";
|
||||
description = "REST client for driving Mailman 3";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.linux;
|
||||
homepage = "https://www.gnu.org/software/mailman/";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ globin qyliss ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -15,16 +15,16 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "minio";
|
||||
version = "2022-10-20T00-55-09Z";
|
||||
version = "2022-10-21T22-37-48Z";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "minio";
|
||||
repo = "minio";
|
||||
rev = "RELEASE.${version}";
|
||||
sha256 = "sha256-O3+2FKAiprFucx05T9lYcA30yr9KSlDF9VEbAgH4B0E=";
|
||||
sha256 = "sha256-kdf1V7qg/UwVASYYSAY2kfT8m+cmOnAb69FVzdzvZ5Y=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-dl+7K/Vd1ybCc1IHwITaHroeLymyk5kWqqIwmLgYYA8=";
|
||||
vendorSha256 = "sha256-m2U2VfUBAmPMFOXhSCQCxtwWI1eFh5TLAp8Izqi8HLQ=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec {
|
||||
description = "A command line interface for Amazon EBS snapshots";
|
||||
changelog = "https://github.com/awslabs/coldsnap/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.apsl20;
|
||||
maintainers = with maintainers; [ hoverbear ];
|
||||
maintainers = teams.determinatesystems.members;
|
||||
};
|
||||
}
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gummy";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fushko";
|
||||
repo = "gummy";
|
||||
rev = version;
|
||||
sha256 = "sha256-nX5wEJ4HmgFHIgJP2MstBzQjU/9lrXOXoIl1vlolqak=";
|
||||
sha256 = "sha256-dw2yOXTS61OIe+NOq8MPydhkZvTit13eC7cbL5nFseg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
let
|
||||
pname = "jadx";
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skylot";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ku82SHCJhrruJEiojH6Rp7FUWvM8KtvDivL8CE5C8gc=";
|
||||
hash = "sha256-so82zzCXIJV5tIVUBJFZEpArThNQVqWASGofNzIobQM=";
|
||||
};
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
@ -37,16 +37,23 @@ let
|
||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
|
||||
# Work around okio-2.10.0 bug, fixed in 3.0. Remove "-jvm" from filename.
|
||||
# https://github.com/square/okio/issues/954
|
||||
mv $out/com/squareup/okio/okio/2.10.0/okio{-jvm,}-2.10.0.jar
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-nGejkCScX45VMT2nNArqG+fqOGvDwzeH9Xob4XMtdow=";
|
||||
outputHash = "sha256-J6YpBYVqx+aWiMFX/67T7bhu4RTlKVaT4t359YJ6m7I=";
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ gradle jdk makeWrapper ];
|
||||
|
||||
# Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted`
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
buildPhase = ''
|
||||
# The installDist Gradle build phase tries to copy some dependency .jar
|
||||
# files multiple times into the build directory. This ends up failing when
|
||||
|
@ -7160,9 +7160,7 @@ with pkgs;
|
||||
|
||||
git-latexdiff = callPackage ../tools/typesetting/git-latexdiff { };
|
||||
|
||||
gitea = callPackage ../applications/version-management/gitea {
|
||||
buildGoPackage = buildGo118Package; # nixosTests.gitea fails with 1.19
|
||||
};
|
||||
gitea = callPackage ../applications/version-management/gitea { };
|
||||
|
||||
gokart = callPackage ../development/tools/gokart { };
|
||||
|
||||
|
@ -94,6 +94,8 @@ let
|
||||
bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
|
||||
bls12-381-legacy = callPackage ../development/ocaml-modules/bls12-381/legacy.nix { };
|
||||
|
||||
bls12-381-signature = callPackage ../development/ocaml-modules/bls12-381-signature { };
|
||||
|
||||
bos = callPackage ../development/ocaml-modules/bos { };
|
||||
|
||||
brisk-reconciler = callPackage ../development/ocaml-modules/brisk-reconciler { };
|
||||
|
Loading…
Reference in New Issue
Block a user