diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix index d8284e85ae45..bee931da1806 100644 --- a/nixos/modules/hardware/video/displaylink.nix +++ b/nixos/modules/hardware/video/displaylink.nix @@ -23,6 +23,8 @@ in boot.extraModulePackages = [ evdi ]; boot.kernelModules = [ "evdi" ]; + services.xserver.externallyConfiguredDrivers = [ "displaylink" ]; + environment.etc."X11/xorg.conf.d/40-displaylink.conf".text = '' Section "OutputClass" Identifier "DisplayLink" diff --git a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix index 928104c497e5..2d67bf8c8e5e 100644 --- a/nixos/modules/services/home-automation/wyoming/faster-whisper.nix +++ b/nixos/modules/services/home-automation/wyoming/faster-whisper.nix @@ -18,10 +18,6 @@ let types ; - inherit (builtins) - toString - ; - inherit (utils) escapeSystemdExecArgs ; @@ -36,230 +32,261 @@ in description = '' Attribute set of wyoming-faster-whisper instances to spawn. ''; - type = attrsOf (submodule { - options = { - enable = mkEnableOption "Wyoming faster-whisper server"; + type = attrsOf ( + submodule ( + { name, ... }: + { + options = { + enable = mkEnableOption "Wyoming faster-whisper server"; - model = mkOption { - type = str; - default = "tiny-int8"; - example = "Systran/faster-distil-whisper-small.en"; - # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-model - description = '' - Name of the voice model to use. Can also be a HuggingFace model ID or a path to - a custom model directory. + zeroconf = { + enable = mkEnableOption "zeroconf discovery" // { + default = true; + }; - With {option}`useTranformers` enabled, a HuggingFace transformers Whisper model - ID from HuggingFace like `openai/whisper-tiny.en` must be used. + name = mkOption { + type = str; + default = "faster-whisper-${name}"; + description = '' + The advertised name for zeroconf discovery. + ''; + }; + }; - Compressed models (`int8`) are slightly less accurate, but smaller and faster. - Distilled models are uncompressed and faster and smaller than non-distilled models. + sttLibrary = mkOption { + type = enum [ + "auto" + "faster-whisper" + "onnx-asr" + "sherpa" + "transformers" + ]; + default = "auto"; + example = "sherpa"; + description = '' + Library used for speech-to-text process. - Available models: - - `tiny-int8` (compressed) - - `tiny` - - `tiny.en` (English only) - - `base-int8` (compressed) - - `base` - - `base.en` (English only) - - `small-int8` (compressed) - - `distil-small.en` (distilled, English only) - - `small` - - `small.en` (English only) - - `medium-int8` (compressed) - - `distil-medium.en` (distilled, English only) - - `medium` - - `medium.en` (English only) - - `large` - - `large-v1` - - `distil-large-v2` (distilled, English only) - - `large-v2` - - `distil-large-v3` (distilled, English only) - - `large-v3` - - `turbo` (faster than large-v3) - ''; - }; + When set to `auto` picks a default based on the {option}`language`. + ''; + }; - useTransformers = mkOption { - type = bool; - default = false; - description = '' - Whether to provide the dependencies to allow using transformer models. - ''; - }; + model = mkOption { + type = str; + default = "auto"; + example = "sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8"; + # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-model + description = '' + Name of the voice model to use. Can also be a HuggingFace model ID or a path to + a custom model directory. - uri = mkOption { - type = strMatching "^(tcp|unix)://.*$"; - example = "tcp://0.0.0.0:10300"; - description = '' - URI to bind the wyoming server to. - ''; - }; + When set to `auto` picks a default based on the {option}`language`, - device = mkOption { - # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# - type = enum [ - "cpu" - "cuda" - "auto" - ]; - default = "cpu"; - description = '' - Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. - ''; - }; + With {option}`sttLibrary` set to `transformers`, a HuggingFace transformers Whisper model + ID from HuggingFace like `openai/whisper-tiny` or `openai/whisper-base` must be used. - language = mkOption { - type = enum [ - # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 - "auto" - "af" - "am" - "ar" - "as" - "az" - "ba" - "be" - "bg" - "bn" - "bo" - "br" - "bs" - "ca" - "cs" - "cy" - "da" - "de" - "el" - "en" - "es" - "et" - "eu" - "fa" - "fi" - "fo" - "fr" - "gl" - "gu" - "ha" - "haw" - "he" - "hi" - "hr" - "ht" - "hu" - "hy" - "id" - "is" - "it" - "ja" - "jw" - "ka" - "kk" - "km" - "kn" - "ko" - "la" - "lb" - "ln" - "lo" - "lt" - "lv" - "mg" - "mi" - "mk" - "ml" - "mn" - "mr" - "ms" - "mt" - "my" - "ne" - "nl" - "nn" - "no" - "oc" - "pa" - "pl" - "ps" - "pt" - "ro" - "ru" - "sa" - "sd" - "si" - "sk" - "sl" - "sn" - "so" - "sq" - "sr" - "su" - "sv" - "sw" - "ta" - "te" - "tg" - "th" - "tk" - "tl" - "tr" - "tt" - "uk" - "ur" - "uz" - "vi" - "yi" - "yue" - "yo" - "zh" - ]; - example = "en"; - description = '' - The language used to to parse words and sentences. - ''; - }; + Compressed models (`int8`) are slightly less accurate, but smaller and faster. + Distilled models are uncompressed and faster and smaller than non-distilled models. - initialPrompt = mkOption { - type = nullOr str; - default = null; - # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-custom_model_type - example = '' - The following conversation takes place in the universe of - Wizard of Oz. Key terms include 'Yellow Brick Road' (the path - to follow), 'Emerald City' (the ultimate goal), and 'Ruby - Slippers' (the magical tools to succeed). Keep these in mind as - they guide the journey. - ''; - description = '' - Optional text to provide as a prompt for the first window. This can be used to provide, or - "prompt-engineer" a context for transcription, e.g. custom vocabularies or proper nouns - to make it more likely to predict those word correctly. + Available models for faster-whisper: + - `tiny-int8` (compressed) + - `tiny` + - `tiny.en` (English only) + - `base-int8` (compressed) + - `base` + - `base.en` (English only) + - `small-int8` (compressed) + - `distil-small.en` (distilled, English only) + - `small` + - `small.en` (English only) + - `medium-int8` (compressed) + - `distil-medium.en` (distilled, English only) + - `medium` + - `medium.en` (English only) + - `large` + - `large-v1` + - `distil-large-v2` (distilled, English only) + - `large-v2` + - `distil-large-v3` (distilled, English only) + - `large-v3` + - `turbo` (faster than large-v3) + ''; + }; - Not supported when the {option}`customModelType` is `transformers`. - ''; - }; + uri = mkOption { + type = strMatching "^(tcp|unix)://.*$"; + example = "tcp://0.0.0.0:10300"; + description = '' + URI to bind the wyoming server to. + ''; + }; - beamSize = mkOption { - type = ints.unsigned; - default = 0; - example = 5; - description = '' - The number of beams to use in beam search. - Use `0` to automatically select a value based on the CPU. - ''; - apply = toString; - }; + device = mkOption { + # https://opennmt.net/CTranslate2/python/ctranslate2.models.Whisper.html# + type = enum [ + "cpu" + "cuda" + "auto" + ]; + default = "cpu"; + description = '' + Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU. + ''; + }; - extraArgs = mkOption { - type = listOf str; - default = [ ]; - description = '' - Extra arguments to pass to the server commandline. - ''; - }; - }; - }); + language = mkOption { + type = enum [ + # https://github.com/home-assistant/addons/blob/master/whisper/config.yaml#L20 + "auto" + "af" + "am" + "ar" + "as" + "az" + "ba" + "be" + "bg" + "bn" + "bo" + "br" + "bs" + "ca" + "cs" + "cy" + "da" + "de" + "el" + "en" + "es" + "et" + "eu" + "fa" + "fi" + "fo" + "fr" + "gl" + "gu" + "ha" + "haw" + "he" + "hi" + "hr" + "ht" + "hu" + "hy" + "id" + "is" + "it" + "ja" + "jw" + "ka" + "kk" + "km" + "kn" + "ko" + "la" + "lb" + "ln" + "lo" + "lt" + "lv" + "mg" + "mi" + "mk" + "ml" + "mn" + "mr" + "ms" + "mt" + "my" + "ne" + "nl" + "nn" + "no" + "oc" + "pa" + "pl" + "ps" + "pt" + "ro" + "ru" + "sa" + "sd" + "si" + "sk" + "sl" + "sn" + "so" + "sq" + "sr" + "su" + "sv" + "sw" + "ta" + "te" + "tg" + "th" + "tk" + "tl" + "tr" + "tt" + "uk" + "ur" + "uz" + "vi" + "yi" + "yue" + "yo" + "zh" + ]; + example = "en"; + description = '' + The language used to to parse words and sentences. + ''; + }; + + initialPrompt = mkOption { + type = nullOr str; + default = null; + # https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md#option-custom_model_type + example = '' + The following conversation takes place in the universe of + Wizard of Oz. Key terms include 'Yellow Brick Road' (the path + to follow), 'Emerald City' (the ultimate goal), and 'Ruby + Slippers' (the magical tools to succeed). Keep these in mind as + they guide the journey. + ''; + description = '' + Optional text to provide as a prompt for the first window. This can be used to provide, or + "prompt-engineer" a context for transcription, e.g. custom vocabularies or proper nouns + to make it more likely to predict those word correctly. + + Only supported when the {option}`sttLibrary` is `faster-whisper`. + ''; + }; + + beamSize = mkOption { + type = ints.unsigned; + default = 0; + example = 5; + description = '' + The number of beams to use in beam search. + + The default (`0`) will use 1 beam on ARM systems (assumes an ARM SBC) and 5 everywhere else. + ''; + apply = toString; + }; + + extraArgs = mkOption { + type = listOf str; + default = [ ]; + description = '' + Extra arguments to pass to the server commandline. + ''; + }; + }; + } + ) + ); }; }; @@ -273,8 +300,8 @@ in in mkIf (cfg.servers != { }) { assertions = mapAttrsToList (server: options: { - assertion = options.useTransformers -> options.initialPrompt == null; - message = "wyoming-faster-whisper/${server}: Transformer models (`useTransformers`) do not currently support an `initialPrompt`."; + assertion = options.sttLibrary != "faster-whisper" -> options.initialPrompt == null; + message = "wyoming-faster-whisper/${server}: Initial prompt is only supported when using `faster-whisper` as `sttLibrary`."; }) cfg.servers; systemd.services = mapAttrs' ( @@ -283,8 +310,14 @@ in finalPackage = cfg.package.overridePythonAttrs (oldAttrs: { dependencies = oldAttrs.dependencies - # for transformer model support - ++ optionals options.useTransformers oldAttrs.optional-dependencies.transformers; + ++ optionals options.zeroconf.enable oldAttrs.optional-dependencies.zeroconf + ++ optionals ( + options.sttLibrary == "onnx-asr" || options.sttLibrary == "auto" && options.language == "ru" + ) oldAttrs.optional-dependencies.onnx_asr + ++ optionals ( + options.sttLibrary == "sherpa-onnx" || options.sttLibrary == "auto" && options.language == "en" + ) oldAttrs.optional-dependencies.sherpa + ++ optionals (options.sttLibrary == "transformers") oldAttrs.optional-dependencies.transformers; }); in nameValuePair "wyoming-faster-whisper-${server}" { @@ -316,6 +349,8 @@ in options.uri "--device" options.device + "--stt-library" + options.sttLibrary "--model" options.model "--language" @@ -323,8 +358,9 @@ in "--beam-size" options.beamSize ] - ++ lib.optionals options.useTransformers [ - "--use-transformers" + ++ lib.optionals options.zeroconf.enable [ + "--zeroconf" + options.zeroconf.name ] ++ lib.optionals (options.initialPrompt != null) [ "--initial-prompt" @@ -366,6 +402,10 @@ in "AF_INET" "AF_INET6" "AF_UNIX" + ] + ++ lib.optionals options.zeroconf.enable [ + # Zeroconf support require network interface enumeration + "AF_NETLINK" ]; RestrictNamespaces = true; RestrictRealtime = true; diff --git a/nixos/modules/services/home-automation/wyoming/piper.nix b/nixos/modules/services/home-automation/wyoming/piper.nix index 2252772d9f68..e4c1971830f3 100644 --- a/nixos/modules/services/home-automation/wyoming/piper.nix +++ b/nixos/modules/services/home-automation/wyoming/piper.nix @@ -37,7 +37,7 @@ in ''; type = types.attrsOf ( types.submodule ( - { ... }: + { name, ... }: { options = { enable = mkEnableOption "Wyoming Piper server"; @@ -49,7 +49,7 @@ in name = mkOption { type = str; - default = "piper"; + default = "piper-${name}"; description = '' The advertised name for zeroconf discovery. ''; @@ -205,8 +205,11 @@ in RestrictAddressFamilies = [ "AF_INET" "AF_INET6" - "AF_NETLINK" "AF_UNIX" + ] + ++ lib.optionals options.zeroconf.enable [ + # Zeroconf support require network interface enumeration + "AF_NETLINK" ]; RestrictNamespaces = true; RestrictRealtime = true; diff --git a/nixos/modules/services/video/frigate.nix b/nixos/modules/services/video/frigate.nix index 56c50afb0463..cd2c151e4fdd 100644 --- a/nixos/modules/services/video/frigate.nix +++ b/nixos/modules/services/video/frigate.nix @@ -348,6 +348,10 @@ in proxy_set_header X-Forwarded-Groups $http_x_forwarded_groups; proxy_set_header X-Forwarded-Email $http_x_forwarded_email; proxy_set_header X-Forwarded-Preferred-Username $http_x_forwarded_preferred_username; + proxy_set_header X-Auth-Request-User $http_x_auth_request_user; + proxy_set_header X-Auth-Request-Groups $http_x_auth_request_groups; + proxy_set_header X-Auth-Request-Email $http_x_auth_request_email; + proxy_set_header X-Auth-Request-Preferred-Username $http_x_auth_request_preferred_username; proxy_set_header X-authentik-username $http_x_authentik_username; proxy_set_header X-authentik-groups $http_x_authentik_groups; proxy_set_header X-authentik-email $http_x_authentik_email; @@ -362,6 +366,10 @@ in aio threads; vod hls; + # Use fMP4 (fragmented MP4) instead of MPEG-TS for better performance + # Smaller segments, faster generation, better browser compatibility + vod_hls_container_format fmp4; + secure_token $args; secure_token_types application/vnd.apple.mpegurl; @@ -555,6 +563,16 @@ in ${nginxProxySettings} } + location /api/auth/first_time_login { + auth_request off; + limit_except GET { + deny all; + } + rewrite ^/api(/.*)$ $1 break; + proxy_pass http://frigate-api; + ${nginxProxySettings} + } + location /api/stats { ${nginxAuthRequest} access_log off; @@ -582,6 +600,14 @@ in add_header Cache-Control "public"; ''; }; + "/fonts" = { + root = cfg.package.web; + extraConfig = '' + access_log off; + expires 1y; + add_header Cache-Control "public"; + ''; + }; "/locales/" = { root = cfg.package.web; extraConfig = '' @@ -623,6 +649,8 @@ in vod_manifest_segment_durations_mode accurate; vod_ignore_edit_list on; vod_segment_duration 10000; + + # MPEG-TS settings (not used when fMP4 is enabled, kept for reference) vod_hls_mpegts_align_frames off; vod_hls_mpegts_interleave_frames on; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index fd52b0023d94..e939931f8139 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -497,7 +497,26 @@ in internal = true; description = '' A list of attribute sets specifying drivers to be loaded by - the X11 server. + the X11 server. This module will create a Device section in + the Xorg config for every driver listed here, along with a + Screen section if the driver's {option}`display` attribute is + `true`. If such configuration sections should not be created, + use {options}`services.xserver.externallyConfiguredDrivers` + instead. + + Users should not add drivers to this option but should instead + add drivers to {option}`services.xserver.videoDrivers`. + ''; + }; + + externallyConfiguredDrivers = mkOption { + type = types.listOf types.str; + internal = true; + default = [ ]; + description = '' + A list of externally configured drivers (by name). Modules that + manually configure their drivers should add said drivers to this + list to let this module know that the driver has been configured. ''; }; @@ -865,7 +884,9 @@ in } ] ++ map (driver: { - assertion = builtins.elem driver (builtins.catAttrs "name" cfg.drivers); + assertion = builtins.elem driver ( + (builtins.catAttrs "name" cfg.drivers) ++ cfg.externallyConfiguredDrivers + ); message = "Unknown X11 driver ‘${driver}’ specified in `services.xserver.videoDrivers`."; }) cfg.videoDrivers; diff --git a/pkgs/applications/graphics/apngasm/2.nix b/pkgs/applications/graphics/apngasm/2.nix index cd518f5df658..0435ec6236a8 100644 --- a/pkgs/applications/graphics/apngasm/2.nix +++ b/pkgs/applications/graphics/apngasm/2.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { rm -rf libpng zlib zopfli ''; - NIX_CFLAGS_LINK = "-lzopfli"; + env.NIX_CFLAGS_LINK = "-lzopfli"; installPhase = '' install -Dt $out/bin apngasm diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 7aacc3628cc0..bbc6aa9f3398 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -436,13 +436,13 @@ "vendorHash": "sha256-FcxAh8EOvnT8r1GHu0Oj2C5Jgbr2WPwD7/vY4/qIvTA=" }, "gitlabhq_gitlab": { - "hash": "sha256-iBgACKVMJmfDLlIU6TZZiED+eEG7c4CMSkfEjU1Dmiw=", + "hash": "sha256-qsETOpigad1T2Zc2zQ3gs4AW3rrGsqt5Bse85QfGZkA=", "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab", "owner": "gitlabhq", "repo": "terraform-provider-gitlab", - "rev": "v18.8.0", + "rev": "v18.9.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-a2y8bnbQr8RNN3hJZFupUHvrIrV8HkAvZQn+7MIod0U=" + "vendorHash": "sha256-Yy7yF0x8AtXTP7EMCbrZUTAO317VDyktGbHN+iSuQkg=" }, "go-gandi_gandi": { "hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=", @@ -778,13 +778,13 @@ "vendorHash": "sha256-mnKXYT0GfIS+ODzBCS9l4rLF1ugadesmpgdOgj74nLg=" }, "jianyuan_sentry": { - "hash": "sha256-J8hINbcBEdukkSLw+nKwbln9EfNh4sIb5F7FPLmXLE4=", + "hash": "sha256-sZdF4YnrsjTt8wsgdDdocHciRZbv2+l+b8zOr/WZYiQ=", "homepage": "https://registry.terraform.io/providers/jianyuan/sentry", "owner": "jianyuan", "repo": "terraform-provider-sentry", - "rev": "v0.14.9", + "rev": "v0.14.10", "spdx": "MIT", - "vendorHash": "sha256-ILb6eUVt961ZBcEVKT324OXMxF/d+Wx9tzA3PDTe5iU=" + "vendorHash": "sha256-vJmzsdY2Yt09X2ZQgC5SA0mntjH/rIanaxQfBuivE7M=" }, "joneshf_openwrt": { "hash": "sha256-z78IceF2VJtiQpVqC+rTUDsph73LZawIK+az3rEhljA=", @@ -896,13 +896,13 @@ "vendorHash": "sha256-2IlD9IdiN+TBk/Eng2K4jZD8GB91IvQPeVAKhxI/6aY=" }, "metio_migadu": { - "hash": "sha256-K1wvS8rKetDuEdcommxdw07BkWJoSiZJ4sB3EfJ3uaI=", + "hash": "sha256-FPUWuQnklyy66SXUY3QpCHza5f0oVMrticd+j/YwKNc=", "homepage": "https://registry.terraform.io/providers/metio/migadu", "owner": "metio", "repo": "terraform-provider-migadu", - "rev": "2026.2.12", + "rev": "2026.2.26", "spdx": "0BSD", - "vendorHash": "sha256-Kag6QOY+ek9XIhvSJbzk+HGa9NxXh8MTMmoMXbFZxgI=" + "vendorHash": "sha256-sxOopd49N1ABIZkp9XpP03N2BMIA5FO9reZPl8aSomU=" }, "mongey_kafka": { "hash": "sha256-rTa6c7jAMH027V7h/yUGVGz6TS0PDdObilxU0Vpr6FI=", @@ -1337,13 +1337,13 @@ "vendorHash": "sha256-SF11E60OQiRdf+Pf6XyJg60yGRnGOcSzhrYccrWaeYE=" }, "terraform-lxd_lxd": { - "hash": "sha256-6dLtlUIFyP2cW1V6/M6z/uAFLVHKi9cJCQhb4cFJdkA=", + "hash": "sha256-Vjvj/zcs/EyGsQWOFGOcDWnmPv1ZxaLzs18GDvCccSA=", "homepage": "https://registry.terraform.io/providers/terraform-lxd/lxd", "owner": "terraform-lxd", "repo": "terraform-provider-lxd", - "rev": "v2.6.2", + "rev": "v2.7.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-3UzczIdB7Uns0X6ywSCoSWQcYhxSg43u95GEDQz2d28=" + "vendorHash": "sha256-bcynhUj61VrSooyZ+oF0gWpAA+FtsYHXUpV/hTMyl7Q=" }, "terraform-provider-openstack_openstack": { "hash": "sha256-6TcyPUacJNfGsaevg1DQ+WJrMFvGeo2mmsE2+P3RAZM=", diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 8e68c1e9f0a7..f41cd2b75748 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -41,8 +41,10 @@ let doCheck = false; - BUILD_USER = "nix"; - BUILD_HOST = "nix"; + env = { + BUILD_USER = "nix"; + BUILD_HOST = "nix"; + }; buildPhase = '' runHook preBuild diff --git a/pkgs/by-name/ap/aprutil/package.nix b/pkgs/by-name/ap/aprutil/package.nix index 66c9d3af92dc..f140e7a61493 100644 --- a/pkgs/by-name/ap/aprutil/package.nix +++ b/pkgs/by-name/ap/aprutil/package.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional stdenv.hostPlatform.isFreeBSD ./include-static-dependencies.patch; - NIX_CFLAGS_LINK = [ "-lcrypt" ]; + env.NIX_CFLAGS_LINK = toString [ "-lcrypt" ]; outputs = [ "out" diff --git a/pkgs/by-name/ch/changedetection-io/package.nix b/pkgs/by-name/ch/changedetection-io/package.nix index 785cd7d5807d..62db8cd39712 100644 --- a/pkgs/by-name/ch/changedetection-io/package.nix +++ b/pkgs/by-name/ch/changedetection-io/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication rec { pname = "changedetection-io"; - version = "0.53.5"; + version = "0.54.2"; format = "setuptools"; src = fetchFromGitHub { owner = "dgtlmoon"; repo = "changedetection.io"; tag = version; - hash = "sha256-B5T9M4JpNn4hUeV8rR1SIJobLKnuMkr4Se8d+Zu/xxY="; + hash = "sha256-EOvZdPMfGfllM57hbc/HMHw1rh9n9uwlA4VSkoY0MWY="; }; pythonRelaxDeps = true; diff --git a/pkgs/by-name/da/dawarich/gemset.nix b/pkgs/by-name/da/dawarich/gemset.nix index fdcca67bb9bd..d0fe707b3d25 100644 --- a/pkgs/by-name/da/dawarich/gemset.nix +++ b/pkgs/by-name/da/dawarich/gemset.nix @@ -431,10 +431,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "003xl226y120cbq1n99805jw6w75gcz1gs941yz3h7li3qy3kqha"; + sha256 = "14qb2gy6ypnqri92v9x8szbq7fzw27pc1z5cl367n5f5cpd2rmks"; type = "gem"; }; - version = "1.18.6"; + version = "1.20.1"; }; brakeman = { dependencies = [ "racc" ]; @@ -469,15 +469,16 @@ dependencies = [ "thor" ]; groups = [ "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0j0h5cgnzk0ms17ssjkzfzwz65ggrs3lsp53a1j46p4616m1s1bk"; + sha256 = "1sdlr4rj7x5nbrl8zkd3dqdg4fc50bnpx37rl0l0szg4f5n7dj41"; type = "gem"; }; - version = "0.9.2"; + version = "0.9.3"; }; byebug = { groups = [ @@ -690,10 +691,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1rbfqkzr6i8b6538z16chvrkgywf5p5vafsgmnbmvrmh0ingsx2y"; + sha256 = "1h0db8r2v5llxdbzkzyllkfniqw9gm092qn7cbaib73v9lw0c3bm"; type = "gem"; }; - version = "3.5.0"; + version = "3.5.1"; }; debug = { dependencies = [ @@ -773,15 +774,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy"; + sha256 = "17b1zr9kih0i3wb7h4yq9i8vi6hjfq07857j437a8z7a44qvhxg3"; type = "gem"; }; - version = "3.1.8"; + version = "3.2.0"; }; dotenv-rails = { dependencies = [ @@ -790,15 +792,16 @@ ]; groups = [ "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1i40g6kzwp8yxsxzpzgsq2hww9gxryl5lck1bwxshn4bd8id3ja6"; + sha256 = "1axy0frn3xn3jf1gdafx5rzz843551q1ckwcbp4zy8m69dajazk5"; type = "gem"; }; - version = "3.1.8"; + version = "3.2.0"; }; drb = { groups = [ @@ -848,10 +851,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0y95ynlfngs0s5x1w6mwralszhbi9d75lcdbdkqk75wcklzqjc17"; + sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18"; type = "gem"; }; - version = "6.0.0"; + version = "6.0.1"; }; erubi = { groups = [ @@ -1090,14 +1093,15 @@ version = "1.2.1"; }; hashie = { + dependencies = [ "logger" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; + sha256 = "0w1qrab701d3a63aj2qavwc2fpcqmkzzh1w2x93c88zkjqc4frn2"; type = "gem"; }; - version = "5.0.0"; + version = "5.1.0"; }; httparty = { dependencies = [ @@ -1149,6 +1153,7 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ @@ -1167,10 +1172,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y"; + sha256 = "1k0lk3pwadm2myvpg893n8jshmrf2sigrd4ki15lymy7gixaxqyn"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; irb = { dependencies = [ @@ -1200,10 +1205,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1aja320qnimlnfc80wf2i2x8i99kl5sdzfacsfzzfzzs3vzysja3"; + sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia"; type = "gem"; }; - version = "1.15.3"; + version = "1.16.0"; }; jmespath = { groups = [ "default" ]; @@ -1390,15 +1395,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0dx316q03x6rpdbl610rdaj2vfd5s8fanixk21j4gv3h5f230nk5"; + sha256 = "1rk0n13c9nmk8di2x5gqk5r04vf8bkp7ff6z0b44wsmc7fndfpnz"; type = "gem"; }; - version = "2.24.1"; + version = "2.25.0"; }; mail = { dependencies = [ @@ -1502,10 +1508,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04ihgnwp2ka68v82a6jpk9yqmazfwnbk3vsz6sb040kq6gf53dzd"; + sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76"; type = "gem"; }; - version = "1.7.3"; + version = "1.8.0"; }; multi_json = { groups = [ "default" ]; @@ -1610,10 +1616,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hcwwr2h8jnqqxmf8mfb52b0dchr7pm064ingflb78wa00qhgk6m"; + sha256 = "15anyh2ir3kdji93kw770xxwm5rspn9rzx9b9zh1h9gnclcd4173"; type = "gem"; }; - version = "1.18.10"; + version = "1.19.0"; }; oauth2 = { dependencies = [ @@ -1717,10 +1723,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; + sha256 = "0bf3m2ds78scmgacb1wx38zjj1czzkym0bdmgi9vn99rgr6j1qy6"; type = "gem"; }; - version = "1.0.2"; + version = "2.0.1"; }; omniauth_openid_connect = { dependencies = [ @@ -1937,10 +1943,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00silqnlzzm97gn21lm39q95hjn058waqky44j25r67p9drjy1hh"; + sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv"; type = "gem"; }; - version = "1.7.0"; + version = "1.9.0"; }; prometheus_exporter = { dependencies = [ "webrick" ]; @@ -2010,6 +2016,7 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ @@ -2028,10 +2035,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; + sha256 = "0x0r3gc66abv8i4dw0x0370b5hrshjfp6kpp7wbp178cy775fypb"; type = "gem"; }; - version = "5.2.6"; + version = "5.3.1"; }; public_suffix = { groups = [ @@ -2180,15 +2187,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "13brkq5xkj6lcdxj3f0k7v28hgrqhqxjlhd4y2vlicy5slgijdzp"; + sha256 = "0s48d2a0z5f0cg4npvzznf933vipi6j7gmk16yc913kpadkw4ybc"; type = "gem"; }; - version = "2.2.1"; + version = "2.3.1"; }; rails = { dependencies = [ @@ -2380,10 +2388,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0p4z1cs2zvkkvl0xiiy76ys1ipbhx0df15241jx7gnp61317qdbi"; + sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29"; type = "gem"; }; - version = "6.16.1"; + version = "7.1.0"; }; redis = { dependencies = [ "redis-client" ]; @@ -2461,6 +2469,27 @@ }; version = "1.7.0"; }; + resolv = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1bc3n2h2dpalms230rsh1zw0jr8nnpcm53x97b8in78y1p0f4372"; + type = "gem"; + }; + version = "0.7.0"; + }; + resolv-replace = { + dependencies = [ "resolv" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0c1vb75a6wjn6cijlrpndqn2xia1nri1jpcigbibji57qqnwklkn"; + type = "gem"; + }; + version = "0.2.0"; + }; responders = { dependencies = [ "actionpack" @@ -3015,21 +3044,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1v74k5yw7ndikr53wgbjn6j51p83qnzqbn9z4b53r102jcx3ri4r"; + sha256 = "1q92y9627yisykyscv0bdsrrgyaajc2qr56dwlzx7ysgigjv4z63"; type = "gem"; }; - version = "3.1.8"; - }; - strong_migrations = { - dependencies = [ "activerecord" ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "09llhlw9ddsjyv6c59z3yjwdhrxc2q60a60wjvqhrhhy96dkmjlb"; - type = "gem"; - }; - version = "2.5.1"; + version = "3.2.0"; }; super_diff = { dependencies = [ @@ -3090,15 +3108,16 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; + sha256 = "0wsy88vg2mazl039392hqrcwvs5nb9kq8jhhrrclir2px1gybag3"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; timeout = { groups = [ @@ -3377,14 +3396,15 @@ groups = [ "default" "development" + "staging" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; + sha256 = "12zcvhzfnlghzw03czy2ifdlyfpq0kcbqcmxqakfkbxxavrr1vrb"; type = "gem"; }; - version = "2.7.3"; + version = "2.7.4"; }; } diff --git a/pkgs/by-name/da/dawarich/sources.json b/pkgs/by-name/da/dawarich/sources.json index f67649193411..88268ba1d56b 100644 --- a/pkgs/by-name/da/dawarich/sources.json +++ b/pkgs/by-name/da/dawarich/sources.json @@ -1,5 +1,5 @@ { - "version": "0.37.3", - "hash": "sha256-cZBT3ek5mzHbPr4aVHU47SNstEuBnpBNaCfaAe/IAEw=", - "npmHash": "sha256-wDe1Zx9HyheS76ltLtDQ+f4M7ohu/pyRuRaGGCnhkQI=" + "version": "1.3.1", + "hash": "sha256-ziOp6R00uaWdv7KHHPe+2H5bX5fRtHmwhfoiQSSqEn4=", + "npmHash": "sha256-Y6tEaApfGXAtmy0W85+4qGbrEkUkrKXTssl7wXeVnQY=" } diff --git a/pkgs/by-name/ds/dsniff/package.nix b/pkgs/by-name/ds/dsniff/package.nix index 22069f210ab6..8d935d49f6f2 100644 --- a/pkgs/by-name/ds/dsniff/package.nix +++ b/pkgs/by-name/ds/dsniff/package.nix @@ -103,8 +103,19 @@ stdenv.mkDerivation (finalAttrs: { libnsl libnl ]; - NIX_CFLAGS_LINK = "-lglib-2.0 -lpthread -ltirpc -lnl-3 -lnl-genl-3"; - env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; + + env = { + NIX_CFLAGS_LINK = toString [ + "-lglib-2.0" + "-lpthread" + "-ltirpc" + "-lnl-3" + "-lnl-genl-3" + ]; + NIX_CFLAGS_COMPILE = toString [ + "-I${libtirpc.dev}/include/tirpc" + ]; + }; postPatch = '' for patch in debian/patches/*.patch; do patch < $patch diff --git a/pkgs/by-name/fr/frigate/ai-edge-litert.patch b/pkgs/by-name/fr/frigate/ai-edge-litert.patch index 95a63781ccef..3a8c3f8a566f 100644 --- a/pkgs/by-name/fr/frigate/ai-edge-litert.patch +++ b/pkgs/by-name/fr/frigate/ai-edge-litert.patch @@ -1,8 +1,8 @@ diff --git a/frigate/data_processing/real_time/bird.py b/frigate/data_processing/real_time/bird.py -index d547f2dd..402876b7 100644 +index 7851c0997..520440005 100644 --- a/frigate/data_processing/real_time/bird.py +++ b/frigate/data_processing/real_time/bird.py -@@ -21,7 +21,7 @@ from .api import RealTimeProcessorApi +@@ -22,7 +22,7 @@ from .api import RealTimeProcessorApi try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -11,11 +11,46 @@ index d547f2dd..402876b7 100644 logger = logging.getLogger(__name__) +diff --git a/frigate/data_processing/real_time/custom_classification.py b/frigate/data_processing/real_time/custom_classification.py +index 229383d9f..2c74a6575 100644 +--- a/frigate/data_processing/real_time/custom_classification.py ++++ b/frigate/data_processing/real_time/custom_classification.py +@@ -32,7 +32,7 @@ from .api import RealTimeProcessorApi + try: + from tflite_runtime.interpreter import Interpreter + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter ++ from ai_edge_litert.interpreter import Interpreter + + logger = logging.getLogger(__name__) + +@@ -76,7 +76,7 @@ class CustomStateClassificationProcessor(RealTimeProcessorApi): + try: + from tflite_runtime.interpreter import Interpreter + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter ++ from ai_edge_litert.interpreter import Interpreter + + model_path = os.path.join(self.model_dir, "model.tflite") + labelmap_path = os.path.join(self.model_dir, "labelmap.txt") +diff --git a/frigate/detectors/detector_utils.py b/frigate/detectors/detector_utils.py +index d732de871..d8930b2ae 100644 +--- a/frigate/detectors/detector_utils.py ++++ b/frigate/detectors/detector_utils.py +@@ -6,7 +6,7 @@ import numpy as np + try: + from tflite_runtime.interpreter import Interpreter, load_delegate + except ModuleNotFoundError: +- from tensorflow.lite.python.interpreter import Interpreter, load_delegate ++ from ai_edge_litert.interpreter import Interpreter, load_delegate + + + logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/cpu_tfl.py b/frigate/detectors/plugins/cpu_tfl.py -index 8a54363e..68ae558b 100644 +index 00351f519..6d336bb6b 100644 --- a/frigate/detectors/plugins/cpu_tfl.py +++ b/frigate/detectors/plugins/cpu_tfl.py -@@ -10,7 +10,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig +@@ -12,7 +12,7 @@ from ..detector_utils import tflite_detect_raw, tflite_init try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -25,23 +60,23 @@ index 8a54363e..68ae558b 100644 logger = logging.getLogger(__name__) diff --git a/frigate/detectors/plugins/edgetpu_tfl.py b/frigate/detectors/plugins/edgetpu_tfl.py -index 246d2dd4..e855bf87 100644 +index 2b94fde39..36c769b4b 100644 --- a/frigate/detectors/plugins/edgetpu_tfl.py +++ b/frigate/detectors/plugins/edgetpu_tfl.py -@@ -11,7 +11,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig +@@ -13,7 +13,7 @@ from frigate.detectors.detector_config import BaseDetectorConfig, ModelTypeEnum try: from tflite_runtime.interpreter import Interpreter, load_delegate except ModuleNotFoundError: - from tensorflow.lite.python.interpreter import Interpreter, load_delegate + from ai_edge_litert.interpreter import Interpreter, load_delegate - logger = logging.getLogger(__name__) + diff --git a/frigate/embeddings/onnx/face_embedding.py b/frigate/embeddings/onnx/face_embedding.py -index eb04b43b..0c6c26fc 100644 +index 04d756897..75dfedc94 100644 --- a/frigate/embeddings/onnx/face_embedding.py +++ b/frigate/embeddings/onnx/face_embedding.py -@@ -14,7 +14,7 @@ from .runner import ONNXModelRunner +@@ -17,7 +17,7 @@ from .base_embedding import BaseEmbedding try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -51,10 +86,10 @@ index eb04b43b..0c6c26fc 100644 logger = logging.getLogger(__name__) diff --git a/frigate/events/audio.py b/frigate/events/audio.py -index f2a217fd..82206b5a 100644 +index e88f2ae71..ad87d19c1 100644 --- a/frigate/events/audio.py +++ b/frigate/events/audio.py -@@ -36,7 +36,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg +@@ -43,7 +43,7 @@ from frigate.video import start_or_restart_ffmpeg, stop_ffmpeg try: from tflite_runtime.interpreter import Interpreter except ModuleNotFoundError: @@ -62,3 +97,4 @@ index f2a217fd..82206b5a 100644 + from ai_edge_litert.interpreter import Interpreter + logger = logging.getLogger(__name__) diff --git a/pkgs/by-name/fr/frigate/constants.patch b/pkgs/by-name/fr/frigate/constants.patch deleted file mode 100644 index 943e49353c01..000000000000 --- a/pkgs/by-name/fr/frigate/constants.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/frigate/comms/webpush.py b/frigate/comms/webpush.py -index c5986d45..b767e19e 100644 ---- a/frigate/comms/webpush.py -+++ b/frigate/comms/webpush.py -@@ -17,7 +17,7 @@ from titlecase import titlecase - from frigate.comms.base_communicator import Communicator - from frigate.comms.config_updater import ConfigSubscriber - from frigate.config import FrigateConfig --from frigate.const import CONFIG_DIR -+from frigate.const import BASE_DIR, CONFIG_DIR - from frigate.models import User - - logger = logging.getLogger(__name__) -@@ -333,7 +333,7 @@ class WebPushClient(Communicator): # type: ignore[misc] - - title = f"{titlecase(', '.join(sorted_objects).replace('_', ' '))}{' was' if state == 'end' else ''} detected in {titlecase(', '.join(payload['after']['data']['zones']).replace('_', ' '))}" - message = f"Detected on {titlecase(camera.replace('_', ' '))}" -- image = f"{payload['after']['thumb_path'].replace('/media/frigate', '')}" -+ image = f"{payload['after']['thumb_path'].replace(BASE_DIR, '')}" - - # if event is ongoing open to live view otherwise open to recordings view - direct_url = f"/review?id={reviewId}" if state == "end" else f"/#{camera}" diff --git a/pkgs/by-name/fr/frigate/ffmpeg.patch b/pkgs/by-name/fr/frigate/ffmpeg.patch index e5e7c44121ae..2b9d08cf2d06 100644 --- a/pkgs/by-name/fr/frigate/ffmpeg.patch +++ b/pkgs/by-name/fr/frigate/ffmpeg.patch @@ -1,5 +1,5 @@ diff --git a/frigate/config/camera/ffmpeg.py b/frigate/config/camera/ffmpeg.py -index 04bbfac7..396bcc4b 100644 +index 2c1e4cdca..d1a1f7065 100644 --- a/frigate/config/camera/ffmpeg.py +++ b/frigate/config/camera/ffmpeg.py @@ -1,4 +1,5 @@ @@ -8,7 +8,7 @@ index 04bbfac7..396bcc4b 100644 from typing import Union from pydantic import Field, field_validator -@@ -69,21 +70,11 @@ class FfmpegConfig(FrigateBaseModel): +@@ -71,21 +72,11 @@ class FfmpegConfig(FrigateBaseModel): @property def ffmpeg_path(self) -> str: @@ -33,10 +33,10 @@ index 04bbfac7..396bcc4b 100644 class CameraRoleEnum(str, Enum): diff --git a/frigate/record/export.py b/frigate/record/export.py -index 0d3f96da..463bcff4 100644 +index d4b49bb4b..bbcccff61 100644 --- a/frigate/record/export.py +++ b/frigate/record/export.py -@@ -126,7 +126,7 @@ class RecordingExporter(threading.Thread): +@@ -127,7 +127,7 @@ class RecordingExporter(threading.Thread): minutes = int(diff / 60) seconds = int(diff % 60) ffmpeg_cmd = [ diff --git a/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch b/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch new file mode 100644 index 000000000000..5adf8d0b26d5 --- /dev/null +++ b/pkgs/by-name/fr/frigate/libteflon-driverlink-path.patch @@ -0,0 +1,13 @@ +diff --git a/frigate/detectors/plugins/teflon_tfl.py b/frigate/detectors/plugins/teflon_tfl.py +index 7e29d6630..98e446d84 100644 +--- a/frigate/detectors/plugins/teflon_tfl.py ++++ b/frigate/detectors/plugins/teflon_tfl.py +@@ -26,7 +26,7 @@ class TeflonTfl(DetectionApi): + + def __init__(self, detector_config: TeflonDetectorConfig): + # Location in Debian's mesa-teflon-delegate +- delegate_library = "/usr/lib/teflon/libteflon.so" ++ delegate_library = "@driverLink@/lib/libteflon.so" + device_config = {} + + interpreter = tflite_load_delegate_interpreter( diff --git a/pkgs/by-name/fr/frigate/onnxruntime-compat.patch b/pkgs/by-name/fr/frigate/onnxruntime-compat.patch index 145c6e6722dc..fca2e6572ab1 100644 --- a/pkgs/by-name/fr/frigate/onnxruntime-compat.patch +++ b/pkgs/by-name/fr/frigate/onnxruntime-compat.patch @@ -1,19 +1,12 @@ -Disable the SimplifedLayerNormFusion optimization for onnxruntime embedding -models to prevent a crash when using FP16 models (like jinna-clip-v1) with newer -onnxruntime versions. - -https://github.com/microsoft/onnxruntime/issues/26717#issuecomment-3800462654 - - -diff --git a/frigate/embeddings/onnx/runner.py b/frigate/embeddings/onnx/runner.py -index c34c97a8d..dca91daae 100644 ---- a/frigate/embeddings/onnx/runner.py -+++ b/frigate/embeddings/onnx/runner.py -@@ -52,6 +52,7 @@ class ONNXModelRunner: - model_path, - providers=providers, - provider_options=options, -+ disabled_optimizers=["SimplifiedLayerNormFusion"], - ) - - def get_input_names(self) -> list[str]: +diff --git a/frigate/detectors/detection_runners.py b/frigate/detectors/detection_runners.py +index fcbb41e66..5b4d3f310 100644 +--- a/frigate/detectors/detection_runners.py ++++ b/frigate/detectors/detection_runners.py +@@ -603,6 +603,7 @@ def get_optimized_runner( + ), + providers=providers, + provider_options=options, ++ disabled_optimizers=["SimplifiedLayerNormFusion"], + ), + model_type=model_type, + ) diff --git a/pkgs/by-name/fr/frigate/package.nix b/pkgs/by-name/fr/frigate/package.nix index ca26f3f83c8b..7dc8a3620169 100644 --- a/pkgs/by-name/fr/frigate/package.nix +++ b/pkgs/by-name/fr/frigate/package.nix @@ -1,6 +1,8 @@ { lib, stdenv, + replaceVars, + addDriverRunpath, callPackage, python313Packages, fetchFromGitHub, @@ -9,18 +11,17 @@ sqlite-vec, frigate, nixosTests, - fetchpatch, }: let - version = "0.16.4"; + version = "0.17.0"; src = fetchFromGitHub { name = "frigate-${version}-source"; owner = "blakeblackshear"; repo = "frigate"; tag = "v${version}"; - hash = "sha256-TPiCT/z0YuoQkQsxyZsRMQa0XwqMLCgwMbrASOKrMjA="; + hash = "sha256-K41tWnj0u+Fw+G++aPFfMa0uFYEvvZ0r6xNPQ7J1cYs="; }; frigate-web = callPackage ./web.nix { @@ -38,6 +39,9 @@ let hash = "sha256-95xtUzzIxxvDtpHX/5uCHnTQTB8Fc08DZGUOR/SdKLs="; }; }); + + huggingface-hub = super.huggingface-hub_0; + transformers = super.transformers_4; }; }; python3Packages = python.pkgs; @@ -77,27 +81,23 @@ python3Packages.buildPythonApplication rec { inherit src; patches = [ - ./constants.patch - # Fixes hardcoded path /media/frigate/clips/faces. Remove in next version. - (fetchpatch { - url = "https://github.com/blakeblackshear/frigate/commit/b86e6e484f64bd43b64d7adebe78671a7a426edb.patch"; - hash = "sha256-1+n0n0yCtjfAHkXzsZdIF0iCVdPGmsG7l8/VTqBVEjU="; - }) + # Always lookup ffmpeg from config setting ./ffmpeg.patch + + # Adjust libteflon.so location + (replaceVars ./libteflon-driverlink-path.patch { + inherit (addDriverRunpath) driverLink; + }) + + # Use ai-edge-litert as tensorflow interpreter # https://github.com/blakeblackshear/frigate/pull/21876 ./ai-edge-litert.patch - (fetchpatch { - # peewee-migrate 0.14.x compat - url = "https://github.com/blakeblackshear/frigate/commit/dde02cadb2168c44e9eb395ddfbb7b169096bd15.patch"; - excludes = [ - "docker/main/requirements-wheels.txt" - "migrations/031_create_trigger_table.py" - "migrations/032_add_password_changed_at.py" - ]; - hash = "sha256-RrmwjE4SHJIUOYfqcCtMy9Pht7UXhHcoAZlFQv9aQFw="; - }) + + # Disable failing optimization in onnxruntime # https://github.com/microsoft/onnxruntime/issues/26717 ./onnxruntime-compat.patch + + # Fix excessive trailing whitespaces in process commandlines # https://github.com/blakeblackshear/frigate/pull/22089 ./proc-cmdline-strip.patch ]; @@ -107,7 +107,7 @@ python3Packages.buildPythonApplication rec { substituteInPlace \ frigate/app.py \ - frigate/test/test_{http,storage}.py \ + frigate/test/test_storage.py \ frigate/test/http_api/base_http_test.py \ --replace-fail "Router(migrate_db)" 'Router(migrate_db, "${placeholder "out"}/share/frigate/migrations")' @@ -118,7 +118,13 @@ python3Packages.buildPythonApplication rec { --replace-fail "/config" "/var/lib/frigate" \ --replace-fail "{CONFIG_DIR}/model_cache" "/var/cache/frigate/model_cache" - substituteInPlace frigate/comms/{config,embeddings}_updater.py frigate/comms/{zmq_proxy,inter_process}.py \ + substituteInPlace \ + frigate/comms/config_updater.py \ + frigate/comms/embeddings_updater.py \ + frigate/comms/inter_process.py \ + frigate/comms/object_detector_signaler.py \ + frigate/comms/zmq_proxy.py \ + frigate/detectors/plugins/zmq_ipc.py \ --replace-fail "ipc:///tmp/cache" "ipc:///run/frigate" substituteInPlace frigate/db/sqlitevecq.py \ @@ -140,25 +146,27 @@ python3Packages.buildPythonApplication rec { dontBuild = true; dependencies = with python3Packages; [ - # docker/main/requirements.txt - scikit-build # docker/main/requirements-wheel.txt + # TODO: degirum (no source repo, binary wheels only) ai-edge-litert aiofiles aiohttp appdirs argcomplete - contextlib2 click + contextlib2 + cryptography distlib fastapi + faster-whisper filelock + google-genai importlib-metadata importlib-resources - google-generativeai joserfc - levenshtein + librosa markupsafe + memray netaddr netifaces norfair @@ -184,14 +192,18 @@ python3Packages.buildPythonApplication rec { py-vapid pywebpush pyzmq + rapidfuzz requests ruamel-yaml scipy setproctitle shapely + sherpa-onnx slowapi + soundfile starlette starlette-context + tensorflow titlecase transformers tzlocal diff --git a/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch b/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch index 426dd20ae266..2dd131ebf419 100644 --- a/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch +++ b/pkgs/by-name/fr/frigate/proc-cmdline-strip.patch @@ -1,13 +1,8 @@ -Strip trailing whitespace from process commandlines. This is annoying for exact -process matches against Prometheus labels. - -https://github.com/blakeblackshear/frigate/pull/22089 - diff --git a/frigate/util/services.py b/frigate/util/services.py -index b31a7eea3..f1e8f0f5f 100644 +index 64d83833d..912ce67bd 100644 --- a/frigate/util/services.py +++ b/frigate/util/services.py -@@ -118,7 +118,7 @@ def get_cpu_stats() -> dict[str, dict]: +@@ -121,7 +121,7 @@ def get_cpu_stats() -> dict[str, dict]: pid = str(process.info["pid"]) try: cpu_percent = process.info["cpu_percent"] @@ -16,7 +11,7 @@ index b31a7eea3..f1e8f0f5f 100644 with open(f"/proc/{pid}/stat", "r") as f: stats = f.readline().split() -@@ -152,7 +152,7 @@ def get_cpu_stats() -> dict[str, dict]: +@@ -155,7 +155,7 @@ def get_cpu_stats() -> dict[str, dict]: "cpu": str(cpu_percent), "cpu_average": str(round(cpu_average_usage, 2)), "mem": f"{mem_pct}", diff --git a/pkgs/by-name/fr/frigate/web.nix b/pkgs/by-name/fr/frigate/web.nix index b6f6e48b4260..7e284818b975 100644 --- a/pkgs/by-name/fr/frigate/web.nix +++ b/pkgs/by-name/fr/frigate/web.nix @@ -18,21 +18,20 @@ buildNpmPackage { --replace-fail '/BASE_PATH/' '/' substituteInPlace \ - src/pages/Exports.tsx \ - src/components/preview/ScrubbablePreview.tsx \ + src/components/card/AnimatedEventCard.tsx \ src/components/card/ExportCard.tsx \ src/components/card/ReviewCard.tsx \ - src/components/card/AnimatedEventCard.tsx \ src/components/player/PreviewThumbnailPlayer.tsx \ + src/components/preview/ScrubbablePreview.tsx \ + src/pages/Exports.tsx \ src/views/system/StorageMetrics.tsx \ - src/components/timeline/EventSegment.tsx \ --replace-fail "/media/frigate" "/var/lib/frigate" \ substituteInPlace src/views/system/StorageMetrics.tsx \ --replace-fail "/tmp/cache" "/var/cache/frigate" ''; - npmDepsHash = "sha256-CrK/6BaKmKIxlohEZdGEEKJkioszBUupyKQx4nBeLqI="; + npmDepsHash = "sha256-iIqP3pspkDbaXZkZ5MIT/GVGiKBJCkFXQ7Av5h1rWKk="; installPhase = '' cp -rv dist/ $out diff --git a/pkgs/by-name/he/hebbot/package.nix b/pkgs/by-name/he/hebbot/package.nix index ce1a2b6f57e9..8981a5d90c3a 100644 --- a/pkgs/by-name/he/hebbot/package.nix +++ b/pkgs/by-name/he/hebbot/package.nix @@ -40,13 +40,12 @@ rustPlatform.buildRustPackage (finalAttrs: { env = { OPENSSL_NO_VENDOR = 1; + NIX_CFLAGS_LINK = toString [ + "-L${lib.getLib openssl}/lib" + "-L${lib.getLib sqlite}/lib" + ]; }; - NIX_CFLAGS_LINK = [ - "-L${lib.getLib openssl}/lib" - "-L${lib.getLib sqlite}/lib" - ]; - passthru.updateScript = unstableGitUpdater { }; meta = { diff --git a/pkgs/by-name/ho/homebridge-config-ui-x/package.nix b/pkgs/by-name/ho/homebridge-config-ui-x/package.nix index d3e3dbcde2a3..94bb3693acc1 100644 --- a/pkgs/by-name/ho/homebridge-config-ui-x/package.nix +++ b/pkgs/by-name/ho/homebridge-config-ui-x/package.nix @@ -13,23 +13,23 @@ buildNpmPackage.override { nodejs = nodejs_22; } (finalAttrs: { pname = "homebridge-config-ui-x"; - version = "5.17.0"; + version = "5.18.0"; src = fetchFromGitHub { owner = "homebridge"; repo = "homebridge-config-ui-x"; tag = "v${finalAttrs.version}"; - hash = "sha256-6s3Ia9vWuYJjNnE4iQz8jbOKjcn5dGe8DjpGcsrSwEc="; + hash = "sha256-bdE/uu3uh3qgPNaDKU47wD1LtER/wJfLmwp2J624rK4="; }; # Deps hash for the root package - npmDepsHash = "sha256-HrTnzoN/Mku60U84bh0I+ImlyCLVcfMlOAfjkezHErE="; + npmDepsHash = "sha256-pbmnAAQs6RVwklAoKY4LY0k+nheX2BeAgkQEFNVDofc="; # Deps src and hash for ui subdirectory npmDeps_ui = fetchNpmDeps { name = "npm-deps-ui"; src = "${finalAttrs.src}/ui"; - hash = "sha256-RNzPrSdHYEd8U3FD9h7DiLCWVuRojZgL+Q5mmsPm9wc="; + hash = "sha256-uBB2WxbCXJL2Ys6sMFcLUlh88TLAz3U+XMhvDc8yFPk="; }; # Need to also run npm ci in the ui subdirectory diff --git a/pkgs/by-name/io/iortcw/sp.nix b/pkgs/by-name/io/iortcw/sp.nix index 863f61dafdc2..7876192f0660 100644 --- a/pkgs/by-name/io/iortcw/sp.nix +++ b/pkgs/by-name/io/iortcw/sp.nix @@ -47,11 +47,15 @@ stdenv.mkDerivation (finalAttrs: { ]; nativeBuildInputs = [ makeWrapper ]; - env.NIX_CFLAGS_COMPILE = toString [ - "-I${lib.getInclude SDL2}/include/SDL2" - "-I${opusfile.dev}/include/opus" - ]; - NIX_CFLAGS_LINK = [ "-lSDL2" ]; + env = { + NIX_CFLAGS_COMPILE = toString [ + "-I${lib.getInclude SDL2}/include/SDL2" + "-I${opusfile.dev}/include/opus" + ]; + NIX_CFLAGS_LINK = toString [ + "-lSDL2" + ]; + }; postInstall = '' for i in `find $out/opt/iortcw -maxdepth 1 -type f -executable`; do diff --git a/pkgs/by-name/li/libsndfile/package.nix b/pkgs/by-name/li/libsndfile/package.nix index 18beb16107b4..9fadf930ba0e 100644 --- a/pkgs/by-name/li/libsndfile/package.nix +++ b/pkgs/by-name/li/libsndfile/package.nix @@ -78,7 +78,10 @@ stdenv.mkDerivation (finalAttrs: { ''; # Needed on Darwin. - NIX_CFLAGS_LINK = "-logg -lvorbis"; + env.NIX_CFLAGS_LINK = toString [ + "-logg" + "-lvorbis" + ]; # Broken with libopus >= 1.6.0 doCheck = false; diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index 4affc2ae99f0..1d486ac6cfc2 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -47,14 +47,14 @@ assert python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.7.8"; + version = "2.7.9"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; tag = version; - hash = "sha256-o17H8cmMC8szh/hfgdq0JWCPh45TkrhuXOikr+DcBw8="; + hash = "sha256-c6WTalpjaZcUvppyYaTP03ErX5b+k7fUbphj58FVBS8="; }; patches = [ diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index acf13b443f90..c101c6dc22c4 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,7 +1,7 @@ # Do not edit manually, run ./update-providers.py { - version = "2.7.8"; + version = "2.7.9"; providers = { airplay = ps: with ps; [ diff --git a/pkgs/by-name/op/openspades/package.nix b/pkgs/by-name/op/openspades/package.nix index 4379fbe12e2c..6eebb66c8429 100644 --- a/pkgs/by-name/op/openspades/package.nix +++ b/pkgs/by-name/op/openspades/package.nix @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { cp $notoFont $out/share/games/openspades/Resources/ ''; - NIX_CFLAGS_LINK = "-lopenal"; + env.NIX_CFLAGS_LINK = "-lopenal"; meta = { description = "Compatible client of Ace of Spades 0.75"; diff --git a/pkgs/by-name/rs/rss-glx/cstddef.patch b/pkgs/by-name/rs/rss-glx/cstddef.patch deleted file mode 100644 index 8bec510b0405..000000000000 --- a/pkgs/by-name/rs/rss-glx/cstddef.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git i/src/Implicit/impSurface.h w/src/Implicit/impSurface.h -index 41fab81..027587f 100644 ---- i/src/Implicit/impSurface.h -+++ w/src/Implicit/impSurface.h -@@ -25,6 +25,7 @@ - #ifdef WIN32 - #include - #endif -+#include - #include - #include - diff --git a/pkgs/by-name/rs/rss-glx/package.nix b/pkgs/by-name/rs/rss-glx/package.nix deleted file mode 100644 index 251ee7607aa1..000000000000 --- a/pkgs/by-name/rs/rss-glx/package.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - autoconf, - pkg-config, - libx11, - libxext, - libGLU, - libGL, - imagemagick6, - libtiff, - bzip2, -}: - -stdenv.mkDerivation rec { - version = "0.9.1"; - pname = "rss-glx"; - - src = fetchurl { - url = "mirror://sourceforge/rss-glx/rss-glx_${version}.tar.bz2"; - sha256 = "1aikafjqrfmv23jnrrm5d56dg6injh4l67zjdxzdapv9chw7g3cg"; - }; - - nativeBuildInputs = [ - autoconf - pkg-config - ]; - buildInputs = [ - libGLU - libGL - libx11 - libxext - imagemagick6 - libtiff - bzip2 - ]; - - patches = [ - ./cstddef.patch - ]; - - env.NIX_CFLAGS_COMPILE = "-I${imagemagick6.dev}/include/ImageMagick"; - - meta = { - description = "Really Slick Screensavers Port to GLX"; - longDescription = '' - This package currently contains all of the screensavers from the - original collection, plus a few others. - ''; - license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index 1f6f75f1a1db..a0b8cc669ff3 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -26,14 +26,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.7-unstable-2026-02-20"; + version = "11.7-unstable-2026-02-27"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "d4abc485036d30b65bc80ef041690a1d1fc371c8"; - hash = "sha256-nJskuS4WM58na0ohsNppqKiOLa98TInXkaWvPzhctoY="; + rev = "762eed4ddfc1134f8b18b74a0cc39434a65bc64c"; + hash = "sha256-3ww14LOWres0HA/4TRNMmNFkaFVqXBOrpsJgFv6qaYY="; }; buildInputs = diff --git a/pkgs/by-name/te/tempo/package.nix b/pkgs/by-name/te/tempo/package.nix index bf05e44aca2a..a47afa496694 100644 --- a/pkgs/by-name/te/tempo/package.nix +++ b/pkgs/by-name/te/tempo/package.nix @@ -7,14 +7,14 @@ buildGoModule (finalAttrs: { pname = "tempo"; - version = "2.10.0"; + version = "2.10.1"; src = fetchFromGitHub { owner = "grafana"; repo = "tempo"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-ciiJg8PdvifYGalfo/V8RFTKkZ8pHM9RlwfGRKeRAhU="; + hash = "sha256-XhtG3+0Xy7Bi3RuY5MNcHB7Hp6lXjzksdGu7eztXmnU="; }; vendorHash = null; diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix index fb55ddd68a45..690726f692ef 100644 --- a/pkgs/by-name/to/tombi/package.nix +++ b/pkgs/by-name/to/tombi/package.nix @@ -9,19 +9,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tombi"; - version = "0.7.31"; + version = "0.7.33"; src = fetchFromGitHub { owner = "tombi-toml"; repo = "tombi"; tag = "v${finalAttrs.version}"; - hash = "sha256-1md4NoDoqTcIPXzMK9IdYk8PCf0jcZIUcOViAm7N+90="; + hash = "sha256-MNzz4mgHiKdmrkKwh2E6XlQK2jelEnjoFHolpZJxjw0="; }; # Tests relies on the presence of network doCheck = false; cargoBuildFlags = [ "--package tombi-cli" ]; - cargoHash = "sha256-a7+M+KOYD3SboIzg1kmNV+kehHsae0/+C6hneBeRFGo="; + cargoHash = "sha256-5EZNL5aBdS+1TI4Gx2AQw6Di+5rYQBR3ukexSnFFIcs="; postPatch = '' substituteInPlace Cargo.toml \ diff --git a/pkgs/by-name/to/tor/package.nix b/pkgs/by-name/to/tor/package.nix index 2778700d8ad2..034771bef7f8 100644 --- a/pkgs/by-name/to/tor/package.nix +++ b/pkgs/by-name/to/tor/package.nix @@ -85,7 +85,9 @@ stdenv.mkDerivation (finalAttrs: { # cross compiles correctly but needs the following lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ]; - NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s"; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_LINK = "-lgcc_s"; + }; postPatch = '' substituteInPlace contrib/client-tools/torify \ diff --git a/pkgs/by-name/uf/ufoai/package.nix b/pkgs/by-name/uf/ufoai/package.nix index 751fccaaab98..b245e5c92b77 100644 --- a/pkgs/by-name/uf/ufoai/package.nix +++ b/pkgs/by-name/uf/ufoai/package.nix @@ -30,12 +30,21 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "1drhh08cqqkwv1yz3z4ngkplr23pqqrdx6cp8c3isy320gy25cvb"; }; - # Workaround build failure on -fno-common toolchains: - # ld: r_gl.h:52: multiple definition of `qglGenBuffers'; - # r_gl.h:52: first defined here - # TODO: drop once release contains upstream fix: - # https://github.com/ufoai/ufoai/commit/8a3075fffdad294e - env.NIX_CFLAGS_COMPILE = "-fcommon"; + env = { + # Workaround build failure on -fno-common toolchains: + # ld: r_gl.h:52: multiple definition of `qglGenBuffers'; + # r_gl.h:52: first defined here + # TODO: drop once release contains upstream fix: + # https://github.com/ufoai/ufoai/commit/8a3075fffdad294e + NIX_CFLAGS_COMPILE = "-fcommon"; + NIX_CFLAGS_LINK = toString [ + # to avoid occasional runtime error in finding libgcc_s.so.1 + "-lgcc_s" + # tests are underlinked against libm: + # ld: release-linux-x86_64/testall/client/sound/s_mix.c.o: undefined reference to symbol 'acos@@GLIBC_2.2.5' + "-lm" + ]; + }; preConfigure = ''tar xvf "${finalAttrs.srcData}"''; @@ -60,14 +69,6 @@ stdenv.mkDerivation (finalAttrs: { cunit ]; - NIX_CFLAGS_LINK = [ - # to avoid occasional runtime error in finding libgcc_s.so.1 - "-lgcc_s" - # tests are underlinked against libm: - # ld: release-linux-x86_64/testall/client/sound/s_mix.c.o: undefined reference to symbol 'acos@@GLIBC_2.2.5' - "-lm" - ]; - meta = { homepage = "http://ufoai.org"; description = "Squad-based tactical strategy game in the tradition of X-Com"; diff --git a/pkgs/by-name/wy/wyoming-faster-whisper/package.nix b/pkgs/by-name/wy/wyoming-faster-whisper/package.nix index 47447bc6bccd..65ddaad79125 100644 --- a/pkgs/by-name/wy/wyoming-faster-whisper/package.nix +++ b/pkgs/by-name/wy/wyoming-faster-whisper/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "wyoming-faster-whisper"; - version = "2.5.0"; + version = "3.1.0"; pyproject = true; src = fetchFromGitHub { owner = "rhasspy"; repo = "wyoming-faster-whisper"; tag = "v${finalAttrs.version}"; - hash = "sha256-MKB6gZdGdAYoNK8SRiDHG8xtMZ5mXdaSn+bH4T6o/K4="; + hash = "sha256-p1FCyj/D7ndKJD1/V5YzhT0xlkg61DSx2m3DCELmPO8="; }; build-system = with python3Packages; [ @@ -25,18 +25,33 @@ python3Packages.buildPythonApplication (finalAttrs: { "wyoming" ]; + pythonRemoveDeps = [ + # https://github.com/rhasspy/wyoming-faster-whisper/pull/81 + "requests" + ]; + dependencies = with python3Packages; [ faster-whisper wyoming ]; - optional-dependencies = { - transformers = - with python3Packages; - [ - transformers - ] - ++ transformers.optional-dependencies.torch; + optional-dependencies = with python3Packages; { + transformers = [ + transformers + ] + ++ transformers.optional-dependencies.torch; + sherpa = [ + sherpa-onnx + ]; + onnx_asr = [ + onnx-asr + ] + ++ onnx-asr.optional-dependencies.cpu + ++ onnx-asr.optional-dependencies.hub; + zeroconf = [ + wyoming + ] + ++ wyoming.optional-dependencies.zeroconf; }; pythonImportsCheck = [ diff --git a/pkgs/by-name/xb/xbill/package.nix b/pkgs/by-name/xb/xbill/package.nix index a8c1ba2c4aa2..20185d4007aa 100644 --- a/pkgs/by-name/xb/xbill/package.nix +++ b/pkgs/by-name/xb/xbill/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { motif ]; - NIX_CFLAGS_LINK = "-lXpm"; + env.NIX_CFLAGS_LINK = "-lXpm"; configureFlags = [ "--with-x" diff --git a/pkgs/by-name/xv/xv/package.nix b/pkgs/by-name/xv/xv/package.nix index 3902d3f52657..bf7257646780 100644 --- a/pkgs/by-name/xv/xv/package.nix +++ b/pkgs/by-name/xv/xv/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "xv"; - version = "6.1.0"; + version = "6.2.0"; src = fetchFromGitHub { owner = "jasper-software"; repo = "xv"; rev = "v${version}"; - sha256 = "sha256-bq9xEGQRzWZ3/Unu49q6EW9/XSCgpalyXn4l4Mg255g="; + sha256 = "sha256-LylTpHTifH/n2vAPlLQooVM3Oox2BJ9eoQYx3USQ/No="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/zd/zdoom/package.nix b/pkgs/by-name/zd/zdoom/package.nix index 44994bececb1..395b59635d4c 100644 --- a/pkgs/by-name/zd/zdoom/package.nix +++ b/pkgs/by-name/zd/zdoom/package.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { sourceRoot = "."; - NIX_CFLAGS_LINK = [ + env.NIX_CFLAGS_LINK = toString [ "-lopenal" "-lfluidsynth" ]; diff --git a/pkgs/by-name/ze/zeroad-unwrapped/package.nix b/pkgs/by-name/ze/zeroad-unwrapped/package.nix index 803f4288dfc7..56a64a60e0e5 100644 --- a/pkgs/by-name/ze/zeroad-unwrapped/package.nix +++ b/pkgs/by-name/ze/zeroad-unwrapped/package.nix @@ -103,18 +103,20 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optional withEditor wxGTK32; - env.NIX_CFLAGS_COMPILE = toString [ - "-I${xorgproto}/include" - "-I${libx11.dev}/include" - "-I${libxcursor.dev}/include" - "-I${SDL2}/include/SDL2" - "-I${fmt_9.dev}/include" - "-I${nvidia-texture-tools.dev}/include" - ]; + env = { + NIX_CFLAGS_COMPILE = toString [ + "-I${xorgproto}/include" + "-I${libx11.dev}/include" + "-I${libxcursor.dev}/include" + "-I${SDL2}/include/SDL2" + "-I${fmt_9.dev}/include" + "-I${nvidia-texture-tools.dev}/include" + ]; - NIX_CFLAGS_LINK = toString [ - "-L${nvidia-texture-tools.lib}/lib/static" - ]; + NIX_CFLAGS_LINK = toString [ + "-L${nvidia-texture-tools.lib}/lib/static" + ]; + }; patches = [ ./rootdir_env.patch diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c9844fc81fdb..b7b9353f9ea8 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -17855,7 +17855,7 @@ self: { badPlatforms = lib.platforms.darwin; hydraPlatforms = lib.platforms.none; } - ) { inherit (pkgs) pfstools; }; + ) { pfstools = null; }; HERA = callPackage ( { diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 25e5492ef71a..9420a6a203ab 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { ]; # Fix broken DT_NEEDED in lib/redland/librdf_storage_sqlite.so. - NIX_CFLAGS_LINK = "-lraptor2"; + env.NIX_CFLAGS_LINK = "-lraptor2"; doCheck = false; # fails 1 out of 17 tests with a segmentation fault diff --git a/pkgs/development/python-modules/aiosendspin/default.nix b/pkgs/development/python-modules/aiosendspin/default.nix index 2a07a632890f..f9c5f4a92c0f 100644 --- a/pkgs/development/python-modules/aiosendspin/default.nix +++ b/pkgs/development/python-modules/aiosendspin/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "aiosendspin"; - version = "3.0.1"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "Sendspin"; repo = "aiosendspin"; tag = version; - hash = "sha256-Z0hQyJayA/8OR6nkKxd1HfjskX+WBBkBl7l8rleV+fo="; + hash = "sha256-9VhNtfXH2r/cGkscz51PIK2/66pPOGv0S0IpO0wFvO4="; }; # https://github.com/Sendspin/aiosendspin/blob/1.2.0/pyproject.toml#L7 @@ -55,6 +55,9 @@ buildPythonPackage rec { "aiosendspin" ]; + # needs manual compat testing with music-assistant (sendspin provider) + passthru.skipBulkUpdate = true; # nixpkgs-update: no auto update + meta = { changelog = "https://github.com/Sendspin/aiosendspin/releases/tag/${src.tag}"; description = "Async Python library implementing the Sendspin Protocol"; diff --git a/pkgs/development/python-modules/cucumber-expressions/default.nix b/pkgs/development/python-modules/cucumber-expressions/default.nix index 1624c6f45fd2..757b5eded4bd 100644 --- a/pkgs/development/python-modules/cucumber-expressions/default.nix +++ b/pkgs/development/python-modules/cucumber-expressions/default.nix @@ -9,18 +9,23 @@ buildPythonPackage rec { pname = "cucumber-expressions"; - version = "18.1.0"; + version = "19.0.0"; pyproject = true; src = fetchFromGitHub { owner = "cucumber"; repo = "cucumber-expressions"; tag = "v${version}"; - hash = "sha256-X/ukgf5+Tn0G9E40W8KsVfo3f0NYEOnYWag4IXmHjY8="; + hash = "sha256-0KuHvByHYx7/mjySfWIKp1+ZYw+XNO25eoo5DhPcUsY="; }; sourceRoot = "${src.name}/python"; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.0,<0.10.0" uv_build + ''; + build-system = [ uv-build ]; pythonImportsCheck = [ "cucumber_expressions" ]; diff --git a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix index c470b58b890b..745250882b32 100644 --- a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix +++ b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix @@ -5,27 +5,30 @@ pytestCheckHook, pytest-html, pyyaml, - setuptools, - setuptools-scm, + uv-build, }: buildPythonPackage rec { pname = "cucumber-tag-expressions"; - version = "7.0.0"; + version = "9.1.0"; pyproject = true; src = fetchFromGitHub { owner = "cucumber"; repo = "tag-expressions"; tag = "v${version}"; - hash = "sha256-U8x7c4NeP9GdwormQD79RWcAA2B39Yvrf/Zk0xTUtNA="; + hash = "sha256-jkuez7C3YDGmv484Lmc5PszVbnVXkcC12RryvTJkxxg="; }; sourceRoot = "${src.name}/python"; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.10.0,<0.11.0" uv_build + ''; + build-system = [ - setuptools - setuptools-scm + uv-build ]; nativeCheckInputs = [ @@ -35,6 +38,7 @@ buildPythonPackage rec { ]; meta = { + changelog = "https://github.com/cucumber/tag-expressions/blob/${src.tag}/CHANGELOG.md"; homepage = "https://github.com/cucumber/tag-expressions"; description = "Provides tag-expression parser for cucumber/behave"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/huggingface-hub/0.nix b/pkgs/development/python-modules/huggingface-hub/0.nix new file mode 100644 index 000000000000..1ca7b24da37f --- /dev/null +++ b/pkgs/development/python-modules/huggingface-hub/0.nix @@ -0,0 +1,124 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + filelock, + fsspec, + hf-xet, + packaging, + pyyaml, + requests, + tqdm, + typing-extensions, + + # optional-dependencies + # cli + inquirerpy, + # inference + aiohttp, + # torch + torch, + safetensors, + # hf_transfer + hf-transfer, + # fastai + toml, + fastai, + fastcore, + # tensorflow + tensorflow, + pydot, + graphviz, + # tensorflow-testing + keras, + + # tests + versionCheckHook, +}: + +buildPythonPackage rec { + pname = "huggingface-hub"; + version = "0.36.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = "huggingface_hub"; + tag = "v${version}"; + hash = "sha256-cUp5Mm8vgJI/0N/9inQVedGWRde8lioduFoccq6b7UE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + filelock + fsspec + hf-xet + packaging + pyyaml + requests + tqdm + typing-extensions + ]; + + optional-dependencies = { + all = [ + + ]; + cli = [ + inquirerpy + ]; + inference = [ + aiohttp + ]; + torch = [ + torch + safetensors + ] + ++ safetensors.optional-dependencies.torch; + hf_transfer = [ + hf-transfer + ]; + fastai = [ + toml + fastai + fastcore + ]; + tensorflow = [ + tensorflow + pydot + graphviz + ]; + tensorflow-testing = [ + tensorflow + keras + ]; + hf_xet = [ + hf-xet + ]; + }; + + nativeCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "version"; + + pythonImportsCheck = [ "huggingface_hub" ]; + + meta = { + description = "Download and publish models and other files on the huggingface.co hub"; + mainProgram = "hf"; + homepage = "https://github.com/huggingface/huggingface_hub"; + changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + GaetanLepage + osbm + ]; + }; +} diff --git a/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix index db21b3b8fad7..f16e5a605c15 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-mongodb/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + gitUpdater, # build-system hatchling, @@ -12,24 +13,28 @@ pymongo, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langgraph-checkpoint-mongodb"; - version = "0.11.0"; + version = "0.3.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-mongodb"; - tag = "libs/langchain-mongodb/v${version}"; - hash = "sha256-dO0dASjyNMxnbxZ/ry8lcJxedPdrv6coYiTjOcaT8/0="; + tag = "libs/langgraph-checkpoint-mongodb/v${finalAttrs.version}"; + hash = "sha256-vCiZ6Mp6aHmSEkLbeM6qTLJaxH0uoAdq80olTT5saX0="; }; - sourceRoot = "${src.name}/libs/langgraph-checkpoint-mongodb"; + sourceRoot = "${finalAttrs.src.name}/libs/langgraph-checkpoint-mongodb"; build-system = [ hatchling ]; + pythonRelaxDeps = [ + "pymongo" + ]; + dependencies = [ langgraph-checkpoint langchain-mongodb @@ -41,14 +46,22 @@ buildPythonPackage rec { # Connection refused (to localhost:27017) for all tests doCheck = false; + passthru = { + # python updater script sets the wrong tag + skipBulkUpdate = true; + updateScript = gitUpdater { + rev-prefix = "libs/langgraph-checkpoint-mongodb/v"; + }; + }; + # no pythonImportsCheck as this package does not provide any direct imports pythonImportsCheck = [ "langgraph.checkpoint.mongodb" ]; meta = { description = "Integrations between MongoDB, Atlas, LangChain, and LangGraph"; homepage = "https://github.com/langchain-ai/langchain-mongodb/tree/main/libs/langgraph-checkpoint-mongodb"; - changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix index a2b12587dc51..4d1eb363635c 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint"; - version = "3.0.1"; + version = "4.0.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpoint==${version}"; - hash = "sha256-3hh1KyEIsp9JzhaJW1ycp179FGpggPYzg6OwnD/cTBM="; + hash = "sha256-IE9Y+kFkDN49SuwvTNwa2kK+Hig18sJPZmZCqHUP3DM="; }; sourceRoot = "${src.name}/libs/checkpoint"; diff --git a/pkgs/development/python-modules/langgraph-store-mongodb/default.nix b/pkgs/development/python-modules/langgraph-store-mongodb/default.nix index cda323bee18d..953906a2e0a9 100644 --- a/pkgs/development/python-modules/langgraph-store-mongodb/default.nix +++ b/pkgs/development/python-modules/langgraph-store-mongodb/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system hatchling, @@ -11,19 +12,19 @@ langchain-mongodb, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langgraph-store-mongodb"; - version = "0.11.0"; + version = "0.2.0"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-mongodb"; - tag = "libs/langchain-mongodb/v${version}"; - hash = "sha256-dO0dASjyNMxnbxZ/ry8lcJxedPdrv6coYiTjOcaT8/0="; + tag = "libs/langgraph-store-mongodb/v${finalAttrs.version}"; + hash = "sha256-IXISxo3mC0/FkjGdHTmin6z/fk71ecto+L+VZ6VFdeE="; }; - sourceRoot = "${src.name}/libs/langgraph-store-mongodb"; + sourceRoot = "${finalAttrs.src.name}/libs/langgraph-store-mongodb"; build-system = [ hatchling @@ -40,11 +41,22 @@ buildPythonPackage rec { pythonImportsCheck = [ "langgraph.store.mongodb" ]; + # updater script selects wrong tag + passthru = { + skipBulkUpdate = true; + updateScript = nix-update-script { + extraArgs = [ + "-vr" + "libs/langgraph-store-mongodb/v(.*)" + ]; + }; + }; + meta = { description = "Integrations between MongoDB, Atlas, LangChain, and LangGraph"; homepage = "https://github.com/langchain-ai/langchain-mongodb/tree/main/libs/langgraph-store-mongodb"; - changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-mongodb/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/transformers/4.nix b/pkgs/development/python-modules/transformers/4.nix new file mode 100644 index 000000000000..273c3d60fb75 --- /dev/null +++ b/pkgs/development/python-modules/transformers/4.nix @@ -0,0 +1,208 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + filelock, + huggingface-hub, + numpy, + protobuf, + packaging, + pyyaml, + regex, + requests, + tokenizers, + safetensors, + tqdm, + + # optional-dependencies + diffusers, + scikit-learn, + tensorflow, + onnxconverter-common, + opencv4, + tf2onnx, + torch, + accelerate, + faiss, + datasets, + jax, + jaxlib, + flax, + optax, + ftfy, + onnxruntime, + onnxruntime-tools, + cookiecutter, + sagemaker, + fairscale, + optuna, + ray, + pydantic, + uvicorn, + fastapi, + starlette, + librosa, + phonemizer, + torchaudio, + pillow, + timm, + torchvision, + av, + sentencepiece, + hf-xet, +}: + +buildPythonPackage (finalAttrs: { + pname = "transformers"; + version = "4.57.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = "transformers"; + tag = "v${finalAttrs.version}"; + hash = "sha256-a78ornUAYlOpr30iFdq1oUiWQTm6GeT0iq8ras5i3DQ="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + filelock + huggingface-hub + numpy + packaging + pyyaml + regex + requests + tokenizers + safetensors + tqdm + ]; + + pythonRelaxDeps = [ "huggingface-hub" ]; + + optional-dependencies = + let + audio = [ + librosa + # pyctcdecode + phonemizer + # kenlm + ]; + vision = [ pillow ]; + in + { + agents = [ + diffusers + accelerate + datasets + torch + sentencepiece + opencv4 + pillow + ]; + ja = [ + # fugashi + # ipadic + # rhoknp + # sudachidict_core + # sudachipy + # unidic + # unidic_lite + ]; + sklearn = [ scikit-learn ]; + tf = [ + tensorflow + onnxconverter-common + tf2onnx + # tensorflow-text + # keras-nlp + ]; + torch = [ + torch + accelerate + ]; + retrieval = [ + faiss + datasets + ]; + flax = [ + jax + jaxlib + flax + optax + ]; + hf_xet = [ + hf-xet + ]; + tokenizers = [ tokenizers ]; + ftfy = [ ftfy ]; + onnxruntime = [ + onnxruntime + onnxruntime-tools + ]; + onnx = [ + onnxconverter-common + tf2onnx + onnxruntime + onnxruntime-tools + ]; + modelcreation = [ cookiecutter ]; + sagemaker = [ sagemaker ]; + deepspeed = [ + # deepspeed + accelerate + ]; + fairscale = [ fairscale ]; + optuna = [ optuna ]; + ray = [ ray ] ++ ray.optional-dependencies.tune; + # sigopt = [ sigopt ]; + # integrations = ray ++ optuna ++ sigopt; + serving = [ + pydantic + uvicorn + fastapi + starlette + ]; + audio = audio; + speech = [ torchaudio ] ++ audio; + torch-speech = [ torchaudio ] ++ audio; + tf-speech = audio; + flax-speech = audio; + timm = [ timm ]; + torch-vision = [ torchvision ] ++ vision; + # natten = [ natten ]; + # codecarbon = [ codecarbon ]; + video = [ + av + ]; + sentencepiece = [ + sentencepiece + protobuf + ]; + }; + + # Many tests require internet access. + doCheck = false; + + pythonImportsCheck = [ "transformers" ]; + + meta = { + broken = lib.versionAtLeast huggingface-hub.version "1.0"; + homepage = "https://github.com/huggingface/transformers"; + description = "Natural Language Processing for TensorFlow 2.0 and PyTorch"; + mainProgram = "transformers-cli"; + changelog = "https://github.com/huggingface/transformers/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + pashashocky + happysalada + ]; + }; +}) diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix deleted file mode 100644 index a5ffd9d2d859..000000000000 --- a/pkgs/tools/graphics/pfstools/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - cmake, - pkg-config, - wrapQtAppsHook, - openexr, - zlib, - imagemagick6, - libGLU, - libGL, - libglut, - fftwFloat, - fftw, - gsl, - libexif, - perl, - qtbase, - netpbm, - enableUnfree ? false, - opencv, -}: - -stdenv.mkDerivation rec { - pname = "pfstools"; - version = "2.2.0"; - - src = fetchurl { - url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tgz"; - sha256 = "sha256-m/aESYVmMibCGZjutDwmGsuOSziRuakbcpVUQGKJ18o="; - }; - - outputs = [ - "out" - "dev" - "man" - ]; - - cmakeFlags = [ "-DWITH_MATLAB=false" ]; - - preConfigure = '' - sed -e 's|#include( ''${PROJECT_SRC_DIR}/cmake/FindNETPBM.cmake )|include( ''${PROJECT_SOURCE_DIR}/cmake/FindNETPBM.cmake )|' -i CMakeLists.txt - - rm cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARY `find ${lib.getLib netpbm} -name "*${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARIES `find ${lib.getLib netpbm} -name "*${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_INCLUDE_DIR ${lib.getDev netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake - echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake - echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake - ''; - - nativeBuildInputs = [ - cmake - pkg-config - wrapQtAppsHook - ]; - buildInputs = [ - openexr - zlib - imagemagick6 - fftwFloat - fftw - gsl - libexif - perl - qtbase - netpbm - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - libGLU - libGL - libglut - ] - ++ lib.optional enableUnfree (opencv.override { enableUnfree = true; }); - - patches = [ - ./glut.patch - ./threads.patch - ./pfstools.patch - ./pfsalign.patch - ]; - - meta = { - homepage = "https://pfstools.sourceforge.net/"; - description = "Toolkit for manipulation of HDR images"; - platforms = lib.platforms.linux; - license = lib.licenses.lgpl2; - maintainers = [ lib.maintainers.juliendehos ]; - }; -} diff --git a/pkgs/tools/graphics/pfstools/glut.patch b/pkgs/tools/graphics/pfstools/glut.patch deleted file mode 100644 index b540b5ebc6a6..000000000000 --- a/pkgs/tools/graphics/pfstools/glut.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/pfsglview/CMakeLists.txt 2022-04-04 23:21:11.164016369 +0300 -+++ b/src/pfsglview/CMakeLists.txt 2022-04-04 23:21:32.757878750 +0300 -@@ -11,8 +11,7 @@ - - add_executable(pfsglview pfsglview.cpp picture_io.cpp module.cpp m_histogram.cpp m_status.cpp m_on_screen_display.cpp) - --# TODO: Use ${GLUT_LIBRARY} instead. --target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_glut_LIBRARY} pfs) -+target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} pfs) - - install (TARGETS pfsglview DESTINATION bin) - install (FILES pfsglview.1 DESTINATION ${MAN_DIR}) diff --git a/pkgs/tools/graphics/pfstools/pfsalign.patch b/pkgs/tools/graphics/pfstools/pfsalign.patch deleted file mode 100644 index f079415ddcba..000000000000 --- a/pkgs/tools/graphics/pfstools/pfsalign.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/camera/CMakeLists.txt 2017-11-13 18:38:27.000000000 +0100 -+++ b/src/camera/CMakeLists.txt 2018-12-30 14:55:30.235571520 +0100 -@@ -9,7 +9,7 @@ target_link_libraries(${TRG} pfs) - install (TARGETS ${TRG} DESTINATION bin) - install (FILES ${TRG}.1 DESTINATION ${MAN_DIR}) - --if( OpenCV_FOUND AND EXIF_FOUND ) -+if( OpenCV_FOUND AND MYPKG_FOUND ) - - set(TRG pfsalign) - add_executable(${TRG} ${TRG}.cpp "${GETOPT_OBJECT}") - diff --git a/pkgs/tools/graphics/pfstools/pfstools.patch b/pkgs/tools/graphics/pfstools/pfstools.patch deleted file mode 100644 index c678a25b01bd..000000000000 --- a/pkgs/tools/graphics/pfstools/pfstools.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/CMakeLists.txt 2016-05-26 11:31:16.000000000 +0200 -+++ b/CMakeLists.txt 2016-07-22 19:07:22.074669909 +0200 -@@ -320,12 +320,12 @@ - - # ======== libexif ========== - --find_package(EXIF) --if( NOT EXIF_FOUND ) -- message( "EXIF library (libexif) not found. 'pfsalign' will not be compiled" ) --else( NOT EXIF_FOUND ) -- message(STATUS "libexif library found.") --endif( NOT EXIF_FOUND ) -+find_package( PkgConfig REQUIRED ) -+pkg_check_modules( MYPKG REQUIRED libexif IlmBase ) -+if( MYPKG_FOUND ) -+ message( STATUS "libexif and IlmBase found." ) -+endif( MYPKG_FOUND ) -+include_directories( ${MYPKG_INCLUDE_DIRS} ) - - # ======== Config and sub dirs =========== - diff --git a/pkgs/tools/graphics/pfstools/threads.patch b/pkgs/tools/graphics/pfstools/threads.patch deleted file mode 100644 index e3f61db60899..000000000000 --- a/pkgs/tools/graphics/pfstools/threads.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/fileformat/CMakeLists.txt 2016-05-26 11:31:23.000000000 +0200 -+++ b/src/fileformat/CMakeLists.txt 2016-07-21 23:19:56.510958771 +0200 -@@ -53,13 +53,15 @@ - if( OPENEXR_FOUND ) - include_directories("${OPENEXR_INCLUDE_DIR}") - -+ find_package (Threads) -+ - add_executable(pfsinexr pfsinexr.cpp "${GETOPT_OBJECT}") -- target_link_libraries(pfsinexr pfs ${OPENEXR_LIBRARIES}) -+ target_link_libraries(pfsinexr pfs ${OPENEXR_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - install (TARGETS pfsinexr DESTINATION bin) - install (FILES pfsinexr.1 DESTINATION ${MAN_DIR}) - - add_executable(pfsoutexr pfsoutexr.cpp "${GETOPT_OBJECT}") -- target_link_libraries(pfsoutexr pfs ${OPENEXR_LIBRARIES}) -+ target_link_libraries(pfsoutexr pfs ${OPENEXR_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) - install (TARGETS pfsoutexr DESTINATION bin) - install (FILES pfsoutexr.1 DESTINATION ${MAN_DIR}) - endif( OPENEXR_FOUND ) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c088ea25efca..a58643e1bbb6 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1537,6 +1537,7 @@ mapAliases { percona-xtrabackup_lts = throw "'percona-xtrabackup_lts' has been renamed to/replaced by 'percona-xtrabackup'"; # Converted to throw 2025-10-27 peruse = throw "'peruse' has been removed as it depends on KDE Gear 5, which has reached EOL"; # Added 2025-08-20 petrifoo = throw "'petrifoo' was remove due to lack of maintenance and relying on gtk2"; # Added 2025-12-02 + pfstools = throw "'pfstools' was removed because it was broken and depends on an old version of ImageMagick"; # added 2026-02-26 pg_cron = throw "'pg_cron' has been removed. Use 'postgresqlPackages.pg_cron' instead."; # Added 2025-07-19 pg_hll = throw "'pg_hll' has been removed. Use 'postgresqlPackages.pg_hll' instead."; # Added 2025-07-19 pg_repack = throw "'pg_repack' has been removed. Use 'postgresqlPackages.pg_repack' instead."; # Added 2025-07-19 @@ -1717,6 +1718,7 @@ mapAliases { rpPPPoE = warnAlias "'rpPPPoE' has been renamed to 'rp-pppoe'" rp-pppoe; # Added 2026-02-12 rquickshare-legacy = throw "The legacy version depends on insecure package libsoup2, please use the main version"; # Added 2025-10-09 rr-unstable = throw "'rr-unstable' has been renamed to/replaced by 'rr'"; # Converted to throw 2025-10-27 + rss-glx = throw "'rss-glx' has been removed because it was broken and depends on an outdated version of ImageMagick"; # added 2026-02-26 rtx = throw "'rtx' has been renamed to/replaced by 'mise'"; # Converted to throw 2025-10-27 ruby-zoom = throw "'ruby-zoom' has been removed due to lack of maintaince and had not been updated since 2020"; # Added 2025-08-24 ruby_3_1 = throw "ruby_3_1 has been removed, as it is has reached end‐of‐life upstream"; # Added 2025-10-12 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 940555a60f0e..825745a83193 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3224,8 +3224,6 @@ with pkgs; ssh = openssh; }; - pfstools = libsForQt5.callPackage ../tools/graphics/pfstools { }; - phosh = callPackage ../applications/window-managers/phosh { }; phosh-mobile-settings = diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f289c810e41..26793ca13ccb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7184,6 +7184,8 @@ self: super: with self; { huggingface-hub = callPackage ../development/python-modules/huggingface-hub { }; + huggingface-hub_0 = callPackage ../development/python-modules/huggingface-hub/0.nix { }; + human-readable = callPackage ../development/python-modules/human-readable { }; humanfriendly = callPackage ../development/python-modules/humanfriendly { }; @@ -19397,6 +19399,8 @@ self: super: with self; { transformers = callPackage ../development/python-modules/transformers { }; + transformers_4 = callPackage ../development/python-modules/transformers/4.nix { }; + transforms3d = callPackage ../development/python-modules/transforms3d { }; transitions = callPackage ../development/python-modules/transitions { };