diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix index f97bbea0023c..af1781f3af74 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "evolution-ews"; - version = "3.46.0"; + version = "3.46.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "vZe6IFzEW60SmXvuE0ii+R2LAtcUWD159PrheU2sG4A="; + sha256 = "p5Jp7wnoqAuo8My8ZDMl0rsFc0158G8x8lAehWfLjb0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index 6cac048cfd27..1e61c5ffc884 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -44,11 +44,11 @@ stdenv.mkDerivation rec { pname = "evolution"; - version = "3.46.0"; + version = "3.46.1"; src = fetchurl { url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "4J6Sdrxrmr8NrTpOgT7qHQJfT2qvH6w7ew+IiVdCkT8="; + sha256 = "GshFg+0sr4l7B06Z+TVCrRRG//Cs+rhtXmeeAzrgLIY="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix index 1f178d964f6d..f2c0a3aaee35 100644 --- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix +++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix @@ -22,11 +22,11 @@ stdenv.mkDerivation rec { pname = "gnome-calendar"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "CeXA+TYPP4Vt6qfA2zD12rAVEYDfQYOAfGzzYCmS9cw="; + sha256 = "r6X8ZuL2kVU8x9UX2yNjz/LWLNG130VeX09xMxOdIfI="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix index bca540feeb0a..1e74521d3e9d 100644 --- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix +++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix @@ -27,11 +27,11 @@ stdenv.mkDerivation rec { pname = "gnome-maps"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-CGjPz7eMOiesW+YM2E0wuz08KMiFqY+qCeN/o6UyNOQ="; + sha256 = "sha256-H3UaNb1YmteT9bFBNfKT5OxtSywwcz/sdgxofY8UMSY="; }; doCheck = true; diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix index e0a943a8e1ca..fb7ea8404a36 100644 --- a/pkgs/desktops/gnome/core/eog/default.nix +++ b/pkgs/desktops/gnome/core/eog/default.nix @@ -30,13 +30,13 @@ stdenv.mkDerivation rec { pname = "eog"; - version = "43.0"; + version = "43.1"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-pSovPrGju1ADijNikCvHlRY+GphnY+6C0gQk566EVG8="; + sha256 = "sha256-/tef88oZusYvJxVcm91p7vh1hwuXHm3LCqOMCT0TGXE="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix index 9f5721fcd54d..0f643e174326 100644 --- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix @@ -52,13 +52,13 @@ stdenv.mkDerivation rec { pname = "evolution-data-server"; - version = "3.46.0"; + version = "3.46.1"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "5fooCVoYP3q1qSjjWoKDebSB3e+D7Ux7UaLjxK71zas="; + sha256 = "xV5yz/QZC0LmPdbqvG3OSKGh95BAUx8a9tUcHvpKpus="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch index 87d5ca56b7c5..0ad35d4742d2 100644 --- a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch +++ b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch @@ -298,7 +298,7 @@ index e61160c..d17871a 100644 G_CALLBACK (mi_user_headers_settings_changed_cb), NULL); G_UNLOCK (mi_user_headers); diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c -index 2ed68cf..5dad98f 100644 +index e5645e2..170a0be 100644 --- a/src/camel/providers/imapx/camel-imapx-server.c +++ b/src/camel/providers/imapx/camel-imapx-server.c @@ -5573,7 +5573,18 @@ camel_imapx_server_skip_old_flags_update (CamelStore *store) @@ -442,7 +442,7 @@ index 8e4ee81..bb8f8f7 100644 g_object_unref (settings); diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c -index 5a21872..a56d589 100644 +index 7783781..6fb22cb 100644 --- a/src/libedataserver/e-oauth2-service.c +++ b/src/libedataserver/e-oauth2-service.c @@ -90,7 +90,18 @@ eos_default_guess_can_process (EOAuth2Service *service, diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix index bd2777610fa3..4161598634f9 100644 --- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix @@ -64,11 +64,11 @@ stdenv.mkDerivation rec { pname = "gnome-control-center"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-mIyTNZLL3E5/DbqakyYuYXtzniWSeqFuF3lgx1TjHEg="; + sha256 = "sha256-6YvGt4Sv0E8pfbXo5sWZEOLNCQMycQd08m3I3omvT8c="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix index 7bf3e42ff3ca..f1d63a78df16 100644 --- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix @@ -38,11 +38,11 @@ stdenv.mkDerivation rec { pname = "gnome-initial-setup"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "Ap7LgZM/QE+k9spVvuR7A++JDoRGK/FF9u4JR34aOVU="; + sha256 = "gQTnBD75uY4rULKrOP2gX9BDf4xVVp+haDC3vle+DfY="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix index e1655b2b7c50..daf0e8f4fcdc 100644 --- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix +++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation rec { pname = "gnome-remote-desktop"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-NrWdIeyuRLllzZHmynwMAJ1gcOwxyEt3wERZXddSeAs="; + hash = "sha256-vYR8PKdzYJlTNEYs1GnkWhJHnxHAxI6WUCjtXLgHpbI="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix index 2ab87cf2924a..e971d5ce9293 100644 --- a/pkgs/desktops/gnome/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome/core/gnome-software/default.nix @@ -45,11 +45,11 @@ in stdenv.mkDerivation rec { pname = "gnome-software"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "8WUuquJ0pqhwlQAENRZGUgDMdVlNzM2bShWZsKxJ5o8="; + sha256 = "wmdWie53vhHY/waq+kFsTK/EjTgRVTpz7PdkvWr/RHA="; }; patches = [ diff --git a/pkgs/desktops/gnome/find-latest-version.py b/pkgs/desktops/gnome/find-latest-version.py index 3078999e3e5b..1cc2b55fadb3 100644 --- a/pkgs/desktops/gnome/find-latest-version.py +++ b/pkgs/desktops/gnome/find-latest-version.py @@ -3,85 +3,160 @@ import math import json import requests import sys +from enum import Enum from libversion import Version -from typing import Optional +from typing import ( + Callable, + Iterable, + List, + NamedTuple, + Optional, + Tuple, + TypeVar, + Type, + cast, +) -def version_to_list(version): +EnumValue = TypeVar("EnumValue", bound=Enum) + + +def enum_to_arg(enum: Enum) -> str: + return enum.name.lower().replace("_", "-") + + +def arg_to_enum(enum_meta: Type[EnumValue], name: str) -> EnumValue: + return enum_meta[name.upper().replace("-", "_")] + + +def enum_to_arg_choices(enum_meta: Type[EnumValue]) -> Tuple[str, ...]: + return tuple(enum_to_arg(v) for v in cast(Iterable[EnumValue], enum_meta)) + + +class Stability(Enum): + STABLE = "stable" + UNSTABLE = "unstable" + + +VersionPolicy = Callable[[Version], bool] +VersionPredicate = Callable[[Version, Stability], bool] + + +class VersionPredicateHolder(NamedTuple): + function: VersionPredicate + + +def version_to_list(version: str) -> List[int]: return list(map(int, version.split("."))) -def odd_unstable(version: Version, selected): +def odd_unstable(version: Version, selected: Stability) -> bool: try: - version = version_to_list(version.value) + version_parts = version_to_list(version.value) except: # Failing to parse as a list of numbers likely means the version contains a string tag like “beta”, therefore it is not a stable release. - return selected != "stable" + return selected != Stability.STABLE - if len(version) < 2: + if len(version_parts) < 2: return True - even = version[1] % 2 == 0 - prerelease = (version[1] >= 90 and version[1] < 100) or (version[1] >= 900 and version[1] < 1000) + even = version_parts[1] % 2 == 0 + prerelease = (version_parts[1] >= 90 and version_parts[1] < 100) or (version_parts[1] >= 900 and version_parts[1] < 1000) stable = even and not prerelease - if selected == "stable": + if selected == Stability.STABLE: return stable else: return True -def tagged(version: Version, selected): - if selected == "stable": +def tagged(version: Version, selected: Stability) -> bool: + if selected == Stability.STABLE: return not ("alpha" in version.value or "beta" in version.value or "rc" in version.value) else: return True -def no_policy(version: Version, selected): +def no_policy(version: Version, selected: Stability) -> bool: return True -version_policies = { - "odd-unstable": odd_unstable, - "tagged": tagged, - "none": no_policy, -} +class VersionPolicyKind(Enum): + # HACK: Using function as values directly would make Enum + # think they are methods and skip them. + ODD_UNSTABLE = VersionPredicateHolder(odd_unstable) + TAGGED = VersionPredicateHolder(tagged) + NONE = VersionPredicateHolder(no_policy) -def make_version_policy(version_predicate, selected, upper_bound: Optional[Version]): +def make_version_policy( + version_policy_kind: VersionPolicyKind, + selected: Stability, + upper_bound: Optional[Version], +) -> VersionPolicy: + version_predicate = version_policy_kind.value.function if not upper_bound: return lambda version: version_predicate(version, selected) else: return lambda version: version_predicate(version, selected) and version < upper_bound -parser = argparse.ArgumentParser(description="Find latest version for a GNOME package by crawling their release server.") -parser.add_argument("package-name", help="Name of the directory in https://ftp.gnome.org/pub/GNOME/sources/ containing the package.") -parser.add_argument("version-policy", help="Policy determining which versions are considered stable. GNOME packages usually denote stability by alpha/beta/rc tag in the version. For older packages, odd minor versions are unstable but there are exceptions.", choices=version_policies.keys(), nargs="?", default="tagged") -parser.add_argument("requested-release", help="Most of the time, we will want to update to stable version but sometimes it is useful to test.", choices=["stable", "unstable"], nargs="?", default="stable") -parser.add_argument("--upper-bound", dest="upper-bound", help="Only look for versions older than this one (useful for pinning dependencies).") +def find_versions(package_name: str, version_policy: VersionPolicy) -> List[Version]: + # The structure of cache.json: https://gitlab.gnome.org/Infrastructure/sysadmin-bin/blob/master/ftpadmin#L762 + cache = json.loads(requests.get(f"https://ftp.gnome.org/pub/GNOME/sources/{package_name}/cache.json").text) + if type(cache) != list or cache[0] != 4: + raise Exception("Unknown format of cache.json file.") + + versions: Iterable[Version] = map(Version, cache[2][package_name]) + versions = sorted(filter(version_policy, versions)) + + return versions + + +parser = argparse.ArgumentParser( + description="Find latest version for a GNOME package by crawling their release server.", +) +parser.add_argument( + "package-name", + help="Name of the directory in https://ftp.gnome.org/pub/GNOME/sources/ containing the package.", +) +parser.add_argument( + "version-policy", + help="Policy determining which versions are considered stable. GNOME packages usually denote stability by alpha/beta/rc tag in the version. For older packages, odd minor versions are unstable but there are exceptions.", + choices=enum_to_arg_choices(VersionPolicyKind), + nargs="?", + default=enum_to_arg(VersionPolicyKind.TAGGED), +) +parser.add_argument( + "requested-release", + help="Most of the time, we will want to update to stable version but sometimes it is useful to test.", + choices=enum_to_arg_choices(Stability), + nargs="?", + default=enum_to_arg(Stability.STABLE), +) +parser.add_argument( + "--upper-bound", + dest="upper-bound", + help="Only look for versions older than this one (useful for pinning dependencies).", +) if __name__ == "__main__": args = parser.parse_args() package_name = getattr(args, "package-name") - requested_release = getattr(args, "requested-release") + requested_release = arg_to_enum(Stability, getattr(args, "requested-release")) upper_bound = getattr(args, "upper-bound") - if upper_bound: + if upper_bound is not None: upper_bound = Version(upper_bound) - version_predicate = version_policies[getattr(args, "version-policy")] - version_policy = make_version_policy(version_predicate, requested_release, upper_bound) + version_policy_kind = arg_to_enum(VersionPolicyKind, getattr(args, "version-policy")) + version_policy = make_version_policy(version_policy_kind, requested_release, upper_bound) - # The structure of cache.json: https://gitlab.gnome.org/Infrastructure/sysadmin-bin/blob/master/ftpadmin#L762 - cache = json.loads(requests.get(f"https://ftp.gnome.org/pub/GNOME/sources/{package_name}/cache.json").text) - if type(cache) != list or cache[0] != 4: - print("Unknown format of cache.json file.", file=sys.stderr) + try: + versions = find_versions(package_name, version_policy) + except Exception as error: + print(error, file=sys.stderr) sys.exit(1) - versions = map(Version, cache[2][package_name]) - versions = sorted(filter(version_policy, versions)) - if len(versions) == 0: print("No versions matched.", file=sys.stderr) sys.exit(1) diff --git a/pkgs/desktops/gnome/update.nix b/pkgs/desktops/gnome/update.nix index e945e005d48d..ce8ed07a5ae3 100644 --- a/pkgs/desktops/gnome/update.nix +++ b/pkgs/desktops/gnome/update.nix @@ -1,4 +1,4 @@ -{ stdenv, bash, pkgs, lib, writeScript, python3, common-updater-scripts }: +{ stdenv, pkgs, lib, writeScript, python3, common-updater-scripts }: { packageName, attrPath ? packageName, versionPolicy ? "tagged", freeze ? false }: let @@ -20,24 +20,62 @@ let else throw "“freeze” argument needs to be either a boolean, or a version string."; updateScript = writeScript "gnome-update-script" '' - #!${bash}/bin/bash - set -o errexit - attr_path="$1" - package_name="$2" - package_version="$3" - version_policy="$4" + #!${python}/bin/python + import json + import os + import subprocess + import sys + from libversion import Version - flvFlags=("$package_name" "$version_policy" "''${GNOME_UPDATE_STABILITY:-stable}") + _, attr_path, package_name, package_version, version_policy, *remaining_args = sys.argv - if (( $# >= 5 )); then - upper_bound="$5" - flvFlags+=("--upper-bound=$upper_bound") - fi + flv_args = [ + package_name, + version_policy, + os.environ.get("GNOME_UPDATE_STABILITY", "stable"), + ] - PATH=${lib.makeBinPath [ common-updater-scripts python ]} - latest_tag=$(python "${./find-latest-version.py}" "''${flvFlags[@]}") - update-source-version "$attr_path" "$latest_tag" - echo '[ { "commitBody": "https://gitlab.gnome.org/GNOME/'$package_name'/-/compare/'$package_version'...'$latest_tag'" } ]' + match remaining_args: + case []: + pass + case [upper_bound]: + flv_args.append(f"--upper-bound={upper_bound}") + case other: + print("gnome-update-script: Received too many arguments.", file=sys.stderr) + sys.exit(1) + + latest_tag = subprocess.check_output( + [ + "${python}/bin/python", + "${./find-latest-version.py}", + *flv_args, + ], + encoding="utf-8", + ) + + if Version(latest_tag) <= Version(package_version): + # No newer updates found. + print(json.dumps([])) + sys.exit(0) + + latest_tag = latest_tag.strip() + subprocess.run( + [ + "${common-updater-scripts}/bin/update-source-version", + attr_path, + latest_tag, + ], + check=True, + ) + + report = [ + { + "attrPath": attr_path, + "commitBody": f"https://gitlab.gnome.org/GNOME/{package_name}/-/compare/{package_version}...{latest_tag}", + }, + ] + + print(json.dumps(report)) ''; in { name = "gnome-update-script"; diff --git a/pkgs/development/libraries/amtk/default.nix b/pkgs/development/libraries/amtk/default.nix index ab8cbf617412..26f9e7574408 100644 --- a/pkgs/development/libraries/amtk/default.nix +++ b/pkgs/development/libraries/amtk/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "amtk"; - version = "5.5.1"; + version = "5.5.2"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "7Ilt0BfiwUNoUuXmCXD80IML0SFI1XzBvcDZOCa925w="; + sha256 = "x33S2PVex2tQItmW5RJ82S7GqhePo+jzP1fbukXfiIY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix index 7a6c7813224b..ac4b0b34794e 100644 --- a/pkgs/development/libraries/gtk/4.x.nix +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -63,7 +63,7 @@ in stdenv.mkDerivation rec { pname = "gtk4"; - version = "4.8.1"; + version = "4.8.2"; outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ]; outputBin = "dev"; @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz"; - sha256 = "XOjY3piiO9DI7KGmEJThwAm18AncvWC0XpkKjbG3Qv0="; + sha256 = "hbehYLbgLq+k59OPBG+HIPq1N9P+c8AchkMzqYOmkqk="; }; depsBuildBuild = [ @@ -179,7 +179,6 @@ stdenv.mkDerivation rec { postPatch = '' files=( - build-aux/meson/post-install.py build-aux/meson/gen-demo-header.py demos/gtk-demo/geninclude.py gdk/broadway/gen-c-array.py @@ -191,13 +190,6 @@ stdenv.mkDerivation rec { chmod +x ''${files[@]} patchShebangs ''${files[@]} - '' + - # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) - # it should be a build-time dep for build - # TODO: send upstream - '' - substituteInPlace meson.build \ - --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" ''; preInstall = '' diff --git a/pkgs/development/libraries/libshumate/default.nix b/pkgs/development/libraries/libshumate/default.nix index 2c1f4365b5a6..ef56f936dccf 100644 --- a/pkgs/development/libraries/libshumate/default.nix +++ b/pkgs/development/libraries/libshumate/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "libshumate"; - version = "1.0.1"; + version = "1.0.2"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "devdoc"; # demo app @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { owner = "GNOME"; repo = "libshumate"; rev = version; - sha256 = "fpHMfxnPnGJSfJe4kJ28+704QjjRwYddOZAB17QxXno="; + sha256 = "zmPsWdTbM+T50X0BsVTn1Aw/5N6sL5hIQiRG5WSG1eg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix index 83ea313f9e9a..5f1b7f3f34d1 100644 --- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix +++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { pname = "xdg-desktop-portal-gnome"; - version = "43.0"; + version = "43.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "DhhnpFvKpd2yQKTP2yLdBVz4fwchC547twlJ88e+FqY="; + sha256 = "Ca22bG2RU+bwXfZtqirWKl3g42Zl6dIpUXO7DdxTtM0="; }; nativeBuildInputs = [