diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index ac5a3e8216ce..79c096c0944a 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -40,7 +40,7 @@ let common = { version, - sha256, + hash, extraPatches ? [ ], }: stdenv.mkDerivation (finalAttrs: { @@ -49,7 +49,7 @@ let src = fetchurl { url = "mirror://apache/subversion/subversion-${finalAttrs.version}.tar.bz2"; - inherit sha256; + inherit hash; }; # Can't do separate $lib and $bin, as libs reference bins @@ -98,10 +98,15 @@ let ] ++ extraPatches; - # remove vendored swig-3 files as these will shadow the swig provided - # ones and result in compile errors + # Remove vendored swig-3 files as these will shadow the swig provided + # ones and result in compile errors. + # Also remove the generated Perl wrappers from the release tarball + # so they are rebuilt with the same SWIG runtime as libsvn_swig_perl. postPatch = '' rm subversion/bindings/swig/proxy/{perlrun.swg,pyrun.swg,python.swg,rubydef.swg,rubyhead.swg,rubytracking.swg,runtime.swg,swigrun.swg} + '' + + lib.optionalString perlBindings '' + rm subversion/bindings/swig/perl/native/{core.c,svn_*.c} ''; env = { @@ -141,32 +146,26 @@ let makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules) ''; - postInstall = '' - if test -n "$pythonBindings"; then - make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn - make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn - fi + postInstall = + lib.optionalString pythonBindings '' + make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn + make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn + '' + + lib.optionalString perlBindings '' + make install-swig-pl + '' + + '' + mkdir -p $out/share/bash-completion/completions + cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion - if test -n "$perlBindings"; then - make swig-pl-lib - make install-swig-pl-lib - cd subversion/bindings/swig/perl/native - perl Makefile.PL PREFIX=$out - make install - cd - - fi - - mkdir -p $out/share/bash-completion/completions - cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion - - for f in $out/lib/*.la $out/lib/python*/site-packages/*/*.la; do - substituteInPlace $f \ - --replace "${expat.dev}/lib" "${expat.out}/lib" \ - --replace "${zlib.dev}/lib" "${zlib.out}/lib" \ - --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \ - --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib" - done - ''; + for f in $out/lib/*.la $out/lib/python*/site-packages/*/*.la; do + substituteInPlace $f \ + --replace "${expat.dev}/lib" "${expat.out}/lib" \ + --replace "${zlib.dev}/lib" "${zlib.out}/lib" \ + --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \ + --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib" + done + ''; inherit perlBindings pythonBindings; @@ -195,6 +194,6 @@ in { subversion = common { version = "1.14.5"; - sha256 = "sha256-54op53Zri3s1RJfQj3GlVkGrxTZ1zhh1WEeBquNWRKE="; + hash = "sha256-54op53Zri3s1RJfQj3GlVkGrxTZ1zhh1WEeBquNWRKE="; }; } diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix index a23065eecdc3..13dfbfbebd45 100644 --- a/pkgs/by-name/ba/bacon/package.nix +++ b/pkgs/by-name/ba/bacon/package.nix @@ -27,16 +27,17 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "bacon"; - version = "3.22.0"; + version = "3.23.0"; + __structuredAttrs = true; src = fetchFromGitHub { owner = "Canop"; repo = "bacon"; tag = "v${finalAttrs.version}"; - hash = "sha256-eHMpzFKweKGI0REPudyy4veFTXDZc+AX626ylSN2yvU="; + hash = "sha256-HMHZQP9GY9iMm+vDeIhavv4akmM0IUbpDtWHyzHG7KE="; }; - cargoHash = "sha256-nUO9xVQ51dNWB5fxDZBLlzOWNE5HDAh6xYa5OdBPr4M="; + cargoHash = "sha256-zlxhlgcTtSYvvGqSpQIg6f10cQZhF6s4UNrCZr8RIdY="; buildFeatures = lib.optionals withSound [ "sound" diff --git a/pkgs/by-name/co/cockpit-zfs/package.nix b/pkgs/by-name/co/cockpit-zfs/package.nix index 1090cb4d39c5..58e5fc00e1c8 100644 --- a/pkgs/by-name/co/cockpit-zfs/package.nix +++ b/pkgs/by-name/co/cockpit-zfs/package.nix @@ -30,14 +30,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-zfs"; - version = "1.2.26"; + version = "1.2.27-3"; src = fetchFromGitHub { owner = "45Drives"; repo = "cockpit-zfs"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-aMwPsg9rspWKqSQ+N1rlwVarpcOEFbMkktZXKEmqZu8="; + hash = "sha256-7hx9FJxFN7xsozMvAb0fdRTX2hAcxtJc5wdgrs2PGJc="; }; patches = [ diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix index 3aacbea8b007..1149ffdad002 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -42,6 +42,9 @@ yyjson, zlib, zfs, + + fastfetch, + # Feature flags audioSupport ? true, brightnessSupport ? true, @@ -272,7 +275,28 @@ stdenv.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; - passthru.updateScript = nix-update-script { }; + passthru = { + updateScript = nix-update-script { }; + # finalAttrs.finalPackage.override doesn’t exist + minimal = fastfetch.override { + audioSupport = false; + brightnessSupport = false; + dbusSupport = false; + enlightenmentSupport = false; + flashfetchSupport = false; + gnomeSupport = false; + imageSupport = false; + openclSupport = false; + openglSupport = false; + rpmSupport = false; + sqliteSupport = false; + terminalSupport = false; + vulkanSupport = false; + waylandSupport = false; + x11Support = false; + xfceSupport = false; + }; + }; meta = { description = "Actively maintained, feature-rich and performance oriented, neofetch like system information tool"; diff --git a/pkgs/by-name/fa/fastfetchMinimal/package.nix b/pkgs/by-name/fa/fastfetchMinimal/package.nix deleted file mode 100644 index 0717b5f11550..000000000000 --- a/pkgs/by-name/fa/fastfetchMinimal/package.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ fastfetch }: -fastfetch.override { - audioSupport = false; - brightnessSupport = false; - dbusSupport = false; - enlightenmentSupport = false; - flashfetchSupport = false; - gnomeSupport = false; - imageSupport = false; - openclSupport = false; - openglSupport = false; - rpmSupport = false; - sqliteSupport = false; - terminalSupport = false; - vulkanSupport = false; - waylandSupport = false; - x11Support = false; - xfceSupport = false; -} diff --git a/pkgs/by-name/ga/gauge-unwrapped/package.nix b/pkgs/by-name/ga/gauge-unwrapped/package.nix index 7c466c165d38..290065a95f34 100644 --- a/pkgs/by-name/ga/gauge-unwrapped/package.nix +++ b/pkgs/by-name/ga/gauge-unwrapped/package.nix @@ -6,7 +6,7 @@ buildGoModule (finalAttrs: { pname = "gauge"; - version = "1.6.30"; + version = "1.6.31"; patches = [ # adds a check which adds an error message when trying to @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "getgauge"; repo = "gauge"; tag = "v${finalAttrs.version}"; - hash = "sha256-tAS2FVg1TCWyRlEMDcepC+riYxzIOTh2sHBbHL+TrsU="; + hash = "sha256-rvhWZgw0lq/YF8Js4UsIqiVOWe5/56bOaCq87+gdmPA="; }; - vendorHash = "sha256-pCnf8wtj44eubq03noZs7MGxzssWFFn3AhL1v0icLa8="; + vendorHash = "sha256-FdTauyiGjmNRJNsVG4tS8PesC8J24NqQ4rmW3EgCoQk="; excludedPackages = [ "build" diff --git a/pkgs/by-name/ga/gauge/plugins/js/default.nix b/pkgs/by-name/ga/gauge/plugins/js/default.nix index c988e3330f90..afe8454794ed 100644 --- a/pkgs/by-name/ga/gauge/plugins/js/default.nix +++ b/pkgs/by-name/ga/gauge/plugins/js/default.nix @@ -8,17 +8,17 @@ }: buildNpmPackage rec { pname = "gauge-plugin-js"; - version = "5.0.2"; + version = "5.0.5"; src = fetchFromGitHub { owner = "getgauge"; repo = "gauge-js"; rev = "v${version}"; - hash = "sha256-CFjwdfU7KjYcG9EGF76j4iNXZqD5eGTsxbk2s//EKJ4="; + hash = "sha256-qWnBx6bvut/bSvFC8WPAetyAsF16Wz99Pq0tGg+YpZw="; fetchSubmodules = true; }; - npmDepsHash = "sha256-R6XYgeVD8NlgLyqZywzeTBebYG5T4qdSUwEH73+nKRA="; + npmDepsHash = "sha256-HD1JsAewyzoUPKFwtpGGwjHWmYUpLSN3Spb5FW+3d10="; npmBuildScript = "package"; buildInputs = [ nodejs ]; diff --git a/pkgs/by-name/ge/gephgui-wry/package.nix b/pkgs/by-name/ge/gephgui-wry/package.nix index 0e058bac102f..e3c36a091bb6 100644 --- a/pkgs/by-name/ge/gephgui-wry/package.nix +++ b/pkgs/by-name/ge/gephgui-wry/package.nix @@ -59,13 +59,13 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "gephgui-wry"; - version = "5.7.0"; + version = "5.7.1"; src = fetchFromGitHub { owner = "geph-official"; repo = "gephgui-pkg"; tag = "v${finalAttrs.version}"; - hash = "sha256-f6IC9dRQ3CW3P0TRuOe1mmG3jOAvyMPBpylHJ82AUpM="; + hash = "sha256-PpkhIfA1jTqiY+4UwonrUk2wq+wL2Rhltfhp0LSURMg="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/gi/git/package.nix b/pkgs/by-name/gi/git/package.nix index b211e2455376..b5ccd79b8777 100644 --- a/pkgs/by-name/gi/git/package.nix +++ b/pkgs/by-name/gi/git/package.nix @@ -51,6 +51,7 @@ deterministic-host-uname, # trick Makefile into targeting the host platform when cross-compiling doInstallCheck ? !stdenv.hostPlatform.isDarwin, # extremely slow on darwin tests, + testers, rustSupport ? lib.meta.availableOn stdenv.hostPlatform rustc, cargo, rustc, @@ -593,6 +594,13 @@ stdenv.mkDerivation (finalAttrs: { }); buildbot-integration = nixosTests.buildbot; } + // lib.optionalAttrs svnSupport { + git-svn-version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "git svn --version"; + version = "git-svn version ${version}"; + }; + } // tests.fetchgit; updateScript = ./update.sh; }; diff --git a/pkgs/by-name/gm/gmailctl/package.nix b/pkgs/by-name/gm/gmailctl/package.nix index 26a7330d66a3..90e2a1156711 100644 --- a/pkgs/by-name/gm/gmailctl/package.nix +++ b/pkgs/by-name/gm/gmailctl/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "gmailctl"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "mbrt"; repo = "gmailctl"; rev = "v${finalAttrs.version}"; - hash = "sha256-euYl7GKidkOFsSxrEnSBIdBNZOKuBBaS3LNQOZy9R9g="; + hash = "sha256-UGX+Q1AF3Y0EE2+w9fjVwSZdtM3aGlbpQpLO9d5wASo="; }; - vendorHash = "sha256-OXz6GlpC9yhe4pRuVxTUUruJyxBQ63JC4a8xwtuDM/o="; + vendorHash = "sha256-VF0jDOVDOrLZBm8SAe5uGlMUOBBb+0zrnkjKkeK9VjU="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/ic/iconnamingutils/package.nix b/pkgs/by-name/ic/iconnamingutils/package.nix index ff242e85a2e5..66b8a239e97a 100644 --- a/pkgs/by-name/ic/iconnamingutils/package.nix +++ b/pkgs/by-name/ic/iconnamingutils/package.nix @@ -15,11 +15,16 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4"; }; - buildInputs = [ - librsvg + nativeBuildInputs = [ (perl.withPackages (p: [ p.XMLSimple ])) ]; + buildInputs = [ + librsvg + ]; + + strictDeps = true; + meta = { homepage = "https://tango.freedesktop.org/Standard_Icon_Naming_Specification"; platforms = with lib.platforms; linux ++ darwin; diff --git a/pkgs/by-name/it/itgmania/themes/digital-dance.nix b/pkgs/by-name/it/itgmania/themes/digital-dance.nix index b3046c29c44d..a94bb2f3d7db 100644 --- a/pkgs/by-name/it/itgmania/themes/digital-dance.nix +++ b/pkgs/by-name/it/itgmania/themes/digital-dance.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "digital-dance"; - version = "1.1.3-unstable-2026-05-09"; + version = "1.1.3-unstable-2026-05-14"; src = fetchFromCodeberg { owner = "JNero"; repo = "Digital-Dance-ITGMania"; - rev = "aca637dc8f2b47a254bead472da6129f28fa55fd"; - hash = "sha256-uKweTqF4q0YsOIOpEi5v+N60YvctDF9stcP+GYlUuO4="; + rev = "02e2c0a2177429a42d69a3aeea582759ed646c18"; + hash = "sha256-aw+nzABmDTsdn7hPI2B61S5HtzixTl3/JCOSFH5mNB0="; }; postInstall = '' diff --git a/pkgs/by-name/it/itgmania/themes/itg3encore.nix b/pkgs/by-name/it/itgmania/themes/itg3encore.nix index 836834e97366..fbe3f6380556 100644 --- a/pkgs/by-name/it/itgmania/themes/itg3encore.nix +++ b/pkgs/by-name/it/itgmania/themes/itg3encore.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "itg3encore"; - version = "0-unstable-2026-05-10"; + version = "0-unstable-2026-05-18"; src = fetchFromGitHub { owner = "DarkBahamut162"; repo = "itg3encore"; - rev = "92fa3cb3234e466891606a047e4d2d104839581b"; - hash = "sha256-tnb9uGu4VaXlNh9QRbPtCKHS2GWmfFBOMe8/uW9hA0Q="; + rev = "dbecf5a8a55b41aead224fa21cfdd00d5914b5cf"; + hash = "sha256-c026xUb7CA+1h8CfzE2/BOh0scEkG2ZbanVS4FiO0KI="; }; postInstall = '' diff --git a/pkgs/by-name/ke/keycloak/package.nix b/pkgs/by-name/ke/keycloak/package.nix index e818d7a46f85..3ef82b2995da 100644 --- a/pkgs/by-name/ke/keycloak/package.nix +++ b/pkgs/by-name/ke/keycloak/package.nix @@ -24,11 +24,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "keycloak"; - version = "26.6.1"; + version = "26.6.2"; src = fetchzip { url = "https://github.com/keycloak/keycloak/releases/download/${finalAttrs.version}/keycloak-${finalAttrs.version}.zip"; - hash = "sha256-nAINLLwC3H9FNwjcj0xUSy/TwpDA6+LQI1IqMtMxaCM="; + hash = "sha256-WhkSF/oqhBglKaw8/EwnEEjd+rX/da5LjP6mitecPLA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/le/lemurs/package.nix b/pkgs/by-name/le/lemurs/package.nix index c0bdeb48b0e1..4417f762fe16 100644 --- a/pkgs/by-name/le/lemurs/package.nix +++ b/pkgs/by-name/le/lemurs/package.nix @@ -1,10 +1,8 @@ { fetchFromGitHub, lib, - bash, linux-pam, rustPlatform, - systemdMinimal, versionCheckHook, nixosTests, }: @@ -22,11 +20,13 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-XoGtIHYCGXNuwnpDTU7NbZAs6rCO+69CAG89VCv9aAc="; buildInputs = [ - bash linux-pam - systemdMinimal ]; + postInstall = '' + install -Dm0755 extra/xsetup.sh "$out/etc/xsetup.sh" + ''; + doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/li/linyaps/fix-host-path.patch b/pkgs/by-name/li/linyaps/fix-host-path.patch index 3e9227c2465d..dd3c460362ec 100644 --- a/pkgs/by-name/li/linyaps/fix-host-path.patch +++ b/pkgs/by-name/li/linyaps/fix-host-path.patch @@ -25,9 +25,9 @@ index 787e70cb..a71df46a 100644 - "/var/cache/fontconfig", + std::unordered_map statics{ + { "/etc/machine-id", "" }, -+ { "/usr/lib/locale", "" }, + { "/var/cache/fontconfig", "" }, + ++ { "/run/current-system/sw/lib/locale", "/usr/lib/locale"}, + { "/run/current-system/sw/share/X11/fonts", "/usr/share/fonts" }, + { "/run/current-system/sw/share/icons", "/usr/share/icons" }, + { "/run/current-system/sw/share/themes", "/usr/share/themes" }, diff --git a/pkgs/by-name/mi/mistral-vibe/package.nix b/pkgs/by-name/mi/mistral-vibe/package.nix index d4879717113b..f3be54a2f694 100644 --- a/pkgs/by-name/mi/mistral-vibe/package.nix +++ b/pkgs/by-name/mi/mistral-vibe/package.nix @@ -37,7 +37,7 @@ let in python3Packages.buildPythonApplication (finalAttrs: { pname = "mistral-vibe"; - version = "2.9.6"; + version = "2.10.0"; pyproject = true; __structuredAttrs = true; @@ -45,7 +45,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "mistralai"; repo = "mistral-vibe"; tag = "v${finalAttrs.version}"; - hash = "sha256-4zfeMbqM43Gd/s7EDROEHste1+0+X9Qs3LUIxCp2Clg="; + hash = "sha256-Xf79PFhBguJQlLcdNhh3oSQ4w5EHrXZomnniiM99WZ4="; }; build-system = with python3Packages; [ @@ -54,57 +54,103 @@ python3Packages.buildPythonApplication (finalAttrs: { hatchling ]; - pythonRelaxDeps = [ - "agent-client-protocol" - "certifi" - "cryptography" - "gitpython" - "mistralai" - "opentelemetry-exporter-otlp-proto-http" - "opentelemetry-sdk" - "opentelemetry-semantic-conventions" - "pydantic-settings" - "zstandard" - ]; - dependencies = with python3Packages; [ - agent-client-protocol - anyio - cachetools - certifi - charset-normalizer - cryptography - gitpython - giturlparse - google-auth - httpx - jsonpatch - keyring - markdownify - mcp - mistralai - opentelemetry-api - opentelemetry-exporter-otlp-proto-http - opentelemetry-sdk - opentelemetry-semantic-conventions - packaging - pexpect - pydantic - pydantic-settings - pyperclip - python-dotenv - pyyaml - requests - rich - sounddevice - textual - textual-speedups - tomli-w - tree-sitter - tree-sitter-bash - watchfiles - websockets - zstandard - ]; + pythonRelaxDeps = true; + dependencies = + with python3Packages; + [ + agent-client-protocol + annotated-types + anyio + attrs + beautifulsoup4 + cachetools + certifi + cffi + charset-normalizer + click + cryptography + eval-type-backport + gitdb + gitpython + giturlparse + google-auth + googleapis-common-protos + h11 + httpcore + httpx + httpx-sse + idna + importlib-metadata + jaraco-classes + jaraco-context + jaraco-functools + jsonpatch + jsonpath-python + jsonpointer + jsonschema + jsonschema-specifications + keyring + linkify-it-py + markdown-it-py + markdownify + mcp + mdit-py-plugins + mdurl + mistralai + more-itertools + opentelemetry-api + opentelemetry-exporter-otlp-proto-common + opentelemetry-exporter-otlp-proto-http + opentelemetry-proto + opentelemetry-sdk + opentelemetry-semantic-conventions + packaging + pexpect + platformdirs + protobuf + ptyprocess + pyasn1 + pyasn1-modules + pycparser + pydantic + pydantic-core + pydantic-settings + pygments + pyjwt + pyperclip + python-dateutil + python-dotenv + python-multipart + pyyaml + referencing + requests + rich + rpds-py + six + smmap + sounddevice + soupsieve + sse-starlette + starlette + textual + textual-speedups + tomli-w + tree-sitter + tree-sitter-bash + typing-extensions + typing-inspection + uc-micro-py + urllib3 + uvicorn + watchfiles + websockets + zipp + zstandard + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + jeepney + secretstorage + ]; pythonImportsCheck = [ "vibe" ]; @@ -114,6 +160,7 @@ python3Packages.buildPythonApplication (finalAttrs: { python3Packages.pytest-xdist python3Packages.pytestCheckHook python3Packages.respx + python3Packages.tomlkit uv versionCheckHook writableTmpDirAsHomeHook diff --git a/pkgs/by-name/mo/mochi/package.nix b/pkgs/by-name/mo/mochi/package.nix index 4f173c6b674f..7713b9687388 100644 --- a/pkgs/by-name/mo/mochi/package.nix +++ b/pkgs/by-name/mo/mochi/package.nix @@ -12,14 +12,14 @@ let pname = "mochi"; - version = "1.21.10"; + version = "1.21.11"; linux = appimageTools.wrapType2 rec { inherit pname version meta; src = fetchurl { url = "https://download.mochi.cards/releases/Mochi-${version}.AppImage"; - hash = "sha256-yNgKbG5cJmCFpb3JnCevYZJXrdNJHoEPaUELLl10F00="; + hash = "sha256-BJqExdJ8Li7tCEZ+2QBsrJ32OQoBsnngVjs3cXzrMv4="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; @@ -44,9 +44,9 @@ let url = "https://download.mochi.cards/releases/Mochi-${version}${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm64"}.dmg"; hash = if stdenv.hostPlatform.isAarch64 then - "sha256-nnAL1w2ERAH02nm8OMtVIuVjMqSnLuiBLsxuBlQNlPI=" + "sha256-PNsCI93TKmvaGvHGu2fR6mvWvdbnhjsOro386fAiBaM=" else - "sha256-7Xt3wPqEH7PPOGtwGHKAWBIvpdkkZe9R12S0TnQuCuM="; + "sha256-qe76TDQiIIH41FsEmT7fJUcFnf5WM2gXx9rrCZd7/6Y="; }; sourceRoot = "."; diff --git a/pkgs/by-name/mp/mprisence/package.nix b/pkgs/by-name/mp/mprisence/package.nix index cfacecc7c0d8..c0578c7915c9 100644 --- a/pkgs/by-name/mp/mprisence/package.nix +++ b/pkgs/by-name/mp/mprisence/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mprisence"; - version = "1.5.2"; + version = "1.6.0"; src = fetchFromGitHub { owner = "lazykern"; repo = "mprisence"; tag = "v${finalAttrs.version}"; - hash = "sha256-uZBJMK+naX4ilos3xO1ZMcU/MflshOYIruAljzWiD3Q="; + hash = "sha256-8w4k+l0uqIFgIVBuK0H/Mhvwp2HHEzvKmExkTiRUmEM="; }; - cargoHash = "sha256-bsKDo3gndqm7Z0j+6K2H9kWUAYOGna6Bk++yfr59HU4="; + cargoHash = "sha256-PcQc7LpQqnTiAfTL+E67Ibbsw5UI7j0YICiHpxWrrj8="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix b/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix index 40c341342f5a..36edb7161b4a 100644 --- a/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "prometheus-opnsense-exporter"; - version = "0.0.14"; + version = "0.0.15"; src = fetchFromGitHub { owner = "AthennaMind"; repo = "opnsense-exporter"; tag = "v${finalAttrs.version}"; - hash = "sha256-84kps3/XqggGukpcq43iFEOlXcErbFQTWYcCcgVOGVQ="; + hash = "sha256-CvEnW0IQ7VyrPBRmwUHWcJy7nfQB7iDacUOw+QCnRo8="; }; ldflags = [ diff --git a/pkgs/by-name/sp/spotdl/package.nix b/pkgs/by-name/sp/spotdl/package.nix index 7abb861e6d2e..99fb2cd777b4 100644 --- a/pkgs/by-name/sp/spotdl/package.nix +++ b/pkgs/by-name/sp/spotdl/package.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "spotdl"; - version = "4.4.4"; + version = "4.5.0"; pyproject = true; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; tag = "v${finalAttrs.version}"; - hash = "sha256-GKkkYA1Z6YsthIKE8Hf/vKRHU7kPCKabOh28i/JSSOc="; + hash = "sha256-u5t8t9NJq+h/ujeLObKDCQG4brTqwdjSDslemmhePdc="; }; build-system = with python3Packages; [ hatchling ]; @@ -35,19 +35,20 @@ python3Packages.buildPythonApplication (finalAttrs: { pykakasi python-multipart python-slugify - pytube rapidfuzz requests rich soundcloud-v2 spotipy + spotipyfree syncedlyrics uvicorn websockets yt-dlp ytmusicapi ] - ++ python-slugify.optional-dependencies.unidecode; + ++ python-slugify.optional-dependencies.unidecode + ++ yt-dlp.optional-dependencies.default; nativeCheckInputs = with python3Packages; [ pyfakefs diff --git a/pkgs/by-name/su/sub-store-frontend/package.nix b/pkgs/by-name/su/sub-store-frontend/package.nix index 7d7f64691187..8e677a46312c 100644 --- a/pkgs/by-name/su/sub-store-frontend/package.nix +++ b/pkgs/by-name/su/sub-store-frontend/package.nix @@ -14,13 +14,13 @@ let in buildNpmPackage (finalAttrs: { pname = "sub-store-frontend"; - version = "2.16.97"; + version = "2.17.8"; src = fetchFromGitHub { owner = "sub-store-org"; repo = "Sub-Store-Front-End"; tag = finalAttrs.version; - hash = "sha256-gxHchDo6lt1h1/ywmJHQ7eqzn/17DhPZ3sKRiadv5bQ="; + hash = "sha256-gHAs24K3RvNrggrnnAhbRnebwSPTtY8l4vuNHsh/ptg="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/tm/tmux/package.nix b/pkgs/by-name/tm/tmux/package.nix index b5efd8d2c9b0..edc21ddf934f 100644 --- a/pkgs/by-name/tm/tmux/package.nix +++ b/pkgs/by-name/tm/tmux/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, autoreconfHook, bison, libevent, @@ -36,6 +37,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VwOyR9YYhA/uyVRJbspNrKkJWJGYFFktwPnnwnIJ97s="; }; + patches = [ + # Fix NULL pointer dereference in control_write() when a control-mode + # client is notified before control_state has been allocated. + # https://github.com/tmux/tmux/issues/4980 + (fetchpatch { + name = "tmux-control-notify-uninitialized.patch"; + url = "https://github.com/tmux/tmux/commit/e5a2a25fafb8ee107c230d8acad694f6b635f8bb.patch"; + hash = "sha256-UPbhMNnH1WJwTH/LVwjVonTqvNhyuniUrYm7iLVkCfg="; + }) + ]; + nativeBuildInputs = [ pkg-config autoreconfHook diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 797dbf854657..e6eae5b7f7d2 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -181,10 +181,6 @@ let // lib.optionalAttrs docSupport { # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds. NROFF = "${groff}/bin/nroff"; - } - // lib.optionalAttrs (docSupport && ver.majMin == "4.0") { - # RDoc parses referenced source files with the locale encoding. - LANG = "C.UTF-8"; }; enableParallelBuilding = true; @@ -415,8 +411,8 @@ in }; ruby_4_0 = generic { - version = rubyVersion "4" "0" "4" ""; - hash = "sha256-819u36Pauz9yP50M8ZBsZRKud/TkEqseaMxukdIw+oA="; + version = rubyVersion "4" "0" "5" ""; + hash = "sha256-fWFJB5pj+K4dMmyfplxgGbotwxVerns5FZgXkRyIlY4="; cargoHash = "sha256-z7NwWc4TaR042hNx0xgRkh/BQEpEJtE53cfrN0qNiE0="; }; diff --git a/pkgs/development/python-modules/pcodec/default.nix b/pkgs/development/python-modules/pcodec/default.nix index 94e7a1ee15ce..efa0a5bab919 100644 --- a/pkgs/development/python-modules/pcodec/default.nix +++ b/pkgs/development/python-modules/pcodec/default.nix @@ -10,19 +10,19 @@ buildPythonPackage rec { pname = "pcodec"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "pcodec"; repo = "pcodec"; tag = "v${version}"; - hash = "sha256-Ov3S4W8Yms+sMVInRrK7YO4jruyitvyoJW/b/4DX/sg="; + hash = "sha256-fL+UCaQ8GdIe7e4Y7VeaWkjoNwuXXqaW2fHkaWs+1Lw="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-PygRP4qVKbart3KFl0Q3zAQi8JN5GFbsBg4SwgzDRfk="; + hash = "sha256-4RRN4gyEQdnpiljxa1kPM2/naarpFrKMoTVLpXD3f4A="; }; buildAndTestSubdir = "pco_python"; diff --git a/pkgs/development/python-modules/readerwriterlock/default.nix b/pkgs/development/python-modules/readerwriterlock/default.nix new file mode 100644 index 000000000000..68ebefb26605 --- /dev/null +++ b/pkgs/development/python-modules/readerwriterlock/default.nix @@ -0,0 +1,47 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pythonOlder, + setuptools, + typing-extensions, + unittestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "readerwriterlock"; + version = "1.0.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "elarivie"; + repo = "pyReaderWriterLock"; + tag = "v${finalAttrs.version}"; + hash = "sha256-8FC+4aDgGpF1BmOdlkFtMy7OfWdSmvn9fjKXSmmeJlg="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + typing-extensions + ]; + + pythonImportsCheck = [ "readerwriterlock" ]; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + unittestFlags = [ "tests" ]; + + # RuntimeError: There is no current event loop in thread 'MainThread'. + doCheck = pythonOlder "3.14"; + + meta = { + changelog = "https://github.com/elarivie/pyReaderWriterLock/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + description = "Python 3 implementation of the Readers-writers problem"; + homepage = "https://github.com/elarivie/pyReaderWriterLock"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/development/python-modules/spotapi/default.nix b/pkgs/development/python-modules/spotapi/default.nix new file mode 100644 index 000000000000..77f379bca7aa --- /dev/null +++ b/pkgs/development/python-modules/spotapi/default.nix @@ -0,0 +1,64 @@ +{ + beautifulsoup4, + buildPythonPackage, + colorama, + fetchPypi, + lib, + pillow, + pymongo, + pyotp, + readerwriterlock, + redis, + requests, + setuptools, + tls-client, + typing-extensions, + validators, + websockets, +}: + +buildPythonPackage (finalAttrs: { + pname = "spotapi"; + version = "1.2.7"; + pyproject = true; + + # no tags on GitHub + src = fetchPypi { + inherit (finalAttrs) pname version; + hash = "sha256-x4UA65A4UvxqlDN5upHsPPa5yv8gKZw3kqLou/1xVtY="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + beautifulsoup4 + colorama + pillow + pyotp + readerwriterlock + requests + tls-client + typing-extensions + validators + ] + # optional dependencies are always imported + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; + + optional-dependencies = { + pymongo = [ pymongo ]; + redis = [ redis ]; + websocket = [ websockets ]; + }; + + pythonImportsCheck = [ "spotapi" ]; + + # upstream has no unit tests + doCheck = false; + + meta = { + description = "Python wrapper for the public & private Spotify API"; + homepage = "https://github.com/Aran404/SpotAPI"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/development/python-modules/spotipyfree/default.nix b/pkgs/development/python-modules/spotipyfree/default.nix new file mode 100644 index 000000000000..11a0aec1df39 --- /dev/null +++ b/pkgs/development/python-modules/spotipyfree/default.nix @@ -0,0 +1,39 @@ +{ + buildPythonPackage, + fetchPypi, + lib, + pymongo, + setuptools, + spotapi, +}: + +buildPythonPackage (finalAttrs: { + pname = "spotipyfree"; + version = "1.5.0"; + pyproject = true; + + # no tags on GitHub + src = fetchPypi { + inherit (finalAttrs) pname version; + hash = "sha256-MwqdvhpMWjGlH8mB2yGUWPghNLllUcbZ6jZjpftpYRk="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pymongo + spotapi + ]; + + pythonImportsCheck = [ "SpotipyFree" ]; + + # upstream has no tests + doCheck = false; + + meta = { + description = "Spotipy-compatible wrapper using SpotAPI"; + homepage = "https://github.com/TzurSoffer/spotipyFree"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index b29232fef18e..ee9c0e68f92f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -698,6 +698,7 @@ mapAliases { fabs = throw "'fabs' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 fancontrol-gui = throw "'fancontrol-gui' has been removed due to outdated KF5 dependencies"; # Added 2026-05-01 fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17 + fastfetchMinimal = warnAlias "'fastfetchMinimal' has been renamed to 'fastfetch.minimal'" fastfetch.minimal; # Added 2026-05-18 fastJson = warnAlias "'fastJson' has been renamed to 'libfastjson'" libfastjson; # Added 2026-02-08 fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-27 faustPhysicalModeling = warnAlias "'faustPhysicalModeling' has been renamed to 'faust-physicalmodeling'" faust-physicalmodeling; # Added 2026-02-08 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ee2088abb591..acdffe808857 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16802,6 +16802,8 @@ self: super: with self; { readchar = callPackage ../development/python-modules/readchar { }; + readerwriterlock = callPackage ../development/python-modules/readerwriterlock { }; + readlike = callPackage ../development/python-modules/readlike { }; readmdict = callPackage ../development/python-modules/readmdict { }; @@ -18592,10 +18594,14 @@ self: super: with self; { splunk-sdk = callPackage ../development/python-modules/splunk-sdk { }; + spotapi = callPackage ../development/python-modules/spotapi { }; + spotifyaio = callPackage ../development/python-modules/spotifyaio { }; spotipy = callPackage ../development/python-modules/spotipy { }; + spotipyfree = callPackage ../development/python-modules/spotipyfree { }; + spsdk = callPackage ../development/python-modules/spsdk { }; spsdk-mcu-link = callPackage ../development/python-modules/spsdk-mcu-link { };