diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index ae8dc9bf4bc0..0e3f315bb0de 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -10,13 +10,18 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
+ # required to find all branches
+ fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
- uses: zeebe-io/backport-action@v0.0.7
+ # should be kept in sync with `version`
+ uses: zeebe-io/backport-action@v0.0.5
with:
# Config README: https://github.com/zeebe-io/backport-action#backport-action
github_token: ${{ secrets.GITHUB_TOKEN }}
github_workspace: ${{ github.workspace }}
+ # should be kept in sync with `uses`
+ version: v0.0.5
pull_description: |-
Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}.
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index d11524968cf8..f1fb6baea38a 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3271,6 +3271,7 @@
};
ekleog = {
email = "leo@gaspard.io";
+ matrix = "@leo:gaspard.ninja";
github = "ekleog";
githubId = 411447;
name = "Leo Gaspard";
diff --git a/maintainers/scripts/update.py b/maintainers/scripts/update.py
index eb26a472e926..06b12a0ee04e 100644
--- a/maintainers/scripts/update.py
+++ b/maintainers/scripts/update.py
@@ -114,7 +114,7 @@ async def check_changes(package: Dict, worktree: str, update_info: str):
changes[0]['newVersion'] = json.loads((await obtain_new_version_process.stdout.read()).decode('utf-8'))
if 'files' not in changes[0]:
- changed_files_process = await check_subprocess('git', 'diff', '--name-only', stdout=asyncio.subprocess.PIPE, cwd=worktree)
+ changed_files_process = await check_subprocess('git', 'diff', '--name-only', 'HEAD', stdout=asyncio.subprocess.PIPE, cwd=worktree)
changed_files = (await changed_files_process.stdout.read()).splitlines()
changes[0]['files'] = changed_files
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index f04d97beb53d..f1d7526dd6c8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -556,6 +556,17 @@ Superuser created successfully.
services.geoipupdate.
+
+
+ ihatemoney has been updated to version
+ 5.1.1
+ (release
+ notes). If you serve ihatemoney by HTTP rather than
+ HTTPS, you must set
+ services.ihatemoney.secureCookie
+ to false.
+
+
PHP 7.3 is no longer supported due to upstream not supporting
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 3b0c20ce5a29..b26e0773a174 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -204,6 +204,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
+- `ihatemoney` has been updated to version 5.1.1 ([release notes](https://github.com/spiral-project/ihatemoney/blob/5.1.1/CHANGELOG.rst)). If you serve ihatemoney by HTTP rather than HTTPS, you must set [services.ihatemoney.secureCookie](options.html#opt-services.ihatemoney.secureCookie) to `false`.
+
- PHP 7.3 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 21.11 release.
- Those making use of `buildBazelPackage` will need to regenerate the fetch hashes (preferred), or set `fetchConfigured = false;`.
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index b1e9bed4a5c1..cce017a6441d 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -218,6 +218,7 @@ rec {
build-vms = import ./build-vms.nix {
inherit system lib pkgs minimal specialArgs;
extraConfigurations = extraConfigurations ++ [(
+ { config, ... }:
{
virtualisation.qemu.package = qemu_pkg;
@@ -230,7 +231,17 @@ rec {
# copied to the image.
virtualisation.additionalPaths =
lib.optional
- (builtins.hasContext testScript')
+ # A testScript may evaluate nodes, which has caused
+ # infinite recursions. The demand cycle involves:
+ # testScript -->
+ # nodes -->
+ # toplevel -->
+ # additionalPaths -->
+ # hasContext testScript' -->
+ # testScript (ad infinitum)
+ # If we don't need to build an image, we can break this
+ # cycle by short-circuiting when useNixStoreImage is false.
+ (config.virtualisation.useNixStoreImage && builtins.hasContext testScript')
(pkgs.writeStringReferencesToFile testScript');
# Ensure we do not use aliases. Ideally this is only set
diff --git a/nixos/modules/services/desktops/pipewire/client-rt.conf.json b/nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/client-rt.conf.json
rename to nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/client.conf.json b/nixos/modules/services/desktops/pipewire/daemon/client.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/client.conf.json
rename to nixos/modules/services/desktops/pipewire/daemon/client.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/jack.conf.json
rename to nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/pipewire-pulse.conf.json
rename to nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/pipewire.conf.json
rename to nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/alsa-monitor.conf.json b/nixos/modules/services/desktops/pipewire/media-session/alsa-monitor.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/alsa-monitor.conf.json
rename to nixos/modules/services/desktops/pipewire/media-session/alsa-monitor.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/bluez-monitor.conf.json b/nixos/modules/services/desktops/pipewire/media-session/bluez-monitor.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/bluez-monitor.conf.json
rename to nixos/modules/services/desktops/pipewire/media-session/bluez-monitor.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/media-session.conf.json b/nixos/modules/services/desktops/pipewire/media-session/media-session.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/media-session.conf.json
rename to nixos/modules/services/desktops/pipewire/media-session/media-session.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/v4l2-monitor.conf.json b/nixos/modules/services/desktops/pipewire/media-session/v4l2-monitor.conf.json
similarity index 100%
rename from nixos/modules/services/desktops/pipewire/v4l2-monitor.conf.json
rename to nixos/modules/services/desktops/pipewire/media-session/v4l2-monitor.conf.json
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 4ae6aab29cdb..8f6c4fa1d4f6 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -13,10 +13,10 @@ let
# Use upstream config files passed through spa-json-dump as the base
# Patched here as necessary for them to work with this module
defaults = {
- alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
- bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
- media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
- v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
+ alsa-monitor = (builtins.fromJSON (builtins.readFile ./media-session/alsa-monitor.conf.json));
+ bluez-monitor = (builtins.fromJSON (builtins.readFile ./media-session/bluez-monitor.conf.json));
+ media-session = (builtins.fromJSON (builtins.readFile ./media-session/media-session.conf.json));
+ v4l2-monitor = (builtins.fromJSON (builtins.readFile ./media-session/v4l2-monitor.conf.json));
};
configs = {
@@ -43,8 +43,8 @@ in {
package = mkOption {
type = types.package;
- default = pkgs.pipewire.mediaSession;
- defaultText = literalExpression "pkgs.pipewire.mediaSession";
+ default = pkgs.pipewire-media-session;
+ defaultText = literalExpression "pkgs.pipewire-media-session";
description = ''
The pipewire-media-session derivation to use.
'';
@@ -55,7 +55,7 @@ in {
type = json.type;
description = ''
Configuration for the media session core. For details see
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
+ https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
'';
default = {};
};
@@ -64,7 +64,7 @@ in {
type = json.type;
description = ''
Configuration for the alsa monitor. For details see
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
+ https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
'';
default = {};
};
@@ -73,7 +73,7 @@ in {
type = json.type;
description = ''
Configuration for the bluez5 monitor. For details see
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
+ https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
'';
default = {};
};
@@ -82,7 +82,7 @@ in {
type = json.type;
description = ''
Configuration for the V4L2 monitor. For details see
- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
+ https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
'';
default = {};
};
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix
index 604645b2b18a..273d518033db 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -22,12 +22,11 @@ let
# Use upstream config files passed through spa-json-dump as the base
# Patched here as necessary for them to work with this module
defaults = {
- client = builtins.fromJSON (builtins.readFile ./client.conf.json);
- client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
- jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
- # Remove session manager invocation from the upstream generated file, it points to the wrong path
- pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
- pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
+ client = builtins.fromJSON (builtins.readFile ./daemon/client.conf.json);
+ client-rt = builtins.fromJSON (builtins.readFile ./daemon/client-rt.conf.json);
+ jack = builtins.fromJSON (builtins.readFile ./daemon/jack.conf.json);
+ pipewire = builtins.fromJSON (builtins.readFile ./daemon/pipewire.conf.json);
+ pipewire-pulse = builtins.fromJSON (builtins.readFile ./daemon/pipewire-pulse.conf.json);
};
configs = {
diff --git a/nixos/modules/services/hardware/power-profiles-daemon.nix b/nixos/modules/services/hardware/power-profiles-daemon.nix
index 70b7a72b8bae..4144bc667088 100644
--- a/nixos/modules/services/hardware/power-profiles-daemon.nix
+++ b/nixos/modules/services/hardware/power-profiles-daemon.nix
@@ -42,6 +42,8 @@ in
}
];
+ environment.systemPackages = [ package ];
+
services.dbus.packages = [ package ];
services.udev.packages = [ package ];
diff --git a/nixos/modules/services/security/yubikey-agent.nix b/nixos/modules/services/security/yubikey-agent.nix
index 8a2f98d0412d..8be2457e1e2f 100644
--- a/nixos/modules/services/security/yubikey-agent.nix
+++ b/nixos/modules/services/security/yubikey-agent.nix
@@ -13,7 +13,7 @@ in
{
###### interface
- meta.maintainers = with maintainers; [ philandstuff rawkode ];
+ meta.maintainers = with maintainers; [ philandstuff rawkode jwoudenberg ];
options = {
@@ -49,6 +49,12 @@ in
# yubikey-agent package
systemd.user.services.yubikey-agent = mkIf (pinentryFlavor != null) {
path = [ pkgs.pinentry.${pinentryFlavor} ];
+ wantedBy = [
+ (if pinentryFlavor == "tty" || pinentryFlavor == "curses" then
+ "default.target"
+ else
+ "graphical-session.target")
+ ];
};
environment.extraInit = ''
diff --git a/nixos/modules/services/web-apps/ihatemoney/default.nix b/nixos/modules/services/web-apps/ihatemoney/default.nix
index b4987fa4702c..238241854c1c 100644
--- a/nixos/modules/services/web-apps/ihatemoney/default.nix
+++ b/nixos/modules/services/web-apps/ihatemoney/default.nix
@@ -33,11 +33,14 @@ let
then "sqlite:////var/lib/ihatemoney/ihatemoney.sqlite"
else "postgresql:///${db}"}'
SQLALCHEMY_TRACK_MODIFICATIONS = False
- MAIL_DEFAULT_SENDER = ("${cfg.defaultSender.name}", "${cfg.defaultSender.email}")
+ MAIL_DEFAULT_SENDER = (r"${cfg.defaultSender.name}", r"${cfg.defaultSender.email}")
ACTIVATE_DEMO_PROJECT = ${toBool cfg.enableDemoProject}
- ADMIN_PASSWORD = "${toString cfg.adminHashedPassword /*toString null == ""*/}"
+ ADMIN_PASSWORD = r"${toString cfg.adminHashedPassword /*toString null == ""*/}"
ALLOW_PUBLIC_PROJECT_CREATION = ${toBool cfg.enablePublicProjectCreation}
ACTIVATE_ADMIN_DASHBOARD = ${toBool cfg.enableAdminDashboard}
+ SESSION_COOKIE_SECURE = ${toBool cfg.secureCookie}
+ ENABLE_CAPTCHA = ${toBool cfg.enableCaptcha}
+ LEGAL_LINK = r"${toString cfg.legalLink}"
${cfg.extraConfig}
'';
@@ -79,9 +82,20 @@ in
description = "The email of the sender of ihatemoney emails";
};
};
+ secureCookie = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
+ };
enableDemoProject = mkEnableOption "access to the demo project in ihatemoney";
enablePublicProjectCreation = mkEnableOption "permission to create projects in ihatemoney by anyone";
enableAdminDashboard = mkEnableOption "ihatemoney admin dashboard";
+ enableCaptcha = mkEnableOption "a simplistic captcha for some forms";
+ legalLink = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = "The URL to a page explaining legal statements about your service, eg. GDPR-related information.";
+ };
extraConfig = mkOption {
type = types.str;
default = "";
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index e6785d8d1835..04ec7888950d 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -586,7 +586,7 @@ in {
{ systemd.timers.nextcloud-cron = {
wantedBy = [ "timers.target" ];
timerConfig.OnBootSec = "5m";
- timerConfig.OnUnitActiveSec = "15m";
+ timerConfig.OnUnitActiveSec = "5m";
timerConfig.Unit = "nextcloud-cron.service";
};
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 6c26b4e0f87a..c38bef9d6d4b 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -17,19 +17,28 @@ import glob
import os.path
from typing import Tuple, List, Optional
+SystemIdentifier = Tuple[Optional[str], int, Optional[str]]
+
def copy_if_not_exists(source: str, dest: str) -> None:
if not os.path.exists(dest):
shutil.copyfile(source, dest)
-def system_dir(profile: Optional[str], generation: int) -> str:
+def generation_dir(profile: Optional[str], generation: int) -> str:
if profile:
return "/nix/var/nix/profiles/system-profiles/%s-%d-link" % (profile, generation)
else:
return "/nix/var/nix/profiles/system-%d-link" % (generation)
-BOOT_ENTRY = """title NixOS{profile}
+def system_dir(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
+ d = generation_dir(profile, generation)
+ if specialisation:
+ return os.path.join(d, "specialisation", specialisation)
+ else:
+ return d
+
+BOOT_ENTRY = """title NixOS{profile}{specialisation}
version Generation {generation} {description}
linux {kernel}
initrd {initrd}
@@ -46,26 +55,34 @@ efi /efi/memtest86/BOOTX64.efi
"""
-def write_loader_conf(profile: Optional[str], generation: int) -> None:
+def generation_conf_filename(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
+ pieces = [
+ "nixos",
+ profile or None,
+ "generation",
+ str(generation),
+ f"specialisation-{specialisation}" if specialisation else None,
+ ]
+ return "-".join(p for p in pieces if p) + ".conf"
+
+
+def write_loader_conf(profile: Optional[str], generation: int, specialisation: Optional[str]) -> None:
with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f:
if "@timeout@" != "":
f.write("timeout @timeout@\n")
- if profile:
- f.write("default nixos-%s-generation-%d.conf\n" % (profile, generation))
- else:
- f.write("default nixos-generation-%d.conf\n" % (generation))
+ f.write("default %s\n" % generation_conf_filename(profile, generation, specialisation))
if not @editor@:
f.write("editor 0\n");
f.write("console-mode @consoleMode@\n");
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
-def profile_path(profile: Optional[str], generation: int, name: str) -> str:
- return os.path.realpath("%s/%s" % (system_dir(profile, generation), name))
+def profile_path(profile: Optional[str], generation: int, specialisation: Optional[str], name: str) -> str:
+ return os.path.realpath("%s/%s" % (system_dir(profile, generation, specialisation), name))
-def copy_from_profile(profile: Optional[str], generation: int, name: str, dry_run: bool = False) -> str:
- store_file_path = profile_path(profile, generation, name)
+def copy_from_profile(profile: Optional[str], generation: int, specialisation: Optional[str], name: str, dry_run: bool = False) -> str:
+ store_file_path = profile_path(profile, generation, specialisation, name)
suffix = os.path.basename(store_file_path)
store_dir = os.path.basename(os.path.dirname(store_file_path))
efi_file_path = "/efi/nixos/%s-%s.efi" % (store_dir, suffix)
@@ -95,19 +112,17 @@ def describe_generation(generation_dir: str) -> str:
return description
-def write_entry(profile: Optional[str], generation: int, machine_id: str) -> None:
- kernel = copy_from_profile(profile, generation, "kernel")
- initrd = copy_from_profile(profile, generation, "initrd")
+def write_entry(profile: Optional[str], generation: int, specialisation: Optional[str], machine_id: str) -> None:
+ kernel = copy_from_profile(profile, generation, specialisation, "kernel")
+ initrd = copy_from_profile(profile, generation, specialisation, "initrd")
try:
- append_initrd_secrets = profile_path(profile, generation, "append-initrd-secrets")
+ append_initrd_secrets = profile_path(profile, generation, specialisation, "append-initrd-secrets")
subprocess.check_call([append_initrd_secrets, "@efiSysMountPoint@%s" % (initrd)])
except FileNotFoundError:
pass
- if profile:
- entry_file = "@efiSysMountPoint@/loader/entries/nixos-%s-generation-%d.conf" % (profile, generation)
- else:
- entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation)
- generation_dir = os.readlink(system_dir(profile, generation))
+ entry_file = "@efiSysMountPoint@/loader/entries/%s" % (
+ generation_conf_filename(profile, generation, specialisation))
+ generation_dir = os.readlink(system_dir(profile, generation, specialisation))
tmp_path = "%s.tmp" % (entry_file)
kernel_params = "init=%s/init " % generation_dir
@@ -115,6 +130,7 @@ def write_entry(profile: Optional[str], generation: int, machine_id: str) -> Non
kernel_params = kernel_params + params_file.read()
with open(tmp_path, 'w') as f:
f.write(BOOT_ENTRY.format(profile=" [" + profile + "]" if profile else "",
+ specialisation=" (%s)" % specialisation if specialisation else "",
generation=generation,
kernel=kernel,
initrd=initrd,
@@ -133,7 +149,7 @@ def mkdir_p(path: str) -> None:
raise
-def get_generations(profile: Optional[str] = None) -> List[Tuple[Optional[str], int]]:
+def get_generations(profile: Optional[str] = None) -> List[SystemIdentifier]:
gen_list = subprocess.check_output([
"@nix@/bin/nix-env",
"--list-generations",
@@ -145,10 +161,19 @@ def get_generations(profile: Optional[str] = None) -> List[Tuple[Optional[str],
gen_lines.pop()
configurationLimit = @configurationLimit@
- return [ (profile, int(line.split()[0])) for line in gen_lines ][-configurationLimit:]
+ configurations: List[SystemIdentifier] = [ (profile, int(line.split()[0]), None) for line in gen_lines ]
+ return configurations[-configurationLimit:]
-def remove_old_entries(gens: List[Tuple[Optional[str], int]]) -> None:
+def get_specialisations(profile: Optional[str], generation: int, _: Optional[str]) -> List[SystemIdentifier]:
+ specialisations_dir = os.path.join(
+ system_dir(profile, generation, None), "specialisation")
+ if not os.path.exists(specialisations_dir):
+ return []
+ return [(profile, generation, spec) for spec in os.listdir(specialisations_dir)]
+
+
+def remove_old_entries(gens: List[SystemIdentifier]) -> None:
rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
rex_generation = re.compile("^@efiSysMountPoint@/loader/entries/nixos.*-generation-(.*)\.conf$")
known_paths = []
@@ -243,6 +268,8 @@ def main() -> None:
for gen in gens:
try:
write_entry(*gen, machine_id)
+ for specialisation in get_specialisations(*gen):
+ write_entry(*specialisation, machine_id)
if os.readlink(system_dir(*gen)) == args.default_config:
write_loader_conf(*gen)
except OSError as e:
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index b1d1578975f3..1f7f7274c4ae 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -26,13 +26,11 @@ in
agda = handleTest ./agda.nix {};
airsonic = handleTest ./airsonic.nix {};
amazon-init-shell = handleTest ./amazon-init-shell.nix {};
- ammonite = handleTest ./ammonite.nix {};
apparmor = handleTest ./apparmor.nix {};
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
avahi = handleTest ./avahi.nix {};
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
- awscli = handleTest ./awscli.nix { };
babeld = handleTest ./babeld.nix {};
bazarr = handleTest ./bazarr.nix {};
bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
@@ -191,7 +189,7 @@ in
i3wm = handleTest ./i3wm.nix {};
icingaweb2 = handleTest ./icingaweb2.nix {};
iftop = handleTest ./iftop.nix {};
- ihatemoney = handleTest ./ihatemoney.nix {};
+ ihatemoney = handleTest ./ihatemoney {};
incron = handleTest ./incron.nix {};
influxdb = handleTest ./influxdb.nix {};
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
@@ -369,6 +367,7 @@ in
postgresql = handleTest ./postgresql.nix {};
postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
powerdns = handleTest ./powerdns.nix {};
+ power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
pppd = handleTest ./pppd.nix {};
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
printing = handleTest ./printing.nix {};
diff --git a/nixos/tests/ammonite.nix b/nixos/tests/ammonite.nix
deleted file mode 100644
index 4b674f35e3cb..000000000000
--- a/nixos/tests/ammonite.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
- name = "ammonite";
- meta = with pkgs.lib.maintainers; {
- maintainers = [ nequissimus ];
- };
-
- nodes = {
- amm =
- { pkgs, ... }:
- {
- environment.systemPackages = [ (pkgs.ammonite.override { jre = pkgs.jre8; }) ];
- };
- };
-
- testScript = ''
- start_all()
-
- amm.succeed("amm -c 'val foo = 21; println(foo * 2)' | grep 42")
- '';
-})
diff --git a/nixos/tests/awscli.nix b/nixos/tests/awscli.nix
deleted file mode 100644
index e6741fcf1412..000000000000
--- a/nixos/tests/awscli.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
- name = "awscli";
- meta = with pkgs.lib.maintainers; {
- maintainers = [ nequissimus ];
- };
-
- machine = { pkgs, ... }:
- {
- environment.systemPackages = [ pkgs.awscli ];
- };
-
- testScript =
- ''
- assert "${pkgs.python3Packages.botocore.version}" in machine.succeed("aws --version")
- assert "${pkgs.awscli.version}" in machine.succeed("aws --version")
- '';
-})
diff --git a/nixos/tests/cifs-utils.nix b/nixos/tests/cifs-utils.nix
deleted file mode 100644
index 98587b10d941..000000000000
--- a/nixos/tests/cifs-utils.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }: {
- name = "cifs-utils";
-
- machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.cifs-utils ]; };
-
- testScript = ''
- machine.succeed("smbinfo -h")
- machine.succeed("smb2-quota -h")
- assert "${pkgs.cifs-utils.version}" in machine.succeed("cifs.upcall -v")
- assert "${pkgs.cifs-utils.version}" in machine.succeed("mount.cifs -V")
- '';
-})
diff --git a/nixos/tests/ghostunnel.nix b/nixos/tests/ghostunnel.nix
index a82cff8082b7..8bea64854021 100644
--- a/nixos/tests/ghostunnel.nix
+++ b/nixos/tests/ghostunnel.nix
@@ -1,5 +1,4 @@
-{ pkgs, ... }: import ./make-test-python.nix {
-
+import ./make-test-python.nix ({ pkgs, ... }: {
nodes = {
backend = { pkgs, ... }: {
services.nginx.enable = true;
@@ -101,4 +100,4 @@
meta.maintainers = with pkgs.lib.maintainers; [
roberth
];
-}
+})
diff --git a/nixos/tests/ihatemoney.nix b/nixos/tests/ihatemoney/default.nix
similarity index 52%
rename from nixos/tests/ihatemoney.nix
rename to nixos/tests/ihatemoney/default.nix
index 0451a4505808..78278d2e8699 100644
--- a/nixos/tests/ihatemoney.nix
+++ b/nixos/tests/ihatemoney/default.nix
@@ -1,22 +1,36 @@
{ system ? builtins.currentSystem,
config ? {},
- pkgs ? import ../.. { inherit system config; }
+ pkgs ? import ../../.. { inherit system config; }
}:
let
- inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
+ inherit (import ../../lib/testing-python.nix { inherit system pkgs; }) makeTest;
f = backend: makeTest {
name = "ihatemoney-${backend}";
- machine = { lib, ... }: {
+ machine = { nodes, lib, ... }: {
services.ihatemoney = {
enable = true;
enablePublicProjectCreation = true;
+ secureCookie = false;
inherit backend;
uwsgiConfig = {
http = ":8000";
};
};
boot.cleanTmpDir = true;
+ # for exchange rates
+ security.pki.certificateFiles = [ ./server.crt ];
+ networking.extraHosts = "127.0.0.1 api.exchangerate.host";
+ services.nginx = {
+ enable = true;
+ virtualHosts."api.exchangerate.host" = {
+ addSSL = true;
+ # openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 1000000 -nodes -subj '/CN=api.exchangerate.host'
+ sslCertificate = ./server.crt;
+ sslCertificateKey = ./server.key;
+ locations."/".return = "200 '${builtins.readFile ./rates.json}'";
+ };
+ };
# ihatemoney needs a local smtp server otherwise project creation just crashes
services.opensmtpd = {
enable = true;
@@ -30,11 +44,13 @@ let
testScript = ''
machine.wait_for_open_port(8000)
machine.wait_for_unit("uwsgi.service")
- machine.wait_until_succeeds("curl http://localhost:8000")
+ machine.wait_until_succeeds("curl --fail https://api.exchangerate.host")
+ machine.wait_until_succeeds("curl --fail http://localhost:8000")
- assert '"yay"' in machine.succeed(
- "curl -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@example.com'"
+ result = machine.succeed(
+ "curl --fail -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@example.com&default_currency=XXX'"
)
+ assert '"yay"' in result, repr(result)
owner, timestamp = machine.succeed(
"stat --printf %U:%G___%Y /var/lib/ihatemoney/secret_key"
).split("___")
@@ -47,13 +63,13 @@ let
machine.wait_for_unit("uwsgi.service")
with subtest("check that the database is really persistent"):
- machine.succeed("curl --basic -u yay:yay http://localhost:8000/api/projects/yay")
+ machine.succeed("curl --fail --basic -u yay:yay http://localhost:8000/api/projects/yay")
with subtest("check that the secret key is really persistent"):
timestamp2 = machine.succeed("stat --printf %Y /var/lib/ihatemoney/secret_key")
assert timestamp == timestamp2
- assert "ihatemoney" in machine.succeed("curl http://localhost:8000")
+ assert "ihatemoney" in machine.succeed("curl --fail http://localhost:8000")
'';
};
in {
diff --git a/nixos/tests/ihatemoney/rates.json b/nixos/tests/ihatemoney/rates.json
new file mode 100644
index 000000000000..ebdd2651b040
--- /dev/null
+++ b/nixos/tests/ihatemoney/rates.json
@@ -0,0 +1,39 @@
+{
+ "rates": {
+ "CAD": 1.3420055134,
+ "HKD": 7.7513783598,
+ "ISK": 135.9407305307,
+ "PHP": 49.3762922123,
+ "DKK": 6.4126464507,
+ "HUF": 298.9145416954,
+ "CZK": 22.6292212267,
+ "GBP": 0.7838128877,
+ "RON": 4.1630771881,
+ "SEK": 8.8464851826,
+ "IDR": 14629.5658166782,
+ "INR": 74.8328738801,
+ "BRL": 5.2357856651,
+ "RUB": 71.8416609235,
+ "HRK": 6.4757064094,
+ "JPY": 106.2715368711,
+ "THB": 31.7203652653,
+ "CHF": 0.9243625086,
+ "EUR": 0.8614748449,
+ "MYR": 4.2644727774,
+ "BGN": 1.6848725017,
+ "TRY": 6.8483804273,
+ "CNY": 7.0169710544,
+ "NOK": 9.213731909,
+ "NZD": 1.5080978635,
+ "ZAR": 16.7427636113,
+ "USD": 1,
+ "MXN": 22.4676085458,
+ "SGD": 1.3855099931,
+ "AUD": 1.4107512061,
+ "ILS": 3.4150585803,
+ "KRW": 1203.3339076499,
+ "PLN": 3.794452102
+ },
+ "base": "USD",
+ "date": "2020-07-24"
+}
diff --git a/nixos/tests/ihatemoney/server.crt b/nixos/tests/ihatemoney/server.crt
new file mode 100644
index 000000000000..10e568b14b14
--- /dev/null
+++ b/nixos/tests/ihatemoney/server.crt
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEvjCCAqYCCQDkTQrENPCZjjANBgkqhkiG9w0BAQsFADAgMR4wHAYDVQQDDBVh
+cGkuZXhjaGFuZ2VyYXRlLmhvc3QwIBcNMjEwNzE0MTI1MzQ0WhgPNDc1OTA2MTEx
+MjUzNDRaMCAxHjAcBgNVBAMMFWFwaS5leGNoYW5nZXJhdGUuaG9zdDCCAiIwDQYJ
+KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL5zpwUYa/ySqvJ/PUnXYsl1ww5SNGJh
+NujCRxC0Gw+5t5O7USSHRdz7Eb2PNFMa7JR+lliLAWdjHfqPXJWmP10X5ebvyxeQ
+TJkR1HpDSY6TQQlJvwr/JNGryyoQYjXvnyeyVu4TS3U0TTI631OonDAj+HbFIs9L
+gr/HfHzFmxRVLwaJ7hebanihc5RzoWTxgswiOwYQu5AivXQqcvUIxELeT7CxWwiw
+be/SlalDgoezB/poqaa215FUuN2av+nTn+swH3WOi9kwePLgVKn9BnDMwyh8et13
+yt27RWCSOcZagRSYsSbBaEJbClZvnuYvDqooJEy0GVbGBZpClKRKe92yd0PTf3ZJ
+GupyNoCFQlGugY//WLrsPv/Q4WwP+qZ6t97sV0CdM+epKVde/LfPKn+tFMv86qIg
+Q/uGHdDwUI8XH2EysAavhdlssSrovmpl4hyo9UkzTWfJgAbmOZY3Vba41wsq12FT
+usDsswGLBD10MdXWltR/Hdk8OnosLmeJxfZODAv31KSfd+4b6Ntr9BYQvAQSO+1/
+Mf7gEQtNhO003VKIyV5cpH4kVQieEcvoEKgq32NVBSKVf6UIPWIefu19kvrttaUu
+Q2QW2Qm4Ph/4cWpxl0jcrN5rjmgaBtIMmKYjRIS0ThDWzfVkJdmJuATzExJAplLN
+nYPBG3gOtQQpAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAJzt/aN7wl88WrvBasVi
+fSJmJjRaW2rYyBUMptQNkm9ElHN2eQQxJgLi8+9ArQxuGKhHx+D1wMGF8w2yOp0j
+4atfbXDcT+cTQY55qdEeYgU8KhESHHGszGsUpv7hzU2cACZiXG0YbOmORFYcn49Z
+yPyN98kW8BViLzNF9v+I/NJPuaaCeWKjXCqY2GCzddiuotrlLtz0CODXZJ506I1F
+38vQgZb10yAe6+R4y0BK7sUlmfr9BBqVcDQ/z74Kph1aB32zwP8KrNitwG1Tyk6W
+rxD1dStEQyX8uDPAspe2JrToMWsOMje9F5lotmuzyvwRJYfAav300EtIggBqpiHR
+o0P/1xxBzmaCHxEUJegdoYg8Q27llqsjR2T78uv/BlxpX9Dv5kNex5EZThKqyz4a
+Fn1VqiA3D9IsvxH4ud+8eDaP24u1yYObSTDIBsw9xDvoV8fV+NWoNNhcAL5GwC0P
+Goh7/brZSHUprxGpwRB524E//8XmCsRd/+ShtXbi4gEODMH4xLdkD7fZIJC4eG1H
+GOVc1MwjiYvbQlPs6MOcQ0iKQneSlaEJmyyO5Ro5OKiKj89Az/mLYX3R17AIsu0T
+Q5pGcmhKVRyu0zXvkGfK352TLwoe+4vbmakDq21Pkkcy8V9M4wP+vpCfQkg1REQ1
++mr1Vg+SFya3mlCxpFTy3j8E
+-----END CERTIFICATE-----
diff --git a/nixos/tests/ihatemoney/server.key b/nixos/tests/ihatemoney/server.key
new file mode 100644
index 000000000000..72a43577d64d
--- /dev/null
+++ b/nixos/tests/ihatemoney/server.key
@@ -0,0 +1,52 @@
+-----BEGIN PRIVATE KEY-----
+MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC+c6cFGGv8kqry
+fz1J12LJdcMOUjRiYTbowkcQtBsPubeTu1Ekh0Xc+xG9jzRTGuyUfpZYiwFnYx36
+j1yVpj9dF+Xm78sXkEyZEdR6Q0mOk0EJSb8K/yTRq8sqEGI1758nslbuE0t1NE0y
+Ot9TqJwwI/h2xSLPS4K/x3x8xZsUVS8Gie4Xm2p4oXOUc6Fk8YLMIjsGELuQIr10
+KnL1CMRC3k+wsVsIsG3v0pWpQ4KHswf6aKmmtteRVLjdmr/p05/rMB91jovZMHjy
+4FSp/QZwzMMofHrdd8rdu0VgkjnGWoEUmLEmwWhCWwpWb57mLw6qKCRMtBlWxgWa
+QpSkSnvdsndD0392SRrqcjaAhUJRroGP/1i67D7/0OFsD/qmerfe7FdAnTPnqSlX
+Xvy3zyp/rRTL/OqiIEP7hh3Q8FCPFx9hMrAGr4XZbLEq6L5qZeIcqPVJM01nyYAG
+5jmWN1W2uNcLKtdhU7rA7LMBiwQ9dDHV1pbUfx3ZPDp6LC5nicX2TgwL99Skn3fu
+G+jba/QWELwEEjvtfzH+4BELTYTtNN1SiMleXKR+JFUInhHL6BCoKt9jVQUilX+l
+CD1iHn7tfZL67bWlLkNkFtkJuD4f+HFqcZdI3Kzea45oGgbSDJimI0SEtE4Q1s31
+ZCXZibgE8xMSQKZSzZ2DwRt4DrUEKQIDAQABAoICAQCpwU465XTDUTvcH/vSCJB9
+/2BYMH+OvRYDS7+qLM7+Kkxt+oWt6IEmIgfDDZTXCmWbSmXaEDS1IYzEG+qrXN6X
+rMh4Gn7MxwrvWQwp2jYDRk+u5rPJKnh4Bwd0u9u+NZKIAJcpZ7tXgcHZJs6Os/hb
+lIRP4RFQ8f5d0IKueDftXKwoyOKW2imB0m7CAHr4DajHKS+xDVMRe1Wg6IFE1YaS
+D7O6S6tXyGKFZA+QKqN7LuHKmmW1Or5URM7uf5PV6JJfQKqZzu/qLCFyYvA0AFsw
+SeMeAC5HnxIMp3KETHIA0gTCBgPJBpVWp+1D9AQPKhyJIHSShekcBi9SO0xgUB+s
+h1UEcC2zf95Vson0KySX9zWRUZkrU8/0KYhYljN2/vdW8XxkRBC0pl3xWzq2kMgz
+SscZqI/MzyeUHaQno62GRlWn+WKP2NidDfR0Td/ybge1DJX+aDIfjalfCEIbJeqm
+BHn0CZ5z1RofatDlPj4p8+f2Trpcz/JCVKbGiQXi/08ZlCwkSIiOIcBVvAFErWop
+GJOBDU3StS/MXhQVb8ZeCkPBz0TM24Sv1az/MuW4w8gavpQuBC4aD5zY/TOwG8ei
+6S1sAZ0G2uc1A0FOngNvOyYYv+LImZKkWGXrLCRsqq6o/mh3M8bCHEY/lOZW8ZpL
+FCsDOO8deVZl/OX1VtB0bQKCAQEA3qRWDlUpCAU8BKa5Z1oRUz06e5KD58t2HpG8
+ndM3UO/F1XNB/6OGMWpL/XuBKOnWIB39UzsnnEtehKURTqqAsB1K3JQ5Q/FyuXRj
++o7XnNXe5lHBL5JqBIoESDchSAooQhBlQSjLSL2lg//igk0puv08wMK7UtajkV7U
+35WDa6ks6jfoSeuVibfdobkTgfw5edirOBE2Q0U2KtGsnyAzsM6tRbtgI1Yhg7eX
+nSIc4IYgq2hNLBKsegeiz1w4M6O4CQDVYFWKHyKpdrvj/fG7YZMr6YtTkuC+QPDK
+mmQIEL/lj8E26MnPLKtnTFc06LQry2V3pLWNf4mMLPNLEupEXwKCAQEA2vyg8Npn
+EZRunIr51rYScC6U6iryDjJWCwJxwr8vGU+bkqUOHTl3EqZOi5tDeYJJ+WSBqjfW
+IWrPRFZzTITlAslZ02DQ5enS9PwgUUjl7LUEbHHh+fSNIgkVfDhsuNKFzcEaIM1X
+Dl4lI2T8jEzmBep+k8f6gNmgKBgqlCf7XraorIM5diLFzy2G10zdOQTw5hW3TsVY
+d968YpfC5j57/hCrf36ahIT7o1vxLD+L27Mm9Eiib45woWjaAR1Nc9kUjqY4yV7t
+3QOw/Id9+/Sx5tZftOBvHlFyz23e1yaI3VxsiLDO9RxJwAKyA+KOvAybE2VU28hI
+s5tAYOMV6BpEdwKCAQBqRIQyySERi/YOvkmGdC4KzhHJA7DkBXA2vRcLOdKQVjHW
+ZPIeg728fmEQ90856QrkP4w3mueYKT1PEL7HDojoBsNBr5n5vRgmPtCtulpdqJOA
+2YrdGwRxcDMFCRNgoECA7/R0enU1HhgPfiZuTUha0R6bXxcsPfjKnTn8EhAtZg1j
+KhY8mi7BEjq+Q2l1RJ9mci2fUE/XIgTtwTCkrykc/jkkLICBvU234fyC6tJftIWJ
+avpSzAL5KAXk9b55n25rFbPDDHEl1VSPsLTs8+GdfDKcgXz9gTouIwCBWreizwVS
+bUW5LQIu7w0aGhHN9JlmtuK5glKsikmW9vVhbOH/AoIBAE//O7fgwQguBh5Psqca
+CjBLBAFrQNOo1b/d27r95nHDoBx5CWfppzL75/Od+4825lkhuzB4h1Pb1e2r+yC3
+54UWEydh1c43leYC+LdY/w1yrzQCgj+yc6A8W0nuvuDhnxmj8iyLdsL752s/p/aE
+3P7KRAUuZ7eMSLJ86YkH9g8KgSHMKkCawVJG2lxqauI6iNo0kqtG8mOPzZfiwsMj
+jl4ors27bSz9+4MYwkicyjWvA4r3wcco7MI6MHF5x+KLKbRWyqXddN1pTM1jncVe
+BWNDauEDn/QeYuedxmsoW5Up/0gL9v6Zn+Nx2KAMsoHFxRzXxqEnUE+0Zlc+fbE1
+b08CggEBAMiZmWtRmfueu9NMh6mgs+cmMA1ZHmbnIbtFpVjc37lrKUcjLzGF3tmp
+zQl2wy8IcHpNv8F9aKhwAInxD49RUjyqvRD6Pru+EWN6gOPJIUVuZ6mvaf7BOxbn
+Rve63hN5k4znQ1MOqGRiUkBxYSJ5wnFyQP0/8Y6+JM5uAuRUcKVNyoGURpfMrmB3
+r+KHWltM9/5iIfiDNhwStFiuOJj1YBJVzrcAn8Zh5Q0+s1hXoOUs4doLcaPHTCTU
+3hyX78yROMcZto0pVzxgQrYz31yQ5ocy9WcOYbPbQ5gdlnBEv8d7umNY1siz2wkI
+NaEkKVO0D0jFtk37s/YqJpCsXg/B7yc=
+-----END PRIVATE KEY-----
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index 6c2846a1636b..08785e5e6669 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -104,5 +104,6 @@ in
malcontent = callInstalledTest ./malcontent.nix {};
ostree = callInstalledTest ./ostree.nix {};
pipewire = callInstalledTest ./pipewire.nix {};
+ power-profiles-daemon = callInstalledTest ./power-profiles-daemon.nix {};
xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
}
diff --git a/nixos/tests/installed-tests/power-profiles-daemon.nix b/nixos/tests/installed-tests/power-profiles-daemon.nix
new file mode 100644
index 000000000000..43629a0155d2
--- /dev/null
+++ b/nixos/tests/installed-tests/power-profiles-daemon.nix
@@ -0,0 +1,9 @@
+{ pkgs, lib, makeInstalledTest, ... }:
+
+makeInstalledTest {
+ tested = pkgs.power-profiles-daemon;
+
+ testConfig = {
+ services.power-profiles-daemon.enable = true;
+ };
+}
diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix
index 4520b426849b..a5c4a82be91d 100644
--- a/nixos/tests/nixops/default.nix
+++ b/nixos/tests/nixops/default.nix
@@ -27,7 +27,7 @@ let
users.users.person.isNormalUser = true;
virtualisation.writableStore = true;
virtualisation.memorySize = 1024 /*MiB*/;
- virtualisation.pathsInNixDB = [
+ virtualisation.additionalPaths = [
pkgs.hello
pkgs.figlet
diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix
index 3c93cb82d646..ae3727afaf69 100644
--- a/nixos/tests/systemd-boot.nix
+++ b/nixos/tests/systemd-boot.nix
@@ -39,6 +39,29 @@ in
'';
};
+ # Check that specialisations create corresponding boot entries.
+ specialisation = makeTest {
+ name = "systemd-boot-specialisation";
+ meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lukegb ];
+
+ machine = { pkgs, lib, ... }: {
+ imports = [ common ];
+ specialisation.something.configuration = {};
+ };
+
+ testScript = ''
+ machine.start()
+ machine.wait_for_unit("multi-user.target")
+
+ machine.succeed(
+ "test -e /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
+ )
+ machine.succeed(
+ "grep -q 'title NixOS (something)' /boot/loader/entries/nixos-generation-1-specialisation-something.conf"
+ )
+ '';
+ };
+
# Boot without having created an EFI entry--instead using default "/EFI/BOOT/BOOTX64.EFI"
fallback = makeTest {
name = "systemd-boot-fallback";
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 5a4c7f4e33dc..23a0e4791609 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -3,13 +3,13 @@
buildDotnetModule rec {
pname = "btcpayserver";
- version = "1.2.4";
+ version = "1.3.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "sha256-vjNJ08twsJ036TTFF6srOGshDpP7ZwWCGN0XjrtFT/g=";
+ sha256 = "sha256-gJvUW/U+O83Q0VDo6a5VkWx2RuofMNs/mPn/hnM2XiE=";
};
projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index f92b2f7a8565..2cb07e9954fc 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -31,38 +31,43 @@
})
(fetchNuGet {
name = "BTCPayServer.Lightning.All";
- version = "1.2.12";
- sha256 = "0sciwh9m7h6ns59bsrzpd6zyxxdkiy33bdsq0phd3r2yxakvw68n";
+ version = "1.2.13";
+ sha256 = "16nhahb6bnjwhw3wh044zfkqpb5k40kyhdazs2h6y4phjhm5hq2r";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Charge";
- version = "1.2.7";
- sha256 = "02x3p0am5zqp8f4fycdlrp26alicxc5vrlvgxg6d8wsa35q473xc";
+ version = "1.2.8";
+ sha256 = "0ldk7kyipgmg0mj1444ins5n014z149j1qa40h12pncr6q1fb0xf";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.CLightning";
- version = "1.2.8";
- sha256 = "06c6dnp72iwvnjm3pil24fnk4vp2v1f9gg84a381yn1xah9jghky";
+ version = "1.2.9";
+ sha256 = "0r855lnh6cyj6hpwhdpdhpp39332v7lmk93ri2q8gs9lsnwdyjr8";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Common";
version = "1.2.6";
sha256 = "09p2ks1qgy6jnpcfwgdnxvldyyadwnh3mwmq9z89vvzmmgs19xkk";
})
+ (fetchNuGet {
+ name = "BTCPayServer.Lightning.Common";
+ version = "1.2.7";
+ sha256 = "1hz4bn3aw537r253ipdpa6sydwhb6dh3r82xp1jizn9a6mnw54x6";
+ })
(fetchNuGet {
name = "BTCPayServer.Lightning.Eclair";
- version = "1.2.6";
- sha256 = "0lf55w8v997kqh808545ry5mlwxpzxzlkbz38fl4nfm85yydw0fc";
+ version = "1.2.7";
+ sha256 = "1h15gic45wps4nvmxyfmfils9nicbz3xkli705hq69g0mafy0f23";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.LND";
- version = "1.2.8";
- sha256 = "1g1siy3xwf3rmyl4qrcg42wpww4b2qmfs88x0rxccwxjy5inzkz6";
+ version = "1.2.9";
+ sha256 = "1zyr58kwdyb02dfgxza73fqvzcjlf59msllmf06anl9im4pqcjx6";
})
(fetchNuGet {
name = "BTCPayServer.Lightning.Ptarmigan";
- version = "1.2.6";
- sha256 = "10g785jh92z5x7aqh41ma3d1nw0718bk7ibb58ychhdk1v2wwmh4";
+ version = "1.2.7";
+ sha256 = "1mmj8bi32kzgda8v7qdfpm2qlpffv5223c2xnq7351h8ih4bbcvb";
})
(fetchNuGet {
name = "BuildBundlerMinifier";
@@ -169,15 +174,20 @@
version = "1.0.18";
sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn";
})
+ (fetchNuGet {
+ name = "LNURL";
+ version = "0.0.14";
+ sha256 = "0b2v87k3yi2lyka5zy3sbvxsa7yp04nn72l7dk27cm9i1d9914sq";
+ })
(fetchNuGet {
name = "McMaster.NETCore.Plugins.Mvc";
- version = "1.3.1";
- sha256 = "1dh58ijwn6q6id0jpzr4hpfl0y4ak43zq4m8rsi5j2qv8vasq1mi";
+ version = "1.4.0";
+ sha256 = "07i0p6236hyh1c3cb5v6zkayq5807rd6msc341v2jh6yd5radasy";
})
(fetchNuGet {
name = "McMaster.NETCore.Plugins";
- version = "1.3.1";
- sha256 = "0jrp7sshnvg7jcb52gfhwmg1jy31k9dxdf4061yggwcgpfskyg7n";
+ version = "1.4.0";
+ sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy";
})
(fetchNuGet {
name = "Microsoft.AspNet.SignalR.Client";
@@ -191,13 +201,13 @@
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Cryptography.Internal";
- version = "3.1.4";
- sha256 = "0d4djj073bl9kps5jkcpydh92lcp6kpa7njhypjw3myaa987dcsh";
+ version = "3.1.19";
+ sha256 = "1b20hksk2qk2jnkwin4g0n9ap3ma7724pd518fh9qcakf7vfpkl1";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Cryptography.KeyDerivation";
- version = "3.1.4";
- sha256 = "1rya2775prm8ss0rz6izsqqcz96gcf1rh0bpcvnfy1mwi04rx8bl";
+ version = "3.1.19";
+ sha256 = "1ksi2h3904932igh1g27l91fqdsfxg8zr6y82ym8pqb62m0906a4";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Hosting.Abstractions";
@@ -221,33 +231,33 @@
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Identity.EntityFrameworkCore";
- version = "3.1.4";
- sha256 = "0smcpaqm7d95flr0k7i2psrsfvs48lv28kzqgnllv5229hhb670d";
+ version = "3.1.19";
+ sha256 = "0sm7cpccpygwgplbkp0j1q5ilkkiw0dx76qwy3xharv4himakrfm";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.JsonPatch";
- version = "3.1.1";
- sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml";
+ version = "3.1.19";
+ sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
- version = "3.1.1";
- sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig";
+ version = "3.1.19";
+ sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Mvc.Razor.Extensions";
- version = "3.1.1";
- sha256 = "1iydcr7rfzg3kqky0x70853g6lbzsl9ja9cv8ph6iwpqxnswgdkh";
+ version = "3.1.19";
+ sha256 = "1n22q10n9xlhcjxsm1apd0b7j3j97dd5jmpw6nvymwbv2bw88af4";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation";
- version = "3.1.1";
- sha256 = "1q1bblcj9l2dnz46frygsfq7w4v08l96clgryh78wyws83xjm43y";
+ version = "3.1.19";
+ sha256 = "1glmlgrwksv0h8g41wy43wv94ndllq4ihxhdaagig9szvivdh8c1";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Razor.Language";
- version = "3.1.1";
- sha256 = "0arqmy04dd0r4wm2fin66gxxwj2kirbgxyf3w7kq6f73lrnazhq0";
+ version = "3.1.19";
+ sha256 = "059v85f2qbj403wcnp5mspzvhkbf6d8hsjl26xvfd5s8svnaz4ax";
})
(fetchNuGet {
name = "Microsoft.Bcl.AsyncInterfaces";
@@ -256,8 +266,8 @@
})
(fetchNuGet {
name = "Microsoft.Bcl.HashCode";
- version = "1.1.0";
- sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0";
+ version = "1.1.1";
+ sha256 = "0xwfph92p92d8hgrdiaka4cazqsjpg4ywfxfx6qbk3939f29kzl0";
})
(fetchNuGet {
name = "Microsoft.CodeAnalysis.Analyzers";
@@ -266,8 +276,13 @@
})
(fetchNuGet {
name = "Microsoft.CodeAnalysis.Analyzers";
- version = "3.0.0";
- sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
+ version = "3.3.2";
+ sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Common";
+ version = "3.11.0";
+ sha256 = "0pwidgg4ifm7cirdy3hf61dyvg6lk4vgb6q7lyb4y0h0b6mvkrcl";
})
(fetchNuGet {
name = "Microsoft.CodeAnalysis.Common";
@@ -275,29 +290,24 @@
sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2";
})
(fetchNuGet {
- name = "Microsoft.CodeAnalysis.Common";
- version = "3.6.0";
- sha256 = "0i8x90700jr30j580mpawj6d90fngrb2zpkjjbn7f8r2p1mz75y7";
+ name = "Microsoft.CodeAnalysis.CSharp";
+ version = "3.11.0";
+ sha256 = "1h16b7dsp1mq7d7picyfhkssqr6xiyywi5x1fd4jwclyrvanyl81";
})
(fetchNuGet {
name = "Microsoft.CodeAnalysis.CSharp";
version = "3.3.0";
sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424";
})
- (fetchNuGet {
- name = "Microsoft.CodeAnalysis.CSharp";
- version = "3.6.0";
- sha256 = "0c44qp7lfpja6cq5nk7851qrswm2z1k2pnvsw43j9ybf10a27jrn";
- })
(fetchNuGet {
name = "Microsoft.CodeAnalysis.Razor";
- version = "3.1.1";
- sha256 = "03n5rli6v1kvghha82zar3dvvkbc2vb9g8zp5fjrzhvp4l74ingn";
+ version = "3.1.19";
+ sha256 = "18l0gcpl7i0bfnyzhpm7h72ng2h8bh46fr2azk7d3ns507gi3xmp";
})
(fetchNuGet {
name = "Microsoft.CodeCoverage";
- version = "16.6.1";
- sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl";
+ version = "16.11.0";
+ sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
})
(fetchNuGet {
name = "Microsoft.CSharp";
@@ -321,8 +331,8 @@
})
(fetchNuGet {
name = "Microsoft.Data.Sqlite.Core";
- version = "3.1.4";
- sha256 = "1pahyqjs4l9g1wg9hvxf68kgzzf72ny2i7n7ai97a389p2c86xvh";
+ version = "3.1.19";
+ sha256 = "0ns3rrk011gjw4g1kwr625390yj0mcadb3py49750sji72my7l7s";
})
(fetchNuGet {
name = "Microsoft.DotNet.PlatformAbstractions";
@@ -331,53 +341,53 @@
})
(fetchNuGet {
name = "Microsoft.DotNet.PlatformAbstractions";
- version = "3.1.0";
- sha256 = "1fg1zggza45pa8zlcf8llqh6v47fqi44azsia68kmsg2q9r1r4mq";
- })
- (fetchNuGet {
- name = "Microsoft.DotNet.PlatformAbstractions";
- version = "3.1.4";
- sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia";
+ version = "3.1.6";
+ sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Abstractions";
- version = "3.1.4";
- sha256 = "07l7137pzwh0k4m53ji5j6a2zmbbzrl164p18wxcri77ds5is4g7";
+ version = "3.1.18";
+ sha256 = "0d00d6wx2mm5bav39bjsikjq0sx6qmp183dbwimfda7wav2bwya8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Abstractions";
+ version = "3.1.19";
+ sha256 = "0na2jgxs5k2gxqh99ha4v0blya3pwh2qha49iz0qkw0r3kq0vdvv";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Analyzers";
- version = "3.1.4";
- sha256 = "1zaqn9z7ns6p6jgnffzkgpziqr2wqs68g2sa0c11kaclhlhgvvbv";
+ version = "3.1.19";
+ sha256 = "02xjz4c6f71mcmdwihi9klrqm28xk84x19vcqi8cgpw50q7d0rly";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Design";
- version = "3.1.4";
- sha256 = "10mxnbiw23ia4sln86sd3gn84yhmrb6r2kipzid4h1g15paal9gi";
+ version = "3.1.19";
+ sha256 = "128md0ijqa1wvpdicf09i7kcb2aq2b07skc6j0vddz2jhcbi0irr";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Relational";
- version = "3.1.0";
- sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55";
+ version = "3.1.18";
+ sha256 = "0mlq9gmxrmix68mdh0lv803cx15lzrhs5d9622vj8wwdlngg3xdx";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Relational";
- version = "3.1.4";
- sha256 = "1344rsavawwg69dx8xsl08hcs43lc6h7z4mn461dcx85rirlwd0v";
+ version = "3.1.19";
+ sha256 = "13rbnd441r4zb52y99zwida0n0phvvw7hmccjy2kpnk1jfrr8xi1";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
- version = "3.1.4";
- sha256 = "080qz0b52i7v5c1sgnqlh9px9881cfr1x06np66hdgmh0ni5c1lw";
+ version = "3.1.19";
+ sha256 = "1w8ja5daglnr3ycfwlyskrnacb66p8yz730k838v6bpmpsdybn71";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore.Sqlite";
- version = "3.1.4";
- sha256 = "009mcmakw0p7k8xrz920a8qc0rjv361awiz8jia5i5a8p5ihgkbx";
+ version = "3.1.19";
+ sha256 = "0iwwa44dr2lg9mh5hmnpnkzbhi5v3vi6xy3xlnqg4hja37ji0xyw";
})
(fetchNuGet {
name = "Microsoft.EntityFrameworkCore";
- version = "3.1.4";
- sha256 = "11w63yp7fk9qwmnq3lmpf1h30mlbzfx4zpm89vrs0lprj86g0742";
+ version = "3.1.19";
+ sha256 = "0gl43zk7ashjx49h35w58cn7dfl1ap3nyq9ws8575jcjhcx3c94h";
})
(fetchNuGet {
name = "Microsoft.Extensions.Caching.Abstractions";
@@ -386,13 +396,13 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Caching.Abstractions";
- version = "3.1.4";
- sha256 = "09f96pvpyzylpdaiw3lsvr7p6rs4i21mmhsxl6pkivg5lpfb79sk";
+ version = "3.1.19";
+ sha256 = "1y1is16yl69ja67i9n98r44cr0z8b8f8k31d5ighi9djj4yhz4k2";
})
(fetchNuGet {
name = "Microsoft.Extensions.Caching.Memory";
- version = "3.1.4";
- sha256 = "0b8ijxjd8lgq8mgnvh3wl4y4wbjj3v5b763y6gslm75fn43iyad8";
+ version = "3.1.19";
+ sha256 = "1iysxrmchw5ripyrcfi4nv5a00b9a7agsgvbb7y9fwbfq838v3mp";
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration.Abstractions";
@@ -411,8 +421,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration.Abstractions";
- version = "3.1.4";
- sha256 = "0r33m68y1vgpmqams4sgciizl0w6y97qkp93m0hyn0nlkxqf72l6";
+ version = "3.1.19";
+ sha256 = "19s5dpswyad55p191280510sb8cr2b6zyx9zlx79p0lq4zaxwaq6";
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration.Abstractions";
@@ -426,8 +436,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration.Binder";
- version = "3.1.4";
- sha256 = "1bnf213zlrh0m3sbhsv601yx21l5xp254jiy2g4hm7zpm8vsz1hz";
+ version = "3.1.19";
+ sha256 = "0dw1qiyc8j7rk13x6wfm1xnc7drnlvk8xv607hja0af2m0y7a3p2";
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration.Binder";
@@ -461,8 +471,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration";
- version = "3.1.4";
- sha256 = "0npc18pjl86d06czb0fy6ln3prfpwfb16p6709xx2jrsl96dp9bp";
+ version = "3.1.19";
+ sha256 = "04zadl7q5vcak9d77jm5ivfzhhp2zvz5apywvfzrca4h0q38fs45";
})
(fetchNuGet {
name = "Microsoft.Extensions.Configuration";
@@ -481,8 +491,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyInjection.Abstractions";
- version = "3.1.4";
- sha256 = "03ys96pqca93zwxvh0vprzms09i9y0lmq32w98m6klbizq01fc06";
+ version = "3.1.19";
+ sha256 = "0claq9nna6p30zbvd25bn1ild9f3x50d5fxfbq9fsp464rq70b2y";
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyInjection.Abstractions";
@@ -496,8 +506,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyInjection";
- version = "3.1.4";
- sha256 = "0rhyjgdpjm56drvrvqd9v1xq1qhyrpwwn2pjsz17g2s462rwliqx";
+ version = "3.1.19";
+ sha256 = "0fsvv5jl95kmdxc4c7b15xanlq3fmfls556m8ghbqqikrgkqhz8m";
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyModel";
@@ -506,18 +516,13 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyModel";
- version = "3.1.0";
- sha256 = "12nrdw3q9wl5zry8gb3sw003a0iyk2gvps2ij813l7lim38wy1mi";
+ version = "3.1.6";
+ sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac";
})
(fetchNuGet {
name = "Microsoft.Extensions.DependencyModel";
- version = "3.1.1";
- sha256 = "0qa04dspjl4qk7l8d66wqyrvhp5dxcfn2j4r8mmj362xyrp3r8sh";
- })
- (fetchNuGet {
- name = "Microsoft.Extensions.DependencyModel";
- version = "3.1.4";
- sha256 = "0r0wv4k0ig6mrl6fr184zqbf5f010d6i2an2ws23g2bjvk8jh1bk";
+ version = "5.0.0";
+ sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
})
(fetchNuGet {
name = "Microsoft.Extensions.FileProviders.Abstractions";
@@ -551,13 +556,13 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Identity.Core";
- version = "3.1.4";
- sha256 = "0kyi03l9d7pnsvrcylc86fcxwnj59mhvmbz4c1d142f8djdrqfid";
+ version = "3.1.19";
+ sha256 = "14mywrm6mv7hzfappgdrmwwk97a4qpfkir5a55443awy8wl3bylr";
})
(fetchNuGet {
name = "Microsoft.Extensions.Identity.Stores";
- version = "3.1.4";
- sha256 = "0jb3syy0glyn4nnd7lb7aj412xnqyrwhfavh98rbc5adq9v09nbw";
+ version = "3.1.19";
+ sha256 = "0pkrhf1vffll986hh49gyvfdqn1vnjd0qnpfkag2b76d681xlvgg";
})
(fetchNuGet {
name = "Microsoft.Extensions.Logging.Abstractions";
@@ -581,8 +586,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Logging.Abstractions";
- version = "3.1.4";
- sha256 = "1rkl0yqmi5vfivn641866v2mdsgdy8amym546y6lzbab39g24b5n";
+ version = "3.1.19";
+ sha256 = "07jnqb6518xrw086rqlc28ms80d57xg0pl5x72032rk2x5x8hhnn";
})
(fetchNuGet {
name = "Microsoft.Extensions.Logging.Abstractions";
@@ -601,8 +606,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Logging";
- version = "3.1.4";
- sha256 = "04asfrhfrcl3ijilry2pr28ql5m6pgrwapadikgcg66jjxbx75zq";
+ version = "3.1.19";
+ sha256 = "0j2874x847xa1nfbppjn10cnxd486f6lwy53mxmansvlmp96h2sn";
})
(fetchNuGet {
name = "Microsoft.Extensions.Options.ConfigurationExtensions";
@@ -621,8 +626,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Options";
- version = "3.1.4";
- sha256 = "0jphncx82l7jm5xi49dfxhbh24wv86sy44022chd7bkizllsypp4";
+ version = "3.1.19";
+ sha256 = "1jm7rd2sbfscyfysvl8zcaypyzpd6d5w52ha2npa9c7q84cmn4r9";
})
(fetchNuGet {
name = "Microsoft.Extensions.Options";
@@ -656,8 +661,8 @@
})
(fetchNuGet {
name = "Microsoft.Extensions.Primitives";
- version = "3.1.4";
- sha256 = "12xvysk024aghrcwzv4525vznnk8lqmknl2vqqxhq4k5hjxpsysp";
+ version = "3.1.19";
+ sha256 = "0vcwwqqfwm5vj87psmic6mxix3prgkzw8sqbg5m1c2q662kby380";
})
(fetchNuGet {
name = "Microsoft.Extensions.Primitives";
@@ -681,13 +686,13 @@
})
(fetchNuGet {
name = "Microsoft.NET.Test.Sdk";
- version = "16.6.1";
- sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv";
+ version = "16.11.0";
+ sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
})
(fetchNuGet {
name = "Microsoft.NetCore.Analyzers";
- version = "2.9.8";
- sha256 = "1klybsdy9yw49zlpmix4vjdhmfaibg5h9yx03vszdnijzap7vpsx";
+ version = "3.3.2";
+ sha256 = "1h1bjiiw64qncs61p2idwxswv4kzq06bbl2rlghiagv6sbjk4pnq";
})
(fetchNuGet {
name = "Microsoft.NETCore.Platforms";
@@ -726,13 +731,13 @@
})
(fetchNuGet {
name = "Microsoft.TestPlatform.ObjectModel";
- version = "16.6.1";
- sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h";
+ version = "16.11.0";
+ sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
})
(fetchNuGet {
name = "Microsoft.TestPlatform.TestHost";
- version = "16.6.1";
- sha256 = "0anzvb2mda548swb2ll1hv65knb8gwjm01hwbl0pzzr607my3lix";
+ version = "16.11.0";
+ sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
})
(fetchNuGet {
name = "Microsoft.Win32.Primitives";
@@ -751,24 +756,34 @@
})
(fetchNuGet {
name = "MySqlConnector";
- version = "0.61.0";
- sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg";
+ version = "0.69.10";
+ sha256 = "159xir7czzz291cs0f2dsgmnhar41s4wglm5r5lw3kqpd50q3i9v";
})
(fetchNuGet {
name = "NBitcoin.Altcoins";
- version = "3.0.4";
- sha256 = "03aia31sznw81jjr9k6dkwgvm9dc38fgp1z8y5i45vlkf5fp89pb";
+ version = "3.0.8";
+ sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
})
(fetchNuGet {
- name = "NBitcoin";
- version = "5.0.33";
- sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
+ name = "NBitcoin.Secp256k1";
+ version = "1.0.3";
+ sha256 = "08d4db64j1qz8ax9fg8zi6n7g1n53clnkajbbvv2hgaqyfrsnqxj";
})
(fetchNuGet {
name = "NBitcoin";
version = "5.0.40";
sha256 = "1rqzn84yaww4afagwg8jg1l5qdkvqyjdfcyd5widddqwxabbsjvh";
})
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "5.0.54";
+ sha256 = "0mx2gr8j8bc4mf1vi1fvqj3672qalxvzvincc61if79p46cik24b";
+ })
+ (fetchNuGet {
+ name = "NBitcoin";
+ version = "6.0.15";
+ sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
+ })
(fetchNuGet {
name = "NBitcoin";
version = "6.0.3";
@@ -786,94 +801,99 @@
})
(fetchNuGet {
name = "NBXplorer.Client";
- version = "4.1.0";
- sha256 = "1al9j14k51ql7m6yd2w89xlnklj64jqjikq8wpl2vwi1zy2gxqrl";
+ version = "4.1.3";
+ sha256 = "1nh4jj7yg81825hr7cc99qlnfmdm6jibap81qqi8a968b61z4251";
})
(fetchNuGet {
name = "Nethereum.ABI";
- version = "3.8.0";
- sha256 = "10saq2qsqqgsf9d5cjji4lay74ydwkvkqgnns6gxikqicci8yx5c";
+ version = "4.1.0";
+ sha256 = "1mhg6mh7wkz93fq3pclkxjipcvzglnk70gr9s1cgr2ak84y3g5lr";
})
(fetchNuGet {
name = "Nethereum.Accounts";
- version = "3.8.0";
- sha256 = "03dq4l1gsd6r2hah5flas8d8pfys7hh5srd279kiidaaxrp8fv2m";
+ version = "4.1.0";
+ sha256 = "0wd4wa2d1dm4ni5l208bn7wi63m1whmbh4x6sfk8m4qh4dlh1bq0";
})
(fetchNuGet {
name = "Nethereum.BlockchainProcessing";
- version = "3.8.0";
- sha256 = "0sz6710a3rvzbj1ghx8dx9adfpsaydw8129c5nj2bqvvh6shi4ax";
+ version = "4.1.0";
+ sha256 = "1986y39mpd61s7kkkbcc9hcg7vwmp9mamhiiy9pzsnfgc2jna6c4";
})
(fetchNuGet {
name = "Nethereum.Contracts";
- version = "3.8.0";
- sha256 = "0989as81dqz4j0h8b5a9f5hnd4lrjdj851cfc4j5h6hd633a13f8";
+ version = "4.1.0";
+ sha256 = "07yj2fqx0p22aayhn7zjczq5xj55b2w48qar8j5q2klzl9q64iwc";
})
(fetchNuGet {
name = "Nethereum.HdWallet";
- version = "3.8.0";
- sha256 = "0dy1bcm0gsp137286q3bx5q9gyd8lymrdmnh1ip3sszs5j31l9k2";
+ version = "4.1.0";
+ sha256 = "052g15iqhkx94igvnv5qr8gxpvbi34c7avqn6j4i4p0yf6kwbwsi";
})
(fetchNuGet {
name = "Nethereum.Hex";
- version = "3.8.0";
- sha256 = "0sbi982jnfs39sp7w85wf8lb51mijpwr9mpsmws08zrm90n93kb6";
+ version = "4.1.0";
+ sha256 = "1bkmbfclbkr3336za7ii5vac7c4h2l1vd4bl3a15s54piwfgx44w";
})
(fetchNuGet {
name = "Nethereum.JsonRpc.Client";
- version = "3.8.0";
- sha256 = "0gmdvsxhs398cj14f16r3dl8yv52iaxr9c9214k2ra28r14gfd1l";
+ version = "4.1.0";
+ sha256 = "1260pr9y83nrfqpgq37s91dbsxdfkvdh55x48554c33ldrqsqk4p";
})
(fetchNuGet {
name = "Nethereum.JsonRpc.RpcClient";
- version = "3.8.0";
- sha256 = "05k5f0dfcx4afbkc1w7cfnz514i7840j2haxyzsxkp8818yvfg0a";
+ version = "4.1.0";
+ sha256 = "0jybgfzy4cj9jx1djjc66vpk9sg88dymy5jrcrply3y6bq85arq3";
})
(fetchNuGet {
name = "Nethereum.KeyStore";
- version = "3.8.0";
- sha256 = "05pj95vcfznlk4saq9dw19377gd1sqgmjcg5h92b5rzpgm9v811s";
+ version = "4.1.0";
+ sha256 = "16xffhfx7k9rfb5kr717cpbircj66gazbkbbwvf5hss3v9a6imzz";
})
(fetchNuGet {
name = "Nethereum.Model";
- version = "3.8.0";
- sha256 = "1qfhzqirj9bi49zb6rdcy7w5bm9jyv3a79q7crmgpq3qx4lmz5yh";
+ version = "4.1.0";
+ sha256 = "03aaizfpjvbf367mprni2ixlyfvz7ic8cn1cfmjk1n3f3q63qbqh";
})
(fetchNuGet {
name = "Nethereum.RLP";
- version = "3.8.0";
- sha256 = "16142ag09h95394ip0ffkci09hchxh2i5xaw2rq46qcr8xd3kiym";
+ version = "4.1.0";
+ sha256 = "19ixlvv91s0xhn3bvwn0yydd5932vcylin037dv4wzgbk2v0vdpm";
})
(fetchNuGet {
name = "Nethereum.RPC";
- version = "3.8.0";
- sha256 = "1m2p10dds1k0r3gci25lh6cxl9z7ciw18g6wwa4yqi1hsw7n59vb";
+ version = "4.1.0";
+ sha256 = "0ivvic38wpay9ry1hp4n88bgglnxcd8id7p5h235ilviq2gxgmmb";
})
(fetchNuGet {
name = "Nethereum.Signer";
- version = "3.8.0";
- sha256 = "175acfqjqacc5zwh2kmrfnwd15jm3fjpv0xlgpyqry52mqxd9khf";
+ version = "4.1.0";
+ sha256 = "1lgyb80l7xwhp4jbfbba0d47p7nxhx0lac08k23nzwnqmg95y4n6";
})
(fetchNuGet {
name = "Nethereum.StandardTokenEIP20";
- version = "3.8.0";
- sha256 = "0xqb32x5b9y9r380frhj52i1lxsfs92nfgcpmys3shjxz6fnwf6g";
+ version = "4.1.0";
+ sha256 = "1i08kpa6knrm3jbhxgfaa2ing5w42j3jsdx72hl6a9xcjdkjr405";
})
(fetchNuGet {
name = "Nethereum.Util";
- version = "3.8.0";
- sha256 = "1ig1zkzpglq2q465n4c0ckv8w9gca9cfxz1qnrdhap0f1z90jyg8";
+ version = "4.1.0";
+ sha256 = "1fp7ii6ic13d1s8n6l63f1kyb03s04fghhfm7sshvk6bhjlynfqw";
})
(fetchNuGet {
name = "Nethereum.Web3";
- version = "3.8.0";
- sha256 = "0n18chc9h1cxqp01kncik9lqfgiqrzl2zr8jgzbb05drlf6k0f3i";
+ version = "4.1.0";
+ sha256 = "1b8myc9wr44vf7kcl9rmhc8zimpfda3mmizhiq1x287xs44nam0b";
})
(fetchNuGet {
name = "NETStandard.Library";
version = "1.6.1";
sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
})
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "2.0.3";
+ sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
+ })
(fetchNuGet {
name = "Newtonsoft.Json.Bson";
version = "1.0.1";
@@ -886,8 +906,8 @@
})
(fetchNuGet {
name = "Newtonsoft.Json.Schema";
- version = "3.0.13";
- sha256 = "04vzjz5fb588rh6ji5a0svfzjsdcfpr1qrz9hxpc64z5zhnh6sf4";
+ version = "3.0.14";
+ sha256 = "1njk1arrf8pbx0i0p3yww459i70p0fcx02vs0jnbb6znvcy4mvh6";
})
(fetchNuGet {
name = "Newtonsoft.Json";
@@ -901,13 +921,13 @@
})
(fetchNuGet {
name = "Newtonsoft.Json";
- version = "12.0.2";
- sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+ version = "12.0.3";
+ sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
})
(fetchNuGet {
name = "Newtonsoft.Json";
- version = "12.0.3";
- sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+ version = "13.0.1";
+ sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
})
(fetchNuGet {
name = "Newtonsoft.Json";
@@ -941,13 +961,13 @@
})
(fetchNuGet {
name = "Npgsql.EntityFrameworkCore.PostgreSQL";
- version = "3.1.4";
- sha256 = "1ng9pbamh93g0fbnjq8ygaf40d6rs0fy4s08bjmxpa69k3s8c7a4";
+ version = "3.1.18";
+ sha256 = "0yjrp87m0kj8bzybszxnj7n1h21zag3rqpva74xzvm78gz1asc04";
})
(fetchNuGet {
name = "Npgsql";
- version = "4.1.3.1";
- sha256 = "0qk3hb8s521c2gy4k3m1i6fhpr133mnw9w85cwsy9j7ghxyca1nv";
+ version = "4.1.9";
+ sha256 = "1b9qp3cjwydd4g1yy8nxxr0b0nwdbijmcmzjpkb9r13ndgdrd8nq";
})
(fetchNuGet {
name = "NSec.Cryptography";
@@ -981,8 +1001,8 @@
})
(fetchNuGet {
name = "Pomelo.EntityFrameworkCore.MySql";
- version = "3.1.1";
- sha256 = "1jvv2q7pmh5wzsfjim7iby4r1scb30kgj9w6sbm2dp60i6vm32dx";
+ version = "3.2.7";
+ sha256 = "018za1ax17ibxld9rk2nc29716qpn2afh1prfrdjchf5cp56ba2p";
})
(fetchNuGet {
name = "Pomelo.JsonObject";
@@ -1101,8 +1121,8 @@
})
(fetchNuGet {
name = "Selenium.WebDriver.ChromeDriver";
- version = "90.0.4430.2400";
- sha256 = "18gjm92nzzvxf0hk7c0nnabs0vmh6yyzq3m4si7p21m6xa3bqiga";
+ version = "94.0.4606.6100";
+ sha256 = "04kn91qcgsx92yhcqlhpm1yy3m34m371k70szf8h93gcwfs42b9c";
})
(fetchNuGet {
name = "Selenium.WebDriver";
@@ -1219,6 +1239,11 @@
version = "1.7.1";
sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
})
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "5.0.0";
+ sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
+ })
(fetchNuGet {
name = "System.Collections.NonGeneric";
version = "4.3.0";
@@ -1391,8 +1416,8 @@
})
(fetchNuGet {
name = "System.IO.Pipelines";
- version = "4.7.2";
- sha256 = "16v4qaypm72cfsfqr8z3k6yrpzn0m3apgkh6aljfwpycdk150sf9";
+ version = "4.7.4";
+ sha256 = "09gv2nz35vmmcjrfj1ppxx32v772i0mb369v7lwqr8mz14zhh86r";
})
(fetchNuGet {
name = "System.IO";
@@ -1554,6 +1579,11 @@
version = "1.6.0";
sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
})
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "5.0.0";
+ sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss";
+ })
(fetchNuGet {
name = "System.Reflection.Primitives";
version = "4.0.1";
@@ -1629,6 +1659,11 @@
version = "4.7.0";
sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
})
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "5.0.0";
+ sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
+ })
(fetchNuGet {
name = "System.Runtime.Extensions";
version = "4.1.0";
@@ -1845,15 +1880,20 @@
sha256 = "05qp3yivh6gz0vva0v3wjlj3g1b45d5jmz362f2y8ah6yb3rx088";
})
(fetchNuGet {
- name = "System.Text.Json";
- version = "4.7.0";
- sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
+ name = "System.Text.Encodings.Web";
+ version = "5.0.0";
+ sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
})
(fetchNuGet {
name = "System.Text.Json";
version = "4.7.2";
sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4";
})
+ (fetchNuGet {
+ name = "System.Text.Json";
+ version = "5.0.0";
+ sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
+ })
(fetchNuGet {
name = "System.Text.RegularExpressions";
version = "4.1.0";
@@ -1884,6 +1924,11 @@
version = "4.5.3";
sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
})
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.5.4";
+ sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
+ })
(fetchNuGet {
name = "System.Threading.Tasks";
version = "4.0.11";
diff --git a/pkgs/applications/blockchains/nbxplorer/default.nix b/pkgs/applications/blockchains/nbxplorer/default.nix
index 2a5f1aec2dc5..01e1dfb8c427 100644
--- a/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -2,13 +2,13 @@
buildDotnetModule rec {
pname = "nbxplorer";
- version = "2.2.11";
+ version = "2.2.16";
src = fetchFromGitHub {
owner = "dgarage";
repo = "NBXplorer";
rev = "v${version}";
- sha256 = "sha256-ZDqzkANGMdvv3e5gWCYcacUYKLJRquXRHLr8RAzT9hY=";
+ sha256 = "sha256-6nq5oCEVADZbzQJaEizzt6Lag11bZYLKGMTl2snZob8=";
};
projectFile = "NBXplorer/NBXplorer.csproj";
diff --git a/pkgs/applications/blockchains/nbxplorer/deps.nix b/pkgs/applications/blockchains/nbxplorer/deps.nix
index d53e784ea118..c9cc80016b78 100644
--- a/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -6,23 +6,23 @@
})
(fetchNuGet {
name = "Microsoft.AspNetCore.JsonPatch";
- version = "3.1.5";
- sha256 = "0agcp9c8zf59bliybjfg5whby7k1i1xc4sccyyyj3qcx1snf6lfx";
+ version = "3.1.19";
+ sha256 = "1fh3k85k988jw35sf5hvm6jwmvzmslzpfvf3jk3sn3f3s6gyk0an";
})
(fetchNuGet {
name = "Microsoft.AspNetCore.Mvc.NewtonsoftJson";
- version = "3.1.5";
- sha256 = "1n76xr3jn4bcxm9f3lk8k76zn39mhyqcj5b0dqhi2xykyvvrqjgc";
+ version = "3.1.19";
+ sha256 = "1nh08kjdc152m85ycwxn1q8r69f0l02p6cac6q57nzlyy5gyj2rs";
})
(fetchNuGet {
name = "Microsoft.Azure.Amqp";
- version = "2.4.2";
- sha256 = "0pfgl6fnw3apwasfg1dp5pvi5h0z0vmznhn2bfsgwndn1xlfw1g9";
+ version = "2.4.9";
+ sha256 = "15kvklhfl17713kwin8p71lcxq2jx87bk1d8gsl597z3w6l4cqma";
})
(fetchNuGet {
name = "Microsoft.Azure.ServiceBus";
- version = "4.1.3";
- sha256 = "1mj21nal3hv8b5678rah808521c5rkb0yh6hrlqirsdgxwnl6z6g";
+ version = "4.2.1";
+ sha256 = "0akxqds078p7djd5g95i9dh4wrlfarabkq2ybn614cqdgl4z0is5";
})
(fetchNuGet {
name = "Microsoft.Azure.Services.AppAuthentication";
@@ -31,8 +31,8 @@
})
(fetchNuGet {
name = "Microsoft.CodeCoverage";
- version = "16.7.1";
- sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4";
+ version = "16.11.0";
+ sha256 = "0f41l3kks6wk5vjaxpjh8m2flnrvlbvqgqflamhv8rfz4y8ifgdv";
})
(fetchNuGet {
name = "Microsoft.CSharp";
@@ -126,8 +126,8 @@
})
(fetchNuGet {
name = "Microsoft.NET.Test.Sdk";
- version = "16.7.1";
- sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8";
+ version = "16.11.0";
+ sha256 = "1a2y6vw6p9xp3w72zq2lwrjl8bxv87s9d7zd2dh4zwbzh1c5slxl";
})
(fetchNuGet {
name = "Microsoft.NETCore.Platforms";
@@ -156,13 +156,13 @@
})
(fetchNuGet {
name = "Microsoft.TestPlatform.ObjectModel";
- version = "16.7.1";
- sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0";
+ version = "16.11.0";
+ sha256 = "1fc0ghk1cny4i8w43b94pxhl0srxisv6kaflkkp30ncsa9szhkxh";
})
(fetchNuGet {
name = "Microsoft.TestPlatform.TestHost";
- version = "16.7.1";
- sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs";
+ version = "16.11.0";
+ sha256 = "0hp1vndf2jhyg1f3miq4g2068z5kpfzy6nmswm25vymghxp1ws4k";
})
(fetchNuGet {
name = "Microsoft.Win32.Primitives";
@@ -181,18 +181,18 @@
})
(fetchNuGet {
name = "NBitcoin.Altcoins";
- version = "3.0.7";
- sha256 = "0nrkdbsc4k9fd4588axnkfa9gmif9b59wxw8fnmpg0nf4x8scm4n";
+ version = "3.0.8";
+ sha256 = "1qck2nfj8494pxwzhccslq4cbypsgnwcv3nvz24czsd87wn8n618";
})
(fetchNuGet {
name = "NBitcoin.TestFramework";
- version = "3.0.5";
- sha256 = "09cgjzbkxvsi65qzns0ignp0x89z630vqacsgwj3b1h30dycwqdr";
+ version = "3.0.6";
+ sha256 = "0yw382238rjv0qmhz1xlb5v696s8sxbjf839c2ck6dqd947q403w";
})
(fetchNuGet {
name = "NBitcoin";
- version = "6.0.10";
- sha256 = "00m0j74pqyjqal1wc28j6734rfd9zd7ajqb1p3fsdpqr16kfg56s";
+ version = "6.0.15";
+ sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
})
(fetchNuGet {
name = "NETStandard.Library";
@@ -699,6 +699,11 @@
version = "4.3.0";
sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
})
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "1.6.0";
+ sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+ })
(fetchNuGet {
name = "System.Reflection.Primitives";
version = "4.0.1";
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 55dc516ce6ea..600902f75b10 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -13,12 +13,12 @@ let
sha256Hash = "10gpwb130bzp6a9g958cjqcb2gsm0vdgm08nm5xy45xdh54nxjfg";
};
betaVersion = {
- version = "2021.1.1.14"; # "Android Studio Bumblebee (2021.1.1) Beta 1"
- sha256Hash = "1j1fxl4vzq3bln2z9ycxn9imjgy55yd1nbl7ycmsi90bdp96pzj0";
+ version = "2021.1.1.15"; # "Android Studio Bumblebee (2021.1.1) Beta 2"
+ sha256Hash = "sha256-J+Jw9F8pEE0SMWka//jADOiQ+GSOeRf5GBfp0RDtwqA=";
};
latestVersion = { # canary & dev
- version = "2021.2.1.2"; # "Android Studio Chipmunk (2021.2.1) Canary 2"
- sha256Hash = "0xvn9zgn4cc9lhjynhiavmvx8bdzg4kcllmhg7xv18kp6wz4lh6z";
+ version = "2021.2.1.3"; # "Android Studio Chipmunk (2021.2.1) Canary 3"
+ sha256Hash = "sha256-xIVdM28NDadvJklDIw71iJ7Z5GPVJ1ZDJ+t1y+bt8cE=";
};
in {
# Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/sublime/4/packages.nix b/pkgs/applications/editors/sublime/4/packages.nix
index bbef0d8a4056..3c098be58998 100644
--- a/pkgs/applications/editors/sublime/4/packages.nix
+++ b/pkgs/applications/editors/sublime/4/packages.nix
@@ -5,9 +5,9 @@ let
in
{
sublime4 = common {
- buildVersion = "4113";
- x64sha256 = "13679mnmigy1sgj355zs4si6gnx42rgjl4rn5d6gqgj5qq7zj3lh";
- aarch64sha256 = "0hg6g3cichma1x82963m7xwazmpdvv5zmz8rpwxs337zq7j3dmb3";
+ buildVersion = "4121";
+ x64sha256 = "CE/PeUV8Mg1Z2h8OWMhaemOVa95B1k2wHsht8lVPxeY=";
+ aarch64sha256 = "eveEW0Aq6pim0lnQ6BfISRaBgogeofgLmOVylSVojwg=";
} {};
sublime4-dev = common {
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 78c00b7984e3..a07cf38c0eba 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -18,13 +18,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
- version = "7.1.0-11";
+ version = "7.1.0-13";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
- sha256 = "sha256-z7ZpoB8NlcS5NVyoW0ngSlakCcb5qC3bh3xDVYuWS6w=";
+ sha256 = "sha256-W/XqgYOlSailHQdNBYsvf2P9go9sblWayDLrQQlekro=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index d3a46482be52..deed3d3b8882 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -16,13 +16,13 @@
mkDerivation rec {
pname = "qimgv";
- version = "1.0.1";
+ version = "1.0.2";
src = fetchFromGitHub {
owner = "easymodo";
repo = pname;
rev = "v${version}";
- sha256 = "1wybpmqvj7vj7cl6r4gif7mkrcdr6zpb939mmz46xsil5vb4pirh";
+ sha256 = "sha256-YlV/ysm7bdPverpKpanrL+jPVvMtP1paoAm0PREMaww=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix
index b35319c38630..04526ec34656 100644
--- a/pkgs/applications/misc/gnome-recipes/default.nix
+++ b/pkgs/applications/misc/gnome-recipes/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv
-, fetchurl
+{ stdenv
+, lib
+, fetchFromGitLab
, meson
, ninja
, pkg-config
-, gnome
, desktop-file-utils
, gettext
, itstool
@@ -17,17 +17,21 @@
, json-glib
, gnome-autoar
, gspell
-, libcanberra }:
+, libcanberra
+, nix-update-script
+}:
-let
+stdenv.mkDerivation rec {
pname = "gnome-recipes";
- version = "2.0.2";
-in stdenv.mkDerivation rec {
- name = "${pname}-${version}";
+ version = "2.0.4";
- src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
- sha256 = "1yymii3yf823d9x28fbhqdqm1wa30s40j94x0am9fjj0nzyd5s8v";
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = "recipes";
+ rev = version;
+ fetchSubmodules = true;
+ sha256 = "GyFOwEYmipQdFLtTXn7+NvhDTzxBlOAghr3cZT4QpQw=";
};
nativeBuildInputs = [
@@ -53,10 +57,6 @@ in stdenv.mkDerivation rec {
libcanberra
];
- # https://github.com/NixOS/nixpkgs/issues/36468
- # https://gitlab.gnome.org/GNOME/recipes/issues/76
- NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
postPatch = ''
chmod +x src/list_to_c.py
patchShebangs src/list_to_c.py
@@ -64,8 +64,8 @@ in stdenv.mkDerivation rec {
'';
passthru = {
- updateScript = gnome.updateScript {
- packageName = pname;
+ updateScript = nix-update-script {
+ attrPath = pname;
};
};
@@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
description = "Recipe management application for GNOME";
homepage = "https://wiki.gnome.org/Apps/Recipes";
maintainers = teams.gnome.members;
- license = licenses.gpl3;
+ license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/misc/googleearth-pro/default.nix b/pkgs/applications/misc/googleearth-pro/default.nix
index e7cfe04da6e8..950cb236ecbf 100644
--- a/pkgs/applications/misc/googleearth-pro/default.nix
+++ b/pkgs/applications/misc/googleearth-pro/default.nix
@@ -2,26 +2,14 @@
, stdenv
, mkDerivation
, fetchurl
-, ffmpeg_3
, freetype
-, gdal_2
, glib
, libGL
, libGLU
-, libICE
, libSM
-, libXi
-, libXv
-, libav_12
, libXrender
-, libXrandr
-, libXfixes
-, libXcursor
-, libXinerama
-, libXext
, libX11
-, libXcomposite
, libxcb
, sqlite
@@ -34,11 +22,8 @@
, dbus
, makeWrapper
-, qtlocation
-, qtwebkit
-, qtx11extras
-, qtsensors
-, qtscript
+, cups
+, alsa-lib
, xkeyboardconfig
, autoPatchelfHook
@@ -50,49 +35,34 @@ let
in
mkDerivation rec {
pname = "googleearth-pro";
- version = "7.3.3.7786";
+ version = "7.3.4.8248";
src = fetchurl {
url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-pro-stable/google-earth-pro-stable_${version}-r0_${arch}.deb";
- sha256 = "1s3cakwrgf702g33rh8qs657d8bl68wgg8k89rksgvswwpd2zbb3";
+ sha256 = "1pbapi267snlrjari5k93y6kbrjsqhqxgkxxqaqv4r25az00dx6d";
};
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
propagatedBuildInputs = [ xkeyboardconfig ];
buildInputs = [
dbus
- ffmpeg_3
+ cups
fontconfig
freetype
- gdal_2
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libGL
libGLU
- libICE
libSM
libX11
- libXcomposite
- libXcursor
- libXext
- libXfixes
- libXi
- libXinerama
- libXrandr
libXrender
- libXv
- libav_12
libproxy
libxcb
libxml2
- qtlocation
- qtscript
- qtsensors
- qtwebkit
- qtx11extras
sqlite
zlib
+ alsa-lib
];
doInstallCheck = true;
@@ -131,17 +101,6 @@ mkDerivation rec {
runHook postInstall
'';
- postInstall = ''
- find "$out/opt/google/earth/pro" -name "*.so.*" | \
- egrep -v 'libssl*|libcrypto*|libicu*' | \
- xargs rm
- find "$out/opt/google/earth/pro" -name "*.so" | \
- egrep -v 'libgoogle*|libauth*|libbase*|libcommon*|libcommon_gui*|libcommon_platform*|libcommon_webbrowser*|libcomponentframework*|libgeobase*|libgeobaseutils*|libge_net*|libgdata*|libgoogleapi*|libmath*|libmoduleframework*|libmaps*|libport*|libprintmodule*|libprofile*|librender*|libreporting*|libsgutil*|libspatial*|libxsltransform*|libbase*|libport*|libport*|libbase*|libcomponentframework*|libIGCore*|libIGUtils*|libaction*|libapiloader*|libapiloader*|libIGCore*|libIGUtils*|libIGMath*|libfusioncommon*|libge_exif*|libaction*|libfusioncommon*|libapiloader*|liblayer*|libapiloader*|libIGAttrs*|libIGCore*|libIGGfx*|libIGMath*|libIGSg*|libIGUtils*|libwmsbase*|libwebbrowser*|libevllpro*|libalchemyext*|libge_cache*|libflightsim*|libnpgeinprocessplugin*|libmeasure*|libviewsync*|libcapture*|libtheme*|libgps*|libgisingest*|libsearchmodule*|libinput_plugin*|libnavigate*|libspnav*|libsearch*|libLeap*' | \
- xargs rm
- '';
-
- autoPatchelfIgnoreMissingDeps=true;
-
installCheckPhase = ''
$out/bin/gpsbabel -V > /dev/null
'';
@@ -159,5 +118,6 @@ mkDerivation rec {
license = licenses.unfree;
maintainers = with maintainers; [ friedelino shamilton ];
platforms = platforms.linux;
+ knownVulnerabilities = [ "Includes vulnerable bundled libraries." ];
};
}
diff --git a/pkgs/applications/misc/ssh-tools/default.nix b/pkgs/applications/misc/ssh-tools/default.nix
index 8740633262fd..2e79f69656f9 100644
--- a/pkgs/applications/misc/ssh-tools/default.nix
+++ b/pkgs/applications/misc/ssh-tools/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "ssh-tools";
- version = "1.6";
+ version = "1.7";
src = fetchFromGitHub {
owner = "vaporup";
repo = pname;
rev = "v${version}";
- sha256 = "0m0x9383p9ab4hdirncmrfha130iasa0v4cbif2y5nbxnxgh101r";
+ sha256 = "sha256-PDoljR/e/qraPhG9RRjHx1gBIMtTJ815TZDJws8Qg6o=";
};
installPhase = ''
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index 51dced0af280..958640af659b 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "stable";
- version = "2.11.0";
- sha256 = "172in8vmr7c5sff111rrd5127lz2pv7bbh7p399xafnk8ri0fx2i";
+ version = "2.11.1";
+ sha256 = "09zwxcaqn537ls737js7rcsqarapw5k25gv41d844k73yvxm882c";
vendorSha256 = "sha256-c3EyVrblqtFuoP7+YdbyPN0DdN6TcQ5DTtFQ/frKM0Q=";
}
diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix
index a14e55e51f29..e2bf0b134d54 100644
--- a/pkgs/applications/networking/mpop/default.nix
+++ b/pkgs/applications/networking/mpop/default.nix
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "mpop";
- version = "1.4.15";
+ version = "1.4.16";
src = fetchurl {
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
- sha256 = "sha256-P1KytdS8WO2TzwsRRs7k903oHCwHol7gMu+mWUZaAnA=";
+ sha256 = "sha256-hw61cerm0j+5KtDITXnenDjF9iTjYUk31XS/5Jumh/k=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 884e5a644fc0..d87d23be429c 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -9,11 +9,11 @@ let
in stdenv.mkDerivation rec {
pname = "msmtp";
- version = "1.8.17";
+ version = "1.8.18";
src = fetchurl {
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
- sha256 = "sha256-D92+dMGp3PZGG0obDbPk00JmGEUAxAPX8QetQttOxNM=";
+ sha256 = "sha256-FPxirzfr3MXtGaJFoF64N27+cBYRjwDJxZS8mZ1VYKU=";
};
patches = [
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 0f76bced878a..9f8a6dfc5761 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -18,13 +18,13 @@ let
in stdenv.mkDerivation rec {
pname = "freerdp";
- version = "2.4.0";
+ version = "2.4.1";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = version;
- sha256 = "sha256-o+9twuyH9keWJriCSNkR63+xZuuOmPjoWg+Jp616CsQ=";
+ sha256 = "sha256-0wwIuE6Gv8khhLAbWSHOBfHGrTUjR4f/C5bzYJpvWIQ=";
};
postPatch = ''
diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix
index a5edbac135f9..b655671b52c5 100644
--- a/pkgs/applications/networking/weather/meteo/default.nix
+++ b/pkgs/applications/networking/weather/meteo/default.nix
@@ -1,16 +1,32 @@
-{ lib, stdenv, fetchFromGitLab, vala, python3, pkg-config, meson, ninja, gtk3
-, json-glib, libsoup, webkitgtk, geocode-glib, nix-update-script
-, libappindicator, desktop-file-utils, appstream, wrapGAppsHook }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, nix-update-script
+, appstream
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, vala
+, wrapGAppsHook
+, glib
+, gtk3
+, json-glib
+, libappindicator
+, libsoup
+, webkitgtk
+}:
stdenv.mkDerivation rec {
pname = "meteo";
- version = "0.9.8";
+ version = "0.9.9";
src = fetchFromGitLab {
owner = "bitseater";
repo = pname;
rev = version;
- sha256 = "1ll5fja0dqxcr6hrh2dk4hgw9gf8ms9bcp1ifznd21byxzyhdlr0";
+ sha256 = "sha256-8v6lg66QEVFMNO8sMkh/H6ouS8359Z7gjRQQnJs+lEE=";
};
nativeBuildInputs = [
@@ -25,7 +41,7 @@ stdenv.mkDerivation rec {
];
buildInputs = [
- geocode-glib
+ glib
gtk3
json-glib
libappindicator
@@ -44,12 +60,12 @@ stdenv.mkDerivation rec {
};
};
-
meta = with lib; {
description = "Know the forecast of the next hours & days";
homepage = "https://gitlab.com/bitseater/meteo";
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ ];
+ maintainers = with maintainers; [ bobby285271 ];
platforms = platforms.linux;
+ mainProgram = "com.gitlab.bitseater.meteo";
};
}
diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
index 346483b9231e..b30a18931213 100644
--- a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
+++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
@@ -4,14 +4,14 @@
}:
stdenv.mkDerivation rec {
- version = "3.2.6";
+ version = "3.3.0";
pname = "hal-hardware-analyzer";
src = fetchFromGitHub {
owner = "emsec";
repo = "hal";
rev = "v${version}";
- sha256 = "sha256-GRHRrAxZ10hmAXkGGSQEwNJTbnMbJ9jMyKnOUq+KoWo=";
+ sha256 = "sha256-uNpELHhSAVRJL/4iypvnl3nX45SqB419r37lthd2WmQ=";
};
# make sure bundled dependencies don't get in the way - install also otherwise
# copies them in full to the output, bloating the package
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index ae403d3f7332..463e5b7d8211 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,25 +3,25 @@
{
"kicad" = {
kicadVersion = {
- version = "5.1.10";
+ version = "5.1.11";
src = {
- rev = "88a1d61d58fdd62149bd1e00984e01540148ca1b";
- sha256 = "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc";
+ rev = "d6b7f2349bcdbc45b223e7fe0460d9f169343209";
+ sha256 = "03658kfd313lnvr4jihq1i72g2dfbzba8j1z2y4fxg3vrs54y7a0";
};
};
libVersion = {
- version = "5.1.10";
+ version = "5.1.11";
libSources = {
- i18n.rev = "f081afe79be4660d5c49a9d674e3cb666d76d4d0";
+ i18n.rev = "0b8cef6bd08818cc0360f240544733dce509da3f";
i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
- symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
- symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
- templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
- templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
- footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
- footprints.sha256 = "0gyqxryda273hjn2rv8dha461j9bjh054y5dlpiw1wiha65lrf9i";
- packages3d.rev = "7abe02f30fd79b8f4f66c01589861df7f8f72f04";
- packages3d.sha256 = "1szcin52fcsyb55bj7xq7lz6ig187dpz3lk7blwab7b9c4dn3c3y";
+ symbols.rev = "7d4cbbddceafa1f69858449e16ac7229abef3c9a";
+ symbols.sha256 = "1zdajim409570xzis53kmrbdcf7000v2vmc90f49h214lrx2zhr2";
+ templates.rev = "f4c74f4130c8432399089c8b2dc21319b769bbe9";
+ templates.sha256 = "1fbhn1l3j2rwc29aida9b408wif55i23bp9ddcs7dvf83smjm05g";
+ footprints.rev = "e53d53ac4a30959b03ed3297d7659ea82244fb45";
+ footprints.sha256 = "0qpii55dgv2gxqg1qq0dngdnbb9din790qi5qv0l6qqrzx843h5s";
+ packages3d.rev = "be0ba9377b4ec0f11a4b9aceda150eed93027f72";
+ packages3d.sha256 = "12w7m5nbk9kcnlnlg4sk1sd7xgb9i2kxfi0jcbd0phs89qyl7wjr";
};
};
};
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index 987068d9bbb6..5dc54fd27747 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -1,5 +1,4 @@
{ stdenv, lib, runCommand, patchelf, makeWrapper, pkg-config, curl
-, fetchpatch
, openssl, gmp, zlib, fetchFromGitHub, rustPlatform, libiconv }:
let
@@ -8,16 +7,16 @@ in
rustPlatform.buildRustPackage rec {
pname = "elan";
- version = "1.1.0";
+ version = "1.2.0";
src = fetchFromGitHub {
owner = "leanprover";
repo = "elan";
rev = "v${version}";
- sha256 = "0xmml81krr0i18b14dymfdq43szpzws7qj8k404qab51lkqxyxsb";
+ sha256 = "0q3gay0j45c6cmykbis14gmc7xm89d0gqyz7lnysl0pgr5k20j6b";
};
- cargoSha256 = "sha256-xjJ39hoSDn0VUH0YcL+mQBXbzFcIvZ38dPjBxV/yVNc=";
+ cargoSha256 = "1cklpi40fbiwz8m9p0cknmslpj0vwpr0x8j02vam6sng9dsb50i9";
nativeBuildInputs = [ pkg-config makeWrapper ];
@@ -41,11 +40,6 @@ rustPlatform.buildRustPackage rec {
--subst-var dynamicLinker \
--subst-var libPath
'')
- # fix build, will be included in 1.1.1
- (fetchpatch {
- url = "https://github.com/leanprover/elan/commit/8d1dec09d67b2ac1768b111d24f1a1cabdd563fa.patch";
- sha256 = "sha256-yMdnXqycu4VF9EKavZ85EuspvAqvzDSIm5894SB+3+A=";
- })
];
postInstall = ''
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index cfd46a613f77..4cd8f72b790f 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -100,6 +100,9 @@ buildPythonApplication rec {
else "linux-package/bin";
in
''
+ # Fontconfig error: Cannot load default config file: No such file: (null)
+ export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
+
env PATH="${buildBinPath}:$PATH" ${python.interpreter} test.py
'';
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 849965e15f5a..24a78848f91b 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "git-repo";
- version = "2.17.2";
+ version = "2.17.3";
src = fetchFromGitHub {
owner = "android";
repo = "tools_repo";
rev = "v${version}";
- sha256 = "sha256-JfT0jW6aUZAYESQI0tFfnITFv20Jk7DWbvz8Ipt4t1Y=";
+ sha256 = "sha256-ez+Egl9vvfEZbeIEx7hHmH2Lhyvl93UHRkvkHaG46RQ=";
};
# Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index 33716a48fb08..dd9b07f7faf8 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,8 +4,8 @@ let
common = opts: callPackage (import ./common.nix opts);
in {
sublime-merge = common {
- buildVersion = "2056";
- sha256 = "08472214kazx9fdw7y8gy0bp63mqxcpa79myn2w95wdp0mrlr119";
+ buildVersion = "2063";
+ sha256 = "l6vxcOIQ3kQqNzLkf3PbuU3DpDfLh0tXCl/LnJsCt2k=";
} {};
sublime-merge-dev = common {
diff --git a/pkgs/applications/video/entangle/default.nix b/pkgs/applications/video/entangle/default.nix
new file mode 100644
index 000000000000..1575421175d3
--- /dev/null
+++ b/pkgs/applications/video/entangle/default.nix
@@ -0,0 +1,125 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, cmake
+, libxml2
+, meson
+, ninja
+, perl
+, python3
+, pkgconf
+, wrapGAppsHook
+, at-spi2-core
+, dbus
+, elfutils
+, epoxy
+, gexiv2
+, glib
+, gobject-introspection
+, gst-plugins-base
+, gstreamer
+, gtk3
+, lcms2
+, libdatrie
+, libgphoto2
+, libgudev
+, libpeas
+, libraw
+, libselinux
+, libsepol
+, libthai
+, libunwind
+, libxkbcommon
+, orc
+, pcre
+, udev
+, util-linux
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+ pname = "entangle";
+ version = "3.0";
+
+ src = fetchFromGitLab {
+ owner = "entangle";
+ repo = "entangle";
+ rev = "v${version}";
+ sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ glib.dev
+ libxml2.bin # for xmllint
+ meson
+ ninja
+ perl # for pod2man and build scripts
+ python3 # for build scripts
+ pkgconf
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ at-spi2-core
+ dbus
+ epoxy
+ elfutils
+ gexiv2
+ glib
+ gobject-introspection
+ gst-plugins-base
+ gstreamer
+ gtk3
+ lcms2
+ libdatrie
+ libgphoto2
+ libgudev
+ libpeas
+ libraw
+ libselinux
+ libsepol
+ libthai
+ libunwind
+ libxkbcommon
+ orc
+ pcre
+ udev
+ util-linux
+ ] ++ (with xorg; [
+ libXdmcp
+ libXtst
+ ]);
+
+ dontUseCmakeConfigure = true;
+
+ # Disable building of doc/reference since it requires network connection to render XML to HTML
+ # Patch build script shebangs
+ postPatch = ''
+ sed -i "/subdir('reference')/d" "docs/meson.build"
+ patchShebangs --build build-aux meson_post_install.py
+ sed -i meson_post_install.py \
+ -e "/print('Update icon cache...')/d" \
+ -e "/gtk-update-icon-cache/d"
+ '';
+
+ postInstall = ''
+ substituteInPlace "$out/share/applications/org.entangle_photo.Manager.desktop" \
+ --replace "Exec=entangle" "Exec=$out/bin/entangle"
+ '';
+
+ meta = with lib; {
+ description = "Tethered camera control and capture";
+ longDescription = ''
+ Entangle uses GTK and libgphoto2 to provide a graphical interface
+ for tethered photography with digital cameras.
+ It includes control over camera shooting and configuration settings
+ and 'hands off' shooting directly from the controlling computer.
+ This app can also serve as a camera app for mobile devices.
+ '';
+ homepage = "https://gitlab.com/entangle/entangle";
+ license = licenses.gpl3Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ ShamrockLee ];
+ };
+}
diff --git a/pkgs/applications/video/sub-batch/default.nix b/pkgs/applications/video/sub-batch/default.nix
index 37daa870c6e6..fd5b2888d63d 100644
--- a/pkgs/applications/video/sub-batch/default.nix
+++ b/pkgs/applications/video/sub-batch/default.nix
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "sub-batch";
- version = "0.4.0";
+ version = "0.4.1";
src = fetchFromGitHub {
owner = "kl";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-5fDnSmnnVB1RGrNrnmp40OGFF+OAhppnhOjVgnYxXr0=";
+ sha256 = "sha256-WUW+lOGbZ82NJxmW+Ogxslf3COOp62aZ/08Yn26l4T0=";
};
- cargoSha256 = "sha256-+ufa4Cgue8o9CTB3JDcQ38SlUq8PcRDyj+qNSAFpTas=";
+ cargoSha256 = "sha256-m9nBubmuuOcJyegmYGJizY/2b7oamBHKFNIaxOtikcA=";
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 224969cc2649..4e0f459ac287 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -92,6 +92,11 @@ stdenv.mkDerivation rec {
sha256 = "09xz06g57wxbacic617pq9c0qb7nly42gif0raplldn5lw964xl2";
revert = true;
})
+ (fetchpatch {
+ name = "CVE-2021-3713.patch"; # remove with next release
+ url = "https://gitlab.com/qemu-project/qemu/-/commit/13b250b12ad3c59114a6a17d59caf073ce45b33a.patch";
+ sha256 = "0lkzfc7gdlvj4rz9wk07fskidaqysmx8911g914ds1jnczgk71mf";
+ })
] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
++ lib.optionals stdenv.hostPlatform.isMusl [
(fetchpatch {
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 0d6d707a60d5..98c7f80df8ad 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -23,14 +23,14 @@ let
buildType = "release";
# Use maintainers/scripts/update.nix to update the version and all related hashes or
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
- version = "6.1.26";
+ version = "6.1.28";
in stdenv.mkDerivation {
pname = "virtualbox";
inherit version;
src = fetchurl {
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
- sha256 = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195";
+ sha256 = "8d34993d8e9c0cf35e7bd44dd26c8c757f17a3b7d5a64052f945d00fd798ebfe";
};
outputs = [ "out" "modsrc" ];
@@ -94,9 +94,6 @@ in stdenv.mkDerivation {
})
++ [
./qtx11extras.patch
- # Temporary workaround for broken build
- # https://www.virtualbox.org/pipermail/vbox-dev/2021-July/015670.html
- ./fix-configure-pkgconfig-qt.patch
# https://github.com/NixOS/nixpkgs/issues/123851
./fix-audio-driver-loading.patch
];
@@ -202,11 +199,6 @@ in stdenv.mkDerivation {
done
''}
- # https://github.com/NixOS/nixpkgs/issues/137104
- ${optionalString (enableHardening || headless) ''
- rm $libexec/components/VBoxREM.so
- ''}
-
cp -rv out/linux.*/${buildType}/bin/src "$modsrc"
'';
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 5ed763fa2e77..7842e0ce89ff 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -12,7 +12,7 @@ fetchurl rec {
# Manually sha256sum the extensionPack file, must be hex!
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
- let value = "aaa1a1f8615d5bd2e08b158ce6f415262fbb595e169e2d415c5b1844ac258eee";
+ let value = "85d7858a95d802c41cb86e1b573dc501d782e5d040937e0d8505a37c29509774";
in assert (builtins.stringLength value) == 64; value;
meta = {
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 66bd2966f5d3..83dd8f6e7939 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
- sha256 = "22d02ec417cd7723d7269dbdaa71c48815f580c0ca7a0606c42bd623f84873d7";
+ sha256 = "eab85206cfb9d7087982deb2635d19a4244a3c6783622a4817fb1a31e48e98e5";
};
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/applications/virtualization/virtualbox/hardened.patch b/pkgs/applications/virtualization/virtualbox/hardened.patch
index 180ea88461ef..786a476df51c 100644
--- a/pkgs/applications/virtualization/virtualbox/hardened.patch
+++ b/pkgs/applications/virtualization/virtualbox/hardened.patch
@@ -1,8 +1,8 @@
diff --git a/include/iprt/mangling.h b/include/iprt/mangling.h
-index c1daa8f..8618371 100644
+index 25b918d1..1420ff1d 100644
--- a/include/iprt/mangling.h
+++ b/include/iprt/mangling.h
-@@ -1440,6 +1440,7 @@
+@@ -1695,6 +1695,7 @@
# define RTPathStripSuffix RT_MANGLER(RTPathStripSuffix)
# define RTPathStripFilename RT_MANGLER(RTPathStripFilename)
# define RTPathStripTrailingSlash RT_MANGLER(RTPathStripTrailingSlash)
@@ -10,7 +10,7 @@ index c1daa8f..8618371 100644
# define RTPathTemp RT_MANGLER(RTPathTemp)
# define RTPathTraverseList RT_MANGLER(RTPathTraverseList)
# define RTPathUnlink RT_MANGLER(RTPathUnlink)
-@@ -1478,6 +1479,7 @@
+@@ -1734,6 +1735,7 @@
# define RTProcGetAffinityMask RT_MANGLER(RTProcGetAffinityMask)
# define RTProcGetExecutablePath RT_MANGLER(RTProcGetExecutablePath)
# define RTProcGetPriority RT_MANGLER(RTProcGetPriority)
@@ -19,13 +19,14 @@ index c1daa8f..8618371 100644
# define RTProcQueryParent RT_MANGLER(RTProcQueryParent)
# define RTProcQueryUsername RT_MANGLER(RTProcQueryUsername)
diff --git a/include/iprt/path.h b/include/iprt/path.h
-index 8bd42bc..2c23d3e 100644
+index 99060e35..ccfbeb76 100644
--- a/include/iprt/path.h
+++ b/include/iprt/path.h
-@@ -1064,6 +1064,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst,
+@@ -1221,6 +1221,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst, const char *p
+ */
RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath);
-
- /**
+
++/**
+ * Gets the path to the NixOS setuid wrappers directory.
+ *
+ * @returns iprt status code.
@@ -34,18 +35,18 @@ index 8bd42bc..2c23d3e 100644
+ */
+RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath);
+
-+/**
+ /**
* Gets the user home directory.
*
- * @returns iprt status code.
diff --git a/include/iprt/process.h b/include/iprt/process.h
-index 043653e..1070280 100644
+index f4f67dd4..ab882a19 100644
--- a/include/iprt/process.h
+++ b/include/iprt/process.h
-@@ -327,6 +327,16 @@ RTR3DECL(const char *) RTProcShortName(void);
+@@ -352,6 +352,16 @@ RTR3DECL(const char *) RTProcExecutablePath(void);
+ */
RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath);
-
- /**
+
++/**
+ * Gets the path to the NixOS setuid wrappers directory.
+ *
+ * @returns pszExecPath on success. NULL on buffer overflow or other errors.
@@ -55,15 +56,14 @@ index 043653e..1070280 100644
+ */
+RTR3DECL(char *) RTProcGetSuidPath(char *pszExecPath, size_t cbExecPath);
+
-+/**
+ /**
* Daemonize the current process, making it a background process.
*
- * The way this work is that it will spawn a detached / backgrounded /
diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
-index ce0f288..6193108 100644
+index 75ff8572..18a077b7 100644
--- a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
+++ b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
-@@ -1502,9 +1502,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
+@@ -1531,9 +1531,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
bool fBad = !fRelaxed || pFsObjState->Stat.st_gid != 2 /*bin*/ || suplibHardenedStrCmp(pszPath, "/usr/lib/iconv");
# else
NOREF(fRelaxed);
@@ -75,20 +75,46 @@ index ce0f288..6193108 100644
return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
"An unknown (and thus untrusted) group has write access to '", pszPath,
"' and we therefore cannot trust the directory content or that of any subdirectory");
+diff --git a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
+index 2991d3a7..d042a08b 100644
+--- a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
++++ b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
+@@ -90,7 +90,7 @@ int MachineLaunchVMCommonWorker(const Utf8Str &aNameOrId,
+
+ /* Get the path to the executable directory w/ trailing slash: */
+ char szPath[RTPATH_MAX];
+- int vrc = RTPathAppPrivateArch(szPath, sizeof(szPath));
++ int vrc = RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
+ AssertRCReturn(vrc, vrc);
+ size_t cbBufLeft = RTPathEnsureTrailingSeparator(szPath, sizeof(szPath));
+ AssertReturn(cbBufLeft > 0, VERR_FILENAME_TOO_LONG);
+diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
+index 2e57690a..3272c840 100644
+--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
++++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
+@@ -188,7 +188,7 @@ int NetworkServiceRunner::start(bool aKillProcessOnStop)
+ * ASSUME it is relative to the directory that holds VBoxSVC.
+ */
+ char szExePath[RTPATH_MAX];
+- AssertReturn(RTProcGetExecutablePath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
++ AssertReturn(RTProcGetSuidPath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
+ RTPathStripFilename(szExePath);
+ int vrc = RTPathAppend(szExePath, sizeof(szExePath), m->pszProcName);
+ AssertLogRelRCReturn(vrc, vrc);
diff --git a/src/VBox/Main/src-server/generic/NetIf-generic.cpp b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
-index 98dc91a..43a819f 100644
+index af155966..3b8e793d 100644
--- a/src/VBox/Main/src-server/generic/NetIf-generic.cpp
+++ b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
-@@ -47,7 +47,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
+@@ -48,7 +48,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
const char *args[] = { NULL, pcszIfName, pszAddr, pszOption, pszMask, NULL };
-
+
char szAdpCtl[RTPATH_MAX];
- int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
+ int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
if (RT_FAILURE(rc))
{
LogRel(("NetIfAdpCtl: failed to get program path, rc=%Rrc.\n", rc));
-@@ -89,7 +89,7 @@ static int NetIfAdpCtl(HostNetworkInterface * pIf, const char *pszAddr, const ch
+@@ -95,7 +95,7 @@ static int NetIfAdpCtl(HostNetworkInterface * pIf, const char *pszAddr, const ch
int NetIfAdpCtlOut(const char * pcszName, const char * pcszCmd, char *pszBuffer, size_t cBufSize)
{
char szAdpCtl[RTPATH_MAX];
@@ -97,23 +123,23 @@ index 98dc91a..43a819f 100644
if (RT_FAILURE(rc))
{
LogRel(("NetIfAdpCtlOut: Failed to get program path, rc=%Rrc\n", rc));
-@@ -201,7 +201,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
+@@ -210,7 +210,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
progress.queryInterfaceTo(aProgress);
-
+
char szAdpCtl[RTPATH_MAX];
-- int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
-+ int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
- if (RT_FAILURE(rc))
+- vrc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
++ vrc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
+ if (RT_FAILURE(vrc))
{
progress->i_notifyComplete(E_FAIL,
diff --git a/src/VBox/Runtime/r3/path.cpp b/src/VBox/Runtime/r3/path.cpp
-index 944848e..744a261 100644
+index 4b1a0ada..7f6dd707 100644
--- a/src/VBox/Runtime/r3/path.cpp
+++ b/src/VBox/Runtime/r3/path.cpp
@@ -81,6 +81,12 @@ RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath)
}
-
-
+
+
+RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath)
+{
+ return RTStrCopy(pszPath, cchPath, "/run/wrappers/bin");
@@ -124,13 +150,13 @@ index 944848e..744a261 100644
{
#if !defined(RT_OS_WINDOWS) && defined(RTPATH_APP_PRIVATE)
diff --git a/src/VBox/Runtime/r3/process.cpp b/src/VBox/Runtime/r3/process.cpp
-index 2aab645..9795f21 100644
+index 5f7c7a87..59461cfa 100644
--- a/src/VBox/Runtime/r3/process.cpp
+++ b/src/VBox/Runtime/r3/process.cpp
-@@ -111,6 +111,26 @@ RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath)
- return NULL;
+@@ -117,6 +117,25 @@ RTR3DECL(const char *) RTProcExecutablePath(void)
+ return g_szrtProcExePath;
}
-
+
+/*
+ * Note the / at the end! This is important, because the functions using this
+ * will cut off everything after the rightmost / as this function is analogous
@@ -150,33 +176,6 @@ index 2aab645..9795f21 100644
+ AssertMsgFailed(("Buffer too small (%zu <= %zu)\n", cbExecPath, sizeof(SUIDDIR)));
+ return NULL;
+}
-+
-
+
RTR3DECL(const char *) RTProcShortName(void)
{
-diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
-index 2e57690..3272c84 100644
---- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
-+++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
-@@ -188,7 +188,7 @@ int NetworkServiceRunner::start(bool aKillProcessOnStop)
- * ASSUME it is relative to the directory that holds VBoxSVC.
- */
- char szExePath[RTPATH_MAX];
-- AssertReturn(RTProcGetExecutablePath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
-+ AssertReturn(RTProcGetSuidPath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
- RTPathStripFilename(szExePath);
- int vrc = RTPathAppend(szExePath, sizeof(szExePath), m->pszProcName);
- AssertLogRelRCReturn(vrc, vrc);
-diff --git a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
-index 2991d3a7..d042a08b 100644
---- a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
-+++ b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
-@@ -90,7 +90,7 @@ int MachineLaunchVMCommonWorker(const Utf8Str &aNameOrId,
-
- /* Get the path to the executable directory w/ trailing slash: */
- char szPath[RTPATH_MAX];
-- int vrc = RTPathAppPrivateArch(szPath, sizeof(szPath));
-+ int vrc = RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
- AssertRCReturn(vrc, vrc);
- size_t cbBufLeft = RTPathEnsureTrailingSeparator(szPath, sizeof(szPath));
- AssertReturn(cbBufLeft > 0, VERR_FILENAME_TOO_LONG);
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 7aa62e69df94..0d07ce4e8d1a 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "i3";
- version = "4.19.2";
+ version = "4.20";
src = fetchurl {
url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
- sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
+ sha256 = "sha256-jPTxdPbPVU84VjOAaBq+JYaOmVWIN5HgmG7NicU6wyI=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index e8330ee29368..9379fb358b35 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,16 +6,16 @@ in
rustPlatform.buildRustPackage rec {
pname = "leftwm";
- version = "0.2.8";
+ version = "0.2.9";
src = fetchFromGitHub {
owner = "leftwm";
repo = "leftwm";
rev = version;
- sha256 = "sha256-T4A9NGT6sUSTKmLcAWjcp3Y8QQzZFAVSXevXtGm3szY=";
+ sha256 = "sha256:0w4afhrp2cxz0nmpvalyaxz1dpywajjj2wschw8dpkvgxqs64gd5";
};
- cargoSha256 = "sha256-2prRtdBxpYc2xI/bLZNlqs3mxESfO9GhNUSlKFF//eE=";
+ cargoSha256 = "sha256:0r0smpv50gim2naaa0qf6yhvqvsa2f40rkgiryi686y69m5ii7mv";
buildInputs = rpathLibs;
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index cd33a834acc5..c24c507695e5 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
{ lib, fetchzip }:
let
- version = "5.1.3";
+ version = "6.0.0";
in fetchzip {
name = "ibm-plex-${version}";
@@ -10,14 +10,15 @@ in fetchzip {
postFetch = ''
mkdir -p $out/share/fonts
- unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
+ unzip -j $downloadedFile "OpenType/*/*.otf" -x "OpenType/IBM-Plex-Sans-JP/unhinted/*" -d $out/share/fonts/opentype
'';
- sha256 = "0w07fkhav2lqdyki7ipnkpji5ngwarlhsyliy0ip7cd29x24ys5h";
+ sha256 = "0zv9kw4hmchf374pl0iajzybmx5wklsplg56j115m46i4spij6mr";
meta = with lib; {
description = "IBM Plex Typeface";
homepage = "https://www.ibm.com/plex/";
+ changelog = "https://github.com/IBM/plex/raw/v${version}/CHANGELOG.md";
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ maintainers.romildo ];
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 5bc691e72440..00030ad57423 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,26 +1,27 @@
{ lib, fetchurl, libarchive }:
let
- version = "0.32.9";
+ version = "0.34.7";
in fetchurl {
name = "sarasa-gothic-${version}";
- url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
- sha256 = "0mwaj9dq26f36ddywjm7m0is1jml2kpmqm46b16c8avvr97c65z5";
+ url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttf-${version}.7z";
+ sha256 = "094sl6gklrdv9pk4r6451dvz0fjyjmwys7i81qrz4ik1km5dfq9b";
recursiveHash = true;
downloadToTemp = true;
postFetch = ''
- mkdir -p $out/share/fonts
- ${libarchive}/bin/bsdtar -xf $downloadedFile -C $out/share/fonts
+ mkdir -p $out/share/fonts/truetype
+ ${libarchive}/bin/bsdtar -xf $downloadedFile -C $out/share/fonts/truetype
'';
meta = with lib; {
- description = "SARASA GOTHIC is a Chinese & Japanese programming font based on Iosevka and Source Han Sans";
+ description = "A CJK programming font based on Iosevka and Source Han Sans";
homepage = "https://github.com/be5invis/Sarasa-Gothic";
license = licenses.ofl;
maintainers = [ maintainers.ChengCat ];
+ hydraPlatforms = [ ]; # disabled from hydra because it's so big
platforms = platforms.all;
};
}
diff --git a/pkgs/data/fonts/source-han-code-jp/default.nix b/pkgs/data/fonts/source-han-code-jp/default.nix
index 5960e4fb6ea4..7f12fee5067b 100644
--- a/pkgs/data/fonts/source-han-code-jp/default.nix
+++ b/pkgs/data/fonts/source-han-code-jp/default.nix
@@ -2,7 +2,7 @@
let
pname = "source-han-code-jp";
- version = "2.011R";
+ version = "2.012R";
in fetchzip {
name = "${pname}-${version}";
@@ -13,7 +13,7 @@ in fetchzip {
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
'';
- sha256 = "184vrjkymcm29k1cx00cdvjchzqr1w17925lmh85f0frx7vwljcd";
+ sha256 = "16y5as1k864ghy3vzp8svr3q0sw57rv53za3f48700ksvxz5pwry";
meta = {
description = "A monospaced Latin font suitable for coding";
diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix
index 940c0d76c46a..17ad7e23e8c9 100644
--- a/pkgs/data/fonts/victor-mono/default.nix
+++ b/pkgs/data/fonts/victor-mono/default.nix
@@ -1,14 +1,10 @@
-{ lib, fetchFromGitHub }:
+{ lib, fetchzip }:
let
- pname = "victor-mono";
- version = "1.4.1";
-in fetchFromGitHub rec {
- name = "${pname}-${version}";
-
- owner = "rubjo";
- repo = pname;
- rev = "v${version}";
+ version = "1.5.0";
+in
+fetchzip {
+ name = "victor-mono-${version}";
# Upstream prefers we download from the website,
# but we really insist on a more versioned resource.
@@ -17,23 +13,21 @@ in fetchFromGitHub rec {
# so we extract it from the tagged release.
# Both methods produce the same file, but this way
# we can safely reason about what version it is.
+ url = "https://github.com/rubjo/victor-mono/raw/v${version}/public/VictorMonoAll.zip";
+
postFetch = ''
- tar xvf $downloadedFile --strip-components=2 ${pname}-${version}/public/VictorMonoAll.zip
-
- mkdir -p $out/share/fonts/{true,open}type/${pname}
-
- unzip -j VictorMonoAll.zip \*.ttf -d $out/share/fonts/truetype/${pname}
- unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
+ mkdir -p $out/share/fonts/
+ unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+ unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
'';
- sha256 = "1g3jjrqd2fiw2hdifhff2fn20p5a0xfma3964f67ibdyri976zq5";
+ sha256 = "1x3dnkq8awn5zniywap78qwp5nxmf14bq8snzsywk70ah0jmbawi";
meta = with lib; {
description = "Free programming font with cursive italics and ligatures";
homepage = "https://rubjo.github.io/victor-mono";
- license = with licenses; [ mit ];
+ license = licenses.ofl;
maintainers = with maintainers; [ jpotier dtzWill ];
platforms = platforms.all;
};
}
-
diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
index 194a36021a94..c46cc0a6ec9a 100644
--- a/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme";
- version = "21.04.14";
+ version = "21.10.31";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "1ilzqh9f7skdfg5sl97zfgwrzvwa1zna22dpq0954gyyzvy7k7lg";
+ sha256 = "sha256-wyVvXifdbKR2aiBMrki8y/H0khH4eFD1RHVSC+jAT28=";
};
nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 7ddf227a8fb3..0b29f89d463e 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
stdenv.mkDerivation rec {
pname = "gnome-maps";
- version = "41.0";
+ version = "41.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "sha256-G0CC22wHDp3LCFJZ6+PIpCG44eiyezKEq2BXULudjJI=";
+ sha256 = "sha256-XtyUpXlHDO1HztKSxUq6Z8vnBIGOF0BsCQwB1Dlb4a0=";
};
doCheck = true;
diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
index fac50cd2b34d..2ab3091edec1 100644
--- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
@@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "gnome-remote-desktop";
- version = "41.0";
+ version = "41.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
- hash = "sha256-apvIscaHRvSjqsH+dMRKcuJqi7S+HxynMCdwWstlK14=";
+ hash = "sha256-wOiJsO2BGxGAm777FzOElNj1L/USC+bj/9O65angX98=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-terminal/default.nix b/pkgs/desktops/gnome/core/gnome-terminal/default.nix
index 48e65009ade7..1c905eec41b7 100644
--- a/pkgs/desktops/gnome/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-terminal/default.nix
@@ -27,11 +27,11 @@
stdenv.mkDerivation rec {
pname = "gnome-terminal";
- version = "3.42.0";
+ version = "3.42.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "tQ6eVmQjDmyikLzziBKltl4LqsZqSG7iEIlM9nX3Lgs=";
+ sha256 = "wxmxQFUBuMdpPmFvSOztQWldLnhhSMpfnie8fZj0rrE=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index 2a964964a09e..4f7df313ad52 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -34,13 +34,13 @@
stdenv.mkDerivation rec {
pname = "nautilus";
- version = "41.0";
+ version = "41.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "+blBrcEEcAxn6kB2YiMV8fa3fc7BVMN/PUwLKDlQoeU=";
+ sha256 = "PmMwmIU3EaPpaxL+kiizIBgW5VSygj8WHn2QGoiAWC8=";
};
patches = [
diff --git a/pkgs/desktops/gnome/games/aisleriot/default.nix b/pkgs/desktops/gnome/games/aisleriot/default.nix
index 18bfea263f94..991bbb786b11 100644
--- a/pkgs/desktops/gnome/games/aisleriot/default.nix
+++ b/pkgs/desktops/gnome/games/aisleriot/default.nix
@@ -19,14 +19,14 @@
stdenv.mkDerivation rec {
pname = "aisleriot";
- version = "3.22.17";
+ version = "3.22.19";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = pname;
rev = version;
- sha256 = "sha256-14z/EdEz1XFDrQZlpoeHW73G187XuZX/uQXp+bAUsmI=";
+ sha256 = "sha256-YY0/HkafcbbW0xuE9RmjYMHN50lM0o0zugOyTefT0bE=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/games/gnome-chess/default.nix b/pkgs/desktops/gnome/games/gnome-chess/default.nix
index a2dbd9257a2d..e47e77d9c0ab 100644
--- a/pkgs/desktops/gnome/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-chess/default.nix
@@ -19,11 +19,11 @@
stdenv.mkDerivation rec {
pname = "gnome-chess";
- version = "41.0";
+ version = "41.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "8MKVFSLw5YX6aDdipBk9q2ujLtjOiSB/gIJ7VgRVaO8=";
+ sha256 = "62GYhlljlrQDOj8oo8LjAEtU6+Gzi0DWQiwXufLMF9A=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix
index a818d8c115c3..a940a6f2cd63 100644
--- a/pkgs/desktops/gnome/games/tali/default.nix
+++ b/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
stdenv.mkDerivation rec {
pname = "tali";
- version = "40.3";
+ version = "40.4";
src = fetchurl {
url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "neLxCreZjHprLKYvs3nBgby8HtYqp6gkG8VVHVF4/iE=";
+ sha256 = "AsrMdvTuQjD2eqAK2hlOnFSPidJ6DnLyANi9U67nGhc=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
index e8bfaffb45e8..526e6776f7f2 100644
--- a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
@@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchurl
-, fetchpatch
, meson
, ninja
, pkg-config
@@ -15,28 +14,15 @@
stdenv.mkDerivation rec {
pname = "gnome-autoar";
- version = "0.4.0";
+ version = "0.4.1";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "6oxtUkurxxKsWeHQ46yL8BN0gtrfM8lP6RE3lKG8RHQ=";
+ sha256 = "ZGvVDrrZLZHBvokJehU2QVYVdELKwUcd7X7LJ9mpFQ4=";
};
- patches = [
- # Make compatible with older Meson.
- # https://gitlab.gnome.org/GNOME/gnome-autoar/-/merge_requests/26
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-autoar/-/commit/2d90da6174c03aad546802234a3d77fa0b714e6b.patch";
- sha256 = "CysDpBJmVPm4gOSV2h041MY2yApfAy8+4QC7Jlka1xE=";
- })
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-autoar/-/commit/ac21bd0c50584a1905a0da65d4bf9a6926ecd483.patch";
- sha256 = "aTu6eKFSKjljk0TYkhFjPcD8eJCIk8TR0YhZYO9JE1k=";
- })
- ];
-
nativeBuildInputs = [
gobject-introspection
meson
diff --git a/pkgs/desktops/gnome/misc/libgnome-games-support/default.nix b/pkgs/desktops/gnome/misc/libgnome-games-support/default.nix
index dd65f858b6de..46de584d5b1e 100644
--- a/pkgs/desktops/gnome/misc/libgnome-games-support/default.nix
+++ b/pkgs/desktops/gnome/misc/libgnome-games-support/default.nix
@@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "libgnome-games-support";
- version = "1.8.1";
+ version = "1.8.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0gs1k88wwafn5cdyb5yq1cxpi9azachb0ysxgwh15sx77g6plyy3";
+ sha256 = "KENGBKewOHMawCMXMTiP8QT1ZbsjMMwk54zaBM/T730=";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index bee7f513608e..c5653ddc9fb1 100644
--- a/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -17,11 +17,11 @@
mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
- version = "0.9.4";
+ version = "0.9.5";
rev-prefix = "";
odd-unstable = false;
- sha256 = "sha256-ZDrBLSfRBw5/nIs/x1jJQCVgNJer85b8Hm1kkX1Dk3s=";
+ sha256 = "sha256-nb1zY78MUjEOJF59MYIOY1rxo3JFmzH9yTJVUGsOwOA=";
buildInputs = [
clutter
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index 0597c7585368..ede9fe0bed0b 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
disallowedReferences = [ stdenv.cc.cc ];
postFixup = ''
- remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/share/perl6/runtime/dynext/libperl6_ops_moar.so)"
+ remove-references-to -t ${stdenv.cc.cc} "$(readlink -f $out/share/perl6/runtime/dynext/libperl6_ops_moar${stdenv.hostPlatform.extensions.sharedLibrary})"
'';
meta = with lib; {
diff --git a/pkgs/development/libraries/dleyna-renderer/default.nix b/pkgs/development/libraries/dleyna-renderer/default.nix
index 4c2fb00857e4..6daade555317 100644
--- a/pkgs/development/libraries/dleyna-renderer/default.nix
+++ b/pkgs/development/libraries/dleyna-renderer/default.nix
@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "dleyna-renderer";
- version = "0.7.1";
+ version = "0.7.2";
src = fetchFromGitHub {
owner = "phako";
repo = pname;
rev = "v${version}";
- sha256 = "EaTE5teMkVDHoJuTLdqcsIL7OyM+tOz85T5D9V3KDoo=";
+ sha256 = "sha256-bGasT3XCa7QHV3D7z59TSHoqWksNSIgaO0z9zYfHHuw=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/dleyna-server/default.nix b/pkgs/development/libraries/dleyna-server/default.nix
index 559ac8666024..484afc7c417d 100644
--- a/pkgs/development/libraries/dleyna-server/default.nix
+++ b/pkgs/development/libraries/dleyna-server/default.nix
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "dleyna-server";
- version = "0.7.1";
+ version = "0.7.2";
src = fetchFromGitHub {
owner = "phako";
repo = pname;
rev = "v${version}";
- sha256 = "bScgwJGPrCaLrw67WnvSpINgq5Vv9LJ/I0MUP9BeO2E=";
+ sha256 = "sha256-jlF9Lr/NG+Fsy/bB7aLb7xOLqel8GueJK5luo9rsDME=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix
index 41ffdd16f5a9..ed65be9a2561 100644
--- a/pkgs/development/libraries/draco/default.nix
+++ b/pkgs/development/libraries/draco/default.nix
@@ -2,14 +2,14 @@
}:
stdenv.mkDerivation rec {
- version = "1.4.1";
+ version = "1.4.3";
pname = "draco";
src = fetchFromGitHub {
owner = "google";
repo = "draco";
rev = version;
- sha256 = "14ln4la52x38pf8syr7i5v4vd65ya4zij8zj5kgihah03cih0qcd";
+ sha256 = "sha256-eSu6tkWbRHzJkWwPgljaScAuL0gRkp8PJUHWC8mUvOw=";
};
nativeBuildInputs = [ cmake ];
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
"-DBUILD_UNITY_PLUGIN=1"
];
+ # Upstream mistakenly installs to /nix/store/.../nix/store/.../*, work around that
+ postInstall = ''
+ mv $out/nix/store/*/* $out
+ rm -rf $out/nix
+ '';
+
meta = with lib; {
description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
homepage = "https://google.github.io/draco/";
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
index f669d663379e..90bd4035ed6a 100644
--- a/pkgs/development/libraries/drogon/default.nix
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "drogon";
- version = "1.7.2";
+ version = "1.7.3";
src = fetchFromGitHub {
owner = "drogonframework";
repo = "drogon";
rev = "v${version}";
- sha256 = "0g2fm8xb2gi7qaib6mxvg6k6y4g2d0a2jg4k5qvsjbd0n7j8746j";
+ sha256 = "0j7bnc6l5hbcf0l7pjzw82i9z1rbh57ni60wpa50q10gwbm4waxn";
fetchSubmodules = true;
};
diff --git a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
index fd7d031ee0fe..84238bf6e5aa 100644
--- a/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
+++ b/pkgs/development/libraries/pipewire/0050-pipewire-pulse-path.patch
@@ -1,8 +1,8 @@
diff --git a/meson_options.txt b/meson_options.txt
-index 66791f3a..93b5e2a9 100644
+index 71c2e35e9..a0f380c04 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -172,6 +172,9 @@ option('udev',
+@@ -176,6 +176,9 @@ option('udev',
option('udevrulesdir',
type : 'string',
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
@@ -13,7 +13,7 @@ index 66791f3a..93b5e2a9 100644
type : 'string',
description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index aa30a86f..1edebb2d 100644
+index 5bd134537..5a3ca9ed5 100644
--- a/src/daemon/systemd/user/meson.build
+++ b/src/daemon/systemd/user/meson.build
@@ -9,7 +9,7 @@ install_data(
@@ -22,6 +22,6 @@ index aa30a86f..1edebb2d 100644
systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
-systemd_config.set('PW_PULSE_BINARY', pipewire_bindir / 'pipewire-pulse')
+systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
- systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
configure_file(input : 'pipewire.service.in',
+ output : 'pipewire.service',
diff --git a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch b/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
deleted file mode 100644
index 8290aec5dfc4..000000000000
--- a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 93b5e2a9..1b915ac3 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -200,3 +200,6 @@ option('media-session',
- type: 'feature',
- value: 'auto')
-+option('media-session-prefix',
-+ description: 'Install directory for pipewire-media-session and its support files',
-+ type: 'string')
- option('session-managers',
-diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index 1edebb2d..251270eb 100644
---- a/src/daemon/systemd/user/meson.build
-+++ b/src/daemon/systemd/user/meson.build
-@@ -10,7 +10,7 @@ install_data(
- systemd_config = configuration_data()
- systemd_config.set('PW_BINARY', pipewire_bindir / 'pipewire')
- systemd_config.set('PW_PULSE_BINARY', get_option('pipewire_pulse_prefix') / 'bin/pipewire-pulse')
--systemd_config.set('PW_MEDIA_SESSION_BINARY', pipewire_bindir / 'pipewire-media-session')
-+systemd_config.set('PW_MEDIA_SESSION_BINARY', get_option('media-session-prefix') / 'bin/pipewire-media-session')
-
- configure_file(input : 'pipewire.service.in',
- output : 'pipewire.service',
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index a5ff1f6257a0..1f7a791471dd 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -63,7 +63,7 @@ let
self = stdenv.mkDerivation rec {
pname = "pipewire";
- version = "0.3.38";
+ version = "0.3.39";
outputs = [
"out"
@@ -73,7 +73,6 @@ let
"dev"
"doc"
"man"
- "mediaSession"
"installedTests"
];
@@ -82,7 +81,7 @@ let
owner = "pipewire";
repo = "pipewire";
rev = version;
- sha256 = "sha256-QENz4MVyKuPJynA+NBdmKa6g1GrcRg9vzXLJ1/i3VJU=";
+ sha256 = "sha256-peTS1+NuQxZg1rrv8DrnJW5BR9yReleqooIwhZWHLjM=";
};
patches = [
@@ -90,8 +89,6 @@ let
./0040-alsa-profiles-use-libdir.patch
# Change the path of the pipewire-pulse binary in the service definition.
./0050-pipewire-pulse-path.patch
- # Change the path of the pipewire-media-session binary in the service definition.
- ./0055-pipewire-media-session-path.patch
# Move installed tests into their own output.
./0070-installed-tests-path.patch
# Add option for changing the config install directory
@@ -100,11 +97,11 @@ let
./0090-pipewire-config-template-paths.patch
# Place SPA data files in lib output to avoid dependency cycles
./0095-spa-data-dir.patch
- # Fix compilation on AArch64
+ # Fix compilation on some architectures
# XXX: REMOVE ON NEXT RELEASE
(fetchpatch {
- url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.diff";
- sha256 = "0j4xds01h20mc606xp90h5v56kf17hf7n06k0xfa9qmmmfrh7i04";
+ url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/651f0decea5f83730c271e9bed03cdd0048fcd49.diff";
+ sha256 = "1bmpi5qn750mcspaw7m57ww0503sl9781jswqby4gr0f7c5wmqvj";
})
];
@@ -147,7 +144,6 @@ let
"-Dinstalled_tests=enabled"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Dpipewire_pulse_prefix=${placeholder "pulse"}"
- "-Dmedia-session-prefix=${placeholder "mediaSession"}"
"-Dlibjack-path=${placeholder "jack"}/lib"
"-Dlibcamera=${mesonEnable libcameraSupport}"
"-Droc=disabled"
@@ -162,7 +158,8 @@ let
"-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
"-Dsysconfdir=/etc"
"-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
- "-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
+ "-Dsession-managers="
+ "-Dvulkan=enabled"
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
@@ -171,29 +168,20 @@ let
postUnpack = ''
patchShebangs source/doc/strip-static.sh
+ patchShebangs source/doc/input-filter.sh
+ patchShebangs source/doc/input-filter-h.sh
patchShebangs source/spa/tests/gen-cpp-test.py
'';
postInstall = ''
- pushd $lib/share
- mkdir -p $out/nix-support/etc/pipewire
- for f in pipewire/*.conf; do
+ mkdir $out/nix-support
+ pushd $lib/share/pipewire
+ for f in *.conf; do
echo "Generating JSON from $f"
- $out/bin/spa-json-dump "$f" > "$out/nix-support/etc/$f.json"
- done
-
- mkdir -p $mediaSession/nix-support/etc/pipewire/media-session.d
- for f in pipewire/media-session.d/*.conf; do
- echo "Generating JSON from $f"
- $out/bin/spa-json-dump "$f" > "$mediaSession/nix-support/etc/$f.json"
+ $out/bin/spa-json-dump "$f" > "$out/nix-support/$f.json"
done
popd
- moveToOutput "share/pipewire/media-session.d/*.conf" "$mediaSession"
- moveToOutput "share/systemd/user/pipewire-media-session.*" "$mediaSession"
- moveToOutput "lib/systemd/user/pipewire-media-session.*" "$mediaSession"
- moveToOutput "bin/pipewire-media-session" "$mediaSession"
-
moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
moveToOutput "bin/pipewire-pulse" "$pulse"
@@ -205,21 +193,14 @@ let
installedTests = nixosTests.installed-tests.pipewire;
# This ensures that all the paths used by the NixOS module are found.
- test-paths = callPackage ./test-paths.nix {
+ test-paths = callPackage ./test-paths.nix { package = self; } {
paths-out = [
"share/alsa/alsa.conf.d/50-pipewire.conf"
- "nix-support/etc/pipewire/client-rt.conf.json"
- "nix-support/etc/pipewire/client.conf.json"
- "nix-support/etc/pipewire/jack.conf.json"
- "nix-support/etc/pipewire/pipewire.conf.json"
- "nix-support/etc/pipewire/pipewire-pulse.conf.json"
- ];
- paths-out-media-session = [
- "nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
- "nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
- "nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
- "nix-support/etc/pipewire/media-session.d/media-session.conf.json"
- "nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
+ "nix-support/client-rt.conf.json"
+ "nix-support/client.conf.json"
+ "nix-support/jack.conf.json"
+ "nix-support/pipewire.conf.json"
+ "nix-support/pipewire-pulse.conf.json"
];
paths-lib = [
"lib/alsa-lib/libasound_module_pcm_pipewire.so"
diff --git a/pkgs/development/libraries/pipewire/media-session.nix b/pkgs/development/libraries/pipewire/media-session.nix
new file mode 100644
index 000000000000..37daffe5c88a
--- /dev/null
+++ b/pkgs/development/libraries/pipewire/media-session.nix
@@ -0,0 +1,93 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, doxygen
+, graphviz
+, systemd
+, pipewire
+, glib
+, dbus
+, alsa-lib
+, callPackage
+}:
+
+let
+ mesonEnable = b: if b then "enabled" else "disabled";
+ mesonList = l: "[" + lib.concatStringsSep "," l + "]";
+
+ self = stdenv.mkDerivation rec {
+ pname = "pipewire-media-session";
+ version = "0.4.0";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "pipewire";
+ repo = "media-session";
+ rev = version;
+ sha256 = "sha256-zhOvBlG7DuQkJ+ZZBhBhfKwk+bbLljpt3w4JlK3cJLk=";
+ };
+
+ nativeBuildInputs = [
+ doxygen
+ graphviz
+ meson
+ ninja
+ pkg-config
+ ];
+
+ buildInputs = [
+ alsa-lib
+ dbus
+ glib
+ pipewire
+ systemd
+ ];
+
+ mesonFlags = [
+ "-Ddocs=enabled"
+ # We generate these empty files from the nixos module, don't bother installing them
+ "-Dwith-module-sets=[]"
+ ];
+
+ postUnpack = ''
+ patchShebangs source/doc/input-filter-h.sh
+ patchShebangs source/doc/input-filter.sh
+ '';
+
+ postInstall = ''
+ mkdir $out/nix-support
+ cd $out/share/pipewire/media-session.d
+ for f in *.conf; do
+ echo "Generating JSON from $f"
+ ${pipewire}/bin/spa-json-dump "$f" > "$out/nix-support/$f.json"
+ done
+ '';
+
+ passthru = {
+ tests = {
+ test-paths = callPackage ./test-paths.nix { package = self; } {
+ paths-out = [
+ "nix-support/alsa-monitor.conf.json"
+ "nix-support/bluez-monitor.conf.json"
+ "nix-support/media-session.conf.json"
+ "nix-support/v4l2-monitor.conf.json"
+ ];
+ paths-lib = [];
+ };
+ };
+ };
+
+ meta = with lib; {
+ description = "Example session manager for PipeWire";
+ homepage = "https://pipewire.org";
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ jtojnar kranzes ];
+ };
+ };
+
+in
+self
diff --git a/pkgs/development/libraries/pipewire/test-paths.nix b/pkgs/development/libraries/pipewire/test-paths.nix
index 939b79686e3f..1e3e5fef3a6e 100644
--- a/pkgs/development/libraries/pipewire/test-paths.nix
+++ b/pkgs/development/libraries/pipewire/test-paths.nix
@@ -1,4 +1,4 @@
-{ lib, runCommand, pipewire, paths-out, paths-lib, paths-out-media-session }:
+{ lib, runCommand, package, paths-out, paths-lib }:
let
check-path = output: path: ''
@@ -14,9 +14,8 @@ let
in runCommand "pipewire-test-paths" { } ''
touch $out
- ${check-output pipewire.mediaSession paths-out-media-session}
- ${check-output pipewire.lib paths-lib}
- ${check-output pipewire paths-out}
+ ${check-output package.lib paths-lib}
+ ${check-output package paths-out}
if [[ -n "$error" ]]; then
exit 1
diff --git a/pkgs/development/libraries/pipewire/update.sh b/pkgs/development/libraries/pipewire/update.sh
index 6d0088c206cb..9fc466276672 100755
--- a/pkgs/development/libraries/pipewire/update.sh
+++ b/pkgs/development/libraries/pipewire/update.sh
@@ -11,14 +11,27 @@ NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"
cd "$NIXPKGS_ROOT"
nix-update pipewire
-outputs=$(nix-build . -A pipewire -A pipewire.mediaSession)
+outputs=$(nix-build . -A pipewire)
for p in $outputs; do
- conf_files=$(find "$p/nix-support/etc/pipewire/" -name '*.conf.json')
+ conf_files=$(find "$p/nix-support/" -name '*.conf.json')
for c in $conf_files; do
file_name=$(basename "$c")
- if [[ ! -e "nixos/modules/services/desktops/pipewire/$file_name" ]]; then
+ if [[ ! -e "nixos/modules/services/desktops/pipewire/daemon/$file_name" ]]; then
echo "New file $file_name found! Add it to the module config and passthru tests!"
fi
- install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/"
+ install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/daemon/"
+ done
+done
+
+nix-update pipewire-media-session
+outputs=$(nix-build . -A pipewire-media-session)
+for p in $outputs; do
+ conf_files=$(find "$p/nix-support/" -name '*.conf.json')
+ for c in $conf_files; do
+ file_name=$(basename "$c")
+ if [[ ! -e "nixos/modules/services/desktops/pipewire/media-session/$file_name" ]]; then
+ echo "New file $file_name found! Add it to the module config and passthru tests!"
+ fi
+ install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/media-session/"
done
done
diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix
index 9d464f7300ae..9a25acd3f9ea 100644
--- a/pkgs/development/libraries/spirv-headers/default.nix
+++ b/pkgs/development/libraries/spirv-headers/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "spirv-headers";
- version = "1.5.3";
+ version = "unstable-2021-08-11";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Headers";
- rev = version;
- sha256 = "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj";
+ rev = "e71feddb3f17c5586ff7f4cfb5ed1258b800574b";
+ sha256 = "sha256-9m0EBcgdya+KCNJHC3x+YV2sXoSNToTcgDkpeKzId6U=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 35ccf68808c3..fc96cde9a1a5 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "aenum";
- version = "3.1.0";
+ version = "3.1.1";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-h/Dp70+ChXirBq8w5NeUQEO/Ts0/S3vRy+N+IXPN6Uo=";
+ sha256 = "75b96aa148e1335eae6c12015563989a675fcbd0bcbd0ae7ce5786329278929b";
};
checkInputs = [
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index e0ce3b3ed11b..8d31fccc5647 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "aiounifi";
- version = "28";
+ version = "29";
disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Kane610";
repo = pname;
rev = "v${version}";
- sha256 = "1r86pk80sa1la2s7c6v9svh5cpkci6jcw1xziz0h09jdvv5j5iff";
+ sha256 = "sha256-A2+jLxKpha7HV1m3uzy00o8tsjwx0Uuwn5x3DO9daTI=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrcli/default.nix b/pkgs/development/python-modules/angrcli/default.nix
new file mode 100644
index 000000000000..612cfbec5d6d
--- /dev/null
+++ b/pkgs/development/python-modules/angrcli/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, angr
+, buildPythonPackage
+, cmd2
+, coreutils
+, fetchFromGitHub
+, pygments
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+ pname = "angrcli";
+ version = "1.1.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
+
+ src = fetchFromGitHub {
+ owner = "fmagin";
+ repo = "angr-cli";
+ rev = "v${version}";
+ sha256 = "0mz3yzsw08xwpj6188rxmr7darilh4ismcnh8nhp9945wjyzl4kr";
+ };
+
+ propagatedBuildInputs = [
+ angr
+ cmd2
+ pygments
+ ];
+
+ checkInputs = [
+ coreutils
+ pytestCheckHook
+ ];
+
+ postPatch = ''
+ # Version mismatch, https://github.com/fmagin/angr-cli/pull/11
+ substituteInPlace setup.py \
+ --replace "version='1.1.0'," "version='${version}',"
+ substituteInPlace tests/test_derefs.py \
+ --replace "/bin/ls" "${coreutils}/bin/ls"
+ '';
+
+ disabledTests = [
+ "test_sims"
+ ];
+
+ pythonImportsCheck = [
+ "angrcli"
+ ];
+
+ meta = with lib; {
+ description = "Python modules to allow easier interactive use of angr";
+ homepage = "https://github.com/fmagin/angr-cli";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/audiotools/default.nix b/pkgs/development/python-modules/audiotools/default.nix
index a470150b9582..d008498117b6 100644
--- a/pkgs/development/python-modules/audiotools/default.nix
+++ b/pkgs/development/python-modules/audiotools/default.nix
@@ -2,29 +2,32 @@
, buildPythonPackage
, fetchFromGitHub
, stdenv
-, darwin
+, AudioToolbox
+, AudioUnit
+, CoreServices
}:
buildPythonPackage rec {
pname = "audiotools";
version = "3.1.1";
- buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+ buildInputs = lib.optionals stdenv.isDarwin [
AudioToolbox
AudioUnit
CoreServices
- ]);
+ ];
src = fetchFromGitHub {
owner = "tuffy";
repo = "python-audio-tools";
- rev = "v3.1.1";
+ rev = "v${version}";
sha256 = "sha256-y+EiK9BktyTWowOiJvOb2YjtbPa7R62Wb5zinkyt1OM=";
};
- meta = {
+ meta = with lib; {
description = "Utilities and Python modules for handling audio";
homepage = "http://audiotools.sourceforge.net/";
- license = lib.licenses.gpl2Plus;
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/base58/default.nix b/pkgs/development/python-modules/base58/default.nix
index 1437683941bb..6fe7a111b5d4 100644
--- a/pkgs/development/python-modules/base58/default.nix
+++ b/pkgs/development/python-modules/base58/default.nix
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "base58";
- version = "2.1.0";
+ version = "2.1.1";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-FxpUe0o8YeGuOAciSm967HXjZMQ5XnViZJ1zNXaAAaI=";
+ sha256 = "c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c";
};
checkInputs = [
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index afb9a8fc46cf..25a6e561789a 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "django-storages";
- version = "1.12.2";
+ version = "1.12.3";
src = fetchPypi {
inherit pname version;
- sha256 = "0013ebe4904521e2fa28f33591a03a7210304d73363e7eadd7cdcf81c12ba003";
+ sha256 = "a475edb2f0f04c4f7e548919a751ecd50117270833956ed5bd585c0575d2a5e7";
};
propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/flask-paginate/default.nix b/pkgs/development/python-modules/flask-paginate/default.nix
index 0926c9116d8a..db3a209d4d01 100644
--- a/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/pkgs/development/python-modules/flask-paginate/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "flask-paginate";
- version = "2021.10.26";
+ version = "2021.10.29";
src = fetchPypi {
inherit pname version;
- sha256 = "f124390664b2cfd835c54cc884d67fdaa550782a0783576f719fec2379cad193";
+ sha256 = "660ba1451e4cb168d3a42ed63914fe507bb5c0b30c26a6286b923077bba2362b";
};
propagatedBuildInputs = [ flask ];
diff --git a/pkgs/development/python-modules/flask-talisman/default.nix b/pkgs/development/python-modules/flask-talisman/default.nix
new file mode 100644
index 000000000000..b57d58824705
--- /dev/null
+++ b/pkgs/development/python-modules/flask-talisman/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, six
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+ pname = "flask-talisman";
+ version = "0.8.1";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "11gjgqkpj2yqydb0pfhjyx56iy4l9szgz33vg5d7bw8vqp02wl2x";
+ };
+
+ buildInputs = [
+ flask
+ ];
+
+ propagatedBuildInputs = [
+ six
+ ];
+
+ nativeBuildInputs = [
+ pytestCheckHook
+ ];
+
+ meta = with lib; {
+ description = "HTTP security headers for Flask";
+ homepage = "https://github.com/wntrblm/flask-talisman";
+ license = licenses.asl20;
+ maintainers = [ lib.maintainers.symphorien ];
+ };
+}
diff --git a/pkgs/development/python-modules/google-cloud-audit-log/default.nix b/pkgs/development/python-modules/google-cloud-audit-log/default.nix
index 88e2378aaf74..fabd8dad68e2 100644
--- a/pkgs/development/python-modules/google-cloud-audit-log/default.nix
+++ b/pkgs/development/python-modules/google-cloud-audit-log/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "google-cloud-audit-log";
- version = "0.1.1";
+ version = "0.2.0";
src = fetchPypi {
inherit pname version;
- sha256 = "a87fdf3c393b830b35c8f7db09094790d0d7babb35068736bea64e1618d286fe";
+ sha256 = "d0852f525ad65705f9fbff6288be4493e1449a7906fb5e01bd71c8d1e424d1fc";
};
propagatedBuildInputs = [ googleapis-common-protos protobuf ];
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index 1ea514ef9ecd..d43e9b45dfdf 100644
--- a/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-dataproc";
- version = "3.0.0";
+ version = "3.1.0";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-a81HBeNoLXSpJJJ0BBqJz24ls0TFMwiHJgkkNyHZGvo=";
+ sha256 = "c2cf9be1c8f7cb7b4b58323aff98730e89fa462f4801bf70ae984933fa8a92d1";
};
propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix
index 8b9f98a1b3f6..eaeefc6a1606 100644
--- a/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "google-cloud-os-config";
- version = "1.6.0";
+ version = "1.7.0";
src = fetchPypi {
inherit pname version;
- sha256 = "204ecbe480e5e5abc17752ac2ac17877e0325f31ed7e57f019724c3041ecc1fa";
+ sha256 = "d9eed9290f6601682524ab7ce40c0805432e9aeb39268a6891bc631f367158f0";
};
propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
index 6a6d844e1072..40b8286a2757 100644
--- a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-resource-manager";
- version = "1.2.0";
+ version = "1.3.0";
src = fetchPypi {
inherit pname version;
- sha256 = "7f519bdf1ed5bfedc4bdcd237c5d3cfa50ef37dd92cf14db123ff80ac99950e0";
+ sha256 = "fa2d8af734676145f816bd123265220a3d144b7780231dd612f6b906e07f97c3";
};
propagatedBuildInputs = [ google-api-core google-cloud-core grpc-google-iam-v1 proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 45999fb332bb..1495dbda6e9a 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "google-cloud-tasks";
- version = "2.6.0";
+ version = "2.7.0";
src = fetchPypi {
inherit pname version;
- sha256 = "fd9fe318063ec0f7e4e1780aca81a798d3e90e8def1c24b6f450ea1a8c131c0a";
+ sha256 = "8d770a0f0d1297868af20bd73182a11a7318c6543defb98cc9b0a4e550fb08d0";
};
propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 9adb5df95974..7245a03f3bf7 100644
--- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-texttospeech";
- version = "2.6.0";
+ version = "2.7.0";
src = fetchPypi {
inherit pname version;
- sha256 = "d24dec1ee71bb63a7f6805b2d78923b2325de59407b4688978b7769bbafc3eb8";
+ sha256 = "50c49005c7a807950eed730faa386fcef1dc6f5c4c351c6d6470fd211f23f973";
};
propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
index 8ee2f6f43d41..4a2c6bcf88b7 100644
--- a/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "google-cloud-trace";
- version = "1.4.0";
+ version = "1.5.0";
src = fetchPypi {
inherit pname version;
- sha256 = "5955faf99478b4e3c2b2550949e94ec8e2915979e8ef5549044d2d91ced03716";
+ sha256 = "bae81c127520af3c03183822e9a3c30aa90b030f2b8e66f64485abf7f2af8ff9";
};
propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index e405c43e90f2..da8568c5f198 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-videointelligence";
- version = "2.4.0";
+ version = "2.5.0";
src = fetchPypi {
inherit pname version;
- sha256 = "92dd4f1e87b02ab414ad744eefa321e079358527cb8c352e1054ae1dab5f1055";
+ sha256 = "535773e58f731597f24b88cee51ece1a1528ae4106ce2ea2be9ac8274115a73f";
};
propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index e6b88e727fa5..61bccf59dc03 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-vision";
- version = "2.5.0";
+ version = "2.6.1";
src = fetchPypi {
inherit pname version;
- sha256 = "e56e35fa647d794429c6fc1595b2ebf5f4d627f0b3d6499a000b54be343ea37e";
+ sha256 = "028ac69d380fb08425174825a2310c04cc14102fdbafe9be02c083c7d920f13f";
};
propagatedBuildInputs = [ libcst google-api-core proto-plus];
diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix
index ad5cc9922c06..0b10fbab29b5 100644
--- a/pkgs/development/python-modules/google-resumable-media/default.nix
+++ b/pkgs/development/python-modules/google-resumable-media/default.nix
@@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "google-resumable-media";
- version = "2.0.3";
+ version = "2.1.0";
src = fetchPypi {
inherit pname version;
- sha256 = "b4b4709d04a6a03cbec746c2b5cb18f1f9878bf1ef3cd61908842a3d94c20471";
+ sha256 = "725b989e0dd387ef2703d1cc8e86217474217f4549593c477fd94f4024a0f911";
};
propagatedBuildInputs = [ google-auth google-crc32c requests ];
diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix
index fc1cb34d32c6..5d768170d806 100644
--- a/pkgs/development/python-modules/ihatemoney/default.nix
+++ b/pkgs/development/python-modules/ihatemoney/default.nix
@@ -1,14 +1,13 @@
{ buildPythonPackage
, lib
-, fetchFromGitHub
, isPy27
, nixosTests
-, fetchpatch
, fetchPypi
, alembic
, aniso8601
, Babel
, blinker
+, cachetools
, click
, dnspython
, email_validator
@@ -19,6 +18,7 @@
, flask_migrate
, flask-restful
, flask_sqlalchemy
+, flask-talisman
, flask_wtf
, debts
, idna
@@ -28,6 +28,7 @@
, markupsafe
, python-dateutil
, pytz
+, requests
, six
, sqlalchemy
, sqlalchemy-utils
@@ -43,17 +44,6 @@
# ihatemoney is not really a library. It will only ever be imported
# by the interpreter of uwsgi. So overrides for its depencies are fine.
let
- # fixed in next release, but patches don't apply
- # https://github.com/spiral-project/ihatemoney/issues/567
- pinned_wtforms = wtforms.overridePythonAttrs (old: rec {
- pname = "WTForms";
- version = "2.2.1";
- src = fetchPypi {
- inherit pname version;
- sha256 = "0q9vkcq6jnnn618h27lx9sas6s9qlg2mv8ja6dn0hy38gwzarnqc";
- };
- });
-
# sqlalchemy-continuum requires sqlalchemy < 1.4
pinned_sqlalchemy = sqlalchemy.overridePythonAttrs (
old: rec {
@@ -70,43 +60,20 @@ in
buildPythonPackage rec {
pname = "ihatemoney";
- version = "4.2";
+ version = "5.1.1";
- src = fetchFromGitHub {
- owner = "spiral-project";
- repo = pname;
- rev = version;
- sha256 = "0d4vc6m0jkwlz9ly0hcjghccydvqbldh2jb8yzf94jrgkd5fd7k1";
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0gsqba9qbs1dpmfys8qpiahy4pbn4khcc6mgmdnhssmkjsb94sx6";
};
disabled = isPy27;
- patches = [
- # fix migration on postgresql
- # remove on next release
- (fetchpatch {
- url = "https://github.com/spiral-project/ihatemoney/commit/6129191b26784b895e203fa3eafb89cee7d88b71.patch";
- sha256 = "0yc24gsih9x3pnh2mhj4v5i71x02dq93a9jd2r8b1limhcl4p1sw";
- })
- (fetchpatch {
- name = "CVE-2020-15120.patch";
- url = "https://github.com/spiral-project/ihatemoney/commit/8d77cf5d5646e1d2d8ded13f0660638f57e98471.patch";
- sha256 = "0y855sk3qsbpq7slj876k2ifa1lccc2dccag98pkyaadpz5gbabv";
- })
- # backported from current master
- # remove dependency on flask-script, which removed support on some features ihm used to need
- ./remove_flask_script.patch
- ];
-
- postPatch = ''
- # remove draconian pinning
- sed -i 's/==.*$//' setup.cfg
- '';
-
propagatedBuildInputs = [
aniso8601
Babel
blinker
+ cachetools
click
dnspython
email_validator
@@ -125,7 +92,8 @@ buildPythonPackage rec {
}
)
flask-restful
- (flask_wtf.override { wtforms = pinned_wtforms; })
+ flask-talisman
+ flask_wtf
idna
itsdangerous
jinja2
@@ -133,6 +101,7 @@ buildPythonPackage rec {
markupsafe
python-dateutil
pytz
+ requests
six
(
(
@@ -158,7 +127,7 @@ buildPythonPackage rec {
)
)
werkzeug
- pinned_wtforms
+ wtforms
psycopg2
debts
];
@@ -168,10 +137,10 @@ buildPythonPackage rec {
pytestCheckHook
];
- pytestFlagsArray = [ "--pyargs ihatemoney.tests.tests" ];
disabledTests = [
"test_notifications" # requires running service.
"test_invite" # requires running service.
+ "test_invitation_email_failure" # requires dns resolution
];
passthru.tests = {
diff --git a/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch b/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch
deleted file mode 100644
index dac59680a09c..000000000000
--- a/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-commit 4d831ba2316d54f4916fb9d1160ec7a3856b47d4
-Author: Glandos
-Date: Sun Jun 6 14:30:52 2021 +0200
-
- remove usage of Flask-Script
-
- Use flask.cli instead with compatibility layer for existing commands,
- such as "runserver".
-
- cherry-pick from 74e222f1a1cbfc2fac102fefc1115e9d0a6586dc
-
-diff --git a/Makefile b/Makefile
-index a681709..90ab1bb 100644
---- a/Makefile
-+++ b/Makefile
-@@ -38,7 +38,7 @@ update: remove-install-stamp install ## Update the dependencies
- .PHONY: serve
- serve: install ## Run the ihatemoney server
- @echo 'Running ihatemoney on http://localhost:5000'
-- $(PYTHON) -m ihatemoney.manage runserver
-+ $(PYTHON) -m ihatemoney.manage run
-
- .PHONY: test
- test: install-dev ## Run the tests
-diff --git a/docs/installation.rst b/docs/installation.rst
-index 4994499..4df70a2 100644
---- a/docs/installation.rst
-+++ b/docs/installation.rst
-@@ -59,7 +59,7 @@ Test it
-
- Once installed, you can start a test server::
-
-- ihatemoney runserver
-+ ihatemoney run
-
- And point your browser at `http://localhost:5000 `_.
-
-diff --git a/ihatemoney/manage.py b/ihatemoney/manage.py
-index a192844..805a07f 100755
---- a/ihatemoney/manage.py
-+++ b/ihatemoney/manage.py
-@@ -5,8 +5,8 @@ import os
- import random
- import sys
-
--from flask_migrate import Migrate, MigrateCommand
--from flask_script import Command, Manager, Option
-+import click
-+from flask.cli import FlaskGroup
- from werkzeug.security import generate_password_hash
-
- from ihatemoney.models import Project, db
-@@ -14,31 +14,48 @@ from ihatemoney.run import create_app
- from ihatemoney.utils import create_jinja_env
-
-
--class GeneratePasswordHash(Command):
-+@click.group(cls=FlaskGroup, create_app=create_app)
-+def cli():
-+ """IHateMoney Management script"""
-
-- """Get password from user and hash it without printing it in clear text."""
-
-- def run(self):
-- password = getpass.getpass(prompt="Password: ")
-- print(generate_password_hash(password))
--
--
--class GenerateConfig(Command):
-- def get_options(self):
-- return [
-- Option(
-- "config_file",
-- choices=[
-- "ihatemoney.cfg",
-- "apache-vhost.conf",
-- "gunicorn.conf.py",
-- "supervisord.conf",
-- "nginx.conf",
-- ],
-- )
-+@cli.command(
-+ context_settings={"ignore_unknown_options": True, "allow_extra_args": True}
-+)
-+@click.pass_context
-+def runserver(ctx):
-+ """Deprecated, use the "run" command instead"""
-+ click.secho(
-+ '"runserver" is deprecated, please use the standard "run" flask command',
-+ fg="red",
-+ )
-+ run = cli.get_command(ctx, "run")
-+ ctx.forward(run)
-+
-+
-+@click.command(name="generate_password_hash")
-+def password_hash():
-+ """Get password from user and hash it without printing it in clear text."""
-+ password = getpass.getpass(prompt="Password: ")
-+ print(generate_password_hash(password))
-+
-+
-+@click.command()
-+@click.argument(
-+ "config_file",
-+ type=click.Choice(
-+ [
-+ "ihatemoney.cfg",
-+ "apache-vhost.conf",
-+ "gunicorn.conf.py",
-+ "supervisord.conf",
-+ "nginx.conf",
- ]
-+ ),
-+)
-+def generate_config(config_file):
-+ """Generate front-end server configuration"""
-
-- @staticmethod
- def gen_secret_key():
- return "".join(
- [
-@@ -49,59 +66,33 @@ class GenerateConfig(Command):
- ]
- )
-
-- def run(self, config_file):
-- env = create_jinja_env("conf-templates", strict_rendering=True)
-- template = env.get_template("%s.j2" % config_file)
-+ env = create_jinja_env("conf-templates", strict_rendering=True)
-+ template = env.get_template(f"{config_file}.j2")
-
-- bin_path = os.path.dirname(sys.executable)
-- pkg_path = os.path.abspath(os.path.dirname(__file__))
-+ bin_path = os.path.dirname(sys.executable)
-+ pkg_path = os.path.abspath(os.path.dirname(__file__))
-
-- print(
-- template.render(
-- pkg_path=pkg_path,
-- bin_path=bin_path,
-- sys_prefix=sys.prefix,
-- secret_key=self.gen_secret_key(),
-- )
-+ print(
-+ template.render(
-+ pkg_path=pkg_path,
-+ bin_path=bin_path,
-+ sys_prefix=sys.prefix,
-+ secret_key=gen_secret_key(),
- )
--
--
--class DeleteProject(Command):
-- def run(self, project_name):
-- demo_project = Project.query.get(project_name)
-- db.session.delete(demo_project)
-+ )
-+
-+
-+@cli.command()
-+@click.argument("project_name")
-+def delete_project(project_name):
-+ """Delete a project"""
-+ project = Project.query.get(project_name)
-+ if project is None:
-+ click.secho(f'Project "{project_name}" not found', fg="red")
-+ else:
-+ db.session.delete(project)
- db.session.commit()
-
-
--def main():
-- QUIET_COMMANDS = ("generate_password_hash", "generate-config")
--
-- exception = None
-- backup_stderr = sys.stderr
-- # Hack to divert stderr for commands generating content to stdout
-- # to avoid confusing the user
-- if len(sys.argv) > 1 and sys.argv[1] in QUIET_COMMANDS:
-- sys.stderr = open(os.devnull, "w")
--
-- try:
-- app = create_app()
-- Migrate(app, db)
-- except Exception as e:
-- exception = e
--
-- # Restore stderr
-- sys.stderr = backup_stderr
--
-- if exception:
-- raise exception
--
-- manager = Manager(app)
-- manager.add_command("db", MigrateCommand)
-- manager.add_command("generate_password_hash", GeneratePasswordHash)
-- manager.add_command("generate-config", GenerateConfig)
-- manager.add_command("delete-project", DeleteProject)
-- manager.run()
--
--
- if __name__ == "__main__":
-- main()
-+ cli()
-diff --git a/ihatemoney/tests/tests.py b/ihatemoney/tests/tests.py
-index b27fafc..23f19a6 100644
---- a/ihatemoney/tests/tests.py
-+++ b/ihatemoney/tests/tests.py
-@@ -15,7 +15,7 @@ from sqlalchemy import orm
- from werkzeug.security import check_password_hash, generate_password_hash
-
- from ihatemoney import history, models, utils
--from ihatemoney.manage import DeleteProject, GenerateConfig, GeneratePasswordHash
-+from ihatemoney.manage import delete_project, generate_config, password_hash
- from ihatemoney.run import create_app, db, load_configuration
- from ihatemoney.versioning import LoggingMode
-
-@@ -2157,28 +2157,24 @@ class CommandTestCase(BaseTestCase):
- - raise no exception
- - produce something non-empty
- """
-- cmd = GenerateConfig()
-- for config_file in cmd.get_options()[0].kwargs["choices"]:
-- with patch("sys.stdout", new=io.StringIO()) as stdout:
-- cmd.run(config_file)
-- print(stdout.getvalue())
-- self.assertNotEqual(len(stdout.getvalue().strip()), 0)
-+ runner = self.app.test_cli_runner()
-+ for config_file in generate_config.params[0].type.choices:
-+ result = runner.invoke(generate_config, config_file)
-+ self.assertNotEqual(len(result.output.strip()), 0)
-
- def test_generate_password_hash(self):
-- cmd = GeneratePasswordHash()
-- with patch("sys.stdout", new=io.StringIO()) as stdout, patch(
-- "getpass.getpass", new=lambda prompt: "secret"
-- ): # NOQA
-- cmd.run()
-- print(stdout.getvalue())
-- self.assertEqual(len(stdout.getvalue().strip()), 189)
-+ runner = self.app.test_cli_runner()
-+ with patch("getpass.getpass", new=lambda prompt: "secret"):
-+ result = runner.invoke(password_hash)
-+ print(result.output.strip())
-+ self.assertEqual(len(result.output.strip()), 102)
-
- def test_demo_project_deletion(self):
- self.create_project("demo")
- self.assertEquals(models.Project.query.get("demo").name, "demo")
-
-- cmd = DeleteProject()
-- cmd.run("demo")
-+ runner = self.app.test_cli_runner()
-+ runner.invoke(delete_project, "demo")
-
- self.assertEqual(len(models.Project.query.all()), 0)
-
-diff --git a/setup.cfg b/setup.cfg
-index d493717..48e447c 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -31,7 +31,6 @@ install_requires =
- Flask-Mail==0.9.1
- Flask-Migrate==2.5.3
- Flask-RESTful==0.3.8
-- Flask-Script==2.0.6
- Flask-SQLAlchemy==2.4.1
- Flask-WTF==0.14.3
- WTForms==2.2.1
-@@ -51,8 +50,12 @@ dev =
- zest.releaser==6.20.1
-
- [options.entry_points]
-+flask.commands =
-+ generate_password_hash = ihatemoney.manage:password_hash
-+ generate-config = ihatemoney.manage:generate_config
-+
- console_scripts =
-- ihatemoney = ihatemoney.manage:main
-+ ihatemoney = ihatemoney.manage:cli
-
- paste.app_factory =
- main = ihatemoney.run:main
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index 1c4106babe28..82c49cae8bfc 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "impacket";
- version = "0.9.23";
+ version = "0.9.24";
src = fetchPypi {
inherit pname version;
- sha256 = "1c1be8a50cdbe3cffc566ba64f552b1b28bcc79b7a406b833956b49c56d77184";
+ sha256 = "18d557d387f4914fafa739813b9172bc3f8bd9c036e93bf589a8e0ebb7304bba";
};
propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet setuptools ];
diff --git a/pkgs/development/python-modules/importlib-resources/default.nix b/pkgs/development/python-modules/importlib-resources/default.nix
index ca361f5b1191..fda4fb00bfaf 100644
--- a/pkgs/development/python-modules/importlib-resources/default.nix
+++ b/pkgs/development/python-modules/importlib-resources/default.nix
@@ -11,25 +11,34 @@
buildPythonPackage rec {
pname = "importlib-resources";
- version = "5.2.2";
+ version = "5.4.0";
src = fetchPypi {
pname = "importlib_resources";
inherit version;
- sha256 = "sha256-pliCpND+X79wInNFa6LOdP5EiSwl5C4FespSa3AqbUs=";
+ sha256 = "sha256-11bi+F3U3iuom+CyHboqO77C6HGkKjoWcZJYoR+HUGs=";
};
- nativeBuildInputs = [ setuptools-scm ];
+ nativeBuildInputs = [
+ setuptools-scm
+ ];
+
propagatedBuildInputs = [
importlib-metadata
- ] ++ lib.optional (pythonOlder "3.4") singledispatch
- ++ lib.optional (pythonOlder "3.5") typing
- ;
+ ] ++ lib.optional (pythonOlder "3.4") [
+ singledispatch
+ ] ++ lib.optional (pythonOlder "3.5") [
+ typing
+ ];
checkPhase = ''
${python.interpreter} -m unittest discover
'';
+ pythonImportsCheck = [
+ "importlib_resources"
+ ];
+
meta = with lib; {
description = "Read resources from Python packages";
homepage = "https://importlib-resources.readthedocs.io/";
diff --git a/pkgs/development/python-modules/iso3166/default.nix b/pkgs/development/python-modules/iso3166/default.nix
index 1fc5f695831c..c03acde33118 100644
--- a/pkgs/development/python-modules/iso3166/default.nix
+++ b/pkgs/development/python-modules/iso3166/default.nix
@@ -2,16 +2,20 @@
, fetchFromGitHub
, buildPythonPackage
, pytestCheckHook
+, pythonOlder
}:
buildPythonPackage rec {
pname = "iso3166";
- version = "1.0.1";
+ version = "2.0.2";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "deactivated";
repo = "python-iso3166";
- rev = "v${version}";
+ rev = version;
sha256 = "0zs9za9dr2nl5srxir08yibmp6nffcapmzala0fgh8ny7y6rafrx";
};
@@ -19,11 +23,13 @@ buildPythonPackage rec {
pytestCheckHook
];
- pythonImportsCheck = [ "iso3166" ];
+ pythonImportsCheck = [
+ "iso3166"
+ ];
meta = with lib; {
- homepage = "https://github.com/deactivated/python-iso3166";
description = "Self-contained ISO 3166-1 country definitions";
+ homepage = "https://github.com/deactivated/python-iso3166";
license = licenses.mit;
maintainers = with maintainers; [ zraexy ];
};
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 7a4873a00e04..93fd8d516051 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "jc";
- version = "1.17.0";
+ version = "1.17.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "kellyjonbrazil";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-8GTRBoZuA/fsfVxCBpvNefWHuWLvN/L/BT31OFpslxA=";
+ sha256 = "sha256-ISggj6oOF0B7TKIQAlZtauRrDAWP88OOFezLJK6edjI=";
};
propagatedBuildInputs = [ ruamel_yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 5d2a8dd38a78..5b251f842bff 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "libtmux";
- version = "0.10.1";
+ version = "0.10.2";
src = fetchPypi {
inherit pname version;
- sha256 = "c8bc81499616ba899538704e419463a1c83ba7ca21e53b1efc6abbe98eb26b61";
+ sha256 = "a0e958b85ec14cdaabecfa738a0dd51846f05e5c5e9d6749a2bf5160b9f7e1d2";
};
checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/livestreamer-curses/default.nix b/pkgs/development/python-modules/livestreamer-curses/default.nix
index 9fd889592ea0..53cb71a123b5 100644
--- a/pkgs/development/python-modules/livestreamer-curses/default.nix
+++ b/pkgs/development/python-modules/livestreamer-curses/default.nix
@@ -6,14 +6,14 @@
}:
buildPythonPackage rec {
- version = "1.5.2";
pname = "livestreamer-curses";
+ version = "1.5.2";
disabled = isPyPy;
src = fetchFromGitHub {
owner = "gapato";
repo = "livestreamer-curses";
- rev = "v1.5.2";
+ rev = "v${version}";
sha256 = "sha256-Pi0PIOUhMMAWft9ackB04IgF6DyPrXppNqyVjozIjN4=";
};
@@ -23,6 +23,6 @@ buildPythonPackage rec {
homepage = "https://github.com/gapato/livestreamer-curses";
description = "Curses frontend for livestreamer";
license = licenses.mit;
+ maintainers = with maintainers; [ ];
};
-
}
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
index 03ab7ebd8327..66f2540bfc30 100644
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ b/pkgs/development/python-modules/livestreamer/default.nix
@@ -1,42 +1,37 @@
{ lib
, buildPythonPackage
-, pkgs
, fetchFromGitHub
, isPyPy
+, makeWrapper
+, rtmpdump
, pycrypto
, requests
-, singledispatch ? null
-, futures ? null
, isPy27
}:
buildPythonPackage rec {
- version = "1.12.2";
pname = "livestreamer";
+ version = "1.12.2";
disabled = isPyPy;
src = fetchFromGitHub {
owner = "chrippa";
repo = "livestreamer";
- rev = "v1.12.2";
+ rev = "v${version}";
sha256 = "sha256-PqqyBh+oMmu7Ynly3fqx/+6mQYX+6SpI0Okj2O+YLz0=";
};
- nativeBuildInputs = [ pkgs.makeWrapper ];
+ nativeBuildInputs = [ makeWrapper ];
- propagatedBuildInputs = [ pkgs.rtmpdump pycrypto requests ]
- ++ lib.optionals isPy27 [ singledispatch futures ];
+ propagatedBuildInputs = [ rtmpdump pycrypto requests ];
postInstall = ''
- wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
+ wrapProgram $out/bin/livestreamer --prefix PATH : ${lib.makeBinPath [ rtmpdump ]}
'';
meta = with lib; {
homepage = "http://livestreamer.tanuki.se";
- description = ''
- Livestreamer is CLI program that extracts streams from various
- services and pipes them into a video player of choice.
- '';
+ description = "Livestreamer is CLI program that extracts streams from various services and pipes them into a video player of choice";
license = licenses.bsd2;
maintainers = with maintainers; [ ];
};
diff --git a/pkgs/development/python-modules/netcdf4/default.nix b/pkgs/development/python-modules/netcdf4/default.nix
index 5285db9e71ae..23f2b88a8591 100644
--- a/pkgs/development/python-modules/netcdf4/default.nix
+++ b/pkgs/development/python-modules/netcdf4/default.nix
@@ -3,13 +3,13 @@
}:
buildPythonPackage rec {
pname = "netCDF4";
- version = "1.5.7";
+ version = "1.5.8";
disabled = isPyPy;
src = fetchPypi {
inherit pname version;
- sha256 = "d145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594";
+ sha256 = "ca3d468f4812c0999df86e3f428851fb0c17ac34ce0827115c246b0b690e4e84";
};
checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pep257/default.nix b/pkgs/development/python-modules/pep257/default.nix
index e2bcd8e90b44..c168e087fc5c 100644
--- a/pkgs/development/python-modules/pep257/default.nix
+++ b/pkgs/development/python-modules/pep257/default.nix
@@ -1,4 +1,5 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest, mock }:
+{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, mock }:
+
buildPythonPackage rec {
pname = "pep257";
version = "0.7.0";
@@ -6,20 +7,17 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "GreenSteam";
repo = "pep257";
- rev = "0.7.0";
+ rev = version;
sha256 = "sha256-RkE9kkNkRTmZ8zJVwQzMsxU1hcjlxX6UA+ehnareynQ=";
};
- checkInputs = [ pytest mock ];
-
- checkPhase = ''
- py.test
- '';
+ checkInputs = [ pytestCheckHook mock ];
meta = with lib; {
homepage = "https://github.com/GreenSteam/pep257/";
description = "Python docstring style checker";
longDescription = "Static analysis tool for checking compliance with Python PEP 257.";
license = licenses.mit;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix
index 5896de49eeb7..24c73a152d76 100644
--- a/pkgs/development/python-modules/pycangjie/default.nix
+++ b/pkgs/development/python-modules/pycangjie/default.nix
@@ -11,22 +11,18 @@
, cython
}:
-let
- rev = "361bb413203fd43bab624d98edf6f7d20ce6bfd3";
-in
buildPythonPackage {
pname = "pycangjie";
- version = "1.3_rev_${rev}";
+ version = "unstable-2015-05-03";
format = "other";
src = fetchFromGitHub {
owner = "Cangjians";
repo = "pycangjie";
- inherit rev;
+ rev = "361bb413203fd43bab624d98edf6f7d20ce6bfd3";
sha256 = "sha256-sS0Demzm89WtEIN4Efz0OTsUQ/c3gIX+/koekQGOca4=";
};
-
nativeBuildInputs = [ pkg-config libtool autoconf automake cython ];
buildInputs = [ libcangjie sqlite ];
diff --git a/pkgs/development/python-modules/pyspotify/default.nix b/pkgs/development/python-modules/pyspotify/default.nix
index 80865d77ff78..ae7e7468db95 100644
--- a/pkgs/development/python-modules/pyspotify/default.nix
+++ b/pkgs/development/python-modules/pyspotify/default.nix
@@ -3,7 +3,7 @@
, buildPythonPackage
, fetchFromGitHub
, cffi
-, pkgs
+, libspotify
}:
buildPythonPackage rec {
@@ -18,7 +18,7 @@ buildPythonPackage rec {
};
propagatedBuildInputs = [ cffi ];
- buildInputs = [ pkgs.libspotify ];
+ buildInputs = [ libspotify ];
# python zip complains about old timestamps
preConfigure = ''
@@ -29,7 +29,7 @@ buildPythonPackage rec {
find "$out" -name _spotify.so -exec \
install_name_tool -change \
@loader_path/../Frameworks/libspotify.framework/libspotify \
- ${pkgs.libspotify}/lib/libspotify.dylib \
+ ${libspotify}/lib/libspotify.dylib \
{} \;
'';
@@ -41,7 +41,5 @@ buildPythonPackage rec {
description = "A Python interface to Spotify’s online music streaming service";
license = licenses.unfree;
maintainers = with maintainers; [ lovek323 ];
- platforms = platforms.unix;
};
-
}
diff --git a/pkgs/development/python-modules/python_mimeparse/default.nix b/pkgs/development/python-modules/python-mimeparse/default.nix
similarity index 93%
rename from pkgs/development/python-modules/python_mimeparse/default.nix
rename to pkgs/development/python-modules/python-mimeparse/default.nix
index 0f713bd21391..ccc8dc78f442 100644
--- a/pkgs/development/python-modules/python_mimeparse/default.nix
+++ b/pkgs/development/python-modules/python-mimeparse/default.nix
@@ -19,6 +19,6 @@ buildPythonPackage rec {
description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
homepage = "https://github.com/dbtsai/python-mimeparse";
license = licenses.mit;
+ maintainers = with maintainers; [ ];
};
-
}
diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix
index ab51a47d19b0..c18f2934c23d 100644
--- a/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "scikit-fmm";
- version = "2021.9.23";
+ version = "2021.10.29";
src = fetchPypi {
inherit pname version;
- sha256 = "94808e6d747143cc9d50aa946cf5b1e61dbd4d8bc6229a7a5f57db6cedf38a47";
+ sha256 = "799f36e918a2b64ed8434d6c4fef3a1a47757055955c240fba0d4aadccca26b2";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-survival/default.nix b/pkgs/development/python-modules/scikit-survival/default.nix
index 5be6457aa6d4..568643afbbf1 100644
--- a/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/pkgs/development/python-modules/scikit-survival/default.nix
@@ -15,11 +15,11 @@
buildPythonPackage rec {
pname = "scikit-survival";
- version = "0.15.0.post0";
+ version = "0.16.0";
src = fetchPypi {
inherit pname version;
- sha256 = "572c3ac6818a9d0944fc4b8176eb948051654de857e28419ecc5060bcc6fbf37";
+ sha256 = "d3573eb1df9d516c75994a8a82108b6c7a5ca7ea8a9af60b38f3f65c3e227fa7";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/skorch/default.nix b/pkgs/development/python-modules/skorch/default.nix
index 3bbf28d2884e..0b2056979e41 100644
--- a/pkgs/development/python-modules/skorch/default.nix
+++ b/pkgs/development/python-modules/skorch/default.nix
@@ -16,11 +16,11 @@
buildPythonPackage rec {
pname = "skorch";
- version = "0.10.0";
+ version = "0.11.0";
src = fetchPypi {
inherit pname version;
- sha256 = "9910f97339e654c8d38e0075d87b735e69e5eb11db59c527fb36705b30c8d0a4";
+ sha256 = "b35cb4e50045742f0ffcfad33044af691d5d36b50212573753a804483a947ca9";
};
propagatedBuildInputs = [ numpy pytorch scikit-learn scipy tabulate tqdm ];
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index a07117a1e46d..e2dfdcbe3ece 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -2,7 +2,7 @@
, buildPythonPackage
, fetchPypi
, pbr
-, python_mimeparse
+, python-mimeparse
, extras
, unittest2
, traceback2
@@ -18,7 +18,7 @@ buildPythonPackage rec {
sha256 = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f";
};
- propagatedBuildInputs = [ pbr python_mimeparse extras unittest2 ];
+ propagatedBuildInputs = [ pbr python-mimeparse extras unittest2 ];
buildInputs = [ traceback2 ];
# testscenarios has a circular dependency on testtools
diff --git a/pkgs/development/python-modules/upass/default.nix b/pkgs/development/python-modules/upass/default.nix
index 07e06403583e..342cd79e6837 100644
--- a/pkgs/development/python-modules/upass/default.nix
+++ b/pkgs/development/python-modules/upass/default.nix
@@ -6,24 +6,38 @@
}:
buildPythonPackage rec {
- version = "0.1.4";
pname = "upass";
+ version = "0.2.1";
+ format = "setuptools";
src = fetchFromGitHub {
owner = "Kwpolska";
repo = "upass";
rev = "v${version}";
- sha256 = "sha256-1y/OE8Gbc8bShEiLWg8w4J6icAcoldYQLI10WSQuO1Y=";
+ sha256 = "0bgplq07dmlld3lp6jag1w055glqislfgwwq2k7cb2bzjgvysdnj";
};
- propagatedBuildInputs = [ pyperclip urwid ];
+ propagatedBuildInputs = [
+ pyperclip
+ urwid
+ ];
+ # Projec thas no tests
doCheck = false;
+ postInstall = ''
+ export HOME=$(mktemp -d);
+ mkdir $HOME/.config
+ '';
+
+ pythonImportsCheck = [
+ "upass"
+ ];
+
meta = with lib; {
description = "Console UI for pass";
homepage = "https://github.com/Kwpolska/upass";
license = licenses.bsd3;
+ maintainers = with maintainers; [ ];
};
-
}
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index ab1ea2a82a33..157ee78d53cc 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, jre, nixosTests, writeScript, common-updater-scripts
+{ lib, stdenv, fetchurl, jre, writeScript, common-updater-scripts
, git, nixfmt, nix, coreutils, gnused, disableRemoteLogging ? true }:
with lib;
@@ -28,7 +28,6 @@ let
'';
passthru = {
- tests = { inherit (nixosTests) ammonite; };
updateScript = writeScript "update.sh" ''
#!${stdenv.shell}
@@ -58,6 +57,15 @@ let
'';
};
+ doInstallCheck = true;
+ installCheckPhase = ''
+ runHook preInstallCheck
+
+ $out/bin/amm -c 'val foo = 21; println(foo * 2)' | grep 42
+
+ runHook postInstallCheck
+ '';
+
meta = {
description = "Improved Scala REPL";
longDescription = ''
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index c0121d242177..bda6f7e4e3c5 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,14 +1,14 @@
{ lib, gcc9Stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto }:
gcc9Stdenv.mkDerivation rec {
- version = "5.4.0";
+ version = "5.5.0";
pname = "rr";
src = fetchFromGitHub {
owner = "mozilla";
repo = "rr";
rev = version;
- sha256 = "1sfldgkkmsdyaqa28i5agcykc63gwm3zjihd64g86i852w8al2w6";
+ sha256 = "sha256-ZZhkmDWGNWejwXZEcFO9p9NG1dopK7kXRj7OrkJCPR0=";
};
postPatch = ''
diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix
index 9d3ddace37eb..53fc548df53c 100644
--- a/pkgs/development/tools/clpm/default.nix
+++ b/pkgs/development/tools/clpm/default.nix
@@ -2,32 +2,45 @@
, stdenv
, fetchgit
, wrapLisp
-, sbcl_2_0_9
+, sbcl
, openssl
}:
stdenv.mkDerivation rec {
pname = "clpm";
- version = "0.3.6";
+ version = "0.4.1";
src = fetchgit {
url = "https://gitlab.common-lisp.net/clpm/clpm";
rev = "v${version}";
fetchSubmodules = true;
- sha256 = "04w46yhv31p4cfb84b6qvyfw7x5nx6lzyd4yzhd9x6qvb7p5kmfh";
+ sha256 = "sha256-UhaLmbdsIPj6O+s262HUMxuz/5t43JR+TlOjq8Y2CDs=";
};
buildInputs = [
- (wrapLisp sbcl_2_0_9)
+ (wrapLisp sbcl)
+ ];
+
+ propagatedBuildInputs = [
openssl
];
+ postPatch = ''
+ # patch cl-plus-ssl to ensure that it finds libssl and libcrypto
+ sed 's|libssl.so|${openssl.out}/lib/libssl.so|' -i ext/cl-plus-ssl/src/reload.lisp
+ sed 's|libcrypto.so|${openssl.out}/lib/libcrypto.so|' -i ext/cl-plus-ssl/src/reload.lisp
+ # patch dexador to avoid error due to dexador being loaded multiple times
+ sed -i 's/defpackage/uiop:define-package/g' ext/dexador/src/dexador.lisp
+ '';
+
buildPhase = ''
runHook preBuild
- ln -s ${openssl.out}/lib/libcrypto*${stdenv.hostPlatform.extensions.sharedLibrary}* .
- ln -s ${openssl.out}/lib/libssl*${stdenv.hostPlatform.extensions.sharedLibrary}* .
- common-lisp.sh --script scripts/build.lisp
+ # exporting home to avoid using /homeless-shelter/.cache/ as this will cause
+ # ld to complaing about `impure path used in link`.
+ export HOME=$TMP
+
+ common-lisp.sh --script scripts/build-release.lisp
runHook postBuild
'';
@@ -35,7 +48,8 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
- INSTALL_ROOT=$out sh install.sh
+ cd build/release-staging/dynamic/clpm-${version}*/
+ INSTALL_ROOT=$out/ bash install.sh
runHook postInstall
'';
@@ -48,6 +62,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.clpm.dev/";
license = licenses.bsd2;
maintainers = [ maintainers.petterstorvik ];
- platforms = platforms.all;
+ platforms = [ "i686-linux" "x86_64-linux" ];
};
}
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index 2102796bbd6f..92ad6aa452ea 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -9,7 +9,7 @@ with ocamlPackages; buildDunePackage rec {
src = fetchFromGitHub {
owner = "OCamlPro";
repo = "ocaml-top";
- rev = "1.2.0-rc";
+ rev = version;
sha256 = "sha256-ZXnPnPvJmHshkTwYWeBojrgJYAF/R6vUo0XkvVMFSeQ=";
};
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammar.nix b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
index d4782b37b6a3..d0265a584b37 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammar.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
@@ -1,6 +1,5 @@
{ stdenv
, tree-sitter
-, libcxx
, lib
}:
@@ -16,42 +15,46 @@
, location ? null
}:
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
pname = "${language}-grammar";
inherit version;
- src =
- if location == null
- then
- source
- else
- "${source}/${location}"
- ;
+ src = if location == null then source else "${source}/${location}";
- NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
buildInputs = [ tree-sitter ];
dontUnpack = true;
dontConfigure = true;
+ CFLAGS = [ "-I${src}/src" "-O2" ];
+ CXXFLAGS = [ "-I${src}/src" "-O2" ];
+
+ # When both scanner.{c,cc} exist, we should not link both since they may be the same but in
+ # different languages. Just randomly prefer C++ if that happens.
buildPhase = ''
runHook preBuild
- scanner_cc="$src/src/scanner.cc"
- if [ ! -f "$scanner_cc" ]; then
- scanner_cc=""
+ if [[ -e "$src/src/scanner.cc" ]]; then
+ $CXX -c "$src/src/scanner.cc" -o scanner.o $CXXFLAGS
+ elif [[ -e "$src/src/scanner.c" ]]; then
+ $CC -c "$src/src/scanner.c" -o scanner.o $CFLAGS
fi
- scanner_c="$src/src/scanner.c"
- if [ ! -f "$scanner_c" ]; then
- scanner_c=""
- fi
- $CC -I$src/src/ -shared -o parser -Os $src/src/parser.c $scanner_cc $scanner_c -lstdc++
+ $CC -c "$src/src/parser.c" -o parser.o $CFLAGS
+ $CXX -shared -o parser *.o
runHook postBuild
'';
+
installPhase = ''
runHook preInstall
mkdir $out
mv parser $out/
runHook postInstall
'';
+
+ # Auto strip cannot detect files missing extension.
+ fixupPhase = ''
+ runHook preFixup
+ strip -s $out/parser
+ runHook postFixup
+ '';
}
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 01173474db6f..f0718ac17a84 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-make";
- version = "0.35.0";
+ version = "0.35.5";
src = fetchCrate {
inherit pname version;
- sha256 = "sha256-pC3iX5jAPBArxs+YECDyUW5+MP+/f2HMLZNjo+BoKOE=";
+ sha256 = "sha256-hW3W+k6S/pWYTCHkFcWPgCNM36U6smMhOZDlxC/R3sQ=";
};
nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
- cargoSha256 = "sha256-Zp2LoeCnpYupi/QY3Ft1VQ+O/y3I96UaouEFs9QpbLg=";
+ cargoSha256 = "sha256-3NzBVt+dTASSXEOs3QEQje2D9Qoupf9tNzqwsihcyi8=";
# Some tests fail because they need network access.
# However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index 07119dc75d67..bddcaf1cc8a4 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
let
baseName = "scalafmt";
- version = "3.0.0";
+ version = "3.0.8";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@@ -13,7 +13,7 @@ let
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
- outputHash = "fZVOyxswtDtCDDGmGzKbRnM5MVncKaicRKyEdPiXOr8=";
+ outputHash = "VBU6Jg6Sq3RBy0ym5YbjLjvcfx/85f6wNMmkGVV0W88=";
};
in
stdenv.mkDerivation {
diff --git a/pkgs/development/tools/shadered/default.nix b/pkgs/development/tools/shadered/default.nix
index 01c16b139468..66a9512c18c4 100644
--- a/pkgs/development/tools/shadered/default.nix
+++ b/pkgs/development/tools/shadered/default.nix
@@ -11,14 +11,14 @@
stdenv.mkDerivation rec {
pname = "SHADERed";
- version = "1.4.1";
+ version = "1.5.6";
src = fetchFromGitHub {
owner = "dfranx";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
- sha256 = "ivOd4NJgx5KWSDnXSBQLMrdvBuOm8NRzcb2S4lvOrms=";
+ sha256 = "0drf8wwx0gcmi22jq2yyjy7ppxynfq172wqakchscm313j248fjr";
};
nativeBuildInputs = [
@@ -34,6 +34,10 @@ stdenv.mkDerivation rec {
sfml
];
+ patches = [
+ ./install_path_fix.patch
+ ];
+
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
meta = with lib; {
diff --git a/pkgs/development/tools/shadered/install_path_fix.patch b/pkgs/development/tools/shadered/install_path_fix.patch
new file mode 100644
index 000000000000..6b39ca696b90
--- /dev/null
+++ b/pkgs/development/tools/shadered/install_path_fix.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 55eb05c..18f7fc3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -234,7 +234,7 @@ endif()
+
+ set(BINARY_INST_DESTINATION "bin")
+ set(RESOURCE_INST_DESTINATION "share/shadered")
+-install(PROGRAMS bin/SHADERed DESTINATION "${BINARY_INST_DESTINATION}" RENAME shadered)
++install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/bin/SHADERed DESTINATION "${BINARY_INST_DESTINATION}" RENAME shadered)
+ install(DIRECTORY bin/data bin/templates bin/themes bin/plugins DESTINATION "${RESOURCE_INST_DESTINATION}")
+
+ if (UNIX AND NOT APPLE)
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index 2cf3a2c801b1..4bae4609115c 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "spirv-tools";
# Update spirv-headers rev in lockstep according to DEPs file
- version = "2020.2";
+ version = "2021.3";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Tools";
rev = "v${version}";
- sha256 = "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6";
+ sha256 = "sha256-skpsxpgl6hR5uiKfphKFQJfh+LJvhGvDW/t2u5AhXzk=";
};
nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/tools/uftrace/default.nix b/pkgs/development/tools/uftrace/default.nix
index 68eb00f4eb6d..bfb30cb1e896 100644
--- a/pkgs/development/tools/uftrace/default.nix
+++ b/pkgs/development/tools/uftrace/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "uftrace";
- version = "0.10";
+ version = "0.11";
src = fetchFromGitHub {
owner = "namhyung";
repo = "uftrace";
rev = "v${version}";
- sha256 = "sha256-T3HFhFKHsUcOOCXaA1NG3aDE0k5frnhqjCI8aV18EjQ=";
+ sha256 = "sha256-uRtMJIZJKGQTGqs8QX60FCeXg3j5hv/V/qw4m8eGYD4=";
};
postUnpack = ''
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index 0d0e2baccc70..eadb34062f3e 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -405,6 +405,8 @@ in rec {
yarnFlags = defaultYarnFlags ++ ["--production=true"];
+ nativeBuildInputs = [ pkgs.makeWrapper ];
+
buildPhase = ''
source ${./nix/expectShFunctions.sh}
@@ -417,6 +419,10 @@ in rec {
expectFileOrDirAbsent ./node_modules/.bin/eslint
expectFileOrDirAbsent ./node_modules/eslint/package.json
'';
+
+ postInstall = ''
+ wrapProgram $out/bin/yarn2nix --prefix PATH : "${pkgs.nix-prefetch-git}/bin"
+ '';
};
fixup_yarn_lock = runCommandLocal "fixup_yarn_lock"
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/fixPkgAddMissingSha1.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/fixPkgAddMissingSha1.js
index 2826f36e3260..40467a68992b 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/fixPkgAddMissingSha1.js
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/fixPkgAddMissingSha1.js
@@ -48,7 +48,7 @@ async function fixPkgAddMissingSha1(pkg) {
const [url, sha1] = pkg.resolved.split('#', 2)
- if (sha1) {
+ if (sha1 || url.startsWith('https://codeload.github.com')) {
return pkg
}
diff --git a/pkgs/misc/cups/drivers/kyocera-ecosys-m2x35-40-p2x35-40dnw/default.nix b/pkgs/misc/cups/drivers/kyocera-ecosys-m2x35-40-p2x35-40dnw/default.nix
new file mode 100644
index 000000000000..985a172d8731
--- /dev/null
+++ b/pkgs/misc/cups/drivers/kyocera-ecosys-m2x35-40-p2x35-40dnw/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, fetchzip
+ # can either be "EU" or "Global"; it's unclear what the difference is
+, region ? "Global"
+ # can be either "English", "French", "German", "Italian", "Portguese" or "Spanish"
+, language ? "English"
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cups-kyocera-ecosys-m2x35-40-p2x35-40dnw";
+ version = "8.1606";
+
+ src = let
+ urlVersion = builtins.replaceStrings [ "." ] [ "_" ] version;
+ in fetchzip {
+ url = "https://www.kyoceradocumentsolutions.de/content/download-center/de/drivers/all/Linux_${urlVersion}_ECOSYS_M2x35_40_P2x35_40dnw_zip.download.zip";
+ sha256 = "10crxdfj62ini70vv471445zi6q0l9fmg2jsd74sp6fr0qa0kvr7";
+ };
+
+ installPhase = ''
+ mkdir -p $out/share/cups/model/Kyocera
+ cp ${region}/${language}/*.PPD $out/share/cups/model/Kyocera/
+ '';
+
+ meta = with lib; {
+ description = "PPD files for Kyocera ECOSYS M2040dn/M2135dn/M2540dn/M2540dw/M2635dn/M2635dw/M2640idw/M2735dw/P2040dn/M2040dw/P2235dn/P2235dw";
+ homepage = "https://www.kyoceradocumentsolutions.com";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ hexa ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 72c03fc257c4..e4df5a8446e4 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -2866,6 +2866,18 @@ final: prev:
meta.homepage = "https://github.com/Yggdroot/LeaderF/";
};
+ lean-nvim = buildVimPluginFrom2Nix {
+ pname = "lean.nvim";
+ version = "2021-10-30";
+ src = fetchFromGitHub {
+ owner = "Julian";
+ repo = "lean.nvim";
+ rev = "e586b463cb0ac841556e53f5b71e3ef109007378";
+ sha256 = "0caq2vab9hn2i39f5848zk1d3fl1zfpcadnqnm4gwnzga3cnfpbz";
+ };
+ meta.homepage = "https://github.com/Julian/lean.nvim/";
+ };
+
lean-vim = buildVimPluginFrom2Nix {
pname = "lean.vim";
version = "2021-09-29";
@@ -2914,6 +2926,18 @@ final: prev:
meta.homepage = "https://github.com/cohama/lexima.vim/";
};
+ lingua-franca-vim = buildVimPluginFrom2Nix {
+ pname = "lingua-franca";
+ version = "2021-9-5";
+ src = fetchFromGitHub {
+ owner = "lf-lang";
+ repo = "lingua-franca.vim";
+ rev = "439b92a13744ee21cb3cd9c399e179efbcaa2967";
+ sha256 = "sha256-Bf2MabUe3fy0meL6zIYgal/yFxtLKsg3b/BUI/AVlrM=";
+ };
+ meta.homepage = "https://github.com/lf-lang/lingua-franca.vim";
+ };
+
lf-vim = buildVimPluginFrom2Nix {
pname = "lf.vim";
version = "2021-02-18";
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index a330f71c4fa0..a8893994a39e 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -302,6 +302,7 @@ jreybert/vimagit
jsfaint/gen_tags.vim
JuliaEditorSupport/deoplete-julia
JuliaEditorSupport/julia-vim
+Julian/lean.nvim@main
Julian/vim-textobj-variable-segment
juliosueiras/vim-terraform-completion
junegunn/fzf.vim
@@ -379,6 +380,7 @@ ledger/vim-ledger
lepture/vim-jinja
lervag/vimtex
lewis6991/gitsigns.nvim@main
+lf-lang/lingua-franca.vim
lfe-support/vim-lfe
lfilho/cosco.vim
lifepillar/vim-gruvbox8
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
index 03267b8e9ae5..9f96eb2576dc 100644
--- a/pkgs/os-specific/linux/power-profiles-daemon/default.nix
+++ b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -4,8 +4,10 @@
, meson
, ninja
, fetchFromGitLab
+, fetchpatch
, libgudev
, glib
+, polkit
, gobject-introspection
, gettext
, gtk-doc
@@ -14,24 +16,47 @@
, libxml2
, libxslt
, upower
+, umockdev
, systemd
, python3
+, wrapGAppsNoGuiHook
+, nixosTests
}:
+let
+ testPythonPkgs = ps: with ps; [
+ pygobject3
+ dbus-python
+ python-dbusmock
+ ];
+ testTypelibPath = lib.makeSearchPathOutput "lib" "lib/girepository-1.0" [ umockdev ];
+in
stdenv.mkDerivation rec {
pname = "power-profiles-daemon";
- version = "0.8.1";
+ version = "0.10.1";
- outputs = [ "out" "devdoc" ];
+ outputs = [ "out" "devdoc" "installedTests" ];
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "hadess";
repo = "power-profiles-daemon";
rev = version;
- sha256 = "sha256-OnCUr7KWVPpYGDseBUcJD/PdOobvFnyNA97NhnKbTKY=";
+ sha256 = "sha256-sQWiCHc0kEELdmPq9Qdk7OKDUgbM5R44639feC7gjJc=";
};
+ patches = [
+ # Enable installed tests.
+ # https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/merge_requests/92
+ (fetchpatch {
+ url = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/commit/3c64d9e1732eb6425e33013c452f1c4aa7a26f7e.patch";
+ sha256 = "din5VuZZwARNDInHtl44yJK8pLmlxr5eoD4iMT4a8HA=";
+ })
+
+ # Install installed tests to separate output.
+ ./installed-tests-path.patch
+ ];
+
nativeBuildInputs = [
pkg-config
meson
@@ -43,6 +68,11 @@ stdenv.mkDerivation rec {
libxml2 # for xmllint for stripping GResources
libxslt # for xsltproc for building docs
gobject-introspection
+ wrapGAppsNoGuiHook
+ python3.pkgs.wrapPython
+
+ # For finding tests.
+ (python3.withPackages testPythonPkgs)
];
buildInputs = [
@@ -50,19 +80,89 @@ stdenv.mkDerivation rec {
systemd
upower
glib
- (python3.withPackages (ps: with ps; [ ps.pygobject3 ])) # for cli tool
+ polkit
+ python3 # for cli tool
+ ];
+
+ strictDeps = true;
+
+ # for cli tool
+ pythonPath = [
+ python3.pkgs.pygobject3
];
mesonFlags = [
+ "-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"-Dgtk_doc=true"
];
+ PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
+
+ # Avoid double wrapping
+ dontWrapGApps = true;
+
+ postPatch = ''
+ patchShebangs tests/unittest_inspector.py
+ '';
+
+ preConfigure = ''
+ # For finding tests.
+ GI_TYPELIB_PATH_original=$GI_TYPELIB_PATH
+ addToSearchPath GI_TYPELIB_PATH "${testTypelibPath}"
+ '';
+
+ postConfigure = ''
+ # Restore the original value to prevent the program from depending on umockdev.
+ export GI_TYPELIB_PATH=$GI_TYPELIB_PATH_original
+ unset GI_TYPELIB_PATH_original
+ '';
+
+ preInstall = ''
+ # We have pkexec on PATH so Meson will try to use it when installation fails
+ # due to being unable to write to e.g. /etc.
+ # Let’s pretend we already ran pkexec –
+ # the pkexec on PATH would complain it lacks setuid bit,
+ # obscuring the underlying error.
+ # https://github.com/mesonbuild/meson/blob/492cc9bf95d573e037155b588dc5110ded4d9a35/mesonbuild/minstall.py#L558
+ export PKEXEC_UID=-1
+ '';
+
+ postFixup = ''
+ # Avoid double wrapping
+ makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+ # Make Python libraries available
+ wrapPythonProgramsIn "$out/bin" "$pythonPath"
+
+ # Make Python libraries available for installed tests
+ makeWrapperArgs+=(
+ --prefix GI_TYPELIB_PATH : "${testTypelibPath}"
+ --prefix PATH : "${lib.makeBinPath [ umockdev ]}"
+ # Vala does not use absolute paths in typelibs
+ # https://github.com/NixOS/nixpkgs/issues/47226
+ # Also umockdev binaries use relative paths for LD_PRELOAD.
+ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ umockdev ]}"
+ # dbusmock calls its templates using exec so our regular patching of Python scripts
+ # to add package directories to site will not carry over.
+ # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/mockobject.py#L51
+ # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/__main__.py#L60-L62
+ --prefix PYTHONPATH : "${lib.makeSearchPath python3.sitePackages (testPythonPkgs python3.pkgs)}"
+ )
+ wrapPythonProgramsIn "$installedTests/libexec/installed-tests" "$pythonPath ${lib.concatStringsSep " " (testPythonPkgs python3.pkgs)}"
+ '';
+
+ passthru = {
+ tests = {
+ nixos = nixosTests.power-profiles-daemon;
+ installed-tests = nixosTests.installed-tests.power-profiles-daemon;
+ };
+ };
+
meta = with lib; {
homepage = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon";
description = "Makes user-selected power profiles handling available over D-Bus";
platforms = platforms.linux;
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ mvnetbiz ];
+ maintainers = with maintainers; [ jtojnar mvnetbiz ];
};
}
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch b/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
new file mode 100644
index 000000000000..63059f3ac73c
--- /dev/null
+++ b/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
@@ -0,0 +1,37 @@
+diff --git a/meson_options.txt b/meson_options.txt
+index 7e89619..76497db 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,4 @@
++option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
+ option('systemdsystemunitdir',
+ description: 'systemd unit directory',
+ type: 'string',
+diff --git a/tests/meson.build b/tests/meson.build
+index b306a7f..7670e1b 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -2,8 +2,8 @@ envs = environment()
+ envs.set ('top_builddir', meson.build_root())
+ envs.set ('top_srcdir', meson.source_root())
+
+-installed_test_bindir = libexecdir / 'installed-tests' / meson.project_name()
+-installed_test_datadir = datadir / 'installed-tests' / meson.project_name()
++installed_test_bindir = get_option('installed_test_prefix') / 'libexec' / 'installed-tests' / meson.project_name()
++installed_test_datadir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / meson.project_name()
+
+ python3 = find_program('python3')
+ unittest_inspector = find_program('unittest_inspector.py')
+diff --git a/tests/integration-test.py b/tests/integration-test.py
+index 22dc42c..0f92b76 100755
+--- a/tests/integration-test.py
++++ b/tests/integration-test.py
+@@ -67,7 +67,7 @@ class Tests(dbusmock.DBusTestCase):
+ print('Testing binaries from JHBuild (%s)' % cls.daemon_path)
+ else:
+ cls.daemon_path = None
+- with open('/usr/lib/systemd/system/power-profiles-daemon.service') as f:
++ with open('/run/current-system/sw/lib/systemd/system/power-profiles-daemon.service') as f:
+ for line in f:
+ if line.startswith('ExecStart='):
+ cls.daemon_path = line.split('=', 1)[1].strip()
diff --git a/pkgs/servers/heisenbridge/default.nix b/pkgs/servers/heisenbridge/default.nix
index fda9841cbbf7..67f6b976a079 100644
--- a/pkgs/servers/heisenbridge/default.nix
+++ b/pkgs/servers/heisenbridge/default.nix
@@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec {
pname = "heisenbridge";
- version = "1.4.0";
+ version = "1.4.1";
# Use the release tarball because it has the version set correctly using the
# version.txt file.
src = fetchurl {
url = "https://github.com/hifi/heisenbridge/releases/download/v${version}/heisenbridge-${version}.tar.gz";
- sha256 = "sha256-Br+7ykTtVYC7KIhikmgS9wbQdJFHFezlVre8cUBzAx8=";
+ sha256 = "sha256-+FnpECMDu7d7IM6vmiqP2mA/WJx2WVSzI01tLzkrvpk=";
};
propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index e87c6354ae55..b205b806e2bb 100644
--- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "redis_exporter";
- version = "1.23.1";
+ version = "1.29.0";
src = fetchFromGitHub {
owner = "oliver006";
repo = "redis_exporter";
rev = "v${version}";
- sha256 = "0hlzxmc3jnmbym7by89bb73nlr0gw1xj8d88x10zx55kry7p0jfn";
+ sha256 = "sha256-13um5/k/Mh/BLgvd9ziR5vo9HfVqgaQMfJTPYRPVlRY=";
};
- vendorSha256 = "11237959ikd7l5glkhfz0g55mbld2hq985b5crwb9bnimaly5lga";
+ vendorSha256 = "sha256-vCE1mr7R3o3uiVQvIqg+qOngh5nrr957mgbO+6E72Ss=";
ldflags = [
"-X main.BuildVersion=${version}"
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index fef179945b38..7433328d40b3 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -1,16 +1,16 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "thanos";
- version = "0.22.0";
+ version = "0.23.1";
src = fetchFromGitHub {
rev = "v${version}";
owner = "thanos-io";
repo = "thanos";
- sha256 = "sha256-3jEPfYRewuXTk39sfp6MFKu0LYCzj/VEQTJVUUSkbZk=";
+ sha256 = "sha256-JQp0Bg7sCA5obb24G/Ca7EcD7er+ux9x+BgRK0L7dJE=";
};
- vendorSha256 = "sha256-rXfYlrTm0Av9Sxq+jdxsxIDvJQIo3rcBTydtiXnifTw=";
+ vendorSha256 = "sha256-I7d81A5FMAOY1M8vhhrPFsPl/1sh2ydAzKySM5i5VfM=";
doCheck = false;
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index ec3ed346cad7..90c0fc9b2cdf 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -3,12 +3,12 @@
stdenv.mkDerivation {
pname = "rpcbind";
- version = "1.2.5";
+ version = "1.2.6";
src = fetchgit {
url = "git://git.linux-nfs.org/projects/steved/rpcbind.git";
rev = "c0c89b3bf2bdf304a5fe3cab626334e0cdaf1ef2";
- sha256 = "1k5rr0pia70ifyp877rbjdd82377fp7ii0sqvv18qhashr6489va";
+ sha256 = "sha256-aidETIZaQYzC3liDGM915wyBWpMrn4OudxEcFS/Iucw=";
};
patches = [
diff --git a/pkgs/servers/ttyd/default.nix b/pkgs/servers/ttyd/default.nix
index 8ef8c7a7c043..9553862dc74f 100644
--- a/pkgs/servers/ttyd/default.nix
+++ b/pkgs/servers/ttyd/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/tsl0922/ttyd";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.thoughtpolice ];
- platforms = lib.platforms.linux;
+ platforms = lib.platforms.all;
};
}
diff --git a/pkgs/servers/web-apps/bookstack/default.nix b/pkgs/servers/web-apps/bookstack/default.nix
index 724ff4c95c65..b810b8485ddb 100644
--- a/pkgs/servers/web-apps/bookstack/default.nix
+++ b/pkgs/servers/web-apps/bookstack/default.nix
@@ -16,13 +16,13 @@ let
in package.override rec {
pname = "bookstack";
- version = "21.05.3";
+ version = "21.08.3";
src = fetchFromGitHub {
owner = "bookstackapp";
repo = pname;
rev = "v${version}";
- sha256 = "0dymrmy771lv6h9432vw7d12x5xgchjn9s3z8maz3b9d5xlx9gw8";
+ sha256 = "1g1i4459nmqm23x6hnrf9f6y2y2n2zqx3bmchv3qzapjyqayg7i6";
};
meta = with lib; {
diff --git a/pkgs/servers/web-apps/bookstack/php-packages.nix b/pkgs/servers/web-apps/bookstack/php-packages.nix
index 69f39241f419..97026b2c5286 100644
--- a/pkgs/servers/web-apps/bookstack/php-packages.nix
+++ b/pkgs/servers/web-apps/bookstack/php-packages.nix
@@ -5,10 +5,20 @@ let
"aws/aws-sdk-php" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "aws-aws-sdk-php-35310302912fdc3b4a0e829b84424c41e3fd9727";
+ name = "aws-aws-sdk-php-949feb83cc0db46f07b12aa3128d47be3b9cca63";
src = fetchurl {
- url = https://api.github.com/repos/aws/aws-sdk-php/zipball/35310302912fdc3b4a0e829b84424c41e3fd9727;
- sha256 = "043ia45zlb3596cnh76yc7wvizr8acn5jrilnnqdv78v07s9c99i";
+ url = https://api.github.com/repos/aws/aws-sdk-php/zipball/949feb83cc0db46f07b12aa3128d47be3b9cca63;
+ sha256 = "1zppyh58317ai78dcvy5gnhxgaga421j69zzsv2vkjs1sgj4zw1w";
+ };
+ };
+ };
+ "bacon/bacon-qr-code" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "bacon-bacon-qr-code-f73543ac4e1def05f1a70bcd1525c8a157a1ad09";
+ src = fetchurl {
+ url = https://api.github.com/repos/Bacon/BaconQrCode/zipball/f73543ac4e1def05f1a70bcd1525c8a157a1ad09;
+ sha256 = "1df22bfrc8q62qz8brrs8p2rmmv5gsaxdyjrd2ln6d6j7i4jkjpk";
};
};
};
@@ -32,13 +42,23 @@ let
};
};
};
+ "dasprid/enum" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "dasprid-enum-5abf82f213618696dda8e3bf6f64dd042d8542b2";
+ src = fetchurl {
+ url = https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2;
+ sha256 = "0rs7i1xiwhssy88s7bwnp5ri5fi2xy3fl7pw6l5k27xf2f1hv7q6";
+ };
+ };
+ };
"doctrine/cache" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "doctrine-cache-c9622c6820d3ede1e2315a6a377ea1076e421d88";
+ name = "doctrine-cache-331b4d5dbaeab3827976273e9356b3b453c300ce";
src = fetchurl {
- url = https://api.github.com/repos/doctrine/cache/zipball/c9622c6820d3ede1e2315a6a377ea1076e421d88;
- sha256 = "0dw03i597mffza3bllsh89fqwa61zwhp0gvs8hh6qzkhwmsw9rk5";
+ url = https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce;
+ sha256 = "1ksr3460a5dpqgq5kgy2l7kdz7fairpvmip8nwaz9y833r5hnnyz";
};
};
};
@@ -135,10 +155,10 @@ let
"facade/ignition" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "facade-ignition-dc49305538aeb77e4c89eba57cee4ceff9e42f33";
+ name = "facade-ignition-fca0cbe5f900f94773d821b481c16d4ea3503491";
src = fetchurl {
- url = https://api.github.com/repos/facade/ignition/zipball/dc49305538aeb77e4c89eba57cee4ceff9e42f33;
- sha256 = "1nwqgxgp1dsrixf44qh4ywsvd0d35nqg23a8bc9mjvn9wmhdn2q0";
+ url = https://api.github.com/repos/facade/ignition/zipball/fca0cbe5f900f94773d821b481c16d4ea3503491;
+ sha256 = "0kqjavny0k8j337jxk4nwzbrfzc3hxka8jklk9a90yx4vnxxyjqb";
};
};
};
@@ -165,10 +185,10 @@ let
"filp/whoops" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "filp-whoops-2edbc73a4687d9085c8f20f398eebade844e8424";
+ name = "filp-whoops-15ead64e9828f0fc90932114429c4f7923570cb1";
src = fetchurl {
- url = https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424;
- sha256 = "1x79vnjdbjk9z2mix75ri56kyc5iwvjv3dyivncg6n3wd80nyfgg";
+ url = https://api.github.com/repos/filp/whoops/zipball/15ead64e9828f0fc90932114429c4f7923570cb1;
+ sha256 = "1ca4l4nxcjgn6a2w3d0w1xlgskmq8mfk7mb8xvcbmlgg29k2z0vq";
};
};
};
@@ -205,10 +225,10 @@ let
"intervention/image" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "intervention-image-abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
+ name = "intervention-image-0925f10b259679b5d8ca58f3a2add9255ffcda45";
src = fetchurl {
- url = https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e;
- sha256 = "1msfpr9bip69bmhg23ka2f43phgb6dq5z604j5psjh3xd86r6c5d";
+ url = https://api.github.com/repos/Intervention/image/zipball/0925f10b259679b5d8ca58f3a2add9255ffcda45;
+ sha256 = "0kqd9j0kjv62i56cfnh0n1zvghq1hcknq8sa602px9lvp7k2978s";
};
};
};
@@ -225,40 +245,40 @@ let
"laravel/framework" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "laravel-framework-00fa9c04aed10d68481f5757b89da0e6798f53b3";
+ name = "laravel-framework-49aa211f2dd1d419bfd9dbbd6f590d57a1dfda58";
src = fetchurl {
- url = https://api.github.com/repos/laravel/framework/zipball/00fa9c04aed10d68481f5757b89da0e6798f53b3;
- sha256 = "1ryk6c23sa6lfsx2zpm8mcfng4ys474959kqg959cjaqzq47blq9";
+ url = https://api.github.com/repos/laravel/framework/zipball/49aa211f2dd1d419bfd9dbbd6f590d57a1dfda58;
+ sha256 = "0x30liyv4rfsk183b8857nxdhiginf30zz132jwyp408b1pswgqb";
};
};
};
"laravel/socialite" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "laravel-socialite-1960802068f81e44b2ae9793932181cf1cb91b5c";
+ name = "laravel-socialite-fd0f6a3dd963ca480b598649b54f92d81a43617f";
src = fetchurl {
- url = https://api.github.com/repos/laravel/socialite/zipball/1960802068f81e44b2ae9793932181cf1cb91b5c;
- sha256 = "1v68icdk7x1qbnhzsvpzv4nj0hwdw70s75g2bzbvmli6ah0kvvck";
+ url = https://api.github.com/repos/laravel/socialite/zipball/fd0f6a3dd963ca480b598649b54f92d81a43617f;
+ sha256 = "08x0pn4ib5nhh9jkkb5brf8yj0fq6v6gn1qg97hss3mvnhazk5wx";
};
};
};
"league/commonmark" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "league-commonmark-44ffd8d3c4a9133e4bd0548622b09c55af39db5f";
+ name = "league-commonmark-c4228d11e30d7493c6836d20872f9582d8ba6dcf";
src = fetchurl {
- url = https://api.github.com/repos/thephpleague/commonmark/zipball/44ffd8d3c4a9133e4bd0548622b09c55af39db5f;
- sha256 = "1nlydxyfsh51hrvxg5c7c5lqphynvdclch6w8k9dh1whl8pwjf27";
+ url = https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf;
+ sha256 = "0x18k1qmvskd5x1b3jkkmig6l734sxffj5xyfb82yrzgpw9lrld5";
};
};
};
"league/flysystem" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "league-flysystem-f3ad69181b8afed2c9edf7be5a2918144ff4ea32";
+ name = "league-flysystem-18634df356bfd4119fe3d6156bdb990c414c14ea";
src = fetchurl {
- url = https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32;
- sha256 = "0s4sx4j7c16qkk7m6k2r4ajfjidlv15z18ybxhfmmz4jb4wsmv94";
+ url = https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea;
+ sha256 = "1cy0xmnl3ck7cb6ibl9jjw5pmbw15mww5q06vacgq5lnx8r5w700";
};
};
};
@@ -272,6 +292,16 @@ let
};
};
};
+ "league/html-to-markdown" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "league-html-to-markdown-c4dbebbebe0fe454b6b38e6c683a977615bd7dc2";
+ src = fetchurl {
+ url = https://api.github.com/repos/thephpleague/html-to-markdown/zipball/c4dbebbebe0fe454b6b38e6c683a977615bd7dc2;
+ sha256 = "0d6233c4b8lzk7a9ylw7ck7rpai9l983z7dc0551p7q7b716x0pk";
+ };
+ };
+ };
"league/mime-type-detection" = {
targetDir = "";
src = composerEnv.buildZipPackage {
@@ -285,20 +315,20 @@ let
"league/oauth1-client" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "league-oauth1-client-1e7e6be2dc543bf466236fb171e5b20e1b06aee6";
+ name = "league-oauth1-client-88dd16b0cff68eb9167bfc849707d2c40ad91ddc";
src = fetchurl {
- url = https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6;
- sha256 = "1vmzvghl4c4k9vxza50k0w28hxm88vcrcdspqp7f3vmfg5c1zav2";
+ url = https://api.github.com/repos/thephpleague/oauth1-client/zipball/88dd16b0cff68eb9167bfc849707d2c40ad91ddc;
+ sha256 = "1b0zza3qxqgn57105wbfw2fzphj3l3f7iqh7v3w98pdvaiapaf5d";
};
};
};
"monolog/monolog" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "monolog-monolog-1cb1cde8e8dd0f70cc0fe51354a59acad9302084";
+ name = "monolog-monolog-71312564759a7db5b789296369c1a264efc43aad";
src = fetchurl {
- url = https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084;
- sha256 = "1gymdiymwrjw25fjqapq3jlmf6wnp1h26ms74sckd70d53c4m52k";
+ url = https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad;
+ sha256 = "1q799qbidn3wdqvj3492lia261vawyjjwxcx7wik8g9kxwn6pmkj";
};
};
};
@@ -315,10 +345,10 @@ let
"nesbot/carbon" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "nesbot-carbon-f47f17d17602b2243414a44ad53d9f8b9ada5fdb";
+ name = "nesbot-carbon-369c0e2737c56a0f39c946dd261855255a6fccbe";
src = fetchurl {
- url = https://api.github.com/repos/briannesbitt/Carbon/zipball/f47f17d17602b2243414a44ad53d9f8b9ada5fdb;
- sha256 = "0b7pr4cqg5l75fncw1lzxcpn4xjnjddyrz287lb4zrjgx1raz3ah";
+ url = https://api.github.com/repos/briannesbitt/Carbon/zipball/369c0e2737c56a0f39c946dd261855255a6fccbe;
+ sha256 = "08n219hyp0zsr4j433ail3iaribv07jskws95z45yivasl63g8wa";
};
};
};
@@ -352,13 +382,23 @@ let
};
};
};
+ "paragonie/constant_time_encoding" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "paragonie-constant_time_encoding-f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c";
+ src = fetchurl {
+ url = https://api.github.com/repos/paragonie/constant_time_encoding/zipball/f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c;
+ sha256 = "1r1xj3j7s5mskw5gh3ars4dfhvcn7d252gdqgpif80026kj5fvrp";
+ };
+ };
+ };
"paragonie/random_compat" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "paragonie-random_compat-84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95";
+ name = "paragonie-random_compat-996434e5492cb4c3edcb9168db6fbb1359ef965a";
src = fetchurl {
- url = https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95;
- sha256 = "03nsccdvcb79l64b7lsmx0n8ldf5z3v8niqr7bpp6wg401qp9p09";
+ url = https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a;
+ sha256 = "0ky7lal59dihf969r1k3pb96ql8zzdc5062jdbg69j6rj0scgkyx";
};
};
};
@@ -405,10 +445,20 @@ let
"phpoption/phpoption" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "phpoption-phpoption-994ecccd8f3283ecf5ac33254543eb0ac946d525";
+ name = "phpoption-phpoption-5455cb38aed4523f99977c4a12ef19da4bfe2a28";
src = fetchurl {
- url = https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525;
- sha256 = "1snrnfvqhnr5z9llf8kbqk9l97gfyp8gghmhi1ng8qx5xzv1anr7";
+ url = https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28;
+ sha256 = "009q2afjkjl8psisr8jsw9k08qnkb0f4hgd6izrjmm06bd7bk9ah";
+ };
+ };
+ };
+ "pragmarx/google2fa" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "pragmarx-google2fa-26c4c5cf30a2844ba121760fd7301f8ad240100b";
+ src = fetchurl {
+ url = https://api.github.com/repos/antonioribeiro/google2fa/zipball/26c4c5cf30a2844ba121760fd7301f8ad240100b;
+ sha256 = "1jmc7s3hbczvb0h4kfmya67l969nfww3lmc4slvzsz0zd769434h";
};
};
};
@@ -485,10 +535,10 @@ let
"ramsey/uuid" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "ramsey-uuid-7e1633a6964b48589b142d60542f9ed31bd37a92";
+ name = "ramsey-uuid-be2451bef8147b7352a28fb4cddb08adc497ada3";
src = fetchurl {
- url = https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92;
- sha256 = "0s6z2c8jvwjmxzy2kqmxqpz0val9i5r757mdwf2yc7qrwm6bwd15";
+ url = https://api.github.com/repos/ramsey/uuid/zipball/be2451bef8147b7352a28fb4cddb08adc497ada3;
+ sha256 = "0jab9jc8yfsbd8ws1y47zmp13ivkmficiwf6xxgxrzmj6ihb8ah4";
};
};
};
@@ -515,10 +565,10 @@ let
"scrivo/highlight.php" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "scrivo-highlight.php-44a3d4136edb5ad8551590bf90f437db80b2d466";
+ name = "scrivo-highlight.php-05996fcc61e97978d76ca7d1ac14b65e7cd26f91";
src = fetchurl {
- url = https://api.github.com/repos/scrivo/highlight.php/zipball/44a3d4136edb5ad8551590bf90f437db80b2d466;
- sha256 = "0p0bj3yqiaa917lgx4ycwic2qqlg3cxka2adhziqzhlq9jqhzi8r";
+ url = https://api.github.com/repos/scrivo/highlight.php/zipball/05996fcc61e97978d76ca7d1ac14b65e7cd26f91;
+ sha256 = "13pj4nbja3vzxkzb101vlgpziz2ha4xh8xyf58syw7cmc4a5djmf";
};
};
};
@@ -615,30 +665,30 @@ let
"symfony/console" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-console-9aa1eb46c1b12fada74dc0c529e93d1ccef22576";
+ name = "symfony-console-a3f7189a0665ee33b50e9e228c46f50f5acbed22";
src = fetchurl {
- url = https://api.github.com/repos/symfony/console/zipball/9aa1eb46c1b12fada74dc0c529e93d1ccef22576;
- sha256 = "0xsjpsgdm2x2avw92cgx90r5yvpgqfcy0ad8cviwcfdardqfh7z0";
+ url = https://api.github.com/repos/symfony/console/zipball/a3f7189a0665ee33b50e9e228c46f50f5acbed22;
+ sha256 = "09f41pcx2dlyfbgsphz8976hzr3vvb7i1cx8qq9s96z1l7syq4mf";
};
};
};
"symfony/css-selector" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-css-selector-c1e29de6dc893b130b45d20d8051efbb040560a9";
+ name = "symfony-css-selector-5194f18bd80d106f11efa8f7cd0fbdcc3af96ce6";
src = fetchurl {
- url = https://api.github.com/repos/symfony/css-selector/zipball/c1e29de6dc893b130b45d20d8051efbb040560a9;
- sha256 = "0af571s9i7inwsjbqpf5dkpghs2k5ds8ba8x7wdvad6hpgphify8";
+ url = https://api.github.com/repos/symfony/css-selector/zipball/5194f18bd80d106f11efa8f7cd0fbdcc3af96ce6;
+ sha256 = "0mjphps4rp52l01nhxjdzv0866k0vs3y2jdms0g3z2y1rwb95nz6";
};
};
};
"symfony/debug" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-debug-a8d2d5c94438548bff9f998ca874e202bb29d07f";
+ name = "symfony-debug-2f9160e92eb64c95da7368c867b663a8e34e980c";
src = fetchurl {
- url = https://api.github.com/repos/symfony/debug/zipball/a8d2d5c94438548bff9f998ca874e202bb29d07f;
- sha256 = "0w0i66c42bvh5ss84jqgjzq81dx673sliaf7z7p60p3fxiy0fdsy";
+ url = https://api.github.com/repos/symfony/debug/zipball/2f9160e92eb64c95da7368c867b663a8e34e980c;
+ sha256 = "0vw2g71q11w7jz500dp9srkj4hmx50d7m693gk0dlgmnrgx51kkl";
};
};
};
@@ -655,20 +705,20 @@ let
"symfony/error-handler" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-error-handler-4001f01153d0eb5496fe11d8c76d1e56b47fdb88";
+ name = "symfony-error-handler-51f98f7aa99f00f3b1da6bafe934e67ae6ba6dc5";
src = fetchurl {
- url = https://api.github.com/repos/symfony/error-handler/zipball/4001f01153d0eb5496fe11d8c76d1e56b47fdb88;
- sha256 = "19pf2qk8nal0p59xvgvl04s2v2bcmi87wffml35qiks1pirn6znp";
+ url = https://api.github.com/repos/symfony/error-handler/zipball/51f98f7aa99f00f3b1da6bafe934e67ae6ba6dc5;
+ sha256 = "1qy8j16crb271pz6frjxyy2b41f1ap8w2mwb2n5zr3gmg0iqm487";
};
};
};
"symfony/event-dispatcher" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-event-dispatcher-047773e7016e4fd45102cedf4bd2558ae0d0c32f";
+ name = "symfony-event-dispatcher-2fe81680070043c4c80e7cedceb797e34f377bac";
src = fetchurl {
- url = https://api.github.com/repos/symfony/event-dispatcher/zipball/047773e7016e4fd45102cedf4bd2558ae0d0c32f;
- sha256 = "1cc2lm7fwwqjvx72990k8mzb1xiprpnc1lky13bc61jipdk49jq0";
+ url = https://api.github.com/repos/symfony/event-dispatcher/zipball/2fe81680070043c4c80e7cedceb797e34f377bac;
+ sha256 = "0qf59l1a1h25hl6bp1wwfl5s825f8ybw2jiwhalw7gfnrx8x68fb";
};
};
};
@@ -685,10 +735,10 @@ let
"symfony/finder" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-finder-ed33314396d968a8936c95f5bd1b88bd3b3e94a3";
+ name = "symfony-finder-70362f1e112280d75b30087c7598b837c1b468b6";
src = fetchurl {
- url = https://api.github.com/repos/symfony/finder/zipball/ed33314396d968a8936c95f5bd1b88bd3b3e94a3;
- sha256 = "06m9xr0aik0y5f3j9rr0f23rwdr2b1ib55340myf0lah62as7nxm";
+ url = https://api.github.com/repos/symfony/finder/zipball/70362f1e112280d75b30087c7598b837c1b468b6;
+ sha256 = "0f75c5mjig5ypigb4s1av3w67xizx6pl15wrqbyxa39a9qq58x6v";
};
};
};
@@ -705,30 +755,30 @@ let
"symfony/http-foundation" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-http-foundation-8759ed5c27c2a8a47cb60f367f4be6727f08d58b";
+ name = "symfony-http-foundation-09b3202651ab23ac8dcf455284a48a3500e56731";
src = fetchurl {
- url = https://api.github.com/repos/symfony/http-foundation/zipball/8759ed5c27c2a8a47cb60f367f4be6727f08d58b;
- sha256 = "0g47jlsz2p3np3mq4vdhj68jr7a84lwi8hifq132igzgdkbdg6ln";
+ url = https://api.github.com/repos/symfony/http-foundation/zipball/09b3202651ab23ac8dcf455284a48a3500e56731;
+ sha256 = "1kvh2hy9ng9dlivc9ippzg3h3jrqfpv1ygvrz6s9padsprw8j8ag";
};
};
};
"symfony/http-kernel" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-http-kernel-e08b2fb8a6eedd81c70522e514bad9b2c1fff881";
+ name = "symfony-http-kernel-87f7ea4a8a7a30c967e26001de99f12943bf57ae";
src = fetchurl {
- url = https://api.github.com/repos/symfony/http-kernel/zipball/e08b2fb8a6eedd81c70522e514bad9b2c1fff881;
- sha256 = "009w87c31vp5x7hcy77g1b03avm3wp0jznxbqqvdfrid0s42zz77";
+ url = https://api.github.com/repos/symfony/http-kernel/zipball/87f7ea4a8a7a30c967e26001de99f12943bf57ae;
+ sha256 = "0i17fnvqmz5zvhgq3l1kjxr1xsmkwx09vn2sqcqxbvrl79qlncjf";
};
};
};
"symfony/mime" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-mime-47dd7912152b82d0d4c8d9040dbc93d6232d472a";
+ name = "symfony-mime-ae887cb3b044658676129f5e97aeb7e9eb69c2d8";
src = fetchurl {
- url = https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a;
- sha256 = "1xyk50qrd5hzpwp795adbc56pqxljy3yalsd7p2bfyhd1y5ihwdv";
+ url = https://api.github.com/repos/symfony/mime/zipball/ae887cb3b044658676129f5e97aeb7e9eb69c2d8;
+ sha256 = "049fazdf4rw6488bxbv902frcpqdkasbpmk7jdnywpbdhy4pz4c9";
};
};
};
@@ -775,10 +825,10 @@ let
"symfony/polyfill-mbstring" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-polyfill-mbstring-2df51500adbaebdc4c38dea4c89a2e131c45c8a1";
+ name = "symfony-polyfill-mbstring-9174a3d80210dca8daa7f31fec659150bbeabfc6";
src = fetchurl {
- url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1;
- sha256 = "1fbi13p4a6nn01ix3gcj966kq6z8qx03li4vbjylsr9ac2mgnmnn";
+ url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6;
+ sha256 = "17bhba3093di6xgi8f0cnf3cdd7fnbyp9l76d9y33cym6213ayx1";
};
};
};
@@ -805,30 +855,30 @@ let
"symfony/polyfill-php80" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-polyfill-php80-eca0bf41ed421bed1b57c4958bab16aa86b757d0";
+ name = "symfony-polyfill-php80-1100343ed1a92e3a38f9ae122fc0eb21602547be";
src = fetchurl {
- url = https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0;
- sha256 = "1y5kc4vqh920wyjdlgxp23b958g5i9mw10mhbr30vf8j20vf1gra";
+ url = https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be;
+ sha256 = "0kwk2qgwswsmbfp1qx31ahw3lisgyivwhw5dycshr5v2iwwx3rhi";
};
};
};
"symfony/process" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-process-7e812c84c3f2dba173d311de6e510edf701685a8";
+ name = "symfony-process-13d3161ef63a8ec21eeccaaf9a4d7f784a87a97d";
src = fetchurl {
- url = https://api.github.com/repos/symfony/process/zipball/7e812c84c3f2dba173d311de6e510edf701685a8;
- sha256 = "1bayw4mnjxqr94y0w0mk1ch5ynvyz71v2hlxlp7w6xw15m9ccpsk";
+ url = https://api.github.com/repos/symfony/process/zipball/13d3161ef63a8ec21eeccaaf9a4d7f784a87a97d;
+ sha256 = "1h41y2k100fmrjz90m0vafpfgg2da6byy9m6vf1j9q41bhv6zccl";
};
};
};
"symfony/routing" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-routing-3a3c2f197ad0846ac6413225fc78868ba1c61434";
+ name = "symfony-routing-9ddf033927ad9f30ba2bfd167a7b342cafa13e8e";
src = fetchurl {
- url = https://api.github.com/repos/symfony/routing/zipball/3a3c2f197ad0846ac6413225fc78868ba1c61434;
- sha256 = "0wbd206gn64q89kiz3fvpcynmpfrjrj081l5lfab0rfj50m80q4h";
+ url = https://api.github.com/repos/symfony/routing/zipball/9ddf033927ad9f30ba2bfd167a7b342cafa13e8e;
+ sha256 = "1l3b5z0kn7f9q0whrm2wnxv0l038w3la75bf95pbs74szlnibfhz";
};
};
};
@@ -845,10 +895,10 @@ let
"symfony/translation" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-translation-2f7fa60b8d10ca71c30dc46b0870143183a8f131";
+ name = "symfony-translation-db0ba1e85280d8ff11e38d53c70f8814d4d740f5";
src = fetchurl {
- url = https://api.github.com/repos/symfony/translation/zipball/2f7fa60b8d10ca71c30dc46b0870143183a8f131;
- sha256 = "0nhljcj0bmkdx5xsyyxyj32hdl2lirypr5yyy2n9w16bal9fxmc9";
+ url = https://api.github.com/repos/symfony/translation/zipball/db0ba1e85280d8ff11e38d53c70f8814d4d740f5;
+ sha256 = "08qxma91sffj8vqzb8dshwsxqf80y9kym3bsxx3gz05ksi01hk1d";
};
};
};
@@ -865,10 +915,10 @@ let
"symfony/var-dumper" = {
targetDir = "";
src = composerEnv.buildZipPackage {
- name = "symfony-var-dumper-a586efdf2aa832d05b9249e9115d24f6a2691160";
+ name = "symfony-var-dumper-7f65c44c2ce80d3a0fcdb6385ee0ad535e45660c";
src = fetchurl {
- url = https://api.github.com/repos/symfony/var-dumper/zipball/a586efdf2aa832d05b9249e9115d24f6a2691160;
- sha256 = "12wnz5hrqcml2l28f1b5949rcvadhc8vigqcg9sqbkzzhxn6gli1";
+ url = https://api.github.com/repos/symfony/var-dumper/zipball/7f65c44c2ce80d3a0fcdb6385ee0ad535e45660c;
+ sha256 = "0hz1gn1zdbpfcx5wll7ysdimckia7fzaf26mv3z1zy567vsx9fc1";
};
};
};
diff --git a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
index 947e0ff9196c..e36f1416456a 100644
--- a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
@@ -3,16 +3,22 @@ let
callPackage = newScope args;
in
{
+ discourse-assign = callPackage ./discourse-assign {};
discourse-calendar = callPackage ./discourse-calendar {};
discourse-canned-replies = callPackage ./discourse-canned-replies {};
+ discourse-chat-integration = callPackage ./discourse-chat-integration {};
discourse-checklist = callPackage ./discourse-checklist {};
discourse-data-explorer = callPackage ./discourse-data-explorer {};
+ discourse-docs = callPackage ./discourse-docs {};
discourse-github = callPackage ./discourse-github {};
discourse-ldap-auth = callPackage ./discourse-ldap-auth {};
discourse-math = callPackage ./discourse-math {};
discourse-migratepassword = callPackage ./discourse-migratepassword {};
discourse-openid-connect = callPackage ./discourse-openid-connect {};
+ discourse-prometheus = callPackage ./discourse-prometheus {};
+ discourse-saved-searches = callPackage ./discourse-saved-searches {};
discourse-solved = callPackage ./discourse-solved {};
discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
+ discourse-voting = callPackage ./discourse-voting {};
discourse-yearly-review = callPackage ./discourse-yearly-review {};
}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
new file mode 100644
index 000000000000..a514425c4031
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+ name = "discourse-assign";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-assign";
+ rev = "5124ba0f67e26a075f0a0fc8993273f1211d1c28";
+ sha256 = "1zd2irp5siza0vd5rlwzmjfvcdfw785988jc526xc741flazk1lr";
+ };
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-docs";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.mit;
+ description = "Discourse Plugin for assigning users to a topic";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
new file mode 100644
index 000000000000..3079447dbb0a
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+ name = "discourse-chat-integration";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-chat-integration";
+ rev = "8ade892b387f0ce843d5e78ef4a271b0d35847ff";
+ sha256 = "1qn1bm09i9gzmh74ws32zgc89hrqzyhmh63qvmv0h00r52rmgxvx";
+ };
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-chat-integration";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.mit;
+ description = "This plugin integrates Discourse with a number of external chatroom systems";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
new file mode 100644
index 000000000000..1206fb0cd6ad
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+ name = "discourse-docs";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-docs";
+ rev = "72cdd8d415ae3f797c0d5e2c857370714a42c54a";
+ sha256 = "07hvw8lpg8873vhwh8rrbml3s5hq606b7sw93r2xv38gxfhmx5lq";
+ };
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-docs";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.mit;
+ description = "Find and filter knowledge base topics";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile
new file mode 100644
index 000000000000..3a73fc55839d
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
+
+# gem "rails"
+gem 'prometheus_exporter', '0.5.0'
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
new file mode 100644
index 000000000000..75c139cbfc0e
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
@@ -0,0 +1,13 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ prometheus_exporter (0.5.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ prometheus_exporter (= 0.5.0)
+
+BUNDLED WITH
+ 2.1.4
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
new file mode 100644
index 000000000000..4c6c12f22b3f
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, mkDiscoursePlugin, fetchFromGitHub }:
+
+ mkDiscoursePlugin {
+ bundlerEnvArgs.gemdir = ./.;
+ name = "discourse-prometheus";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-prometheus";
+ rev = "46260710e8770344af438f86b47409d864a1c499";
+ sha256 = "0nmpi0nysp59x4hyn1c3niypvxw1jkz86acb6m8acacw0c6682k2";
+ };
+
+ patches = [
+ # The metrics collector tries to run git to get the commit id but fails
+ # because we don't run Discourse from a Git repository.
+ ./no-git-version.patch
+ ./spec-import-fix-abi-version.patch
+ ];
+
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-prometheus";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.mit;
+ description = "Official Discourse Plugin for Prometheus Monitoring";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix
new file mode 100644
index 000000000000..e62e01926837
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix
@@ -0,0 +1,12 @@
+{
+ prometheus_exporter = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1kmabnxz466zqnyqlzc693ny4l7i0rxvmc0znswvizc0zg4pri80";
+ type = "gem";
+ };
+ version = "0.5.0";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/no-git-version.patch b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/no-git-version.patch
new file mode 100644
index 000000000000..416386f4ecd3
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/no-git-version.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/internal_metric/global.rb b/lib/internal_metric/global.rb
+index 682571b..7bdd431 100644
+--- a/lib/internal_metric/global.rb
++++ b/lib/internal_metric/global.rb
+@@ -30,30 +30,7 @@ module DiscoursePrometheus::InternalMetric
+ @active_app_reqs = 0
+ @queued_app_reqs = 0
+ @fault_logged = {}
+-
+- begin
+- @@version = nil
+-
+- out, error, status = Open3.capture3('git rev-parse HEAD')
+-
+- if status.success?
+- @@version ||= out.chomp
+- else
+- raise error
+- end
+- rescue => e
+- if defined?(::Discourse)
+- Discourse.warn_exception(e, message: "Failed to calculate discourse_version_info metric")
+- else
+- STDERR.puts "Failed to calculate discourse_version_info metric: #{e}\n#{e.backtrace.join("\n")}"
+- end
+-
+- @@retries ||= 10
+- @@retries -= 1
+- if @@retries < 0
+- @@version = -1
+- end
+- end
++ @@version = -1
+ end
+
+ def collect
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/spec-import-fix-abi-version.patch b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/spec-import-fix-abi-version.patch
new file mode 100644
index 000000000000..7b1159d0a800
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/spec-import-fix-abi-version.patch
@@ -0,0 +1,16 @@
+diff --git a/bin/collector b/bin/collector
+index 4fec65e..e59eac7 100755
+--- a/bin/collector
++++ b/bin/collector
+@@ -3,8 +3,10 @@
+
+ Process.setproctitle("discourse prometheus-collector")
+
++# We need the ABI version {MAJOR}.{MINOR}.0 here.
++abi_version = ENV['GEM_PATH'].split("/")[-1]
+ version = File.read(File.expand_path("../../prometheus_exporter_version", __FILE__)).strip
+-spec_file = File.expand_path("../../gems/#{RUBY_VERSION}/specifications/prometheus_exporter-#{version}.gemspec", __FILE__)
++spec_file = File.expand_path("../../gems/#{abi_version}/specifications/prometheus_exporter-#{version}.gemspec", __FILE__)
+
+ spec = Gem::Specification.load spec_file
+ spec.activate
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
new file mode 100644
index 000000000000..a641d51f040e
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+ name = "discourse-saved-searches";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-saved-searches";
+ rev = "b59e0b60afdd5133e60c5cc6169f42f1edd746be";
+ sha256 = "0yhr7gx35q2nshvfxkplplkq73l7sgqlm8r3g1apniqicpk5flqy";
+ };
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-saved-searches";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.mit;
+ description = "Allow users to save searches and be notified of new results";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
new file mode 100644
index 000000000000..f7748f5a52d3
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+ name = "discourse-voting";
+ src = fetchFromGitHub {
+ owner = "discourse";
+ repo = "discourse-voting";
+ rev = "fc4d23174eba1a57ddcba93eaf4a4e75d469d4a4";
+ sha256 = "07mj667qn387kaafg475f36pgnannsrb2bdqi0zj487av43252qb";
+ };
+ meta = with lib; {
+ homepage = "https://github.com/discourse/discourse-voting";
+ maintainers = with maintainers; [ dpausp ];
+ license = licenses.gpl2Only;
+ description = "Adds the ability for voting on a topic within a specified category in Discourse";
+ };
+}
diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py
index a207b0ebf318..8352ac09f367 100755
--- a/pkgs/servers/web-apps/discourse/update.py
+++ b/pkgs/servers/web-apps/discourse/update.py
@@ -201,16 +201,24 @@ def update_plugins():
"""
plugins = [
+ {'name': 'discourse-assign'},
{'name': 'discourse-calendar'},
{'name': 'discourse-canned-replies'},
+ {'name': 'discourse-chat-integration'},
{'name': 'discourse-checklist'},
{'name': 'discourse-data-explorer'},
+ {'name': 'discourse-docs'},
{'name': 'discourse-github'},
{'name': 'discourse-ldap-auth', 'owner': 'jonmbake'},
{'name': 'discourse-math'},
{'name': 'discourse-migratepassword', 'owner': 'discoursehosting'},
+ # We can't update this automatically at the moment because the plugin.rb
+ # tries to load a version number which breaks bundler called by this script.
+ # {'name': 'discourse-prometheus'},
+ {'name': 'discourse-saved-searches'},
{'name': 'discourse-solved'},
{'name': 'discourse-spoiler-alert'},
+ {'name': 'discourse-voting'},
{'name': 'discourse-yearly-review'},
]
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index d11ed86e088c..0b9d6b473831 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -1,5 +1,4 @@
{ lib
-, nixosTests
, python3
, groff
, less
@@ -34,9 +33,6 @@ with py.pkgs; buildPythonApplication rec {
--replace "docutils>=0.10,<0.16" "docutils>=0.10"
'';
- # No tests included
- doCheck = false;
-
propagatedBuildInputs = [
botocore
bcdoc
@@ -62,10 +58,18 @@ with py.pkgs; buildPythonApplication rec {
passthru = {
python = py; # for aws_shell
-
- tests = { inherit (nixosTests) awscli; };
};
+ doInstallCheck = true;
+ installCheckPhase = ''
+ runHook preInstallCheck
+
+ $out/bin/aws --version | grep "${py.pkgs.botocore.version}"
+ $out/bin/aws --version | grep "${version}"
+
+ runHook postInstallCheck
+ '';
+
meta = with lib; {
homepage = "https://aws.amazon.com/cli/";
description = "Unified tool to manage your AWS services";
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 4f0609d0a55a..71d546961fc2 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,7 +1,7 @@
{ stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
let
- version = "2.28.1";
+ version = "2.29.1";
srcName = "azure-cli-${version}-src";
src = fetchFromGitHub {
@@ -9,7 +9,7 @@ let
owner = "Azure";
repo = "azure-cli";
rev = "azure-cli-${version}";
- sha256 = "sha256-9EkCScEj5kuKtkfnCmFUZg/qDzvmI3rvDS+NtkZC7sk=";
+ sha256 = "sha256-9H38dZZz2rGSuWS1T398p+9T+G+Rt5gi3Ip2xIauEWo=";
};
# put packages that needs to be overriden in the py package scope
@@ -26,10 +26,11 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
prePatch = ''
substituteInPlace setup.py \
- --replace "javaproperties==0.5.1" "javaproperties" \
+ --replace "chardet~=3.0.4" "chardet" \
+ --replace "javaproperties~=0.5.1" "javaproperties" \
--replace "pytz==2019.1" "pytz" \
--replace "scp~=0.13.2" "scp" \
- --replace "jsondiff==1.2.0" "jsondiff~=1.2" \
+ --replace "jsondiff~=1.2.0" "jsondiff~=1.2" \
--replace "antlr4-python3-runtime~=4.7.2" "antlr4-python3-runtime~=4.7" \
--replace "mock~=4.0" "mock"
@@ -55,6 +56,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
azure-identity
azure-keyvault
azure-keyvault-administration
+ azure-keyvault-keys
azure-loganalytics
azure-mgmt-advisor
azure-mgmt-apimanagement
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index b50543dbe3d2..8b93e0825f86 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -163,8 +163,8 @@ let
azure-mgmt-recoveryservices = overrideAzureMgmtPackage super.azure-mgmt-recoveryservices "2.0.0" "zip"
"sha256-p9MTfVxGD1CsLUQGHWCnC08nedTKhEt3QZtXJeZeCb4=";
- azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.14.0" "zip"
- "sha256-sXGUQEO6tba3m1l+0Iir/eptTt+XRXyTr8FxbDzr6I0=";
+ azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "0.15.0" "zip"
+ "sha256-y5akbJdqXZsRi+mecq1opR1Ye9yTxNblGp/zjiXEqFY=";
azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "19.0.0" "zip"
"bbb60bb9419633c2339569d4e097908638c7944e782b5aef0f5d9535085a9100";
@@ -175,14 +175,14 @@ let
azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "12.0.0" "zip"
"73054bd19866577e7e327518afc8f47e1639a11aea29a7466354b81804f4a676";
- azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "22.1.0" "zip"
- "sha256-Kq1BSEOu4PVEJ/iH91NsxRVdaFJyjUTf7vYzrFITX9w=";
+ azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "23.0.0" "zip"
+ "sha256-HrJrllukBJ3c8Q1PJYGHJfwDxJHDvnZTfQ10zrEUawQ=";
azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
"12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
- azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "8.0.0" "zip"
- "7aeb380af71fc35a71d6752fa25eb5b95fdb2a0027fa32e6f50bce87e2622916";
+ azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "9.0.0" "zip"
+ "041431c5a768ac652aac318a17f2a53b90db968494c79abbafec441d0be387ff";
azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "16.1.0" "zip"
"sha256-NlTIrOK4ho0OqcTHjHT1HobiMzDH2KY20TIlN0fm8/Q=";
@@ -250,8 +250,8 @@ let
azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
"b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
- azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "2.0.0" "zip"
- "0040e1c9c795f7bebe43647ff30b62cb0db7175175df5cbfa1e554a6a277b81e";
+ azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "4.0.0" "zip"
+ "sha256-5XQ3qTPn3qmwYY/nkODa3GP5hXc1NhrItfXoBiucKg0=";
azure-mgmt-redhatopenshift = overrideAzureMgmtPackage super.azure-mgmt-redhatopenshift "1.0.0" "zip"
"94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980";
@@ -265,8 +265,8 @@ let
azure-mgmt-search = overrideAzureMgmtPackage super.azure-mgmt-search "8.0.0" "zip"
"a96d50c88507233a293e757202deead980c67808f432b8e897c4df1ca088da7e";
- azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "1.0.0" "zip"
- "ae1cff598dfe80e93406e524c55c3f2cbffced9f9b7a5577e3375008a4c3bcad";
+ azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "2.0.0b1" "zip"
+ "sha256-8Ksa08w8EeZEKXIk2AQ4zHCmfvTDwzV/k9I67CVusIQ=";
azure-mgmt-signalr = overrideAzureMgmtPackage super.azure-mgmt-signalr "1.0.0b2" "zip"
"sha256-FTxY8qoihHG4OZuKT3sRRlKfORbIoqDqug9Ko+6S9dw=";
@@ -286,8 +286,8 @@ let
azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
"1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
- azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "4.1.0" "zip"
- "186g70slb259ybrr69zr2ibbmqgplnpncwxzg0nxp6rd7pml7d85";
+ azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "9.1.0" "zip"
+ "0ba9f10e1e8d03247a316e777d6f27fabf268d596dda2af56ac079fcdf5e7afe";
azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "9.1.0" "zip"
"sha256-zTXoHEo8+BKt5L3PH3zPS1t4qAHvlnNAASpqyf5h3tI=";
@@ -310,8 +310,8 @@ let
azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.61.0" "zip"
"0xfvx2dvfj3fbz4ngn860ipi4v6gxqajyjc8x92r8knhmniyxk7m";
- azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "18.0.0" "zip"
- "d17beb34273797fa89863632ff0e1eb9b6a55198abb8c7f05d84980762e5f71f";
+ azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "19.0.0" "zip"
+ "f05963e5a8696d0fd4dcadda4feecb9b382a380d2e461b3647704ac787d79876";
azure-mgmt-servicebus = overrideAzureMgmtPackage super.azure-mgmt-servicebus "6.0.0" "zip"
"f6c64ed97d22d0c03c4ca5fc7594bd0f3d4147659c10110160009b93f541298e";
@@ -355,11 +355,11 @@ let
});
azure-synapse-artifacts = super.azure-synapse-artifacts.overrideAttrs(oldAttrs: rec {
- version = "0.6.0";
+ version = "0.8.0";
src = super.fetchPypi {
inherit (oldAttrs) pname;
inherit version;
- sha256 = "ec113d37386b8787862baaf9da0318364a008004a377d20fdfca31cfe8d16210";
+ sha256 = "sha256-PU/f0L1maYT3vce8DHpgGMNaXUaoGjLdGTsHwDtSi3I=";
extension = "zip";
};
});
diff --git a/pkgs/tools/graphics/goverlay/default.nix b/pkgs/tools/graphics/goverlay/default.nix
index 2296743694ee..daddc4947df5 100644
--- a/pkgs/tools/graphics/goverlay/default.nix
+++ b/pkgs/tools/graphics/goverlay/default.nix
@@ -5,14 +5,15 @@
, fetchFromGitHub
, fpc
, lazarus-qt
-, qt5
-, libX11
+, wrapQtAppsHook
+, libGL
+, libGLU
, libqt5pas
+, libX11
, coreutils
, git
, gnugrep
, libnotify
-, mesa-demos
, polkit
, procps
, systemd
@@ -34,13 +35,13 @@ let
'';
in stdenv.mkDerivation rec {
pname = "goverlay";
- version = "0.6";
+ version = "0.6.3";
src = fetchFromGitHub {
owner = "benjamimgois";
repo = pname;
rev = version;
- hash = "sha256-E4SMUL9rpDSSdprX4fPyGCHCowdQavjhGIhV3r4jeiw=";
+ hash = "sha256-ZksQse0xWAtH+U6EjcGWT2BOG5dfSnm6XvZLLE5ynHs=";
};
outputs = [ "out" "man" ];
@@ -61,15 +62,17 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [
fpc
lazarus-qt
- qt5.wrapQtAppsHook
+ wrapQtAppsHook
];
buildInputs = [
- libX11
+ libGL
+ libGLU
libqt5pas
+ libX11
];
- NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
+ NIX_LDFLAGS = "-lGLU -rpath ${lib.makeLibraryPath buildInputs}";
buildPhase = ''
runHook preBuild
@@ -85,7 +88,6 @@ in stdenv.mkDerivation rec {
git
gnugrep
libnotify
- mesa-demos
polkit
procps
systemd
diff --git a/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch b/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
index 51d4dcdc54ed..e29507980adb 100644
--- a/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
+++ b/pkgs/tools/graphics/goverlay/find-xdg-data-files.patch
@@ -1,8 +1,8 @@
diff --git a/overlayunit.pas b/overlayunit.pas
-index de8725f..005f171 100644
+index a56cea7..9a4f547 100644
--- a/overlayunit.pas
+++ b/overlayunit.pas
-@@ -5377,7 +5377,7 @@ begin
+@@ -4880,7 +4880,7 @@ begin
//Determine Mangohud dependency status
//locate MangoHud and store result in tmp folder
@@ -11,7 +11,7 @@ index de8725f..005f171 100644
// Assign Text file dependency_mangohud to variable mangohudVAR
AssignFile(mangohudVAR, '/tmp/goverlay/dependency_mangohud');
-@@ -5386,7 +5386,7 @@ begin
+@@ -4889,7 +4889,7 @@ begin
CloseFile(mangohudVAR);
// Read String and store value on mangohuddependencyVALUE based on result
@@ -20,7 +20,7 @@ index de8725f..005f171 100644
mangohuddependencyVALUE := 1
else
mangohuddependencyVALUE := 0;
-@@ -5395,7 +5395,7 @@ begin
+@@ -4898,7 +4898,7 @@ begin
//Determine vkBasalt dependency staus
//locate vkBasalt and store result in tmp folder
@@ -29,7 +29,7 @@ index de8725f..005f171 100644
// Assign Text file dependency_mangohud to variable mangohudVAR
AssignFile(vkbasaltVAR, '/tmp/goverlay/dependency_vkbasalt');
-@@ -5404,7 +5404,7 @@ begin
+@@ -4907,7 +4907,7 @@ begin
CloseFile(vkbasaltVAR);
// Read String and store value on vkbasaltdependencyVALUE based on result
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index dea9aa6d97ed..fc7d909ca0dd 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -20,14 +20,14 @@ stdenv.mkDerivation {
# Determine version and revision from:
# https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
pname = "netpbm";
- version = "10.92.0";
+ version = "10.96.2";
outputs = [ "bin" "out" "dev" ];
src = fetchsvn {
url = "https://svn.code.sf.net/p/netpbm/code/advanced";
- rev = "3972";
- sha256 = "09fpy4n4f867j23pr3b719wpvp8hjrr4drxp0r1csw74p8j6vfy3";
+ rev = "4158";
+ sha256 = "NK8GXCvCEnbQJWvVngB5UMOVmfsiyU4Fq0JIY9UNSjo=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index 5d812f5867cc..73010f8d944e 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "lf";
- version = "25";
+ version = "26";
src = fetchFromGitHub {
owner = "gokcehan";
repo = "lf";
rev = "r${version}";
- sha256 = "sha256-5/OfEWgtB9R3XRJ16ponf+bBVGAXkqPq8IlB8+zyjAQ=";
+ sha256 = "0a2kybaajpmhlq708fsdyyab388lkmz17gfn0qcv352i2d4lli0s";
};
vendorSha256 = "sha256-ujQh4aE++K/fn3PJqkAbTtwRyJPSI9TJQ1DvwLF9etU=";
@@ -20,7 +20,7 @@ buildGoModule rec {
postInstall = ''
install -D --mode=444 lf.desktop $out/share/applications/lf.desktop
installManPage lf.1
- installShellCompletion etc/lf.{zsh,fish}
+ installShellCompletion etc/lf.{bash,zsh,fish}
'';
meta = with lib; {
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 5824e9cc4952..5cbda62e51b4 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "trash-cli";
- version = "0.21.7.24";
+ version = "0.21.10.24";
src = fetchFromGitHub {
owner = "andreafrancia";
repo = "trash-cli";
rev = version;
- sha256 = "082mfl4mza4xkm3fdn5aka9rsbd8c149qj3cqqk62idrnszmgzg5";
+ sha256 = "01is32lk6prwhajvlmgn3xs4fcpmiqivizcqkj9k80jx6mqjifzs";
};
propagatedBuildInputs = [ python3Packages.psutil ];
diff --git a/pkgs/tools/networking/dnscrypt-proxy2/default.nix b/pkgs/tools/networking/dnscrypt-proxy2/default.nix
index ced5b4774653..af4f1db4cd1d 100644
--- a/pkgs/tools/networking/dnscrypt-proxy2/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy2/default.nix
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "dnscrypt-proxy2";
- version = "2.1.0";
+ version = "2.1.1";
vendorSha256 = null;
@@ -12,7 +12,7 @@ buildGoModule rec {
owner = "DNSCrypt";
repo = "dnscrypt-proxy";
rev = version;
- sha256 = "sha256-HU5iy1dJbCp/PHnJjLi6MM+axz5Nrlcad5GEkD2p874=";
+ sha256 = "sha256-BtH/h2HejXDWSoqWRTjZXMLYDRoMe8lSUDX6Gay1gA8=";
};
meta = with lib; {
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
index 045ead7569db..15fa401ec062 100644
--- a/pkgs/tools/networking/getmail6/default.nix
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "getmail6";
- version = "6.18.4";
+ version = "6.18.5";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "1pxrwqpg8vnrrljigzzaq8g2g6nx55x7a8q032bp4wqyhc6jhpxq";
+ sha256 = "1bckrnvjkkbrybs9ccknd4vakzvd7vpp541p2cpv4isaizyxp2ji";
};
# needs a Docker setup
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index 9b7f78fa3b51..612ef69be585 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-release";
- version = "0.17.1";
+ version = "0.18.2";
src = fetchFromGitHub {
owner = "crate-ci";
repo = "cargo-release";
rev = "v${version}";
- sha256 = "sha256-zQwgnZFYXYG1NWzC9ZultTUlU+o/Sr2u3CnRXzr+Lk8=";
+ sha256 = "sha256-DsFa+bt8McpoLb3JC3EqDwFX0H/ynXosiRThOhRceLU=";
};
- cargoSha256 = "sha256-ORv5O7DhZhmmOM5RnRIIe/WBU77iyROPIRGMJikUCgo=";
+ cargoSha256 = "sha256-cwPyCRg3NOxmkoy0qdqlyeTM43nz0Yw2/nxe418rXC4=";
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix
index 75de1caa2db9..09a5ddbe872a 100644
--- a/pkgs/tools/package-management/nix-du/default.nix
+++ b/pkgs/tools/package-management/nix-du/default.nix
@@ -1,17 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, nix, boost, graphviz, Security, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, nix
+, nlohmann_json
+, boost
+, graphviz
+, Security
+, pkg-config
+}:
rustPlatform.buildRustPackage rec {
pname = "nix-du";
- version = "0.3.4";
+ version = "0.4.0";
src = fetchFromGitHub {
owner = "symphorien";
repo = "nix-du";
rev = "v${version}";
- sha256 = "0iwlprjbphwsrxdhgsxa8ja73snsyh0rdxrpsf1ygid2ky5vc83f";
+ sha256 = "0nl451xfby8krxl2wyn91mm0rvacj1718qbqw6k56dwsqlnnxmx0";
};
- cargoSha256 = "19fwkw9iswzkhqgfq7pmcabqmq5c7vvirwaxbfjshkwcgn47rgjl";
+ cargoSha256 = "0swdlp3qdisr8gxihg5syplzssggx9avmdb2w70056436046gs1r";
doCheck = true;
checkInputs = [ nix graphviz ];
@@ -19,6 +29,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [
boost
nix
+ nlohmann_json
] ++ lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 4f0ab0297506..2374aa1489fa 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "acpica-tools";
- version = "20210730";
+ version = "20210930";
src = fetchurl {
url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
- sha256 = "1pmm977nyl3bs71ipzcl4dh30qm8x9wm2p2ml0m62rl62kai832a";
+ sha256 = "08a8q174ac3jwxnd8q8iqc3cckwc2f7ncrc6f3171g0n38l2mn1w";
};
NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/tools/system/honcho/default.nix b/pkgs/tools/system/honcho/default.nix
index 17fa94893336..66d217296565 100644
--- a/pkgs/tools/system/honcho/default.nix
+++ b/pkgs/tools/system/honcho/default.nix
@@ -8,30 +8,21 @@ in
python3Packages.buildPythonApplication rec {
name = "${pname}-${version}";
- version = "1.0.1";
+ version = "1.1.0";
src = fetchFromGitHub {
owner = "nickstenning";
repo = "honcho";
rev = "v${version}";
- sha256 = "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b";
+ sha256 = "1y0r8dw4pqcq7r4n58ixjdg1iy60lp0gxsd7d2jmhals16ij71rj";
};
+ propagatedBuildInputs = [ python3Packages.setuptools ];
+
checkInputs = with python3Packages; [ jinja2 pytest mock coverage ];
- buildPhase = ''
- ${python.interpreter} setup.py build
- '';
-
- installPhase = ''
- mkdir -p "$out/${python.sitePackages}"
-
- export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
-
- ${python.interpreter} setup.py install \
- --install-lib=$out/${python.sitePackages} \
- --prefix="$out"
- '';
+ # missing plugins
+ doCheck = false;
checkPhase = ''
runHook preCheck
diff --git a/pkgs/tools/system/uptimed/default.nix b/pkgs/tools/system/uptimed/default.nix
index 8e0265755355..219d5235735a 100644
--- a/pkgs/tools/system/uptimed/default.nix
+++ b/pkgs/tools/system/uptimed/default.nix
@@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "uptimed";
- version = "0.4.4";
+ version = "0.4.5";
src = fetchFromGitHub {
- sha256 = "sha256-DSvxE9BZpjpDQi2SxbM5iuAAHgUCaiwimcgxivD4mck=";
+ sha256 = "sha256-jvdodclZhN7WF7bsR3DHaLb8fAEABap8OAfmTZF1804=";
rev = "v${version}";
repo = "uptimed";
owner = "rpodgorny";
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
index 73f602cbf695..d6be2f942575 100644
--- a/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -21,15 +21,15 @@ let
in
buildGoModule rec {
pname = "distrobuilder";
- version = "1.3";
+ version = "2.0";
- vendorSha256 = "sha256-FKnpoLA4enZ1vGSJQFLbp/OjoEgdxagL73ucxUgIoKY=";
+ vendorSha256 = "sha256-hcp+ufJFgFLBE4i2quIwhvrwDTes3saXNHHr9XXBc8E=";
src = fetchFromGitHub {
owner = "lxc";
repo = "distrobuilder";
rev = "distrobuilder-${version}";
- sha256 = "sha256-cvxbJbg9yTcAPWQccH+1nQivwRh8CIN3Cga2HKY8VlQ=";
+ sha256 = "sha256-Px8mo2dwHNVjMWtzsa/4fLxlcbYkhIc7W8aR9DR85vc=";
fetchSubmodules = false;
};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e692f29295c..3ba9107f8dfe 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5846,7 +5846,9 @@ with pkgs;
govc = callPackage ../tools/virtualization/govc { };
- goverlay = callPackage ../tools/graphics/goverlay { };
+ goverlay = callPackage ../tools/graphics/goverlay {
+ inherit (qt5) wrapQtAppsHook;
+ };
gpart = callPackage ../tools/filesystems/gpart { };
@@ -13504,6 +13506,7 @@ with pkgs;
pipenv = callPackage ../development/tools/pipenv {};
pipewire = callPackage ../development/libraries/pipewire {};
+ pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix {};
pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix {};
pyradio = callPackage ../applications/audio/pyradio {};
@@ -19868,6 +19871,8 @@ with pkgs;
CoreText IOSurface ImageIO OpenGL GLUT;
};
+ vtk_8_withQt5 = vtk_8.override { enableQt = true; };
+
vtk_9 = libsForQt515.callPackage ../development/libraries/vtk/9.x.nix {
inherit (darwin) libobjc;
inherit (darwin.apple_sdk.libs) xpc;
@@ -19876,8 +19881,10 @@ with pkgs;
CoreText IOSurface ImageIO OpenGL GLUT;
};
+ vtk_9_withQt5 = vtk_9.override { enableQt = true; };
+
vtk = vtk_8;
- vtkWithQt5 = vtk.override { enableQt = true; };
+ vtkWithQt5 = vtk_8_withQt5;
vulkan-extension-layer = callPackage ../tools/graphics/vulkan-extension-layer { };
vulkan-headers = callPackage ../development/libraries/vulkan-headers { };
@@ -24546,6 +24553,10 @@ with pkgs;
enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { };
+ entangle = callPackage ../applications/video/entangle {
+ inherit (gst_all_1) gstreamer gst-plugins-base;
+ };
+
eolie = callPackage ../applications/networking/browsers/eolie { };
epdfview = callPackage ../applications/misc/epdfview { };
@@ -31878,6 +31889,8 @@ with pkgs;
cups-kyocera = callPackage ../misc/cups/drivers/kyocera {};
+ cups-kyocera-ecosys-m2x35-40-p2x35-40dnw = callPackage ../misc/cups/drivers/kyocera-ecosys-m2x35-40-p2x35-40dnw {};
+
cups-kyocera-ecosys-m552x-p502x = callPackage ../misc/cups/drivers/kyocera-ecosys-m552x-p502x {};
cups-kyodialog3 = callPackage ../misc/cups/drivers/kyodialog3 {};
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 99d2e16d434f..534bef521ed3 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -3518,6 +3518,26 @@ let
};
};
+ CompressRawLzma = buildPerlPackage {
+ pname = "Compress-Raw-Lzma";
+ version = "2.101";
+ src = fetchurl {
+ url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Lzma-2.101.tar.gz";
+ sha256 = "bb267fd31981eda11f444038f8a0fca4b94a51ae61b2db71246abf6a4d322a36";
+ };
+ preConfigure = ''
+ cat > config.in <