diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 72c38a9d7c80..a26b96ce3ea0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16713,6 +16713,12 @@ githubId = 145816; name = "David McKay"; }; + raylas = { + email = "r@raymond.sh"; + github = "raylas"; + githubId = 8099415; + name = "Raymond Douglas"; + }; rayslash = { email = "stevemathewjoy@tutanota.com"; github = "rayslash"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 093995d13443..668b28ea3c26 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -108,6 +108,8 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi - [dnsproxy](https://github.com/AdguardTeam/dnsproxy), a simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support. Available as [services.dnsproxy](#opt-services.dnsproxy.enable). +- [manticoresearch](https://manticoresearch.com), easy to use open source fast database for search. Available as [services.manticore](#opt-services.manticore.enable). + - [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training. - [ollama](https://ollama.ai), server for running large language models locally. @@ -183,6 +185,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - [Mealie](https://nightly.mealie.io/), a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in NuxtJS for a pleasant user experience for the whole family. Available as [services.mealie](#opt-services.mealie.enable) +- [Sunshine](https://app.lizardbyte.dev/Sunshine), a self-hosted game stream host for Moonlight. Available as [services.sunshine](#opt-services.sunshine.enable). + - [Uni-Sync](https://github.com/EightB1ts/uni-sync), a synchronization tool for Lian Li Uni Controllers. Available as [hardware.uni-sync](#opt-hardware.uni-sync.enable) - [prometheus-nats-exporter](https://github.com/nats-io/prometheus-nats-exporter), a Prometheus exporter for NATS. Available as [services.prometheus.exporters.nats](#opt-services.prometheus.exporters.nats.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 936cea1f3d51..29c373788c1f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1161,6 +1161,7 @@ ./services/networking/strongswan.nix ./services/networking/stubby.nix ./services/networking/stunnel.nix + ./services/networking/sunshine.nix ./services/networking/supplicant.nix ./services/networking/supybot.nix ./services/networking/syncplay.nix @@ -1224,6 +1225,7 @@ ./services/search/elasticsearch-curator.nix ./services/search/elasticsearch.nix ./services/search/hound.nix + ./services/search/manticore.nix ./services/search/meilisearch.nix ./services/search/opensearch.nix ./services/search/qdrant.nix diff --git a/nixos/modules/services/networking/deconz.nix b/nixos/modules/services/networking/deconz.nix index eaa7759d0407..88b0ee612d87 100644 --- a/nixos/modules/services/networking/deconz.nix +++ b/nixos/modules/services/networking/deconz.nix @@ -95,7 +95,7 @@ in ''; postStart = '' # Delay signalling service readiness until it's actually up. - while ! "${lib.getExe pkgs.curl}" -sSfl -o /dev/null "http://${cfg.listenAddress}:${toString cfg.httpPort}"; do + while ! "${lib.getExe pkgs.curl}" -sSfL -o /dev/null "http://${cfg.listenAddress}:${toString cfg.httpPort}"; do echo "Waiting for TCP port ${toString cfg.httpPort} to be open..." sleep 1 done diff --git a/nixos/modules/services/networking/sunshine.nix b/nixos/modules/services/networking/sunshine.nix new file mode 100644 index 000000000000..c115b9cd5cf9 --- /dev/null +++ b/nixos/modules/services/networking/sunshine.nix @@ -0,0 +1,156 @@ +{ config, lib, pkgs, utils, ... }: +let + inherit (lib) mkEnableOption mkPackageOption mkOption mkIf mkDefault types optionals getExe; + inherit (utils) escapeSystemdExecArgs; + cfg = config.services.sunshine; + + # ports used are offset from a single base port, see https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#port + generatePorts = port: offsets: map (offset: port + offset) offsets; + defaultPort = 47989; + + appsFormat = pkgs.formats.json { }; + settingsFormat = pkgs.formats.keyValue { }; + + appsFile = appsFormat.generate "apps.json" cfg.applications; + configFile = settingsFormat.generate "sunshine.conf" cfg.settings; +in +{ + options.services.sunshine = with types; { + enable = mkEnableOption "Sunshine, a self-hosted game stream host for Moonlight"; + package = mkPackageOption pkgs "sunshine" { }; + openFirewall = mkOption { + type = bool; + default = false; + description = '' + Whether to automatically open ports in the firewall. + ''; + }; + capSysAdmin = mkOption { + type = bool; + default = false; + description = '' + Whether to give the Sunshine binary CAP_SYS_ADMIN, required for DRM/KMS screen capture. + ''; + }; + settings = mkOption { + default = { }; + description = '' + Settings to be rendered into the configuration file. If this is set, no configuration is possible from the web UI. + + See https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#configuration for syntax. + ''; + example = '' + { + sunshine_name = "nixos"; + } + ''; + type = submodule (settings: { + freeformType = settingsFormat.type; + options.port = mkOption { + type = port; + default = defaultPort; + description = '' + Base port -- others used are offset from this one, see https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#port for details. + ''; + }; + }); + }; + applications = mkOption { + default = { }; + description = '' + Configuration for applications to be exposed to Moonlight. If this is set, no configuration is possible from the web UI, and must be by the `settings` option. + ''; + example = '' + { + env = { + PATH = "$(PATH):$(HOME)/.local/bin"; + }; + apps = [ + { + name = "1440p Desktop"; + prep-cmd = [ + { + do = "''${pkgs.kdePackages.libkscreen}/bin/kscreen-doctor output.DP-4.mode.2560x1440@144"; + undo = "''${pkgs.kdePackages.libkscreen}/bin/kscreen-doctor output.DP-4.mode.3440x1440@144"; + } + ]; + exclude-global-prep-cmd = "false"; + auto-detach = "true"; + } + ]; + } + ''; + type = submodule { + options = { + env = mkOption { + default = { }; + description = '' + Environment variables to be set for the applications. + ''; + type = attrsOf str; + }; + apps = mkOption { + default = [ ]; + description = '' + Applications to be exposed to Moonlight. + ''; + type = listOf attrs; + }; + }; + }; + }; + }; + + config = mkIf cfg.enable { + services.sunshine.settings.file_apps = mkIf (cfg.applications.apps != [ ]) "${appsFile}"; + + environment.systemPackages = [ + cfg.package + ]; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = generatePorts cfg.settings.port [ (-5) 0 1 21 ]; + allowedUDPPorts = generatePorts cfg.settings.port [ 9 10 11 13 21 ]; + }; + + boot.kernelModules = [ "uinput" ]; + + services.udev.packages = [ cfg.package ]; + + services.avahi = { + enable = mkDefault true; + publish = { + enable = mkDefault true; + userServices = mkDefault true; + }; + }; + + security.wrappers.sunshine = mkIf cfg.capSysAdmin { + owner = "root"; + group = "root"; + capabilities = "cap_sys_admin+p"; + source = getExe cfg.package; + }; + + systemd.user.services.sunshine = { + description = "Self-hosted game stream host for Moonlight"; + + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + + startLimitIntervalSec = 500; + startLimitBurst = 5; + + serviceConfig = { + # only add configFile if an application or a setting other than the default port is set to allow configuration from web UI + ExecStart = escapeSystemdExecArgs ([ + (if cfg.capSysAdmin then "${config.security.wrapperDir}/sunshine" else "${getExe cfg.package}") + ] ++ optionals (cfg.applications.apps != [ ] || (builtins.length (builtins.attrNames cfg.settings) > 1 || cfg.settings.port != defaultPort)) [ "${configFile}" ]); + Restart = "on-failure"; + RestartSec = "5s"; + }; + }; + }; +} diff --git a/nixos/modules/services/search/manticore.nix b/nixos/modules/services/search/manticore.nix new file mode 100644 index 000000000000..a8fcd9d0b382 --- /dev/null +++ b/nixos/modules/services/search/manticore.nix @@ -0,0 +1,131 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.manticore; + format = pkgs.formats.json { }; + + toSphinx = { + mkKeyValue ? mkKeyValueDefault {} "=", + listsAsDuplicateKeys ? true + }: attrsOfAttrs: + let + # map function to string for each key val + mapAttrsToStringsSep = sep: mapFn: attrs: + concatStringsSep sep + (mapAttrsToList mapFn attrs); + mkSection = sectName: sectValues: '' + ${sectName} { + '' + lib.generators.toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues + ''}''; + in + # map input to ini sections + mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; + + configFile = pkgs.writeText "manticore.conf" ( + toSphinx { + mkKeyValue = k: v: " ${k} = ${v}"; + } cfg.settings + ); + +in { + + options = { + services.manticore = { + + enable = mkEnableOption "Manticoresearch"; + + settings = mkOption { + default = { + searchd = { + listen = [ + "127.0.0.1:9312" + "127.0.0.1:9306:mysql" + "127.0.0.1:9308:http" + ]; + log = "/var/log/manticore/searchd.log"; + query_log = "/var/log/manticore/query.log"; + pid_file = "/run/manticore/searchd.pid"; + data_dir = "/var/lib/manticore"; + }; + }; + description = '' + Configuration for Manticoresearch. See + + for more information. + ''; + type = types.submodule { + freeformType = format.type; + }; + example = literalExpression '' + { + searchd = { + listen = [ + "127.0.0.1:9312" + "127.0.0.1:9306:mysql" + "127.0.0.1:9308:http" + ]; + log = "/var/log/manticore/searchd.log"; + query_log = "/var/log/manticore/query.log"; + pid_file = "/run/manticore/searchd.pid"; + data_dir = "/var/lib/manticore"; + }; + } + ''; + }; + + }; + }; + + config = mkIf cfg.enable { + + systemd = { + packages = [ pkgs.manticoresearch ]; + services.manticore = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = [ + "" + "${pkgs.manticoresearch}/bin/searchd --config ${configFile}" + ]; + ExecStop = [ + "" + "${pkgs.manticoresearch}/bin/searchd --config ${configFile} --stopwait" + ]; + ExecStartPre = [ "" ]; + DynamicUser = true; + LogsDirectory = "manticore"; + RuntimeDirectory = "manticore"; + StateDirectory = "manticore"; + ReadWritePaths = ""; + CapabilityBoundingSet = ""; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + PrivateDevices = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged" ]; + RestrictRealtime = true; + LockPersonality = true; + MemoryDenyWriteExecute = true; + UMask = "0066"; + ProtectHostname = true; + } // lib.optionalAttrs (cfg.settings.searchd.pid_file != null) { + PIDFile = cfg.settings.searchd.pid_file; + }; + }; + }; + + }; + + meta.maintainers = with lib.maintainers; [ onny ]; + +} diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix index bcdf7d6512d5..7e012dee02cb 100644 --- a/nixos/modules/services/system/earlyoom.nix +++ b/nixos/modules/services/system/earlyoom.nix @@ -4,15 +4,29 @@ let cfg = config.services.earlyoom; inherit (lib) - mkDefault mkEnableOption mkIf mkOption types - mkRemovedOptionModule literalExpression - escapeShellArg concatStringsSep optional optionalString; - + concatStringsSep + escapeShellArg + literalExpression + mkDefault + mkEnableOption + mkIf + mkOption + mkPackageOption + mkRemovedOptionModule + optionalString + optionals + types; in { + meta = { + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; + options.services.earlyoom = { enable = mkEnableOption "early out of memory killing"; + package = mkPackageOption pkgs "earlyoom" { }; + freeMemThreshold = mkOption { type = types.ints.between 1 100; default = 10; @@ -138,22 +152,21 @@ in systemd.services.earlyoom = { description = "Early OOM Daemon for Linux"; wantedBy = [ "multi-user.target" ]; - path = optional cfg.enableNotifications pkgs.dbus; + path = optionals cfg.enableNotifications [ pkgs.dbus ]; serviceConfig = { StandardError = "journal"; ExecStart = concatStringsSep " " ([ - "${pkgs.earlyoom}/bin/earlyoom" + "${lib.getExe cfg.package}" ("-m ${toString cfg.freeMemThreshold}" - + optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}") + + optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}") ("-s ${toString cfg.freeSwapThreshold}" - + optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}") + + optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}") "-r ${toString cfg.reportInterval}" ] - ++ optional cfg.enableDebugInfo "-d" - ++ optional cfg.enableNotifications "-n" - ++ optional (cfg.killHook != null) "-N ${escapeShellArg cfg.killHook}" - ++ cfg.extraArgs - ); + ++ optionals cfg.enableDebugInfo [ "-d" ] + ++ optionals cfg.enableNotifications [ "-n" ] + ++ optionals (cfg.killHook != null) [ "-N ${escapeShellArg cfg.killHook}" ] + ++ cfg.extraArgs); }; }; }; diff --git a/nixos/release-small.nix b/nixos/release-small.nix index d4de2fd8df4f..091c2b1f305b 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -81,6 +81,7 @@ in rec { php postgresql python + release-checks rsyslog stdenv subversion diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 5abcbabf18e1..232f10d7c24d 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -858,6 +858,7 @@ in { stunnel = handleTest ./stunnel.nix {}; sudo = handleTest ./sudo.nix {}; sudo-rs = handleTest ./sudo-rs.nix {}; + sunshine = handleTest ./sunshine.nix {}; suwayomi-server = handleTest ./suwayomi-server.nix {}; swap-file-btrfs = handleTest ./swap-file-btrfs.nix {}; swap-partition = handleTest ./swap-partition.nix {}; diff --git a/nixos/tests/earlyoom.nix b/nixos/tests/earlyoom.nix index 75bdf56899b3..b7850ddeaaab 100644 --- a/nixos/tests/earlyoom.nix +++ b/nixos/tests/earlyoom.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ lib, ... }: { name = "earlyoom"; meta = { - maintainers = with lib.maintainers; [ ncfavier ]; + maintainers = with lib.maintainers; [ ncfavier AndersonTorres ]; }; machine = { diff --git a/nixos/tests/sunshine.nix b/nixos/tests/sunshine.nix new file mode 100644 index 000000000000..7c7e86de203a --- /dev/null +++ b/nixos/tests/sunshine.nix @@ -0,0 +1,70 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "sunshine"; + meta = { + # test is flaky on aarch64 + broken = pkgs.stdenv.isAarch64; + maintainers = [ lib.maintainers.devusb ]; + }; + + nodes.sunshine = { config, pkgs, ... }: { + imports = [ + ./common/x11.nix + ]; + + services.sunshine = { + enable = true; + openFirewall = true; + settings = { + capture = "x11"; + encoder = "software"; + output_name = 0; + }; + }; + + environment.systemPackages = with pkgs; [ + gxmessage + ]; + + }; + + nodes.moonlight = { config, pkgs, ... }: { + imports = [ + ./common/x11.nix + ]; + + environment.systemPackages = with pkgs; [ + moonlight-qt + ]; + + }; + + enableOCR = true; + + testScript = '' + # start the tests, wait for sunshine to be up + start_all() + sunshine.wait_for_open_port(48010,"localhost") + + # set the admin username/password, restart sunshine + sunshine.execute("sunshine --creds sunshine sunshine") + sunshine.systemctl("restart sunshine","root") + sunshine.wait_for_open_port(48010,"localhost") + + # initiate pairing from moonlight + moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown") + moonlight.wait_for_console_text("Executing request") + + # respond to pairing request from sunshine + sunshine.succeed("curl --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin") + + # close moonlight once pairing complete + moonlight.send_key("kp_enter") + + # put words on the sunshine screen for moonlight to see + sunshine.execute("gxmessage 'hello world' -center -font 'sans 75' >&2 & disown") + + # connect to sunshine from moonlight and look for the words + moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown") + moonlight.wait_for_text("hello world") + ''; +}) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 5cf2b7b53d06..d7c8380930e7 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1,27 +1,29 @@ # Before adding a new extension, read ./README.md -{ config -, lib -, fetchurl -, callPackage -, vscode-utils -, python3Packages -, jdk -, llvmPackages -, llvmPackages_14 -, protobuf -, jq -, moreutils -, autoPatchelfHook -, zlib -, stdenv +{ + autoPatchelfHook, + callPackage, + config, + fetchurl, + jdk, + jq, + lib, + llvmPackages, + llvmPackages_14, + moreutils, + protobuf, + python3Packages, + stdenv, + vscode-utils, + zlib, }: let inherit (vscode-utils) buildVscodeMarketplaceExtension; - baseExtensions = self: lib.mapAttrs (_n: lib.recurseIntoAttrs) - { + baseExtensions = + self: + lib.mapAttrs (_n: lib.recurseIntoAttrs) { "13xforever".language-x86-64-assembly = buildVscodeMarketplaceExtension { mktplcRef = { name = "language-x86-64-assembly"; @@ -142,6 +144,23 @@ let }; }; + adzero.vscode-sievehighlight = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-sievehighlight"; + publisher = "adzero"; + version = "1.0.6"; + hash = "sha256-8Ompv792eI2kIH+5+KPL9jAf88xsMGQewHEQwi8BhoQ="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/adzero.vscode-sievehighlight/changelog"; + description = "A Visual Studio Code extension to enable syntax highlight support for Sieve mail filtering language"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=adzero.vscode-sievehighlight"; + homepage = "https://github.com/adzero/vscode-sievehighlight"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.sebtm ]; + }; + }; + alanz.vscode-hie-server = buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-hie-server"; @@ -316,8 +335,7 @@ let }; meta = { description = "An arctic, north-bluish clean and elegant Visual Studio Code theme."; - downloadPage = - "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code"; homepage = "https://github.com/arcticicestudio/nord-visual-studio-code"; license = lib.licenses.mit; maintainers = [ lib.maintainers.imgabe ]; @@ -363,7 +381,7 @@ let homepage = "https://github.com/asdine/vscode-cue"; changelog = "https://marketplace.visualstudio.com/items/asdine.cue/changelog"; license = lib.licenses.mit; - maintainers = [lib.maintainers.matthewpi]; + maintainers = [ lib.maintainers.matthewpi ]; }; }; @@ -735,30 +753,33 @@ let }; charliermarsh.ruff = buildVscodeMarketplaceExtension { - mktplcRef = let - sources = { - "x86_64-linux" = { - arch = "linux-x64"; - hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc="; + mktplcRef = + let + sources = { + "x86_64-linux" = { + arch = "linux-x64"; + hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc="; + }; + "x86_64-darwin" = { + arch = "darwin-x64"; + hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw="; + }; + "aarch64-linux" = { + arch = "linux-arm64"; + hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0="; + }; + "aarch64-darwin" = { + arch = "darwin-arm64"; + hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc="; + }; }; - "x86_64-darwin" = { - arch = "darwin-x64"; - hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw="; - }; - "aarch64-linux" = { - arch = "linux-arm64"; - hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0="; - }; - "aarch64-darwin" = { - arch = "darwin-arm64"; - hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc="; - }; - }; - in { - name = "ruff"; - publisher = "charliermarsh"; - version = "2024.4.0"; - } // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}"); + in + { + name = "ruff"; + publisher = "charliermarsh"; + version = "2024.4.0"; + } + // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}"); meta = { license = lib.licenses.mit; changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog"; @@ -917,7 +938,9 @@ let }; }; - contextmapper.context-mapper-vscode-extension = callPackage ./contextmapper.context-mapper-vscode-extension { }; + contextmapper.context-mapper-vscode-extension = + callPackage ./contextmapper.context-mapper-vscode-extension + { }; continue.continue = buildVscodeMarketplaceExtension { mktplcRef = @@ -945,13 +968,10 @@ let name = "continue"; publisher = "Continue"; version = "0.8.22"; - } // sources.${stdenv.system}; - nativeBuildInputs = [ - autoPatchelfHook - ]; - buildInputs = [ - stdenv.cc.cc.lib - ]; + } + // sources.${stdenv.system}; + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ stdenv.cc.cc.lib ]; postInstall = '' cd "$out/$installPrefix" substituteInPlace "out/extension.js" \ @@ -963,7 +983,12 @@ let homepage = "https://github.com/continuedev/continue"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.raroh73 ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; }; @@ -1130,34 +1155,35 @@ let }; devsense.phptools-vscode = buildVscodeMarketplaceExtension { - mktplcRef = let - sources = { - "x86_64-linux" = { - arch = "linux-x64"; - hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA="; + mktplcRef = + let + sources = { + "x86_64-linux" = { + arch = "linux-x64"; + hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA="; + }; + "x86_64-darwin" = { + arch = "darwin-x64"; + sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy"; + }; + "aarch64-linux" = { + arch = "linux-arm64"; + sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp"; + }; + "aarch64-darwin" = { + arch = "darwin-arm64"; + sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi"; + }; }; - "x86_64-darwin" = { - arch = "darwin-x64"; - sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy"; - }; - "aarch64-linux" = { - arch = "linux-arm64"; - sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp"; - }; - "aarch64-darwin" = { - arch = "darwin-arm64"; - sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi"; - }; - }; - in { - name = "phptools-vscode"; - publisher = "devsense"; - version = "1.41.14332"; - } // sources.${stdenv.system}; + in + { + name = "phptools-vscode"; + publisher = "devsense"; + version = "1.41.14332"; + } + // sources.${stdenv.system}; - nativeBuildInputs = [ - autoPatchelfHook - ]; + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ zlib @@ -1175,7 +1201,12 @@ let homepage = "https://github.com/DEVSENSE/phptools-docs"; license = lib.licenses.unfree; maintainers = [ lib.maintainers.drupol ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "aarch64-linux" + ]; }; }; @@ -1203,7 +1234,9 @@ let version = "0.0.4"; sha256 = "0sa04srhqmngmw71slnrapi2xay0arj42j4gkan8i11n7bfi1xpf"; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; dhall.vscode-dhall-lsp-server = buildVscodeMarketplaceExtension { @@ -1213,7 +1246,9 @@ let version = "0.0.4"; sha256 = "1zin7s827bpf9yvzpxpr5n6mv0b5rhh3civsqzmj52mdq365d2js"; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; dhedgecock.radical-vscode = buildVscodeMarketplaceExtension { @@ -1240,7 +1275,9 @@ let version = "0.0.8"; hash = "sha256-BQPiSxiPPjdNPtIJI8L+558DVKxngPAI9sscpcJSJUI="; }; - meta = { license = lib.licenses.asl20; }; + meta = { + license = lib.licenses.asl20; + }; }; divyanshuagrawal.competitive-programming-helper = buildVscodeMarketplaceExtension { @@ -1794,8 +1831,7 @@ let }; meta = { description = "GitHub theme for VS Code"; - downloadPage = - "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme"; homepage = "https://github.com/primer/github-vscode-theme"; license = lib.licenses.mit; maintainers = [ lib.maintainers.hugolgst ]; @@ -1830,7 +1866,9 @@ let version = "0.78.1"; hash = "sha256-T9oW6o4ItZfR8E1qrcH3nhMvVB6ihi4kpiDz7YGHOcI="; }; - meta = { license = lib.licenses.mit; }; + meta = { + license = lib.licenses.mit; + }; }; gitlab.gitlab-workflow = buildVscodeMarketplaceExtension { @@ -2439,9 +2477,15 @@ let hash = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ="; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; - buildInputs = [ cfn-lint pydot ]; + buildInputs = [ + cfn-lint + pydot + ]; postInstall = '' cd "$out/$installPrefix" @@ -4179,7 +4223,11 @@ let downloadPage = "https://marketplace.visualstudio.com/items?itemName=uiua-lang.uiua-vscode"; homepage = "https://github.com/uiua-lang/uiua-vscode"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ tomasajt wackbyte defelo ]; + maintainers = with lib.maintainers; [ + tomasajt + wackbyte + defelo + ]; }; }; @@ -4249,7 +4297,10 @@ let sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6"; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; buildInputs = [ jdk ]; @@ -4693,7 +4744,10 @@ let version = "0.5.4"; sha256 = "08dfl5h1k6s542qw5qx2czm1wb37ck9w2vpjz44kp2az352nmksb"; }; - nativeBuildInputs = [ jq moreutils ]; + nativeBuildInputs = [ + jq + moreutils + ]; postInstall = '' cd "$out/$installPrefix" jq '.contributes.configuration.properties.protoc.properties.path.default = "${protobuf}/bin/protoc"' package.json | sponge package.json diff --git a/pkgs/applications/emulators/cemu/default.nix b/pkgs/applications/emulators/cemu/default.nix index 2b3f5e28a8cf..26230f8d72a7 100644 --- a/pkgs/applications/emulators/cemu/default.nix +++ b/pkgs/applications/emulators/cemu/default.nix @@ -46,13 +46,13 @@ let in stdenv.mkDerivation rec { pname = "cemu"; - version = "2.0-74"; + version = "2.0-78"; src = fetchFromGitHub { owner = "cemu-project"; repo = "Cemu"; rev = "v${version}"; - hash = "sha256-taV2HEKRUQ7k5BpgA3nwVzX8qkTN02O9kqswjdCHod0="; + hash = "sha256-ivdqO44+8sDgOshUDFc+4eTgzcEDSiPPIawyktYpob4="; }; patches = [ diff --git a/pkgs/applications/emulators/mednafen/server.nix b/pkgs/applications/emulators/mednafen/server.nix deleted file mode 100644 index 3e11ff41d48d..000000000000 --- a/pkgs/applications/emulators/mednafen/server.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, stdenv, fetchurl }: - -stdenv.mkDerivation rec { - pname = "mednafen-server"; - version = "0.5.2"; - - src = fetchurl { - url = "https://mednafen.github.io/releases/files/mednafen-server-${version}.tar.xz"; - sha256 = "0xm7dj5nwnrsv69r72rcnlw03jm0l8rmrg3s05gjfvxyqmlb36dq"; - }; - - postInstall = "install -m 644 -Dt $out/share/mednafen-server standard.conf"; - - meta = with lib; { - description = "Netplay server for Mednafen"; - mainProgram = "mednafen-server"; - homepage = "https://mednafen.github.io/"; - license = licenses.gpl2; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/emulators/mednaffe/default.nix b/pkgs/applications/emulators/mednaffe/default.nix deleted file mode 100644 index 75a25a4bec3b..000000000000 --- a/pkgs/applications/emulators/mednaffe/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv -, lib -, fetchFromGitHub -, autoreconfHook -, pkg-config -, mednafen -, gtk3 -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "mednaffe"; - version = "0.9.2"; - - src = fetchFromGitHub { - owner = "AmatCoder"; - repo = "mednaffe"; - rev = version; - sha256 = "sha256-zvSAt6CMcgdoPpTTA5sPlQaWUw9LUMsR2Xg9jM2UaWY="; - }; - - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ]; - - buildInputs = [ gtk3 mednafen ]; - - enableParallelBuilding = true; - - preFixup = '' - gappsWrapperArgs+=( - --prefix PATH ':' "${mednafen}/bin" - ) - ''; - - meta = with lib; { - description = "GTK-based frontend for mednafen emulator"; - mainProgram = "mednaffe"; - homepage = "https://github.com/AmatCoder/mednaffe"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ sheenobu yana AndersonTorres ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index f9533663daa4..8fe269ddab23 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -75,7 +75,8 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://albertlauncher.github.io"; changelog = "https://github.com/albertlauncher/albert/blob/${finalAttrs.src.rev}/CHANGELOG.md"; - license = licenses.gpl3Plus; + # See: https://github.com/NixOS/nixpkgs/issues/279226 + license = licenses.unfree; maintainers = with maintainers; [ ericsagnes synthetica ]; mainProgram = "albert"; platforms = platforms.linux; diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix index e268dadd262d..f40dc6247476 100644 --- a/pkgs/applications/networking/cluster/linkerd/edge.nix +++ b/pkgs/applications/networking/cluster/linkerd/edge.nix @@ -2,7 +2,7 @@ (callPackage ./generic.nix { }) { channel = "edge"; - version = "24.4.2"; - sha256 = "0apwhbcnghy7b9kwalbhcgvgcrwv6s55gzlgax55qaa5lxm6r6yz"; + version = "24.4.4"; + sha256 = "07p4cgl4myv7kv9pxvxrvsqnl3vkd9ay5hngx5g6xds2sc8va306"; vendorHash = "sha256-bLTummNoDfGMYvtfSLxICgCFZEymPJcRWkQyWOSzKR8="; } diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix index 2e13a6637735..62b6e1c9a484 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix @@ -2,7 +2,7 @@ callPackage ./generic.nix { } rec { pname = "signal-desktop-beta"; dir = "Signal Beta"; - version = "7.4.0-beta.2"; + version = "7.6.0-beta.3"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb"; - hash = "sha256-oBkZ9BaKbmosTkC/OZFjt6PmU/9XqclyzbllwYPj3Q4="; + hash = "sha256-BbXogNB2BxFQTpvHw0JVOaCV2PQHEQbafSavVcBd/Fg="; } diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix index 0d4d46be06b4..130508f95e30 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix @@ -2,7 +2,7 @@ callPackage ./generic.nix { } rec { pname = "signal-desktop"; dir = "Signal"; - version = "7.4.0"; + version = "7.5.1"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - hash = "sha256-9a8Y8ncatynKspC/q0YxUWJj+nENr1ArwCZA9Ng8Mxk="; + hash = "sha256-afKR+P2YPkv4OMIr8LzWeAMZWr0zaJ1R0BQD87gQuSk="; } diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix index 9aaba98710e3..4109c5f04cf2 100644 --- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix @@ -26,19 +26,19 @@ let pname = "wire-desktop"; version = let - x86_64-darwin = "3.32.4589"; + x86_64-darwin = "3.35.4861"; in { inherit x86_64-darwin; aarch64-darwin = x86_64-darwin; - x86_64-linux = "3.32.3079"; + x86_64-linux = "3.35.3348"; }.${system} or throwSystem; hash = let - x86_64-darwin = "sha256-PDAZCnkgzlausdtwycK+PHfp+zmL33VnX6RzCsgBTZ4="; + x86_64-darwin = "sha256-QPxslMEz1jOH2LceFOdCyVDtpya1SfJ8GWMIAIhie4U="; in { inherit x86_64-darwin; aarch64-darwin = x86_64-darwin; - x86_64-linux = "sha256-+4aRis141ctI50BtBwipoVtPoMGRs82ENqZ+y2ZlL58="; + x86_64-linux = "sha256-KtDUuAzD53mFJ0+yywp0Q2/hx9MGsOhFjRLWsZAd+h0="; }.${system} or throwSystem; meta = with lib; { diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix index 51fde794a1c8..195fdc855642 100644 --- a/pkgs/applications/networking/maestral-qt/default.nix +++ b/pkgs/applications/networking/maestral-qt/default.nix @@ -10,14 +10,14 @@ python3.pkgs.buildPythonApplication rec { pname = "maestral-qt"; - version = "1.8.0"; + version = "1.9.2"; disabled = python3.pythonOlder "3.7"; src = fetchFromGitHub { owner = "SamSchott"; repo = "maestral-qt"; rev = "refs/tags/v${version}"; - hash = "sha256-Ys7XrvV4qzq4Q9llua2WgU013Ui0+x+uMwLNIv6xxCw="; + hash = "sha256-dgiVSwCTNDncbPJ+f0grjtq822TvtG0PhC9gDOKhwRI="; }; format = "pyproject"; diff --git a/pkgs/applications/networking/synology-drive-client/default.nix b/pkgs/applications/networking/synology-drive-client/default.nix index 84ca42cec167..172e5bfb669a 100644 --- a/pkgs/applications/networking/synology-drive-client/default.nix +++ b/pkgs/applications/networking/synology-drive-client/default.nix @@ -2,7 +2,7 @@ let pname = "synology-drive-client"; baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient"; - version = "3.4.0-15724"; + version = "3.5.0-16084"; buildNumber = with lib; last (splitString "-" version); meta = with lib; { description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server."; @@ -10,7 +10,7 @@ let sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ jcouyang MoritzBoehme ]; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; mainProgram = "synology-drive"; }; passthru.updateScript = writeScript "update-synology-drive-client" '' @@ -30,7 +30,7 @@ let src = fetchurl { url = "${baseUrl}/${version}/Ubuntu/Installer/synology-drive-client-${buildNumber}.x86_64.deb"; - sha256 = "sha256-Zf6JMghXy8ODbR4MhVSPmD4QDu003MTc7YNfbiRVRoY="; + sha256 = "sha256-Spl6DC+wf+JaXjwH2ecraySo1VtA+EiI3/TWw9UOSA8="; }; nativeBuildInputs = [ autoPatchelfHook dpkg ]; @@ -60,7 +60,7 @@ let src = fetchurl { url = "${baseUrl}/${version}/Mac/Installer/synology-drive-client-${buildNumber}.dmg"; - sha256 = "sha256-65mZeRYHGl+n9TeTx7bxRrGPjcZiV9UlyfcCZ3GwOhE="; + sha256 = "sha256-NDYxUhWtAVUtpCf1WemqShZCFHGgLGwrkX6HldxOlH0="; }; nativeBuildInputs = [ cpio xar undmg ]; diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix index 85613530ba39..65c683ddbe76 100644 --- a/pkgs/applications/version-management/forgejo/default.nix +++ b/pkgs/applications/version-management/forgejo/default.nix @@ -39,14 +39,14 @@ let in buildGoModule rec { pname = "forgejo"; - version = "1.21.11-0"; + version = "1.21.11-1"; src = fetchFromGitea { domain = "codeberg.org"; owner = "forgejo"; repo = "forgejo"; rev = "v${version}"; - hash = "sha256-Cp+dN4nTIboin42NJR/YUkVXbBC7uufH8EE7NgIVFzY="; + hash = "sha256-7oYsoZpZcNIUw3iXSi1Q5So2yYgKnT5U7GHQ4NVqVdc="; # Forgejo has multiple different version strings that need to be provided # via ldflags. main.ForgejoVersion for example is a combination of a # hardcoded gitea compatibility version string (in the Makefile) and diff --git a/pkgs/applications/video/subtitleedit/default.nix b/pkgs/applications/video/subtitleedit/default.nix index d47889857ed0..924f0fc44e0e 100644 --- a/pkgs/applications/video/subtitleedit/default.nix +++ b/pkgs/applications/video/subtitleedit/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "subtitleedit"; - version = "4.0.4"; + version = "4.0.5"; src = fetchzip { url = "https://github.com/SubtitleEdit/subtitleedit/releases/download/${version}/SE${lib.replaceStrings [ "." ] [ "" ] version}.zip"; - hash = "sha256-9z9igHU/23KHOd1TM3Wd7y5kl19cg3D9AQ2MjH5av20="; + hash = "sha256-qYDLUqC5adzpmlQIq/EKmrkN8D8/EHZmP8QUGAaYf+s="; stripRoot = false; }; diff --git a/pkgs/applications/virtualization/podman-compose/default.nix b/pkgs/applications/virtualization/podman-compose/default.nix index 8671617a4043..29bfbfa78189 100644 --- a/pkgs/applications/virtualization/podman-compose/default.nix +++ b/pkgs/applications/virtualization/podman-compose/default.nix @@ -1,17 +1,24 @@ -{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml }: +{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml, setuptools, pipBuildHook, pypaBuildHook }: buildPythonApplication rec { - version = "1.0.6"; + version = "1.1.0"; pname = "podman-compose"; + pyproject = true; src = fetchFromGitHub { repo = "podman-compose"; owner = "containers"; rev = "v${version}"; - sha256 = "sha256-TsNM5xORqwWge+UCijKptwbAcIz1uZFN9BuIOl28vIU="; + sha256 = "sha256-uNgzdLrnDIABtt0L2pvsil14esRzl0XcWohgf7Oksr8="; }; - propagatedBuildInputs = [ pyyaml python-dotenv ]; + + build-system = [ + setuptools + ]; + + dependencies = [ python-dotenv pyyaml ]; + propagatedBuildInputs = [ pypaBuildHook ]; meta = { description = "An implementation of docker-compose with podman backend"; diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index dca7b9bc4af0..92935ed129d8 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -74,13 +74,13 @@ buildGoModule rec { }; patches = [ + # we intentionally don't build and install the helper so we shouldn't display messages to users about it + ./rm-podman-mac-helper-msg.patch + ] ++ lib.optionals stdenv.isLinux [ (substituteAll { src = ./hardcode-paths.patch; inherit crun runc gvisor youki conmon; }) - - # we intentionally don't build and install the helper so we shouldn't display messages to users about it - ./rm-podman-mac-helper-msg.patch ]; vendorHash = null; diff --git a/pkgs/by-name/bi/biglybt/package.nix b/pkgs/by-name/bi/biglybt/package.nix new file mode 100644 index 000000000000..ad365c14377a --- /dev/null +++ b/pkgs/by-name/bi/biglybt/package.nix @@ -0,0 +1,66 @@ +{ + lib, + stdenv, + fetchurl, + jre, + wrapGAppsHook, + nix-update-script, +}: + +stdenv.mkDerivation rec { + pname = "biglybt"; + version = "3.5.0.0"; + + src = fetchurl { + url = "https://github.com/BiglySoftware/BiglyBT/releases/download/v${version}/GitHub_BiglyBT_unix.tar.gz"; + hash = "sha256-ToTCIjunj/ABi3wVSmeddLGBdQlv+CfK2jGRjixJd0w="; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + configurePhase = '' + runHook preConfigure + + sed -e 's/AUTOUPDATE_SCRIPT=1/AUTOUPDATE_SCRIPT=0/g' \ + -i biglybt || die + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + install -d $out/{share/{biglybt,applications,icons/hicolor/scalable/apps},bin} + + cp -r ./* $out/share/biglybt/ + + ln -s $out/share/biglybt/biglybt.desktop $out/share/applications/ + + ln -s $out/share/biglybt/biglybt.svg $out/share/icons/hicolor/scalable/apps/ + + wrapProgram $out/share/biglybt/biglybt \ + --prefix PATH : ${lib.makeBinPath [ jre ]} + + ln -s $out/share/biglybt/biglybt $out/bin/ + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^(v[0-9.]+)$" + ]; + }; + + meta = { + changelog = "https://github.com/BiglySoftware/BiglyBT/releases/tag/v${version}"; + description = "A BitTorrent client based on the Azureus that supports I2P darknet for privacy"; + downloadPage = "https://github.com/BiglySoftware/BiglyBT"; + homepage = "https://www.biglybt.com/"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.unix; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + mainProgram = "biglybt"; + maintainers = with lib.maintainers; [ raspher ]; + }; +} diff --git a/pkgs/os-specific/linux/earlyoom/fix-dbus-path.patch b/pkgs/by-name/ea/earlyoom/0000-fix-dbus-path.patch similarity index 100% rename from pkgs/os-specific/linux/earlyoom/fix-dbus-path.patch rename to pkgs/by-name/ea/earlyoom/0000-fix-dbus-path.patch diff --git a/pkgs/by-name/ea/earlyoom/package.nix b/pkgs/by-name/ea/earlyoom/package.nix new file mode 100644 index 000000000000..ba69b72b3bab --- /dev/null +++ b/pkgs/by-name/ea/earlyoom/package.nix @@ -0,0 +1,64 @@ +{ + lib, + fetchFromGitHub, + installShellFiles, + pandoc, + stdenv, + nixosTests, + # Boolean flags + withManpage ? true, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "earlyoom"; + version = "1.8"; + + src = fetchFromGitHub { + owner = "rfjakob"; + repo = "earlyoom"; + rev = "v${finalAttrs.version}"; + hash = "sha256-jgNoYOGor2i3ngDuU3It238n5ky+AppzlRKdkwXb2AI="; + }; + + outputs = [ "out" ] ++ lib.optionals withManpage [ "man" ]; + + patches = [ ./0000-fix-dbus-path.patch ]; + + nativeBuildInputs = lib.optionals withManpage [ + installShellFiles + pandoc + ]; + + makeFlags = [ + "VERSION=${finalAttrs.version}" + ]; + + installPhase = '' + runHook preInstall + install -D earlyoom $out/bin/earlyoom + '' + lib.optionalString withManpage '' + installManPage earlyoom.1 + '' + '' + runHook postInstall + ''; + + passthru.tests = { + inherit (nixosTests) earlyoom; + }; + + meta = { + homepage = "https://github.com/rfjakob/earlyoom"; + description = "Early OOM Daemon for Linux"; + longDescription = '' + earlyoom checks the amount of available memory and free swap up to 10 + times a second (less often if there is a lot of free memory). By default + if both are below 10%, it will kill the largest process (highest + oom_score). The percentage value is configurable via command line + arguments. + ''; + license = lib.licenses.mit; + mainProgram = "earlyoom"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/me/mednafen-server/package.nix b/pkgs/by-name/me/mednafen-server/package.nix new file mode 100644 index 000000000000..59247cf46c59 --- /dev/null +++ b/pkgs/by-name/me/mednafen-server/package.nix @@ -0,0 +1,30 @@ +{ + lib, + stdenv, + fetchurl, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "mednafen-server"; + version = "0.5.2"; + + src = fetchurl { + url = "https://mednafen.github.io/releases/files/mednafen-server-${finalAttrs.version}.tar.xz"; + hash = "sha256-uJmxaMW+bydfAXq8XDOioMoBOLUsi5OT2Tpbbotsp3Y="; + }; + + strictDeps = true; + + postInstall = '' + install -m 644 -Dt $out/share/mednafen-server standard.conf + ''; + + meta = { + description = "Netplay server for Mednafen"; + mainProgram = "mednafen-server"; + homepage = "https://mednafen.github.io/"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/applications/emulators/mednafen/default.nix b/pkgs/by-name/me/mednafen/package.nix similarity index 72% rename from pkgs/applications/emulators/mednafen/default.nix rename to pkgs/by-name/me/mednafen/package.nix index 816b6c1bd4d7..057f3ed4cf13 100644 --- a/pkgs/applications/emulators/mednafen/default.nix +++ b/pkgs/by-name/me/mednafen/package.nix @@ -1,33 +1,39 @@ -{ lib -, stdenv -, fetchurl -, SDL2 -, SDL2_net -, alsa-lib -, flac -, freeglut -, libGL -, libGLU -, libX11 -, libcdio -, libjack2 -, libsamplerate -, libsndfile -, pkg-config -, zlib -, libiconv +{ + lib, + SDL2, + SDL2_net, + alsa-lib, + fetchurl, + flac, + freeglut, + libGL, + libGLU, + libX11, + libcdio, + libiconv, + libjack2, + libsamplerate, + libsndfile, + pkg-config, + stdenv, + zlib, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mednafen"; version = "1.29.0"; src = fetchurl { - url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz"; + url = "https://mednafen.github.io/releases/files/mednafen-${finalAttrs.version}.tar.xz"; hash = "sha256-2j+88Ch3+b4PAov6XRy1npU6QEm5D+fjk4ijOG2fNi4="; }; - nativeBuildInputs = [ pkg-config ]; + outputs = [ "out" "doc" ]; + + nativeBuildInputs = [ + SDL2 + pkg-config + ]; buildInputs = [ SDL2 @@ -48,16 +54,21 @@ stdenv.mkDerivation rec { libiconv ]; - hardeningDisable = [ "pic" "format" ]; + hardeningDisable = [ + "format" + "pic" + ]; enableParallelBuilding = true; + strictDeps = true; + postInstall = '' - mkdir -p $out/share/doc - mv Documentation $out/share/doc/mednafen + mkdir -p $doc/share/doc + mv Documentation $doc/share/doc/mednafen ''; - meta = with lib; { + meta = { homepage = "https://mednafen.github.io/"; description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator"; longDescription = '' @@ -91,9 +102,9 @@ stdenv.mkDerivation rec { - Sega Saturn (experimental, x86_64 only) - Sony PlayStation ''; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.unix; + license = lib.licenses.gpl2Plus; mainProgram = "mednafen"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/by-name/me/mednaffe/package.nix b/pkgs/by-name/me/mednaffe/package.nix new file mode 100644 index 000000000000..5625c380eaa7 --- /dev/null +++ b/pkgs/by-name/me/mednaffe/package.nix @@ -0,0 +1,52 @@ +{ + lib, + autoreconfHook, + fetchFromGitHub, + gtk3, + mednafen, + pkg-config, + stdenv, + wrapGAppsHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "mednaffe"; + version = "0.9.3"; + + src = fetchFromGitHub { + owner = "AmatCoder"; + repo = "mednaffe"; + rev = finalAttrs.version; + hash = "sha256-ZizW0EeY/Cc68m87cnbLAkx3G/ULyFT5b6Ku2ObzFRU="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + mednafen + ]; + + enableParallelBuilding = true; + + strictDeps = true; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH ':' "${mednafen}/bin" + ) + ''; + + meta = { + description = "GTK-based frontend for mednafen emulator"; + mainProgram = "mednaffe"; + homepage = "https://github.com/AmatCoder/mednaffe"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix index 6c4277ee5823..2be16bb1c83e 100644 --- a/pkgs/by-name/my/mystmd/package.nix +++ b/pkgs/by-name/my/mystmd/package.nix @@ -2,16 +2,16 @@ buildNpmPackage rec { pname = "mystmd"; - version = "1.1.53"; + version = "1.1.55"; src = fetchFromGitHub { owner = "executablebooks"; repo = "mystmd"; rev = "mystmd@${version}"; - hash = "sha256-neJKlUk0NHdAh7y92Iyv2kouASPzv1PIl79+D0mgckI="; + hash = "sha256-aIqIcNXlzpvW90WJs9tJajXvnEQB0IiNCu8B62cwElo="; }; - npmDepsHash = "sha256-bXvOzx89MR7KL9wsqzB1uorjGGjh++mw17Ni65LLz28="; + npmDepsHash = "sha256-QIGqx1Peogmdo1KLHkzUKqvAuA6jCJRfxeQ1X7p6vTM="; dontNpmInstall = true; diff --git a/pkgs/by-name/ni/niri/Cargo.lock b/pkgs/by-name/ni/niri/Cargo.lock index 8292783edb7d..eed1cf8108d9 100644 --- a/pkgs/by-name/ni/niri/Cargo.lock +++ b/pkgs/by-name/ni/niri/Cargo.lock @@ -2138,7 +2138,7 @@ dependencies = [ [[package]] name = "niri" -version = "0.1.4" +version = "0.1.5" dependencies = [ "anyhow", "arrayvec", @@ -2183,7 +2183,7 @@ dependencies = [ [[package]] name = "niri-config" -version = "0.1.4" +version = "0.1.5" dependencies = [ "bitflags 2.5.0", "csscolorparser", @@ -2198,15 +2198,16 @@ dependencies = [ [[package]] name = "niri-ipc" -version = "0.1.4" +version = "0.1.5" dependencies = [ "clap", "serde", + "serde_json", ] [[package]] name = "niri-visual-tests" -version = "0.1.4" +version = "0.1.5" dependencies = [ "anyhow", "gtk4", @@ -3115,7 +3116,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9" +source = "git+https://github.com/Smithay/smithay.git#c5e9a697e41f50dc56b918d9ef1e3d2e52c84ac0" dependencies = [ "appendlist", "bitflags 2.5.0", @@ -3187,7 +3188,7 @@ dependencies = [ [[package]] name = "smithay-drm-extras" version = "0.1.0" -source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9" +source = "git+https://github.com/Smithay/smithay.git#c5e9a697e41f50dc56b918d9ef1e3d2e52c84ac0" dependencies = [ "drm", "edid-rs", diff --git a/pkgs/by-name/ni/niri/package.nix b/pkgs/by-name/ni/niri/package.nix index a24619921e52..8413089ece20 100644 --- a/pkgs/by-name/ni/niri/package.nix +++ b/pkgs/by-name/ni/niri/package.nix @@ -20,19 +20,19 @@ rustPlatform.buildRustPackage rec { pname = "niri"; - version = "0.1.4"; + version = "0.1.5"; src = fetchFromGitHub { owner = "YaLTeR"; repo = "niri"; rev = "v${version}"; - hash = "sha256-lkGIQIMWfg71UOkT/TST8O6hD0IfslENj6oFPevUGl4="; + hash = "sha256-YuYowUw5ecPa78bhT72zY2b99wn68mO3vVkop8hnb8M="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "smithay-0.3.0" = "sha256-bWan2DCyMvEC8ZQPwM+XpuOGkOZ/RdDV+LmRCN8UAuc="; + "smithay-0.3.0" = "sha256-1ANERwRG7Uwe1gSm6zQnEMQlpRrGSFP8mp6JItzjz0k="; }; }; diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix new file mode 100644 index 000000000000..4f803fe35626 --- /dev/null +++ b/pkgs/by-name/om/omnictl/package.nix @@ -0,0 +1,40 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "omnictl"; + version = "0.32.2"; + + src = fetchFromGitHub { + owner = "siderolabs"; + repo = "omni"; + rev = "v${version}"; + hash = "sha256-db/bYwMPrOZvD/YPtFaRK80yaYdsE70YPh0xQe0uVi4="; + }; + + vendorHash = "sha256-uwzVUdA51eT9fi2Wr0ilNPMpXx430UIYYWXQa1hpzRM="; + + ldflags = [ "-s" "-w" ]; + + GOWORK = "off"; + + subPackages = [ "cmd/omnictl" ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd omnictl \ + --bash <($out/bin/omnictl completion bash) \ + --fish <($out/bin/omnictl completion fish) \ + --zsh <($out/bin/omnictl completion zsh) + ''; + + doCheck = false; # no tests + + meta = with lib; { + description = "A CLI for the Sidero Omni Kubernetes management platform"; + mainProgram = "omnictl"; + homepage = "https://omni.siderolabs.com/"; + license = licenses.bsl11; + maintainers = with maintainers; [ raylas ]; + }; +} diff --git a/pkgs/by-name/so/sopwith/package.nix b/pkgs/by-name/so/sopwith/package.nix index b881454fff78..8a4c1f916201 100644 --- a/pkgs/by-name/so/sopwith/package.nix +++ b/pkgs/by-name/so/sopwith/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "sopwith"; - version = "2.4.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "fragglet"; repo = "sdl-sopwith"; rev = "refs/tags/sdl-sopwith-${version}"; - hash = "sha256-7/xTg41NYxzeGNyt/ClbM/uHMTAE87wn6vc9Ai6P+30="; + hash = "sha256-e7/Cv/v5NhYG5eb9B5oVxh/Dbmm2v4Y4KUKI4JI5SFw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sy/systemctl-tui/package.nix b/pkgs/by-name/sy/systemctl-tui/package.nix index 571c9b15091f..23a831e9e9c5 100644 --- a/pkgs/by-name/sy/systemctl-tui/package.nix +++ b/pkgs/by-name/sy/systemctl-tui/package.nix @@ -7,14 +7,14 @@ rustPlatform.buildRustPackage rec { pname = "systemctl-tui"; - version = "0.2.4"; + version = "0.3.3"; src = fetchCrate { inherit pname version; - hash = "sha256-SZmOCx9S5WWz9fSlicvT/glZKj5AsFDRnxmHbGxM9Ms="; + hash = "sha256-oFXLxWS2G+CkG0yuJLkA34SqoGGcXU/eZmFMRYw+Gzo="; }; - cargoHash = "sha256-zUc6RchoGtJB+gnJNwNu93to775fdM5JDJ4qYwRdJn0="; + cargoHash = "sha256-MKxeRQupgAxA2ui8qSK8BvhxqqgjJarD8pY9wmk8MvA="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit diff --git a/pkgs/by-name/te/tetrio-desktop/package.json b/pkgs/by-name/te/tetrio-desktop/package.json new file mode 100644 index 000000000000..65bf8ea63f76 --- /dev/null +++ b/pkgs/by-name/te/tetrio-desktop/package.json @@ -0,0 +1,22 @@ +{ + "name": "tetrio-desktop", + "version": "9.0.0", + "author": { + "name": "osk", + "email": "me@osk.sh" + }, + "license": "© osk 2019-2024. All Rights Reserved.", + "homepage": "https://tetr.io/", + "main": "main.js", + "description": "Puzzle together in this modern yet familiar online stacker!", + "dependencies": { + "discord-rich-presence": "0.0.8", + "electron-store": "^8.1.0", + "image-size": "^1.1.1", + "node-fetch": "2.6.1", + "openpgp": "^5.11.1", + "systeminformation": "^5.22.0", + "whatwg-url": "^14.0.0", + "xmldom": "^0.6.0" + } +} diff --git a/pkgs/by-name/te/tetrio-desktop/package.nix b/pkgs/by-name/te/tetrio-desktop/package.nix index d7fed29e7dae..c3749de57dad 100644 --- a/pkgs/by-name/te/tetrio-desktop/package.nix +++ b/pkgs/by-name/te/tetrio-desktop/package.nix @@ -1,84 +1,65 @@ { stdenv , lib -, fetchurl +, fetchzip , dpkg -, autoPatchelfHook -, wrapGAppsHook -, alsa-lib -, cups -, libGL -, libX11 -, libXScrnSaver -, libXtst -, mesa -, nss -, gtk3 -, libpulseaudio -, systemd -, withTetrioPlus ? false # For backwards compatibility. At the time of writing, the latest released tetrio plus version is not compatible with tetrio desktop. -, tetrio-plus ? false # For backwards compatibility. At the time of writing, the latest released tetrio plus version is not compatible with tetrio desktop. +, makeWrapper +, callPackage +, addOpenGLRunpath +, electron +, withTetrioPlus ? true +, tetrio-plus ? null }: -lib.warnIf (withTetrioPlus != false) "withTetrioPlus: Currently unsupported with tetrio-desktop 9.0.0. Please remove this attribute." -lib.warnIf (tetrio-plus != false) "tetrio-plus: Currently unsupported with tetrio-desktop 9.0.0. Please remove this attribute." - -(let - libPath = lib.makeLibraryPath [ - libGL - libpulseaudio - systemd - ]; -in stdenv.mkDerivation (finalAttrs: { pname = "tetrio-desktop"; version = "9.0.0"; - src = fetchurl { + src = fetchzip { url = "https://tetr.io/about/desktop/builds/${lib.versions.major finalAttrs.version}/TETR.IO%20Setup.deb"; - hash = "sha256-UriLwMB8D+/T32H4rPbkJAy/F/FFhNpd++0AR1lwEfs="; + hash = "sha256-TgegFy+sHjv0ILaiLO1ghyUhKXoj8v43ACJOJhKyI0c="; + nativeBuildInputs = [ dpkg ]; }; nativeBuildInputs = [ - dpkg - autoPatchelfHook - wrapGAppsHook + makeWrapper ]; - dontWrapGApps = true; + installPhase = + let + tetrio-plus' = + if tetrio-plus == null + then callPackage ./tetrio-plus.nix { tetrio-src = finalAttrs.src; } + else tetrio-plus; - buildInputs = [ - alsa-lib - cups - libX11 - libXScrnSaver - libXtst - mesa - nss - gtk3 - ]; + asarPath = + if withTetrioPlus + then "${tetrio-plus'}/app.asar" + else "opt/TETR.IO/resources/app.asar"; + in + '' + runHook preInstall - unpackCmd = "dpkg -x $curSrc src"; + mkdir -p $out + cp -r usr/share/ $out - installPhase = '' - runHook preInstall + mkdir -p $out/share/TETR.IO/ + cp ${asarPath} $out/share/TETR.IO/app.asar - mkdir -p $out/bin - cp -r opt/ usr/share/ $out - ln -s $out/opt/TETR.IO/TETR.IO $out/bin/tetrio + substituteInPlace $out/share/applications/TETR.IO.desktop \ + --replace-fail "Exec=/opt/TETR.IO/TETR.IO" "Exec=$out/bin/tetrio" - substituteInPlace $out/share/applications/TETR.IO.desktop \ - --replace-fail "Exec=/opt/TETR.IO/TETR.IO" "Exec=$out/bin/tetrio" - - runHook postInstall - ''; + runHook postInstall + ''; postFixup = '' - wrapProgram $out/opt/TETR.IO/TETR.IO \ - --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO \ - ''${gappsWrapperArgs[@]} + makeShellWrapper '${lib.getExe electron}' $out/bin/tetrio \ + --prefix LD_LIBRARY_PATH : ${addOpenGLRunpath.driverLink}/lib \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --add-flags $out/share/TETR.IO/app.asar ''; meta = { + changelog = "https://tetr.io/about/desktop/history/"; description = "TETR.IO desktop client"; downloadPage = "https://tetr.io/about/desktop/"; homepage = "https://tetr.io"; @@ -88,7 +69,8 @@ stdenv.mkDerivation (finalAttrs: { Play against friends and foes all over the world, or claim a spot on the leaderboards - the stacker future is yours! ''; mainProgram = "tetrio"; - maintainers = with lib.maintainers; [ wackbyte ]; + maintainers = with lib.maintainers; [ wackbyte huantian ]; platforms = [ "x86_64-linux" ]; + sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; }; -})) +}) diff --git a/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix b/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix new file mode 100644 index 000000000000..a0c67265e51c --- /dev/null +++ b/pkgs/by-name/te/tetrio-desktop/tetrio-plus.nix @@ -0,0 +1,160 @@ +{ lib +, stdenv +, fetchFromGitLab +, rustPlatform +, rustc +, wasm-pack +, wasm-bindgen-cli +, binaryen + +, fetchYarnDeps +, yarn +, fixup_yarn_lock +, nodejs +, asar + +, tetrio-src +}: + +let + version = "unstable-2024-03-31"; + + src = fetchFromGitLab { + owner = "UniQMG"; + repo = "tetrio-plus"; + rev = "b13d476a162a2aec4ca0def29eb7a4ada9ebf523"; + hash = "sha256-bZwx0r2lu4Ed/pYRvNog6IIok/HMoK+UeDIQctggUEs="; + fetchSubmodules = true; + + # tetrio-plus uses this info for displaying its version, + # so we need to deep clone to have all the revision history. + # After we're done, we emulate 'leaveDotGit = false' by removing + # all the .git folders. + leaveDotGit = true; + deepClone = true; + postFetch = '' + cd "$out" + git rev-parse --short HEAD~1 > resources/ci-commit-previous + git rev-parse --short HEAD > resources/ci-commit + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; + }; + + wasm-bindgen-82 = wasm-bindgen-cli.override { + version = "0.2.82"; + hash = "sha256-BQ8v3rCLUvyCCdxo5U+NHh30l9Jwvk9Sz8YQv6fa0SU="; + cargoHash = "sha256-mP85+qi2KA0GieaBzbrQOBqYxBZNRJipvd2brCRGyOM="; + }; + + tpsecore = rustPlatform.buildRustPackage { + pname = "tpsecore"; + inherit version src; + + sourceRoot = "${src.name}/tpsecore"; + + cargoHash = "sha256-14UjPSlfiuf696cqy8+fz3SmfmFoGQlEDg9obP0EKXg="; + + nativeBuildInputs = [ + wasm-pack + wasm-bindgen-82 + binaryen + rustc.llvmPackages.lld + ]; + + buildPhase = '' + HOME=$(mktemp -d) RUSTFLAGS="-C linker=lld" wasm-pack build --target web --release + ''; + + installPhase = '' + cp -r pkg/ $out + ''; + + doCheck = false; + + meta = { + description = "A self contained toolkit for creating, editing, and previewing TPSE files"; + homepage = "https://gitlab.com/UniQMG/tpsecore"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ huantian wackbyte ]; + platforms = lib.platforms.linux; + }; + }; + + offlineCache = fetchYarnDeps { + yarnLock = ./yarn.lock; + hash = "sha256-VYUh9y6PRc1OTLELkqCxP89Xbesv3Nu+eUq6fkuoQHE="; + }; + +in +stdenv.mkDerivation (finalAttrs: { + pname = "tetrio-plus"; + inherit version src; + + nativeBuildInputs = [ + yarn + fixup_yarn_lock + nodejs + asar + ]; + + buildPhase = '' + runHook preBuild + + # 'out' is the directory that the tetrio-plus expects the vanilla asar to be + # and this is the directory that will contain the final result that we want + asar extract ${tetrio-src}/opt/TETR.IO/resources/app.asar out + cd out + + # Install custom package.json/yarn.lock that describe the additional node + # dependencies that tetrio-plus needs to run, and install them in our output + install -m644 ${./package.json} package.json + install -m644 ${./yarn.lock} yarn.lock + + export HOME=$(mktemp -d) + yarn config --offline set yarn-offline-mirror ${offlineCache} + fixup_yarn_lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules/ + + cd .. + + # The simple build script expects the vanilla asar located here + # This patches the vanilla code to load the tetrio-plus code + ln -s ${tetrio-src}/opt/TETR.IO/resources/app.asar app.asar + node ./scripts/build-electron.js + + # Finally, we install the tetrio-plus code where the above patch script expects + cp -r $src out/tetrioplus + chmod -R u+w out/tetrioplus + + # We don't need the tpsecore source code bundled + rm -rf out/tetrioplus/tpsecore/ + # since we install the compiled version here + cp ${tpsecore}/{tpsecore_bg.wasm,tpsecore.js} out/tetrioplus/source/lib/ + + runHook postBuild + ''; + + installPhase = '' + runHook preinstall + + mkdir -p $out + asar pack out $out/app.asar + + runHook postinstall + ''; + + meta = { + description = "TETR.IO customization tool suite"; + downloadPage = "https://gitlab.com/UniQMG/tetrio-plus/-/releases"; + homepage = "https://gitlab.com/UniQMG/tetrio-plus"; + license = [ + lib.licenses.mit + # while tetrio-plus is itself mit, the result of this derivation + # is a modified version of tetrio-desktop, which is unfree. + lib.licenses.unfree + ]; + maintainers = with lib.maintainers; [ huantian wackbyte ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/te/tetrio-desktop/yarn.lock b/pkgs/by-name/te/tetrio-desktop/yarn.lock new file mode 100644 index 000000000000..9c6cd6519a9f --- /dev/null +++ b/pkgs/by-name/te/tetrio-desktop/yarn.lock @@ -0,0 +1,348 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv@^8.0.0, ajv@^8.6.3: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +asn1.js@^5.0.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +atomically@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" + integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== + +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +conf@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6" + integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg== + dependencies: + ajv "^8.6.3" + ajv-formats "^2.1.1" + atomically "^1.7.0" + debounce-fn "^4.0.0" + dot-prop "^6.0.1" + env-paths "^2.2.1" + json-schema-typed "^7.0.3" + onetime "^5.1.2" + pkg-up "^3.1.0" + semver "^7.3.5" + +debounce-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" + integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== + dependencies: + mimic-fn "^3.0.0" + +discord-rich-presence@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/discord-rich-presence/-/discord-rich-presence-0.0.8.tgz#7a2b41ff87a278e8a2c8835cd91c9890d6b9fbdd" + integrity sha512-IpVMPjv15C9UvppxvrrGdv6bzQHOW1P1vLoMH15HvdJwGJ3dBd2bnrJ63Uy36YRUfrAMxGLiwUDHncvC8AuPaQ== + dependencies: + discord-rpc "github:discordjs/rpc" + +"discord-rpc@github:discordjs/rpc": + version "4.0.1" + resolved "https://codeload.github.com/discordjs/rpc/tar.gz/9e7de2a6d917591f10a66389e62e1dc053c04fec" + dependencies: + node-fetch "^2.6.1" + ws "^7.3.1" + optionalDependencies: + register-scheme "github:devsnek/node-register-scheme" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +electron-store@^8.1.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.2.0.tgz#114e6e453e8bb746ab4ccb542424d8c881ad2ca1" + integrity sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw== + dependencies: + conf "^10.2.0" + type-fest "^2.17.0" + +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +image-size@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac" + integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== + dependencies: + queue "6.0.2" + +inherits@^2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema-typed@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" + integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" + integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +node-addon-api@^1.3.0: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +openpgp@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.11.1.tgz#97f3a1dfb3d3573a0a73fe2efb29e6b1f8fefb1c" + integrity sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ== + dependencies: + asn1.js "^5.0.0" + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +punycode@^2.1.0, punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +"register-scheme@github:devsnek/node-register-scheme": + version "0.0.2" + resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17" + dependencies: + bindings "^1.3.0" + node-addon-api "^1.3.0" + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@^7.3.5: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +systeminformation@^5.22.0: + version "5.22.7" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.22.7.tgz#9a20810c7eacad4aebe7591cb7c78c0dd96dbd1a" + integrity sha512-AWxlP05KeHbpGdgvZkcudJpsmChc2Y5Eo/GvxG/iUA/Aws5LZKHAMSeAo+V+nD+nxWZaxrwpWcnx4SH3oxNL3A== + +tr46@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" + integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== + dependencies: + punycode "^2.3.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +type-fest@^2.17.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +whatwg-url@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" + integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== + dependencies: + tr46 "^5.0.0" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xmldom@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz#43a96ecb8beece991cef382c08397d82d4d0c46f" + integrity sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== diff --git a/pkgs/by-name/tk/tkey-ssh-agent/package.nix b/pkgs/by-name/tk/tkey-ssh-agent/package.nix new file mode 100644 index 000000000000..3a38389ae4a9 --- /dev/null +++ b/pkgs/by-name/tk/tkey-ssh-agent/package.nix @@ -0,0 +1,27 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "tkey-ssh-agent"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "tillitis"; + repo = "tkey-ssh-agent"; + rev = "v${version}"; + sha256 = "sha256-Uf3VJJfZn4UYX1q79JdaOfrore+L/Mic3whzpP32JV0="; + }; + + vendorHash = "sha256-SFyp1UB6+m7/YllRyY56SwweJ3X175bChXQYiG2M7zM="; + + subPackages = [ + "cmd/tkey-ssh-agent" + ]; + + meta = with lib; { + description = "SSH Agent for TKey, the flexible open hardware/software USB security key"; + homepage = "https://tillitis.se/app/tkey-ssh-agent/"; + license = licenses.gpl2; + maintainers = with maintainers; [ bbigras ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/ug/ugrep-indexer/package.nix b/pkgs/by-name/ug/ugrep-indexer/package.nix index 07bd5edac253..2dd2cde3a266 100644 --- a/pkgs/by-name/ug/ugrep-indexer/package.nix +++ b/pkgs/by-name/ug/ugrep-indexer/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ugrep-indexer"; - version = "0.9.6"; + version = "1.0.0"; src = fetchFromGitHub { owner = "Genivia"; repo = "ugrep-indexer"; rev = "v${finalAttrs.version}"; - hash = "sha256-ZXZF9ZSdfQ2gxi5JkDJCUzMbkTs9KLzZBsyYxR/v4tI="; + hash = "sha256-XKjCAYPBRQgId66LupTlODPh2ctzvk7rHWznkLd4C8c="; }; buildInputs = [ diff --git a/pkgs/by-name/va/vaults/package.nix b/pkgs/by-name/va/vaults/package.nix new file mode 100644 index 000000000000..e44c3b73efec --- /dev/null +++ b/pkgs/by-name/va/vaults/package.nix @@ -0,0 +1,85 @@ +{ fetchFromGitHub +, lib +, stdenv +, appstream-glib +, desktop-file-utils +, meson +, ninja +, pkg-config +, python3 +, rustPlatform +, rustc +, cargo +, wrapGAppsHook +, glib +, gtk4 +, libadwaita +, wayland +, gocryptfs +, cryfs +, cmake +}: + +stdenv.mkDerivation rec { + pname = "vaults"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "mpobaschnig"; + repo = "Vaults"; + rev = version; + hash = "sha256-jA7OeyRqc5DxkS4sMx9cIbVlZwd++aCQi09uBQik1oA="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-l9Zer6d6kgjIUNiQ1VdQQ57caVNWfzCkdsMf79X8Ar4="; + }; + + postPatch = '' + patchShebangs build-aux + ''; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${lib.makeBinPath [ gocryptfs cryfs ]}" + ) + ''; + + nativeBuildInputs = [ + desktop-file-utils + meson + ninja + pkg-config + wrapGAppsHook + cargo + rustc + rustPlatform.cargoSetupHook + ]; + + buildInputs = [ + appstream-glib + gtk4 + python3 + glib + libadwaita + wayland + gocryptfs + cryfs + ]; + + meta = { + description = "GTK frontend for encrypted vaults supporting gocryptfs and CryFS for encryption"; + homepage = "https://mpobaschnig.github.io/vaults/"; + changelog = "https://github.com/mpobaschnig/vaults/releases/tag/${version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ benneti ]; + mainProgram = "vaults"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/ze/zed-editor/Cargo.lock b/pkgs/by-name/ze/zed-editor/Cargo.lock index 5e6ebe7f1758..04d3e032fb15 100644 --- a/pkgs/by-name/ze/zed-editor/Cargo.lock +++ b/pkgs/by-name/ze/zed-editor/Cargo.lock @@ -165,6 +165,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + [[package]] name = "anstream" version = "0.5.0" @@ -1433,8 +1439,8 @@ dependencies = [ [[package]] name = "blade-graphics" -version = "0.3.0" -source = "git+https://github.com/kvark/blade?rev=61cbd6b2c224791d52b150fe535cee665cc91bb2#61cbd6b2c224791d52b150fe535cee665cc91bb2" +version = "0.4.0" +source = "git+https://github.com/kvark/blade?rev=810ec594358aafea29a4a3d8ab601d25292b2ce4#810ec594358aafea29a4a3d8ab601d25292b2ce4" dependencies = [ "ash", "ash-window", @@ -1464,7 +1470,7 @@ dependencies = [ [[package]] name = "blade-macros" version = "0.2.1" -source = "git+https://github.com/kvark/blade?rev=61cbd6b2c224791d52b150fe535cee665cc91bb2#61cbd6b2c224791d52b150fe535cee665cc91bb2" +source = "git+https://github.com/kvark/blade?rev=810ec594358aafea29a4a3d8ab601d25292b2ce4#810ec594358aafea29a4a3d8ab601d25292b2ce4" dependencies = [ "proc-macro2", "quote", @@ -1806,6 +1812,12 @@ dependencies = [ "winx", ] +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + [[package]] name = "castaway" version = "0.1.2" @@ -1914,6 +1926,33 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a" +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + [[package]] name = "cipher" version = "0.3.0" @@ -2783,6 +2822,42 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "criterion" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +dependencies = [ + "anes", + "atty", + "cast", + "ciborium", + "clap 3.2.25", + "criterion-plot", + "itertools 0.10.5", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools 0.10.5", +] + [[package]] name = "crossbeam-channel" version = "0.5.8" @@ -2836,6 +2911,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "crypto-bigint" version = "0.4.9" @@ -4295,6 +4376,7 @@ dependencies = [ name = "go_to_line" version = "0.1.0" dependencies = [ + "anyhow", "editor", "gpui", "indoc", @@ -4302,7 +4384,10 @@ dependencies = [ "menu", "project", "rope", + "schemars", + "serde", "serde_json", + "settings", "text", "theme", "tree-sitter-rust", @@ -4479,6 +4564,16 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -5339,7 +5434,6 @@ dependencies = [ "tree-sitter-c", "tree-sitter-cpp", "tree-sitter-css", - "tree-sitter-dart", "tree-sitter-elixir", "tree-sitter-elm", "tree-sitter-embedded-template", @@ -5349,7 +5443,6 @@ dependencies = [ "tree-sitter-gowork", "tree-sitter-hcl", "tree-sitter-heex", - "tree-sitter-html", "tree-sitter-jsdoc", "tree-sitter-json 0.20.0", "tree-sitter-lua", @@ -5678,10 +5771,13 @@ dependencies = [ name = "markdown_preview" version = "0.1.0" dependencies = [ + "anyhow", "async-recursion 1.0.5", "editor", "gpui", "language", + "linkify", + "log", "pretty_assertions", "pulldown-cmark", "theme", @@ -6399,6 +6495,12 @@ dependencies = [ "zvariant", ] +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + [[package]] name = "opaque-debug" version = "0.3.0" @@ -6879,6 +6981,34 @@ dependencies = [ "time", ] +[[package]] +name = "plotters" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" + +[[package]] +name = "plotters-svg" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +dependencies = [ + "plotters-backend", +] + [[package]] name = "png" version = "0.16.8" @@ -7794,6 +7924,7 @@ version = "0.1.0" dependencies = [ "arrayvec 0.7.4", "bromberg_sl2", + "criterion", "gpui", "log", "rand 0.8.5", @@ -9498,16 +9629,19 @@ version = "0.1.0" dependencies = [ "anyhow", "editor", + "file_icons", "fuzzy", "gpui", "itertools 0.11.0", "language", - "menu", "picker", "project", + "schemars", "serde", "serde_json", + "settings", "task", + "terminal", "tree-sitter-rust", "tree-sitter-typescript", "ui", @@ -9828,6 +9962,16 @@ dependencies = [ "url", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -10219,15 +10363,6 @@ dependencies = [ "tree-sitter", ] -[[package]] -name = "tree-sitter-dart" -version = "0.0.1" -source = "git+https://github.com/agent3bood/tree-sitter-dart?rev=48934e3bf757a9b78f17bdfaa3e2b4284656fdc7#48934e3bf757a9b78f17bdfaa3e2b4284656fdc7" -dependencies = [ - "cc", - "tree-sitter", -] - [[package]] name = "tree-sitter-elixir" version = "0.1.0" @@ -12380,7 +12515,7 @@ dependencies = [ [[package]] name = "zed" -version = "0.130.7" +version = "0.131.6" dependencies = [ "activity_indicator", "anyhow", @@ -12492,6 +12627,20 @@ dependencies = [ "zed_extension_api 0.0.4", ] +[[package]] +name = "zed_dart" +version = "0.0.1" +dependencies = [ + "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zed_emmet" +version = "0.0.1" +dependencies = [ + "zed_extension_api 0.0.4", +] + [[package]] name = "zed_erlang" version = "0.0.1" @@ -12508,13 +12657,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "zed_extension_api" -version = "0.0.5" -dependencies = [ - "wit-bindgen", -] - [[package]] name = "zed_extension_api" version = "0.0.5" @@ -12524,16 +12666,43 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "zed_extension_api" +version = "0.0.6" +dependencies = [ + "serde", + "serde_json", + "wit-bindgen", +] + +[[package]] +name = "zed_extension_api" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca8bcaea3feb2d2ce9dbeb061ee48365312a351faa7014c417b0365fe9e459" +dependencies = [ + "serde", + "serde_json", + "wit-bindgen", +] + [[package]] name = "zed_gleam" version = "0.0.2" dependencies = [ - "zed_extension_api 0.0.4", + "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "zed_haskell" version = "0.0.1" +dependencies = [ + "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zed_html" +version = "0.0.1" dependencies = [ "zed_extension_api 0.0.4", ] @@ -12563,14 +12732,14 @@ dependencies = [ name = "zed_svelte" version = "0.0.1" dependencies = [ - "zed_extension_api 0.0.4", + "zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "zed_toml" version = "0.0.2" dependencies = [ - "zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "zed_extension_api 0.0.5", ] [[package]] @@ -12584,7 +12753,7 @@ dependencies = [ name = "zed_zig" version = "0.0.1" dependencies = [ - "zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "zed_extension_api 0.0.5", ] [[package]] diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 6de47e35491e..d656f2a33e90 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -27,13 +27,13 @@ rustPlatform.buildRustPackage rec { pname = "zed"; - version = "0.130.7"; + version = "0.131.6"; src = fetchFromGitHub { owner = "zed-industries"; repo = "zed"; rev = "refs/tags/v${version}"; - hash = "sha256-nGE4RjquH5tEz6vHR1f5F44TX4GtPwiPP3V3lWPpmxk="; + hash = "sha256-IhFOA+g2I5vb72CTSZ8WTa9K0ieYbPD/BMShGqaUb84="; fetchSubmodules = true; }; @@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec { lockFile = ./Cargo.lock; outputHashes = { "async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE="; - "blade-graphics-0.3.0" = "sha256-0TmunFnq9MBxm4TrAkI0PxB58qJEf7oWLWhHq5cVsQ8="; + "blade-graphics-0.4.0" = "sha256-S1PNdQ9YbJgLLsJU1mvDZ3feVDIrZGwU37JqIm+kfcE="; "bromberg_sl2-0.6.0" = "sha256-+bwdnk3EgYEAxQSP4KpEPicCfO+r2er1DRZjvfF4jSM="; "font-kit-0.11.0" = "sha256-+4zMzjFyMS60HfLMEXGfXqKn6P+pOngLA45udV09DM8="; "lsp-types-0.94.1" = "sha256-kplgPsafrgZFMI1D9pQCwmg+FKMn5HNWLbcgdXHUFVU="; @@ -52,7 +52,6 @@ rustPlatform.buildRustPackage rec { "tree-sitter-bash-0.20.4" = "sha256-VP7rJfE/k8KV1XN1w5f0YKjCnDMYU1go/up0zj1mabM="; "tree-sitter-cpp-0.20.0" = "sha256-2QYEFkpwcRmh2kf4qEAL2a5lGSa316CetOhF73e7rEM="; "tree-sitter-css-0.19.0" = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU="; - "tree-sitter-dart-0.0.1" = "sha256-FE6zXy0lAUWWayrM3urZFnQaEYBcnmaVANcUUnvw1q4="; "tree-sitter-elixir-0.1.0" = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog="; "tree-sitter-elm-5.6.4" = "sha256-0LpuyebOB5ew9fULBcaw8aUbF7HM5sXQpv+Jroz4tXg="; "tree-sitter-glsl-0.1.4" = "sha256-TRuiT3ndCeDCsCFokAN8cosNKccB0NjWVRiBJuBJXZw="; diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index ad8f2c0a8e02..1350b01d96fe 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null; buildNpmPackage rec { pname = "Iosevka${toString set}"; - version = "29.2.0"; + version = "29.2.1"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-7g0eogqiBdfTwg8btkHExrY4fpqf0hUZbvlElFtKrB8="; + hash = "sha256-WWumGi6+jaQUGi1eArS9l3G8sOQL4ZetixVB5RWDPQ4="; }; - npmDepsHash = "sha256-lSKh16qN4EAmC0wtBokkFyl6Vung85vPTyr8Icc4rU0="; + npmDepsHash = "sha256-Gm3R8lWmYbLOfyGW+f8CYXlodp11vMCMAhagILxLKFA="; nativeBuildInputs = [ remarshal diff --git a/pkgs/data/icons/gruppled-cursors/default.nix b/pkgs/data/icons/gruppled-cursors/default.nix new file mode 100644 index 000000000000..f78becfd615f --- /dev/null +++ b/pkgs/data/icons/gruppled-cursors/default.nix @@ -0,0 +1,30 @@ +{ + stdenvNoCC, + fetchFromGitHub, + theme, + lib, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "gruppled-cursors"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "nim65s"; + repo = finalAttrs.pname; + rev = "v${finalAttrs.version}"; + hash = "sha256-ejlgdogjIYevZvB23si6bEeU6qY7rWXflaUyVk5MzqU="; + }; + + installPhase = '' + mkdir -p $out/share/icons/${theme} + cp -r ${theme}/{cursors,index.theme} $out/share/icons/${theme} + ''; + + meta = with lib; { + description = "Gruppled Cursors theme"; + homepage = "https://github.com/nim65s/gruppled-cursors"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ nim65s ]; + }; +}) diff --git a/pkgs/data/icons/gruppled-lite-cursors/default.nix b/pkgs/data/icons/gruppled-lite-cursors/default.nix new file mode 100644 index 000000000000..eba7daeb0d80 --- /dev/null +++ b/pkgs/data/icons/gruppled-lite-cursors/default.nix @@ -0,0 +1,30 @@ +{ + stdenvNoCC, + fetchFromGitHub, + theme, + lib, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "gruppled-lite-cursors"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "nim65s"; + repo = finalAttrs.pname; + rev = "v${finalAttrs.version}"; + hash = "sha256-adCXYu8v6mFKXubVQb/RCZXS87//YgixQp20kMt7KT8="; + }; + + installPhase = '' + mkdir -p $out/share/icons/${theme} + cp -r ${theme}/{cursors,index.theme} $out/share/icons/${theme} + ''; + + meta = with lib; { + description = "Gruppled Lite Cursors theme"; + homepage = "https://github.com/nim65s/gruppled-lite-cursors"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ nim65s ]; + }; +}) diff --git a/pkgs/development/compilers/cakelisp/default.nix b/pkgs/development/compilers/cakelisp/default.nix index 1dffc52f7576..c71f2dd48e21 100644 --- a/pkgs/development/compilers/cakelisp/default.nix +++ b/pkgs/development/compilers/cakelisp/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation { pname = "cakelisp"; # using unstable as it's the only version that builds against gcc-13 - version = "0.3.0-unstable-2024-04-01"; + version = "0.3.0-unstable-2024-04-18"; src = fetchgit { url = "https://macoy.me/code/macoy/cakelisp"; - rev = "7f09a08623f4141d3c2940bca3e8ea646a7049cc"; - hash = "sha256-5ey2j38bhoRADMFcTGcUiOHE/UlU2mPGqzfv7dEk6oQ="; + rev = "115ab436056602b7f3a1ca30be40edbfcc88299d"; + hash = "sha256-rgBtT24aopXLTeDffjXGvJ3RgT+QLlr50Ju9a6ccyzc="; }; buildInputs = [ gcc ]; diff --git a/pkgs/development/embedded/avrdude/default.nix b/pkgs/development/embedded/avrdude/default.nix index 924c50235821..41b6c5ffc940 100644 --- a/pkgs/development/embedded/avrdude/default.nix +++ b/pkgs/development/embedded/avrdude/default.nix @@ -1,16 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf -, libftdi1, readline, libserialport -# documentation building is broken on darwin -, docSupport ? (!stdenv.isDarwin), texliveMedium, texinfo, texi2html, unixtools }: +{ lib, callPackage, stdenv, fetchFromGitHub, cmake, bison, flex, libusb1, elfutils +, libftdi1, readline, hidapi, libserialport +# Documentation building doesn't work on Darwin. It fails with: +# Undefined subroutine &Locale::Messages::dgettext called in ... texi2html +# +# https://github.com/NixOS/nixpkgs/issues/224761 +, docSupport ? (!stdenv.hostPlatform.isDarwin), texliveMedium, texinfo, texi2html, unixtools }: -stdenv.mkDerivation rec { +let + useElfutils = lib.meta.availableOn stdenv.hostPlatform elfutils; +in + +stdenv.mkDerivation (finalAttrs: { pname = "avrdude"; version = "7.3"; src = fetchFromGitHub { owner = "avrdudes"; - repo = pname; - rev = "v${version}"; + repo = "avdude"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-JqW3AOMmAfcy+PQRcqviWlxA6GoMSEfzIFt1pRYY7Dw="; }; @@ -21,17 +28,36 @@ stdenv.mkDerivation rec { texi2html ]; - buildInputs = [ libusb-compat-0_1 libelf libftdi1 libserialport readline ]; - - cmakeFlags = lib.optionals docSupport [ - "-DBUILD_DOC=ON" + buildInputs = [ + (if useElfutils then elfutils else finalAttrs.finalPackage.passthru.libelf) + hidapi + libusb1 + libftdi1 + libserialport + readline ]; + postPatch = lib.optionalString (!useElfutils) '' + # vendored libelf is a static library + sed -i "s/PREFERRED_LIBELF elf/PREFERRED_LIBELF libelf.a elf/" CMakeLists.txt + ''; + + # Not used: + # -DHAVE_LINUXGPIO=ON because it's incompatible with libgpiod 2.x + cmakeFlags = lib.optionals docSupport [ "-DBUILD_DOC=ON" ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ "-DHAVE_LINUXSPI=ON" "-DHAVE_PARPORT=ON" ]; + # dvips output references texlive in comments, resulting in a huge closure postInstall = lib.optionalString docSupport '' - rm $out/share/doc/${pname}/*.ps + rm $out/share/doc/avrdude/*.ps ''; + passthru = { + # Vendored and mutated copy of libelf for avrdudes use. + # Produces a static library only. + libelf = callPackage ./libelf.nix { }; + }; + meta = with lib; { description = "Command-line tool for programming Atmel AVR microcontrollers"; mainProgram = "avrdude"; @@ -45,4 +71,4 @@ stdenv.mkDerivation rec { platforms = with platforms; linux ++ darwin; maintainers = [ maintainers.bjornfor ]; }; -} +}) diff --git a/pkgs/development/embedded/avrdude/libelf.nix b/pkgs/development/embedded/avrdude/libelf.nix new file mode 100644 index 000000000000..bd7b7be7066a --- /dev/null +++ b/pkgs/development/embedded/avrdude/libelf.nix @@ -0,0 +1,36 @@ +{ + lib, + stdenv, + cmake, + fetchFromGitHub, +}: + +stdenv.mkDerivation { + pname = "libelf"; + version = "0.8.13-unstable-2023-01-14"; + + src = fetchFromGitHub { + owner = "avrdudes"; + repo = "libelf"; + rev = "0c55bfe1d3020a20bddf6ce57c0d9d98ccb12586"; + hash = "sha256-jz7Ef0Eg673IJVZvVNklY40s13LCuMVAc7FGrRI7scQ="; + }; + + nativeBuildInputs = [ cmake ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib + cp liblibelf.a $out/lib/libelf.a + cp -r $src/include $out/include + runHook postInstall + ''; + + meta = { + description = "ELF object file access library (vendored by avrdudes)"; + homepage = "https://github.com/avrdudes/libelf"; + license = lib.licenses.lgpl2Plus; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 37cc66834462..0eb3bda4286d 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -113,7 +113,7 @@ stdenv.mkDerivation rec { --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \ 'false' ''} - ${lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' + ${lib.optionalString stdenv.isDarwin '' substituteInPlace build/config/compiler/BUILD.gn \ --replace "-Wl,-fatal_warnings" "" ''} @@ -143,7 +143,11 @@ stdenv.mkDerivation rec { ] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"'' ++ lib.optional stdenv.isDarwin ''use_lld=false''; - env.NIX_CFLAGS_COMPILE = "-O2"; + env.NIX_CFLAGS_COMPILE = toString ([ + "-O2" + ] ++ lib.optionals stdenv.cc.isClang [ + "-Wno-error=enum-constexpr-conversion" + ]); FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12"; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/editdistpy/default.nix b/pkgs/development/python-modules/editdistpy/default.nix index 537f4851f6a9..5a53b3e86800 100644 --- a/pkgs/development/python-modules/editdistpy/default.nix +++ b/pkgs/development/python-modules/editdistpy/default.nix @@ -16,16 +16,16 @@ buildPythonPackage rec { pname = "editdistpy"; - version = "0.1.3"; + version = "0.1.4"; pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "mammothb"; repo = "editdistpy"; rev = "refs/tags/v${version}"; - hash = "sha256-4CtKadKpFmlZnz10NG0404oFl9DkdQwWwRSWgUPdh94="; + hash = "sha256-OSJXiuJtZ4w1IiRaZQZH2DDxA0AGoRHp0BKXdysff0Y="; }; build-system = [ diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix index 92c8dee9b0be..4a733bb60a6f 100644 --- a/pkgs/development/python-modules/maestral/default.nix +++ b/pkgs/development/python-modules/maestral/default.nix @@ -21,14 +21,14 @@ , survey , typing-extensions , watchdog +, xattr , pytestCheckHook , nixosTests -, pythonRelaxDepsHook }: buildPythonPackage rec { pname = "maestral"; - version = "1.8.0"; + version = "1.9.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -37,7 +37,7 @@ buildPythonPackage rec { owner = "SamSchott"; repo = "maestral"; rev = "refs/tags/v${version}"; - hash = "sha256-YYbdd0GLVKE7+Oi0mpQjqhFdjdlquk/XnIg5WrtKcfI="; + hash = "sha256-Bb0yE2OKdlZd6ZsTEWOD+hMuV41fZanesY49L+v4BBE="; }; propagatedBuildInputs = [ @@ -58,6 +58,7 @@ buildPythonPackage rec { survey typing-extensions watchdog + xattr ]; makeWrapperArgs = [ @@ -68,14 +69,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - pythonRelaxDepsHook - ]; - - pythonRelaxDeps = [ - # https://github.com/samschott/maestral/commit/2c50d2ddb49a845ea97bd6b0f68c45d723fb304c - # Allow the use of survey >= 5 - # Remove after new maestral release along with pythonRelaxDepsHook - "survey" ]; preCheck = '' @@ -95,6 +88,8 @@ buildPythonPackage rec { "test_cased_path_candidates" # AssertionError "test_locking_multiprocess" + # OSError: [Errno 95] Operation not supported + "test_move_preserves_xattrs" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/mdformat-admon/default.nix b/pkgs/development/python-modules/mdformat-admon/default.nix index 10be705e1440..7025864b440a 100644 --- a/pkgs/development/python-modules/mdformat-admon/default.nix +++ b/pkgs/development/python-modules/mdformat-admon/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "mdformat-admon"; - version = "2.0.2"; + version = "2.0.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KyleKing"; repo = "mdformat-admon"; rev = "refs/tags/v${version}"; - hash = "sha256-TybbkF6+dIfG+1fGYp+bTEdw2GXINZJfOX0QiAaqiWY="; + hash = "sha256-zKc0kKap4ipZ+P+RYDXcwqyzq9NKcTnCmx64cApFxFg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/oelint-parser/default.nix b/pkgs/development/python-modules/oelint-parser/default.nix index ab9f362de4e6..179ecd1a312e 100644 --- a/pkgs/development/python-modules/oelint-parser/default.nix +++ b/pkgs/development/python-modules/oelint-parser/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "oelint-parser"; - version = "3.4.0"; + version = "3.4.1"; format = "setuptools"; src = fetchPypi { inherit version; pname = "oelint_parser"; - hash = "sha256-knMxVBibaX3wK7VNBODHeLeAbBOXHKNbyxjItiNcIfw="; + hash = "sha256-AZkbLTMWSUfrbgXZzvKy+maNaB7AwLPoh3Q8QT4Zq5U="; }; buildInputs = [ pip ]; diff --git a/pkgs/development/python-modules/srpenergy/default.nix b/pkgs/development/python-modules/srpenergy/default.nix index 35a937f96088..8d82ad614d0d 100644 --- a/pkgs/development/python-modules/srpenergy/default.nix +++ b/pkgs/development/python-modules/srpenergy/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, setuptools , python-dateutil , requests , pytestCheckHook @@ -9,19 +10,28 @@ buildPythonPackage rec { pname = "srpenergy"; - version = "1.3.6"; - format = "setuptools"; + version = "1.3.7"; + pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "lamoreauxlab"; repo = "srpenergy-api-client-python"; - rev = version; - hash = "sha256-aZnqGtfklWgigac2gdkQv29Qy5HC34zGGY2iWr2cOMo="; + rev = "refs/tags/${version}"; + hash = "sha256-bdBF5y9hRj4rceUD5qjHOM9TIaHGElJ36YjWCJgCzX8="; }; - propagatedBuildInputs = [ + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools==" "setuptools>=" + ''; + + build-system = [ + setuptools + ]; + + dependencies = [ python-dateutil requests ]; @@ -33,6 +43,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "srpenergy.client" ]; meta = with lib; { + changelog = "https://github.com/lamoreauxlab/srpenergy-api-client-python/releases/tag/${version}"; description = "Unofficial Python module for interacting with Srp Energy data"; homepage = "https://github.com/lamoreauxlab/srpenergy-api-client-python"; license = licenses.mit; diff --git a/pkgs/development/python-modules/txtai/default.nix b/pkgs/development/python-modules/txtai/default.nix index 4bf59621b5ca..256ed0889bfe 100644 --- a/pkgs/development/python-modules/txtai/default.nix +++ b/pkgs/development/python-modules/txtai/default.nix @@ -52,7 +52,7 @@ , unittestCheckHook }: let - version = "7.0.0"; + version = "7.1.0"; api = [ aiohttp fastapi uvicorn ]; # cloud = [ apache-libcloud ]; console = [ rich ]; @@ -105,7 +105,7 @@ buildPythonPackage { owner = "neuml"; repo = "txtai"; rev = "refs/tags/v${version}"; - hash = "sha256-dYAzbdGEu9gAUzptuSfej6T5LPyTneRWigdAMlGgeqM="; + hash = "sha256-L+L2jRkCQKOgd1k3N4mft0Kt6kvCN81lgSQUjoon5rk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix b/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix index d252266f2377..c9ec0cc84ad4 100644 --- a/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix +++ b/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix @@ -2,17 +2,17 @@ buildGoModule rec { pname = "codeberg-pages"; - version = "4.6.2"; + version = "5.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "Codeberg"; repo = "pages-server"; - rev = "ce241fa40adee2b12f8e225db98e09a45bc2acbb"; - sha256 = "sha256-mL2Xs7eyldoZK4zrX6WFlFtwdLN0iVyl1Qh8X6b2u9c="; + rev = "ea68a82cd22a8a8c1f265260af22b9406f13e3a9"; + hash = "sha256-TSXRB0oq1CtHC9ooO+Y3ICS5YE+q+ivZAcYBSd1oWi0="; }; - vendorHash = "sha256-R/LuZkA2xHmu7SO3BVyK1C6n9U+pYn50kNkyLltn2ng="; + vendorHash = "sha256-vTYB3ka34VooN2Wh/Rcj+2S1qAsA2a/VtXlILn1W7oU="; patches = [ ./disable_httptest.patch ]; diff --git a/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch b/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch index 2095b603badc..90c815712d38 100644 --- a/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch +++ b/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch @@ -1,12 +1,13 @@ diff --git a/server/handler/handler_test.go b/server/handler/handler_test.go deleted file mode 100644 -index 626564a..0000000 +index 6521633..0000000 --- a/server/handler/handler_test.go +++ /dev/null -@@ -1,49 +0,0 @@ +@@ -1,52 +0,0 @@ -package handler - -import ( +- "net/http" - "net/http/httptest" - "testing" - "time" @@ -24,13 +25,15 @@ index 626564a..0000000 - "https://docs.codeberg.org/pages/raw-content/", - []string{"/.well-known/acme-challenge/"}, - []string{"raw.codeberg.org", "fonts.codeberg.org", "design.codeberg.org"}, +- []string{"pages"}, +- cache.NewKeyValueCache(), - cache.NewKeyValueCache(), - cache.NewKeyValueCache(), - ) - - testCase := func(uri string, status int) { - t.Run(uri, func(t *testing.T) { -- req := httptest.NewRequest("GET", uri, nil) +- req := httptest.NewRequest("GET", uri, http.NoBody) - w := httptest.NewRecorder() - - log.Printf("Start: %v\n", time.Now()) diff --git a/pkgs/os-specific/linux/earlyoom/default.nix b/pkgs/os-specific/linux/earlyoom/default.nix deleted file mode 100644 index d1d95b4d3f95..000000000000 --- a/pkgs/os-specific/linux/earlyoom/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pandoc, installShellFiles, withManpage ? false, nixosTests }: - -stdenv.mkDerivation rec { - pname = "earlyoom"; - version = "1.7"; - - src = fetchFromGitHub { - owner = "rfjakob"; - repo = "earlyoom"; - rev = "v${version}"; - sha256 = "sha256-8YcT1TTlAet7F1U9Ginda4IApNqkudegOXqm8rnRGfc="; - }; - - nativeBuildInputs = lib.optionals withManpage [ pandoc installShellFiles ]; - - patches = [ ./fix-dbus-path.patch ]; - - makeFlags = [ "VERSION=${version}" ]; - - installPhase = '' - install -D earlyoom $out/bin/earlyoom - '' + lib.optionalString withManpage '' - installManPage earlyoom.1 - ''; - - passthru.tests = { - inherit (nixosTests) earlyoom; - }; - - meta = with lib; { - description = "Early OOM Daemon for Linux"; - mainProgram = "earlyoom"; - homepage = "https://github.com/rfjakob/earlyoom"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; []; - }; -} diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 30a1e4dd8b6f..67733922f0c0 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -793,7 +793,13 @@ if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" = else cmd+=("$pathToConfig/specialisation/$specialisation/bin/switch-to-configuration") - if [[ ! -f "${cmd[-1]}" ]]; then + if [ -z "$targetHost" ]; then + specialisationExists=$(test -f "${cmd[-1]}") + else + specialisationExists=$(targetHostCmd test -f "${cmd[-1]}") + fi + + if ! $specialisationExists; then log "error: specialisation not found: $specialisation" exit 1 fi diff --git a/pkgs/servers/deconz/default.nix b/pkgs/servers/deconz/default.nix index 7f5d60b153f8..110048f9de28 100644 --- a/pkgs/servers/deconz/default.nix +++ b/pkgs/servers/deconz/default.nix @@ -16,16 +16,11 @@ stdenv.mkDerivation rec { pname = "deconz"; - version = "2.23.00"; + version = "2.26.3"; src = fetchurl { url = "https://deconz.dresden-elektronik.de/ubuntu/beta/deconz-${version}-qt5.deb"; - sha256 = "sha256-TMftm1fz8c8ndSyA3HUd7JWT0DINxvbdUSDrmVMwmws="; - }; - - devsrc = fetchurl { - url = "https://deconz.dresden-elektronik.de/ubuntu/beta/deconz-dev-${version}.deb"; - sha256 = "sha256-uW5iF3rvFlowFhMBVDTOHkJ2K4LBgAxxC79tXpMhy5U="; + sha256 = "sha256-BE/apFPutNdhlS1NWRHdVcVrt/16aFfZ6zRcjphIlZA="; }; nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper wrapQtAppsHook ]; @@ -36,7 +31,6 @@ stdenv.mkDerivation rec { runHook preUnpack dpkg -x $src ./deconz-src - dpkg -x $devsrc ./deconz-devsrc runHook postUnpack ''; @@ -46,7 +40,6 @@ stdenv.mkDerivation rec { mkdir -p "$out" cp -r deconz-src/* "$out" - cp -r deconz-devsrc/* "$out" # Flatten /usr and manually merge lib/ and usr/lib/, since mv refuses to. mv "$out/lib" "$out/orig_lib" diff --git a/pkgs/servers/dns/trust-dns/default.nix b/pkgs/servers/dns/trust-dns/default.nix index f33008189385..fa8fcc88261a 100644 --- a/pkgs/servers/dns/trust-dns/default.nix +++ b/pkgs/servers/dns/trust-dns/default.nix @@ -13,9 +13,9 @@ rustPlatform.buildRustPackage rec { owner = "hickory-dns"; repo = "hickory-dns"; rev = "v${version}"; - hash = "sha256-+vZnozPsORe7nK6jL/yt/wp2qjwBTqyxZYz+cXaKNFk="; + hash = "sha256-szq21RuRmkhAfHlzhGQYpwjiIRkavFCPETOt+6TxhP4="; }; - cargoHash = "sha256-VLpl6eMOstD0FsuPeHngKQitv1jcb+0dx2pc8ic3Cf4="; + cargoHash = "sha256-zGn5vHwsHgpkgOr30QiyScqnfXjH55LQIVtxoUUox64="; buildInputs = [ openssl ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix index 9da82d41996f..395ac3609514 100644 --- a/pkgs/servers/elasticmq-server-bin/default.nix +++ b/pkgs/servers/elasticmq-server-bin/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "elasticmq-server"; - version = "1.5.8"; + version = "1.6.0"; src = fetchurl { url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${finalAttrs.pname}-${finalAttrs.version}.jar"; - sha256 = "sha256-7E1fkMPPwPUEZUL/VqTX0DSdL5mUlSlf7lDE1jNb3Ns="; + sha256 = "sha256-h71YX8mP9iB92gK+QQD/xl1JLZwKspAwE6D3wq+SOkU="; }; # don't do anything? diff --git a/pkgs/servers/home-assistant/custom-components/miele/default.nix b/pkgs/servers/home-assistant/custom-components/miele/default.nix index 71624f674b4d..3ebdc6283c03 100644 --- a/pkgs/servers/home-assistant/custom-components/miele/default.nix +++ b/pkgs/servers/home-assistant/custom-components/miele/default.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "astrandb"; domain = "miele"; - version = "0.1.19"; + version = "2024.3.0"; src = fetchFromGitHub { inherit owner; repo = domain; rev = "refs/tags/v${version}"; - hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk="; + hash = "sha256-J9n4PFcd87L301B2YktrLcxp5Vu1HwDeCYnrMEJ0+TA="; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index 7d43eff483e8..d4ad28ca4361 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -5,6 +5,7 @@ , autoAddDriverRunpath , makeWrapper , buildNpmPackage +, nixosTests , cmake , avahi , libevdev @@ -185,7 +186,10 @@ stdenv'.mkDerivation rec { install -Dm644 ../packaging/linux/${pname}.desktop $out/share/applications/${pname}.desktop ''; - passthru.updateScript = ./updater.sh; + passthru = { + tests.sunshine = nixosTests.sunshine; + updateScript = ./updater.sh; + }; meta = with lib; { description = "Sunshine is a Game stream host for Moonlight"; diff --git a/pkgs/servers/web-apps/changedetection-io/default.nix b/pkgs/servers/web-apps/changedetection-io/default.nix index 1d45e156096c..c3c9c8116add 100644 --- a/pkgs/servers/web-apps/changedetection-io/default.nix +++ b/pkgs/servers/web-apps/changedetection-io/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "changedetection-io"; - version = "0.45.17"; + version = "0.45.20"; format = "setuptools"; src = fetchFromGitHub { owner = "dgtlmoon"; repo = "changedetection.io"; - rev = version; - hash = "sha256-3LaNZourDjFjdSh5+hwc2l2DRMEI/rbfyksFD9uUebg="; + rev = "refs/tags/${version}"; + hash = "sha256-wnJz/yVOSBTgOfGxmrO4JXifZxoTk8bjqGKqKsbwXAI="; }; postPatch = '' diff --git a/pkgs/tools/audio/beets/builtin-plugins.nix b/pkgs/tools/audio/beets/builtin-plugins.nix index c6ae24dc6906..6b89f74795a8 100644 --- a/pkgs/tools/audio/beets/builtin-plugins.nix +++ b/pkgs/tools/audio/beets/builtin-plugins.nix @@ -136,4 +136,7 @@ autobpm = { testPaths = [ ]; }; + listenbrainz = { + testPaths = [ ]; + }; } diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 7631d106654d..513470b0ffd1 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -85,12 +85,12 @@ in lib.makeExtensible (self: { beets-unstable = callPackage ./common.nix { inherit python3Packages; - version = "unstable-2023-10-26"; + version = "unstable-2024-03-16"; src = fetchFromGitHub { owner = "beetbox"; repo = "beets"; - rev = "6655760732100f5387fad2d2890c015ee5039981"; - hash = "sha256-Nz9BHtacYpJMLmB3f9WFg6GvMa+BuUhiNbJ9cyannek="; + rev = "b09806e0df8f01b9155017d3693764ae7beedcd5"; + hash = "sha256-jE6nZLOEFufqclT6p1zK7dW+vt69q2ulaRsUldL7cSQ="; }; extraPatches = [ # Bash completion fix for Nix diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index d7853d0506f6..778f5a5aad9f 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -2,54 +2,46 @@ , stdenv , acl , e2fsprogs +, fetchFromGitHub , libb2 , lz4 , openssh , openssl -, python3Packages +, python3 , xxHash , zstd , installShellFiles , nixosTests -, fetchPypi }: let - python = python3Packages.python.override { - packageOverrides = self: super: { - msgpack = super.msgpack.overrideAttrs (oldAttrs: rec { - version ="1.0.4"; - - src = fetchPypi { - pname = "msgpack"; - inherit version; - hash = "sha256-9dhpwY8DAgLrQS8Iso0q/upVPWYTruieIA16yn7wH18="; - }; - }); - }; - }; + python = python3; in python.pkgs.buildPythonApplication rec { pname = "borgbackup"; - version = "1.2.7"; - format = "pyproject"; + version = "1.2.8"; + pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-9j8oozg8BBlxzsh7BhyjmoFbX9RF2ySqgXLKxBfZQRo="; + src = fetchFromGitHub { + owner = "borgbackup"; + repo = "borg"; + rev = "refs/tags/${version}"; + hash = "sha256-+FHqOVuHlY9QUjCrYVnrMBZPMFH9Z2U7eZ6eUSINSrw="; }; postPatch = '' # sandbox does not support setuid/setgid/sticky bits substituteInPlace src/borg/testsuite/archiver.py \ - --replace "0o4755" "0o0755" + --replace-fail "0o4755" "0o0755" ''; - nativeBuildInputs = with python.pkgs; [ + build-system = with python.pkgs; [ cython setuptools-scm pkgconfig + ]; + nativeBuildInputs = with python.pkgs; [ # docs sphinxHook guzzle-sphinx-theme @@ -70,7 +62,7 @@ python.pkgs.buildPythonApplication rec { acl ]; - propagatedBuildInputs = with python.pkgs; [ + dependencies = with python.pkgs; [ msgpack packaging (if stdenv.isLinux then pyfuse3 else llfuse) @@ -130,7 +122,7 @@ python.pkgs.buildPythonApplication rec { outputs = [ "out" "doc" "man" ]; meta = with lib; { - changelog = "https://github.com/borgbackup/borg/blob/${version}/docs/changes.rst"; + changelog = "https://github.com/borgbackup/borg/blob/${src.rev}/docs/changes.rst"; description = "Deduplicating archiver with compression and encryption"; homepage = "https://www.borgbackup.org"; license = licenses.bsd3; diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix index c5a4d2f0317f..1ae5c0de79fa 100644 --- a/pkgs/tools/backup/zfs-replicate/default.nix +++ b/pkgs/tools/backup/zfs-replicate/default.nix @@ -11,12 +11,12 @@ buildPythonApplication rec { pname = "zfs_replicate"; - version = "3.2.12"; + version = "3.2.13"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Pyn/ehXVb5knHS1A/MFTYE0t+IVgtBe1dAnYdaHutyk="; + hash = "sha256-Xmg33bqs3gQJWqkCNiWYUem3o6XsxpfbHIVvLs/2D94="; }; postPatch = '' diff --git a/pkgs/tools/networking/ockam/default.nix b/pkgs/tools/networking/ockam/default.nix index 2d477923dde8..c191efbff6e1 100644 --- a/pkgs/tools/networking/ockam/default.nix +++ b/pkgs/tools/networking/ockam/default.nix @@ -7,6 +7,7 @@ , pkg-config , openssl , dbus +, AppKit , Security }: @@ -21,43 +22,23 @@ rustPlatform.buildRustPackage { owner = "build-trust"; repo = pname; rev = "ockam_v${version}"; - hash = "sha256-qHvgqK8K6F69m511VbNcSNFVe/tKpf8uonsBIOz3uKA="; + hash = "sha256-WXkprfA7DY3ZKCtTkVYMqYxyhLbfXPbXhYd0Oj5mJ+w="; }; - cargoHash = "sha256-1MCiC808VNg5SoHxomJ9WWJ1Pj0IrLky6nshHfK2Fpg="; + cargoHash = "sha256-TLNV+6n9J9rhf8Lck0HK+ZNPDDh8C+M+MLbIWBS8cO0="; nativeBuildInputs = [ git pkg-config ]; buildInputs = [ openssl dbus ] - ++ lib.optionals stdenv.isDarwin [ Security ]; + ++ lib.optionals stdenv.isDarwin [ AppKit Security ]; passthru.updateScript = nix-update-script { }; # too many tests fail for now doCheck = false; - # checkFlags = [ - # # tries to make a network access - # "--skip=tests::curl_http_ockam" - # "--skip=medium_file_transfer" - # "--skip=medium_file_transfer_large_chunks" - # "--skip=medium_file_transfer_small_chunks" - # "--skip=tiny_file_transfer" - # "--skip=tiny_file_transfer_small_chunks" - # # tries to do IO - # "--skip=cli_state::tests::integration" - # "--skip=cli_state::tests::test_create_default_identity_state" - # "--skip=cli_state::tests::test_create_named_identity_state" - # "--skip=kafka::integration_test::test::producer__flow_with_mock_kafka__content_encryption_and_decryption" - # "--skip=kafka::portal_worker::test::kafka_portal_worker__metadata_exchange__response_changed" - # "--skip=full_flow" - # "--skip=run::parser::tests::detect_circular_dependency" - # "--skip=run::parser::tests::test_parse_config_with_depends_on" - # "--skip=util::tests::test_process_multi_addr" - # ]; meta = with lib; { description = "Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale"; homepage = "https://github.com/build-trust/ockam"; license = licenses.mpl20; maintainers = with maintainers; [ happysalada ]; - platforms = platforms.linux; }; } diff --git a/pkgs/tools/security/osv-scanner/default.nix b/pkgs/tools/security/osv-scanner/default.nix index e51ce66ad024..70393cb9aad8 100644 --- a/pkgs/tools/security/osv-scanner/default.nix +++ b/pkgs/tools/security/osv-scanner/default.nix @@ -4,18 +4,19 @@ , testers , osv-scanner }: + buildGoModule rec { pname = "osv-scanner"; - version = "1.7.1"; + version = "1.7.2"; src = fetchFromGitHub { owner = "google"; - repo = pname; - rev = "v${version}"; - hash = "sha256-JlTD8el4hXVYI76+cxGNemkUu0n2QxCqisr6R9aPqdI="; + repo = "osv-scanner"; + rev = "refs/tags/v${version}"; + hash = "sha256-UE6iCvv/ByODZX+FoLvIw+EeyISWFkHb4xK5L33w1hU="; }; - vendorHash = "sha256-J5qLs4EirBOfjnLv8eQBSd9w9nzpxBW5GS28CgQMsN8="; + vendorHash = "sha256-c/Wjhpa7upSRMaU+rheGF9dbvK0MQe3ZmPLpR5bRiUI="; subPackages = [ "cmd/osv-scanner" @@ -24,9 +25,9 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X github.com/google/osv-scanner/internal/version.OSVVersion=${version}" - "-X main.commit=n/a" - "-X main.date=1970-01-01T00:00:00Z" + "-X=github.com/google/osv-scanner/internal/version.OSVVersion=${version}" + "-X=main.commit=n/a" + "-X=main.date=1970-01-01T00:00:00Z" ]; # Tests require network connectivity to query https://api.osv.dev. diff --git a/pkgs/tools/text/goawk/default.nix b/pkgs/tools/text/goawk/default.nix index 2ed24f93d4d7..4d84d133775e 100644 --- a/pkgs/tools/text/goawk/default.nix +++ b/pkgs/tools/text/goawk/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "goawk"; - version = "1.26.0"; + version = "1.27.0"; src = fetchFromGitHub { owner = "benhoyt"; repo = "goawk"; rev = "v${version}"; - hash = "sha256-EJf5Qv5ICJJdGNcRQ7v/ANyxx2j9d9NsZJnzIBrwam4="; + hash = "sha256-KB9N345xkgsPfI4DQYFag7qSdFv/JSU18YG8IPFrcQA="; }; vendorHash = null; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e304356fd26f..889d9b3cd0cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2750,12 +2750,6 @@ with pkgs; description = mame.meta.description + " (tools only)"; } (lib.getOutput "tools" mame); - mednafen = callPackage ../applications/emulators/mednafen { }; - - mednafen-server = callPackage ../applications/emulators/mednafen/server.nix { }; - - mednaffe = callPackage ../applications/emulators/mednaffe { }; - melonDS = libsForQt5.callPackage ../applications/emulators/melonDS { }; mgba = libsForQt5.callPackage ../applications/emulators/mgba { }; @@ -5130,8 +5124,6 @@ with pkgs; earlybird = callPackage ../tools/security/earlybird { }; - earlyoom = callPackage ../os-specific/linux/earlyoom { }; - easyabc = callPackage ../applications/audio/easyabc { }; easycrypt = callPackage ../applications/science/logic/easycrypt { @@ -6091,7 +6083,7 @@ with pkgs; ockam = callPackage ../tools/networking/ockam { - inherit (darwin.apple_sdk.frameworks) Security; + inherit (darwin.apple_sdk.frameworks) AppKit Security; }; odoo = callPackage ../applications/finance/odoo { }; @@ -24913,16 +24905,9 @@ with pkgs; ucommon = callPackage ../development/libraries/ucommon { }; - v8 = callPackage ../development/libraries/v8 ( - let - stdenv' = if stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "16" - then overrideLibcxx llvmPackages_15.stdenv - else stdenv; - in - { - stdenv = if stdenv'.isDarwin then overrideSDK stdenv' "11.0" else stdenv'; - } - ); + v8 = callPackage ../development/libraries/v8 { + stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv; + }; intel-vaapi-driver = callPackage ../development/libraries/intel-vaapi-driver { }; @@ -28786,6 +28771,23 @@ with pkgs; spacx-gtk-theme = callPackage ../data/themes/gtk-theme-framework { theme = "spacx"; }; + inherit + ({ + gruppled-black-cursors = callPackage ../data/icons/gruppled-cursors { theme = "gruppled_black"; }; + gruppled-black-lite-cursors = callPackage ../data/icons/gruppled-lite-cursors { + theme = "gruppled_black_lite"; + }; + gruppled-white-cursors = callPackage ../data/icons/gruppled-cursors { theme = "gruppled_white"; }; + gruppled-white-lite-cursors = callPackage ../data/icons/gruppled-lite-cursors { + theme = "gruppled_white_lite"; + }; + }) + gruppled-black-cursors + gruppled-black-lite-cursors + gruppled-white-cursors + gruppled-white-lite-cursors + ; + gruvbox-dark-icons-gtk = callPackage ../data/icons/gruvbox-dark-icons-gtk { inherit (plasma5Packages) breeze-icons; }; @@ -34623,7 +34625,7 @@ with pkgs; maestral = with python3Packages; toPythonApplication maestral; - maestral-gui = qt6.callPackage ../applications/networking/maestral-qt { }; + maestral-gui = qt6Packages.callPackage ../applications/networking/maestral-qt { }; maestro = callPackage ../development/mobile/maestro { };