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 <