diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index 8ad860a1aed8..dee31e1f5328 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -279,12 +279,11 @@ jobs: const diff = JSON.parse( readFileSync(path.join(artifact, system, 'diff.json'), 'utf-8'), ) - const attrs = [].concat( - diff.added, - diff.removed, - diff.changed, - diff.rebuilds - ) + const attrs = [] + .concat(diff.added, diff.removed, diff.changed, diff.rebuilds) + // There are some special attributes, which are ignored for rebuilds. + // These only have a single path component, because they lack the `.` suffix. + .filter((attr) => attr.split('.').length > 1) if (attrs.length > 0) { core.setFailed( `${version} on ${system} has changed outpaths!\nNote: Please make sure to update ci/pinned.json separately from changes to other packages.`, diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 61c211c0dfcb..fad930c8206d 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -557,6 +557,19 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function). with the `pipInstallHook`. - `unittestCheckHook` will run tests with `python -m unittest discover`. See [example usage](#using-unittestcheckhook). +#### Overriding build helpers {#overriding-python-build-helpers} + +Like many of the build helpers provided by Nixpkgs, Python build helpers typically provide a `.override` attribute. +It works like [`.override`](#sec-pkg-override), and can be used to override the dependencies of each build helper. + +This allows specifying the stdenv to be used by `buildPythonPackage` or `buildPythonApplication`. The default (`python.stdenv`) can be overridden as follows: + +```nix +buildPythonPackage.override { stdenv = customStdenv; } { + # package attrs... +} +``` + ## User Guide {#user-guide} ### Using Python {#using-python} diff --git a/doc/redirects.json b/doc/redirects.json index 4198cee6ca48..6334e3e669e5 100644 --- a/doc/redirects.json +++ b/doc/redirects.json @@ -3807,6 +3807,9 @@ "buildpythonpackage-parameters": [ "index.html#buildpythonpackage-parameters" ], + "overriding-python-build-helpers": [ + "index.html#overriding-python-build-helpers" + ], "overriding-python-packages": [ "index.html#overriding-python-packages" ], diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index f83792f0a3cd..77bdf0b9bdaf 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -332,6 +332,10 @@ - `emacs` now disables the GC mark trace buffer by default. This improves GC performance by 5%, but can make GC issues harder to debug. This is configurable with `withGcMarkTrace`. +- Passing `stdenv` to `buildPythonPackage` or `buildPythonApplication` has been deprecated and will trigger an error in a future release. + Instead, you should _override_ the python build helper, e.g., `(buildPythonPackage.override { stdenv = customStdenv; })`. + See [](#overriding-python-build-helpers). + - `buildPythonPackage` and `buildPythonApplication` now default to `nix-update-script` as their default `updateScript`. This should improve automated updates, since nix-update is better maintained than the in-tree update script and has more robust fetcher support. - `plasma6`: Fixed the `ksycoca` cache not being re-built when `$XDG_CACHE_HOME` is set to something that isn't `$HOME/.cache`. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 12819314ff2a..c5840bf7b22d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3834,6 +3834,11 @@ githubId = 40476330; name = "brokenpip3"; }; + BronzeDeer = { + github = "BronzeDeer"; + githubId = 74385045; + name = "Joël Pepper"; + }; brpaz = { email = "oss@brunopaz.dev"; github = "brpaz"; diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index cdbe8df4cfcf..c90c0925d931 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -319,6 +319,8 @@ and [release notes for v18](https://goteleport.com/docs/changelog/#1800-070325). - The systemd target `kbrequest.target` is now unset by default, instead of being forcibly symlinked to `rescue.target`. In case you were relying on this behavior (Alt + ArrowUp on the tty causing the current target to be changed to `rescue.target`), you can restore it by setting `systemd.targets.rescue.aliases = [ "kbrequest.target" ];` in your configuration. +- `miniflux` no longer uses the hstore PostgreSQL extension. Having the extension would prevent Miniflux from starting. In case you are managing your `miniflux` PostgreSQL database externally, disable the extension with `DROP EXTENSION IF EXISTS hstore;`. + ## Other Notable Changes {#sec-release-25.11-notable-changes} diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix index e4ffc1677626..dac5f508aa70 100644 --- a/nixos/modules/services/web-apps/miniflux.nix +++ b/nixos/modules/services/web-apps/miniflux.nix @@ -20,9 +20,11 @@ let boolToInt = b: if b then 1 else 0; pgbin = "${config.services.postgresql.package}/bin"; + # The hstore extension is no longer needed as of v2.2.14 + # and would prevent Miniflux from starting. preStart = pkgs.writeScript "miniflux-pre-start" '' #!${pkgs.runtimeShell} - ${pgbin}/psql "miniflux" -c "CREATE EXTENSION IF NOT EXISTS hstore" + ${pgbin}/psql "miniflux" -c "DROP EXTENSION IF EXISTS hstore" ''; in @@ -39,7 +41,7 @@ in description = '' Whether a PostgreSQL database should be automatically created and configured on the local host. If set to `false`, you need provision a - database yourself and make sure to create the hstore extension in it. + database yourself. ''; }; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 9ebc3c240416..dca73f6bc6bd 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -402,11 +402,11 @@ in { inherit (pkgs.nextcloud31Packages.apps) mail calendar contacts; phonetrack = pkgs.fetchNextcloudApp { - name = "phonetrack"; + appName = "phonetrack"; + appVersion = "0.8.2"; license = "agpl3Plus"; sha512 = "f67902d1b48def9a244383a39d7bec95bb4215054963a9751f99dae9bd2f2740c02d2ef97b3b76d69a36fa95f8a9374dd049440b195f4dad2f0c4bca645de228"; url = "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz"; - version = "0.8.2"; }; } ''; diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix index 87415eeff7c7..549dd4966439 100644 --- a/nixos/tests/miniflux.nix +++ b/nixos/tests/miniflux.nix @@ -80,9 +80,6 @@ in host sameuser miniflux samenet scram-sha-256 ''; }; - systemd.services.postgresql-setup.postStart = lib.mkAfter '' - psql -tAd miniflux -c 'CREATE EXTENSION hstore;' - ''; networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; }; externalDb = diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index bc990312581b..e68e56272081 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "automatic-timezoned"; - version = "2.0.93"; + version = "2.0.96"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${version}"; - sha256 = "sha256-EJxHmzNJvWtchFnptTK03jyPWMzFKO6jxte30xipdM8="; + sha256 = "sha256-Y2dx0Y5wfYXewJkf7W2YgupdTfwsJg7MTPsFpLmJ9k8="; }; - cargoHash = "sha256-kfsc7QXvRczatRwvPeMPXuD6GC9qd6zBwUd3EYXALSc="; + cargoHash = "sha256-c5KDy767GxZwTwrcjsnfEQVlFiYxmjSdpFx07ymMtBE="; meta = { description = "Automatically update system timezone based on location"; diff --git a/pkgs/by-name/ay/ayugram-desktop/package.nix b/pkgs/by-name/ay/ayugram-desktop/package.nix index 4a7029bab9d6..57fa92699d2e 100644 --- a/pkgs/by-name/ay/ayugram-desktop/package.nix +++ b/pkgs/by-name/ay/ayugram-desktop/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + fetchpatch2, fetchFromGitHub, nix-update-script, telegram-desktop, @@ -23,6 +23,15 @@ telegram-desktop.override { fetchSubmodules = true; }; + # fix build failure with Qt 6.10 + patches = fetchpatch2 { + name = "fix-build-with-qt-610.patch"; + url = "https://github.com/desktop-app/cmake_helpers/commit/682f1b57.patch"; + hash = "sha256-DHwgxAEFc1byQkVvrPwyctQKvUsK/KQ/cnzRv6PQuTM="; + stripLen = 1; + extraPrefix = "cmake/"; + }; + passthru.updateScript = nix-update-script { }; meta = previousAttrs.meta // { diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index 967588c95784..133780819c08 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "2.2.6"; + version = "2.2.7"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "@biomejs/biome@${finalAttrs.version}"; - hash = "sha256-5QxcKVo6niV+K63JRBhs6/RUR6jru20f+DeitfqEuRI="; + hash = "sha256-VBNFQkgruomZjDaQouR4KZooGNN/0VCRYFRomdhPFF8="; }; - cargoHash = "sha256-/POhRQ2HIaBwk9VeMdkK7dAZ90EmB49oCvQEUScgjpY="; + cargoHash = "sha256-CkKwzTi9yqao8mGqIu4F2lqMKZVpFsLUtccXOSXr+uw="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/filesystems/ceph/arrow-cpp-19.nix b/pkgs/by-name/ce/ceph/arrow-cpp-19.nix similarity index 100% rename from pkgs/tools/filesystems/ceph/arrow-cpp-19.nix rename to pkgs/by-name/ce/ceph/arrow-cpp-19.nix diff --git a/pkgs/tools/filesystems/ceph/boost-1.85.patch b/pkgs/by-name/ce/ceph/boost-1.85.patch similarity index 100% rename from pkgs/tools/filesystems/ceph/boost-1.85.patch rename to pkgs/by-name/ce/ceph/boost-1.85.patch diff --git a/pkgs/tools/filesystems/ceph/boost-1.86-PyModule.patch b/pkgs/by-name/ce/ceph/boost-1.86-PyModule.patch similarity index 100% rename from pkgs/tools/filesystems/ceph/boost-1.86-PyModule.patch rename to pkgs/by-name/ce/ceph/boost-1.86-PyModule.patch diff --git a/pkgs/tools/filesystems/ceph/old-python-packages/cryptography-vectors.nix b/pkgs/by-name/ce/ceph/old-python-packages/cryptography-vectors.nix similarity index 100% rename from pkgs/tools/filesystems/ceph/old-python-packages/cryptography-vectors.nix rename to pkgs/by-name/ce/ceph/old-python-packages/cryptography-vectors.nix diff --git a/pkgs/tools/filesystems/ceph/old-python-packages/cryptography.nix b/pkgs/by-name/ce/ceph/old-python-packages/cryptography.nix similarity index 100% rename from pkgs/tools/filesystems/ceph/old-python-packages/cryptography.nix rename to pkgs/by-name/ce/ceph/old-python-packages/cryptography.nix diff --git a/pkgs/tools/filesystems/ceph/old-python-packages/python-cryptography-Cherry-pick-fix-for-CVE-2023-49083-on-cryptography-40.patch b/pkgs/by-name/ce/ceph/old-python-packages/python-cryptography-Cherry-pick-fix-for-CVE-2023-49083-on-cryptography-40.patch similarity index 100% rename from pkgs/tools/filesystems/ceph/old-python-packages/python-cryptography-Cherry-pick-fix-for-CVE-2023-49083-on-cryptography-40.patch rename to pkgs/by-name/ce/ceph/old-python-packages/python-cryptography-Cherry-pick-fix-for-CVE-2023-49083-on-cryptography-40.patch diff --git a/pkgs/tools/filesystems/ceph/old-python-packages/trustme.nix b/pkgs/by-name/ce/ceph/old-python-packages/trustme.nix similarity index 100% rename from pkgs/tools/filesystems/ceph/old-python-packages/trustme.nix rename to pkgs/by-name/ce/ceph/old-python-packages/trustme.nix diff --git a/pkgs/by-name/ce/ceph/package.nix b/pkgs/by-name/ce/ceph/package.nix new file mode 100644 index 000000000000..4f8371cd7d2b --- /dev/null +++ b/pkgs/by-name/ce/ceph/package.nix @@ -0,0 +1,630 @@ +{ + lib, + stdenv, + runCommand, + fetchurl, + fetchFromGitHub, + fetchPypi, + fetchpatch2, + callPackage, + + # Build time + autoconf, + automake, + cmake, + ensureNewerSourcesHook, + # To see which `fmt` version Ceph upstream recommends, check its `src/fmt` submodule. + # + # Ceph does not currently build with `fmt_10`; see https://github.com/NixOS/nixpkgs/issues/281027#issuecomment-1899128557 + # If we want to switch for that before upstream fixes it, use this patch: + # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899648638 + fmt_9, + git, + libtool, + makeWrapper, + nasm, + pkg-config, + which, + openssl, + + # Tests + nixosTests, + + # Runtime dependencies + + # Remove once Ceph supports arrow-cpp >= 20, see: + # * https://tracker.ceph.com/issues/71269 + # * https://github.com/NixOS/nixpkgs/issues/406306 + ceph-arrow-cpp ? callPackage ./arrow-cpp-19.nix { }, + babeltrace, + # Note when trying to upgrade boost: + # * When upgrading Ceph, it's recommended to check which boost version Ceph uses on Fedora, + # and default to that. + # * The version that Ceph downloads if `-DWITH_SYSTEM_BOOST:BOOL=ON` is not given + # is declared in `cmake/modules/BuildBoost.cmake` line `set(boost_version ...)`. + # + # If you want to upgrade to boost >= 1.86, you need a Ceph version that + # has this PR in: + # https://github.com/ceph/ceph/pull/61312 + boost183, + bzip2, + cryptsetup, + cunit, + e2fsprogs, + doxygen, + gperf, + graphviz, + gnugrep, + gtest, + icu, + kmod, + libcap, + libcap_ng, + libnbd, + libnl, + libxml2, + lmdb, + lttng-ust, + # Ceph currently requires >= 5.3 + lua5_4, + lvm2, + lz4, + oath-toolkit, + openldap, + parted, + python311, # to get an idea which Python versions are supported by Ceph, see upstream `do_cmake.sh` (see `PYBUILD=` variable) + rdkafka, + rocksdb, + snappy, + openssh, + sqlite, + utf8proc, + xfsprogs, + zlib, + zstd, + + # Dependencies of overridden Python dependencies, hopefully we can remove these soon. + rustPlatform, + + # Optional Dependencies + curl ? null, + expat ? null, + fuse ? null, + libatomic_ops ? null, + libedit ? null, + libs3 ? null, + yasm ? null, + + # Mallocs + gperftools ? null, + jemalloc ? null, + + # Crypto Dependencies + cryptopp ? null, + nspr ? null, + nss ? null, + + # Linux Only Dependencies + linuxHeaders, + util-linux, + libuuid, + udev, + keyutils, + rdma-core, + rabbitmq-c, + libaio ? null, + libxfs ? null, + liburing ? null, + zfs ? null, +}: + +# We must have one crypto library +assert cryptopp != null || (nss != null && nspr != null); + +let + shouldUsePkg = + pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; + + optYasm = shouldUsePkg yasm; + optExpat = shouldUsePkg expat; + optCurl = shouldUsePkg curl; + optFuse = shouldUsePkg fuse; + optLibedit = shouldUsePkg libedit; + optLibatomic_ops = shouldUsePkg libatomic_ops; + optLibs3 = shouldUsePkg libs3; + + optJemalloc = shouldUsePkg jemalloc; + optGperftools = shouldUsePkg gperftools; + + optCryptopp = shouldUsePkg cryptopp; + optNss = shouldUsePkg nss; + optNspr = shouldUsePkg nspr; + + optLibaio = shouldUsePkg libaio; + optLibxfs = shouldUsePkg libxfs; + optZfs = shouldUsePkg zfs; + + # Downgrade rocksdb, 7.10 breaks ceph + rocksdb' = rocksdb.overrideAttrs { + version = "7.9.2"; + src = fetchFromGitHub { + owner = "facebook"; + repo = "rocksdb"; + rev = "refs/tags/v7.9.2"; + hash = "sha256-5P7IqJ14EZzDkbjaBvbix04ceGGdlWBuVFH/5dpD5VM="; + }; + }; + + hasRadosgw = optExpat != null && optCurl != null && optLibedit != null; + + # Malloc implementation (can be jemalloc, tcmalloc or null) + malloc = if optJemalloc != null then optJemalloc else optGperftools; + + # We prefer nss over cryptopp + cryptoStr = + if optNss != null && optNspr != null then + "nss" + else if optCryptopp != null then + "cryptopp" + else + "none"; + + cryptoLibsMap = { + nss = [ + optNss + optNspr + ]; + cryptopp = [ optCryptopp ]; + none = [ ]; + }; + + getMeta = description: { + homepage = "https://ceph.io/en/"; + inherit description; + license = with lib.licenses; [ + lgpl21 + gpl2Only + bsd3 + mit + publicDomain + ]; + maintainers = with lib.maintainers; [ + adev + ak + johanot + krav + nh2 + benaryorg + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; + + ceph-common = + with python.pkgs; + buildPythonPackage { + pname = "ceph-common"; + format = "setuptools"; + inherit src version; + + sourceRoot = "ceph-${version}/src/python-common"; + + propagatedBuildInputs = [ + pyyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # requires network access + "test_valid_addr" + ]; + + meta = getMeta "Ceph common module for code shared by manager modules"; + }; + + # Watch out for python <> boost compatibility + python = python311.override { + self = python; + packageOverrides = + self: super: + let + bcryptOverrideVersion = "4.0.1"; + in + { + # Ceph does not support the following yet: + # * `bcrypt` > 4.0 + # * `cryptography` > 40 + # See: + # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 + # * Upstream issue: https://tracker.ceph.com/issues/63529 + # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 + # * Moved to issue: https://tracker.ceph.com/issues/64213 + # > MGR modules incompatible with later PyO3 versions - PyO3 modules may only be initialized once per interpreter process + + bcrypt = super.bcrypt.overridePythonAttrs (old: rec { + pname = "bcrypt"; + version = bcryptOverrideVersion; + src = fetchPypi { + inherit pname version; + hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; + }; + cargoRoot = "src/_bcrypt"; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit + pname + version + src + cargoRoot + ; + hash = "sha256-8PyCgh/rUO8uynzGdgylAsb5k55dP9fCnf40UOTCR/M="; + }; + }); + + # We pin the older `cryptography` 40 here; + # this also forces us to pin other packages, see below + cryptography = self.callPackage ./old-python-packages/cryptography.nix { }; + + # This is the most recent version of `pyopenssl` that's still compatible with `cryptography` 40. + # See https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 + # and https://github.com/pyca/pyopenssl/blob/d9752e44127ba36041b045417af8a0bf16ec4f1e/CHANGELOG.rst#2320-2023-05-30 + pyopenssl = super.pyopenssl.overridePythonAttrs (old: rec { + version = "23.1.1"; + src = fetchPypi { + pname = "pyOpenSSL"; + inherit version; + hash = "sha256-hBSYub7GFiOxtsR+u8AjZ8B9YODhlfGXkIF/EMyNsLc="; + }; + disabledTests = old.disabledTests or [ ] ++ [ + "test_export_md5_digest" + ]; + disabledTestPaths = old.disabledTestPaths or [ ] ++ [ + "tests/test_ssl.py" + ]; + propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ + self.flaky + ]; + # hack: avoid building docs due to incompatibility with current sphinx + nativeBuildInputs = [ openssl ]; # old.nativeBuildInputs but without sphinx* + outputs = lib.filter (o: o != "doc") old.outputs; + }); + + # This is the most recent version of `trustme` that's still compatible with `cryptography` 40. + # See https://github.com/NixOS/nixpkgs/issues/359723 + # and https://github.com/python-trio/trustme/commit/586f7759d5c27beb44da60615a71848eb2a5a490 + trustme = self.callPackage ./old-python-packages/trustme.nix { }; + + fastapi = super.fastapi.overridePythonAttrs (old: { + # Flaky test: + # ResourceWarning: Unclosed + # Unclear whether it's flaky in general or only in this overridden package set. + doCheck = false; + }); + + # Ceph does not support `kubernetes` >= 19, see: + # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1900324090 + kubernetes = super.kubernetes.overridePythonAttrs (old: rec { + version = "18.20.0"; + src = fetchFromGitHub { + owner = "kubernetes-client"; + repo = "python"; + rev = "v${version}"; + sha256 = "1sawp62j7h0yksmg9jlv4ik9b9i1a1w9syywc9mv8x89wibf5ql1"; + fetchSubmodules = true; + }; + }); + + }; + }; + + boost' = boost183.override { + enablePython = true; + inherit python; + }; + + # TODO: split this off in build and runtime environment + ceph-python-env = python.withPackages ( + ps: with ps; [ + ceph-common + + # build time + cython_0 + + # debian/control + bcrypt + cherrypy + influxdb + jinja2 + kubernetes + natsort + numpy + pecan + prettytable + pyjwt + pyopenssl + python-dateutil + pyyaml + requests + routes + scikit-learn + scipy + setuptools + sphinx + virtualenv + werkzeug + + # src/cephadm/zipapp-reqs.txt + markupsafe + + # src/pybind/mgr/requirements-required.txt + cryptography + jsonpatch + + # src/tools/cephfs/shell/setup.py + cmd2 + colorama + ] + ); + inherit (ceph-python-env.python) sitePackages; + + version = "19.2.3"; + src = fetchurl { + url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz"; + hash = "sha256-zlgp28C81SZbaFJ4yvQk4ZgYz4K/aZqtcISTO8LscSU="; + }; +in +stdenv.mkDerivation { + pname = "ceph"; + inherit src version; + + patches = [ + ./boost-1.85.patch + + (fetchpatch2 { + name = "ceph-boost-1.86-uuid.patch"; + url = "https://github.com/ceph/ceph/commit/01306208eac492ee0e67bff143fc32d0551a2a6f.patch?full_index=1"; + hash = "sha256-OnDrr72inzGXXYxPFQevsRZImSvI0uuqFHqtFU2dPQE="; + }) + + # See: + # * + # * + # * + ./boost-1.86-PyModule.patch + + (fetchpatch2 { + name = "ceph-cmake-4.patch"; + url = "https://gitlab.alpinelinux.org/ashpool/aports/-/raw/d22b70eafe33c3daabe4eea6913c5be87d9463ad/community/ceph19/cpp_redis.patch"; + hash = "sha256-wxPIsYt25CjXhJ6kmr/MXwFD58Sl4y4W+r9jAMND+uw="; + }) + ]; + + nativeBuildInputs = [ + autoconf # `autoreconf` is called, e.g. for `qatlib_ext` + automake # `aclocal` is called, e.g. for `qatlib_ext` + cmake + fmt_9 + git + makeWrapper + libtool # used e.g. for `qatlib_ext` + nasm + pkg-config + python + python.pkgs.python # for the toPythonPath function + python.pkgs.wrapPython + which + (ensureNewerSourcesHook { year = "1980"; }) + # for building docs/man-pages presumably + doxygen + graphviz + ]; + + buildInputs = + cryptoLibsMap.${cryptoStr} + ++ [ + ceph-arrow-cpp + babeltrace + boost' + bzip2 + # Adding `ceph-python-env` here adds the env's `site-packages` to `PYTHONPATH` during the build. + # This is important, otherwise the build system may not find the Python deps and then + # silently skip installing ceph-volume and other Ceph python tools. + ceph-python-env + cryptsetup + cunit + e2fsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it + gperf + gtest + icu + libcap + libnbd + libnl + libxml2 + lmdb + lttng-ust + lua5_4 + lvm2 # according to `debian/control` file, e.g. `pvs` command used by `src/ceph-volume/ceph_volume/api/lvm.py` + lz4 + malloc + oath-toolkit + openldap + optLibatomic_ops + optLibs3 + optYasm + parted # according to `debian/control` file, used by `src/ceph-volume/ceph_volume/util/disk.py` + rdkafka + rocksdb' + snappy + openssh # according to `debian/control` file, `ssh` command used by `cephadm` + sqlite + utf8proc + xfsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it + zlib + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + keyutils + libcap_ng + liburing + libuuid + linuxHeaders + optLibaio + optLibxfs + optZfs + rabbitmq-c + rdma-core + udev + util-linux + ] + ++ lib.optionals hasRadosgw [ + optCurl + optExpat + optFuse + optLibedit + ]; + + # Picked up, amongst others, by `wrapPythonPrograms`. + pythonPath = [ + ceph-python-env + "${placeholder "out"}/${ceph-python-env.sitePackages}" + ]; + + # * `unset AS` because otherwise the Ceph CMake build errors with + # configure: error: No modern nasm or yasm found as required. Nasm should be v2.11.01 or later (v2.13 for AVX512) and yasm should be 1.2.0 or later. + # because the code at + # https://github.com/intel/isa-l/blob/633add1b569fe927bace3960d7c84ed9c1b38bb9/configure.ac#L99-L191 + # doesn't even consider using `nasm` or `yasm` but instead uses `$AS` + # from `gcc-wrapper`. + # (Ceph's error message is extra confusing, because it says + # `No modern nasm or yasm found` when in fact it found e.g. `nasm` + # but then uses `$AS` instead. + # * replace /sbin and /bin based paths with direct nix store paths + # * increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters + preConfigure = '' + unset AS + + substituteInPlace src/common/module.c \ + --replace "char command[128];" "char command[256];" \ + --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \ + --replace "/sbin/modprobe" "${kmod}/bin/modprobe" \ + --replace "/bin/grep" "${gnugrep}/bin/grep" + + # Patch remount to use full path to mount(8), otherwise ceph-fuse fails when run + # from a systemd unit for example. + substituteInPlace src/client/fuse_ll.cc \ + --replace-fail "mount -i -o remount" "${util-linux}/bin/mount -i -o remount" + + # The install target needs to be in PYTHONPATH for "*.pth support" check to succeed + export PYTHONPATH=$PYTHONPATH:$lib/${sitePackages}:$out/${sitePackages} + patchShebangs src/ + ''; + + cmakeFlags = [ + "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib" + + "-DWITH_CEPHFS_SHELL:BOOL=ON" + "-DWITH_SYSTEMD:BOOL=OFF" + # `WITH_JAEGER` requires `thrift` as a depenedncy (fine), but the build fails with: + # CMake Error at src/opentelemetry-cpp-stamp/opentelemetry-cpp-build-Release.cmake:49 (message): + # Command failed: 2 + # + # 'make' 'opentelemetry_trace' 'opentelemetry_exporter_jaeger_trace' + # + # See also + # + # /build/ceph-18.2.0/build/src/opentelemetry-cpp/src/opentelemetry-cpp-stamp/opentelemetry-cpp-build-*.log + # and that file contains: + # /build/ceph-18.2.0/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/src/TUDPTransport.cc: In member function 'virtual void opentelemetry::v1::exporter::jaeger::TUDPTransport::close()': + # /build/ceph-18.2.0/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/src/TUDPTransport.cc:71:7: error: '::close' has not been declared; did you mean 'pclose'? + # 71 | ::THRIFT_CLOSESOCKET(socket_); + # | ^~~~~~~~~~~~~~~~~~ + # Looks like `close()` is somehow not included. + # But the relevant code is already removed in `open-telemetry` 1.10: https://github.com/open-telemetry/opentelemetry-cpp/pull/2031 + # So it's probably not worth trying to fix that for this Ceph version, + # and instead just disable Ceph's Jaeger support. + "-DWITH_JAEGER:BOOL=OFF" + "-DWITH_TESTS:BOOL=OFF" + + # Use our own libraries, where possible + "-DWITH_SYSTEM_ARROW:BOOL=ON" # Only used if other options enable Arrow support. + "-DWITH_SYSTEM_BOOST:BOOL=ON" + "-DWITH_SYSTEM_GTEST:BOOL=ON" + "-DWITH_SYSTEM_ROCKSDB:BOOL=ON" + "-DWITH_SYSTEM_UTF8PROC:BOOL=ON" + "-DWITH_SYSTEM_ZSTD:BOOL=ON" + + # Use our own python libraries too, see: + # https://github.com/NixOS/nixpkgs/pull/344993#issuecomment-2391046329 + "-DCEPHADM_BUNDLED_DEPENDENCIES=none" + + # TODO breaks with sandbox, tries to download stuff with npm + "-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF" + # WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now + ''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}'' + ] + ++ lib.optional stdenv.hostPlatform.isLinux "-DWITH_SYSTEM_LIBURING=ON"; + + preBuild = + # The legacy-option-headers target is not correctly empbedded in the build graph. + # It also contains some internal race conditions that we work around by building with `-j 1`. + # Upstream discussion for additional context at https://tracker.ceph.com/issues/63402. + '' + cmake --build . --target legacy-option-headers -j 1 + ''; + + postFixup = '' + wrapPythonPrograms + wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "$(toPythonPath ${placeholder "out"}):$(toPythonPath ${ceph-python-env})" + + # Test that ceph-volume exists since the build system has a tendency to + # silently drop it with misconfigurations. + test -f $out/bin/ceph-volume + + mkdir -p $client/{bin,etc,${sitePackages},share/bash-completion/completions} + cp -r $out/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $client/bin + cp -r $out/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $client/bin + cp -r $out/bin/rbd-replay* $client/bin + cp -r $out/sbin/mount.ceph $client/bin + cp -r $out/sbin/mount.fuse.ceph $client/bin + ln -s bin $client/sbin + cp -r $out/${sitePackages}/* $client/${sitePackages} + cp -r $out/etc/bash_completion.d $client/share/bash-completion/completions + # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths + substituteInPlace $client/bin/ceph --replace $out $client + substituteInPlace $client/bin/.ceph-wrapped --replace $out $client + ''; + + outputs = [ + "out" + "lib" + "client" + "dev" + "doc" + "man" + ]; + + doCheck = false; # uses pip to install things from the internet + + # Takes 7+h to build with 2 cores. + requiredSystemFeatures = [ "big-parallel" ]; + + meta = getMeta "Distributed storage system"; + + passthru = { + inherit version; + inherit python; # to be able to test our overridden packages above individually with `nix-build -A` + arrow-cpp = ceph-arrow-cpp; + tests = { + inherit (nixosTests) + ceph-multi-node + ceph-single-node + ceph-single-node-bluestore + ceph-single-node-bluestore-dmcrypt + ; + }; + }; +} diff --git a/pkgs/by-name/cp/cppe/cmake-minimum-required.patch b/pkgs/by-name/cp/cppe/cmake-minimum-required.patch new file mode 100644 index 000000000000..caf44cfd2d6c --- /dev/null +++ b/pkgs/by-name/cp/cppe/cmake-minimum-required.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5d5d359..ba8992c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ +-cmake_minimum_required(VERSION 3.0.0) +-cmake_policy(VERSION 3.0.0) ++cmake_minimum_required(VERSION 3.10) ++cmake_policy(VERSION 3.10) + + project(cppe LANGUAGES CXX) + +diff --git a/cppe/CMakeLists.txt b/cppe/CMakeLists.txt +index 6780f18..17ac4b9 100644 +--- a/cppe/CMakeLists.txt ++++ b/cppe/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0.0) ++cmake_minimum_required(VERSION 3.10) + project(cppe-core VERSION 0.3.1 LANGUAGES CXX) + + include(GNUInstallDirs) diff --git a/pkgs/by-name/cp/cppe/package.nix b/pkgs/by-name/cp/cppe/package.nix index ff4757daab1a..7848b889b615 100644 --- a/pkgs/by-name/cp/cppe/package.nix +++ b/pkgs/by-name/cp/cppe/package.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-guM7+ZWDJLcAUJtPkKLvC4LYSA2eBvER7cgwPZ7FxHw="; }; + patches = [ + ./cmake-minimum-required.patch + ]; + nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ]; cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; diff --git a/pkgs/by-name/en/enzyme/package.nix b/pkgs/by-name/en/enzyme/package.nix index 9a980e79477b..8ee122dc321b 100644 --- a/pkgs/by-name/en/enzyme/package.nix +++ b/pkgs/by-name/en/enzyme/package.nix @@ -7,13 +7,13 @@ }: llvmPackages.stdenv.mkDerivation rec { pname = "enzyme"; - version = "0.0.203"; + version = "0.0.204"; src = fetchFromGitHub { owner = "EnzymeAD"; repo = "Enzyme"; rev = "v${version}"; - hash = "sha256-PfV50pGDGWx4Ih8x8V0ib+Oti71oH90ODepiDN+q4tU="; + hash = "sha256-s5gddwMq2S4m+OtX9FHWqHTa8GaVXQm+08qRI+dGENA="; }; postPatch = '' diff --git a/pkgs/by-name/fe/feishin/package.nix b/pkgs/by-name/fe/feishin/package.nix index b831f522d769..400ac62181f7 100644 --- a/pkgs/by-name/fe/feishin/package.nix +++ b/pkgs/by-name/fe/feishin/package.nix @@ -4,31 +4,43 @@ buildNpmPackage, fetchFromGitHub, electron_36, + dart-sass, + pnpm_10, darwin, copyDesktopItems, makeDesktopItem, }: let pname = "feishin"; - version = "0.12.6"; + version = "0.20.1"; src = fetchFromGitHub { owner = "jeffvli"; repo = "feishin"; - rev = "v${version}"; - hash = "sha256-cnlPks/sJdcxHdIppHn8Q8d2tkwVlPMofQxjdAlBreg="; + tag = "v${version}"; + hash = "sha256-WJMaLMrv6LSw/wxn7EZOSYqwAlgW3UkeYvxV4vEkCfM="; }; electron = electron_36; + pnpm = pnpm_10; in buildNpmPackage { inherit pname version; inherit src; - npmDepsHash = "sha256-lThh29prT/cHRrp2mEtUW4eeVfCtkk+54EPNUyGHyq8="; - npmFlags = [ "--legacy-peer-deps" ]; - makeCacheWritable = true; + npmConfigHook = pnpm.configHook; + + npmDeps = null; + pnpmDeps = pnpm.fetchDeps { + inherit + pname + version + src + ; + fetcherVersion = 2; + hash = "sha256-8di4WZ30oE4q3l8Nthgihk6q+ob/Mz/UrofrtsLFzhc="; + }; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; @@ -39,40 +51,26 @@ buildNpmPackage { postPatch = '' # release/app dependencies are installed on preConfigure substituteInPlace package.json \ - --replace-fail "electron-builder install-app-deps &&" "" + --replace-fail '"postinstall": "electron-builder install-app-deps",' "" # Don't check for updates. - substituteInPlace src/main/main.ts \ + substituteInPlace src/main/index.ts \ --replace-fail "autoUpdater.checkForUpdatesAndNotify();" "" '' + lib.optionalString stdenv.hostPlatform.isLinux '' # https://github.com/electron/electron/issues/31121 - substituteInPlace src/main/main.ts \ + substituteInPlace src/main/index.ts \ --replace-fail "process.resourcesPath" "'$out/share/feishin/resources'" ''; - preConfigure = - let - releaseAppDeps = buildNpmPackage { - pname = "${pname}-release-app"; - inherit version; + preBuild = '' + rm -r node_modules/.pnpm/sass-embedded-* - src = "${src}/release/app"; - npmDepsHash = "sha256-kEe5HH/oslH8vtAcJuWTOLc0ZQPxlDVMS4U0RpD8enE="; - - npmFlags = [ "--ignore-scripts" ]; - dontNpmBuild = true; - - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; - }; - releaseNodeModules = "${releaseAppDeps}/lib/node_modules/feishin/node_modules"; - in - '' - for release_module_path in "${releaseNodeModules}"/*; do - rm -rf node_modules/"$(basename "$release_module_path")" - ln -s "$release_module_path" node_modules/ - done - ''; + test -d node_modules/.pnpm/sass-embedded@* + dir="$(echo node_modules/.pnpm/sass-embedded@*)/node_modules/sass-embedded/dist/lib/src/vendor/dart-sass" + mkdir -p "$dir" + ln -s ${dart-sass}/bin/dart-sass "$dir"/sass + ''; postBuild = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -103,7 +101,8 @@ buildNpmPackage { '' + lib.optionalString stdenv.hostPlatform.isLinux '' mkdir -p $out/share/feishin - pushd release/build/*/ + + pushd dist/*-unpacked/ cp -r locales resources{,.pak} $out/share/feishin popd diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix index 6f76b375d314..37bf3f49f16e 100644 --- a/pkgs/by-name/fl/flashmq/package.nix +++ b/pkgs/by-name/fl/flashmq/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "flashmq"; - version = "1.23.1"; + version = "1.23.2"; src = fetchFromGitHub { owner = "halfgaar"; repo = "FlashMQ"; tag = "v${finalAttrs.version}"; - hash = "sha256-to+BCn7/fa1YcjCudrOY0otzEkIx9ocSwkUnFGnjuxU="; + hash = "sha256-v/gc9YVIBTQP8/wnYKucBQci/8oz+Xo9BTorAV6Jxqs="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fz/fzf-git-sh/package.nix b/pkgs/by-name/fz/fzf-git-sh/package.nix index d09f9670debe..3395c14ed862 100644 --- a/pkgs/by-name/fz/fzf-git-sh/package.nix +++ b/pkgs/by-name/fz/fzf-git-sh/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "fzf-git-sh"; - version = "0-unstable-2025-10-12"; + version = "0-unstable-2025-10-21"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf-git.sh"; - rev = "279050e2eba5b9f4c5b057ca7dbc7e02e67315a1"; - hash = "sha256-l7xVch0YYFSGuz9CFAr9lWqsbFeq+jcjyzN7XovRKFc="; + rev = "c823ffd521cb4a3a65a5cf87f1b1104ef651c3de"; + hash = "sha256-G5b6s3p4Lrh2YQyBKE3Lzh78USR1tKlR/YqTMr3mXsI="; }; dontBuild = true; diff --git a/pkgs/by-name/ho/honeycomb-refinery/0001-add-NO_REDIS_TEST-env-var-that-disables-Redis-requir.patch b/pkgs/by-name/ho/honeycomb-refinery/0001-add-NO_REDIS_TEST-env-var-that-disables-Redis-requir.patch index 301f549138e1..71dbff392aa5 100644 --- a/pkgs/by-name/ho/honeycomb-refinery/0001-add-NO_REDIS_TEST-env-var-that-disables-Redis-requir.patch +++ b/pkgs/by-name/ho/honeycomb-refinery/0001-add-NO_REDIS_TEST-env-var-that-disables-Redis-requir.patch @@ -1,37 +1,24 @@ -From 301de689a1f7fae8ee6d0d5bbbe155a351b1b927 Mon Sep 17 00:00:00 2001 -From: Jade Lovelace -Date: Wed, 9 Nov 2022 11:02:02 -0800 -Subject: [PATCH] add NO_REDIS_TEST env-var that disables Redis-requiring tests +From f2d2d869a4aa58430415d0969f5e80ece0142ad2 Mon Sep 17 00:00:00 2001 +From: jkachmar +Date: Thu, 23 Oct 2025 17:36:48 -0400 +Subject: [PATCH] disable tests that require redis --- - internal/peer/peers_test.go | 7 +++++++ - 1 file changed, 7 insertions(+) + internal/peer/peers_test.go | 4 ++++ + 1 file changed, 4 insertions(+), 0 deletions(-) diff --git a/internal/peer/peers_test.go b/internal/peer/peers_test.go -index 5ec7f81..c64b1b4 100644 +index dae54067d8..b33ebc4979 100644 --- a/internal/peer/peers_test.go +++ b/internal/peer/peers_test.go -@@ -2,6 +2,7 @@ package peer +@@ -86,6 +86,10 @@ + } - import ( - "context" -+ "os" - "testing" - "time" - -@@ -26,6 +27,12 @@ func TestNewPeers(t *testing.T) { - t.Errorf("received %T expected %T", i, &filePeers{}) - } - -+ // Allow skipping test requiring redis, since Nix builds without redis -+ // available + func TestPeerShutdown(t *testing.T) { ++ // Skip tests requiring Redis so that nixpkgs can build & test refinery. + if os.Getenv("NO_REDIS_TEST") != "" { -+ t.Skip("Skipping redis-requiring test"); ++ t.Skip("Skipping Redis-requiring test"); + } -+ - c = &config.MockConfig{ + c := &config.MockConfig{ GetPeerListenAddrVal: "0.0.0.0:8081", PeerManagementType: "redis", --- -2.37.1 - diff --git a/pkgs/by-name/ho/honeycomb-refinery/package.nix b/pkgs/by-name/ho/honeycomb-refinery/package.nix index 690636870e80..38bad5f83538 100644 --- a/pkgs/by-name/ho/honeycomb-refinery/package.nix +++ b/pkgs/by-name/ho/honeycomb-refinery/package.nix @@ -2,17 +2,19 @@ lib, buildGoModule, fetchFromGitHub, + versionCheckHook, + nix-update-script, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "honeycomb-refinery"; - version = "1.19.0"; + version = "3.0.0"; src = fetchFromGitHub { owner = "honeycombio"; repo = "refinery"; - rev = "v${version}"; - hash = "sha256-SU9JbyUuBMqPw4XcoF5s8CgBn7+V/rHBAwpXJk373jg="; + rev = "v${finalAttrs.version}"; + hash = "sha256-jt8aEqglGXzBL5UDOz8e7qRDmE3RnMb2y+eLFI9jJSE="; }; NO_REDIS_TEST = true; @@ -24,23 +26,33 @@ buildGoModule rec { ./0001-add-NO_REDIS_TEST-env-var-that-disables-Redis-requir.patch ]; - excludedPackages = [ "cmd/test_redimem" ]; + excludedPackages = [ + "LICENSES" + "cmd/test_redimem" + ]; ldflags = [ "-s" "-w" - "-X main.BuildID=${version}" + "-X main.BuildID=${finalAttrs.version}" ]; - vendorHash = "sha256-0M05JGLdmKivRTN8ZdhAm+JtXTlYAC31wFS82g3NenI="; + vendorHash = "sha256-/1IT3GxKANBltetRKxP/jUG05GGbg9mc7aWEcbrwUT0="; doCheck = true; - meta = with lib; { + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}"; + versionCheckProgramArg = "--version"; + + passthru.updateScript = nix-update-script { }; + + meta = { homepage = "https://github.com/honeycombio/refinery"; description = "Tail-sampling proxy for OpenTelemetry"; - license = licenses.asl20; - maintainers = [ ]; mainProgram = "refinery"; + license = lib.licenses.asl20; + teams = [ lib.teams.mercury ]; }; -} +}) diff --git a/pkgs/by-name/is/isle-portable/package.nix b/pkgs/by-name/is/isle-portable/package.nix index 480b71fbbe65..82349c4ab717 100644 --- a/pkgs/by-name/is/isle-portable/package.nix +++ b/pkgs/by-name/is/isle-portable/package.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; name = "isle-portable"; - version = "0-unstable-2025-10-06"; + version = "0-unstable-2025-10-18"; src = fetchFromGitHub { owner = "isledecomp"; repo = "isle-portable"; - rev = "6ea82ae144b91874bd41fe32e9ffb82507a87ef0"; - hash = "sha256-5BWMGjvAxyaI2KepbHgy9lYKorb5tWbqlZw2YkbQ7L0="; + rev = "b06f05ccf908e208bf8d139ac8adee0e6905803d"; + hash = "sha256-VOfUK2kiTEQdkhO2cVyec3nJ5V3dbqFG0HPr6dOTVMs="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/ka/kanboard/package.nix b/pkgs/by-name/ka/kanboard/package.nix index 5eb89e73d5fc..5c0ba4b216e4 100644 --- a/pkgs/by-name/ka/kanboard/package.nix +++ b/pkgs/by-name/ka/kanboard/package.nix @@ -9,13 +9,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "kanboard"; - version = "1.2.47"; + version = "1.2.48"; src = fetchFromGitHub { owner = "kanboard"; repo = "kanboard"; tag = "v${finalAttrs.version}"; - hash = "sha256-LedK1Ct4xz88r4gvN2jxOE/7Yg6rnrnjCHdhmn3tun4="; + hash = "sha256-qaVQ0urVdy5ADlLY7v9FJB8TSEuuopuX/XUYRzwbgY0="; }; dontBuild = true; diff --git a/pkgs/by-name/li/libportal/package.nix b/pkgs/by-name/li/libportal/package.nix index 86f9068dc88d..2ac26a43b3b8 100644 --- a/pkgs/by-name/li/libportal/package.nix +++ b/pkgs/by-name/li/libportal/package.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + fetchpatch2, meson, ninja, pkg-config, @@ -68,6 +69,15 @@ stdenv.mkDerivation rec { qt6Packages.qtbase ]; + patches = [ + # See https://github.com/flatpak/libportal/pull/200 + (fetchpatch2 { + name = "libportal-fix-qt6.9-private-api-usage.patch"; + url = "https://github.com/flatpak/libportal/commit/796053d2eebe4532aad6bd3fd80cdf3b197806ec.patch?full_index=1"; + hash = "sha256-TPIKKnZCcp/bmmsaNlDxAsKLTBe6BKPCTOutLjXPCHQ="; + }) + ]; + mesonFlags = [ (lib.mesonEnable "backend-gtk3" (variant == "gtk3")) (lib.mesonEnable "backend-gtk4" (variant == "gtk4")) diff --git a/pkgs/by-name/li/libucontext/package.nix b/pkgs/by-name/li/libucontext/package.nix index b7b56b4ff3f4..e4bfd406a04c 100644 --- a/pkgs/by-name/li/libucontext/package.nix +++ b/pkgs/by-name/li/libucontext/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "libucontext"; - version = "1.3.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "kaniini"; repo = "libucontext"; rev = "libucontext-${version}"; - hash = "sha256-aBmGt8O/HTWM9UJMKWz37uDLDkq1JEYTUb1SeGu9j9M="; + hash = "sha256-MQCRRyA64MEtPoUtf1tFVbhiMDc4DlepSjMEFcb/Kh4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/lo/logseq/package.nix b/pkgs/by-name/lo/logseq/package.nix index fb7785ede426..49f7a2b467a3 100644 --- a/pkgs/by-name/lo/logseq/package.nix +++ b/pkgs/by-name/lo/logseq/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + clang_20, fetchFromGitHub, fetchYarnDeps, @@ -26,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "logseq"; - version = "0.10.12"; + version = "0.10.14"; src = fetchFromGitHub { owner = "logseq"; repo = "logseq"; tag = finalAttrs.version; - hash = "sha256-SUzt4hYHE6XJOEMxFp2a0om2oVUk1MHQUteGFiM9Lkc="; + hash = "sha256-jIkAiSCYIO5w/jM/Bv/odTuluRi3W/w4tTaUTmaYvEA="; }; patches = [ @@ -98,7 +99,7 @@ stdenv.mkDerivation (finalAttrs: { yarnOfflineCacheRoot = fetchYarnDeps { name = "logseq-${finalAttrs.version}-yarn-deps-root"; inherit (finalAttrs) src; - hash = "sha256-sbC6WQLjEHIKTuejSQXplQOWZwUmBJdGXuAkilQGjYs="; + hash = "sha256-eSMtHA4Ob7EVb5qEzAj+WjGyyFjA0ZEvTsaoMx0bgjc="; }; # ./static and ./resources are combined into ./static by the build process @@ -153,6 +154,7 @@ stdenv.mkDerivation (finalAttrs: { cctools darwin.autoSignDarwinBinariesHook xcbuild + clang_20 # newer clang breaks node-addon-api on darwin ]; # we'll run the hook manually multiple times diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix index 94ab92df4a06..e80f99193251 100644 --- a/pkgs/by-name/mi/microsoft-edge/package.nix +++ b/pkgs/by-name/mi/microsoft-edge/package.nix @@ -162,11 +162,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "microsoft-edge"; - version = "141.0.3537.92"; + version = "141.0.3537.99"; src = fetchurl { url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-nN/TgbaxOrALzMB56TO9ZbxIjJPTCxxWyr2WOMvY6Kg="; + hash = "sha256-XMFAHCa7gGsSu9nFXkgvYX+CMY9nFgQEJLNKf+TodRw="; }; # With strictDeps on, some shebangs were not being patched correctly diff --git a/pkgs/by-name/mi/miniflux/package.nix b/pkgs/by-name/mi/miniflux/package.nix index 190b50d5847c..1b44b1b6e6b5 100644 --- a/pkgs/by-name/mi/miniflux/package.nix +++ b/pkgs/by-name/mi/miniflux/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "miniflux"; - version = "2.2.13"; + version = "2.2.14"; src = fetchFromGitHub { owner = "miniflux"; repo = "v2"; tag = finalAttrs.version; - hash = "sha256-u3YnABf+ik7q29JtOSlK+UlInLRq5mMlH7vIDpxOOvk="; + hash = "sha256-x6I5PMlQtsjvFtEyoaKKE6if3I0IBIyps4kPQL4c8aw="; }; - vendorHash = "sha256-JBT3BUFbPrSpkeZUoGiJJaeiSyXu8y+xcHWPNpxo3cU="; + vendorHash = "sha256-X/6YvAhIHSOS3qaoR6/pa2b7EziZzx8B+CbYrJ9/mcM="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/op/openspades/package.nix b/pkgs/by-name/op/openspades/package.nix index 13e55f7d5a91..0fe5f3581a45 100644 --- a/pkgs/by-name/op/openspades/package.nix +++ b/pkgs/by-name/op/openspades/package.nix @@ -81,6 +81,12 @@ stdenv.mkDerivation rec { postPatch = '' sed -i 's,^wget .*,cp $devPak "$PAK_NAME",' Resources/downloadpak.sh patchShebangs Resources + + substituteInPlace CMakeLists.txt \ + --replace-fail "cmake_minimum_required(VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)" \ + --replace-fail "cmake_policy(SET CMP0054 OLD)" "" + substituteInPlace Sources/AngelScript/projects/{cmake,cmake_addons}/CMakeLists.txt \ + --replace-fail "cmake_minimum_required(VERSION 2.6)" "cmake_minimum_required(VERSION 3.10)" ''; postInstall = '' diff --git a/pkgs/by-name/po/pocket-casts/package.nix b/pkgs/by-name/po/pocket-casts/package.nix index 4e1c109f8a35..a358441430f5 100644 --- a/pkgs/by-name/po/pocket-casts/package.nix +++ b/pkgs/by-name/po/pocket-casts/package.nix @@ -5,23 +5,23 @@ makeDesktopItem, copyDesktopItems, makeWrapper, - electron_36, + electron_38, }: let - electron = electron_36; + electron = electron_38; in buildNpmPackage rec { pname = "pocket-casts"; - version = "0.10.5"; + version = "0.11.0"; src = fetchFromGitHub { owner = "felicianotech"; repo = "pocket-casts-desktop-app"; rev = "v${version}"; - hash = "sha256-LB0SOAcgCZuNKOWhL9m4cDF9q+voVd+2OYVeKTq7OB0="; + hash = "sha256-ZOOJAChKCLfwI8olQ2NSk8OaoEQ9wXNS6jwotc6fdnQ="; }; - npmDepsHash = "sha256-i8IKH3sacYWLa2GtcJSoWCy5eV9vC79dP9WVN2Iy7DE="; + npmDepsHash = "sha256-hSSo2Wv5UXoowt+1JuUQPWO4vI/FiICtscIFttOgniA="; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; diff --git a/pkgs/by-name/pr/prettier/package.json b/pkgs/by-name/pr/prettier/package.json deleted file mode 100644 index 2d29e8208a94..000000000000 --- a/pkgs/by-name/pr/prettier/package.json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "name": "prettier", - "version": "3.6.2", - "description": "Prettier is an opinionated code formatter", - "bin": "./bin/prettier.cjs", - "repository": "prettier/prettier", - "funding": "https://github.com/prettier/prettier?sponsor=1", - "homepage": "https://prettier.io", - "author": "James Long", - "type": "module", - "license": "MIT", - "main": "./src/index.cjs", - "browser": "./standalone.js", - "unpkg": "./standalone.js", - "exports": { - ".": { - "types": "./src/index.d.ts", - "require": "./src/index.cjs", - "default": "./src/index.js" - }, - "./standalone": "./src/standalone.js", - "./plugins/*": "./src/plugins/*.js", - "./*": "./*" - }, - "engines": { - "node": ">=18" - }, - "files": [ - "index.js", - "standalone.js", - "src", - "bin" - ], - "dependencies": { - "@angular/compiler": "20.0.5", - "@babel/code-frame": "7.27.1", - "@babel/parser": "7.27.7", - "@babel/types": "7.27.7", - "@glimmer/syntax": "0.94.9", - "@prettier/cli": "0.9.0", - "@prettier/html-tags": "1.0.0", - "@prettier/parse-srcset": "3.1.0", - "@typescript-eslint/typescript-estree": "8.34.1", - "@typescript-eslint/visitor-keys": "8.34.1", - "acorn": "8.15.0", - "acorn-jsx": "5.3.2", - "angular-estree-parser": "12.1.0", - "angular-html-parser": "8.1.0", - "camelcase": "8.0.0", - "ci-info": "4.2.0", - "cjk-regex": "3.3.0", - "collapse-white-space": "1.0.6", - "css-units-list": "2.1.0", - "dashify": "2.0.0", - "deno-path-from-file-url": "0.0.3", - "diff": "8.0.2", - "editorconfig": "0.15.3", - "emoji-regex": "10.4.0", - "escape-string-regexp": "5.0.0", - "espree": "10.4.0", - "fast-glob": "3.3.3", - "fast-json-stable-stringify": "2.1.0", - "file-entry-cache": "10.1.1", - "find-cache-directory": "6.0.0", - "flow-parser": "0.274.1", - "get-east-asian-width": "1.3.0", - "get-stdin": "9.0.0", - "graphql": "16.11.0", - "hermes-parser": "0.29.0", - "html-element-attributes": "3.4.0", - "html-ua-styles": "0.0.8", - "ignore": "7.0.5", - "import-meta-resolve": "4.1.0", - "index-to-position": "1.1.0", - "is-es5-identifier-name": "1.0.0", - "jest-docblock": "30.0.1", - "json5": "2.2.3", - "leven": "4.0.0", - "linguist-languages": "8.0.0", - "meriyah": "6.1.3", - "micromatch": "4.0.8", - "minimist": "1.2.8", - "n-readlines": "1.0.1", - "outdent": "0.8.0", - "oxc-parser": "0.75.0", - "parse-json": "8.3.0", - "picocolors": "1.1.1", - "please-upgrade-node": "3.2.0", - "postcss": "8.5.6", - "postcss-less": "6.0.0", - "postcss-media-query-parser": "0.2.3", - "postcss-scss": "4.0.9", - "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "2.0.1", - "regexp-util": "2.0.3", - "remark-footnotes": "2.0.0", - "remark-math": "3.0.1", - "remark-parse": "8.0.3", - "sdbm": "2.0.0", - "search-closest": "1.1.0", - "smol-toml": "1.3.4", - "strip-ansi": "7.1.0", - "to-fast-properties": "4.0.0", - "trim-newlines": "5.0.0", - "typescript": "5.8.3", - "unicode-regex": "4.1.2", - "unified": "9.2.2", - "url-or-path": "2.6.1", - "vnopts": "2.0.2", - "wcwidth.js": "2.0.0", - "yaml": "1.10.2", - "yaml-unist-parser": "2.0.5" - }, - "devDependencies": { - "@babel/generator": "7.27.5", - "@eslint-react/eslint-plugin": "1.52.2", - "@eslint/js": "9.29.0", - "@stylistic/eslint-plugin": "5.0.0", - "@types/estree": "1.0.8", - "@typescript-eslint/eslint-plugin": "8.34.1", - "@typescript-eslint/parser": "8.34.1", - "browserslist": "4.25.1", - "browserslist-to-esbuild": "2.1.1", - "buffer": "6.0.3", - "c8": "10.1.3", - "cross-env": "7.0.3", - "cspell": "9.1.1", - "enquirer": "2.4.1", - "esbuild": "0.25.5", - "esbuild-plugins-node-modules-polyfill": "1.7.1", - "esbuild-visualizer": "0.7.0", - "eslint": "9.29.0", - "eslint-config-prettier": "10.1.5", - "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-compat": "6.0.2", - "eslint-plugin-jest": "29.0.1", - "eslint-plugin-n": "17.20.0", - "eslint-plugin-regexp": "2.9.0", - "eslint-plugin-simple-import-sort": "12.1.1", - "eslint-plugin-unicorn": "59.0.1", - "esm-utils": "4.4.2", - "globals": "16.2.0", - "jest": "30.0.3", - "jest-light-runner": "0.7.9", - "jest-snapshot-serializer-ansi": "2.2.1", - "jest-snapshot-serializer-raw": "2.0.0", - "jest-watch-typeahead": "3.0.1", - "knip": "5.61.2", - "magic-string": "0.30.17", - "nano-spawn": "1.0.2", - "node-style-text": "0.0.8", - "npm-run-all2": "8.0.4", - "prettier": "3.6.1", - "pretty-bytes": "7.0.0", - "pretty-ms": "9.2.0", - "rollup-plugin-license": "3.6.0", - "semver": "7.7.2", - "serialize-javascript": "6.0.2", - "snapshot-diff": "0.10.0", - "tempy": "3.1.0", - "tinybench": "4.0.1", - "ts-expect": "1.3.0" - }, - "resolutions": { - "trim": "1.0.1" - }, - "scripts": { - "prepublishOnly": "echo \"Error: must publish from dist/\" && exit 1", - "test": "jest", - "test:dev-package": "cross-env INSTALL_PACKAGE=1 yarn test", - "test:production": "cross-env NODE_ENV=production yarn test", - "test:production-standalone": "cross-env TEST_STANDALONE=1 yarn test:production", - "test:production-lint": "eslint dist/prettier --config=./scripts/bundle-eslint-config.js --quiet --format friendly", - "perf": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/prettier/bin/prettier.cjs", - "perf:inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/prettier/bin/prettier.cjs", - "perf:benchmark": "yarn perf --debug-benchmark", - "perf:compare": "./scripts/benchmark/compare.sh", - "lint": "run-p --continue-on-error \"lint:*\"", - "lint:typecheck": "tsc", - "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", - "lint:prettier": "prettier . --check --cache", - "lint:spellcheck": "cspell --no-progress --relative --dot --gitignore", - "lint:deps": "node ./scripts/check-deps.js", - "lint:knip": "knip", - "lint:format-test": "node ./scripts/format-test-lint.js", - "fix": "run-s --continue-on-error fix:eslint fix:prettier", - "fix:eslint": "yarn lint:eslint --fix", - "fix:prettier": "yarn lint:prettier --write", - "build": "node ./scripts/build/build.js", - "build:website": "node ./scripts/build-website.js", - "gen:changelog": "node ./scripts/generate-changelog.js", - "debug": "node bin/prettier.js --ignore-path=.prettierignore --plugin=./packages/plugin-oxc/index.js --plugin=./packages/plugin-hermes/index.js", - "debug:watch": "node --watch bin/prettier.js --ignore-path=.prettierignore --plugin=./packages/plugin-oxc/index.js --plugin=./packages/plugin-hermes/index.js", - "debug:inspect": "node --inspect-brk bin/prettier.js --ignore-path=.prettierignore --plugin=./packages/plugin-oxc/index.js --plugin=./packages/plugin-hermes/index.js" - }, - "c8": { - "reporter": [ - "lcov", - "text" - ], - "all": true, - "include": [ - "src/**", - "bin/**" - ], - "exclude": [ - "bin/prettier.js", - "src/standalone.js", - "src/index.cjs", - "src/document/debug.js", - "src/utils/unexpected-node-error.js", - "src/language-js/types/estree.d.ts", - "src/**/**/*.d.ts" - ] - }, - "browserslist": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "preferUnplugged": true, - "packageManager": "yarn@4.9.2" -} diff --git a/pkgs/by-name/pr/prettier/package.nix b/pkgs/by-name/pr/prettier/package.nix index 6ab2d90cfd06..c9886eb4fff8 100644 --- a/pkgs/by-name/pr/prettier/package.nix +++ b/pkgs/by-name/pr/prettier/package.nix @@ -98,12 +98,12 @@ let # Arguments plugin - : Attribute set with `.packageName` and `.outPath` defined + : Attribute set with `.pname` and `.outPath` defined */ nodeEntryPointOf = plugin: let - pluginDir = "${plugin.outPath}/lib/node_modules/${plugin.packageName}"; + pluginDir = "${plugin.outPath}/lib/node_modules/${plugin.pname}"; packageJsonAttrs = builtins.fromJSON (builtins.readFile "${pluginDir}/package.json"); @@ -118,10 +118,10 @@ let pathAbsoluteFallback else lib.warn '' - ${plugin.packageName}: error context, tried finding entry point under; + ${plugin.pname}: error context, tried finding entry point under; pathAbsoluteNaive -> ${pathAbsoluteNaive} pathAbsoluteFallback -> ${pathAbsoluteFallback} - '' throw ''${plugin.packageName}: does not provide parse-able entry point''; + '' throw ''${plugin.pname}: does not provide parse-able entry point''; in stdenv.mkDerivation (finalAttrs: { pname = "prettier"; @@ -153,10 +153,11 @@ stdenv.mkDerivation (finalAttrs: { yarn install --immutable yarn build --clean - cp --recursive dist/prettier "$out" + mkdir -p $out/lib/node_modules + cp --recursive dist/prettier "$out/lib/node_modules/prettier" makeBinaryWrapper "${lib.getExe nodejs}" "$out/bin/prettier" \ - --add-flags "$out/bin/prettier.cjs" + --add-flags "$out/lib/node_modules/prettier/bin/prettier.cjs" '' + lib.optionalString (builtins.length plugins > 0) '' wrapProgram $out/bin/prettier --add-flags "${ diff --git a/pkgs/by-name/pr/prettier/update.sh b/pkgs/by-name/pr/prettier/update.sh index 0a6ddfa94da1..623a5a8f0d63 100755 --- a/pkgs/by-name/pr/prettier/update.sh +++ b/pkgs/by-name/pr/prettier/update.sh @@ -45,3 +45,4 @@ update-source-version "${package}" "${latest_version}" echo "Update yarn offline cache hash…" nix-build --attr "${package}.src" yarn-berry-fetcher missing-hashes result/yarn.lock >"${package_dir}/missing-hashes.json" +rm -f "${package_dir}/package.json" diff --git a/pkgs/by-name/so/sourcepawn-studio/package.nix b/pkgs/by-name/so/sourcepawn-studio/package.nix index 8aa53afedefe..b2c65c0c7a50 100644 --- a/pkgs/by-name/so/sourcepawn-studio/package.nix +++ b/pkgs/by-name/so/sourcepawn-studio/package.nix @@ -8,16 +8,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "sourcepawn-studio"; - version = "8.1.7"; + version = "8.1.8"; src = fetchFromGitHub { owner = "Sarrus1"; repo = "sourcepawn-studio"; tag = "v${finalAttrs.version}"; - hash = "sha256-f7mBsBITBmgoGfiAzdQpZQnSY/9WYJ91uCJxCu755tU="; + hash = "sha256-piUgAvU5tbsYydEiF+70BAZVBK2t6SzG18MLf9cN+xM="; }; - cargoHash = "sha256-NQHetE5z8pgTtPjbc9PK3X4FEw7fL7n+ZGyzmQ5JBPM="; + cargoHash = "sha256-Cy8YPcmRWEyG6b4kouuj7KVmq2wBL8akw9v9sB30eF4="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix index 17682c637a59..a50a7d9341c7 100644 --- a/pkgs/by-name/tr/trezor-suite/package.nix +++ b/pkgs/by-name/tr/trezor-suite/package.nix @@ -10,7 +10,7 @@ let pname = "trezor-suite"; - version = "25.10.1"; + version = "25.10.2"; suffix = { @@ -24,8 +24,8 @@ let hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-dqtnWxybR+QTc1cvh72Nm7zkDh7zy6qbAh36b4IGGjARb8X/cEkGMIR2t9E/5pylW6z5gBC7ZpthvdjsiKi1dg=="; - x86_64-linux = "sha512-NBja0kDi43DQ/nJKfAR5+vwbDG/JLr1NKi2OT8CQ5PNeV7Q+4vW5NjsQ9eZyaFwDwSxMPlSzYE3nKcjW0XSiWA=="; + aarch64-linux = "sha512-0fGDyJ+l6TIaf3+tvS6ei18+JyNKqWLuH5rn1MSwdcpGW+5PeVj7nfHk0NVsKH+oeNpUQ9JXDlNKOmLH/eCxRg=="; + x86_64-linux = "sha512-0gWpCbVcD42xJCfABesX7ylJpO7AIK/vM81z+EB83taPkgJ2yJBB71NxvDlVBjTCX8Am5INWOPRnnOFGKLQ7gA=="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/by-name/ty/typst/package.nix b/pkgs/by-name/ty/typst/package.nix index dffa2109626d..5656247c28d3 100644 --- a/pkgs/by-name/ty/typst/package.nix +++ b/pkgs/by-name/ty/typst/package.nix @@ -12,16 +12,22 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "typst"; - version = "0.13.1"; + version = "0.14.0"; src = fetchFromGitHub { owner = "typst"; repo = "typst"; tag = "v${finalAttrs.version}"; - hash = "sha256-vbBwIQt4xWZaKpXgFwDsRQIQ0mmsQPRR39m8iZnnuj0="; + hash = "sha256-Sdl60VNjrSVj8YFZR/b2WOzN8taZ6wsJx5FnED9XQbw="; + leaveDotGit = true; + postFetch = '' + cd $out + git rev-parse HEAD > COMMIT + rm -rf .git + ''; }; - cargoHash = "sha256-4kVj2BODEFjLcrh5sxfcgsdLF2Zd3K1GnhA4DEz1Nl4="; + cargoHash = "sha256-6o7IbDBJU+FGYezfm37Z4eBBWa7G06vFbopI0FqJu7c="; nativeBuildInputs = [ installShellFiles @@ -35,14 +41,19 @@ rustPlatform.buildRustPackage (finalAttrs: { env = { GEN_ARTIFACTS = "artifacts"; OPENSSL_NO_VENDOR = true; - # to not have "unknown hash" in help output - TYPST_VERSION = finalAttrs.version; }; # Fix for "Found argument '--test-threads' which wasn't expected, or isn't valid in this context" postPatch = '' - substituteInPlace tests/src/tests.rs --replace-fail 'ARGS.num_threads' 'ARGS.test_threads' - substituteInPlace tests/src/args.rs --replace-fail 'num_threads' 'test_threads' + substituteInPlace tests/src/tests.rs --replace-fail \ + 'ARGS.num_threads' \ + 'ARGS.test_threads' + substituteInPlace tests/src/args.rs --replace-fail \ + 'num_threads' \ + 'test_threads' + substituteInPlace crates/typst-cli/build.rs --replace-fail \ + '"cargo:rustc-env=TYPST_COMMIT_SHA={}", typst_commit_sha()' \ + "\"cargo:rustc-env=TYPST_COMMIT_SHA={}\", \"$(cat COMMIT | cut -c1-8)\"" ''; postInstall = '' diff --git a/pkgs/by-name/uf/ufmt/package.nix b/pkgs/by-name/uf/ufmt/package.nix new file mode 100644 index 000000000000..6c1728c35114 --- /dev/null +++ b/pkgs/by-name/uf/ufmt/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication ufmt diff --git a/pkgs/by-name/we/werf/package.nix b/pkgs/by-name/we/werf/package.nix index aa6b909aa062..e907e3f79c11 100644 --- a/pkgs/by-name/we/werf/package.nix +++ b/pkgs/by-name/we/werf/package.nix @@ -10,17 +10,17 @@ }: buildGoModule (finalAttrs: { pname = "werf"; - version = "2.51.0"; + version = "2.51.1"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZvEX834FLSQ5va5hbWxDibx0D6r9RZ8y4S6kNhVUEpM="; + hash = "sha256-8tmBzwvuYv3FvSNFpu51fYZP1nqQHtfKioY6eycf7W8="; }; proxyVendor = true; - vendorHash = "sha256-qy0eDvDSvudNRSmYwl3YUOpZJ/I0GQ6ITUVQCZCG4eU="; + vendorHash = "sha256-v2/b618nKua8+y7Imyz3+expBQlIS13TWkNRMh2NCVo="; subPackages = [ "cmd/werf" ]; diff --git a/pkgs/by-name/wi/windsurf/info.json b/pkgs/by-name/wi/windsurf/info.json index c77fe388253f..803b03a35fc6 100644 --- a/pkgs/by-name/wi/windsurf/info.json +++ b/pkgs/by-name/wi/windsurf/info.json @@ -1,20 +1,20 @@ { "aarch64-darwin": { - "version": "1.12.21", - "vscodeVersion": "1.100.3", - "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/e070c40b16843043362e035ebe6169be63af2af9/Windsurf-darwin-arm64-1.12.21.zip", - "sha256": "6fefd31c02779b26938fcba1ca999311ee5ef6844e2dac81d504f2b4d6a0248e" + "version": "1.12.25", + "vscodeVersion": "1.105.0", + "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/3dde4f1e45c3c089540abe588074eb5a4fe122c3/Windsurf-darwin-arm64-1.12.25.zip", + "sha256": "9fba99838189f4ad12ec35c0f0ee97e99652b43492fb19fe17908848a5f2b13c" }, "x86_64-darwin": { - "version": "1.12.21", - "vscodeVersion": "1.100.3", - "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/e070c40b16843043362e035ebe6169be63af2af9/Windsurf-darwin-x64-1.12.21.zip", - "sha256": "eabd42f053f2d36ac1ac58c03d44cf22250d9fa064e625408db6356582a24812" + "version": "1.12.25", + "vscodeVersion": "1.105.0", + "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/3dde4f1e45c3c089540abe588074eb5a4fe122c3/Windsurf-darwin-x64-1.12.25.zip", + "sha256": "893b0cf579b4fa4354f5f014b9caf8f0e7ae9f98b9bb0d4b597e2322863eb278" }, "x86_64-linux": { - "version": "1.12.21", - "vscodeVersion": "1.100.3", - "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/e070c40b16843043362e035ebe6169be63af2af9/Windsurf-linux-x64-1.12.21.tar.gz", - "sha256": "62323e395ec5981f45ecfdbc95eb875b712365b211cdf173596eed782f66da0f" + "version": "1.12.25", + "vscodeVersion": "1.105.0", + "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/3dde4f1e45c3c089540abe588074eb5a4fe122c3/Windsurf-linux-x64-1.12.25.tar.gz", + "sha256": "c170f3249c95220b8e1b26feb4f2452d4a8be5dcbcfb2a1f1768fb0c0137101e" } } diff --git a/pkgs/by-name/wi/wireless-regdb/package.nix b/pkgs/by-name/wi/wireless-regdb/package.nix index f07d4f3e2652..a7b6b5bc2d73 100644 --- a/pkgs/by-name/wi/wireless-regdb/package.nix +++ b/pkgs/by-name/wi/wireless-regdb/package.nix @@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "Wireless regulatory database for CRDA"; - homepage = "http://wireless.kernel.org/en/developers/Regulatory/"; + homepage = "https://wireless.docs.kernel.org/en/latest/en/developers/regulatory/wireless-regdb.html"; license = licenses.isc; platforms = platforms.all; maintainers = with maintainers; [ fpletz ]; diff --git a/pkgs/by-name/zs/zsh-completion-sync/package.nix b/pkgs/by-name/zs/zsh-completion-sync/package.nix new file mode 100644 index 000000000000..d094b8964c78 --- /dev/null +++ b/pkgs/by-name/zs/zsh-completion-sync/package.nix @@ -0,0 +1,36 @@ +{ + stdenvNoCC, + lib, + fetchFromGitHub, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "zsh-completion-sync"; + version = "0.3.3"; + + src = fetchFromGitHub { + owner = "BronzeDeer"; + repo = "zsh-completion-sync"; + rev = "v${finalAttrs.version}"; + sha256 = "sha256-GTW4nLVW1/09aXNnZJuKs12CoalzWGKB79VsQ2a2Av4="; + }; + + strictDeps = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + install -D zsh-completion-sync.plugin.zsh $out/share/zsh-completion-sync/zsh-completion-sync.plugin.zsh + ''; + + meta = { + description = "Automatically loads completions added dynamically to FPATH or XDG_DATA_DIRS"; + homepage = "https://github.com/BronzeDeer/zsh-completion-sync"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + ambroisie + BronzeDeer + ]; + }; +}) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index b3ef73804311..04deb32b6a3a 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -4,6 +4,8 @@ lib, config, python, + # Allow passing in a custom stdenv to buildPython*.override + stdenv, wrapPython, unzip, ensureNewerSourcesForZipFilesHook, @@ -192,9 +194,6 @@ in doCheck ? true, - # Allow passing in a custom stdenv to buildPython* - stdenv ? python.stdenv, - ... }@attrs: diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index 121e4ead8987..19a46dc7ee74 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -45,21 +45,44 @@ let override = lib.mirrorFunctionArgs f.override (fdrv: makeOverridablePythonPackage (f.override fdrv)); }; + overrideStdenvCompat = + f: + lib.setFunctionArgs ( + args: + if !(lib.isFunction args) && (args ? stdenv) then + lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2511) '' + Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated. You should use their `.override` function instead, e.g: + buildPythonPackage.override { stdenv = customStdenv; } { } + '' (f.override { stdenv = args.stdenv; } args) + else + f args + ) (removeAttrs (lib.functionArgs f) [ "stdenv" ]) + // { + # Intentionally drop the effect of overrideStdenvCompat when calling `buildPython*.override`. + inherit (f) override; + }; + mkPythonDerivation = if python.isPy3k then ./mk-python-derivation.nix else ./python2/mk-python-derivation.nix; buildPythonPackage = makeOverridablePythonPackage ( - callPackage mkPythonDerivation { - inherit namePrefix; # We want Python libraries to be named like e.g. "python3.6-${name}" - inherit toPythonModule; # Libraries provide modules - } + overrideStdenvCompat ( + callPackage mkPythonDerivation { + inherit namePrefix; # We want Python libraries to be named like e.g. "python3.6-${name}" + inherit toPythonModule; # Libraries provide modules + inherit (python) stdenv; + } + ) ); buildPythonApplication = makeOverridablePythonPackage ( - callPackage mkPythonDerivation { - namePrefix = ""; # Python applications should not have any prefix - toPythonModule = x: x; # Application does not provide modules. - } + overrideStdenvCompat ( + callPackage mkPythonDerivation { + namePrefix = ""; # Python applications should not have any prefix + toPythonModule = x: x; # Application does not provide modules. + inherit (python) stdenv; + } + ) ); # Check whether a derivation provides a Python module. diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index b27d3e92eb24..4bdda1506290 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -4,6 +4,8 @@ lib, config, python, + # Allow passing in a custom stdenv to buildPython*.override + stdenv, wrapPython, unzip, ensureNewerSourcesForZipFilesHook, @@ -101,8 +103,6 @@ }@attrs: let - inherit (python) stdenv; - withDistOutput = lib.elem format [ "pyproject" "setuptools" diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index e9f72aa92c71..1835b5af4d80 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.40.56"; + version = "1.40.58"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-5WRFI+/39Qut5en0okVEtA+EnpBRlJ41ASA6IGJ/QmM="; + hash = "sha256-sFNouS4oNbynsBXznAD9YcNcsSerN+lTYdx6qZN7lo4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index 7857f852ee6d..46371954ae06 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.40.56"; + version = "1.40.58"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-qpU1uKD3E1sGJQTjnny8g/s/ALLU3CurphcENrSUtpY="; + hash = "sha256-wnA+zO6JYraxCYF7Em4cSFM1pn7+V0uZ8uMMgsDyWJY="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/dashscope/default.nix b/pkgs/development/python-modules/dashscope/default.nix index 97a7ae8a5085..8739c4c9cc25 100644 --- a/pkgs/development/python-modules/dashscope/default.nix +++ b/pkgs/development/python-modules/dashscope/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "dashscope"; - version = "1.24.6"; + version = "1.24.7"; pyproject = true; src = fetchFromGitHub { owner = "dashscope"; repo = "dashscope-sdk-python"; tag = "v${version}"; - hash = "sha256-kHvNg8yPlZyAr7Qgncv+axgG9sOKTjvxYnRojO5ih1g="; + hash = "sha256-Hss6kCE8lkstRZlFX9V+q91N2Zcp0aVbx89WpBR2uC4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index c6ee6dafdf6b..87c473b3b94f 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "iamdata"; - version = "0.1.202510221"; + version = "0.1.202510231"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${version}"; - hash = "sha256-jFx4B9RQ0tcYySCRdaClVN4tovLA4pPIhJvj7Ld5J1A="; + hash = "sha256-pTe0WN4PXkVd8P3y0yq/mV1tRY1g9WO+uSdV9DaV/xo="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index cda7504ab743..757afb5a46bf 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -50,8 +50,8 @@ in "sha256-hY5aShO9E5zMwPSUUucjgG2Bod0lAm51BZyLP/1JLgY="; mypy-boto3-account = - buildMypyBoto3Package "account" "1.40.0" - "sha256-isNBcceGQXkVPZQ9XNVGt9eCHxUidaHVJbuPmSjYOcc="; + buildMypyBoto3Package "account" "1.40.58" + "sha256-ZZe7b7krR5JrDWUS+YZcZGbFrRemvX7Ohz8xWPtVGDQ="; mypy-boto3-acm = buildMypyBoto3Package "acm" "1.40.0" @@ -98,8 +98,8 @@ in "sha256-Unxc01GzvKZGiKlW3o3ZrEZXthJPlMY1tu0vnUgYmq4="; mypy-boto3-appfabric = - buildMypyBoto3Package "appfabric" "1.40.15" - "sha256-wLCPBODUaTw6VdnbZ0bD9BzIVTPuGpVlZfeGBZY95B8="; + buildMypyBoto3Package "appfabric" "1.40.57" + "sha256-X7RcwPwiYMSaj7QN8NHekxaLyzG7A+LcvJSElkeKZm0="; mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.40.17" @@ -110,8 +110,8 @@ in "sha256-JYfNdS/e3ftDshlXoVVTfw2+zQUuGy+rpdM0dIrD7dM="; mypy-boto3-application-autoscaling = - buildMypyBoto3Package "application-autoscaling" "1.40.0" - "sha256-XMvGnZjdb8sQ8QES1CkZD7VkditEdudUGPVaYwF25Fk="; + buildMypyBoto3Package "application-autoscaling" "1.40.58" + "sha256-94en37HywYX3u+7hR13d0wLmtjc1HyHclMMQotzL2dQ="; mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.40.55" @@ -150,8 +150,8 @@ in "sha256-p8jnTJigD8QuLe3vjZwE7ZyGgBblpSdM0II0Cr/xFS8="; mypy-boto3-autoscaling = - buildMypyBoto3Package "autoscaling" "1.40.27" - "sha256-lnejEICkgHqQWfiN3LyNIHzDjfpgP2GlAr6acRP/wFo="; + buildMypyBoto3Package "autoscaling" "1.40.57" + "sha256-haVFlPVqDuB6ZjhQ7ZOF57jfC8mNGXStDhzuMnObeiw="; mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.40.54" @@ -182,8 +182,8 @@ in "sha256-UzM2sg9jxU/kU6kmMizVJwYLqq+nrZi+D6GLHYPdmJQ="; mypy-boto3-ce = - buildMypyBoto3Package "ce" "1.40.40" - "sha256-ygUnU/oDBQPqmRfZ6jKMnvVXdORQkBuC57UyXjV6Xi0="; + buildMypyBoto3Package "ce" "1.40.57" + "sha256-CkrC654ywHbtXrfbACWlJlQzIi7DeftaKmk/uLyIML4="; mypy-boto3-chime = buildMypyBoto3Package "chime" "1.40.19" @@ -206,8 +206,8 @@ in "sha256-knAtab953lppnI8SioY6V3nMN6pt/l5p4XEsE3CpDGc="; mypy-boto3-chime-sdk-voice = - buildMypyBoto3Package "chime-sdk-voice" "1.40.42" - "sha256-axa2niA9HlLpV9Tf01p0fG2GhK2lNlCM/O8LLPHQVRc="; + buildMypyBoto3Package "chime-sdk-voice" "1.40.58" + "sha256-yJHnaO8KvjYYWiJF8c4lrnf6Px2FyjSsMZsSjVFdkE0="; mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.40.45" @@ -226,20 +226,20 @@ in "sha256-fFnHwgB8r239cpVnWSfeiGO1MNOxkXn9MNMUA5ohm04="; mypy-boto3-cloudformation = - buildMypyBoto3Package "cloudformation" "1.40.44" - "sha256-PYL1UEOCyGrRlaG4CiqC9zWHw34bY2hk67hd1DvXmls="; + buildMypyBoto3Package "cloudformation" "1.40.57" + "sha256-/JUfWJH6NFtSVpc/OKhDbYCkKJxcYh1S/py3v2Q0i34="; mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.40.55" "sha256-3md69cxJv7R4cXqznJtz4+r6MvFw22EckaYzCfBJS28="; mypy-boto3-cloudhsm = - buildMypyBoto3Package "cloudhsm" "1.40.15" - "sha256-qr7Okanc/7cgrb31a6mxb23S8nvw3iztCcbGNHcMIhk="; + buildMypyBoto3Package "cloudhsm" "1.40.57" + "sha256-XlV7rtzGlcL4iTrJmADZQdlvtAJFBDEUlP1kkeI9kQU="; mypy-boto3-cloudhsmv2 = - buildMypyBoto3Package "cloudhsmv2" "1.40.20" - "sha256-t5daUK4Nv1R+9uvRYdbOvDWP77A1GhH34w4XkCdIkb0="; + buildMypyBoto3Package "cloudhsmv2" "1.40.57" + "sha256-T9ek0te0KDC5Z3kdsprbEm9LvmlfbSW7Nnoi5s4hGWg="; mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.40.17" @@ -254,8 +254,8 @@ in "sha256-aV+fpcURVMZv7jOsZ/LF6edo4doNZPtCwdG4YEGKMYc="; mypy-boto3-cloudtrail-data = - buildMypyBoto3Package "cloudtrail-data" "1.40.17" - "sha256-ghgArlI9Z/rk9kM6k6b+0x/Fugp7q25+uV+Y2dZFtSU="; + buildMypyBoto3Package "cloudtrail-data" "1.40.58" + "sha256-ywvJwaPTrQIoZ6xrQtK1/7FFVMM59ls1HOCUFSA9Pv0="; mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.40.38" @@ -266,8 +266,8 @@ in "sha256-XqaCY0uawL5BKmcTl1D3uz1EgsKn3wtph036TX07/Fg="; mypy-boto3-codebuild = - buildMypyBoto3Package "codebuild" "1.40.8" - "sha256-D3uNdpK45WYJfwf1mr12+e+7uw0dj7ChCmSDel0cNw4="; + buildMypyBoto3Package "codebuild" "1.40.58" + "sha256-IluCF13Ch70pP6vikKKgr0eN/SeiFLb8Cnxio6S58AU="; mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.40.0" @@ -282,8 +282,8 @@ in "sha256-1YBZlgDBAmYmkSgI0BGWAlyDGwSEjISd+NDqk2PPlbI="; mypy-boto3-codeguru-reviewer = - buildMypyBoto3Package "codeguru-reviewer" "1.40.20" - "sha256-ijOEA6FwLfHIUa+Tt6OQek7oJ4bJf4tRG+Q2QeIh1Rk="; + buildMypyBoto3Package "codeguru-reviewer" "1.40.57" + "sha256-0gWiYnCPGcCc4CWDKOrlQxYjnGzB+rC8bWPBth4W5ZQ="; mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.40.17" @@ -302,16 +302,16 @@ in "sha256-B9Aq+hh9BOzCIYMkS21IZYb3tNCnKnV2OpSIo48aeJM="; mypy-boto3-codestar-connections = - buildMypyBoto3Package "codestar-connections" "1.40.18" - "sha256-NNVGx+fN0apfT84GbtQjK6YX30bIomIPUaK9RFOsrVQ="; + buildMypyBoto3Package "codestar-connections" "1.40.58" + "sha256-cAx1/vNghHwT3nx9ExfLw9jS/T6TqVkVhmXZrqI+OHQ="; mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.40.55" "sha256-MWnreUSpk4QdquRu1X4/HL9imPSYgl4fJz1BxJvcyPk="; mypy-boto3-cognito-identity = - buildMypyBoto3Package "cognito-identity" "1.40.15" - "sha256-dcRx6MHTZl2tdroNAqvkTtj74tbMULAlw5pkWs57NOk="; + buildMypyBoto3Package "cognito-identity" "1.40.57" + "sha256-IvcJJ7cUxoykNC7fryAtZ3w1WMypqj0jgBUoo/rGA7Q="; mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.40.14" @@ -326,24 +326,24 @@ in "sha256-8lrg38NrNjdyZ/8qKsD1glKqnzrwPvkQ1RAk3qiCi3Q="; mypy-boto3-comprehendmedical = - buildMypyBoto3Package "comprehendmedical" "1.40.18" - "sha256-z/pN67x0vam1aGd+24ZJHSdOp04A/Di179ymtUw/61Q="; + buildMypyBoto3Package "comprehendmedical" "1.40.57" + "sha256-P/frAydh31frX9xNis2vyi2XbswpcA0BJXW8TJKncFg="; mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.40.0" "sha256-CSfC9Kg73LydRU5aH4kqdc0pJWqEf98ebu6FOBE7oVU="; mypy-boto3-config = - buildMypyBoto3Package "config" "1.40.35" - "sha256-MIxmEy+/mlDwWKpHrb0jo8Yu1C7+xP6JRNvUeDmlfZ0="; + buildMypyBoto3Package "config" "1.40.58" + "sha256-Nan0PBHJ2VtjEhORN0OdUC9TCuCNtOpICQ8WRHn6/YI="; mypy-boto3-connect = - buildMypyBoto3Package "connect" "1.40.52" - "sha256-Y4inB+VA4aWEsef389vf2K0K6uvGxsAugtetxnKCSfU="; + buildMypyBoto3Package "connect" "1.40.57" + "sha256-bLIiGOeSI9DCIxqUQx6+g5wnidyceT7lxbj5i0rhpdg="; mypy-boto3-connect-contact-lens = - buildMypyBoto3Package "connect-contact-lens" "1.40.0" - "sha256-sRuNGX0Xy9sQmHpWZtjbMYTSFgAzTAuNke4uHINz9q8="; + buildMypyBoto3Package "connect-contact-lens" "1.40.58" + "sha256-yP3OeePZc8Fb257lzsB8rQsahaz5/zqiH+XAQUUf9Ls="; mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.40.0" @@ -354,16 +354,16 @@ in "sha256-T4E5rin+Y0DJWARRqzA7agLwcF11v4CGy/Fe/x/F7vY="; mypy-boto3-connectparticipant = - buildMypyBoto3Package "connectparticipant" "1.40.18" - "sha256-FT+D1wlBL1dYus9PuLPxIxhj17WCg1nYqzT3dUn32+g="; + buildMypyBoto3Package "connectparticipant" "1.40.57" + "sha256-BiKly8tW0MFacKF8mG80xsITdxegCcG3sKal7axoGf0="; mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.40.0" "sha256-boRrDWiYtyKWUimJ7yb3uYPGSB/tmI2sEXNFacAPDic="; mypy-boto3-cur = - buildMypyBoto3Package "cur" "1.40.17" - "sha256-QRwEUkDj7S0/VuQrcwuPWqKnzXEN6NYUSakhT+9T2wk="; + buildMypyBoto3Package "cur" "1.40.58" + "sha256-XL3m3E1aFsbSVOvKg6bydMYLWaGRYL0RxcZA04Z9T0A="; mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.40.54" @@ -394,40 +394,40 @@ in "sha256-QDNLIgNekgueP8XNyBbRpT1NbD+ZwxQ2OzWU4aF9/GM="; mypy-boto3-devicefarm = - buildMypyBoto3Package "devicefarm" "1.40.0" - "sha256-6v65flOExW7V8UfoyPaBcUQDYjhJ2jyuQpXMZW+ajCI="; + buildMypyBoto3Package "devicefarm" "1.40.57" + "sha256-qekCLt6+vbE6AKkuNG6x/0m72NDOK2v8uCAP6gYWHTY="; mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.40.17" "sha256-cDV8kPjBB3Mu5cqsAVsRjTk6KMozwEMHx/Fu0SRp5EQ="; mypy-boto3-directconnect = - buildMypyBoto3Package "directconnect" "1.40.10" - "sha256-ZM9nCSSzMmRjyxnypQcaORwYXiXMXz25Gw2dJlOVcc0="; + buildMypyBoto3Package "directconnect" "1.40.57" + "sha256-tmPAUD/9Y/HxJHzYyiRd+U/0emjnaz8LGRy4y9VeIpk="; mypy-boto3-discovery = - buildMypyBoto3Package "discovery" "1.40.19" - "sha256-dq0rCFW8Cc9nQkRNNYaZs092nOjLqdob7rziv/WDNfo="; + buildMypyBoto3Package "discovery" "1.40.58" + "sha256-Agrg2tHTdQfvdDeTEE054rMzKKwEiFWdcLjMFrItn9U="; mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.40.54" "sha256-cCVm6rzKk9TX7/LamWAPgN/nGWzwlbx/e+v/rDeAPRY="; mypy-boto3-dms = - buildMypyBoto3Package "dms" "1.40.43" - "sha256-Is9yMouO7WxY/P7ViK+s8Y1q8Y7KvTvY7X/H4ndeG6s="; + buildMypyBoto3Package "dms" "1.40.58" + "sha256-wGVRK+B6DoxsK++kNZEWQdWozrpPHr7jGOzq3D52xE4="; mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.40.53" "sha256-yHfHczjN4v+5IoQy9WuSEGWnhKiF70xJxsxiYHj/s+Y="; mypy-boto3-docdb-elastic = - buildMypyBoto3Package "docdb-elastic" "1.40.0" - "sha256-TKVaVd92g+2bV5NNRnLuVZQw0lZycTyeyjB6UgV+iHc="; + buildMypyBoto3Package "docdb-elastic" "1.40.58" + "sha256-km3Ehr7fWD0uXhLAa/I/5shLYcCFk8zoZLSc6XlTJMs="; mypy-boto3-drs = - buildMypyBoto3Package "drs" "1.40.0" - "sha256-dtw54zAzP4HddWx0kZr7SzxmWiKCiiP6g4+aDRRid2k="; + buildMypyBoto3Package "drs" "1.40.58" + "sha256-tT1e3Z4awdzkq63uP99dhKQruzr6u3gMSRI8xsxxPCY="; mypy-boto3-ds = buildMypyBoto3Package "ds" "1.40.55" @@ -442,24 +442,24 @@ in "sha256-TgENR4bY5AHy0hqJkTq63jApASafB6agMPFPYDlzJ7A="; mypy-boto3-ebs = - buildMypyBoto3Package "ebs" "1.40.15" - "sha256-jtkx0kbI7SB74U5uWyGdVhKMlsy/T82lz3P89k8LMPA="; + buildMypyBoto3Package "ebs" "1.40.58" + "sha256-eKwS+FXicnxiHr2aTDG+ih6kDxQ24NLCkI9XPt2LjvQ="; mypy-boto3-ec2 = - buildMypyBoto3Package "ec2" "1.40.55" - "sha256-jMHwCR2d2aIiVyzdB/g/XdW53XR4Kqd0XQAF87CEkSo="; + buildMypyBoto3Package "ec2" "1.40.57" + "sha256-xwovEWhQ6Zo2cLB1OGIz3128wkjwz0LF6XgIaJiSx7o="; mypy-boto3-ec2-instance-connect = - buildMypyBoto3Package "ec2-instance-connect" "1.40.20" - "sha256-x5DKz6GllTWBgkzFPnZehs7Fh3YgWGZlnJG/chPqds4="; + buildMypyBoto3Package "ec2-instance-connect" "1.40.57" + "sha256-NoZvHoanGVZhfvYyVTKcpF8RTd1ZZ2BuYCQ+QG6xPy0="; mypy-boto3-ecr = - buildMypyBoto3Package "ecr" "1.40.0" - "sha256-dzPkK8ipL/2Tvr8DQ68TP9UmmP/r0yPYL/3nVc4oaH8="; + buildMypyBoto3Package "ecr" "1.40.58" + "sha256-MZGkIOxN8ey10r3CpN4ul+mD3/rpxOE4wqpNKDkSqYU="; mypy-boto3-ecr-public = - buildMypyBoto3Package "ecr-public" "1.40.15" - "sha256-mkaBmHn3LsOHnH4kTWkGbCsL4w/TrPBt/pBXnj+1Ai8="; + buildMypyBoto3Package "ecr-public" "1.40.58" + "sha256-gyNKT8yjYFgDgEvBgUIvC0iVKIOLaCbLWcF9eYzQWUQ="; mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.40.43" @@ -550,8 +550,8 @@ in "sha256-PMEWvzCP8gTKwsV9oIjqIB7jIMDZDjLqdPO/G7nnfDc="; mypy-boto3-forecastquery = - buildMypyBoto3Package "forecastquery" "1.40.15" - "sha256-QPQz6ou7edU28tUPuoFq4v3Hnz/uASm46c7TMSOy+WY="; + buildMypyBoto3Package "forecastquery" "1.40.57" + "sha256-isp1Xxwze6EL2Be4I881yiGnQh9zcXVPXZ768Cz/Y68="; mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.40.19" @@ -601,12 +601,12 @@ in "sha256-c/QCgM8mWIAe76C7e3+g9z3i/ukvOz9QGungofo2hY8="; mypy-boto3-healthlake = - buildMypyBoto3Package "healthlake" "1.40.20" - "sha256-CzEuUubTbrx+BsfOfRgqjykewZfsnMqRNAqWalAfS9o="; + buildMypyBoto3Package "healthlake" "1.40.58" + "sha256-7ZJCrUmzKbFx9Aa4liqUCdNlZGS6fv0FHtifdm3vofw="; mypy-boto3-iam = - buildMypyBoto3Package "iam" "1.40.0" - "sha256-uQCsVXN1Qo8LvDeqJP3SkB4ttwGK5E4Kr5nsD4SijUQ="; + buildMypyBoto3Package "iam" "1.40.57" + "sha256-2ILXHYhDkrjE4wDTrYcvdPXiTXTAFKT+2R8dLB6KZMc="; mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.40.54" @@ -625,24 +625,24 @@ in "sha256-9+HawjY2kx6JE+UABDKApvTYLzQqx/eBQ3ORQ5M0fq0="; mypy-boto3-inspector2 = - buildMypyBoto3Package "inspector2" "1.40.6" - "sha256-A8fOl2LR+moh+/OAjPY3iufppLaFSxHlwMjxzZbyfOU="; + buildMypyBoto3Package "inspector2" "1.40.57" + "sha256-SPXw1zpz4Dug1fcjVUO1Wis20kTAZeEmpyopd2vDGAg="; mypy-boto3-internetmonitor = - buildMypyBoto3Package "internetmonitor" "1.40.0" - "sha256-mZfvKN+x91U1yjBwo4pKZN6jCnUMbl8SnwWF3IMx+ko="; + buildMypyBoto3Package "internetmonitor" "1.40.58" + "sha256-mj2Pf4PNgBS0sBbTkKuszIcaBHf5kTwNzR3BYgoI5JM="; mypy-boto3-iot = - buildMypyBoto3Package "iot" "1.40.0" - "sha256-0AUK0HaqmoLVbbLDcsagUZX7KkFF9zU7obO0BmcK8+s="; + buildMypyBoto3Package "iot" "1.40.57" + "sha256-BZHAr9Qja9pNVrNd7dDmc/+bKfqmzAUJPoPJUMgJLk0="; mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.40.55" "sha256-bMEIZVMtrTmhfJTyVdpeBcGOPbIEwgEWGWYb9coHDPk="; mypy-boto3-iot-jobs-data = - buildMypyBoto3Package "iot-jobs-data" "1.40.0" - "sha256-NH8dQFWdA5jiZnCFGcfDV1RI/fULth9kI1kNlmV2z8Y="; + buildMypyBoto3Package "iot-jobs-data" "1.40.58" + "sha256-Pj9T478mOGNl9aEIa6AtrDpEJe+8Ygkl2oQ/Lr4trEM="; mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.35.93" @@ -653,16 +653,16 @@ in "sha256-LFuz5/nCZGpSfgqyswxn80VzxXsqzZlBFqPtPJ8bzgo="; mypy-boto3-iotanalytics = - buildMypyBoto3Package "iotanalytics" "1.40.16" - "sha256-kLN+S5x9XMO8TovR57hwXnqQvC6K+JwHncgmrLFOpFY="; + buildMypyBoto3Package "iotanalytics" "1.40.57" + "sha256-uMwtG8llpdxfUCF6Lro1Y7MnozX18kXacZJe91i5rjI="; mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.40.55" "sha256-/W7eNwqtW8gJNJ/Z1W5jDo/wQXcbXOXfJYG+DaMR1QE="; mypy-boto3-iotevents = - buildMypyBoto3Package "iotevents" "1.40.15" - "sha256-Q1s5t45DKkIeolXDh6fhoiYVomIdFTTZyhiGkSrlNgo="; + buildMypyBoto3Package "iotevents" "1.40.58" + "sha256-j/LzJRyYqyThvR4MzPrSVJvlpHDhFkb4Hm5TjXdeWqY="; mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.40.15" @@ -673,16 +673,16 @@ in "sha256-SeJi6Z/TJAiqL6+21CMP6iZF/Skv1hnmldPrJpOHUfo="; mypy-boto3-iotfleetwise = - buildMypyBoto3Package "iotfleetwise" "1.40.0" - "sha256-PER1D68w6wBvHUH5CGEn4H1zku92vhcwWDFRpoXZlmg="; + buildMypyBoto3Package "iotfleetwise" "1.40.57" + "sha256-tjXQosCpHEcQpE/xqOxwTS+phiDyhFJy+54AqOg0L4s="; mypy-boto3-iotsecuretunneling = - buildMypyBoto3Package "iotsecuretunneling" "1.40.18" - "sha256-AS7G6I5JR2tkq1m+cx+9PFaIhe7QwWH0DF/7vuIY+zQ="; + buildMypyBoto3Package "iotsecuretunneling" "1.40.57" + "sha256-Hr1pVnskDI8b7R8mDCATnCS/nnag/Ac6A1tnQvXt/KU="; mypy-boto3-iotsitewise = - buildMypyBoto3Package "iotsitewise" "1.40.26" - "sha256-nGCezdRTJ4uq7aSd0mGSOvk+/Rn4KKeCAc++KgPxRAg="; + buildMypyBoto3Package "iotsitewise" "1.40.57" + "sha256-bPzbWMPCtXFvtOqIUXQkFUIThq9Qy5PPPlLBgz6+VgY="; mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.40.55" @@ -705,8 +705,8 @@ in "sha256-gumv3tmf4bQa6HvlTAYh7yK0cE1jn3Gprt9l1iHgXqo="; mypy-boto3-ivschat = - buildMypyBoto3Package "ivschat" "1.40.0" - "sha256-mtWPF8wmFGLC0PqkKX/UiYT6/VG7FfgrbsqTqRIOgsA="; + buildMypyBoto3Package "ivschat" "1.40.57" + "sha256-DBh1NtsQTcmYUXEGwlHwjIwJt1NMh6+7h46uehwH4Jc="; mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.40.54" @@ -733,8 +733,8 @@ in "sha256-T3T3FeI6jc4GK0D2pPL/ECPOxvQbRSHwvBVnmIOn5o4="; mypy-boto3-kinesis-video-archived-media = - buildMypyBoto3Package "kinesis-video-archived-media" "1.40.17" - "sha256-wKaV5LpNWviCW+R1kiEEUdi91BE42Q5/fdq7FpqkGaM="; + buildMypyBoto3Package "kinesis-video-archived-media" "1.40.58" + "sha256-mPmbOx2SZNvglOqTuo/d3F0CMh5Syka/WYpU4Imvbjg="; mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.40.55" @@ -745,16 +745,16 @@ in "sha256-3XwZsjSiQmed7Msz2HHP796iY9x2nSyd6aMglkv3Lfo="; mypy-boto3-kinesis-video-webrtc-storage = - buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.40.0" - "sha256-cnUWkJfPyd7G9ClFFWNXHFwuSqmTcUHwluPBeF4qO8o="; + buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.40.58" + "sha256-+nZT13/2ejl3kUvOyVdX0CWwxKqkGvhvXBAhhezhmXI="; mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.40.17" "sha256-OU9dcphpwEqoTDleItqOluVxpu73KbWUU3bwflXKO9M="; mypy-boto3-kinesisanalyticsv2 = - buildMypyBoto3Package "kinesisanalyticsv2" "1.40.14" - "sha256-rb9scmO7uC9WmimwoCkWyM11yfOSZHQgQR2w1PkRRo0="; + buildMypyBoto3Package "kinesisanalyticsv2" "1.40.57" + "sha256-82KGarHSOh1YMCqtWLoyi/89vYbRoTbcbhvpaSUg4pU="; mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.40.19" @@ -769,8 +769,8 @@ in "sha256-IcUBufhnr3GfgJ0FG/JTwo0EgNZBtgKvTd6TtyttWRQ="; mypy-boto3-lambda = - buildMypyBoto3Package "lambda" "1.40.50" - "sha256-pwngrGlAeDqtCP9c+Yx4miFYQLqxfkaMpeIjBa0K6gU="; + buildMypyBoto3Package "lambda" "1.40.58" + "sha256-/hAC13DhFceFPsSXdosY2lKO/ThElyB/xegyV+T9hXM="; mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.40.54" @@ -781,8 +781,8 @@ in "sha256-Bt0APaVZxgwASjYTMUctwbsb7u2ZFOf5a3UlComKWxs="; mypy-boto3-lexv2-models = - buildMypyBoto3Package "lexv2-models" "1.40.0" - "sha256-FgQalWvHO0Zzisw9CLKIKeNchDh5DMHjos2OIyXto40="; + buildMypyBoto3Package "lexv2-models" "1.40.57" + "sha256-iuyQjOLs2xMNfgdJCkloVdwEsgPe4UaQwAdl5tGs6OY="; mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.40.54" @@ -833,16 +833,16 @@ in "sha256-3LzaMWu1lPzmKx8+Knc9OdwgElOMumhkt9iEn1gShCY="; mypy-boto3-macie2 = - buildMypyBoto3Package "macie2" "1.40.16" - "sha256-JKGY573KRt5XWgLVcNvlNgTdFYHC7Qj/YNcdODmUF00="; + buildMypyBoto3Package "macie2" "1.40.58" + "sha256-Fp2Uu6kufalQEePs8y5DhIaWhsU/GVa723G5TpFAWIY="; mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.40.15" "sha256-YBNBXwG0T7a805OPXYmCvqh8wHubtMG3QW38/eCCuB4="; mypy-boto3-managedblockchain-query = - buildMypyBoto3Package "managedblockchain-query" "1.40.0" - "sha256-lw7LeVq/o8RFK9P62vQ7iR+jZfH/OOZY2AirYqDltSw="; + buildMypyBoto3Package "managedblockchain-query" "1.40.58" + "sha256-YC5sNBnH5wS6JSCfPK7cp08WXgBLaDypDRBALMciLQQ="; mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.40.55" @@ -853,8 +853,8 @@ in "sha256-pagUH5QLYtbx88TE9470AJOHxG29ALGxZioROq3rqTE="; mypy-boto3-marketplacecommerceanalytics = - buildMypyBoto3Package "marketplacecommerceanalytics" "1.40.16" - "sha256-7gZOd0TBAWyyY7g85UXAjp4miV08qfB20B6YQww360w="; + buildMypyBoto3Package "marketplacecommerceanalytics" "1.40.58" + "sha256-KPHuiCiseplHyGWKyh3xFSIj+Qet9hsqSva6rmHsFyA="; mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.40.55" @@ -865,8 +865,8 @@ in "sha256-oxrbkvlpIII2Ib8hMF0UnZ6PNFYnDHceA6V9M1thF18="; mypy-boto3-medialive = - buildMypyBoto3Package "medialive" "1.40.45" - "sha256-rF8r53gdOYPeFJ5VqUWLiQ9rNaUAIb1tS5E9TSHgrms="; + buildMypyBoto3Package "medialive" "1.40.57" + "sha256-aKl6hRCX4XskRVgRlzPKmKKMWqXAwGmetvY7z34Iam4="; mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.40.15" @@ -889,8 +889,8 @@ in "sha256-hkzc8MTCssJPCjME7CMCVewYgNf9Gz/c68hAC3fuKnE="; mypy-boto3-mediatailor = - buildMypyBoto3Package "mediatailor" "1.40.42" - "sha256-wTzLtvXBVTEs1ywAw8sL92Xzyo9TOscaIptPE1oHrUg="; + buildMypyBoto3Package "mediatailor" "1.40.58" + "sha256-uluvMcbKZz3KA0V7KMEGbRr9CVYIPDhGTTY5oJHjHic="; mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.40.54" @@ -905,12 +905,12 @@ in "sha256-idAuSb9+u1KVh13BBNSgXYkqKHZHcSfQ3rVxiDBLdVU="; mypy-boto3-mgh = - buildMypyBoto3Package "mgh" "1.40.18" - "sha256-6PlBNNCfxt4MLqmDPM6icIyutPGyXd54AWKHxCTQ024="; + buildMypyBoto3Package "mgh" "1.40.58" + "sha256-xQLJrW35xDhr8leBNsKzqfg4B5DQKH8adV5sjIR63kI="; mypy-boto3-mgn = - buildMypyBoto3Package "mgn" "1.40.0" - "sha256-XyB7/8zj4pU/+cxqhEf2WMoBoo/J12lOrlL0WD2Nhic="; + buildMypyBoto3Package "mgn" "1.40.58" + "sha256-cZzoyjZ3fLtqta684chs4rcACPS19Q1mV1GTaNeRe20="; mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.40.55" @@ -937,16 +937,16 @@ in "sha256-+VSk5ytyDwIkg8Ur15vjBmURPwXvZkRT5UEKPTWNgO8="; mypy-boto3-mwaa = - buildMypyBoto3Package "mwaa" "1.40.0" - "sha256-w/km0Eq/rEX182tDtxVsFCm3bK2pUr1Fh6ZnsX6thAI="; + buildMypyBoto3Package "mwaa" "1.40.57" + "sha256-84N2KuK/XAPJqnmeDuWNpC5X6NRodH0luXfP+ZjH0pQ="; mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.40.38" "sha256-3vbUWdYw7jqTM5TPM3btPROlXPW1xR+3cI29ImVrt1w="; mypy-boto3-neptunedata = - buildMypyBoto3Package "neptunedata" "1.40.0" - "sha256-5aD/9ACgD/76bPpbZlqHXn0biTxr9wyiLpTyIdxMKYs="; + buildMypyBoto3Package "neptunedata" "1.40.58" + "sha256-8Lxw5GiiQYiGZJkitfEnPdRGw4lOSSF88s8y7hBWnF4="; mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.40.55" @@ -961,20 +961,20 @@ in "sha256-gs9eGyRaZN7Fsl0D5fSqtTiYZ+Exp0s8QW/X8ZR7guA="; mypy-boto3-oam = - buildMypyBoto3Package "oam" "1.40.0" - "sha256-Db3tb9qhUNtdqKVVgq2Z80wVWCA9g7B8YpqR1FmgleQ="; + buildMypyBoto3Package "oam" "1.40.57" + "sha256-jobSOTxwJ6mzhr4O+opLrCvGuq4MMRe+zjhHWpq4JsA="; mypy-boto3-omics = - buildMypyBoto3Package "omics" "1.40.20" - "sha256-I53YcVk2rMNP+4WrD+6kvo85OhKrvJoE2YR3UBeIgEY="; + buildMypyBoto3Package "omics" "1.40.58" + "sha256-weugGpAmdljYGGImQm7Ic46FH/H1RrQqe0Vkc0sWhTQ="; mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.40.0" "sha256-DduRVsWhYZPX+mQAj1j1kA00rilUHKA4SnmehgS4hYU="; mypy-boto3-opensearchserverless = - buildMypyBoto3Package "opensearchserverless" "1.40.24" - "sha256-dWkO3WKxcMFLF4UvFLAgAv1vfJZYqwua6s+CYGhTF0g="; + buildMypyBoto3Package "opensearchserverless" "1.40.58" + "sha256-jSoHGhya7mWGoyUCTfLRgqyrmG6TIpS4SVUjSAer0eM="; mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.40.0" @@ -1017,8 +1017,8 @@ in "sha256-pn+Zpzpa5SBhnzzo1yVcQzFi3u3Wbf93AvOL4Xu+yqQ="; mypy-boto3-personalize-events = - buildMypyBoto3Package "personalize-events" "1.40.18" - "sha256-ot000kDzq6Dle+9d9EWXHM7kLIzA4Se7X1w24dEhLVg="; + buildMypyBoto3Package "personalize-events" "1.40.58" + "sha256-cSxcEUfHRBITijZot4XhvijEAfsPWlPu1ZGf6cF2tbQ="; mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.40.54" @@ -1033,16 +1033,16 @@ in "sha256-zhekW0Dk58LRUfyVd6slsy3tKu31j/cGEYfkvpLrmnA="; mypy-boto3-pinpoint-email = - buildMypyBoto3Package "pinpoint-email" "1.40.15" - "sha256-MZ3FLJdyo1RoUFj6baYu4dR9T8/0nCilk5RRZ+0wvQQ="; + buildMypyBoto3Package "pinpoint-email" "1.40.58" + "sha256-SRvim/6rT3H/OHT1FZRx6PyPUV2GGh5nk83EXhVi5gc="; mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.40.54" "sha256-3c8he41vrrQwW64aGB5ExykWVPqGfj73P0gZBYoqsW0="; mypy-boto3-pinpoint-sms-voice-v2 = - buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.40.14" - "sha256-Jogfc4bdSgo6ufRjkX+jC6tCcjF2QEF5Wc5a3tZxjPM="; + buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.40.57" + "sha256-n20s8GSpRLcaGXyPJs0KOUwGBOf6a2q22fe1kph/GUk="; mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.40.0" @@ -1097,8 +1097,8 @@ in "sha256-S2Kq4+up5zWfLS2rM14qwmzLd1h13hz8YURBq9O715w="; mypy-boto3-redshift-data = - buildMypyBoto3Package "redshift-data" "1.40.0" - "sha256-rJnEK9W8zZ6hxp5YvysRaxk01vaCv3+zpE9GSdRb1jA="; + buildMypyBoto3Package "redshift-data" "1.40.57" + "sha256-G8yP5UD+srdmTHkuwC5A05L47Piun60kHoPzWG7MvGM="; mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.40.0" @@ -1109,8 +1109,8 @@ in "sha256-uVQIk3XxR7mwd/sY5TQk6jy6m5qzr0pMu/0Q4fItu3U="; mypy-boto3-resiliencehub = - buildMypyBoto3Package "resiliencehub" "1.40.0" - "sha256-PaBrmTZ/EpFDH94bw/zQqRcLiQrOQlKrIHQgXcuR0Qo="; + buildMypyBoto3Package "resiliencehub" "1.40.58" + "sha256-EHVAJ8ElONBpXvZoXfuL7UbHNOYZyZN6ABHViQg+a5k="; mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.40.46" @@ -1133,12 +1133,12 @@ in "sha256-CoF3Aw759lxUzg9iRCfKofDkbq/idAIy4Eu4L7yrRL0="; mypy-boto3-route53 = - buildMypyBoto3Package "route53" "1.40.23" - "sha256-0cvqZsSwlq6o5XE+U9Vh3/+7I4ZhVAtlZ7Qlm5KuI1I="; + buildMypyBoto3Package "route53" "1.40.57" + "sha256-GcfGVmcrqgC3MAoqJWrzUXFDr6b9QeSTOP8uCBpnzCc="; mypy-boto3-route53-recovery-cluster = - buildMypyBoto3Package "route53-recovery-cluster" "1.40.18" - "sha256-2eARoNdjICq+9/NDLcgCikBIQV9WNDb8UUKGtfJA6Yw="; + buildMypyBoto3Package "route53-recovery-cluster" "1.40.57" + "sha256-EIwRua248SviAlBapRfoxIpCi0ydWw5h5keOZqMA2Zw="; mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.40.54" @@ -1157,8 +1157,8 @@ in "sha256-wY1ypBS0J/0JvGJ7rc8HL52onwypC0FgkS4Zz6FKqpg="; mypy-boto3-rum = - buildMypyBoto3Package "rum" "1.40.0" - "sha256-+fgiX8rSj53vuJuuTOX26sipW3xiFDt7ik7r65alHcw="; + buildMypyBoto3Package "rum" "1.40.58" + "sha256-eZwpjtTCEt+DnFfHxJCVjBKDxA5qQkBS/1gk0zKb9ug="; mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.40.26" @@ -1173,16 +1173,16 @@ in "sha256-HPAyUwvfUNZl3Ts3H0evVO7UifAiiwrDPyYJ4titkqA="; mypy-boto3-sagemaker = - buildMypyBoto3Package "sagemaker" "1.40.27" - "sha256-OlMvXXiV/PGIqL4IRQuyRpm4RboyH+SDnQKJ2HWuqsw="; + buildMypyBoto3Package "sagemaker" "1.40.58" + "sha256-B+fvgMfQyME1sgZSifnqHY2W4vr05/IKl4F9duP4VLE="; mypy-boto3-sagemaker-a2i-runtime = - buildMypyBoto3Package "sagemaker-a2i-runtime" "1.40.16" - "sha256-Mab/cO02qbhVylLWHL4aGfgMArujecXpsOgfMG7OLTk="; + buildMypyBoto3Package "sagemaker-a2i-runtime" "1.40.57" + "sha256-hM+OvqETv0u6Kk1ZgfzgNWgBTPamBH0oO+5W4hlUgeM="; mypy-boto3-sagemaker-edge = - buildMypyBoto3Package "sagemaker-edge" "1.40.17" - "sha256-ZhD8T6Mp5M3Kofd462vX3HsEbazpYFOf1HJ3L9xUhGU="; + buildMypyBoto3Package "sagemaker-edge" "1.40.58" + "sha256-jmK+l8D36ydnlSEHYxDO/e9XuMp79P1QLdjjFRcFn6w="; mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.40.17" @@ -1201,8 +1201,8 @@ in "sha256-NuIRRV2eq/OSMyeqKuZXGFfjzGQpX41Gx5Tv9l/2jOo="; mypy-boto3-savingsplans = - buildMypyBoto3Package "savingsplans" "1.40.20" - "sha256-N/xsDqZvv3aARvATVE5QV8yGoj7ubCrgp2TTApcfz1g="; + buildMypyBoto3Package "savingsplans" "1.40.58" + "sha256-hwVYt4TCYXK6G8N0x52swjdf/k1roNzwRhYl8JO4VM0="; mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.40.20" @@ -1225,8 +1225,8 @@ in "sha256-0DkWoaAhZ0w3CXYtQgvABDZ+PeCIjB9asQkDGSl1/oU="; mypy-boto3-securitylake = - buildMypyBoto3Package "securitylake" "1.40.0" - "sha256-DrmDjFx8N9pqL2tikWd1PD0qvBX2oI2Y9+WiDvAlOgE="; + buildMypyBoto3Package "securitylake" "1.40.58" + "sha256-bwX8OJWCayO3dpMuhB9VelSzhl/y+vVch0hY8w2NFm0="; mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.40.17" @@ -1253,8 +1253,8 @@ in "sha256-cmGVTHQ2BGpeKYymXfxMrX+AfuHky6DTNwxL0pK4NEU="; mypy-boto3-sesv2 = - buildMypyBoto3Package "sesv2" "1.40.0" - "sha256-aGK44+fTKwT+5o4bcqz1GvOm/9gpP3oX82Eta/uXc8w="; + buildMypyBoto3Package "sesv2" "1.40.58" + "sha256-e5n43zgh7Eo0CO6p3m3hC86lk5eAT9gBS8aluLFYORM="; mypy-boto3-shield = buildMypyBoto3Package "shield" "1.40.17" @@ -1285,8 +1285,8 @@ in "sha256-MVXzb+7NvziTkEQuuo3GQdoHrrnL9859f0i07qQGnYc="; mypy-boto3-sns = - buildMypyBoto3Package "sns" "1.40.1" - "sha256-4G2J2xDIM2QJY2XGMKFE1Zyj4P22Y7vWtzvRgW0eU9s="; + buildMypyBoto3Package "sns" "1.40.57" + "sha256-O+SB0ntnaEzGUHq/GJAE8tCPLcIaTcuWIJ850rv0Vz8="; mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.40.35" @@ -1301,8 +1301,8 @@ in "sha256-OUZn5wWVxirqeyEIrPgIbBwG2ikudihKJo/WJItVkLM="; mypy-boto3-ssm-incidents = - buildMypyBoto3Package "ssm-incidents" "1.40.0" - "sha256-EX4a0R3N6pWZpybsRofvsZ7Z5eQCu7eczEOHyr2S+h4="; + buildMypyBoto3Package "ssm-incidents" "1.40.57" + "sha256-qk/18pIl23+NoiPHM39hFIhJx0sTxhR/JJmRf9ePpx4="; mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.40.20" @@ -1325,8 +1325,8 @@ in "sha256-t+4xYTbTLkXRoDyteBCVljSb3v2P/sBLLEUmpQm6U80="; mypy-boto3-storagegateway = - buildMypyBoto3Package "storagegateway" "1.40.0" - "sha256-LwQqfbpqRaGyridCiI73LjQjsQn+h6Gc2HDt3AKt8dI="; + buildMypyBoto3Package "storagegateway" "1.40.58" + "sha256-aRgrg0Mpzc+gk2GIPjofavpf6IkMNW3kB+vU6aNelhk="; mypy-boto3-sts = buildMypyBoto3Package "sts" "1.40.0" @@ -1345,8 +1345,8 @@ in "sha256-zer2dqLkBLe1CA5I6+9DavQPvVLtrGFoxi50BRDOI3s="; mypy-boto3-synthetics = - buildMypyBoto3Package "synthetics" "1.40.44" - "sha256-777DKmK4DKxIWhXp+Mu7TQ8wNdfnzz4+0fJyPVGx0R0="; + buildMypyBoto3Package "synthetics" "1.40.58" + "sha256-naC16by9nRoZvRfSIIYJdk4jT/lxqUDeogtGb+q+avk="; mypy-boto3-textract = buildMypyBoto3Package "textract" "1.40.0" @@ -1409,24 +1409,24 @@ in "sha256-B+hgPZPqVl2YpsBxmkVph+L9lMv7PzJAevqMEXHAXSQ="; mypy-boto3-workdocs = - buildMypyBoto3Package "workdocs" "1.40.19" - "sha256-4EAAV8OhTKmJV0EbOJvwLUj1sxxuPzZetqt3rJo+ZTA="; + buildMypyBoto3Package "workdocs" "1.40.57" + "sha256-12d4SbtVxKDSBedA1F2VnopqBKowjuIKboHZpIKEwAc="; mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.35.0" "sha256-AgK4Xg1dloJmA+h4+mcBQQVTvYKjLCk5tPDbl/ItCVQ="; mypy-boto3-workmail = - buildMypyBoto3Package "workmail" "1.40.22" - "sha256-Qnuq7/wu/rlW3mr4oCJ5isJJd9SHxzZA/cSiayVpTI0="; + buildMypyBoto3Package "workmail" "1.40.57" + "sha256-S5/42kRGzK1BTxE8Sp6XY93kljykbQK0YYCwQM+sJxY="; mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.40.20" "sha256-wOW0p/aZvOe3zQc9eIAirP4NmiVUUSxIeUwEIWbK4Eo="; mypy-boto3-workspaces = - buildMypyBoto3Package "workspaces" "1.40.10" - "sha256-6PTGF3akduOS0VRS43ykcKzK25iyQb+bqvpCe+BM9Qw="; + buildMypyBoto3Package "workspaces" "1.40.57" + "sha256-+oG3ZMlb+/IVTxwecuyGetXhW6ZcJDbAzJ1Vm8uWGvY="; mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.40.54" diff --git a/pkgs/development/python-modules/textual-autocomplete/default.nix b/pkgs/development/python-modules/textual-autocomplete/default.nix index 5b2768f33090..e4f2195ba502 100644 --- a/pkgs/development/python-modules/textual-autocomplete/default.nix +++ b/pkgs/development/python-modules/textual-autocomplete/default.nix @@ -9,13 +9,13 @@ }: buildPythonPackage rec { pname = "textual-autocomplete"; - version = "4.0.5"; + version = "4.0.6"; pyproject = true; src = fetchPypi { pname = "textual_autocomplete"; inherit version; - hash = "sha256-24Bm/H2Hx0r9CDZ/j8IUS87F3b3qY6Y3JJdU6dH9h1U="; + hash = "sha256-K6Lw12e+RIDsrLPksTDPBzQOAzw1APxCT+2RJdJ6RYY="; }; build-system = [ diff --git a/pkgs/development/python-modules/torch/source/default.nix b/pkgs/development/python-modules/torch/source/default.nix index 61caaf420b57..f806c2ded5f8 100644 --- a/pkgs/development/python-modules/torch/source/default.nix +++ b/pkgs/development/python-modules/torch/source/default.nix @@ -275,14 +275,16 @@ let stdenv' = if cudaSupport then cudaPackages.backendStdenv else stdenv; in -buildPythonPackage rec { +let + # From here on, `stdenv` shall be `stdenv'`. + stdenv = stdenv'; +in +buildPythonPackage.override { inherit stdenv; } rec { pname = "torch"; # Don't forget to update torch-bin to the same version. version = "2.8.0"; pyproject = true; - stdenv = stdenv'; - outputs = [ "out" # output standard python package "dev" # output libtorch headers diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix index 5ea39543c847..22f329b3afac 100644 --- a/pkgs/development/python-modules/types-awscrt/default.nix +++ b/pkgs/development/python-modules/types-awscrt/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "types-awscrt"; - version = "0.28.1"; + version = "0.28.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "types_awscrt"; inherit version; - hash = "sha256-Ztd+woPh3JB1JqRFEaEmJBGHI6OWw20/PdmFXLYUzhQ="; + hash = "sha256-Q0m2/Hsc2cnreCcB+yE4dduJqxeBIZwOlH3XxNnc1l4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ufmt/default.nix b/pkgs/development/python-modules/ufmt/default.nix index 7f55664ad786..2b1e370f697d 100644 --- a/pkgs/development/python-modules/ufmt/default.nix +++ b/pkgs/development/python-modules/ufmt/default.nix @@ -1,20 +1,28 @@ { lib, - black, buildPythonPackage, - click, fetchFromGitHub, + + # build-system flit-core, + + # dependencies + black, + click, libcst, moreorless, - pygls, - pythonOlder, tomlkit, trailrunner, - ruff-api, typing-extensions, - unittestCheckHook, usort, + + # optional-dependencies + pygls, + ruff-api, + + # tests + unittestCheckHook, + versionCheckHook, }: buildPythonPackage rec { @@ -22,8 +30,6 @@ buildPythonPackage rec { version = "2.8.0"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "omnilib"; repo = "ufmt"; @@ -31,6 +37,13 @@ buildPythonPackage rec { hash = "sha256-oEvvXUju7qne3pCwnrckplMs0kBJavB669qieXJZPKw="; }; + # Broken since click was updated to 8.2.1 in https://github.com/NixOS/nixpkgs/pull/448189 + # TypeError: CliRunner.__init__() got an unexpected keyword argument 'mix_stderr' + postPatch = '' + substituteInPlace ufmt/tests/__init__.py \ + --replace-fail "from .cli import CliTest" "" + ''; + build-system = [ flit-core ]; dependencies = [ @@ -51,17 +64,19 @@ buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook + versionCheckHook ] ++ lib.flatten (builtins.attrValues optional-dependencies); + versionCheckProgramArg = "--version"; pythonImportsCheck = [ "ufmt" ]; - meta = with lib; { + meta = { description = "Safe, atomic formatting with black and usort"; homepage = "https://github.com/omnilib/ufmt"; changelog = "https://github.com/omnilib/ufmt/blob/${version}/CHANGELOG.md"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; mainProgram = "ufmt"; }; } diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 76f8d5ae7eb4..e3b9ea635d73 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -36,6 +36,8 @@ ntfs3g, nixosTests, udevCheckHook, + libiscsi, + libconfig, }: stdenv.mkDerivation rec { @@ -114,6 +116,8 @@ stdenv.mkDerivation rec { libatasmart polkit util-linux + libiscsi + libconfig ]; preConfigure = "NOCONFIGURE=1 ./autogen.sh"; @@ -125,6 +129,10 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udevdir=$(out)/lib/udev" "--with-tmpfilesdir=no" + "--enable-all-modules" + "--enable-btrfs" + "--enable-lvm2" + "--enable-smart" ]; makeFlags = [ diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix deleted file mode 100644 index 5e8bc57366ed..000000000000 --- a/pkgs/tools/filesystems/ceph/default.nix +++ /dev/null @@ -1,627 +0,0 @@ -{ - lib, - stdenv, - runCommand, - fetchurl, - fetchFromGitHub, - fetchPypi, - fetchpatch2, - - # Build time - autoconf, - automake, - cmake, - ensureNewerSourcesHook, - fmt, - git, - libtool, - makeWrapper, - nasm, - pkg-config, - which, - openssl, - - # Tests - nixosTests, - - # Runtime dependencies - arrow-cpp, - babeltrace, - # Note when trying to upgrade boost: - # * When upgrading Ceph, it's recommended to check which boost version Ceph uses on Fedora, - # and default to that. - # * The version that Ceph downloads if `-DWITH_SYSTEM_BOOST:BOOL=ON` is not given - # is declared in `cmake/modules/BuildBoost.cmake` line `set(boost_version ...)`. - # - # If you want to upgrade to boost >= 1.86, you need a Ceph version that - # has this PR in: - # https://github.com/ceph/ceph/pull/61312 - boost183, - bzip2, - cryptsetup, - cunit, - e2fsprogs, - doxygen, - gperf, - graphviz, - gnugrep, - gtest, - icu, - kmod, - libcap, - libcap_ng, - libnbd, - libnl, - libxml2, - lmdb, - lttng-ust, - lua, - lvm2, - lz4, - oath-toolkit, - openldap, - parted, - python311, # to get an idea which Python versions are supported by Ceph, see upstream `do_cmake.sh` (see `PYBUILD=` variable) - rdkafka, - rocksdb, - snappy, - openssh, - sqlite, - utf8proc, - xfsprogs, - zlib, - zstd, - - # Dependencies of overridden Python dependencies, hopefully we can remove these soon. - rustPlatform, - - # Optional Dependencies - curl ? null, - expat ? null, - fuse ? null, - libatomic_ops ? null, - libedit ? null, - libs3 ? null, - yasm ? null, - - # Mallocs - gperftools ? null, - jemalloc ? null, - - # Crypto Dependencies - cryptopp ? null, - nspr ? null, - nss ? null, - - # Linux Only Dependencies - linuxHeaders, - util-linux, - libuuid, - udev, - keyutils, - rdma-core, - rabbitmq-c, - libaio ? null, - libxfs ? null, - liburing ? null, - zfs ? null, - ... -}: - -# We must have one crypto library -assert cryptopp != null || (nss != null && nspr != null); - -let - shouldUsePkg = - pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; - - optYasm = shouldUsePkg yasm; - optExpat = shouldUsePkg expat; - optCurl = shouldUsePkg curl; - optFuse = shouldUsePkg fuse; - optLibedit = shouldUsePkg libedit; - optLibatomic_ops = shouldUsePkg libatomic_ops; - optLibs3 = shouldUsePkg libs3; - - optJemalloc = shouldUsePkg jemalloc; - optGperftools = shouldUsePkg gperftools; - - optCryptopp = shouldUsePkg cryptopp; - optNss = shouldUsePkg nss; - optNspr = shouldUsePkg nspr; - - optLibaio = shouldUsePkg libaio; - optLibxfs = shouldUsePkg libxfs; - optZfs = shouldUsePkg zfs; - - # Downgrade rocksdb, 7.10 breaks ceph - rocksdb' = rocksdb.overrideAttrs { - version = "7.9.2"; - src = fetchFromGitHub { - owner = "facebook"; - repo = "rocksdb"; - rev = "refs/tags/v7.9.2"; - hash = "sha256-5P7IqJ14EZzDkbjaBvbix04ceGGdlWBuVFH/5dpD5VM="; - }; - }; - - hasRadosgw = optExpat != null && optCurl != null && optLibedit != null; - - # Malloc implementation (can be jemalloc, tcmalloc or null) - malloc = if optJemalloc != null then optJemalloc else optGperftools; - - # We prefer nss over cryptopp - cryptoStr = - if optNss != null && optNspr != null then - "nss" - else if optCryptopp != null then - "cryptopp" - else - "none"; - - cryptoLibsMap = { - nss = [ - optNss - optNspr - ]; - cryptopp = [ optCryptopp ]; - none = [ ]; - }; - - getMeta = description: { - homepage = "https://ceph.io/en/"; - inherit description; - license = with lib.licenses; [ - lgpl21 - gpl2Only - bsd3 - mit - publicDomain - ]; - maintainers = with lib.maintainers; [ - adev - ak - johanot - krav - nh2 - benaryorg - ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - }; - - ceph-common = - with python.pkgs; - buildPythonPackage { - pname = "ceph-common"; - format = "setuptools"; - inherit src version; - - sourceRoot = "ceph-${version}/src/python-common"; - - propagatedBuildInputs = [ - pyyaml - ]; - - nativeCheckInputs = [ - pytestCheckHook - ]; - - disabledTests = [ - # requires network access - "test_valid_addr" - ]; - - meta = getMeta "Ceph common module for code shared by manager modules"; - }; - - # Watch out for python <> boost compatibility - python = python311.override { - self = python; - packageOverrides = - self: super: - let - bcryptOverrideVersion = "4.0.1"; - in - { - # Ceph does not support the following yet: - # * `bcrypt` > 4.0 - # * `cryptography` > 40 - # See: - # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 - # * Upstream issue: https://tracker.ceph.com/issues/63529 - # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 - # * Moved to issue: https://tracker.ceph.com/issues/64213 - # > MGR modules incompatible with later PyO3 versions - PyO3 modules may only be initialized once per interpreter process - - bcrypt = super.bcrypt.overridePythonAttrs (old: rec { - pname = "bcrypt"; - version = bcryptOverrideVersion; - src = fetchPypi { - inherit pname version; - hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; - }; - cargoRoot = "src/_bcrypt"; - cargoDeps = rustPlatform.fetchCargoVendor { - inherit - pname - version - src - cargoRoot - ; - hash = "sha256-8PyCgh/rUO8uynzGdgylAsb5k55dP9fCnf40UOTCR/M="; - }; - }); - - # We pin the older `cryptography` 40 here; - # this also forces us to pin other packages, see below - cryptography = self.callPackage ./old-python-packages/cryptography.nix { }; - - # This is the most recent version of `pyopenssl` that's still compatible with `cryptography` 40. - # See https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 - # and https://github.com/pyca/pyopenssl/blob/d9752e44127ba36041b045417af8a0bf16ec4f1e/CHANGELOG.rst#2320-2023-05-30 - pyopenssl = super.pyopenssl.overridePythonAttrs (old: rec { - version = "23.1.1"; - src = fetchPypi { - pname = "pyOpenSSL"; - inherit version; - hash = "sha256-hBSYub7GFiOxtsR+u8AjZ8B9YODhlfGXkIF/EMyNsLc="; - }; - disabledTests = old.disabledTests or [ ] ++ [ - "test_export_md5_digest" - ]; - disabledTestPaths = old.disabledTestPaths or [ ] ++ [ - "tests/test_ssl.py" - ]; - propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ - self.flaky - ]; - # hack: avoid building docs due to incompatibility with current sphinx - nativeBuildInputs = [ openssl ]; # old.nativeBuildInputs but without sphinx* - outputs = lib.filter (o: o != "doc") old.outputs; - }); - - # This is the most recent version of `trustme` that's still compatible with `cryptography` 40. - # See https://github.com/NixOS/nixpkgs/issues/359723 - # and https://github.com/python-trio/trustme/commit/586f7759d5c27beb44da60615a71848eb2a5a490 - trustme = self.callPackage ./old-python-packages/trustme.nix { }; - - fastapi = super.fastapi.overridePythonAttrs (old: { - # Flaky test: - # ResourceWarning: Unclosed - # Unclear whether it's flaky in general or only in this overridden package set. - doCheck = false; - }); - - # Ceph does not support `kubernetes` >= 19, see: - # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1900324090 - kubernetes = super.kubernetes.overridePythonAttrs (old: rec { - version = "18.20.0"; - src = fetchFromGitHub { - owner = "kubernetes-client"; - repo = "python"; - rev = "v${version}"; - sha256 = "1sawp62j7h0yksmg9jlv4ik9b9i1a1w9syywc9mv8x89wibf5ql1"; - fetchSubmodules = true; - }; - }); - - }; - }; - - boost' = boost183.override { - enablePython = true; - inherit python; - }; - - # TODO: split this off in build and runtime environment - ceph-python-env = python.withPackages ( - ps: with ps; [ - ceph-common - - # build time - cython_0 - - # debian/control - bcrypt - cherrypy - influxdb - jinja2 - kubernetes - natsort - numpy - pecan - prettytable - pyjwt - pyopenssl - python-dateutil - pyyaml - requests - routes - scikit-learn - scipy - setuptools - sphinx - virtualenv - werkzeug - - # src/cephadm/zipapp-reqs.txt - markupsafe - - # src/pybind/mgr/requirements-required.txt - cryptography - jsonpatch - - # src/tools/cephfs/shell/setup.py - cmd2 - colorama - ] - ); - inherit (ceph-python-env.python) sitePackages; - - version = "19.2.3"; - src = fetchurl { - url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz"; - hash = "sha256-zlgp28C81SZbaFJ4yvQk4ZgYz4K/aZqtcISTO8LscSU="; - }; -in -rec { - ceph = stdenv.mkDerivation { - pname = "ceph"; - inherit src version; - - patches = [ - ./boost-1.85.patch - - (fetchpatch2 { - name = "ceph-boost-1.86-uuid.patch"; - url = "https://github.com/ceph/ceph/commit/01306208eac492ee0e67bff143fc32d0551a2a6f.patch?full_index=1"; - hash = "sha256-OnDrr72inzGXXYxPFQevsRZImSvI0uuqFHqtFU2dPQE="; - }) - - # See: - # * - # * - # * - ./boost-1.86-PyModule.patch - - (fetchpatch2 { - name = "ceph-cmake-4.patch"; - url = "https://gitlab.alpinelinux.org/ashpool/aports/-/raw/d22b70eafe33c3daabe4eea6913c5be87d9463ad/community/ceph19/cpp_redis.patch"; - hash = "sha256-wxPIsYt25CjXhJ6kmr/MXwFD58Sl4y4W+r9jAMND+uw="; - }) - ]; - - nativeBuildInputs = [ - autoconf # `autoreconf` is called, e.g. for `qatlib_ext` - automake # `aclocal` is called, e.g. for `qatlib_ext` - cmake - fmt - git - makeWrapper - libtool # used e.g. for `qatlib_ext` - nasm - pkg-config - python - python.pkgs.python # for the toPythonPath function - python.pkgs.wrapPython - which - (ensureNewerSourcesHook { year = "1980"; }) - # for building docs/man-pages presumably - doxygen - graphviz - ]; - - buildInputs = - cryptoLibsMap.${cryptoStr} - ++ [ - arrow-cpp - babeltrace - boost' - bzip2 - # Adding `ceph-python-env` here adds the env's `site-packages` to `PYTHONPATH` during the build. - # This is important, otherwise the build system may not find the Python deps and then - # silently skip installing ceph-volume and other Ceph python tools. - ceph-python-env - cryptsetup - cunit - e2fsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it - gperf - gtest - icu - libcap - libnbd - libnl - libxml2 - lmdb - lttng-ust - lua - lvm2 # according to `debian/control` file, e.g. `pvs` command used by `src/ceph-volume/ceph_volume/api/lvm.py` - lz4 - malloc - oath-toolkit - openldap - optLibatomic_ops - optLibs3 - optYasm - parted # according to `debian/control` file, used by `src/ceph-volume/ceph_volume/util/disk.py` - rdkafka - rocksdb' - snappy - openssh # according to `debian/control` file, `ssh` command used by `cephadm` - sqlite - utf8proc - xfsprogs # according to `debian/control` file, `ceph-volume` is supposed to use it - zlib - zstd - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - keyutils - libcap_ng - liburing - libuuid - linuxHeaders - optLibaio - optLibxfs - optZfs - rabbitmq-c - rdma-core - udev - util-linux - ] - ++ lib.optionals hasRadosgw [ - optCurl - optExpat - optFuse - optLibedit - ]; - - # Picked up, amongst others, by `wrapPythonPrograms`. - pythonPath = [ - ceph-python-env - "${placeholder "out"}/${ceph-python-env.sitePackages}" - ]; - - # * `unset AS` because otherwise the Ceph CMake build errors with - # configure: error: No modern nasm or yasm found as required. Nasm should be v2.11.01 or later (v2.13 for AVX512) and yasm should be 1.2.0 or later. - # because the code at - # https://github.com/intel/isa-l/blob/633add1b569fe927bace3960d7c84ed9c1b38bb9/configure.ac#L99-L191 - # doesn't even consider using `nasm` or `yasm` but instead uses `$AS` - # from `gcc-wrapper`. - # (Ceph's error message is extra confusing, because it says - # `No modern nasm or yasm found` when in fact it found e.g. `nasm` - # but then uses `$AS` instead. - # * replace /sbin and /bin based paths with direct nix store paths - # * increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters - preConfigure = '' - unset AS - - substituteInPlace src/common/module.c \ - --replace "char command[128];" "char command[256];" \ - --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \ - --replace "/sbin/modprobe" "${kmod}/bin/modprobe" \ - --replace "/bin/grep" "${gnugrep}/bin/grep" - - # Patch remount to use full path to mount(8), otherwise ceph-fuse fails when run - # from a systemd unit for example. - substituteInPlace src/client/fuse_ll.cc \ - --replace-fail "mount -i -o remount" "${util-linux}/bin/mount -i -o remount" - - # The install target needs to be in PYTHONPATH for "*.pth support" check to succeed - export PYTHONPATH=$PYTHONPATH:$lib/${sitePackages}:$out/${sitePackages} - patchShebangs src/ - ''; - - cmakeFlags = [ - "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib" - - "-DWITH_CEPHFS_SHELL:BOOL=ON" - "-DWITH_SYSTEMD:BOOL=OFF" - # `WITH_JAEGER` requires `thrift` as a depenedncy (fine), but the build fails with: - # CMake Error at src/opentelemetry-cpp-stamp/opentelemetry-cpp-build-Release.cmake:49 (message): - # Command failed: 2 - # - # 'make' 'opentelemetry_trace' 'opentelemetry_exporter_jaeger_trace' - # - # See also - # - # /build/ceph-18.2.0/build/src/opentelemetry-cpp/src/opentelemetry-cpp-stamp/opentelemetry-cpp-build-*.log - # and that file contains: - # /build/ceph-18.2.0/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/src/TUDPTransport.cc: In member function 'virtual void opentelemetry::v1::exporter::jaeger::TUDPTransport::close()': - # /build/ceph-18.2.0/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/src/TUDPTransport.cc:71:7: error: '::close' has not been declared; did you mean 'pclose'? - # 71 | ::THRIFT_CLOSESOCKET(socket_); - # | ^~~~~~~~~~~~~~~~~~ - # Looks like `close()` is somehow not included. - # But the relevant code is already removed in `open-telemetry` 1.10: https://github.com/open-telemetry/opentelemetry-cpp/pull/2031 - # So it's probably not worth trying to fix that for this Ceph version, - # and instead just disable Ceph's Jaeger support. - "-DWITH_JAEGER:BOOL=OFF" - "-DWITH_TESTS:BOOL=OFF" - - # Use our own libraries, where possible - "-DWITH_SYSTEM_ARROW:BOOL=ON" # Only used if other options enable Arrow support. - "-DWITH_SYSTEM_BOOST:BOOL=ON" - "-DWITH_SYSTEM_GTEST:BOOL=ON" - "-DWITH_SYSTEM_ROCKSDB:BOOL=ON" - "-DWITH_SYSTEM_UTF8PROC:BOOL=ON" - "-DWITH_SYSTEM_ZSTD:BOOL=ON" - - # Use our own python libraries too, see: - # https://github.com/NixOS/nixpkgs/pull/344993#issuecomment-2391046329 - "-DCEPHADM_BUNDLED_DEPENDENCIES=none" - - # TODO breaks with sandbox, tries to download stuff with npm - "-DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF" - # WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now - ''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}'' - ] - ++ lib.optional stdenv.hostPlatform.isLinux "-DWITH_SYSTEM_LIBURING=ON"; - - preBuild = - # The legacy-option-headers target is not correctly empbedded in the build graph. - # It also contains some internal race conditions that we work around by building with `-j 1`. - # Upstream discussion for additional context at https://tracker.ceph.com/issues/63402. - '' - cmake --build . --target legacy-option-headers -j 1 - ''; - - postFixup = '' - wrapPythonPrograms - wrapProgram $out/bin/ceph-mgr --prefix PYTHONPATH ":" "$(toPythonPath ${placeholder "out"}):$(toPythonPath ${ceph-python-env})" - - # Test that ceph-volume exists since the build system has a tendency to - # silently drop it with misconfigurations. - test -f $out/bin/ceph-volume - ''; - - outputs = [ - "out" - "lib" - "dev" - "doc" - "man" - ]; - - doCheck = false; # uses pip to install things from the internet - - # Takes 7+h to build with 2 cores. - requiredSystemFeatures = [ "big-parallel" ]; - - meta = getMeta "Distributed storage system"; - - passthru = { - inherit version; - inherit python; # to be able to test our overridden packages above individually with `nix-build -A` - tests = { - inherit (nixosTests) - ceph-multi-node - ceph-single-node - ceph-single-node-bluestore - ceph-single-node-bluestore-dmcrypt - ; - }; - }; - }; - - ceph-client = - runCommand "ceph-client-${version}" - { - meta = getMeta "Tools needed to mount Ceph's RADOS Block Devices/Cephfs"; - } - '' - mkdir -p $out/{bin,etc,${sitePackages},share/bash-completion/completions} - cp -r ${ceph}/bin/{ceph,.ceph-wrapped,rados,rbd,rbdmap} $out/bin - cp -r ${ceph}/bin/ceph-{authtool,conf,dencoder,rbdnamer,syn} $out/bin - cp -r ${ceph}/bin/rbd-replay* $out/bin - cp -r ${ceph}/sbin/mount.ceph $out/bin - cp -r ${ceph}/sbin/mount.fuse.ceph $out/bin - ln -s bin $out/sbin - cp -r ${ceph}/${sitePackages}/* $out/${sitePackages} - cp -r ${ceph}/etc/bash_completion.d $out/share/bash-completion/completions - # wrapPythonPrograms modifies .ceph-wrapped, so lets just update its paths - substituteInPlace $out/bin/ceph --replace ${ceph} $out - substituteInPlace $out/bin/.ceph-wrapped --replace ${ceph} $out - ''; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e885b3756794..01f43f329f73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2346,25 +2346,7 @@ with pkgs; cemu-ti = qt5.callPackage ../applications/science/math/cemu-ti { }; libceph = ceph.lib; - inherit - (callPackages ../tools/filesystems/ceph { - lua = lua5_4; # Ceph currently requires >= 5.3 - - # To see which `fmt` version Ceph upstream recommends, check its `src/fmt` submodule. - # - # Ceph does not currently build with `fmt_11`; see https://github.com/NixOS/nixpkgs/issues/281027#issuecomment-1899128557 - # If we want to switch for that before upstream fixes it, use this patch: - # https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899648638 - fmt = fmt_9; - - # Remove once Ceph supports arrow-cpp >= 20, see: - # * https://tracker.ceph.com/issues/71269 - # * https://github.com/NixOS/nixpkgs/issues/406306 - arrow-cpp = callPackage ../tools/filesystems/ceph/arrow-cpp-19.nix { }; - }) - ceph - ceph-client - ; + ceph-client = ceph.client; ceph-dev = ceph; clementine = libsForQt5.callPackage ../applications/audio/clementine { @@ -4222,8 +4204,6 @@ with pkgs; libjpeg_turbo = libjpeg_turbo.override { enableJava = true; }; }; - ufmt = with python3Packages; toPythonApplication ufmt; - unbound-with-systemd = unbound.override { withSystemd = true; };