From e1f0e3f4f7594b889b5e13fca373303790f9ce8d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Feb 2026 05:48:47 +0000 Subject: [PATCH 001/105] python3Packages.types-protobuf: 6.32.1.20251210 -> 6.32.1.20260221 --- pkgs/development/python-modules/types-protobuf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix index 2a50446c1342..b05bba749eb5 100644 --- a/pkgs/development/python-modules/types-protobuf/default.nix +++ b/pkgs/development/python-modules/types-protobuf/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "types-protobuf"; - version = "6.32.1.20251210"; + version = "6.32.1.20260221"; format = "setuptools"; src = fetchPypi { pname = "types_protobuf"; inherit version; - hash = "sha256-xpi7PwICdLGieYrgncdzcozj91IJo1GHvRGRbr/eZ2M="; + hash = "sha256-bV+wYKYWv7B2y7YbSzw5afX8i+xYEPmi9+ZI7ly8v24="; }; propagatedBuildInputs = [ types-futures ]; From c3f0c3ec350c468e8bde679941366cfb52a27cb6 Mon Sep 17 00:00:00 2001 From: lwb Date: Wed, 4 Feb 2026 00:28:26 +0800 Subject: [PATCH 002/105] nixos/limine: add settings autoGenerateKeys & autoEnrollKeys --- .../boot/loader/limine/limine-install.py | 19 ++++++----- .../system/boot/loader/limine/limine.nix | 34 ++++++++++++++----- nixos/tests/limine/secure-boot.nix | 4 ++- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/nixos/modules/system/boot/loader/limine/limine-install.py b/nixos/modules/system/boot/loader/limine/limine-install.py index 4b17e06e9051..15a0c3a7383a 100644 --- a/nixos/modules/system/boot/loader/limine/limine-install.py +++ b/nixos/modules/system/boot/loader/limine/limine-install.py @@ -430,7 +430,7 @@ def install_bootloader() -> None: partition formatted as FAT. ''')) - if config('secureBoot', 'enable') and not config('secureBoot', 'createAndEnrollKeys') and not os.path.exists("/var/lib/sbctl"): + if config('secureBoot', 'enable') and not config('secureBoot', 'autoGenerateKeys') and not os.path.exists("/var/lib/sbctl"): print("There are no sbctl secure boot keys present. Please generate some.") sys.exit(1) @@ -557,18 +557,21 @@ def install_bootloader() -> None: if config('secureBoot', 'enable'): sbctl = os.path.join(str(config('secureBoot', 'sbctl')), 'bin', 'sbctl') - if config('secureBoot', 'createAndEnrollKeys'): - print("TEST MODE: creating and enrolling keys") + if not os.path.exists("/var/lib/sbctl") and config('secureBoot', 'autoGenerateKeys'): + print('auto generating keys') try: subprocess.run([sbctl, 'create-keys']) except: print('error: failed to create keys', file=sys.stderr) sys.exit(1) - try: - subprocess.run([sbctl, 'enroll-keys', '--yes-this-might-brick-my-machine']) - except: - print('error: failed to enroll keys', file=sys.stderr) - sys.exit(1) + if config('secureBoot', 'autoEnrollKeys', 'enable'): + try: + command = [sbctl, 'enroll-keys'] + command.extend(config('secureBoot', 'autoEnrollKeys', 'extraArgs')) + subprocess.run(command) + except: + print('error: failed to enroll keys', file=sys.stderr) + sys.exit(1) print('signing limine...') try: diff --git a/nixos/modules/system/boot/loader/limine/limine.nix b/nixos/modules/system/boot/loader/limine/limine.nix index ec504a43685d..10d1093b65ba 100644 --- a/nixos/modules/system/boot/loader/limine/limine.nix +++ b/nixos/modules/system/boot/loader/limine/limine.nix @@ -224,16 +224,22 @@ in ''; }; - createAndEnrollKeys = lib.mkEnableOption null // { - internal = true; - description = '' - Creates secure boot signing keys and enrolls them during bootloader installation. + autoGenerateKeys = lib.mkEnableOption null // { + description = "Generate keys automatically when none exists during bootloader installation"; + }; - ::: {.note} - This is used for automated nixos tests. - NOT INTENDED to be used on a real system. - ::: - ''; + autoEnrollKeys = { + enable = lib.mkEnableOption null // { + description = "Enroll automatically generated keys"; + }; + extraArgs = lib.mkOption { + default = [ + "--microsoft" + "--firmware-builtin" + ]; + type = lib.types.listOf lib.types.str; + description = "Extra arguments passed to sbctl"; + }; }; sbctl = lib.mkPackageOption pkgs "sbctl" { }; @@ -485,5 +491,15 @@ in DisableShimForSecureBoot = true; }; }) + (lib.mkIf (cfg.enable && cfg.secureBoot.enable && cfg.secureBoot.autoEnrollKeys.enable) { + assertions = [ + { + assertion = cfg.secureBoot.autoGenerateKeys; + message = "autoEnrollKeys doesn't do anything without autoGenerateKeys."; + } + ]; + + boot.loader.limine.secureBoot.autoGenerateKeys = true; + }) ]; } diff --git a/nixos/tests/limine/secure-boot.nix b/nixos/tests/limine/secure-boot.nix index 9811734db5cb..798b200dee32 100644 --- a/nixos/tests/limine/secure-boot.nix +++ b/nixos/tests/limine/secure-boot.nix @@ -24,7 +24,9 @@ boot.loader.limine.enable = true; boot.loader.limine.efiSupport = true; boot.loader.limine.secureBoot.enable = true; - boot.loader.limine.secureBoot.createAndEnrollKeys = true; + boot.loader.limine.secureBoot.autoGenerateKeys = true; + boot.loader.limine.secureBoot.autoEnrollKeys.enable = true; + boot.loader.limine.secureBoot.autoEnrollKeys.extraArgs = [ "--yes-this-might-brick-my-machine" ]; boot.loader.timeout = 0; environment.systemPackages = [ pkgs.mokutil ]; From ebe5b81260d8f5569ace5b8de0ea7791738295e2 Mon Sep 17 00:00:00 2001 From: Markus Bajones Date: Tue, 10 Mar 2026 21:03:41 +0100 Subject: [PATCH 003/105] fosrl-pangolin: 1.15.3 -> 1.16.2 --- pkgs/by-name/fo/fosrl-pangolin/package.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/fo/fosrl-pangolin/package.nix b/pkgs/by-name/fo/fosrl-pangolin/package.nix index 60ee7a0916c9..7a83fd859dea 100644 --- a/pkgs/by-name/fo/fosrl-pangolin/package.nix +++ b/pkgs/by-name/fo/fosrl-pangolin/package.nix @@ -29,16 +29,16 @@ in buildNpmPackage (finalAttrs: { pname = "pangolin"; - version = "1.15.3"; + version = "1.16.2"; src = fetchFromGitHub { owner = "fosrl"; repo = "pangolin"; tag = finalAttrs.version; - hash = "sha256-UGfwbFbuQ0ljipCjnPxZ/Is2hh1vjZJb97Lo/43sWeg="; + hash = "sha256-pWD2VinfkCiSSP6/einXgduKQ8lzWdHlrj2eqUU/x6Y="; }; - npmDepsHash = "sha256-kfgwU5QusUNWVcRXlYCS3ES1Av/phCHG8nFBj0yjz2Q="; + npmDepsHash = "sha256-CwS26eRAIuxJ2fekRRapDWYAOHXPV0mIX/by4uW2ZOM="; nativeBuildInputs = [ esbuild @@ -49,12 +49,16 @@ buildNpmPackage (finalAttrs: { # Based on pkgs.nextjs-ollama-llm-ui. postPatch = '' substituteInPlace src/app/layout.tsx --replace-fail \ - "{ Geist, Inter, Manrope, Open_Sans } from \"next/font/google\"" \ + "{ Inter } from \"next/font/google\"" \ "localFont from \"next/font/local\"" substituteInPlace src/app/layout.tsx --replace-fail \ - "const font = Inter({${"\n"} subsets: [\"latin\"]${"\n"}});" \ - "const font = localFont({ src: './Inter.ttf' });" + "const inter = Inter({${"\n"} subsets: [\"latin\"]${"\n"}});" \ + "const inter = localFont({ src: './Inter.ttf' });" + + substituteInPlace server/lib/consts.ts --replace-fail \ + 'export const APP_VERSION = "1.16.0";' \ + 'export const APP_VERSION = "${finalAttrs.version}";' cp "${inter}/share/fonts/truetype/InterVariable.ttf" src/app/Inter.ttf ''; @@ -62,7 +66,7 @@ buildNpmPackage (finalAttrs: { preBuild = '' npm run set:${db false} npm run set:oss - npm run db:${db false}:generate + npm run db:generate ''; buildPhase = '' From 9927ccc5a8aeb7d8eae35a89a820ed9cde88ecc4 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 27 Mar 2026 19:55:25 +0100 Subject: [PATCH 004/105] python3Packages.django-waffle: init at 5.0.0 Introduced as a new dependency for lausite-docs. Co-Authored-By: Martin Weinelt --- .../python-modules/django-waffle/default.nix | 48 +++++++++++++++++++ .../django-waffle/middleware-compat.patch | 31 ++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 81 insertions(+) create mode 100644 pkgs/development/python-modules/django-waffle/default.nix create mode 100644 pkgs/development/python-modules/django-waffle/middleware-compat.patch diff --git a/pkgs/development/python-modules/django-waffle/default.nix b/pkgs/development/python-modules/django-waffle/default.nix new file mode 100644 index 000000000000..95cdf739e689 --- /dev/null +++ b/pkgs/development/python-modules/django-waffle/default.nix @@ -0,0 +1,48 @@ +{ + buildPythonPackage, + fetchFromGitHub, + django, + lib, + setuptools, + pytestCheckHook, + pytest-django, +}: + +buildPythonPackage (finalAttrs: { + pname = "django-waffle"; + version = "5.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "django-waffle"; + repo = "django-waffle"; + tag = "v${finalAttrs.version}"; + hash = "sha256-wirB2Y4iONmAMVt9o8aTkeB1WQzcvktQOAMEeXMM1x8="; + }; + + patches = [ + # Middleware object requires a request -> response callable + ./middleware-compat.patch + ]; + + build-system = [ setuptools ]; + + dependencies = [ django ]; + + nativeCheckInputs = [ + pytest-django + pytestCheckHook + ]; + + preCheck = '' + export DJANGO_SETTINGS_MODULE=test_settings + ''; + + meta = { + changelog = "https://github.com/django-waffle/django-waffle/releases/tag/${finalAttrs.src.tag}"; + description = "Feature flipper for Django"; + homepage = "https://waffle.readthedocs.io/en/stable/"; + maintainers = [ lib.maintainers.ma27 ]; + license = lib.licenses.bsd3; + }; +}) diff --git a/pkgs/development/python-modules/django-waffle/middleware-compat.patch b/pkgs/development/python-modules/django-waffle/middleware-compat.patch new file mode 100644 index 000000000000..133159cb1fac --- /dev/null +++ b/pkgs/development/python-modules/django-waffle/middleware-compat.patch @@ -0,0 +1,31 @@ +diff --git a/waffle/tests/test_middleware.py b/waffle/tests/test_middleware.py +index 11af7c9..27293df 100644 +--- a/waffle/tests/test_middleware.py ++++ b/waffle/tests/test_middleware.py +@@ -13,7 +13,7 @@ def test_set_cookies(): + assert 'dwf_foo' not in resp.cookies + assert 'dwf_bar' not in resp.cookies + +- resp = WaffleMiddleware().process_response(get, resp) ++ resp = WaffleMiddleware(lambda request: HttpResponse()).process_response(get, resp) + assert 'dwf_foo' in resp.cookies + assert 'dwf_bar' in resp.cookies + +@@ -27,7 +27,7 @@ def test_rollout_cookies(): + 'baz': [True, False], + 'qux': [False, False]} + resp = HttpResponse() +- resp = WaffleMiddleware().process_response(get, resp) ++ resp = WaffleMiddleware(lambda request: HttpResponse()).process_response(get, resp) + for k in get.waffles: + cookie = f'dwf_{k}' + assert cookie in resp.cookies +@@ -42,7 +42,7 @@ def test_testing_cookies(): + get.waffles = {} + get.waffle_tests = {'foo': True, 'bar': False} + resp = HttpResponse() +- resp = WaffleMiddleware().process_response(get, resp) ++ resp = WaffleMiddleware(lambda request: HttpResponse()).process_response(get, resp) + for k in get.waffle_tests: + cookie = f'dwft_{k}' + assert str(get.waffle_tests[k]) == resp.cookies[cookie].value diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 361b7833be50..48d7b5751628 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4426,6 +4426,8 @@ self: super: with self; { django-vite = callPackage ../development/python-modules/django-vite { }; + django-waffle = callPackage ../development/python-modules/django-waffle { }; + django-weasyprint = callPackage ../development/python-modules/django-weasyprint { }; django-webpack-loader = callPackage ../development/python-modules/django-webpack-loader { }; From af50eca10fed3d32aad8f861149b852abcd238e7 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 28 Mar 2026 18:39:28 +0100 Subject: [PATCH 005/105] lasuite-docs{,-frontend,-collaboration-server}: add myself as maintainer --- .../by-name/la/lasuite-docs-collaboration-server/package.nix | 5 ++++- pkgs/by-name/la/lasuite-docs-frontend/package.nix | 5 ++++- pkgs/by-name/la/lasuite-docs/package.nix | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix index 147c814dab10..7754a4bf3063 100644 --- a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix +++ b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix @@ -60,7 +60,10 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/suitenumerique/docs/blob/${finalAttrs.src.tag}/CHANGELOG.md"; mainProgram = "docs-collaboration-server"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ soyouzpanda ]; + maintainers = with lib.maintainers; [ + soyouzpanda + ma27 + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/la/lasuite-docs-frontend/package.nix b/pkgs/by-name/la/lasuite-docs-frontend/package.nix index 9047413c1fd3..0378bfcec3d4 100644 --- a/pkgs/by-name/la/lasuite-docs-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-docs-frontend/package.nix @@ -51,7 +51,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/suitenumerique/docs"; changelog = "https://github.com/suitenumerique/docs/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ soyouzpanda ]; + maintainers = with lib.maintainers; [ + soyouzpanda + ma27 + ]; platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/la/lasuite-docs/package.nix b/pkgs/by-name/la/lasuite-docs/package.nix index e38e23cd5c02..a4695888a4d3 100644 --- a/pkgs/by-name/la/lasuite-docs/package.nix +++ b/pkgs/by-name/la/lasuite-docs/package.nix @@ -156,7 +156,10 @@ python3Packages.buildPythonApplication (finalAttrs: { homepage = "https://github.com/suitenumerique/docs"; changelog = "https://github.com/suitenumerique/docs/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ soyouzpanda ]; + maintainers = with lib.maintainers; [ + soyouzpanda + ma27 + ]; mainProgram = "docs"; platforms = lib.platforms.all; }; From d0c9057f6b402eab85ae52bc93a7b96c6c5a6b93 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 29 Mar 2026 10:06:03 -0500 Subject: [PATCH 006/105] yabai: 7.1.17 -> 7.1.18 Changelog: https://github.com/asmvik/yabai/blob/v7.1.18/CHANGELOG.md --- pkgs/by-name/ya/yabai/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ya/yabai/package.nix b/pkgs/by-name/ya/yabai/package.nix index 486ba8436fe3..5cced3bfb69c 100644 --- a/pkgs/by-name/ya/yabai/package.nix +++ b/pkgs/by-name/ya/yabai/package.nix @@ -14,7 +14,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "yabai"; - version = "7.1.17"; + version = "7.1.18"; src = finalAttrs.passthru.sources.${stdenv.hostPlatform.system} @@ -66,13 +66,13 @@ stdenv.mkDerivation (finalAttrs: { # See the comments on https://github.com/NixOS/nixpkgs/pull/188322 for more information. "aarch64-darwin" = fetchzip { url = "https://github.com/asmvik/yabai/releases/download/v${finalAttrs.version}/yabai-v${finalAttrs.version}.tar.gz"; - hash = "sha256-LMR5YMNNmDDLOMhRKiFIE3+JaEZiRTyGAO1o0LSDVTQ="; + hash = "sha256-DAMSbAO+Azb+3yyJidBHnB9JWALiW/rUItzBStzK6SU="; }; "x86_64-darwin" = fetchFromGitHub { owner = "asmvik"; repo = "yabai"; rev = "v${finalAttrs.version}"; - hash = "sha256-XBJUh2l1DurftKZtved0D4LXe+kQ5od9SfIL6J/ymKI="; + hash = "sha256-go3CsFxJCHpEJ8EGv9B5pXt/1AifGLM8S5TIXkhKgDc="; }; }; From f1d450eb1718305ab4f1f70663352e692ff69ce6 Mon Sep 17 00:00:00 2001 From: 2kybe3 Date: Sun, 29 Mar 2026 21:46:59 +0200 Subject: [PATCH 007/105] usage: 3.0.0 -> 3.2.0 --- pkgs/by-name/us/usage/package.nix | 10 +++++++--- pkgs/by-name/us/usage/use-bin-exe-env.patch | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/us/usage/use-bin-exe-env.patch diff --git a/pkgs/by-name/us/usage/package.nix b/pkgs/by-name/us/usage/package.nix index fc64c2bd80d8..58e6a1183629 100644 --- a/pkgs/by-name/us/usage/package.nix +++ b/pkgs/by-name/us/usage/package.nix @@ -12,16 +12,20 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "usage"; - version = "3.0.0"; + version = "3.2.0"; src = fetchFromGitHub { owner = "jdx"; repo = "usage"; tag = "v${finalAttrs.version}"; - hash = "sha256-KC3fIfFnXn5K1E1CyHLADaEesXFilCrIe9MYOH/fkrI="; + hash = "sha256-0yonwl/2BIkGUs0uOBP+Pjo93NvLVK4QQQj/K4C4NNY="; }; - cargoHash = "sha256-RNeHa3V4oCvtiR6/ntTegKl62ByWZbFeliFJVgsHYrQ="; + cargoHash = "sha256-jxTN+La7Ye2okRZGAY6niIvvRf2E4vFFHd1nny7JJDo="; + + patches = [ + ./use-bin-exe-env.patch + ]; postPatch = '' substituteInPlace ./examples/*.sh \ diff --git a/pkgs/by-name/us/usage/use-bin-exe-env.patch b/pkgs/by-name/us/usage/use-bin-exe-env.patch new file mode 100644 index 000000000000..832881faeb85 --- /dev/null +++ b/pkgs/by-name/us/usage/use-bin-exe-env.patch @@ -0,0 +1,17 @@ +diff --git a/cli/tests/shell_completions_integration.rs b/cli/tests/shell_completions_integration.rs +index 815c44c..51b5dd9 100644 +--- a/cli/tests/shell_completions_integration.rs ++++ b/cli/tests/shell_completions_integration.rs +@@ -25,6 +25,13 @@ fn run_complete_word(usage_bin: &Path, shell: &str, spec_file: &Path, words: &[& + + /// Build the usage binary and return its path + fn build_usage_binary() -> PathBuf { ++ if let Some(usage_path) = std::env::var("CARGO_BIN_EXE_usage") ++ .ok() ++ .filter(|s| !s.is_empty()) ++ { ++ return PathBuf::from(usage_path); ++ } ++ + let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + let workspace_root = manifest_dir.parent().unwrap(); From 60e3da3bbd253fb3b91ce266ab7c065b318f22b3 Mon Sep 17 00:00:00 2001 From: Harinn Date: Mon, 30 Mar 2026 03:30:08 +0700 Subject: [PATCH 008/105] gitu: 0.40.0 -> 0.41.0 --- pkgs/by-name/gi/gitu/package.nix | 12 +++---- pkgs/by-name/gi/gitu/unit-tests-compile.patch | 31 ------------------- 2 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 pkgs/by-name/gi/gitu/unit-tests-compile.patch diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix index 331ab35977b2..77436798588b 100644 --- a/pkgs/by-name/gi/gitu/package.nix +++ b/pkgs/by-name/gi/gitu/package.nix @@ -11,20 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gitu"; - version = "0.40.0"; + version = "0.41.0"; src = fetchFromGitHub { owner = "altsem"; repo = "gitu"; - rev = "v${finalAttrs.version}"; - hash = "sha256-JNa9foW5z0NrXk5r/Oep20+u7YRhkzMIZQPHlZVifGI="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Q1U9a9GZJcpAF6VDqBGZW4eBW/5P6uz+C+/2+/vjqTM="; }; - patches = [ - ./unit-tests-compile.patch - ]; - - cargoHash = "sha256-mQ5xXYVmadmNx57nnJGICZ2dhll+V3PkYK+hwTTfdVE="; + cargoHash = "sha256-RP8n3RZzWA0AYhsRnblmzefRsT6+Qje2ah7eFYk69ow="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/gi/gitu/unit-tests-compile.patch b/pkgs/by-name/gi/gitu/unit-tests-compile.patch deleted file mode 100644 index fe071adde849..000000000000 --- a/pkgs/by-name/gi/gitu/unit-tests-compile.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git i/src/git/parse/status/mod.rs w/src/git/parse/status/mod.rs -index 5595ca1..8929d79 100644 ---- i/src/git/parse/status/mod.rs -+++ w/src/git/parse/status/mod.rs -@@ -703,10 +703,12 @@ R old.rs -> new.rs - for c2 in &status_chars { - input.push(*c1); - input.push(*c2); -+ let c1_str = c1.to_string(); -+ let c2_str = c2.to_string(); - input.push_str(&format!( - " file_{}_{}.txt\n", -- if *c1 == ' ' { "space" } else { &c1.to_string() }, -- if *c2 == ' ' { "space" } else { &c2.to_string() } -+ if *c1 == ' ' { "space" } else { &c1_str }, -+ if *c2 == ' ' { "space" } else { &c2_str } - )); - count += 1; - } -diff --git i/src/tests/remote.rs w/src/tests/remote.rs -index 7a81a50..0ac14f5 100644 ---- i/src/tests/remote.rs -+++ w/src/tests/remote.rs -@@ -1,6 +1,6 @@ - use git2::{Buf, Error, Repository}; - --use crate::{git::remote::*, repo_setup_clone, setup_clone, tests::helpers::RepoTestContext}; -+use crate::{git::remote::*, repo_setup_clone, tests::helpers::RepoTestContext}; - - use super::*; - From 984ec8fe43dd806833c7cbf75cfad0836ca4cc7b Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 29 Mar 2026 14:10:33 -0700 Subject: [PATCH 009/105] nixos/stratisroot: remove aes_generic With kernel versions at 7.0 or greater, `aes_generic` no longer exists and is now just called `aes`. The `aes` module alias has existed since at least 5.10 (the oldest kernel currently in nixpkgs), so is sufficient to load `aes_generic` on older kernels. --- nixos/modules/system/boot/stratisroot.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/system/boot/stratisroot.nix b/nixos/modules/system/boot/stratisroot.nix index 1f91192c93c1..349133ab540c 100644 --- a/nixos/modules/system/boot/stratisroot.nix +++ b/nixos/modules/system/boot/stratisroot.nix @@ -76,7 +76,6 @@ in ] ++ [ "aes" - "aes_generic" "blowfish" "twofish" "serpent" From ae8b3f7d554dba6ea1dabb93f1531159f2cfb174 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 29 Mar 2026 14:12:27 -0700 Subject: [PATCH 010/105] nixos/luksroot: remove aes_generic With kernel versions at 7.0 or greater, `aes_generic` no longer exists and is now just called `aes`. The `aes` module alias has existed since at least 5.10 (the oldest kernel currently in nixpkgs), so is sufficient to load `aes_generic` on older kernels. --- nixos/modules/system/boot/luksroot.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index e925a1e7d2d0..3f5bd56539a0 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -635,7 +635,6 @@ in type = types.listOf types.str; default = [ "aes" - "aes_generic" "blowfish" "twofish" "serpent" From 230998b48fcd9a18ea4332fbbbb0756f7adf40f3 Mon Sep 17 00:00:00 2001 From: FlameFlag Date: Sun, 29 Mar 2026 15:34:05 +0300 Subject: [PATCH 011/105] stats: build from source Also update to latest version: Changelog: https://github.com/exelban/stats/releases/tag/v2.12.7 Diff: https://github.com/exelban/stats/compare/v2.12.1...v2.12.7 --- pkgs/by-name/st/stats/package.nix | 332 ++++++++++++++++++++++++++++-- 1 file changed, 318 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix index aa1bfd2049e6..ab288d597aed 100644 --- a/pkgs/by-name/st/stats/package.nix +++ b/pkgs/by-name/st/stats/package.nix @@ -1,29 +1,334 @@ { lib, - stdenvNoCC, - fetchurl, - undmg, + swiftPackages, + fetchFromGitHub, + darwin, + leveldb, + perl, + actool, + makeWrapper, nix-update-script, }: -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "stats"; - version = "2.12.1"; +let + inherit (swiftPackages) stdenv swift; - src = fetchurl { - url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg"; - hash = "sha256-li4pCrwt37Wmmk3VAJT9XTcqPQ4HywQObUVSSgzARsE="; + frameworks = [ + "Kit" + "CPU" + "GPU" + "RAM" + "Disk" + "Net" + "Battery" + "Bluetooth" + "Sensors" + "Clock" + ]; + modules = lib.tail frameworks; + + toPlist = lib.generators.toPlist { escape = true; }; + + frameworkPlist = + name: + toPlist { + CFBundleExecutable = name; + CFBundleIdentifier = "eu.exelban.Stats.${name}"; + CFBundleInfoDictionaryVersion = "6.0"; + CFBundleName = name; + CFBundlePackageType = "FMWK"; + CFBundleVersion = "1"; + }; + + mainInfoPlist = + version: + toPlist { + CFBundleDevelopmentRegion = "en"; + CFBundleExecutable = "Stats"; + CFBundleIdentifier = "eu.exelban.Stats"; + CFBundleInfoDictionaryVersion = "6.0"; + CFBundleName = "Stats"; + CFBundlePackageType = "APPL"; + CFBundleShortVersionString = version; + # CFBundleVersion is extracted from upstream's Info.plist at build time + Description = "Simple macOS system monitor in your menu bar"; + LSApplicationCategoryType = "public.app-category.utilities"; + LSMinimumSystemVersion = "11.0"; + LSUIElement = true; + NSAppTransportSecurity = { + NSAllowsArbitraryLoads = true; + }; + NSBluetoothAlwaysUsageDescription = "This permission allows obtaining battery level of Bluetooth devices"; + NSHumanReadableCopyright = "Copyright © 2020 Serhiy Mytrovtsiy. All rights reserved."; + NSPrincipalClass = "NSApplication"; + NSUserNotificationAlertStyle = "alert"; + TeamId = "RP2S87B72W"; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "stats"; + version = "2.12.7"; + + src = fetchFromGitHub { + owner = "exelban"; + repo = "Stats"; + tag = "v${finalAttrs.version}"; + hash = "sha256-qx4FI+MnFknIrTOPP+8wyy1wqFMWyaunmags023ay6A="; }; - sourceRoot = "."; + nativeBuildInputs = [ + swift + perl + actool + darwin.autoSignDarwinBinariesHook + makeWrapper + ]; - nativeBuildInputs = [ undmg ]; + buildInputs = [ leveldb ]; + + # Stats uses IOReport private API symbols declared in bridging headers + env.NIX_LDFLAGS = "-lIOReport"; + + # Swift 5.10 doesn't support trailing commas in argument lists (Swift 6 feature) + # Remove them from all Swift source files + postPatch = '' + find . -name '*.swift' -exec perl -0777 -pi -e ' + s/,(\s*\))/$1/g; + s/\@retroactive //g; + ' {} + + + # CWPHYMode.mode11be (WiFi 7) requires macOS 15+ SDK; @unknown default covers it + sed -i '/mode11be/d' Modules/Net/readers.swift + + ''; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + buildDir="$PWD/build" + mkdir -p "$buildDir" + + commonSwiftFlags=( + -O + -Xcc -IKit/lldb + -Xcc -IKit/lldb/include + -Xcc -I${leveldb.dev}/include/leveldb + -disable-bridging-pch + # Stamp binaries with macOS 26 SDK version so the system applies Liquid Glass UI + # The Swift compiler in nixpkgs uses SDK 14 headers (which compile fine), but without + # this flag the linker records SDK 14 and macOS withholds it (Liquid Glass) + -Xlinker -platform_version -Xlinker macos -Xlinker 14.0 -Xlinker 26.0 + ) + + buildFramework() { + local name="$1" + shift + local bridgingHeader="$1" + shift + local extraFlags=("$@") + + echo "Building framework: $name" + + local swiftFiles=() + while IFS= read -r -d "" f; do + swiftFiles+=("$f") + done < <(find "$name" -name '*.swift' -print0 2>/dev/null) + + # For modules in Modules/ subdirectory + if [ ''${#swiftFiles[@]} -eq 0 ]; then + while IFS= read -r -d "" f; do + swiftFiles+=("$f") + done < <(find "Modules/$name" -name '*.swift' -print0 2>/dev/null) + fi + + local bridgeFlags=() + if [ -n "$bridgingHeader" ]; then + bridgeFlags=(-import-objc-header "$bridgingHeader") + fi + + swiftc \ + "''${commonSwiftFlags[@]}" \ + -emit-module \ + -emit-library \ + -module-name "$name" \ + -module-link-name "$name" \ + -emit-module-path "$buildDir/$name.swiftmodule" \ + "''${bridgeFlags[@]}" \ + -I "$buildDir" \ + -L "$buildDir" \ + -Xlinker -install_name -Xlinker "@rpath/$name.framework/$name" \ + "''${extraFlags[@]}" \ + "''${swiftFiles[@]}" \ + -o "$buildDir/lib$name.dylib" + } + + echo "=== Building Kit ===" + + # Compile lldb.m (Objective-C++ with LevelDB) + clang++ -x objective-c++ \ + -I Kit/lldb/include \ + -I Kit/lldb \ + -I ${leveldb.dev}/include/leveldb \ + -fobjc-arc \ + -O2 \ + -c Kit/lldb/lldb.m \ + -o "$buildDir/lldb.o" + + kitSwiftFiles=() + while IFS= read -r -d "" f; do + kitSwiftFiles+=("$f") + done < <(find Kit -name '*.swift' -print0) + # Kit also compiles shared SMC source files (protocol.swift, smc.swift) + kitSwiftFiles+=("SMC/Helper/protocol.swift" "SMC/smc.swift") + + swiftc \ + "''${commonSwiftFlags[@]}" \ + -emit-module \ + -emit-library \ + -module-name Kit \ + -module-link-name Kit \ + -emit-module-path "$buildDir/Kit.swiftmodule" \ + -import-objc-header "Kit/Supporting Files/Kit.h" \ + -Xcc -IKit/lldb \ + -Xcc -IKit/lldb/include \ + -Xcc -I${leveldb.dev}/include/leveldb \ + -Xlinker -install_name -Xlinker "@rpath/Kit.framework/Kit" \ + "$buildDir/lldb.o" \ + -L ${leveldb}/lib -lleveldb \ + -lstdc++ \ + "''${kitSwiftFiles[@]}" \ + -o "$buildDir/libKit.dylib" + + buildFramework CPU "Modules/CPU/bridge.h" \ + -lKit -framework IOKit + + buildFramework GPU "" \ + -lKit -framework IOKit -framework Metal + + buildFramework RAM "" \ + -lKit -framework IOKit + + buildFramework Disk "Modules/Disk/header.h" \ + -lKit -framework IOKit -framework DiskArbitration + + buildFramework Net "" \ + -lKit -framework IOKit -framework CoreWLAN -framework SystemConfiguration + + buildFramework Battery "" \ + -lKit -framework IOKit + + buildFramework Bluetooth "" \ + -lKit -framework IOKit -framework IOBluetooth -framework CoreBluetooth + + # Build Sensors - needs ObjC file too + echo "Building framework: Sensors" + + # Compile reader.m (ObjC) + clang -x objective-c \ + -I "Modules/Sensors" \ + -fobjc-arc \ + -O2 \ + -c Modules/Sensors/reader.m \ + -o "$buildDir/sensors_reader.o" + + sensorsSwiftFiles=() + while IFS= read -r -d "" f; do + sensorsSwiftFiles+=("$f") + done < <(find Modules/Sensors -name '*.swift' -print0) + + swiftc \ + "''${commonSwiftFlags[@]}" \ + -emit-module \ + -emit-library \ + -module-name Sensors \ + -module-link-name Sensors \ + -emit-module-path "$buildDir/Sensors.swiftmodule" \ + -import-objc-header "Modules/Sensors/bridge.h" \ + -I "$buildDir" \ + -L "$buildDir" \ + -lKit \ + -framework IOKit \ + -Xlinker -install_name -Xlinker "@rpath/Sensors.framework/Sensors" \ + "$buildDir/sensors_reader.o" \ + "''${sensorsSwiftFiles[@]}" \ + -o "$buildDir/libSensors.dylib" + + buildFramework Clock "" \ + -lKit + + echo "=== Building Stats app ===" + + statsSwiftFiles=() + while IFS= read -r -d "" f; do + statsSwiftFiles+=("$f") + done < <(find Stats -name '*.swift' -print0) + + swiftc \ + "''${commonSwiftFlags[@]}" \ + -emit-executable \ + -module-name Stats \ + -I "$buildDir" \ + -L "$buildDir" \ + ${lib.concatMapStringsSep " " (fw: "-l${fw}") frameworks} \ + -Xlinker -rpath -Xlinker "@executable_path/../Frameworks" \ + "''${statsSwiftFiles[@]}" \ + -o "$buildDir/Stats" + + runHook postBuild + ''; installPhase = '' runHook preInstall - mkdir -p "$out/Applications" - cp -r *.app "$out/Applications" + app="$out/Applications/Stats.app" + mkdir -p "$app/Contents/"{MacOS,Frameworks,Resources} + + cp "$buildDir/Stats" "$app/Contents/MacOS/Stats" + + # Install frameworks with generated Info.plists + ${lib.concatMapStrings (fw: '' + fwDir="$app/Contents/Frameworks/${fw}.framework" + mkdir -p "$fwDir/Resources" + cp "$buildDir/lib${fw}.dylib" "$fwDir/${fw}" + printf '%s' ${lib.escapeShellArg (frameworkPlist fw)} > "$fwDir/Resources/Info.plist" + '') frameworks} + + printf '%s' ${lib.escapeShellArg (mainInfoPlist finalAttrs.version)} > "$app/Contents/Info.plist" + # Splice CFBundleVersion from upstream's checked-in Info.plist so it stays + # in sync automatically — nix-update-script bumps the tag & hash, and the + # new source tree carries the correct build number + bundleVersion=$(sed -n '/CFBundleVersion<\/key>/{n;s/.*\(.*\)<\/string>.*/\1/p;}' \ + "Stats/Supporting Files/Info.plist") + sed -i "s||CFBundleVersion$bundleVersion|" \ + "$app/Contents/Info.plist" + + # Compile asset catalogs + actool \ + --compile "$app/Contents/Resources" \ + --platform macosx \ + --minimum-deployment-target 14.0 \ + --app-icon AppIcon \ + "Stats/Supporting Files/Assets.xcassets" + + actool \ + --compile "$app/Contents/Frameworks/Kit.framework/Resources" \ + --platform macosx \ + --minimum-deployment-target 14.0 \ + "Kit/Supporting Files/Assets.xcassets" + + # Copy localization files + find "Stats/Supporting Files" -name '*.lproj' -type d -exec cp -r {} "$app/Contents/Resources/" \; + + # Copy module config plists into each framework's Resources + for mod in ${lib.concatStringsSep " " modules}; do + if [ -f "Modules/$mod/config.plist" ]; then + cp "Modules/$mod/config.plist" "$app/Contents/Frameworks/$mod.framework/Resources/config.plist" + fi + done + + makeWrapper "$app/Contents/MacOS/Stats" "$out/bin/stats" runHook postInstall ''; @@ -40,6 +345,5 @@ stdenvNoCC.mkDerivation (finalAttrs: { emilytrau ]; platforms = lib.platforms.darwin; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) From 94fefb3bdb5eecd87665de79eec8a7f249b56fe7 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 30 Mar 2026 14:33:31 -0400 Subject: [PATCH 012/105] tuios: 0.6.0 -> 0.7.0 Changelog: https://github.com/Gaurav-Gosain/tuios/releases/tag/v0.7.0 --- pkgs/by-name/tu/tuios/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tu/tuios/package.nix b/pkgs/by-name/tu/tuios/package.nix index 799ce8916f05..ec7edcb649c4 100644 --- a/pkgs/by-name/tu/tuios/package.nix +++ b/pkgs/by-name/tu/tuios/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "tuios"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "Gaurav-Gosain"; repo = "tuios"; tag = "v${finalAttrs.version}"; - hash = "sha256-cisbHTrp2k+henmxJOwcyfPG+SaxL6GWSa8OWGyimck="; + hash = "sha256-XPcgUDlIbwp278Kc9B0aXxxIX2XnsJpFzxHDaop9cLs="; }; - vendorHash = "sha256-kDZRT/Ua+SaxyZ6RI9ZY2tqBgQBWo755fvQVRupBsUc="; + vendorHash = "sha256-98XZe60gcRWyP0ApUV+qCJ0UoAExx7X0FPtFL0Tr0a4="; ldflags = [ "-s" From 27f7f497e34cff0003f79f99bc5be8c56d31f1de Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 1 Apr 2026 00:42:13 +0000 Subject: [PATCH 013/105] devbox: 0.17.0 -> 0.17.1 --- pkgs/by-name/de/devbox/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/de/devbox/package.nix b/pkgs/by-name/de/devbox/package.nix index 9101dd90da56..5f020a440a19 100644 --- a/pkgs/by-name/de/devbox/package.nix +++ b/pkgs/by-name/de/devbox/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "devbox"; - version = "0.17.0"; + version = "0.17.1"; src = fetchFromGitHub { owner = "jetify-com"; repo = "devbox"; tag = finalAttrs.version; - hash = "sha256-bW37yUZSqSYZeGHbWEFom5EjHdFhr/cFAhLX908zKRM="; + hash = "sha256-WwNbbrBm3/iWNCdHh0f+ey06BlibCPkCRXgBoyaJffU="; }; ldflags = [ @@ -27,7 +27,7 @@ buildGoModule (finalAttrs: { # integration tests want file system access doCheck = false; - vendorHash = "sha256-xrN5AGc/f9CaI6WDfEFpJrRbPuBfxsjTGrEG4RbxVtM="; + vendorHash = "sha256-zZUE0J6w1QbdMAKOt1xH3ql4G5FbaUgtD4Xpsw/tmIk="; nativeBuildInputs = [ installShellFiles ]; From bfe1339b122ef4007399d6a032d0f6168835318a Mon Sep 17 00:00:00 2001 From: Jules Tamagnan Date: Tue, 31 Mar 2026 18:28:09 -0700 Subject: [PATCH 014/105] render-cli: 2.5.0 -> 2.15.1 --- pkgs/by-name/re/render-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/render-cli/package.nix b/pkgs/by-name/re/render-cli/package.nix index 4a83a34d0664..d6696428f678 100644 --- a/pkgs/by-name/re/render-cli/package.nix +++ b/pkgs/by-name/re/render-cli/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "render-cli"; - version = "2.5.0"; + version = "2.15.1"; src = fetchFromGitHub { owner = "render-oss"; repo = "cli"; rev = "v${version}"; - hash = "sha256-nOcgDTFngeO7xKB7e9oLtAGD/ZpQqw++CGjvJRu+PUI="; + hash = "sha256-a7yYSslRWa4d8TTAw128PukLBamqkpDr2oUUYBRgpCY="; }; - vendorHash = "sha256-Kd4qbBwk4U/LIkfwQopMqN5DqKHN5BMCMYWSR+OSKN0="; + vendorHash = "sha256-K2RKcz5wAP0ZA5g5aDgSsEXKEEncFtO9qamgG3fW02Y="; # Tests require network access doCheck = false; From 95624346929cab6cd116645005d00f827f52b040 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 1 Apr 2026 06:58:08 +0000 Subject: [PATCH 015/105] proton-vpn: 4.15.0 -> 4.15.1 --- pkgs/by-name/pr/proton-vpn/linux.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/proton-vpn/linux.nix b/pkgs/by-name/pr/proton-vpn/linux.nix index 2ba403bb7900..758c425f9b85 100644 --- a/pkgs/by-name/pr/proton-vpn/linux.nix +++ b/pkgs/by-name/pr/proton-vpn/linux.nix @@ -14,14 +14,14 @@ }: python3Packages.buildPythonApplication (finalAttrs: { pname = "proton-vpn"; - version = "4.15.0"; + version = "4.15.1"; pyproject = true; src = fetchFromGitHub { owner = "ProtonVPN"; repo = "proton-vpn-gtk-app"; tag = "v${finalAttrs.version}"; - hash = "sha256-bKUhrbfOLVjknljwW9UPo3Ros1Ayzb+be5KTUjPnIW0="; + hash = "sha256-mWQW/KR2zQxSMkcu5k79H3TNATmFB6J2vgFhgXNpM2s="; }; nativeBuildInputs = [ From 5739ecf1130009017334aa25ab617086495f30ed Mon Sep 17 00:00:00 2001 From: hustlerone Date: Wed, 1 Apr 2026 10:35:40 +0200 Subject: [PATCH 016/105] buffybox: 3.4.2-unstable-2025-10-25 -> 3.5.1 --- pkgs/by-name/bu/buffybox/package.nix | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/bu/buffybox/package.nix b/pkgs/by-name/bu/buffybox/package.nix index e7d944b4d20b..cf976c7968c5 100644 --- a/pkgs/by-name/bu/buffybox/package.nix +++ b/pkgs/by-name/bu/buffybox/package.nix @@ -1,5 +1,6 @@ { fetchFromGitLab, + fetchpatch, inih, lib, libdrm, @@ -15,18 +16,36 @@ stdenv.mkDerivation (finalAttrs: { pname = "buffybox"; - version = "3.4.2-unstable-2025-10-25"; - # 3.4.2 would be preferred but there are 3 commits past 3.4.2 that are really nice to have + version = "3.5.1"; src = fetchFromGitLab { domain = "gitlab.postmarketos.org"; owner = "postmarketOS"; repo = "buffybox"; fetchSubmodules = true; # to use its vendored lvgl - rev = "437ff2cbd7fd35ba6ca2d46624e7fcf8c5f3f954"; - hash = "sha256-1GRsntNc3byHmZKLG/ZRXvbo96DjmLrA0bVYtMAlKsQ="; + tag = finalAttrs.version; + hash = "sha256-aOPfKqnUIkJozt+DwVJjbNQEcmpjCmUgJUjTx9LV23M="; }; + mesonFlags = [ + (lib.mesonBool "systemd" true) + ]; + + patches = [ + /* + There's a close to zero chance that anyone with a 32-bit machine will be using BuffyBox. + In the case that it happens, I expect no complaints whatsoever. + + https://gitlab.postmarketos.org/postmarketOS/buffybox/-/merge_requests/87 + */ + + (fetchpatch { + name = "fix-32-bit-build"; + url = "https://gitlab.postmarketos.org/postmarketOS/buffybox/-/merge_requests/87.patch"; + hash = "sha256-GUk+YrG07hL+0w70qvymPzHGTmUXdfzG4Cy35gg/Asw="; + }) + ]; + depsBuildBuild = [ pkg-config ]; @@ -54,6 +73,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Suite of graphical applications for the terminal"; homepage = "https://gitlab.postmarketos.org/postmarketOS/buffybox"; + changelog = "https://gitlab.postmarketos.org/postmarketOS/buffybox/-/blob/main/CHANGELOG.md"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ colinsane ]; platforms = lib.platforms.linux; From 5b199ff7dd40ade512c2cfbbc8320deead963803 Mon Sep 17 00:00:00 2001 From: kaynetik Date: Wed, 1 Apr 2026 13:11:19 +0200 Subject: [PATCH 017/105] maintainers: init kaynetik Signed-off-by: kaynetik --- nixos/modules/services/security/yubikey-agent.nix | 1 + pkgs/by-name/ag/age-plugin-yubikey/package.nix | 1 + pkgs/by-name/ag/age/package.nix | 5 ++++- pkgs/by-name/at/atuin/package.nix | 1 + pkgs/by-name/ba/bazel-buildtools/package.nix | 1 + pkgs/by-name/ba/bazelisk/package.nix | 5 ++++- pkgs/by-name/ez/eza/package.nix | 1 + pkgs/by-name/k9/k9s/package.nix | 1 + pkgs/by-name/la/lazygit/package.nix | 1 + pkgs/by-name/po/podman-compose/package.nix | 5 ++++- pkgs/by-name/po/podman-desktop/package.nix | 1 + pkgs/by-name/ri/ripgrep/package.nix | 1 + pkgs/by-name/so/sops/package.nix | 1 + pkgs/by-name/tf/tflint/package.nix | 5 ++++- pkgs/by-name/tf/tfsec/package.nix | 1 + pkgs/by-name/tm/tmux/package.nix | 1 + pkgs/by-name/wi/wireguard-tools/package.nix | 1 + pkgs/by-name/wi/wireguard-ui/package.nix | 5 ++++- pkgs/by-name/zo/zoxide/package.nix | 1 + 19 files changed, 34 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/security/yubikey-agent.nix b/nixos/modules/services/security/yubikey-agent.nix index 0cfc34b13553..7b3be280e0c0 100644 --- a/nixos/modules/services/security/yubikey-agent.nix +++ b/nixos/modules/services/security/yubikey-agent.nix @@ -14,6 +14,7 @@ in meta.maintainers = with lib.maintainers; [ philandstuff rawkode + kaynetik ]; options = { diff --git a/pkgs/by-name/ag/age-plugin-yubikey/package.nix b/pkgs/by-name/ag/age-plugin-yubikey/package.nix index 283b2256231b..597c2bdfd7af 100644 --- a/pkgs/by-name/ag/age-plugin-yubikey/package.nix +++ b/pkgs/by-name/ag/age-plugin-yubikey/package.nix @@ -43,6 +43,7 @@ rustPlatform.buildRustPackage (finalAttrs: { kranzes vtuan10 adamcstephens + kaynetik ]; }; }) diff --git a/pkgs/by-name/ag/age/package.nix b/pkgs/by-name/ag/age/package.nix index ecbb1d9d5309..d3ef5ec2a066 100644 --- a/pkgs/by-name/ag/age/package.nix +++ b/pkgs/by-name/ag/age/package.nix @@ -80,6 +80,9 @@ buildGoModule (finalAttrs: { description = "Modern encryption tool with small explicit keys"; license = lib.licenses.bsd3; mainProgram = "age"; - maintainers = with lib.maintainers; [ tazjin ]; + maintainers = with lib.maintainers; [ + tazjin + kaynetik + ]; }; }) diff --git a/pkgs/by-name/at/atuin/package.nix b/pkgs/by-name/at/atuin/package.nix index a4c9eb14f64b..fbe5ec0b89f1 100644 --- a/pkgs/by-name/at/atuin/package.nix +++ b/pkgs/by-name/at/atuin/package.nix @@ -70,6 +70,7 @@ rustPlatform.buildRustPackage (finalAttrs: { sciencentistguy _0x4A6F rvdp + kaynetik ]; mainProgram = "atuin"; }; diff --git a/pkgs/by-name/ba/bazel-buildtools/package.nix b/pkgs/by-name/ba/bazel-buildtools/package.nix index 8426f09a67a3..143a674ab3be 100644 --- a/pkgs/by-name/ba/bazel-buildtools/package.nix +++ b/pkgs/by-name/ba/bazel-buildtools/package.nix @@ -41,6 +41,7 @@ buildGoModule (finalAttrs: { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ elasticdog + kaynetik ]; teams = [ lib.teams.bazel ]; }; diff --git a/pkgs/by-name/ba/bazelisk/package.nix b/pkgs/by-name/ba/bazelisk/package.nix index f499de78c6ea..3155d4372068 100644 --- a/pkgs/by-name/ba/bazelisk/package.nix +++ b/pkgs/by-name/ba/bazelisk/package.nix @@ -32,6 +32,9 @@ buildGoModule (finalAttrs: { homepage = "https://github.com/bazelbuild/bazelisk"; changelog = "https://github.com/bazelbuild/bazelisk/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ elasticdog ]; + maintainers = with lib.maintainers; [ + elasticdog + kaynetik + ]; }; }) diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix index 19293a765010..ba6171163dbe 100644 --- a/pkgs/by-name/ez/eza/package.nix +++ b/pkgs/by-name/ez/eza/package.nix @@ -75,6 +75,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cafkafk _9glenda sigmasquadron + kaynetik ]; platforms = with lib.platforms; unix ++ windows; }; diff --git a/pkgs/by-name/k9/k9s/package.nix b/pkgs/by-name/k9/k9s/package.nix index c1e7558875b5..37759f5c43b2 100644 --- a/pkgs/by-name/k9/k9s/package.nix +++ b/pkgs/by-name/k9/k9s/package.nix @@ -78,6 +78,7 @@ buildGoModule (finalAttrs: { qjoly devusb ryan4yin + kaynetik ]; }; }) diff --git a/pkgs/by-name/la/lazygit/package.nix b/pkgs/by-name/la/lazygit/package.nix index 8274bb89d241..a76d68852fe5 100644 --- a/pkgs/by-name/la/lazygit/package.nix +++ b/pkgs/by-name/la/lazygit/package.nix @@ -46,6 +46,7 @@ buildGoModule (finalAttrs: { khaneliman starsep sigmasquadron + kaynetik ]; mainProgram = "lazygit"; }; diff --git a/pkgs/by-name/po/podman-compose/package.nix b/pkgs/by-name/po/podman-compose/package.nix index d0169a667af0..01654d3c70cf 100644 --- a/pkgs/by-name/po/podman-compose/package.nix +++ b/pkgs/by-name/po/podman-compose/package.nix @@ -43,7 +43,10 @@ python3Packages.buildPythonApplication (finalAttrs: { homepage = "https://github.com/containers/podman-compose"; license = lib.licenses.gpl2Only; platforms = lib.platforms.unix; - maintainers = [ lib.maintainers.sikmir ]; + maintainers = with lib.maintainers; [ + sikmir + kaynetik + ]; teams = [ lib.teams.podman ]; mainProgram = "podman-compose"; }; diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 07c668f7b55c..ae7c66d7e09a 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -167,6 +167,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ booxter + kaynetik ]; inherit (electron.meta) platforms; mainProgram = "podman-desktop"; diff --git a/pkgs/by-name/ri/ripgrep/package.nix b/pkgs/by-name/ri/ripgrep/package.nix index 69d06b695139..6f73c6662b66 100644 --- a/pkgs/by-name/ri/ripgrep/package.nix +++ b/pkgs/by-name/ri/ripgrep/package.nix @@ -70,6 +70,7 @@ rustPlatform.buildRustPackage (finalAttrs: { globin ma27 zowoq + kaynetik ]; mainProgram = "rg"; platforms = lib.platforms.all; diff --git a/pkgs/by-name/so/sops/package.nix b/pkgs/by-name/so/sops/package.nix index ef2b6bcb5509..1ca994f2f58f 100644 --- a/pkgs/by-name/so/sops/package.nix +++ b/pkgs/by-name/so/sops/package.nix @@ -66,6 +66,7 @@ buildGoModule (finalAttrs: { maintainers = with lib.maintainers; [ Scrumplex mic92 + kaynetik ]; license = lib.licenses.mpl20; }; diff --git a/pkgs/by-name/tf/tflint/package.nix b/pkgs/by-name/tf/tflint/package.nix index bd873fcaa6b5..cfe01d58999e 100644 --- a/pkgs/by-name/tf/tflint/package.nix +++ b/pkgs/by-name/tf/tflint/package.nix @@ -61,6 +61,9 @@ buildGo125Module (finalAttrs: { homepage = "https://github.com/terraform-linters/tflint"; changelog = "https://github.com/terraform-linters/tflint/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [ momeemt ]; + maintainers = with lib.maintainers; [ + momeemt + kaynetik + ]; }; }) diff --git a/pkgs/by-name/tf/tfsec/package.nix b/pkgs/by-name/tf/tfsec/package.nix index 13515402aab7..ba0640878a39 100644 --- a/pkgs/by-name/tf/tfsec/package.nix +++ b/pkgs/by-name/tf/tfsec/package.nix @@ -38,6 +38,7 @@ buildGoModule (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab + kaynetik ]; }; }) diff --git a/pkgs/by-name/tm/tmux/package.nix b/pkgs/by-name/tm/tmux/package.nix index d3907e4b164e..82bff08133d7 100644 --- a/pkgs/by-name/tm/tmux/package.nix +++ b/pkgs/by-name/tm/tmux/package.nix @@ -113,6 +113,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ ethancedwards8 fpletz + kaynetik ]; }; }) diff --git a/pkgs/by-name/wi/wireguard-tools/package.nix b/pkgs/by-name/wi/wireguard-tools/package.nix index 025e1b9912b7..83f30ed50d46 100644 --- a/pkgs/by-name/wi/wireguard-tools/package.nix +++ b/pkgs/by-name/wi/wireguard-tools/package.nix @@ -90,6 +90,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ zx2c4 ma27 + kaynetik ]; mainProgram = "wg"; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/wi/wireguard-ui/package.nix b/pkgs/by-name/wi/wireguard-ui/package.nix index 0c96cf6d288a..916ec10327a4 100644 --- a/pkgs/by-name/wi/wireguard-ui/package.nix +++ b/pkgs/by-name/wi/wireguard-ui/package.nix @@ -75,7 +75,10 @@ buildGoModule (finalAttrs: { homepage = "https://github.com/ngoduykhanh/wireguard-ui"; license = lib.licenses.mit; platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ bot-wxt1221 ]; + maintainers = with lib.maintainers; [ + bot-wxt1221 + kaynetik + ]; mainProgram = "wireguard-ui"; }; }) diff --git a/pkgs/by-name/zo/zoxide/package.nix b/pkgs/by-name/zo/zoxide/package.nix index 877ea5379d04..4927ade45dc5 100644 --- a/pkgs/by-name/zo/zoxide/package.nix +++ b/pkgs/by-name/zo/zoxide/package.nix @@ -76,6 +76,7 @@ rustPlatform.buildRustPackage (finalAttrs: { SuperSandro2000 matthiasbeyer ryan4yin + kaynetik ]; mainProgram = "zoxide"; }; From 2f778274b6145686888fc4687ec35abc7318677e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 1 Apr 2026 20:31:11 +0000 Subject: [PATCH 018/105] kubectl-cnpg: 1.28.1 -> 1.29.0 --- pkgs/by-name/ku/kubectl-cnpg/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ku/kubectl-cnpg/package.nix b/pkgs/by-name/ku/kubectl-cnpg/package.nix index adf62029ab26..4493dbfa4072 100644 --- a/pkgs/by-name/ku/kubectl-cnpg/package.nix +++ b/pkgs/by-name/ku/kubectl-cnpg/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "kubectl-cnpg"; - version = "1.28.1"; + version = "1.29.0"; src = fetchFromGitHub { owner = "cloudnative-pg"; repo = "cloudnative-pg"; rev = "v${finalAttrs.version}"; - hash = "sha256-9NfjrVF0OtDLaGD5PPFSZcI8V3Vy/yOTm/JwnE3kMZE="; + hash = "sha256-D4Z2v0bBctQPVm7lblyQP3qD16GXGLF+5gQ6tCsuu8M="; }; - vendorHash = "sha256-QNtKtHTxOgm6EbOSvA2iUE0hjltwTBNkA1mIC3N+AbM="; + vendorHash = "sha256-WDVipOz2yx9kvSQnc0Fnn+es0OhLgXye4e6jro0xDZ8="; subPackages = [ "cmd/kubectl-cnpg" ]; From fb677191f5a10d07f6e06a55199bde8781788aff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 1 Apr 2026 20:55:39 +0000 Subject: [PATCH 019/105] phpPackages.phan: 6.0.2 -> 6.0.5 --- pkgs/development/php-packages/phan/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/php-packages/phan/default.nix b/pkgs/development/php-packages/phan/default.nix index c27875c7b734..e2acb0595a2a 100644 --- a/pkgs/development/php-packages/phan/default.nix +++ b/pkgs/development/php-packages/phan/default.nix @@ -8,16 +8,16 @@ (php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject2 (finalAttrs: { pname = "phan"; - version = "6.0.2"; + version = "6.0.5"; src = fetchFromGitHub { owner = "phan"; repo = "phan"; tag = finalAttrs.version; - hash = "sha256-GwiCyek+XuiXMd8LcKy79u19wySee6aRpG0e6dP44LU="; + hash = "sha256-R49f3SljQjNywDi7AsOHbce+4RhC59ugL5ClY8XBQho="; }; - vendorHash = "sha256-+7U2PfjagpIOaeG+8pYAgEyqh6sZT5c+knoKX/S6L0M="; + vendorHash = "sha256-pzMsPFN3PXLEEWyjPTMdDCsAv6VDsIYGpma84Mu/Gos="; composerStrictValidation = false; doInstallCheck = true; From 10c372390611e8dd6a6573c007b3c6435106a715 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 2 Apr 2026 06:38:56 +0100 Subject: [PATCH 020/105] rust-analyzer-unwrapped: 2026-03-23 -> 2026-03-30 Changes: https://github.com/rust-lang/rust-analyzer/releases/tag/2026-03-30 --- pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix index a23e04803f80..147144654b25 100644 --- a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix +++ b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix @@ -13,15 +13,15 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rust-analyzer-unwrapped"; - version = "2026-03-23"; + version = "2026-03-30"; - cargoHash = "sha256-osoNyx4UEbq0J2fx7WMJBfIRV3mhsO+OSBNrvu060IM="; + cargoHash = "sha256-nTllacWD0alq8OVKAPhcuMnAyPW2Uh0JAJkHhB9YcZ4="; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-analyzer"; rev = finalAttrs.version; - hash = "sha256-aEIdkqB8gtQZtEbogdUb5iyfcZpKIlD3FkG8ANu73/I="; + hash = "sha256-Cbpmf0+1pqi/zbpub2vkp5lTPx3QdVtDkkagDwQzHHg="; }; cargoBuildFlags = [ From ffab35a8e82cd790c7fb8fd8adca531043693d6c Mon Sep 17 00:00:00 2001 From: zzbaron Date: Thu, 2 Apr 2026 03:14:52 -0400 Subject: [PATCH 021/105] cryptomator: fix GTK file chooser drawing failure due to freetype conflict --- pkgs/by-name/cr/cryptomator/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/cr/cryptomator/package.nix b/pkgs/by-name/cr/cryptomator/package.nix index 223b1e83adb1..feefd0c4e951 100644 --- a/pkgs/by-name/cr/cryptomator/package.nix +++ b/pkgs/by-name/cr/cryptomator/package.nix @@ -10,6 +10,7 @@ maven, wrapGAppsHook3, nix-update-script, + freetype, }: let @@ -86,6 +87,7 @@ maven.buildMavenPackage rec { lib.makeLibraryPath [ fuse3 libayatana-appindicator + freetype ] }" \ --set JAVA_HOME "${jdk.home}" @@ -119,6 +121,7 @@ maven.buildMavenPackage rec { glib jdk libayatana-appindicator + freetype ]; passthru.updateScript = nix-update-script { }; From b68b2ad03154d2c5f5352645afb43371ce9d5fa2 Mon Sep 17 00:00:00 2001 From: Augustin Trancart Date: Thu, 2 Apr 2026 09:45:56 +0200 Subject: [PATCH 022/105] python3Packages.momepy: fix build --- .../python-modules/momepy/default.nix | 11 ++++++ .../momepy/fix_test_elements.patch | 36 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/momepy/fix_test_elements.patch diff --git a/pkgs/development/python-modules/momepy/default.nix b/pkgs/development/python-modules/momepy/default.nix index f024c7ae5372..b24d8d5aa05d 100644 --- a/pkgs/development/python-modules/momepy/default.nix +++ b/pkgs/development/python-modules/momepy/default.nix @@ -28,6 +28,11 @@ buildPythonPackage rec { hash = "sha256-Og7W+35k9HIIEFGcDmsxggb1BT5cwnaMIi3HO3VRAX0="; }; + patches = [ + # see https://github.com/pysal/momepy/pull/733 + ./fix_test_elements.patch + ]; + build-system = [ setuptools-scm ]; propagatedBuildInputs = [ @@ -46,6 +51,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "momepy" ]; + disabledTestPaths = [ + # this tests depends on neatnet, not packaged in nixpkgs + # it's probably not worthy to package it just for this test + "momepy/tests/test_continuity.py" + ]; + meta = { description = "Urban Morphology Measuring Toolkit"; homepage = "https://github.com/pysal/momepy"; diff --git a/pkgs/development/python-modules/momepy/fix_test_elements.patch b/pkgs/development/python-modules/momepy/fix_test_elements.patch new file mode 100644 index 000000000000..1cdde9b2cc51 --- /dev/null +++ b/pkgs/development/python-modules/momepy/fix_test_elements.patch @@ -0,0 +1,36 @@ +diff --git i/momepy/functional/tests/test_elements.py w/momepy/functional/tests/test_elements.py +index 75a3f5f..625fb69 100644 +--- i/momepy/functional/tests/test_elements.py ++++ w/momepy/functional/tests/test_elements.py +@@ -290,28 +290,19 @@ class TestElements: + def test_buffered_limit_adaptive(self): + limit = mm.buffered_limit(self.df_buildings, "adaptive") + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 347096.5835217 +- else: +- exp = 355819.1895417 ++ exp = 355819.1895417 + assert exp == pytest.approx(limit.area) + + limit = mm.buffered_limit(self.df_buildings, "adaptive", max_buffer=30) + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 304712.451361391 +- else: +- exp = 304200.301833294 ++ exp = 304200.301833294 + assert exp == pytest.approx(limit.area) + + limit = mm.buffered_limit( + self.df_buildings, "adaptive", min_buffer=30, max_buffer=300 + ) + assert limit.geom_type == "Polygon" +- if LPS_G_4_13_0: +- exp = 348777.778371144 +- else: +- exp = 357671.831894244 ++ exp = 357671.831894244 + assert exp == pytest.approx(limit.area) + + def test_buffered_limit_error(self): From 654d7fbeff909a666dd5d39c37b1608b77f1d6bd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 08:11:42 +0000 Subject: [PATCH 023/105] scaleway-cli: 2.53.0 -> 2.54.0 --- pkgs/by-name/sc/scaleway-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sc/scaleway-cli/package.nix b/pkgs/by-name/sc/scaleway-cli/package.nix index 1cdd937b0d8b..5e34f86fd9ff 100644 --- a/pkgs/by-name/sc/scaleway-cli/package.nix +++ b/pkgs/by-name/sc/scaleway-cli/package.nix @@ -10,16 +10,16 @@ buildGo126Module (finalAttrs: { pname = "scaleway-cli"; - version = "2.53.0"; + version = "2.54.0"; src = fetchFromGitHub { owner = "scaleway"; repo = "scaleway-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-IxnDmmvWH17xd2djroikwrQq0bLexWeN8VHMPiNEBhU="; + hash = "sha256-pmuyCc+hWXiUlqHi1nDS+51SDxUzIqXqs6Td0Bvjh2o="; }; - vendorHash = "sha256-/UEE3XSbpwlywF8TMmp90bS537RRZG0yN0oq1sbrcPQ="; + vendorHash = "sha256-yB2/tHgbR5eJ6VyF49KI6FLyjeoE4om+Ajewofxzbs0="; env.CGO_ENABLED = 0; From 0a672be559e40b973e60a9f95483bf86cfbc8bf5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 2 Apr 2026 11:06:51 +0200 Subject: [PATCH 024/105] python3Packages.scmrepo: 3.6.1 -> 3.6.2 Diff: https://github.com/iterative/scmrepo/compare/3.6.1...3.6.2 Changelog: https://github.com/iterative/scmrepo/releases/tag/3.6.2 --- pkgs/development/python-modules/scmrepo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix index 034892c0ab9e..c6375593ba0e 100644 --- a/pkgs/development/python-modules/scmrepo/default.nix +++ b/pkgs/development/python-modules/scmrepo/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "scmrepo"; - version = "3.6.1"; + version = "3.6.2"; pyproject = true; src = fetchFromGitHub { owner = "iterative"; repo = "scmrepo"; tag = version; - hash = "sha256-nkHEeslQM+F4PpNrrbSql+jCJDHmdaGfGkciluhXmHo="; + hash = "sha256-E7BHdLDS57r/UbSA62lfr3z+5sqFTPRzwfFLIITeSs0="; }; build-system = [ From 5930fe64219f09e31ca1db8be9de57b815975e1d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 09:56:50 +0000 Subject: [PATCH 025/105] ryzen-monitor-ng: 2.0.5-unstable-2023-11-05 -> 0-unstable-2026-03-28 --- pkgs/by-name/ry/ryzen-monitor-ng/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ry/ryzen-monitor-ng/package.nix b/pkgs/by-name/ry/ryzen-monitor-ng/package.nix index 7a90bf59b362..3d179324933f 100644 --- a/pkgs/by-name/ry/ryzen-monitor-ng/package.nix +++ b/pkgs/by-name/ry/ryzen-monitor-ng/package.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { pname = "ryzen-monitor-ng"; - version = "2.0.5-unstable-2023-11-05"; + version = "0-unstable-2026-03-28"; # Upstream has not updated ryzen_smu header version # This fork corrects ryzen_smu header version and @@ -15,8 +15,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "plasmin"; repo = "ryzen_monitor_ng"; - rev = "8b7854791d78de731a45ce7d30dd17983228b7b1"; - hash = "sha256-xdYNtXCbNy3/y5OAHZEi9KgPtwr1LTtLWAZC5DDCfmE="; + rev = "d62a4304b2f1727de3970b81d81875133b5f8a68"; + hash = "sha256-irX+Y3H16mNVOfh7Hi8jZ0+DbG7un7MvKaMqp+isjoo="; # Upstream repo contains pre-compiled binaries and object files # that are out of date. # These need to be removed before build stage. From 91c9925f62d001aaf561da2c6f90c5a539fd2c63 Mon Sep 17 00:00:00 2001 From: Josef Hofer Date: Thu, 2 Apr 2026 11:58:42 +0200 Subject: [PATCH 026/105] glab: 1.89.0 -> 1.91.0 Changelog: https://gitlab.com/gitlab-org/cli/-/releases/v1.91.0 --- pkgs/by-name/gl/glab/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gl/glab/package.nix b/pkgs/by-name/gl/glab/package.nix index fdff2d50f8ce..4f36c3062782 100644 --- a/pkgs/by-name/gl/glab/package.nix +++ b/pkgs/by-name/gl/glab/package.nix @@ -13,13 +13,13 @@ buildGoModule (finalAttrs: { pname = "glab"; - version = "1.89.0"; + version = "1.91.0"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-kc3ievJASceFGwv/c84719FlIKFX90i2H8wG8Yr08io="; + hash = "sha256-AXScsFVN8vEdhjM4m4VK41tje9QABp0OGq+8sPM+4oo="; leaveDotGit = true; postFetch = '' cd "$out" @@ -28,7 +28,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-eKwYddkcFDmiZbGFJGx53FuyMHeeWYnMfX3WbDWb40w="; + vendorHash = "sha256-idxt6qrs2CPO4SvZEuZNy12mw7dy1dslfuVn1ufrZ5Y="; ldflags = [ "-s" From 3ad5897d3b4869417808e0f9e56d88ee1649e61e Mon Sep 17 00:00:00 2001 From: Code Instable <68656923+code-instable@users.noreply.github.com> Date: Thu, 2 Apr 2026 12:00:34 +0200 Subject: [PATCH 027/105] typstPackages: sync with Typst Universe as of 2026-04-02 Updates typstPackages to match the Typst Universe as of 2026-04-02, at commit f7eda92135f69f35eb1de52fa6bcefe203c9326a. It was regenerated with maintainers/scripts/update-typst-packages.py. - Typst Packages Data source: typst/packages@f7eda92. - Nixpkgs Upstream reference: NixOS/nixpkgs@8d4ac3a --- .../typst/typst-packages-from-universe.toml | 2107 ++++++++++++++++- 1 file changed, 2005 insertions(+), 102 deletions(-) diff --git a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml index e3a74d54f99c..1245d925bc9a 100644 --- a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml +++ b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml @@ -8,6 +8,16 @@ license = [ ] homepage = "https://github.com/soarowl/a2c-nums.git" +[aa-draw."0.1.0"] +url = "https://packages.typst.org/preview/aa-draw-0.1.0.tar.gz" +hash = "sha256-1aF7HwZ5IayhIFgXveEidtPy7I9sa7gkDcMHvz+Oqxk=" +typstDeps = [] +description = "Convert ASCII art diagrams into SVG powered by aasvg-rs" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/typst-aasvg" + [abbr."0.3.0"] url = "https://packages.typst.org/preview/abbr-0.3.0.tar.gz" hash = "sha256-O8LntWQhCu6yWAJu9Gp/rz3Q/e6cOqesmYkICut/G38=" @@ -242,6 +252,22 @@ license = [ ] homepage = "https://github.com/eltos/accelerated-jacow/" +[accelerated-jacow."0.1.3"] +url = "https://packages.typst.org/preview/accelerated-jacow-0.1.3.tar.gz" +hash = "sha256-rdamQ3duwAyaQNJqdZ7QdOJ22fTs5l0aSVu5Ykv78bQ=" +typstDeps = [ + "glossy_0_7_0", + "lilaq_0_1_0", + "physica_0_9_5", + "unify_0_7_1", +] +description = "Paper template for conference proceedings in accelerator physics" +license = [ + "GPL-3.0-only", + "MIT-0", +] +homepage = "https://github.com/eltos/accelerated-jacow/" + [accelerated-jacow."0.1.2"] url = "https://packages.typst.org/preview/accelerated-jacow-0.1.2.tar.gz" hash = "sha256-juQdPIDbJ6goVgn4HqgHp8gw+Ztx6QBjTo24jh6P3iw=" @@ -691,6 +717,18 @@ license = [ ] homepage = "https://github.com/SimonBure/akatable" +[alchemist."0.1.9"] +url = "https://packages.typst.org/preview/alchemist-0.1.9.tar.gz" +hash = "sha256-bWNGcV9An7t5OhjbXENg8BjtZOPPVayQngokIz7qKkk=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A package to render skeletal formulas using CeTZ" +license = [ + "MIT", +] +homepage = "https://github.com/Typsium/alchemist" + [alchemist."0.1.8"] url = "https://packages.typst.org/preview/alchemist-0.1.8.tar.gz" hash = "sha256-GGOJ9TxctfYABiDU9NwMNDUjEzPoheuVnggfzIvhk6E=" @@ -890,16 +928,6 @@ license = [ ] homepage = "https://github.com/platformer/typst-algorithms" -[algo."0.3.4"] -url = "https://packages.typst.org/preview/algo-0.3.4.tar.gz" -hash = "sha256-FAUfCdgE7wORCS+V7IvsUfsIzvhJxqqed4SrIyLK0uY=" -typstDeps = [] -description = "Beautifully typeset algorithms" -license = [ - "MIT", -] -homepage = "https://github.com/platformer/typst-algorithms" - [algo."0.3.3"] url = "https://packages.typst.org/preview/algo-0.3.3.tar.gz" hash = "sha256-3VUCgUg/a9iMQn+Qf8lUYgAQzeTr1kUka419hoGk4sQ=" @@ -1620,6 +1648,18 @@ license = [ ] homepage = "https://github.com/pearcebasmanm/arborly" +[arch-plotter."0.1.0"] +url = "https://packages.typst.org/preview/arch-plotter-0.1.0.tar.gz" +hash = "sha256-JjitUWARsttvyDTrgtyNB0EDND4R9U7O9GA0WWUMlk8=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A parametric 2D CAD and land surveying engine for architectural drafting, built on CeTZ" +license = [ + "MIT", +] +homepage = "https://github.com/amitsinghg1/arch-plotter" + [arkheion."0.1.1"] url = "https://packages.typst.org/preview/arkheion-0.1.1.tar.gz" hash = "sha256-lPz7n7UtbC18rG6UJfXrt925IFrZg+KbcMcVEsxIGng=" @@ -1966,6 +2006,18 @@ license = [ ] homepage = "https://github.com/rice8y/auto-jrubby" +[auto-mando."0.2.1"] +url = "https://packages.typst.org/preview/auto-mando-0.2.1.tar.gz" +hash = "sha256-uh/fEKsB4KTpW3IypzRWUp6B2AHZ7fMmLFSFegvUGt4=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic conversion to Mandarin romanizations from Chinese characters" +license = [ + "MIT", +] +homepage = "https://github.com/VincentTam/auto-mando" + [auto-pinyin."0.1.0"] url = "https://packages.typst.org/preview/auto-pinyin-0.1.0.tar.gz" hash = "sha256-MlHWOyKkyMfz0PyBA2gI8VoJe9VlHOb6MOE2bBexyNU=" @@ -2144,6 +2196,16 @@ license = [ ] homepage = "https://github.com/isaacew/aiaa-typst" +[bamdone-ieeeconf."0.1.3"] +url = "https://packages.typst.org/preview/bamdone-ieeeconf-0.1.3.tar.gz" +hash = "sha256-RVRTfYWfqCrazmYTFkxGJyZX4FalIJkAUvXOWY6Xbzg=" +typstDeps = [] +description = "An IEEE-style paper template to publish at conferences and journals for Electrical Engineering, Computer Science, and Computer Engineering" +license = [ + "MIT-0", +] +homepage = "https://github.com/typst/templates" + [bamdone-ieeeconf."0.1.2"] url = "https://packages.typst.org/preview/bamdone-ieeeconf-0.1.2.tar.gz" hash = "sha256-BZ0gE3WRPRm10WtWQJGj1/I/sajC7NBF/kbZ/1WZ4X0=" @@ -2417,6 +2479,16 @@ license = [ ] homepage = "https://github.com/EpicEricEE/typst-based" +[basic-academic-letter."0.2.0"] +url = "https://packages.typst.org/preview/basic-academic-letter-0.2.0.tar.gz" +hash = "sha256-WxChp5dF4sal0MsHS2tVSigMA5mayTq66hzVsDUq6F0=" +typstDeps = [] +description = "A clean template for academic letter" +license = [ + "MIT", +] +homepage = "https://github.com/whliao5am/basic-letter-typst-template" + [basic-academic-letter."0.1.0"] url = "https://packages.typst.org/preview/basic-academic-letter-0.1.0.tar.gz" hash = "sha256-y3EcT1RwsfCHaNGCTgALFToQwphr9rtnnAvEJvfOfv0=" @@ -2627,6 +2699,16 @@ license = [ ] homepage = "https://github.com/stuxf/basic-typst-resume-template" +[basic-resume."0.2.0"] +url = "https://packages.typst.org/preview/basic-resume-0.2.0.tar.gz" +hash = "sha256-Wc8SSm0D4qf4s/UxSNYczdG8pyrVAmRyviYUXlakeug=" +typstDeps = [] +description = "A simple, standard resume, designed to work well with ATS" +license = [ + "Unlicense", +] +homepage = "https://github.com/stuxf/basic-typst-resume-template" + [basic-resume."0.1.4"] url = "https://packages.typst.org/preview/basic-resume-0.1.4.tar.gz" hash = "sha256-AgKKQ9hmyQGbTC6HyE8y5A0O4QFezibOLRgpXxQHbfY=" @@ -2777,6 +2859,20 @@ license = [ ] homepage = "https://github.com/lucas-bublitz/bellbird-udesc-paper" +[benplate."0.1.0"] +url = "https://packages.typst.org/preview/benplate-0.1.0.tar.gz" +hash = "sha256-pyztfq9ZBQ93wpHX0r+qyFqTZIxts/w98uqBC51SQQY=" +typstDeps = [ + "drafting_0_2_2", + "hydra_0_6_2", + "outrageous_0_4_1", +] +description = "A flexible template for final theses, term papers and similar documents" +license = [ + "MIT", +] +homepage = "https://github.com/Nasenbaer39/benplate" + [biceps."0.0.1"] url = "https://packages.typst.org/preview/biceps-0.0.1.tar.gz" hash = "sha256-w72oSOKuw72q7hK5mF78nwRsWVnI/mAXQvFWtdp89KM=" @@ -2910,6 +3006,17 @@ license = [ ] homepage = "https://github.com/daskol/typst-templates" +[blindex."0.4.0"] +url = "https://packages.typst.org/preview/blindex-0.4.0.tar.gz" +hash = "sha256-884oWTTbvmEm2asiBDjrJ1bAo98pzRoeZ0jtv6cHfew=" +typstDeps = [ + "tidy_0_4_3", +] +description = "Index-making of Biblical literature citations in Typst" +license = [ + "MIT", +] + [blindex."0.3.0"] url = "https://packages.typst.org/preview/blindex-0.3.0.tar.gz" hash = "sha256-DfexI5bLYVUR+ICViqYMU9UEae/hyKu8L9BCt1CurlI=" @@ -3000,6 +3107,16 @@ license = [ ] homepage = "https://github.com/daskol/typst-templates" +[blockst."0.1.0"] +url = "https://packages.typst.org/preview/blockst-0.1.0.tar.gz" +hash = "sha256-32T2QAleiOZZ1tFREdvsv3wos8oP01GpM8P0KJuXFV0=" +typstDeps = [] +description = "Render Scratch-style blocks for educational documents" +license = [ + "MIT", +] +homepage = "https://github.com/Loewe1000/blockst" + [board-n-pieces."0.9.0"] url = "https://packages.typst.org/preview/board-n-pieces-0.9.0.tar.gz" hash = "sha256-al0YD3QVzCTSLoDpNPKeRNhNIMzkKigDtenEuMKZVwQ=" @@ -3197,6 +3314,24 @@ license = [ "Apache-2.0", ] +[bookly."2.0.0"] +url = "https://packages.typst.org/preview/bookly-2.0.0.tar.gz" +hash = "sha256-mGyCIuTYZLXm1xdnPu2pYM/Gbn6T0FQLoTF5oghV6ho=" +typstDeps = [ + "drafting_0_2_2", + "equate_0_3_2", + "hydra_0_6_2", + "itemize_0_2_0", + "showybox_2_0_4", + "suboutline_0_3_0", + "subpar_0_2_2", +] +description = "Book template for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/bookly" + [bookly."1.2.0"] url = "https://packages.typst.org/preview/bookly-1.2.0.tar.gz" hash = "sha256-c4xJDd3UcHhllkQLxGB4Lo0sgE5InfdVS35+ralGZOU=" @@ -3429,6 +3564,42 @@ license = [ ] homepage = "https://github.com/tndrle/briefs" +[brilliant-cv."3.3.0"] +url = "https://packages.typst.org/preview/brilliant-cv-3.3.0.tar.gz" +hash = "sha256-L1Y8wjiZah/KMUsVVKikf2rMtw3Q4OsacL4tepdwuMo=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "💼 another CV template for your job application, yet powered by Typst and more" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/yunanwg/brilliant-CV" + +[brilliant-cv."3.2.0"] +url = "https://packages.typst.org/preview/brilliant-cv-3.2.0.tar.gz" +hash = "sha256-azTOppOC06iQNu97EaSKX5YyEHxhHijreyJEFaRrGmk=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "💼 another CV template for your job application, yet powered by Typst and more" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/yunanwg/brilliant-CV" + +[brilliant-cv."3.1.2"] +url = "https://packages.typst.org/preview/brilliant-cv-3.1.2.tar.gz" +hash = "sha256-/EHDJJv0VnBISKE5WGklGh/UbpN4aodDVT6zG7pT6ec=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "💼 another CV template for your job application, yet powered by Typst and more" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/yunanwg/brilliant-CV" + [brilliant-cv."3.1.1"] url = "https://packages.typst.org/preview/brilliant-cv-3.1.1.tar.gz" hash = "sha256-g+TrJAUxdMV6zola36MNWBweZRqzPlvc+BlwZ8bsEmg=" @@ -3845,6 +4016,20 @@ license = [ ] homepage = "https://github.com/rice8y/caletz" +[callisto."0.2.5"] +url = "https://packages.typst.org/preview/callisto-0.2.5.tar.gz" +hash = "sha256-xM9AJa+Lk7lUlrHC/VSJCBMSK+LlMKJc+bAPAsAf+tU=" +typstDeps = [ + "based_0_2_0", + "cmarker_0_1_6", + "mitex_0_2_6", +] +description = "Import Jupyter notebooks" +license = [ + "MIT", +] +homepage = "https://github.com/knuesel/callisto" + [callisto."0.2.4"] url = "https://packages.typst.org/preview/callisto-0.2.4.tar.gz" hash = "sha256-tXrlQemxWFQlIdr6Hv4wn74gZz+kkohFhafosxGfi0c=" @@ -4600,6 +4785,16 @@ license = [ ] homepage = "https://github.com/csimide/SEU-Typst-Template" +[chef-cookbook."0.2.0"] +url = "https://packages.typst.org/preview/chef-cookbook-0.2.0.tar.gz" +hash = "sha256-J1Ml51ay/V1GYAperDxeSP/5cqXYIkYXAo7fm9o8WIY=" +typstDeps = [] +description = "Create simple recipe collections and cookbooks" +license = [ + "MIT", +] +homepage = "https://github.com/Paulmue0/cookbook" + [chef-cookbook."0.1.0"] url = "https://packages.typst.org/preview/chef-cookbook-0.1.0.tar.gz" hash = "sha256-nhxWDJZWq3FmrKXaR2KJhHhtZzK7Zy8+pXz5d5n15wQ=" @@ -4903,6 +5098,18 @@ license = [ ] homepage = "https://github.com/ljgago/typst-chords" +[chordx."0.1.0"] +url = "https://packages.typst.org/preview/chordx-0.1.0.tar.gz" +hash = "sha256-no3xDZiroQghV591FPQnRrCFYa5h9EG803xmVdqB/nQ=" +typstDeps = [ + "cetz_0_0_1", +] +description = "A library to write song lyrics with chord diagrams in Typst" +license = [ + "MIT", +] +homepage = "https://github.com/ljgago/typst-chords" + [chribel."1.2.0"] url = "https://packages.typst.org/preview/chribel-1.2.0.tar.gz" hash = "sha256-9emfIIdaNtqo3qRjI1xarnOnAjPUXSZ+s76dQ7zEcXg=" @@ -5157,6 +5364,16 @@ license = [ ] homepage = "https://github.com/alexanderkoller/typst-citegeist" +[citesugar."0.1.0"] +url = "https://packages.typst.org/preview/citesugar-0.1.0.tar.gz" +hash = "sha256-a3uTsFw1Gd6S8u4wpgHhmnXErEjooJvrUeuAMOIThqU=" +typstDeps = [] +description = "More ways to cite, and with shorter syntax" +license = [ + "MIT", +] +homepage = "https://github.com/retroflexivity/typst-citesugar" + [citrus."0.2.0"] url = "https://packages.typst.org/preview/citrus-0.2.0.tar.gz" hash = "sha256-jzBMbowfUkrjBySGw9MmZpUGASq6tqvvB5q8aXd0kQQ=" @@ -5203,6 +5420,18 @@ license = [ ] homepage = "https://github.com/ryuryu-ymj/cjk-spacer" +[cjk-unbreak."0.2.3"] +url = "https://packages.typst.org/preview/cjk-unbreak-0.2.3.tar.gz" +hash = "sha256-0CDURUlI8cZhPFreLqYJ54Aobn2gpCiGGvzZKhd1uPE=" +typstDeps = [ + "touying_0_6_1", +] +description = "Remove spaces caused by line breaks around CJK" +license = [ + "MIT", +] +homepage = "https://github.com/KZNS/cjk-unbreak" + [cjk-unbreak."0.2.2"] url = "https://packages.typst.org/preview/cjk-unbreak-0.2.2.tar.gz" hash = "sha256-jL1o/hO1VWhbAsj6u3PcHmXooshYWRCy7w33HMqHjn4=" @@ -5263,6 +5492,16 @@ license = [ ] homepage = "https://github.com/KZNS/cjk-unbreak" +[cjk-unshrink."0.1.0"] +url = "https://packages.typst.org/preview/cjk-unshrink-0.1.0.tar.gz" +hash = "sha256-zpP+bYsnnA6CrL/R5Jn4px/fk+lDLr6Gh0chh1O0zlg=" +typstDeps = [] +description = "Unshrink full-width punctuation marks" +license = [ + "MIT", +] +homepage = "https://github.com/neruthes/typstpkg-cjk-unshrink" + [classic-aau-report."0.3.1"] url = "https://packages.typst.org/preview/classic-aau-report-0.3.1.tar.gz" hash = "sha256-kDy0Z0f2ifKOdKa/PaPP608qXzmw1E6NTL40dIUY0iQ=" @@ -6252,6 +6491,19 @@ license = [ ] homepage = "https://github.com/AbdullahHendy/clickworthy-resume" +[cloudy."0.2.0"] +url = "https://packages.typst.org/preview/cloudy-0.2.0.tar.gz" +hash = "sha256-t0YTvS8cY04mSs4Nmy+aHNj9RAKOvwixUi7t6GiSck0=" +typstDeps = [ + "suiji_0_4_0", + "testyfy_0_2_0", +] +description = "Create clouds of words" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://gitlab.com/hartang/typst/cloudy" + [cloudy."0.1.1"] url = "https://packages.typst.org/preview/cloudy-0.1.1.tar.gz" hash = "sha256-5Y78gTdnKnxjTD1uy0FnLUXjnv3p6BcL8+9H+Zhv2XI=" @@ -6356,6 +6608,32 @@ license = [ ] homepage = "https://github.com/SabrinaJewson/cmarker.typ" +[cntopo."0.1.0"] +url = "https://packages.typst.org/preview/cntopo-0.1.0.tar.gz" +hash = "sha256-uWcGgdqYvpcysB36b8cICC804cTDD6ZeODdwOYy9giY=" +typstDeps = [ + "cetz_0_3_4", + "fletcher_0_5_8", + "tidy_0_4_3", +] +description = "Computer network topology icons for cetz or fletcher" +license = [ + "MIT", +] +homepage = "https://github.com/omega-800/cntopo-typ.git" + +[cob-unofficial."0.1.2"] +url = "https://packages.typst.org/preview/cob-unofficial-0.1.2.tar.gz" +hash = "sha256-P2VZnAH1K7FhKlkFDyhvuT0M3zGbfSfcj1Fci3vBoA4=" +typstDeps = [ + "hallon_0_1_3", +] +description = "Unofficial CoB (The Company of Biologists) template for Typst" +license = [ + "0BSD", +] +homepage = "https://github.com/mewmew/cob-unofficial" + [cob-unofficial."0.1.1"] url = "https://packages.typst.org/preview/cob-unofficial-0.1.1.tar.gz" hash = "sha256-nsh2cpLyoXF9cHbTmSi9kPp2eQTG6i8HAOtEduXqToA=" @@ -6533,6 +6811,18 @@ license = [ "MIT", ] +[codez."0.1.0"] +url = "https://packages.typst.org/preview/codez-0.1.0.tar.gz" +hash = "sha256-1raRpnCNNg9Pre5AV/NRINsySG8JfcmNvgSzcdCZslc=" +typstDeps = [ + "cetz_0_3_4", +] +description = "Annotate code blocks with marks and geometric overlays" +license = [ + "MIT", +] +homepage = "https://github.com/Bynaryman/codez" + [codly."1.3.0"] url = "https://packages.typst.org/preview/codly-1.3.0.tar.gz" hash = "sha256-rbwurMz3kfF4+MJmpyjLHeW88RPclvqnGRfiTJVm5us=" @@ -6903,6 +7193,15 @@ license = [ ] homepage = "https://github.com/micheledusi/Combo" +[community-gzqy-thesis."0.1.0"] +url = "https://packages.typst.org/preview/community-gzqy-thesis-0.1.0.tar.gz" +hash = "sha256-RvlRNRd8pwtP1R5TcZ2Y8Dh0xy1j12h9QABNLmUxynE=" +typstDeps = [] +description = "社区维护的贵州轻工职业技术学院毕业设计(论文)模板 | Community-maintained graduation project (thesis) template for Guizhou Light Industry Technical College" +license = [ + "MIT", +] + [community-ostfalia-thesis."0.1.0"] url = "https://packages.typst.org/preview/community-ostfalia-thesis-0.1.0.tar.gz" hash = "sha256-em8AmALMOvMv3x/XdyTTWOjWAGpwOjlfTbE9ZuQTi1c=" @@ -7246,6 +7545,18 @@ license = [ ] homepage = "https://github.com/sahasatvik/typst-theorems" +[ctheorems."0.1.0"] +url = "https://packages.typst.org/preview/ctheorems-0.1.0.tar.gz" +hash = "sha256-H8s5x8SHKT83w0W7fVDiajg4CY7h4AiVgZdqm6FwEFQ=" +typstDeps = [ + "ctheorems_1_0_0", +] +description = "Theorem library based on (and compatible) with the classic typst-theorem module" +license = [ + "MIT", +] +homepage = "https://github.com/DVDTSB/ctheorems" + [ctxjs."0.3.2"] url = "https://packages.typst.org/preview/ctxjs-0.3.2.tar.gz" hash = "sha256-vkyxCsaEGn8Myhfzk4YGqZxQ9JbBbXxb1S2WaElIW/E=" @@ -7761,19 +8072,6 @@ license = [ ] homepage = "https://github.com/ErrorTeaPot/Cyberschool_template" -[cyberschool-errorteaplate."0.1.4"] -url = "https://packages.typst.org/preview/cyberschool-errorteaplate-0.1.4.tar.gz" -hash = "sha256-BHJNjdvj53BHDhvqjkSRk0bLBUzlbYazd+ZXzgj0FSo=" -typstDeps = [ - "codly_1_3_0", - "codly-languages_0_1_8", -] -description = "This is a template originaly made for the Cyberschool of Rennes, a Cybersecurity school" -license = [ - "MIT", -] -homepage = "https://github.com/ErrorTeaPot/Cyberschool_template" - [cyberschool-errorteaplate."0.1.3"] url = "https://packages.typst.org/preview/cyberschool-errorteaplate-0.1.3.tar.gz" hash = "sha256-k/zpxcsIv47M6YPy5eNl2YVh/RicIVJH595xbzSicqY=" @@ -7797,6 +8095,18 @@ license = [ ] homepage = "https://github.com/Achraf-saadali/ENSAJ-REPORT" +[czbloch."0.1.0"] +url = "https://packages.typst.org/preview/czbloch-0.1.0.tar.gz" +hash = "sha256-QmGeOWC43+BSnTQ1af5beWNNAOE9YJ4JD/X580dmq9I=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Draw Bloch spheres with ease" +license = [ + "MIT", +] +homepage = "https://github.com/Peng-Rao/czbloch" + [dashing-dept-news."0.1.1"] url = "https://packages.typst.org/preview/dashing-dept-news-0.1.1.tar.gz" hash = "sha256-lV1llDhUz5VkUppRdrVqWHKxjcaX4BP0dtGKCDQ5hfQ=" @@ -7887,6 +8197,23 @@ license = [ ] homepage = "https://github.com/Otto-AA/dashy-todo" +[dati-basati."0.1.0"] +url = "https://packages.typst.org/preview/dati-basati-0.1.0.tar.gz" +hash = "sha256-Zkhz3Q9/t234Sknc6czzI26euRPv0a4NWSTmnkJZBxQ=" +typstDeps = [ + "catppuccin_1_0_1", + "catppuccin_1_1_0", + "cetz_0_4_2", + "gentle-clues_1_3_1", + "tidy_0_4_3", + "zebraw_0_6_1", +] +description = "Draw Entity-Relations diagrams" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://www.github.com/victuarvi/dati-basati" + [datify."1.0.1"] url = "https://packages.typst.org/preview/datify-1.0.1.tar.gz" hash = "sha256-zu/vnvYJe0SgtdjLiY6kTWl12bkyu2oqBRoxHDCLLIM=" @@ -8714,6 +9041,16 @@ license = [ ] homepage = "https://github.com/JamesxX/dining-table" +[discount."0.1.0"] +url = "https://packages.typst.org/preview/discount-0.1.0.tar.gz" +hash = "sha256-ndq9d6V5fyaugVkfEwD8VI/v5VfDQ8rZhTs9q3HaxiA=" +typstDeps = [] +description = "Create hasssle-free subcounters of heading" +license = [ + "LGPL-3.0-only", +] +homepage = "https://codeberg.org/fgolke/typst-discount" + [diverential."0.3.0"] url = "https://packages.typst.org/preview/diverential-0.3.0.tar.gz" hash = "sha256-Z/AT1EQLvok2R1oevMeIbM6iUPXNqe28aPYxIOJVjvc=" @@ -8931,6 +9268,16 @@ license = [ ] homepage = "https://github.com/DVDTSB/dvdtyp" +[easy-paper."0.2.1"] +url = "https://packages.typst.org/preview/easy-paper-0.2.1.tar.gz" +hash = "sha256-NOcoWFFT5Qk6hEY5ttw5RCh7v9lXz7va4xxVLlIgmDA=" +typstDeps = [] +description = "A ready-to-use Typst template for Chinese papers" +license = [ + "MIT", +] +homepage = "https://github.com/Dawnfz-Lenfeng/easy-paper" + [easy-paper."0.2.0"] url = "https://packages.typst.org/preview/easy-paper-0.2.0.tar.gz" hash = "sha256-uAeLL2iiRZxrxVeG3nody+pqmC72Fh5uztUeFctji+M=" @@ -8964,6 +9311,19 @@ license = [ ] homepage = "https://github.com/swaits/typst-collection" +[easy-wi-hwr."0.1.0"] +url = "https://packages.typst.org/preview/easy-wi-hwr-0.1.0.tar.gz" +hash = "sha256-FFtF1KQEU67+h2+PILzZOQ/cZ5djeTAMZzDoUBzs3Vw=" +typstDeps = [ + "glossarium_0_5_10", + "linguify_0_5_0", +] +description = "Paper template for HWR Berlin (Wirtschaftsinformatik" +license = [ + "MIT", +] +homepage = "https://github.com/lultoni/hwr-typst-template" + [easytable."0.1.0"] url = "https://packages.typst.org/preview/easytable-0.1.0.tar.gz" hash = "sha256-W3FRYrjZ0u0Rdr8hYrwksuGwPjzF4ukX/EodJz0mSNE=" @@ -9060,6 +9420,16 @@ license = [ ] homepage = "https://github.com/syqwq-OMG/ecnu-math-hwk" +[econ-working-paper."0.3.1"] +url = "https://packages.typst.org/preview/econ-working-paper-0.3.1.tar.gz" +hash = "sha256-JcnAjmH5taUtzrK6gfzuKlmkUcOhxAEVvqjpDBTjhQs=" +typstDeps = [] +description = "Working-paper template for SSRN and social science manuscripts" +license = [ + "MIT", +] +homepage = "https://github.com/statzhero/econ-working-paper" + [edgeframe."0.3.0"] url = "https://packages.typst.org/preview/edgeframe-0.3.0.tar.gz" hash = "sha256-QjjnDg4mllJ8YDbp994MqAdjkwT4cg4tujexaTX+iKI=" @@ -9192,6 +9562,18 @@ license = [ "MIT", ] +[eggs."0.6.0"] +url = "https://packages.typst.org/preview/eggs-0.6.0.tar.gz" +hash = "sha256-R3+PHTaGSVm4kNWrtMW1lkheTKlvHkMA9sxBuHaqhDw=" +typstDeps = [ + "tidy_0_4_3", +] +description = "Linguistic examples with minimalist syntax" +license = [ + "MIT", +] +homepage = "https://github.com/retroflexivity/typst-eggs" + [eggs."0.5.1"] url = "https://packages.typst.org/preview/eggs-0.5.1.tar.gz" hash = "sha256-arkir6WmkDtRVrCjITwjZZV8H9lom4xdBok6pG8ynkU=" @@ -9421,6 +9803,32 @@ license = [ ] homepage = "https://github.com/PgBiel/elembic" +[elsearticle."2.0.3"] +url = "https://packages.typst.org/preview/elsearticle-2.0.3.tar.gz" +hash = "sha256-67KLevLgwjjRMaZWSyBQktuSYRY9d0LVsCfdTKAf/tA=" +typstDeps = [ + "equate_0_3_2", + "subpar_0_2_2", +] +description = "Conversion of the LaTeX elsearticle.cls" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/elsearticle" + +[elsearticle."2.0.2"] +url = "https://packages.typst.org/preview/elsearticle-2.0.2.tar.gz" +hash = "sha256-a+9Emm8OpG2ZGsUzIOLWNb0DyKkxKm1wxEPkindKBbk=" +typstDeps = [ + "equate_0_3_2", + "subpar_0_2_2", +] +description = "Conversion of the LaTeX elsearticle.cls" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/elsearticle" + [elsearticle."2.0.1"] url = "https://packages.typst.org/preview/elsearticle-2.0.1.tar.gz" hash = "sha256-AFoRZgJy9SQdoOV6jqm48M2kb5TIE/o7A0b7KI+Kd2A=" @@ -9895,6 +10303,68 @@ license = [ ] homepage = "git@github.com:Thumuss/brainfuck.git" +[ethz-iis-assignment."1.0.0"] +url = "https://packages.typst.org/preview/ethz-iis-assignment-1.0.0.tar.gz" +hash = "sha256-1igZuf92d5mG/JNbHrrvR7YhVYi8HQ0dNfHabfLC4ZI=" +typstDeps = [ + "cetz_0_4_2", + "ethz-iis-thesis_1_0_0", + "gentle-clues_1_3_1", + "timeliney_0_4_0", +] +description = "ETH Zurich IIS thesis assignment sheet template" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/pulp-platform/iis-typst" + +[ethz-iis-dissertation."1.0.0"] +url = "https://packages.typst.org/preview/ethz-iis-dissertation-1.0.0.tar.gz" +hash = "sha256-6Tbdh2ExFFc3J+FpfDOqThhQnNwmy4bQa3l6aF21lPU=" +typstDeps = [ + "acrostiche_0_7_0", + "cetz_0_4_2", + "ethz-iis-thesis_1_0_0", + "gentle-clues_1_3_1", +] +description = "ETH Zurich IIS PhD dissertation template" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/pulp-platform/iis-typst" + +[ethz-iis-research-plan."1.0.0"] +url = "https://packages.typst.org/preview/ethz-iis-research-plan-1.0.0.tar.gz" +hash = "sha256-yXSad6eNFHoXEbxa0531bmA0M5Xq+fIj84Io5+c1QDQ=" +typstDeps = [ + "acrostiche_0_7_0", + "cetz_0_4_2", + "cetz-plot_0_1_3", + "ethz-iis-thesis_1_0_0", + "gentle-clues_1_3_1", + "timeliney_0_4_0", +] +description = "ETH Zurich IIS PhD research plan template" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/pulp-platform/iis-typst" + +[ethz-iis-thesis."1.0.0"] +url = "https://packages.typst.org/preview/ethz-iis-thesis-1.0.0.tar.gz" +hash = "sha256-qbEtjNkWHNH8kCufq5L3nPSXJGYm8UtBcTkGxLzHHgc=" +typstDeps = [ + "acrostiche_0_7_0", + "cetz_0_4_2", + "finite_0_5_1", + "gentle-clues_1_3_1", +] +description = "ETH Zurich IIS thesis/semester project report template" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/pulp-platform/iis-typst" + [etykett."0.1.1"] url = "https://packages.typst.org/preview/etykett-0.1.1.tar.gz" hash = "sha256-tqTIN+FiC5JgIhoNq8ZkWouWn9/UVJewk0WUcYCgPQk=" @@ -9919,16 +10389,6 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-etykett" -[examify."0.1.1"] -url = "https://packages.typst.org/preview/examify-0.1.1.tar.gz" -hash = "sha256-1dgSCLdqpxvX9/eVDAG83hkwlMpJfyrWEk2SqNFHjYQ=" -typstDeps = [] -description = "A simple typst template to create question papers for exams" -license = [ - "MIT", -] -homepage = "https://github.com/tarunjana/examify" - [examify."0.1.0"] url = "https://packages.typst.org/preview/examify-0.1.0.tar.gz" hash = "sha256-RpvIZMnN1Nq0dnyHwf79aAs/4BNZsJFYkgTjRWVJOok=" @@ -10187,6 +10647,16 @@ license = [ ] homepage = "https://github.com/gbchu/ezchem.git" +[ezexam."0.3.0"] +url = "https://packages.typst.org/preview/ezexam-0.3.0.tar.gz" +hash = "sha256-2AMPyJGWf8JUG7PsZ5/xFPUJpMg3LDwuMMIQp+FFeps=" +typstDeps = [] +description = "An exam template inspired by the LaTeX package exam-zh" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/gbchu/ezexam.git" + [ezexam."0.2.9"] url = "https://packages.typst.org/preview/ezexam-0.2.9.tar.gz" hash = "sha256-xFbNwqGrhB1L/xKZwkNFhNN8eOmgB3IaomT8bUqN+fc=" @@ -10407,6 +10877,17 @@ license = [ ] homepage = "https://github.com/han190/fancy-affil" +[fancy-cookbook."1.0.0"] +url = "https://packages.typst.org/preview/fancy-cookbook-1.0.0.tar.gz" +hash = "sha256-x4+P/zivHaVgvol7BQGjIxK0hfjTPFIcMv7OV6ZGla4=" +typstDeps = [ + "ez-today_2_1_0", +] +description = "Create simple recipe collections and cookbooks in color and your language" +license = [ + "MIT", +] + [fancy-tiling."1.0.0"] url = "https://packages.typst.org/preview/fancy-tiling-1.0.0.tar.gz" hash = "sha256-XGz4FP1E8OXq+RI8BaW+9gGAjWpF0Ddpx4AUA9YS29g=" @@ -11157,6 +11638,23 @@ license = [ ] homepage = "https://github.com/Jollywatt/typst-fletcher" +[flow."0.4.0"] +url = "https://packages.typst.org/preview/flow-0.4.0.tar.gz" +hash = "sha256-jVTngjp0l7q9mFzCs8IkegDPa8Z607XnFLcBOv1z9jU=" +typstDeps = [ + "cetz-plot_0_1_3", + "oxifmt_1_0_0", + "roumnd_0_1_0", + "touying_0_6_3", + "whalogen_0_3_0", +] +description = "Consistent set of templates and utils to grow with" +license = [ + "EUPL-1.2", + "MIT-0", +] +homepage = "https://codeberg.org/MultisampledNight/flow" + [flow."0.3.2"] url = "https://packages.typst.org/preview/flow-0.3.2.tar.gz" hash = "sha256-MXoV4FUiXltFY6DXxxLHCwoTs9u8DExruOJzXT20nyE=" @@ -12118,6 +12616,19 @@ license = [ ] homepage = "https://gitlab.com/john_t/typst-gantty" +[gb7714-bilingual."0.2.3"] +url = "https://packages.typst.org/preview/gb7714-bilingual-0.2.3.tar.gz" +hash = "sha256-+HPOcAEXIb+kB7f3cBGy0nSdz7gN5y4W9mxawZRKkkU=" +typstDeps = [ + "auto-pinyin_0_1_0", + "citegeist_0_2_2", +] +description = "GB/T 7714-2015/2025 bilingual bibliography for Typst with automatic Chinese/English term switching" +license = [ + "MIT", +] +homepage = "https://github.com/pku-typst/gb7714-bilingual" + [gb7714-bilingual."0.2.2"] url = "https://packages.typst.org/preview/gb7714-bilingual-0.2.2.tar.gz" hash = "sha256-4i534I/xgZrEwcj+9Npu0ViHHtnu2Lsm12FlUikJl8g=" @@ -12207,6 +12718,18 @@ license = [ ] homepage = "https://codeberg.org/drloiseau/genealogy" +[genotypst."0.7.0"] +url = "https://packages.typst.org/preview/genotypst-0.7.0.tar.gz" +hash = "sha256-JqcxZc4ylxpZeRmL5UkuIInmnIQlH7MCV5j1LetQWKg=" +typstDeps = [ + "tiptoe_0_4_0", +] +description = "genotypst: A package for bioinformatics data analysis and visualization" +license = [ + "MIT", +] +homepage = "https://github.com/apcamargo/genotypst" + [genotypst."0.6.0"] url = "https://packages.typst.org/preview/genotypst-0.6.0.tar.gz" hash = "sha256-1DDDz6ChsHYX7XQw0U7g55aYo1w4AO2VaYKPT5NFRoE=" @@ -12945,6 +13468,16 @@ license = [ ] homepage = "https://github.com/swaits/typst-collection" +[golixp-resume-zh-cn."0.1.1"] +url = "https://packages.typst.org/preview/golixp-resume-zh-cn-0.1.1.tar.gz" +hash = "sha256-IX4TmqdBHfURbR+3l9o1D7ScZ8NeV9LFpLmgESbErnc=" +typstDeps = [] +description = "面向简体中文的模块化 Typst 简历模板,支持自定义主题色、字体和排版配置" +license = [ + "MIT", +] +homepage = "https://github.com/golixp/typst-resume-zh-cn" + [golixp-resume-zh-cn."0.1.0"] url = "https://packages.typst.org/preview/golixp-resume-zh-cn-0.1.0.tar.gz" hash = "sha256-omoNeTozrgWe7s5TgwTvj3nAzigT4mff6zcLXucHl0k=" @@ -13118,6 +13651,16 @@ license = [ ] homepage = "https://github.com/euwbah/graph-gen" +[grayness."0.6.0"] +url = "https://packages.typst.org/preview/grayness-0.6.0.tar.gz" +hash = "sha256-Ie7xVAHvba8x8yIJE2zA3J4AH62aAN/gzAAk8usN8GY=" +typstDeps = [] +description = "Simple image editing capabilities like converting to grayscale and cropping via a WASM plugin" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/nineff/grayness" + [grayness."0.5.0"] url = "https://packages.typst.org/preview/grayness-0.5.0.tar.gz" hash = "sha256-svgS7Ze3G56KVa9M7Qcmsgg2CLM+w6Gy4OPFafAwiNE=" @@ -13385,6 +13928,17 @@ license = [ "MIT", ] +[grotesk-cv."0.1.2"] +url = "https://packages.typst.org/preview/grotesk-cv-0.1.2.tar.gz" +hash = "sha256-6s8z8PhAXBLmip3D/9Rlcu5/lkvLd97r/bPk9sbFi0E=" +typstDeps = [ + "fontawesome_0_2_1", +] +description = "Clean CV template based on the awesome-cv and Skywalker templates" +license = [ + "MIT", +] + [grotesk-cv."0.1.1"] url = "https://packages.typst.org/preview/grotesk-cv-0.1.1.tar.gz" hash = "sha256-hvMDjoUsepnu0s5fwcBdx4Lvfa9LZU28iDuzUTQO1eM=" @@ -13998,19 +14552,6 @@ license = [ ] homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" -[haw-hamburg-bachelor-thesis."0.5.0"] -url = "https://packages.typst.org/preview/haw-hamburg-bachelor-thesis-0.5.0.tar.gz" -hash = "sha256-y3RuWHrhvO7IH0cPRM9s3k0dK628Kho4uvYE7jBVJeA=" -typstDeps = [ - "glossarium_0_5_3", - "haw-hamburg_0_5_0", -] -description = "Unofficial template for writing a bachelor-thesis in the HAW Hamburg department of Computer Science design" -license = [ - "MIT", -] -homepage = "https://github.com/LasseRosenow/HAW-Hamburg-Typst-Template" - [haw-hamburg-bachelor-thesis."0.4.0"] url = "https://packages.typst.org/preview/haw-hamburg-bachelor-thesis-0.4.0.tar.gz" hash = "sha256-97iY2zDg42J8dm6PWqbGimZ/VJbB6B8JoCguJ60JSKs=" @@ -14411,6 +14952,32 @@ license = [ ] homepage = "https://github.com/jbirnick/typst-headcount" +[hei-synd-report."0.3.0"] +url = "https://packages.typst.org/preview/hei-synd-report-0.3.0.tar.gz" +hash = "sha256-FKHcrQvP5eUML3nc34CS+M6P/zOFzsRV6UMaz6AQ8Ug=" +typstDeps = [ + "fractusist_0_3_2", + "hei-synd-thesis_0_4_0", +] +description = "A report and project template tailored to the Systems Engineering (Synd) program at the HEI-Vs School of Engineering, Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/hei-templates/hei-synd-report" + +[hei-synd-report."0.2.0"] +url = "https://packages.typst.org/preview/hei-synd-report-0.2.0.tar.gz" +hash = "sha256-EbHKkVBfSTEi+Dkb56Dk4jxuA3RAO+gKiiu+hdUyqjU=" +typstDeps = [ + "fractusist_0_3_2", + "hei-synd-thesis_0_3_1", +] +description = "A report and project template tailored to the Systems Engineering (Synd) program at the HEI-Vs School of Engineering, Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/hei-templates/hei-synd-report" + [hei-synd-report."0.1.1"] url = "https://packages.typst.org/preview/hei-synd-report-0.1.1.tar.gz" hash = "sha256-PkAWjiwXtwmJe7xC7hOTCe0E+gFQahjH+9MWcrtLZCw=" @@ -14441,6 +15008,26 @@ license = [ ] homepage = "https://github.com/hei-templates/hei-synd-report" +[hei-synd-thesis."0.4.0"] +url = "https://packages.typst.org/preview/hei-synd-thesis-0.4.0.tar.gz" +hash = "sha256-L6Airz/1BTboyxoVgEJjvr9KRNhZpz+0FjynW8v9j88=" +typstDeps = [ + "cheq_0_3_0", + "codelst_2_0_2", + "codly_1_3_0", + "codly-languages_0_1_10", + "fractusist_0_3_2", + "glossarium_0_5_10", + "icu-datetime_0_2_1", + "mmdr_0_2_1", + "wordometer_0_1_5", +] +description = "A thesis template tailored to the Systems Engineering (Synd) program at the HEI-Vs School of Engineering, Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/hei-templates/hei-synd-thesis" + [hei-synd-thesis."0.2.3"] url = "https://packages.typst.org/preview/hei-synd-thesis-0.2.3.tar.gz" hash = "sha256-KoYYcw2W3RZreVymiDFMM71GvpUmtZle/lZWbG8q+t8=" @@ -14752,6 +15339,19 @@ license = [ ] homepage = "https://github.com/ShabbyGayBar/hitec" +[hsmz-thesis-unofficial."0.3.0"] +url = "https://packages.typst.org/preview/hsmz-thesis-unofficial-0.3.0.tar.gz" +hash = "sha256-UDRRyoaZUwvQ5p4U309e94AnQ3k4HD1whvx+xL91wWM=" +typstDeps = [ + "acrostiche_0_7_0", + "cheq_0_3_0", +] +description = "Unofficial template for theses at Hochschule Mainz (HSMZ" +license = [ + "MIT", +] +homepage = "https://github.com/PfurtschellerP/hsmz-thesis-template-typst" + [hsmz-thesis-unofficial."0.2.0"] url = "https://packages.typst.org/preview/hsmz-thesis-unofficial-0.2.0.tar.gz" hash = "sha256-/QGSkrK/5y0BxbcGOQ6G7uH9R0RAhHW5CbRtPC7ogTw=" @@ -15007,18 +15607,6 @@ license = [ ] homepage = "https://github.com/tingerrr/hydra" -[hydra."0.3.0"] -url = "https://packages.typst.org/preview/hydra-0.3.0.tar.gz" -hash = "sha256-znoyYAgFo/Gh6f0KVtVp8tsN2EQ+ANPFlXiLYQR2PXY=" -typstDeps = [ - "oxifmt_0_2_0", -] -description = "Query and display headings of the currently active section" -license = [ - "MIT", -] -homepage = "https://github.com/tingerrr/hydra" - [hydra."0.2.0"] url = "https://packages.typst.org/preview/hydra-0.2.0.tar.gz" hash = "sha256-lMSAwhFknlTsdnJF5tEGpBntQOVYfn0jTenncswx9I8=" @@ -15273,6 +15861,16 @@ license = [ ] homepage = "https://github.com/Bi0T1N/typst-iconic-salmon-svg" +[iconify."0.5.3"] +url = "https://packages.typst.org/preview/iconify-0.5.3.tar.gz" +hash = "sha256-MuhbM0YeBPsllYqFgF8iWU6VOk/xEvqEF8F6aikadoE=" +typstDeps = [] +description = "Use more than 200'000 vector icons from iconify" +license = [ + "MIT", +] +homepage = "https://github.com/ecstrema/iconify-typst" + [icu-datetime."0.2.1"] url = "https://packages.typst.org/preview/icu-datetime-0.2.1.tar.gz" hash = "sha256-tPYkNbw69hil04Rz+iePcr1IabbWKpx/TXXukspvfqw=" @@ -15366,6 +15964,16 @@ license = [ ] homepage = "https://github.com/Fricsion/typst-template_ieee-style-single-column" +[ieee-vgtc."0.0.4"] +url = "https://packages.typst.org/preview/ieee-vgtc-0.0.4.tar.gz" +hash = "sha256-4ItzVxJe6j9WZMzkMYbvfrfEGnC/oXG6zga1FxX4TTw=" +typstDeps = [] +description = "Templates for IEEE VGTC conferences and TVCG journal papers" +license = [ + "MIT-0", +] +homepage = "https://github.com/ieeevgtc/ieee-vgtc-typst" + [ieee-vgtc."0.0.3"] url = "https://packages.typst.org/preview/ieee-vgtc-0.0.3.tar.gz" hash = "sha256-FtL57Df99IrucJ8Fvh3BwAybTvMN0p/j2lqDO0s6/wc=" @@ -15863,6 +16471,16 @@ license = [ ] homepage = "https://github.com/RolfBremer/in-dexter" +[in-dexter."0.0.6"] +url = "https://packages.typst.org/preview/in-dexter-0.0.6.tar.gz" +hash = "sha256-C8ZctB6P7eQ9+fhp7aW+m+vcVLnk934zZR1kWtN0eco=" +typstDeps = [] +description = "Hand Picked Index for Typst" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/RolfBremer/in-dexter" + [in-dexter."0.0.5"] url = "https://packages.typst.org/preview/in-dexter-0.0.5.tar.gz" hash = "sha256-YhCLddQ2HrI9c/DgpmkT9ePezKzZYL6rMgJvZ9zUHg4=" @@ -15945,6 +16563,34 @@ license = [ ] homepage = "https://github.com/cecoeco/indic-numerals" +[inelegant-note."0.9.1"] +url = "https://packages.typst.org/preview/inelegant-note-0.9.1.tar.gz" +hash = "sha256-lnzhz3te1s8gJcay4RIru1DKWdQK7kOwZ8EumMq8dlk=" +typstDeps = [ + "cuti_0_4_0", + "theorion_0_5_0", + "zebraw_0_6_1", +] +description = "A Typst template which has the feature of Elegant Book and others" +license = [ + "MIT", +] +homepage = "https://github.com/typetypewriter/inelegant-note" + +[inelegant-note."0.9.0"] +url = "https://packages.typst.org/preview/inelegant-note-0.9.0.tar.gz" +hash = "sha256-4a2fhdJXReORUE4DaAiSro5ZWqM+Fe6+1OK6wh1VeoA=" +typstDeps = [ + "cuti_0_4_0", + "theorion_0_4_1", + "zebraw_0_6_1", +] +description = "A Typst template which has the feature of Elegant Book and others" +license = [ + "MIT", +] +homepage = "https://github.com/typetypewriter/inelegant-note" + [ineris-print."0.1.0"] url = "https://packages.typst.org/preview/ineris-print-0.1.0.tar.gz" hash = "sha256-hpWdNkHRY4jFN8hJvv0pdu/+qlnGHIb4B1UjLAgoVqo=" @@ -16150,6 +16796,22 @@ license = [ "MIT-0", ] +[isc-hei-bthesis."0.7.1"] +url = "https://packages.typst.org/preview/isc-hei-bthesis-0.7.1.tar.gz" +hash = "sha256-GRTXIhnEY77gQBFtrG+CNkqlGXyUhj2f5ekK8ZNZtoc=" +typstDeps = [ + "acrostiche_0_7_0", + "codelst_2_0_2", + "datify_1_0_1", + "gentle-clues_1_3_1", + "showybox_2_0_4", +] +description = "Official bachelor thesis at the 'Informatique et systèmes de communication' (ISC) bachelor degree programme, School of Engineering (HEI) in Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" + [isc-hei-bthesis."0.7.0"] url = "https://packages.typst.org/preview/isc-hei-bthesis-0.7.0.tar.gz" hash = "sha256-ghTvqKxtEdmO6I4BZGNuOMn+VfNol2VPviuQLJrB7Rw=" @@ -16226,6 +16888,21 @@ license = [ ] homepage = "https://github.com/ISC-HEI/ISC-report" +[isc-hei-document."0.7.1"] +url = "https://packages.typst.org/preview/isc-hei-document-0.7.1.tar.gz" +hash = "sha256-+zO73upsWHojW6ZKVgPW/Tm0ZVadVjkW6vfflDmijZE=" +typstDeps = [ + "codelst_2_0_2", + "datify_1_0_1", + "gentle-clues_1_3_1", + "showybox_2_0_4", +] +description = "A simple document template for the 'Informatique et systèmes de communication' (ISC) bachelor degree programme, School of Engineering (HEI) in Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" + [isc-hei-document."0.7.0"] url = "https://packages.typst.org/preview/isc-hei-document-0.7.0.tar.gz" hash = "sha256-oZNc6PqrcTrd+E8j4VtVgP146qZptKi81soYEl7Pm1w=" @@ -16241,6 +16918,23 @@ license = [ ] homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" +[isc-hei-exec-summary."0.7.1"] +url = "https://packages.typst.org/preview/isc-hei-exec-summary-0.7.1.tar.gz" +hash = "sha256-lBumGXqYlXKW+KsmZ2bnFzYcUAm1EH8EyfB47s9WNcs=" +typstDeps = [ + "cetz_0_4_0", + "cetz-plot_0_1_2", + "codelst_2_0_2", + "datify_1_0_1", + "gentle-clues_1_3_1", + "showybox_2_0_4", +] +description = "Official executive summary for the bachelor thesis at the 'Informatique et systèmes de communication' (ISC) bachelor degree programme, School of Engineering (HEI) in Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" + [isc-hei-exec-summary."0.7.0"] url = "https://packages.typst.org/preview/isc-hei-exec-summary-0.7.0.tar.gz" hash = "sha256-VgKA5oY51C+QDEYv7BsiNwMkWQpALSTPRLfSZw7One4=" @@ -16306,6 +17000,22 @@ license = [ ] homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" +[isc-hei-report."0.7.1"] +url = "https://packages.typst.org/preview/isc-hei-report-0.7.1.tar.gz" +hash = "sha256-oqTz7AMMhOv4bG0SUR8MTLm4+UeTbMn0s3xV2Z6IgZM=" +typstDeps = [ + "acrostiche_0_7_0", + "codelst_2_0_2", + "datify_1_0_1", + "gentle-clues_1_3_1", + "showybox_2_0_4", +] +description = "Official report at the 'Informatique et systèmes de communication' (ISC) bachelor degree programme, School of Engineering (HEI) in Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" + [isc-hei-report."0.7.0"] url = "https://packages.typst.org/preview/isc-hei-report-0.7.0.tar.gz" hash = "sha256-HeW49Lau1mKC2iMPsH7I3qhAwliJkbtS316u6ZIKjoA=" @@ -16440,6 +17150,21 @@ license = [ ] homepage = "https://github.com/ISC-HEI/ISC-report" +[isc-hei-tb-assignment."0.7.1"] +url = "https://packages.typst.org/preview/isc-hei-tb-assignment-0.7.1.tar.gz" +hash = "sha256-Xar605mJxmgIDDFiKXYA7elSW/OEpHmisiUcgwOGG2A=" +typstDeps = [ + "codelst_2_0_2", + "datify_1_0_1", + "gentle-clues_1_3_1", + "showybox_2_0_4", +] +description = "Official bachelor thesis assignment description ('Données du travail de bachelor') for the 'Informatique et systèmes de communication' (ISC) bachelor degree programme, School of Engineering (HEI) in Sion, Switzerland" +license = [ + "MIT", +] +homepage = "https://github.com/ISC-HEI/isc-hei-student-templates" + [isc-hei-tb-assignment."0.7.0"] url = "https://packages.typst.org/preview/isc-hei-tb-assignment-0.7.0.tar.gz" hash = "sha256-viZpkoEz1RXQ7hJefjVI4iTViDdj0TU2Un6NA9qgpTg=" @@ -16982,6 +17707,19 @@ license = [ "MIT", ] +[jsume."0.1.0"] +url = "https://packages.typst.org/preview/jsume-0.1.0.tar.gz" +hash = "sha256-CylUgJHlBkYtWBjjxBFf7aNxRIAnIXhLViWBXDzBP2Q=" +typstDeps = [ + "nerd-icons_0_2_0", + "zh-format_0_1_0", +] +description = "A simple typst resume template for jsume. Just provide your jsume data in JSON format, and it will generate a beautiful resume PDF for you" +license = [ + "MIT", +] +homepage = "https://github.com/jsume/jsume-typst" + [jumble."0.0.1"] url = "https://packages.typst.org/preview/jumble-0.0.1.tar.gz" hash = "sha256-GnQdiXXCTIIILynOiWgbwmmovZ+6x99IjkiGzOnzVVA=" @@ -17003,6 +17741,24 @@ license = [ "MIT", ] +[justwhitee-notes."0.2.0"] +url = "https://packages.typst.org/preview/justwhitee-notes-0.2.0.tar.gz" +hash = "sha256-OVj1QQxYthR2aYGJ9HDK4R6j5C6vQu+dTn3/6kQFDRM=" +typstDeps = [] +description = "Modern justwhitee-like template for notes" +license = [ + "AGPL-3.0-or-later", +] + +[justwhitee-notes."0.1.1"] +url = "https://packages.typst.org/preview/justwhitee-notes-0.1.1.tar.gz" +hash = "sha256-4IWuxE3mn4ckdCCyMV+RojorKGxNOOWelFEz65wG6Qs=" +typstDeps = [] +description = "Modern justwhitee-like template for notes" +license = [ + "AGPL-3.0-or-later", +] + [justwhitee-notes."0.1.0"] url = "https://packages.typst.org/preview/justwhitee-notes-0.1.0.tar.gz" hash = "sha256-vFUH7FWjXSU1QgILGJ/hlLjtYytPr6h5KH5O2mWmdjY=" @@ -17069,16 +17825,6 @@ license = [ ] homepage = "https://github.com/derekchai/typst-karnaugh-map" -[k-mapper."1.1.0"] -url = "https://packages.typst.org/preview/k-mapper-1.1.0.tar.gz" -hash = "sha256-2sqjAMkjCwcgI4OOLfrzwyUc4Rx28EoPHxFeFfYB80E=" -typstDeps = [] -description = "A package to add Karnaugh maps into Typst projects" -license = [ - "MIT", -] -homepage = "https://github.com/derekchai/typst-karnaugh-map" - [k-mapper."1.0.0"] url = "https://packages.typst.org/preview/k-mapper-1.0.0.tar.gz" hash = "sha256-w8GanT6MurAkT3T6nKCWxLMIWwRxbsLSbGSCtcrOqAo=" @@ -17410,6 +18156,22 @@ license = [ ] homepage = "https://github.com/Harry-Chen/kouhu" +[kthesis."0.1.5"] +url = "https://packages.typst.org/preview/kthesis-0.1.5.tar.gz" +hash = "sha256-C7NMgKP6LUfjbu73gSSx9UUZ/eXGCi24AEBzjMCYBMs=" +typstDeps = [ + "glossarium_0_5_8", + "headcount_0_1_0", + "hydra_0_6_1", + "linguify_0_4_2", +] +description = "Unofficial thesis template for KTH Royal Institute of Technology" +license = [ + "MIT", + "MIT-0", +] +homepage = "https://github.com/RafDevX/kthesis-typst" + [kthesis."0.1.4"] url = "https://packages.typst.org/preview/kthesis-0.1.4.tar.gz" hash = "sha256-js7de2C4ulQBIM+1mmodDlkdRSsiTMwmGR7Q0YOyhL8=" @@ -17510,6 +18272,21 @@ license = [ ] homepage = "https://github.com/mbollmann/typst-kunskap" +[kzn-ma."0.1.0"] +url = "https://packages.typst.org/preview/kzn-ma-0.1.0.tar.gz" +hash = "sha256-9EyaDxm8BVd4CrN1Tn8eEZr0r+TjSzndRC/iiMYb/iA=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "typsium_0_3_1", + "unify_0_7_1", +] +description = "Template for Matura Work at KZN" +license = [ + "MIT", +] +homepage = "https://github.com/itkzn/ma-template" + [labtyp."0.1.0"] url = "https://packages.typst.org/preview/labtyp-0.1.0.tar.gz" hash = "sha256-moVnxeUgf+MwN0KJMxfARFVFg/LsZMciPL9unp992+s=" @@ -17652,6 +18429,15 @@ license = [ ] homepage = "https://github.com/yangwenbo99/typst-lasaveur" +[laserly."0.1.0"] +url = "https://packages.typst.org/preview/laserly-0.1.0.tar.gz" +hash = "sha256-Un7bCkrMZFnVEu2tMxTrlkQKsVxqzSNxDHyyxzQDvuk=" +typstDeps = [] +description = "Create 2D laser optic assemblies for visualizating laser beam paths" +license = [ + "MIT", +] + [laskutys."1.1.0"] url = "https://packages.typst.org/preview/laskutys-1.1.0.tar.gz" hash = "sha256-Zm+E+QMAGJMMXZfJQT5WzcoK5ZH5dlhJZHbm8NxHkrs=" @@ -17972,6 +18758,18 @@ license = [ ] homepage = "https://github.com/Marmare314/lemmify" +[lemming."0.1.0"] +url = "https://packages.typst.org/preview/lemming-0.1.0.tar.gz" +hash = "sha256-Ye59p77y96LgJ7w5nBHF0cLSlDjmTc6bpwibKQFY4YQ=" +typstDeps = [ + "elembic_1_1_1", +] +description = "Math environments working similar to native elements" +license = [ + "LGPL-3.0-only", +] +homepage = "https://codeberg.org/fgolke/typst-lemming" + [leonux."1.1.0"] url = "https://packages.typst.org/preview/leonux-1.1.0.tar.gz" hash = "sha256-+kzhNhI9CeQ297PYDQ3L+BQLxZnwc/oJafNyapBY/yU=" @@ -18125,6 +18923,20 @@ license = [ ] homepage = "https://github.com/sebastos1/light-report-uia" +[lilaq."0.6.0"] +url = "https://packages.typst.org/preview/lilaq-0.6.0.tar.gz" +hash = "sha256-qtaXvsx5vXCrn4dpumcb/qQaHfe7B+cFr6+2oG92+ms=" +typstDeps = [ + "elembic_1_1_1", + "tiptoe_0_4_0", + "zero_0_6_1", +] +description = "Scientific data visualization" +license = [ + "MIT", +] +homepage = "https://github.com/lilaq-project/lilaq" + [lilaq."0.5.0"] url = "https://packages.typst.org/preview/lilaq-0.5.0.tar.gz" hash = "sha256-C57XfnLsvVMqzkbyXN73Wa1vnuW1n3jbmt8PSstv1WA=" @@ -18661,6 +19473,15 @@ license = [ ] homepage = "https://github.com/Moka-Reads/machiatto" +[magnificent-misq."0.1.0"] +url = "https://packages.typst.org/preview/magnificent-misq-0.1.0.tar.gz" +hash = "sha256-u67icuKSV3fIc62ihGL6slNEOX+vxU/DyeLUK/FbISE=" +typstDeps = [] +description = "A Typst template for MIS Quarterly manuscript submissions" +license = [ + "MIT", +] + [magnifying-glass."0.1.0"] url = "https://packages.typst.org/preview/magnifying-glass-0.1.0.tar.gz" hash = "sha256-K4NjY2JJKSijf8UVL7ujT0F2DghmV4Xu7jE9/Bzhb1s=" @@ -18713,6 +19534,18 @@ license = [ ] homepage = "https://github.com/lluchs/mandolin" +[manifesto."0.1.1"] +url = "https://packages.typst.org/preview/manifesto-0.1.1.tar.gz" +hash = "sha256-7O/ECFMbaW2EBjqX3wn/WXIfcLnWQTPYau6biwzrkVc=" +typstDeps = [ + "zap_0_5_0", +] +description = "Create stunning documentation websites using native HTML export" +license = [ + "MIT", +] +homepage = "https://github.com/l0uisgrange/manifesto" + [manifesto."0.1.0"] url = "https://packages.typst.org/preview/manifesto-0.1.0.tar.gz" hash = "sha256-GdNgORJUqv0VYMPTxiZMP7Q1JEy3tGqGnzy1nHeVl4g=" @@ -18772,20 +19605,6 @@ license = [ ] homepage = "https://github.com/ryuryu-ymj/mannot" -[mannot."0.2.3"] -url = "https://packages.typst.org/preview/mannot-0.2.3.tar.gz" -hash = "sha256-FByqhbapg8hXEr2F+LsIz9chdNXLHoiOaotB6JxT+jE=" -typstDeps = [ - "codly_1_2_0", - "tidy_0_4_0", - "tidy_0_4_2", -] -description = "A package for marking and annotating in math blocks" -license = [ - "MIT", -] -homepage = "https://github.com/ryuryu-ymj/mannot" - [mannot."0.2.2"] url = "https://packages.typst.org/preview/mannot-0.2.2.tar.gz" hash = "sha256-RyfrlOhE3KfyWYAp2PaGVRKKk/k+phT356aXP5/Tpvk=" @@ -18951,6 +19770,16 @@ license = [ ] homepage = "https://github.com/jneug/typst-mantys" +[manuscr-ismin."0.3.1"] +url = "https://packages.typst.org/preview/manuscr-ismin-0.3.1.tar.gz" +hash = "sha256-EsE9OgW3OFGN4UEZLRab1U9vvirjf/GkOCmphcur1Os=" +typstDeps = [] +description = "Writing reports and/or various documents at Mines Saint-Étienne (unofficial" +license = [ + "MIT", +] +homepage = "https://github.com/senaalem/manuscr-ismin" + [manuscr-ismin."0.3.0"] url = "https://packages.typst.org/preview/manuscr-ismin-0.3.0.tar.gz" hash = "sha256-H6+WjcYLZ1DYth87ZRE7P2uGQG32HMYKUpurwI3xcig=" @@ -18981,6 +19810,15 @@ license = [ ] homepage = "https://github.com/senaalem/ISMIN_reports_template" +[maquette."0.1.0"] +url = "https://packages.typst.org/preview/maquette-0.1.0.tar.gz" +hash = "sha256-XNBn6AqG/4jG23pCrplht8L4/sqMANRfVZ6OILsTSEA=" +typstDeps = [] +description = "Render 3D models (PLY, STL, OBJ) as SVG or PNG images in Typst" +license = [ + "MIT", +] + [marge."0.1.0"] url = "https://packages.typst.org/preview/marge-0.1.0.tar.gz" hash = "sha256-Vasq7cVjsSXn4xoqTN0gly+i5bZZV6bxOAjFVqkaQ2E=" @@ -19258,6 +20096,18 @@ license = [ ] homepage = "https://github.com/Carlos-Mero/may" +[mazed."0.1.0"] +url = "https://packages.typst.org/preview/mazed-0.1.0.tar.gz" +hash = "sha256-BKS52/P0WVjDv9MayZM70iT0sHQbgchEX9WHoT9Wnsc=" +typstDeps = [ + "suiji_0_5_1", +] +description = "Maze generator" +license = [ + "MIT", +] +homepage = "https://github.com/beling/mazed" + [mcm-scaffold."0.2.0"] url = "https://packages.typst.org/preview/mcm-scaffold-0.2.0.tar.gz" hash = "sha256-4KSCC7XlZi9eJGm71Ui+dxDFKqkIcl1QYt0CfGXxSgg=" @@ -19342,6 +20192,16 @@ license = [ ] homepage = "https://github.com/1zumiSagiri/mcx" +[meander."0.4.2"] +url = "https://packages.typst.org/preview/meander-0.4.2.tar.gz" +hash = "sha256-2b15mv36R2LQe2n6bc9NK/L6gr5BZNXnFMkHV/DRs3I=" +typstDeps = [] +description = "Page layout engine with image wrap-around and text threading" +license = [ + "MIT", +] +homepage = "https://github.com/Vanille-N/meander.typ" + [meander."0.4.1"] url = "https://packages.typst.org/preview/meander-0.4.1.tar.gz" hash = "sha256-TbklmX7pmtxPDXD6q95y1Usm70ok3sE88Cqz8llireo=" @@ -19362,16 +20222,6 @@ license = [ ] homepage = "https://github.com/Vanille-N/meander.typ" -[meander."0.3.1"] -url = "https://packages.typst.org/preview/meander-0.3.1.tar.gz" -hash = "sha256-qB+oxzZQycI08iUt2/H8QeZSScP9MUAwPj/xhwZKuIg=" -typstDeps = [] -description = "Page layout engine with image wrap-around and text threading" -license = [ - "MIT", -] -homepage = "https://github.com/Vanille-N/meander.typ" - [meander."0.3.0"] url = "https://packages.typst.org/preview/meander-0.3.0.tar.gz" hash = "sha256-hK9ev0epq1+A88eU42uBLb4a5ZrjkT6k0lnoqUbSyiA=" @@ -19508,6 +20358,16 @@ license = [ ] homepage = "https://codeberg.org/T0mstone/mephistypsteles" +[mephistypsteles."0.2.0"] +url = "https://packages.typst.org/preview/mephistypsteles-0.2.0.tar.gz" +hash = "sha256-/hSShsjHrPIH+XqXDpAZvXXRr6bc7eBWWP9LttWzb18=" +typstDeps = [] +description = "The devil's reflection, using typst in typst" +license = [ + "MIT-0", +] +homepage = "https://codeberg.org/T0mstone/mephistypsteles" + [mephistypsteles."0.1.0"] url = "https://packages.typst.org/preview/mephistypsteles-0.1.0.tar.gz" hash = "sha256-vwiyuUYAZInRyHUljVUZCZl4fTP2H/41zE3S5m5dmOM=" @@ -19550,6 +20410,16 @@ license = [ ] homepage = "https://github.com/CL4R3T/meppp" +[mercator."0.1.2"] +url = "https://packages.typst.org/preview/mercator-0.1.2.tar.gz" +hash = "sha256-Th9q5VlppbZ60QE9IYCf2Cmnfn1FWsfrfishiq6hnYU=" +typstDeps = [] +description = "🌎 Render GeoJSON and TopoJSON in typst" +license = [ + "MIT", +] +homepage = "https://github.com/bernsteining/mercator/" + [mercator."0.1.1"] url = "https://packages.typst.org/preview/mercator-0.1.1.tar.gz" hash = "sha256-AL6pJCWLG5M2JnGy+mFIf03Xg33gWHj8Xji0xQd7AMI=" @@ -20365,16 +21235,6 @@ license = [ ] homepage = "https://github.com/Enter-tainer/mino" -[mitex."0.2.6"] -url = "https://packages.typst.org/preview/mitex-0.2.6.tar.gz" -hash = "sha256-u9wWAsK76NjJTDDxNtlp+vucB9Yiop0Sw2+kJyejRZM=" -typstDeps = [] -description = "LaTeX support for Typst, powered by Rust and WASM" -license = [ - "Apache-2.0", -] -homepage = "https://github.com/mitex-rs/mitex" - [mitex."0.2.5"] url = "https://packages.typst.org/preview/mitex-0.2.5.tar.gz" hash = "sha256-kvVQT22lWFLxlfXwWC9wWgZXVJMJEf63Uuzri0/NnqY=" @@ -21247,6 +22107,18 @@ license = [ ] homepage = "https://github.com/Paulkm2006/modern-hust-cs-report" +[modern-hust-cse-report."0.1.2"] +url = "https://packages.typst.org/preview/modern-hust-cse-report-0.1.2.tar.gz" +hash = "sha256-eCo7GG7YjSSuDYCjh9L9dAQ28Vw23wgKkoHv+/BAUpM=" +typstDeps = [ + "cuti_0_4_0", +] +description = "An unofficial lab report template for the School of Cyber Science and Engineering at HUST" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://tangled.dzming.li/dzming.li/hust-cse-report" + [modern-hust-cse-report."0.1.1"] url = "https://packages.typst.org/preview/modern-hust-cse-report-0.1.1.tar.gz" hash = "sha256-AwXDuFK0CD4mimEOkI8ugSQpynBhr0SazF0IodlCBVE=" @@ -21319,6 +22191,16 @@ license = [ ] homepage = "https://github.com/xkevio/ipsy-thesis/" +[modern-iu-thesis."0.1.5"] +url = "https://packages.typst.org/preview/modern-iu-thesis-0.1.5.tar.gz" +hash = "sha256-4mlrNoNklFpwRS4VBhwTYPTC9wwVEc7CSlYuSa4d8Kw=" +typstDeps = [] +description = "Modern Typst thesis template for Indiana University" +license = [ + "MIT", +] +homepage = "https://github.com/bojohnson5/modern-iu-thesis" + [modern-iu-thesis."0.1.4"] url = "https://packages.typst.org/preview/modern-iu-thesis-0.1.4.tar.gz" hash = "sha256-/zONmk7558Gi4HzZAtVlQ0fzWVe5sDEqnHwq1TEnOgE=" @@ -21436,6 +22318,21 @@ license = [ ] homepage = "https://github.com/virgiling/NENU-Thesis-Typst" +[modern-nju-thesis."0.4.1"] +url = "https://packages.typst.org/preview/modern-nju-thesis-0.4.1.tar.gz" +hash = "sha256-9co1k7Z4uQK1DIWkDC7b6VORV/fqSjRN9sk1D9ba6wc=" +typstDeps = [ + "cuti_0_4_0", + "i-figured_0_2_4", + "pinit_0_2_2", + "tablex_0_0_9", +] +description = "南京大学学位论文模板。Modern Nanjing University Thesis" +license = [ + "MIT", +] +homepage = "https://github.com/nju-lug/modern-nju-thesis" + [modern-nju-thesis."0.4.0"] url = "https://packages.typst.org/preview/modern-nju-thesis-0.4.0.tar.gz" hash = "sha256-3F1HXZfxlLgbcTNfe37YHIW5M/EY5zGy4thnlVFBfzU=" @@ -21707,6 +22604,19 @@ license = [ ] homepage = "https://github.com/peterpf/modern-typst-resume" +[modern-ruc-thesis."0.1.2"] +url = "https://packages.typst.org/preview/modern-ruc-thesis-0.1.2.tar.gz" +hash = "sha256-6EScOO3q5Z1qeU8WoWe/Hfahup/i/f+geE9Gga8+2RY=" +typstDeps = [ + "cuti_0_4_0", + "pointless-size_0_1_2", +] +description = "中国人民大学本科生毕业论文 Typst 模板。Modern Renmin University of China Thesis" +license = [ + "MIT", +] +homepage = "https://github.com/ruc-thesis/modern-ruc-thesis" + [modern-ruc-thesis."0.1.1"] url = "https://packages.typst.org/preview/modern-ruc-thesis-0.1.1.tar.gz" hash = "sha256-n2gTVXXKdPQ4KX3ViGrELze+7/VvoFmgTFW2Olnu+bU=" @@ -21889,6 +22799,31 @@ license = [ ] homepage = "https://github.com/StellarLane/modern-sjtu-report" +[modern-sjtu-thesis."0.6.1"] +url = "https://packages.typst.org/preview/modern-sjtu-thesis-0.6.1.tar.gz" +hash = "sha256-SQdXqSrT7FAXicwPnfy/m7KHJuBRlnBItJBmzK9XEl0=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_10", + "cuti_0_4_0", + "equate_0_3_2", + "fletcher_0_5_8", + "i-figured_0_2_4", + "itemize_0_2_0", + "lilaq_0_6_0", + "lovelace_0_3_1", + "numbly_0_1_0", + "suiji_0_5_1", + "theorion_0_5_0", + "unify_0_7_1", + "wordometer_0_1_5", +] +description = "上海交通大学学位论文 Typst 模板。Shanghai Jiao Tong University Thesis Typst Template" +license = [ + "MIT", +] +homepage = "https://github.com/sjtug/modern-sjtu-thesis" + [modern-sjtu-thesis."0.6.0"] url = "https://packages.typst.org/preview/modern-sjtu-thesis-0.6.0.tar.gz" hash = "sha256-c0IU7G9BrNr3etELsJNBdLKt+UrfICnn0gLB44P8e4I=" @@ -22171,6 +23106,24 @@ license = [ ] homepage = "https://github.com/Duolei-Wang/sustech-thesis-typst" +[modern-sysu-thesis."0.4.1"] +url = "https://packages.typst.org/preview/modern-sysu-thesis-0.4.1.tar.gz" +hash = "sha256-QTEXNJQ0fY3loIBewro0QWpYqyYwJ8bxXsasr80pV8E=" +typstDeps = [ + "anti-matter_0_0_2", + "i-figured_0_1_0", + "i-figured_0_2_4", + "numblex_0_1_1", + "numbly_0_1_0", + "outrageous_0_1_0", + "tablex_0_0_8", +] +description = "中山大学学位论文 Typst 模板,A Typst template for SYSU thesis" +license = [ + "MIT", +] +homepage = "https://gitlab.com/sysu-gitlab/thesis-template/better-thesis" + [modern-sysu-thesis."0.4.0"] url = "https://packages.typst.org/preview/modern-sysu-thesis-0.4.0.tar.gz" hash = "sha256-bC2JvIBViitWFsBsswq6cyQ9tRQvRb+lKe6dgObmlIY=" @@ -22377,6 +23330,20 @@ license = [ ] homepage = "https://github.com/martin-cao/modern-tust-thesis" +[modern-ucas-thesis."0.2.0"] +url = "https://packages.typst.org/preview/modern-ucas-thesis-0.2.0.tar.gz" +hash = "sha256-y6d7V1C6X1mnW1raESk0/bU9bw4a5Gf5GVCK/T9Jaq0=" +typstDeps = [ + "cuti_0_4_0", + "i-figured_0_2_4", + "tablex_0_0_9", +] +description = "Master or doctoral thesis at the University of Chinese Academy of Sciences" +license = [ + "MIT", +] +homepage = "https://github.com/Vncntvx/modern-ucas-thesis" + [modern-ucas-thesis."0.1.0"] url = "https://packages.typst.org/preview/modern-ucas-thesis-0.1.0.tar.gz" hash = "sha256-poI/Jg1TBlmKqGxGeXYqF63OjOuMsZxmh6cVkw6kQSc=" @@ -23114,6 +24081,30 @@ license = [ ] homepage = "https://github.com/ludwig-austermann/modpattern" +[moin-uni-slides."0.1.0"] +url = "https://packages.typst.org/preview/moin-uni-slides-0.1.0.tar.gz" +hash = "sha256-/ziunuPxjAygPjN88jeM/ndMU3gTzZuYiLwEUT/96UM=" +typstDeps = [ + "polylux_0_4_0", +] +description = "Slides in the style of the University of Bremen for polylux" +license = [ + "MIT", +] +homepage = "https://github.com/Universitaet-Bremen/typst-template-slides" + +[molchemist."0.1.1"] +url = "https://packages.typst.org/preview/molchemist-0.1.1.tar.gz" +hash = "sha256-mJxalsZnj9hO5X+c93sx+Ea9s1JNV6Mamc51+gwOloU=" +typstDeps = [ + "alchemist_0_1_9", +] +description = "Render beautiful chemical structures directly from Molfile (.mol) and Structure-Data File (.sdf) formats" +license = [ + "MIT", +] +homepage = "https://github.com/rice8y/molchemist" + [molchemist."0.1.0"] url = "https://packages.typst.org/preview/molchemist-0.1.0.tar.gz" hash = "sha256-H/5b8x4MTVqRxm2+cvNniaOBJX8w7OdEk48Ys4xsJUU=" @@ -23140,6 +24131,16 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-moodular" +[mousse-notes."1.1.0"] +url = "https://packages.typst.org/preview/mousse-notes-1.1.0.tar.gz" +hash = "sha256-FAyLs78XRXsFYg7Zek1SZGUk66Y4Jrsd/+I7hRNnqcY=" +typstDeps = [] +description = "Lecture notes with a style inspired by old math books" +license = [ + "MIT-0", +] +homepage = "https://github.com/dogeystamp/mousse-notes" + [mousse-notes."1.0.0"] url = "https://packages.typst.org/preview/mousse-notes-1.0.0.tar.gz" hash = "sha256-nTJLUBgDTx3UyFMfa4L7fr67PGCguBwuVfZv6F9yrpA=" @@ -24049,6 +25050,18 @@ license = [ ] homepage = "https://github.com/Mapaor/notionly" +[nova-pset."0.1.0"] +url = "https://packages.typst.org/preview/nova-pset-0.1.0.tar.gz" +hash = "sha256-dBg6mNJYYS9BO4m9AecVqvFrY56f0Cur8mbAYdyje04=" +typstDeps = [ + "showybox_2_0_2", +] +description = "A modular problem set template for STEM coursework" +license = [ + "Unlicense", +] +homepage = "https://github.com/samyakj5/nova-pset" + [now-radboud-thesis."0.1.0"] url = "https://packages.typst.org/preview/now-radboud-thesis-0.1.0.tar.gz" hash = "sha256-W/FUD0C7nUw70CviXnzJsAPOr6wZDNW8eq1dLIv5rFQ=" @@ -24478,6 +25491,26 @@ license = [ "MIT-0", ] +[ohdsi-symposium-submission."0.1.0"] +url = "https://packages.typst.org/preview/ohdsi-symposium-submission-0.1.0.tar.gz" +hash = "sha256-HztsoIJt8u3cB265epdYwcOCkZYEsjvqWPg2+ujLKrw=" +typstDeps = [] +description = "Brief reports for the OHDSI symposium" +license = [ + "MIT", +] +homepage = "https://github.com/huanhe4096/packages" + +[oicana."0.1.1"] +url = "https://packages.typst.org/preview/oicana-0.1.1.tar.gz" +hash = "sha256-HB+1D8Skq4yg/r5/klwJvRMQxTP5cPe2wPnn0nynvaI=" +typstDeps = [] +description = "PDF templating across multiple platforms" +license = [ + "MIT", +] +homepage = "https://github.com/oicana/oicana" + [oicana."0.1.0"] url = "https://packages.typst.org/preview/oicana-0.1.0.tar.gz" hash = "sha256-+HPH7jSoXTSvTzxgwSiLcMJ6GCDZ3nVoHSIDu0JMofY=" @@ -24513,6 +25546,16 @@ license = [ ] homepage = "https://github.com/Olaii/olaii-upn-qr-typst-template" +[one-liner."0.3.0"] +url = "https://packages.typst.org/preview/one-liner-0.3.0.tar.gz" +hash = "sha256-LUx0007mmHVG9lyCt+IWt7Vr/rErtL3IQZ6qBlviniI=" +typstDeps = [] +description = "Automatically adjust the text size to make it fit on one line filling the available space" +license = [ + "MIT", +] +homepage = "https://github.com/mtolk/one-liner" + [one-liner."0.2.0"] url = "https://packages.typst.org/preview/one-liner-0.2.0.tar.gz" hash = "sha256-bl5orWMBgaPJl9IGU+kPBCOGdtJC2AryB3351ZoJrWw=" @@ -24665,6 +25708,22 @@ license = [ ] homepage = "https://github.com/jassielof/typst-packages" +[ori."0.2.4"] +url = "https://packages.typst.org/preview/ori-0.2.4.tar.gz" +hash = "sha256-Pz01wNoh7K6OXjlGyMKWs3hOjm5SGi7AM0tN51JBMz8=" +typstDeps = [ + "cmarker_0_1_8", + "mitex_0_2_6", + "numbly_0_1_0", + "tablem_0_3_0", + "theorion_0_5_0", +] +description = "Simple enough but expressive template for notes, reports, and documents in Chinese and English" +license = [ + "MIT", +] +homepage = "https://github.com/OrangeX4/typst-ori" + [ori."0.2.3"] url = "https://packages.typst.org/preview/ori-0.2.3.tar.gz" hash = "sha256-OFOrz5bKfy8ch9kStWAZJTPi2fivOJXnH52+kQJMYOE=" @@ -25638,6 +26697,21 @@ license = [ ] homepage = "https://github.com/vanleefxp/peano_typ" +[pedigrypst."0.1.0"] +url = "https://packages.typst.org/preview/pedigrypst-0.1.0.tar.gz" +hash = "sha256-ASy1nA5DGLuEkCq5eJQYLlmNmBa7tFKfbyBooYiTU2s=" +typstDeps = [ + "cetz_0_4_2", + "larrow_1_0_1", + "meander_0_4_1", + "tidy_0_4_3", +] +description = "Draw pedigrees" +license = [ + "MIT", +] +homepage = "https://github.com/CrowdingFaun624/pedigrypst" + [penpo."0.1.0"] url = "https://packages.typst.org/preview/penpo-0.1.0.tar.gz" hash = "sha256-vrlqER4diWEetWCGrv8nNigwfzIjVBHF8HqBDyekuQY=" @@ -25680,6 +26754,21 @@ license = [ ] homepage = "https://github.com/Servostar/typst-percencode" +[pergamon."0.8.0"] +url = "https://packages.typst.org/preview/pergamon-0.8.0.tar.gz" +hash = "sha256-WHp6mUMEosfwS1LK31AkB8WtTpM9ylqFfxPrZMKK99o=" +typstDeps = [ + "bullseye_0_1_0", + "citegeist_0_2_2", + "nth_1_0_1", + "oxifmt_1_0_0", +] +description = "Biblatex-style reference management for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/alexanderkoller/pergamon" + [pergamon."0.7.2"] url = "https://packages.typst.org/preview/pergamon-0.7.2.tar.gz" hash = "sha256-UwBF2uL6+9GOk2icAlDU7Brvz7hEqpWnCauFImJTTN4=" @@ -25836,6 +26925,18 @@ license = [ ] homepage = "https://github.com/alexanderkoller/pergamon" +[perlit."0.0.1"] +url = "https://packages.typst.org/preview/perlit-0.0.1.tar.gz" +hash = "sha256-VHDbrqe9OfHh8WzlwiuGrlMefoKDgyRnzWXgkPWVPPg=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Render Obsidian graphs using CeTZ" +license = [ + "MIT", +] +homepage = "https://github.com/lucaengelhard/perlit" + [pesha."0.4.0"] url = "https://packages.typst.org/preview/pesha-0.4.0.tar.gz" hash = "sha256-IsYeDU+O7e4KSTl9+nWJiyRgki3QikYJdoDhZF3kYBQ=" @@ -25906,6 +27007,66 @@ license = [ ] homepage = "https://gitlab.com/Jed_Hed/pf2e-typst" +[phonokit."0.5.4"] +url = "https://packages.typst.org/preview/phonokit-0.5.4.tar.gz" +hash = "sha256-ipAWdTe4nWzu3auXzXT6O4+QtmQ2V+fTFV3RZDED8z0=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.5.3"] +url = "https://packages.typst.org/preview/phonokit-0.5.3.tar.gz" +hash = "sha256-JL9sHABb3RtUqK6jpihouzsxW6alDNpPmosOSP+NXy4=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.5.2"] +url = "https://packages.typst.org/preview/phonokit-0.5.2.tar.gz" +hash = "sha256-EB7J+O0fyrvzaXGeApMsUd0fCj1um5OWrvsCJ/rxIew=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.5.1"] +url = "https://packages.typst.org/preview/phonokit-0.5.1.tar.gz" +hash = "sha256-OhUysiViKiiLX6d9pe/eJeZg+q2YfGyfdkkaozF1sDs=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + +[phonokit."0.5.0"] +url = "https://packages.typst.org/preview/phonokit-0.5.0.tar.gz" +hash = "sha256-ySsnOqm81/BOcV97lXQIL/+SwThYY7f/R921eS05yQI=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A toolkit to create phonological representations" +license = [ + "MIT", +] +homepage = "https://github.com/guilhermegarcia/phonokit" + [phonokit."0.4.6"] url = "https://packages.typst.org/preview/phonokit-0.4.6.tar.gz" hash = "sha256-BEN02Yf14dWliKiCNroBV+sIFzyfTRwbU7RjQ7gp5cE=" @@ -26026,6 +27187,16 @@ license = [ ] homepage = "https://github.com/guilhermegarcia/phonokit" +[physica."0.9.8"] +url = "https://packages.typst.org/preview/physica-0.9.8.tar.gz" +hash = "sha256-mPUFvFMLx+sajWWGtDXL3TDrHufYz1WF+AHfL4fZAu8=" +typstDeps = [] +description = "Math constructs for science and engineering: derivative, differential, vector field, matrix, tensor, Dirac braket, hbar, transpose, conjugate, many operators, and more" +license = [ + "MIT", +] +homepage = "https://github.com/Leedehai/typst-physics" + [physica."0.9.7"] url = "https://packages.typst.org/preview/physica-0.9.7.tar.gz" hash = "sha256-YIhz9AiVFZlwsrY+xX0Xu+MQjdX+Q5Spy3AUa0ZDKmw=" @@ -26443,6 +27614,16 @@ license = [ ] homepage = "https://github.com/daskol/typst-templates" +[pixel-family."0.2.0"] +url = "https://packages.typst.org/preview/pixel-family-0.2.0.tar.gz" +hash = "sha256-hoVpbacTqtiYUyIs0gD5iIfza6hxny7Mh5W7TLTbz2I=" +typstDeps = [] +description = "Inline pixel art characters for Typst — drop them into text like emoji" +license = [ + "MIT", +] +homepage = "https://github.com/GiggleLiu/pixel-family" + [pixel-family."0.1.0"] url = "https://packages.typst.org/preview/pixel-family-0.1.0.tar.gz" hash = "sha256-9uuGBD6qj1QVDVZfUVuDoOdp7Cm5wGUyJl8+T1p3d4s=" @@ -26918,6 +28099,16 @@ license = [ ] homepage = "https://github.com/miawinter98/hdm-thesis" +[primaviz."0.5.3"] +url = "https://packages.typst.org/preview/primaviz-0.5.3.tar.gz" +hash = "sha256-O0xJbwwBpCGXEraQQ9kg5/+4OmM/346PwNZxitvRXEU=" +typstDeps = [] +description = "A pure-Typst charting library with 50+ chart types, 6 themes, and zero dependencies — built entirely with native primitives" +license = [ + "MIT", +] +homepage = "https://github.com/phiat/primaviz" + [primaviz."0.4.1"] url = "https://packages.typst.org/preview/primaviz-0.4.1.tar.gz" hash = "sha256-V920U/4Ym+OHyyTzUNZ5sAPN3thFmJ4uIo8+e/jFD9k=" @@ -27336,6 +28527,20 @@ license = [ ] homepage = "https://github.com/nzy1997/qec-thrust" +[qooklet."0.6.2"] +url = "https://packages.typst.org/preview/qooklet-0.6.2.tar.gz" +hash = "sha256-JvRS2fsu/qtAOuD3HIBcaww+lVVIeyN629EPOMIBJvA=" +typstDeps = [ + "codly_1_3_0", + "hydra_0_6_2", + "theorion_0_5_0", +] +description = "A quick start template for scientific booklets" +license = [ + "MIT", +] +homepage = "https://github.com/ivaquero/typst-qooklet.git" + [qooklet."0.6.1"] url = "https://packages.typst.org/preview/qooklet-0.6.1.tar.gz" hash = "sha256-K/X9tM4rcW1B3zuxPlj16fsZ65aL8wwIEko3E6D+2Bo=" @@ -27999,6 +29204,18 @@ license = [ ] homepage = "https://github.com/sjfhsjfh/typst-relescope" +[rendercv."0.3.0"] +url = "https://packages.typst.org/preview/rendercv-0.3.0.tar.gz" +hash = "sha256-t9dhxjsBEZ5tZLwbvel4NNzZSE4MRAraZ/xjc5ZzO+s=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "Resume builder for academics and engineers" +license = [ + "MIT", +] +homepage = "https://github.com/rendercv/rendercv" + [rendercv."0.2.0"] url = "https://packages.typst.org/preview/rendercv-0.2.0.tar.gz" hash = "sha256-Nzt2o+QnZ2prjzkiCBi5onsfiY2ggFKcHhHgDHffu4w=" @@ -28875,6 +30092,26 @@ license = [ ] homepage = "https://github.com/augustebaum/epfl-thesis-typst" +[scholarly-tauthesis."0.21.0"] +url = "https://packages.typst.org/preview/scholarly-tauthesis-0.21.0.tar.gz" +hash = "sha256-ks/yX0OaJMLM2yis2y3rl646dQ5XkahGZeHfK4EMBLw=" +typstDeps = [] +description = "A template for writing Tampere University theses" +license = [ + "MIT", +] +homepage = "https://gitlab.com/tuni-official/thesis-templates/tau-typst-thesis-template" + +[scholarly-tauthesis."0.20.0"] +url = "https://packages.typst.org/preview/scholarly-tauthesis-0.20.0.tar.gz" +hash = "sha256-W49m6MKFEm7vIzR6dT1xL82e4EZ4aa/xmpfufixGflo=" +typstDeps = [] +description = "A template for writing Tampere University theses" +license = [ + "MIT", +] +homepage = "https://gitlab.com/tuni-official/thesis-templates/tau-typst-thesis-template" + [scholarly-tauthesis."0.19.3"] url = "https://packages.typst.org/preview/scholarly-tauthesis-0.19.3.tar.gz" hash = "sha256-yowgpBkAhd1wTRriNcKB8fs7MqZP2aWjQMHqdQwgc0k=" @@ -29165,6 +30402,46 @@ license = [ ] homepage = "https://github.com/curvenote/scienceicons" +[scorify."0.1.1"] +url = "https://packages.typst.org/preview/scorify-0.1.1.tar.gz" +hash = "sha256-9US9SJ29B1Hf2JHONuV9qhXajkRvV0O2cXxlNnQHomQ=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Render professional sheet music directly in Typst documents" +license = [ + "MIT", +] +homepage = "https://github.com/justinbornais/typst-sheet-music" + +[scribbling-hm."0.1.9"] +url = "https://packages.typst.org/preview/scribbling-hm-0.1.9.tar.gz" +hash = "sha256-sp6RZGCZZ8i/qZJgLl/j+Q069yZPZ9UD60jfyJ75/cQ=" +typstDeps = [ + "datify_1_0_1", + "glossarium_0_5_10", + "zebraw_0_6_1", +] +description = "Unofficial thesis template for Munich University of Applied Sciences (Hochschule München" +license = [ + "MIT", +] +homepage = "https://github.com/fine-seat/hm-typst-template" + +[scribbling-hm."0.1.8"] +url = "https://packages.typst.org/preview/scribbling-hm-0.1.8.tar.gz" +hash = "sha256-H0WrQ5fBZ+cLcuA38E5GWOdMWww5+JGgGP8KRlusK60=" +typstDeps = [ + "datify_1_0_1", + "glossarium_0_5_10", + "zebraw_0_6_1", +] +description = "Unofficial thesis template for Munich University of Applied Sciences (Hochschule München" +license = [ + "MIT", +] +homepage = "https://github.com/fine-seat/hm-typst-template" + [scribbling-hm."0.1.7"] url = "https://packages.typst.org/preview/scribbling-hm-0.1.7.tar.gz" hash = "sha256-CKaJWLrZg1pvtYYA4AsgVYJubL1WwU1GAS559Ern18o=" @@ -29614,6 +30891,16 @@ license = [ ] homepage = "https://github.com/MLNW/typst-packages" +[sertyp."0.1.3"] +url = "https://packages.typst.org/preview/sertyp-0.1.3.tar.gz" +hash = "sha256-b4CucSbgq/sFaOnKr8U0M44iWu6glS0o+Xic84IRhOM=" +typstDeps = [] +description = "Serialization and deserialization of most typst types into sertyp CBOR format: This includes markdown, math, etc" +license = [ + "MIT", +] +homepage = "https://github.com/Uhrendoktor/sertyp" + [sertyp."0.1.2"] url = "https://packages.typst.org/preview/sertyp-0.1.2.tar.gz" hash = "sha256-locwjuavfxD2ByhOEzX1Yvj4yoGGUIjW3D3Yt0CF3IU=" @@ -30591,6 +31878,18 @@ license = [ ] homepage = "https://github.com/zhao-leo/BUPT-Report-Typst" +[simple-handout."0.2.0"] +url = "https://packages.typst.org/preview/simple-handout-0.2.0.tar.gz" +hash = "sha256-+l3MCh76AsRrmA6SF+EgfZWxRMkrflmSRVaao7n1L9o=" +typstDeps = [ + "tntt_0_5_1", +] +description = "A simple handout template for Chinese typesetting based on TnTT" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/simple-handout-template" + [simple-handout."0.1.0"] url = "https://packages.typst.org/preview/simple-handout-0.1.0.tar.gz" hash = "sha256-7efYd1NTyv44mupckYcQIIuH1xeAuL2M0/E65YB8YKI=" @@ -30618,6 +31917,18 @@ license = [ ] homepage = "https://github.com/kkkkkkeng/hust-report-template-typst" +[simple-inria-touying-theme."0.1.2"] +url = "https://packages.typst.org/preview/simple-inria-touying-theme-0.1.2.tar.gz" +hash = "sha256-T6YC512vz+v0shlGBxZnead1UoYOkzvAHfk8jERcnzA=" +typstDeps = [ + "touying_0_6_3", +] +description = "Touying slides theme approximating Inria's graphical chart" +license = [ + "MIT", +] +homepage = "https://gitlab.inria.fr/soliman/inria-touying-theme" + [simple-inria-touying-theme."0.1.1"] url = "https://packages.typst.org/preview/simple-inria-touying-theme-0.1.1.tar.gz" hash = "sha256-hil8KBmo7ubWj6fku+JFjRbOy0uZfOye8LYFUb5GJ1Y=" @@ -30856,6 +32167,16 @@ license = [ ] homepage = "https://github.com/soliprem/unibo-thesis-template" +[simple-unimi-thesis."0.1.1"] +url = "https://packages.typst.org/preview/simple-unimi-thesis-0.1.1.tar.gz" +hash = "sha256-h0CcR+clENTBbDKKv0EsWQ8AAEnWpp+mBurEv2IxRgU=" +typstDeps = [] +description = "Unofficial thesis template for Università Statale degli Studi di Milano" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/VictuarVi/Template-Tesi-UniMi" + [simple-unimi-thesis."0.1.0"] url = "https://packages.typst.org/preview/simple-unimi-thesis-0.1.0.tar.gz" hash = "sha256-Wx/unndXVOQVl4JHMejOpdCicB7ZWaCkAfuYDSn0XVc=" @@ -30945,6 +32266,20 @@ license = [ "MIT", ] +[simply-ysu-touying."0.1.0"] +url = "https://packages.typst.org/preview/simply-ysu-touying-0.1.0.tar.gz" +hash = "sha256-5fNP2RDAhfya/kryEYPin5Og/zwgZAz6Jgy27cuSJjE=" +typstDeps = [ + "cuti_0_4_0", + "touying_0_6_3", +] +description = "Yanshan University slides with Touying" +license = [ + "MIT", + "MIT-0", +] +homepage = "https://github.com/bahayonghang/simply-ysu-touying" + [sitdown."1.0.0"] url = "https://packages.typst.org/preview/sitdown-1.0.0.tar.gz" hash = "sha256-gNc2kGPCsSt7jHFDqAt4WQXtd1BSNLpXdAtrO5JxKek=" @@ -31004,6 +32339,26 @@ license = [ "Unlicense", ] +[slipst."0.3.0"] +url = "https://packages.typst.org/preview/slipst-0.3.0.tar.gz" +hash = "sha256-3cquIl8/xZ2w81RO2HpD6Lx9QHvghd02Wq92nrOGkq8=" +typstDeps = [] +description = "A new paradigm for presentations, inspired by slipshow" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/Wybxc/slipst" + +[slipst."0.2.1"] +url = "https://packages.typst.org/preview/slipst-0.2.1.tar.gz" +hash = "sha256-OrTsegBM4wh8IJwiOJzT4xTnqLrSWHeh4nCfpUHLetc=" +typstDeps = [] +description = "A new paradigm for presentations, inspired by slipshow" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/Wybxc/slipst" + [slipst."0.2.0"] url = "https://packages.typst.org/preview/slipst-0.2.0.tar.gz" hash = "sha256-FfcO9QPW9/rU+lCjHhX0BTApbRGWDCtX6/PSpfYyj3c=" @@ -31176,6 +32531,16 @@ license = [ ] homepage = "https://github.com/Bi0T1N/typst-socialhub-fa" +[solo-lu-df."1.1.2"] +url = "https://packages.typst.org/preview/solo-lu-df-1.1.2.tar.gz" +hash = "sha256-wOj28KaUxwRExEr2utFWsBTpcd/keTZVnzzvWl/VR6w=" +typstDeps = [] +description = "Write qualification papers, bachelor’s theses, and master’s theses for University of Latvia, Computer Science programme" +license = [ + "MIT-0", +] +homepage = "https://github.com/kristoferssolo/LU-DF-Typst-Template" + [solo-lu-df."1.1.1"] url = "https://packages.typst.org/preview/solo-lu-df-1.1.1.tar.gz" hash = "sha256-xNxwn2UktI5UfLx0eCFntjdsl94mfML81CmAreHF9kU=" @@ -31637,6 +33002,16 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-stack-pointer" +[starry-ulfg."0.2.0"] +url = "https://packages.typst.org/preview/starry-ulfg-0.2.0.tar.gz" +hash = "sha256-8526Y+PnNM2eRYEpkO/0w+TfxuZOgMUEoa4H4AATH+4=" +typstDeps = [] +description = "Unofficial ULFG thesis and reports" +license = [ + "MIT-0", +] +homepage = "https://github.com/Sydiepus/starry-ulfg" + [starry-ulfg."0.1.0"] url = "https://packages.typst.org/preview/starry-ulfg-0.1.0.tar.gz" hash = "sha256-2QMqvJ3yKsmh+T1jac3DxQOjuHcD2nTdNRuILpOJGes=" @@ -31881,6 +33256,16 @@ license = [ ] homepage = "https://github.com/shunichironomura/iac-typst-template" +[stellar-springer-nature."0.1.0"] +url = "https://packages.typst.org/preview/stellar-springer-nature-0.1.0.tar.gz" +hash = "sha256-sdDB4yevGckfIyRi+QZJgfB9OvkJc/ZExmUiyStxZ9Q=" +typstDeps = [] +description = "Springer Nature journal article submission (sn-jnl class" +license = [ + "MIT-0", +] +homepage = "https://github.com/sharifhsn/stellar-springer-nature" + [stonewall."0.2.0"] url = "https://packages.typst.org/preview/stonewall-0.2.0.tar.gz" hash = "sha256-Xyjl2qjhs1Vy2i7YYbKTgUtYa915Nk0zv12kWS2bmcs=" @@ -32627,6 +34012,16 @@ license = [ ] homepage = "https://codeberg.org/innocent_zero/typst-resume" +[symbolist."0.1.0"] +url = "https://packages.typst.org/preview/symbolist-0.1.0.tar.gz" +hash = "sha256-Mw70mjb7Rg4s5YYcAVMipHPEh6HiVn/OxwCCcgVaP74=" +typstDeps = [] +description = "A Typst package for creating a list of symbols" +license = [ + "MIT", +] +homepage = "https://github.com/fredericjs/symbolist" + [symbolx."1.1.0"] url = "https://packages.typst.org/preview/symbolx-1.1.0.tar.gz" hash = "sha256-nimmvAlHLSmHehhe6u1mGTLmGSIQdycrRgRg6Y1wNAA=" @@ -32779,6 +34174,19 @@ license = [ ] homepage = "https://github.com/typst-community/tabbyterms" +[tableau-icons."0.340.0"] +url = "https://packages.typst.org/preview/tableau-icons-0.340.0.tar.gz" +hash = "sha256-3GZCtyn8uSBAfMvX9vrAZd2oFUK5fTOi8YTGRg8UcPo=" +typstDeps = [ + "shadowed_0_3_0", + "tidy_0_4_3", +] +description = "Tabler.io Icons v3.40.0 for Typst" +license = [ + "MIT", +] +homepage = "https://codeberg.org/joelvonrotz/tableau-icons" + [tableau-icons."0.336.0"] url = "https://packages.typst.org/preview/tableau-icons-0.336.0.tar.gz" hash = "sha256-SDOrMCUKqN400lgK3ufziwBqa5ri1jGUuZSeekVjSlI=" @@ -33169,6 +34577,19 @@ license = [ ] homepage = "https://github.com/maxcrees/tbl.typ" +[tblr."0.5.0"] +url = "https://packages.typst.org/preview/tblr-0.5.0.tar.gz" +hash = "sha256-Ps6KkBVxK6pyXiDd8st1Ecfbf2btuQgBIkdwFwKbX3o=" +typstDeps = [ + "pillar_0_3_3", + "rowmantic_0_5_0", +] +description = "Table generation and alignment helpers inspired by LaTeX's Tabularray package" +license = [ + "MIT", +] +homepage = "https://github.com/tshort/tblr" + [tblr."0.4.4"] url = "https://packages.typst.org/preview/tblr-0.4.4.tar.gz" hash = "sha256-Q8PFFnvFY64FWwZC+oIwfZ7XlJ2UfN1FD1WdjZ49Uls=" @@ -33571,6 +34992,19 @@ license = [ ] homepage = "https://codeberg.org/Andrew15-5/text-dirr" +[tfgei."0.1.1"] +url = "https://packages.typst.org/preview/tfgei-0.1.1.tar.gz" +hash = "sha256-Nk6JvmcFqpEMUGjyVOr6S6Pw4H0mT/YTWl3mpK+wG+s=" +typstDeps = [ + "physica_0_9_8", + "unify_0_7_1", +] +description = "Template for making final degree projects in the Computer Science degree at ESEI (University of Vigo" +license = [ + "MIT", +] +homepage = "https://github.com/Kioraga/TFGEI" + [tfgei."0.1.0"] url = "https://packages.typst.org/preview/tfgei-0.1.0.tar.gz" hash = "sha256-1XIxfhmV0qSypxkVwGl1JlKEjlhSZ1QXRu/lrMgpgzA=" @@ -33584,6 +35018,22 @@ license = [ ] homepage = "https://github.com/Kioraga/TFGEI" +[tfguf."0.0.4"] +url = "https://packages.typst.org/preview/tfguf-0.0.4.tar.gz" +hash = "sha256-G600td0sfhO1cUGhRchZMiU3yPnNV9xi4QX+rfD/T2s=" +typstDeps = [ + "mmdr_0_2_1", + "physica_0_9_8", + "t4t_0_4_3", + "tablem_0_3_0", + "unify_0_7_1", +] +description = "Plantilla para hacer TFGs en el Grado en Física de UNIR" +license = [ + "MIT", +] +homepage = "https://github.com/pammacdotnet/TFGUF" + [tfguf."0.0.3"] url = "https://packages.typst.org/preview/tfguf-0.0.3.tar.gz" hash = "sha256-37IYtyMv3zqpZBB08Ywb+7EUGsKMjQu9rrdmQA+LY5k=" @@ -33620,6 +35070,22 @@ license = [ ] homepage = "https://github.com/pammacdotnet/TFGUF" +[tgm-hit-protocol."0.2.1"] +url = "https://packages.typst.org/preview/tgm-hit-protocol-0.2.1.tar.gz" +hash = "sha256-zE7PTjT3puLgWAu86DQDfNkAPlY+HBK7WtqhO/Ok53Y=" +typstDeps = [ + "ccicons_1_0_1", + "datify_1_0_1", + "glossarium_0_5_9", + "linguify_0_5_0", + "outrageous_0_4_1", +] +description = "Protocol template for students of the HIT department at TGM Wien" +license = [ + "MIT", +] +homepage = "https://github.com/TGM-HIT/typst-protocol" + [tgm-hit-protocol."0.2.0"] url = "https://packages.typst.org/preview/tgm-hit-protocol-0.2.0.tar.gz" hash = "sha256-PHqRBHmZrfY70B7GEI41OSJTPauFYf/btQk/CdJLK40=" @@ -33781,6 +35247,16 @@ license = [ ] homepage = "https://github.com/TGM-HIT/typst-diploma-thesis" +[theofig."0.2.0"] +url = "https://packages.typst.org/preview/theofig-0.2.0.tar.gz" +hash = "sha256-Pv8ZdE6J7dGg+fhTticgMm5mimi9qWTtVad04Uz05rI=" +typstDeps = [] +description = "Simple theorem environments based on std.figure" +license = [ + "MIT", +] +homepage = "https://github.com/Danila-Bain/typst-theorems" + [theofig."0.1.0"] url = "https://packages.typst.org/preview/theofig-0.1.0.tar.gz" hash = "sha256-0++2dHCCoJGyw5XAjZLBwsP0z+LNrZQBuztSlXtmclA=" @@ -33841,6 +35317,19 @@ license = [ ] homepage = "https://github.com/nleanba/typst-theoretic" +[theorion."0.5.0"] +url = "https://packages.typst.org/preview/theorion-0.5.0.tar.gz" +hash = "sha256-noK5xvxOL7KSAVUA6TPjdb+gOlxdys2Hac4UTKviLEM=" +typstDeps = [ + "octique_0_1_1", + "showybox_2_0_4", +] +description = "Out-of-the-box, customizable and multilingual theorem environment package" +license = [ + "MIT", +] +homepage = "https://github.com/OrangeX4/typst-theorion" + [theorion."0.4.1"] url = "https://packages.typst.org/preview/theorion-0.4.1.tar.gz" hash = "sha256-Kqa1mPUAuS4XGx6F4jc+EuBAK3lOouEDksPRWBYGFD0=" @@ -34058,6 +35547,16 @@ license = [ ] homepage = "https://github.com/Jzzzi/slide-thu" +[tiago."0.1.0"] +url = "https://packages.typst.org/preview/tiago-0.1.0.tar.gz" +hash = "sha256-6O4OFTacDz3o3G/tkrkREgMZ7ktIqge4XjJyQzVIVHU=" +typstDeps = [] +description = "Draw diagrams in Typst via Diago, a D2 implementation in MoonBit" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/OverflowCat/tiago" + [tiaoma."0.3.0"] url = "https://packages.typst.org/preview/tiaoma-0.3.0.tar.gz" hash = "sha256-xhVlYXBXisOzx2/R+fPNtCwEY/QoQXt071Q3m+qUHms=" @@ -34366,6 +35865,16 @@ license = [ ] homepage = "https://github.com/bastienvoirin/tierpist" +[timble."1.0.0"] +url = "https://packages.typst.org/preview/timble-1.0.0.tar.gz" +hash = "sha256-EcNRvyJW3QY6KF91ftFLSpigeVZXTFySa/isVhEzx0M=" +typstDeps = [] +description = "Draw and style precise time tables with ease" +license = [ + "MPL-2.0", +] +homepage = "https://github.com/Mambouna/timble" + [timeliney."0.4.0"] url = "https://packages.typst.org/preview/timeliney-0.4.0.tar.gz" hash = "sha256-atAcyhjup40j1YQgVE80wk3FNbTS5oxovEDz56yb+pQ=" @@ -34551,6 +36060,45 @@ license = [ "MIT", ] +[tntt."0.5.2"] +url = "https://packages.typst.org/preview/tntt-0.5.2.tar.gz" +hash = "sha256-PotjX2L4s5cfVD3xFyqYUpXxVYbACKLad2Mc6XO3Cfs=" +typstDeps = [ + "cuti_0_4_0", + "lovelace_0_3_0", +] +description = "Tntt is Not an official Typst Thesis Template for Tsinghua university (THU" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/tntt" + +[tntt."0.5.1"] +url = "https://packages.typst.org/preview/tntt-0.5.1.tar.gz" +hash = "sha256-xcPAogWsNCgym2ag87z877/K0zyXN4IkvdxuxxOVI88=" +typstDeps = [ + "cuti_0_4_0", + "lovelace_0_3_0", +] +description = "Tntt is Not an official Typst Thesis Template for Tsinghua university (THU" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/tntt" + +[tntt."0.5.0"] +url = "https://packages.typst.org/preview/tntt-0.5.0.tar.gz" +hash = "sha256-DlE1Ts/biJYeMX3MPqA2gkRy8HL7GTaPyxkj4mOn2FY=" +typstDeps = [ + "cuti_0_4_0", + "lovelace_0_3_0", +] +description = "Tntt is Not an official Typst Thesis Template for Tsinghua university (THU" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/tntt" + [tntt."0.4.1"] url = "https://packages.typst.org/preview/tntt-0.4.1.tar.gz" hash = "sha256-c1sheek5n7fHrPhqWi0HGoOVuftOKr210+fRTs1tjXo=" @@ -34779,6 +36327,16 @@ license = [ ] homepage = "https://codeberg.org/jianweicheong/toffee-tufte" +[tonguetoquill-usaf-memo."2.0.0"] +url = "https://packages.typst.org/preview/tonguetoquill-usaf-memo-2.0.0.tar.gz" +hash = "sha256-2NF+Zf3WU4AW5nCJCYwFbrJAMT476GgjofuxyrZDfdQ=" +typstDeps = [] +description = "Typeset memos that are fully compliant with AFH 33-337 'The Tongue and Quill" +license = [ + "MIT", +] +homepage = "https://github.com/nibsbin/tonguetoquill-usaf-memo" + [tonguetoquill-usaf-memo."1.0.0"] url = "https://packages.typst.org/preview/tonguetoquill-usaf-memo-1.0.0.tar.gz" hash = "sha256-mkwig3bJOc9vrJyLOC78yXp+Pez6G6Nyw2RVZbSav6Y=" @@ -34841,6 +36399,21 @@ license = [ ] homepage = "https://codeberg.org/a5s/toot" +[touying."0.7.0"] +url = "https://packages.typst.org/preview/touying-0.7.0.tar.gz" +hash = "sha256-t4LnzU+reUaYCwMDS1iQdk3JhORomGRe9ByOxTHupHY=" +typstDeps = [ + "cetz_0_4_2", + "fletcher_0_5_8", + "numbly_0_1_0", + "theorion_0_5_0", +] +description = "A powerful package for creating presentation slides in Typst" +license = [ + "MIT", +] +homepage = "https://github.com/touying-typ/touying" + [touying."0.6.3"] url = "https://packages.typst.org/preview/touying-0.6.3.tar.gz" hash = "sha256-DQpa2oVNd4AvvWOzJOWJSTrLVa3kDzrlouD59TNtJkM=" @@ -35118,6 +36691,18 @@ license = [ ] homepage = "https://github.com/touying-typ/touying" +[touying-aqua."0.7.0"] +url = "https://packages.typst.org/preview/touying-aqua-0.7.0.tar.gz" +hash = "sha256-fBF3H0ozQSmUKXQj8QXOiwVumWXia29cNNV0PURoaas=" +typstDeps = [ + "touying_0_7_0", +] +description = "A powerful package for creating presentation slides in Typst" +license = [ + "MIT", +] +homepage = "https://github.com/touying-typ/touying" + [touying-aqua."0.6.3"] url = "https://packages.typst.org/preview/touying-aqua-0.6.3.tar.gz" hash = "sha256-aFYr32ubFUVMQXnDOQqrizkAqGd2bz+oyerKT/9doOs=" @@ -35377,6 +36962,21 @@ license = [ ] homepage = "https://github.com/RaVincentHuang/touying-dids" +[touying-endfield."0.1.1"] +url = "https://packages.typst.org/preview/touying-endfield-0.1.1.tar.gz" +hash = "sha256-8Q52a2ThW06+8Dow3zEcdjaysllAG/ypxvOa6GOIrZE=" +typstDeps = [ + "numbly_0_1_0", + "sicons_16_0_0", + "touying_0_6_3", + "zh-kit_0_1_0", +] +description = "Touying presentation theme inspired by Arknights: Endfield" +license = [ + "MIT", +] +homepage = "https://github.com/leostudiooo/typst-touying-theme-endfield" + [touying-endfield."0.1.0"] url = "https://packages.typst.org/preview/touying-endfield-0.1.0.tar.gz" hash = "sha256-kcR9/S0EfbWCsUTHItb3sP+wP9YrmN5KzgKlTeu3WV8=" @@ -35441,6 +37041,19 @@ license = [ ] homepage = "https://github.com/Quaternijkon/Typst_FLOW" +[touying-greyc-ambrosia."0.1.0"] +url = "https://packages.typst.org/preview/touying-greyc-ambrosia-0.1.0.tar.gz" +hash = "sha256-5EFYOMxzJJdwiUatoK+/PNJ8HIeKnQ3QXZfazItExK4=" +typstDeps = [ + "numbly_0_1_0", + "touying_0_6_2", +] +description = "Touying unofficial theme for the GREYC laboratory at University Caen Normandy, France" +license = [ + "MIT", +] +homepage = "https://github.com/inspiros/touying-greyc-ambrosia" + [touying-htwk-stripes."1.0.0"] url = "https://packages.typst.org/preview/touying-htwk-stripes-1.0.0.tar.gz" hash = "sha256-1Q23yIUtmfgA6Q62xIHCcZLsPUE85V/vvRbI+FJ2FNg=" @@ -35588,6 +37201,20 @@ license = [ ] homepage = "https://github.com/kazuyanagimoto/quarto-clean-typst" +[touying-quick."0.4.1"] +url = "https://packages.typst.org/preview/touying-quick-0.4.1.tar.gz" +hash = "sha256-NcGth1yAhjdpyBaFZb89QQAdweCVPL2z7GCgMRGiSbE=" +typstDeps = [ + "codly_1_3_0", + "theorion_0_5_0", + "touying_0_6_3", +] +description = "A quick-start template based on touying for academic reports" +license = [ + "MIT", +] +homepage = "https://github.com/ivaquero/touying-quick.git" + [touying-quick."0.4.0"] url = "https://packages.typst.org/preview/touying-quick-0.4.0.tar.gz" hash = "sha256-2u2pqM5aITpqsv/QkTzp8CRrMw2XtZ93+cY5Z9TYYrA=" @@ -35960,6 +37587,20 @@ license = [ ] homepage = "https://github.com/spidersouris/touying-unistra-pristine" +[touying-wave-hhu."0.2.0"] +url = "https://packages.typst.org/preview/touying-wave-hhu-0.2.0.tar.gz" +hash = "sha256-Ng3+kkw/MN+UOkoJLQ8cddEhsdkGtJhIXkw4VDIefow=" +typstDeps = [ + "iconic-salmon-fa_1_1_0", + "showybox_2_0_4", + "touying_0_6_3", +] +description = "Touying Slide Theme for Hohai University" +license = [ + "MIT", +] +homepage = "https://github.com/HPDell/touying-wave-hhu" + [touying-wave-hhu."0.1.0"] url = "https://packages.typst.org/preview/touying-wave-hhu-0.1.0.tar.gz" hash = "sha256-AqUTvD1lD2ByEEsKZfTLEnNvKwSUFbqZM5iupS8BQ8E=" @@ -36308,6 +37949,19 @@ license = [ ] homepage = "https://github.com/jomaway/typst-teacher-templates" +[ttt-utils."0.2.0"] +url = "https://packages.typst.org/preview/ttt-utils-0.2.0.tar.gz" +hash = "sha256-FIBImdGulKmjyttWu5rM/reDgkUgYEI9lsBahLbykD8=" +typstDeps = [ + "suiji_0_5_1", + "valkyrie_0_2_2", +] +description = "A collection of tools to make a teachers life easier" +license = [ + "MIT", +] +homepage = "https://github.com/jomaway/typst-teacher-templates" + [ttt-utils."0.1.4"] url = "https://packages.typst.org/preview/ttt-utils-0.1.4.tar.gz" hash = "sha256-cB/uCFCu/Zo5dyEbtuARs7YzdETXIRAxfu+jc0PV8aI=" @@ -36425,6 +38079,21 @@ license = [ "MIT", ] +[tufted."0.1.1"] +url = "https://packages.typst.org/preview/tufted-0.1.1.tar.gz" +hash = "sha256-/5Ok9zmLPB1n8AmtShtE8TdduGWMFkvWs+3C7fvOTx8=" +typstDeps = [ + "citegeist_0_2_2", + "cmarker_0_1_8", + "lilaq_0_6_0", + "mitex_0_2_6", +] +description = "Responsive web layout with wide margins, elegant sidenotes, and restrained typography" +license = [ + "MIT", +] +homepage = "https://github.com/vsheg/tufted" + [tufted."0.1.0"] url = "https://packages.typst.org/preview/tufted-0.1.0.tar.gz" hash = "sha256-BcSO41/udgeklcgPfSR0iQYlC9doyRAaEbCgoM06FyM=" @@ -36683,6 +38352,19 @@ license = [ ] homepage = "https://github.com/QuantumRange/twig" +[twilight-book."0.1.8"] +url = "https://packages.typst.org/preview/twilight-book-0.1.8.tar.gz" +hash = "sha256-MPM4vuCaTA+tAEEOOx2cuLcBc84QsD00zc1tuSP0YaE=" +typstDeps = [ + "one-liner_0_2_0", + "twilight-book_0_1_6", +] +description = "Provide numerous light and dark themes" +license = [ + "MIT", +] +homepage = "https://github.com/CrossDark/TwilightBook/" + [twilight-book."0.1.6"] url = "https://packages.typst.org/preview/twilight-book-0.1.6.tar.gz" hash = "sha256-40l9GWIXZaVpb/HNUc6Qlct4p6pm/oZDE7A+cxnkQ4Q=" @@ -36747,6 +38429,16 @@ license = [ ] homepage = "https://github.com/sgomezsal/typ2anki" +[typcas."0.2.1"] +url = "https://packages.typst.org/preview/typcas-0.2.1.tar.gz" +hash = "sha256-LETXer/gauB+dgLWHeKMJcwsUcFrBaromCaVl6t/4gY=" +typstDeps = [] +description = "Task-centric symbolic CAS for Typst with steps and domain metadata" +license = [ + "MIT", +] +homepage = "https://github.com/sihooleebd/typCAS" + [typcas."0.1.0"] url = "https://packages.typst.org/preview/typcas-0.1.0.tar.gz" hash = "sha256-euejP/mp0sOtM9vKPaqITqXAZ4aj2yx/mIX8DkPWffM=" @@ -37056,6 +38748,16 @@ license = [ ] homepage = "https://github.com/Typsium/typsium-atomic" +[typsium-ghs."0.1.1"] +url = "https://packages.typst.org/preview/typsium-ghs-0.1.1.tar.gz" +hash = "sha256-P87Rqy0yj7+QIisDxWqY7PagKC8/stWfspl7IOe4xZg=" +typstDeps = [] +description = "Display and format Hazard & Precautionary statements and GHS pictograms in Typst" +license = [ + "MIT", +] +homepage = "https://github.com/Typsium/typsium-ghs" + [typsium-ghs."0.1.0"] url = "https://packages.typst.org/preview/typsium-ghs-0.1.0.tar.gz" hash = "sha256-TLMDZEs899q4NeMxssgpfudPLbUClXeo5HA1fimtX8E=" @@ -37176,6 +38878,16 @@ license = [ ] homepage = "https://github.com/manjavacas/typslides" +[typsqlite."0.1.0"] +url = "https://packages.typst.org/preview/typsqlite-0.1.0.tar.gz" +hash = "sha256-nRKKnDSiajdRjZyNNFAblPWGL0N87WmNL/iLzcDhWSA=" +typstDeps = [] +description = "Query SQLite databases at compile time" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/jrossi/typst-wasm-sqlite" + [typsy."0.2.2"] url = "https://packages.typst.org/preview/typsy-0.2.2.tar.gz" hash = "sha256-tv+DWBqgSU6VfZPnO7GPg02bZLTG/QIr9cMxMLUUiL8=" @@ -37342,6 +39054,21 @@ license = [ ] homepage = "https://github.com/angelonazzaro/typxidian" +[uastw-thesis."0.1.0"] +url = "https://packages.typst.org/preview/uastw-thesis-0.1.0.tar.gz" +hash = "sha256-OSB1L2Y2+f1qFKig4HdRJhfBWQHbZVF5dHrG9j1f9R4=" +typstDeps = [ + "codly_1_3_0", + "fletcher_0_5_8", + "gentle-clues_1_3_1", + "in-dexter_0_7_2", +] +description = "Typst template for bachelor and master thesis at UAS Technikum Wien" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/mhorauer/typst-packages" + [ucpc-solutions."0.1.1"] url = "https://packages.typst.org/preview/ucpc-solutions-0.1.1.tar.gz" hash = "sha256-7zHpbpKm0aUQ2UeOqUMG4ZayEmcHG9bYi6+5elZHaXk=" @@ -37362,6 +39089,19 @@ license = [ ] homepage = "https://github.com/ShapeLayer/ucpc-solutions__typst" +[ucph-nielsine-touying."0.1.3"] +url = "https://packages.typst.org/preview/ucph-nielsine-touying-0.1.3.tar.gz" +hash = "sha256-rq9j2T/CZ8dG0kKw+gbZbzffeHY2msVScC94JD8hpiE=" +typstDeps = [ + "theorion_0_5_0", + "touying_0_6_3", +] +description = "Slide template built on Touying for the University of Copenhagen" +license = [ + "MIT", +] +homepage = "https://github.com/jorgenhost/ucph-nielsine-touying" + [ucph-nielsine-touying."0.1.2"] url = "https://packages.typst.org/preview/ucph-nielsine-touying-0.1.2.tar.gz" hash = "sha256-ElidoO/ZHhj1Qr/QT5omgPB+FMYN1d81UzY0mBz7Ok8=" @@ -37400,6 +39140,26 @@ license = [ ] homepage = "https://github.com/jorgenhost/ucph-nielsine-touying" +[ufpr-unofficial."2022.1.0"] +url = "https://packages.typst.org/preview/ufpr-unofficial-2022.1.0.tar.gz" +hash = "sha256-2KX4g+17pfzxEg9DJiQKnpmn+C8fzYvjvg4vv+UWbf0=" +typstDeps = [] +description = "An unofficial Typst template for academic work following ABNT standards, designed for UFPR students" +license = [ + "Unlicense", +] +homepage = "https://github.com/chrispdobb/ufpr-unofficial" + +[ufpr-unofficial."2022.0.0"] +url = "https://packages.typst.org/preview/ufpr-unofficial-2022.0.0.tar.gz" +hash = "sha256-cYi7BQS5cD2qxWiDNMLhL86p1rJXaBhYVsa5pv2+Kpc=" +typstDeps = [] +description = "An unofficial Typst template for academic work following ABNT standards, designed for UFPR students" +license = [ + "Unlicense", +] +homepage = "https://github.com/chrispdobb/ufpr-unofficial" + [ufscholar."0.2.0"] url = "https://packages.typst.org/preview/ufscholar-0.2.0.tar.gz" hash = "sha256-LqPG8m7gsKNC0AfXXy2ahd/6yxPhLPdIKgsDtks57ng=" @@ -37525,6 +39285,18 @@ license = [ ] homepage = "https://github.com/MDLC01/unichar" +[unidep."0.1.1"] +url = "https://packages.typst.org/preview/unidep-0.1.1.tar.gz" +hash = "sha256-CiVBJNspKQ0JoQaiP6CmLKxT8uD1rAXXpykq1+LKkqA=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Render beautiful, customizable Universal Dependencies (CoNLL-U) dependency trees" +license = [ + "MIT", +] +homepage = "https://github.com/rice8y/unidep" + [unidep."0.1.0"] url = "https://packages.typst.org/preview/unidep-0.1.0.tar.gz" hash = "sha256-hynFigkXN5HkFMBBmOOw/qBtR451XC7ru0W4Tl6SVaE=" @@ -37979,6 +39751,16 @@ license = [ ] homepage = "https://github.com/TomVer99/FHICT-typst-template" +[unofficial-fhs-thesis."0.1.0"] +url = "https://packages.typst.org/preview/unofficial-fhs-thesis-0.1.0.tar.gz" +hash = "sha256-o3xn1M0TXySAzdWIVtoD5iDKlYdJhuq9eRNS2Mf1peg=" +typstDeps = [] +description = "Projects and BA/MA thesis FH Salzburg" +license = [ + "MIT", +] +homepage = "https://its-git.fh-salzburg.ac.at/fhs46581/fhs-its-thesis-typst" + [unofficial-fontys-paper-template."0.1.0"] url = "https://packages.typst.org/preview/unofficial-fontys-paper-template-0.1.0.tar.gz" hash = "sha256-Om8rgOfWADg2tV36qv+PonSZWPBbpCjNw0y7hGobVQU=" @@ -38149,6 +39931,32 @@ license = [ ] homepage = "https://github.com/GrooveWJH/unofficial-sdu-thesis" +[unofficial-sorbonne-presentation."0.3.1"] +url = "https://packages.typst.org/preview/unofficial-sorbonne-presentation-0.3.1.tar.gz" +hash = "sha256-S/bw84D3/Kv9WKSsiC9tZdYmwQRSA8U/JYoF5IU1C7k=" +typstDeps = [ + "cetz_0_4_2", + "navigator_0_1_3", + "presentate_0_2_5", +] +description = "A unofficial structured presentation theme for Sorbonne University and IPLESP, based on presentate and navigator" +license = [ + "MIT", +] + +[unofficial-sorbonne-presentation."0.3.0"] +url = "https://packages.typst.org/preview/unofficial-sorbonne-presentation-0.3.0.tar.gz" +hash = "sha256-1JIspoa4v2QLQ6PGJYO57m/SX9QbxgjlsmCFSw1/+W4=" +typstDeps = [ + "cetz_0_4_2", + "navigator_0_1_3", + "presentate_0_2_5", +] +description = "A unofficial structured presentation theme for Sorbonne University and IPLESP, based on presentate and navigator" +license = [ + "MIT", +] + [unofficial-sorbonne-presentation."0.2.0"] url = "https://packages.typst.org/preview/unofficial-sorbonne-presentation-0.2.0.tar.gz" hash = "sha256-nscZhrPYuWklaL+U+ED68ZngFbUfNb0th8PSaFVNLDE=" @@ -38419,6 +40227,18 @@ license = [ ] homepage = "https://codeberg.org/Kuchenmampfer/upb-corporate-design-slides" +[upsetter."0.1.0"] +url = "https://packages.typst.org/preview/upsetter-0.1.0.tar.gz" +hash = "sha256-PndFbjLaL22xt187EGvYOBqaRRERYHr5iABhQlFsyLU=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Render set intersections using UpSet plots" +license = [ + "BSD-2-Clause", +] +homepage = "https://github.com/goll72/upsetter" + [use-academicons."0.1.0"] url = "https://packages.typst.org/preview/use-academicons-0.1.0.tar.gz" hash = "sha256-AoXb2XZQvfZIKXRidR+tT1Iv6pPxog1x1cZOHGz8f8s=" @@ -38429,6 +40249,36 @@ license = [ ] homepage = "https://github.com/bpkleer/typst-academicons" +[use-tabler-icons."0.20.0"] +url = "https://packages.typst.org/preview/use-tabler-icons-0.20.0.tar.gz" +hash = "sha256-bMtfaZKgNm9Te+wMlut1EPhhWz1ID4tP528SlQlfmmo=" +typstDeps = [] +description = "Tabler Icons for Typst using webfont" +license = [ + "MIT", +] +homepage = "https://github.com/zyf722/typst-tabler-icons" + +[use-tabler-icons."0.19.1"] +url = "https://packages.typst.org/preview/use-tabler-icons-0.19.1.tar.gz" +hash = "sha256-tC7EMoe8t7AIiKlC4usl7Rlt82hmR6uCBDyTDqp97zk=" +typstDeps = [] +description = "Tabler Icons for Typst using webfont" +license = [ + "MIT", +] +homepage = "https://github.com/zyf722/typst-tabler-icons" + +[use-tabler-icons."0.19.0"] +url = "https://packages.typst.org/preview/use-tabler-icons-0.19.0.tar.gz" +hash = "sha256-n5s6WVbNi4GBEr52+fiPwoz1YZshy5X3cJ1hDupUNUc=" +typstDeps = [] +description = "Tabler Icons for Typst using webfont" +license = [ + "MIT", +] +homepage = "https://github.com/zyf722/typst-tabler-icons" + [use-tabler-icons."0.18.0"] url = "https://packages.typst.org/preview/use-tabler-icons-0.18.0.tar.gz" hash = "sha256-DttcLEUWUQRVC7ClBoJ4EWibBHEStl5V1ODr7JGqZFw=" @@ -38769,6 +40619,18 @@ license = [ ] homepage = "https://git.ortolo.eu/typst-varioref.git/" +[vartable."0.2.4"] +url = "https://packages.typst.org/preview/vartable-0.2.4.tar.gz" +hash = "sha256-a8oIka2nsN1bULicxgBlEJ9WHBDCqJEtGQLUPwxtnlk=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A simple package to make variation table" +license = [ + "MIT", +] +homepage = "https://github.com/Le-foucheur/Typst-VarTable" + [vartable."0.2.3"] url = "https://packages.typst.org/preview/vartable-0.2.3.tar.gz" hash = "sha256-ywR3RoomMM2YTwZsQOLetX1g5VzZGdlj+27pBV+wTpo=" @@ -39113,6 +40975,27 @@ license = [ ] homepage = "https://github.com/sasetz/fiit_template" +[visillos-excelencia."0.1.0"] +url = "https://packages.typst.org/preview/visillos-excelencia-0.1.0.tar.gz" +hash = "sha256-Ss3aNOfvXp1+ucT4ZefUi1RE8HyL9+h/ux0qfWMz8/E=" +typstDeps = [ + "lilaq_0_6_0", +] +description = "Unofficial template for Excellence Baccalaureate projects at IES Carmen Martín Gaite (Spain) // Plantilla para los proyectos del Bachillerato de Excelencia del IES Carmen Martín Gaite" +license = [ + "MIT", +] + +[vitis."0.1.0"] +url = "https://packages.typst.org/preview/vitis-0.1.0.tar.gz" +hash = "sha256-44WkcIdGcxy/EsrknhCxwN2Q0sX9vjAqbqCCw9WuB70=" +typstDeps = [] +description = "An automatic organizer for beautiful line breaking in scripts without whitespace word separators" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/3w36zj6/typst-vitis" + [vlna."0.1.1"] url = "https://packages.typst.org/preview/vlna-0.1.1.tar.gz" hash = "sha256-g26sPFG6Jb92aI657KAW1sbgaCZzKqUMiCqvha1CdcU=" @@ -39701,6 +41584,16 @@ license = [ ] homepage = "https://github.com/MDLC01/xodec" +[xyznote."0.5.0"] +url = "https://packages.typst.org/preview/xyznote-0.5.0.tar.gz" +hash = "sha256-hllDryRqz/+mPneS/lovEaQUNJd8sGUaXMv6P7LsIsQ=" +typstDeps = [] +description = "Simple and Functional Typst Note Template" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/wardenxyz/xyznote" + [xyznote."0.4.0"] url = "https://packages.typst.org/preview/xyznote-0.4.0.tar.gz" hash = "sha256-XTTZF60IxFdXkd3O9qMvR01PkNjgqLmRPVfYJNIP2ZY=" @@ -40153,6 +42046,16 @@ license = [ ] homepage = "https://github.com/langonne/zen-utbm-report" +[zen-zine."0.3.0"] +url = "https://packages.typst.org/preview/zen-zine-0.3.0.tar.gz" +hash = "sha256-dfYg9l75BqJZ75KXQ7sy7pTmU0bwsLyCfsDdCFjfs0Y=" +typstDeps = [] +description = "Excellently type-set a fun little zine" +license = [ + "MIT", +] +homepage = "https://github.com/tomeichlersmith/zen-zine" + [zen-zine."0.2.1"] url = "https://packages.typst.org/preview/zen-zine-0.2.1.tar.gz" hash = "sha256-gUDurcALP9Yv3AvqhYJ2tsjfDrc2w6ObjxjvvSRx6ww=" From bf8227e0b09b82d8a605cec4c9b1f9feafc82a46 Mon Sep 17 00:00:00 2001 From: S <195176069+jqssun@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:24:11 +0100 Subject: [PATCH 028/105] img4lib: add darwin support --- pkgs/by-name/im/img4lib/package.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/im/img4lib/package.nix b/pkgs/by-name/im/img4lib/package.nix index 6e66b62d5103..df2511ab5066 100644 --- a/pkgs/by-name/im/img4lib/package.nix +++ b/pkgs/by-name/im/img4lib/package.nix @@ -5,6 +5,7 @@ pkg-config, openssl, lzfse, + gcc, }: stdenv.mkDerivation (finalAttrs: { pname = "img4lib"; @@ -17,9 +18,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-xCWovBJ9cxT17u1uo+aUQnxDoYFQXYy9Qer0mD45aOU="; }; - nativeBuildInputs = [ - pkg-config - ]; + nativeBuildInputs = + [ pkg-config ] + ++ lib.optional stdenv.hostPlatform.isDarwin gcc; buildInputs = [ lzfse @@ -42,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { # No licensing information available # https://github.com/xerub/img4lib/issues/14 license = lib.licenses.unfree; - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ onny ]; mainProgram = "img4"; }; From c284e4be6cf8f6b15d41ed3d1609b91f9ed8b315 Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Thu, 2 Apr 2026 12:54:39 +0200 Subject: [PATCH 029/105] python3Packages.plux: disable test incompatible with pytest 9 test_resolve_distribution_information fails with pytest >= 9.0.2 because pytest now uses PEP 639 License-Expression metadata instead of the legacy License field. Upstream pins pytest==8.4.1 in CI and has not encountered this yet. Upstream fix: https://github.com/localstack/plux/pull/46 --- pkgs/development/python-modules/plux/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/plux/default.nix b/pkgs/development/python-modules/plux/default.nix index 3a469665f582..329e81f4d2bb 100644 --- a/pkgs/development/python-modules/plux/default.nix +++ b/pkgs/development/python-modules/plux/default.nix @@ -34,6 +34,13 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; + disabledTests = [ + # Fails with pytest >= 9 which uses PEP 639 License-Expression metadata + # instead of legacy License field. Upstream pins pytest==8.4.1 in CI. + # https://github.com/localstack/plux/pull/46 + "test_resolve_distribution_information" + ]; + pythonImportsCheck = [ "plugin.core" ]; meta = { From 03e31f593bb68e1e52c7d2fa51d6eff52bc0ef56 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 11:21:08 +0000 Subject: [PATCH 030/105] amazon-cloudwatch-agent: 1.300065.0 -> 1.300066.0 --- pkgs/by-name/am/amazon-cloudwatch-agent/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix b/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix index 73e5454e0dab..b26f6dc35210 100644 --- a/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix +++ b/pkgs/by-name/am/amazon-cloudwatch-agent/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "amazon-cloudwatch-agent"; - version = "1.300065.0"; + version = "1.300066.0"; src = fetchFromGitHub { owner = "aws"; repo = "amazon-cloudwatch-agent"; tag = "v${finalAttrs.version}"; - hash = "sha256-iAM8x3NXLQ20QJFB6Og4YKimUB7r+doTVnq/b9Q7alc="; + hash = "sha256-cN1wxJKijx5P3JvtH+WX+3SYfar7xmM6XK2JABg+3lo="; }; - vendorHash = "sha256-i5Lhz36ZAfZW2Y3s31TcBx1uWuMKmtROBhmHf2GiGyo="; + vendorHash = "sha256-W+DEQAX6BP6xwucE0mciQ4wzsIlF1b7d2Y+dyN43Lnw="; # See the list in https://github.com/aws/amazon-cloudwatch-agent/blob/v1.300049.1/Makefile#L68-L77. subPackages = [ From abc0a59d184ee903e0cd71cc2e8e85dc0e0979b3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 12:21:32 +0000 Subject: [PATCH 031/105] vfox: 1.0.6 -> 1.0.7 --- pkgs/by-name/vf/vfox/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vf/vfox/package.nix b/pkgs/by-name/vf/vfox/package.nix index 28c75edecc79..67b4c3d73e23 100644 --- a/pkgs/by-name/vf/vfox/package.nix +++ b/pkgs/by-name/vf/vfox/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "vfox"; - version = "1.0.6"; + version = "1.0.7"; src = fetchFromGitHub { owner = "version-fox"; repo = "vfox"; tag = "v${finalAttrs.version}"; - hash = "sha256-pPsHR4kO4/b0VDz7y+iMwalJibjAzu6A2QwkBMTys7E="; + hash = "sha256-nDwzd+4yq5NshS01z/VUbeF9eO0IDcaNQ41bAjIAHuY="; }; vendorHash = "sha256-494nqL6KiUk4VeKlG9YHFpgACgaYC3SR1I1EViD71Jw="; From 844f6a1001f54b6cf45d613102458051c77b166a Mon Sep 17 00:00:00 2001 From: S <195176069+jqssun@users.noreply.github.com> Date: Thu, 2 Apr 2026 13:27:22 +0100 Subject: [PATCH 032/105] img4lib: fix lint --- pkgs/by-name/im/img4lib/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/im/img4lib/package.nix b/pkgs/by-name/im/img4lib/package.nix index df2511ab5066..617348434387 100644 --- a/pkgs/by-name/im/img4lib/package.nix +++ b/pkgs/by-name/im/img4lib/package.nix @@ -18,9 +18,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-xCWovBJ9cxT17u1uo+aUQnxDoYFQXYy9Qer0mD45aOU="; }; - nativeBuildInputs = - [ pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin gcc; + nativeBuildInputs = [ pkg-config ] ++ lib.optional stdenv.hostPlatform.isDarwin gcc; buildInputs = [ lzfse From 4545c14043e30a4e8253102cb8c3e4d8311c6a92 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 12:27:40 +0000 Subject: [PATCH 033/105] nvimpager: 0.13.0 -> 0.14.0 --- pkgs/by-name/nv/nvimpager/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nv/nvimpager/package.nix b/pkgs/by-name/nv/nvimpager/package.nix index cb02e45ab2dc..d569c58f4c92 100644 --- a/pkgs/by-name/nv/nvimpager/package.nix +++ b/pkgs/by-name/nv/nvimpager/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nvimpager"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lucc"; repo = "nvimpager"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-Au9rRZMZfU4qHi/ng6JO8FnMpySKDbKzr75SBPY3QiA="; + sha256 = "sha256-hwUI0DlkXveE+m4BkO8xEF/IARqSVk2E6tw07+UtnbA="; }; buildInputs = [ From 86463cdd2a541fcf6c730a620eaac7357a373fcb Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 28 Mar 2026 18:39:53 +0100 Subject: [PATCH 034/105] lasuite-docs{,-frontend,-collaboration-server}: 4.8.1 -> 4.8.4 Changes: * https://github.com/suitenumerique/docs/releases/tag/v4.8.2 * https://github.com/suitenumerique/docs/releases/tag/v4.8.3 * https://github.com/suitenumerique/docs/releases/tag/v4.8.4 --- .../package.nix | 6 +++--- .../la/lasuite-docs-frontend/package.nix | 17 ++++++++++++++--- pkgs/by-name/la/lasuite-docs/package.nix | 9 ++++++--- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix index 7754a4bf3063..05a1836f906c 100644 --- a/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix +++ b/pkgs/by-name/la/lasuite-docs-collaboration-server/package.nix @@ -13,20 +13,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "lasuite-docs-collaboration-server"; - version = "4.8.1"; + version = "4.8.4"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${finalAttrs.version}"; - hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; + hash = "sha256-k90JxFxXL3vEGBMkgbQABUCK99utJ88E/v9Zcj/2oBo="; }; sourceRoot = "${finalAttrs.src.name}/src/frontend"; offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock"; - hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM="; + hash = "sha256-ElI6WWKPCsO7Viexgp2XtcjXAXzFnG2ZPN5PjOaKO2g="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/la/lasuite-docs-frontend/package.nix b/pkgs/by-name/la/lasuite-docs-frontend/package.nix index 0378bfcec3d4..51934141c2f6 100644 --- a/pkgs/by-name/la/lasuite-docs-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-docs-frontend/package.nix @@ -2,6 +2,7 @@ lib, fetchFromGitHub, stdenv, + fetchpatch, fetchYarnDeps, nodejs, fixup-yarn-lock, @@ -12,20 +13,30 @@ stdenv.mkDerivation (finalAttrs: { pname = "lasuite-docs-frontend"; - version = "4.8.1"; + version = "4.8.4"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${finalAttrs.version}"; - hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; + hash = "sha256-k90JxFxXL3vEGBMkgbQABUCK99utJ88E/v9Zcj/2oBo="; }; sourceRoot = "${finalAttrs.src.name}/src/frontend"; + patches = [ + # from https://github.com/suitenumerique/docs/pull/2147, + # fixes the frontend when using the MIT build. + (fetchpatch { + url = "https://github.com/suitenumerique/docs/commit/79e909cf6489428d8f6644d772006f73503b7073.patch"; + hash = "sha256-Ucw1KtsFrPvtoeeG2fH5L64Jfcog4RV38Qg+EykGcQY="; + stripLen = 2; + }) + ]; + offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock"; - hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM="; + hash = "sha256-ElI6WWKPCsO7Viexgp2XtcjXAXzFnG2ZPN5PjOaKO2g="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/la/lasuite-docs/package.nix b/pkgs/by-name/la/lasuite-docs/package.nix index a4695888a4d3..b1930bd1911c 100644 --- a/pkgs/by-name/la/lasuite-docs/package.nix +++ b/pkgs/by-name/la/lasuite-docs/package.nix @@ -11,12 +11,12 @@ yarnConfigHook, }: let - version = "4.8.1"; + version = "4.8.4"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "docs"; tag = "v${version}"; - hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY="; + hash = "sha256-k90JxFxXL3vEGBMkgbQABUCK99utJ88E/v9Zcj/2oBo="; }; mail-templates = stdenv.mkDerivation { @@ -29,7 +29,7 @@ let offlineCache = fetchYarnDeps { yarnLock = "${src}/src/mail/yarn.lock"; - hash = "sha256-ag9+g48dWl5Ww/78qqgtcKwiyPVlpNiJ7w7+DPaar2U="; + hash = "sha256-Fd9HJ7c7fh8YYZrfzRK7BnlnHAXeyeQ9UBabnRlA+w0="; }; nativeBuildInputs = [ @@ -88,6 +88,7 @@ python3Packages.buildPythonApplication (finalAttrs: { django-storages django-timezone-field django-treebeard + django-waffle djangorestframework drf-spectacular drf-spectacular-sidecar @@ -145,6 +146,8 @@ python3Packages.buildPythonApplication (finalAttrs: { mkdir -p $out/${python3.sitePackages}/core/templates ln -sv ${mail-templates}/ $out/${python3.sitePackages}/core/templates/mail + + cp -r impress/configuration $out/${python3.sitePackages}/impress/configuration ''; passthru.tests = { From aa9095364a7592683fe379c05f5cad4d59570bdc Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 2 Apr 2026 17:58:48 +0200 Subject: [PATCH 035/105] thunderbird-mcp: init at 0.4.0 --- .../th/thunderbird-mcp/package-lock.json | 19 ++++++++++ pkgs/by-name/th/thunderbird-mcp/package.nix | 36 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 pkgs/by-name/th/thunderbird-mcp/package-lock.json create mode 100644 pkgs/by-name/th/thunderbird-mcp/package.nix diff --git a/pkgs/by-name/th/thunderbird-mcp/package-lock.json b/pkgs/by-name/th/thunderbird-mcp/package-lock.json new file mode 100644 index 000000000000..4d69ec7302a2 --- /dev/null +++ b/pkgs/by-name/th/thunderbird-mcp/package-lock.json @@ -0,0 +1,19 @@ +{ + "name": "thunderbird-mcp", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "thunderbird-mcp", + "version": "0.1.0", + "license": "MIT", + "bin": { + "thunderbird-mcp": "mcp-bridge.cjs" + }, + "engines": { + "node": ">=18.0.0" + } + } + } +} diff --git a/pkgs/by-name/th/thunderbird-mcp/package.nix b/pkgs/by-name/th/thunderbird-mcp/package.nix new file mode 100644 index 000000000000..538f806dc5d2 --- /dev/null +++ b/pkgs/by-name/th/thunderbird-mcp/package.nix @@ -0,0 +1,36 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, +}: + +buildNpmPackage (finalAttrs: { + pname = "thunderbird-mcp"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "TKasperczyk"; + repo = "thunderbird-mcp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-+m54jF39SoViHxDI18ewtVjeVUdRximJ6Ozcv1HVdiU="; + }; + + postPatch = '' + cp ${./package-lock.json} package-lock.json + ''; + + preInstall = "mkdir node_modules/"; + forceEmptyCache = true; + dontNpmBuild = true; + + npmDepsHash = "sha256-LbEnmABmAoTCTPNNbocl+n2TtFC3FOFwwTnyATxvM3k="; + + meta = { + description = "MCP server for Thunderbird - enables AI assistants to access email, contacts, and calendars"; + homepage = "https://github.com/TKasperczyk/thunderbird-mcp"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "thunderbird-mcp"; + platforms = lib.platforms.all; + }; +}) From 39bfaaafeeedbc9adf7b127a80c72f67a8915d7c Mon Sep 17 00:00:00 2001 From: 2kybe3 Date: Thu, 2 Apr 2026 20:45:51 +0200 Subject: [PATCH 036/105] fmd-server: pass src to fix build --- pkgs/by-name/fm/fmd-server/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fm/fmd-server/package.nix b/pkgs/by-name/fm/fmd-server/package.nix index 5ffd26968563..a6ac572b41e7 100644 --- a/pkgs/by-name/fm/fmd-server/package.nix +++ b/pkgs/by-name/fm/fmd-server/package.nix @@ -26,7 +26,7 @@ buildGoModule ( }; pnpmDeps = fetchPnpmDeps { - inherit (ui) pname; + inherit (ui) pname src; inherit pnpm; sourceRoot = "${finalAttrs.src.name}/${ui.pnpmRoot}"; fetcherVersion = 3; From 7d420009c077f334e789b48d8f0833ae4fe05840 Mon Sep 17 00:00:00 2001 From: 2kybe3 Date: Thu, 2 Apr 2026 20:51:31 +0200 Subject: [PATCH 037/105] fmd-server: pin pnpm version As recommended in the javascript.section.md --- pkgs/by-name/fm/fmd-server/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fm/fmd-server/package.nix b/pkgs/by-name/fm/fmd-server/package.nix index a6ac572b41e7..45ad8a2f774e 100644 --- a/pkgs/by-name/fm/fmd-server/package.nix +++ b/pkgs/by-name/fm/fmd-server/package.nix @@ -5,7 +5,7 @@ fetchPnpmDeps, nix-update-script, nodejs, - pnpm, + pnpm_10, pnpmConfigHook, stdenv, versionCheckHook, @@ -27,7 +27,7 @@ buildGoModule ( pnpmDeps = fetchPnpmDeps { inherit (ui) pname src; - inherit pnpm; + inherit pnpm_10; sourceRoot = "${finalAttrs.src.name}/${ui.pnpmRoot}"; fetcherVersion = 3; hash = "sha256-fgqNaFQ4+uJxXzDJJq+D0+EFaLaYR+WUzi5kGq5ezjs="; @@ -51,7 +51,7 @@ buildGoModule ( nativeBuildInputs = [ nodejs pnpmConfigHook - pnpm + pnpm_10 ]; buildPhase = '' From 5e0dae2f2cd36ca1306b5a51923f6f1c9847246c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 19:53:05 +0000 Subject: [PATCH 038/105] gws: 0.22.1 -> 0.22.5 --- pkgs/by-name/gw/gws/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gw/gws/package.nix b/pkgs/by-name/gw/gws/package.nix index 1cb82133f994..b3cade085b44 100644 --- a/pkgs/by-name/gw/gws/package.nix +++ b/pkgs/by-name/gw/gws/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gws"; - version = "0.22.1"; + version = "0.22.5"; src = fetchFromGitHub { owner = "googleworkspace"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-yDgUvFXBhm7SNi51JeOm4+EOowNmY3dS0vF+AM6BygM="; + hash = "sha256-Bj4gPklufU6p2JpvN6j7QViv7ghSn52jemeXPVXkhlk="; }; - cargoHash = "sha256-9Ncn0r3Pih962l/4HKZjyWCvyCPQODIPX/oyroA1kL0="; + cargoHash = "sha256-8vVTACodxxju4x19bNzDKM5xn6btV1UCh+5GUxS70S8="; nativeBuildInputs = [ pkg-config ]; From e8774ab3c40eb2993b757aabef5b7e8d1c57d712 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 20:52:38 +0000 Subject: [PATCH 039/105] python3Packages.google-cloud-network-connectivity: 2.14.0 -> 2.15.0 --- .../google-cloud-network-connectivity/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix index 8473ee19560e..c3068b56d12f 100644 --- a/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix +++ b/pkgs/development/python-modules/google-cloud-network-connectivity/default.nix @@ -14,13 +14,13 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-network-connectivity"; - version = "2.14.0"; + version = "2.15.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) version; pname = "google_cloud_network_connectivity"; - hash = "sha256-+82I/ZGM4p/yHKXBm2ddKTIGEo5SigXrry9LpaZ1RKc="; + hash = "sha256-PqkPw7HNOZUHjIPUp7tbFDlY0d7jDlGeqhIwMZVr1OY="; }; build-system = [ setuptools ]; From 249179794bb757cb62bc9f4f186eb7e1ba122f16 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 20:54:41 +0000 Subject: [PATCH 040/105] infrastructure-agent: 1.72.9 -> 1.73.0 --- pkgs/by-name/in/infrastructure-agent/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/in/infrastructure-agent/package.nix b/pkgs/by-name/in/infrastructure-agent/package.nix index 26b68c51325f..62cd25347365 100644 --- a/pkgs/by-name/in/infrastructure-agent/package.nix +++ b/pkgs/by-name/in/infrastructure-agent/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "infrastructure-agent"; - version = "1.72.9"; + version = "1.73.0"; src = fetchFromGitHub { owner = "newrelic"; repo = "infrastructure-agent"; rev = finalAttrs.version; - hash = "sha256-aWZDg8MbtWp62sqBRVCr+xVowFTVwL0TIWK0Nx2jLa8="; + hash = "sha256-NcpfigIpwnesZtD2BQm/NMN3jsdgdH7sAkZ74rbHSZo="; }; vendorHash = "sha256-0yDH9l5NyUzIjjUMnf/u2t02uqNGIK2qfakvImFgmdA="; From 65fa203d71f33124454885409616ccd74a87f565 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 2 Apr 2026 17:00:36 -0400 Subject: [PATCH 041/105] dbip-asn-lite: 2026-03 -> 2026-04 --- pkgs/by-name/db/dbip-asn-lite/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/db/dbip-asn-lite/package.nix b/pkgs/by-name/db/dbip-asn-lite/package.nix index 0e3a0fb3b92a..36ebd418bdcc 100644 --- a/pkgs/by-name/db/dbip-asn-lite/package.nix +++ b/pkgs/by-name/db/dbip-asn-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-asn-lite"; - version = "2026-03"; + version = "2026-04"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-asn-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-cGdiwiJP6JUNZ8rKZK/XvtNglVWhm81ap7VmVdOW6NE="; + hash = "sha256-wJA6XqFbVxsWNEJ4AzwiKMOjsayJczVU/L3i98Y1x+I="; }; dontUnpack = true; From 38385107214cb5aa189a91fce07298fd477aa415 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 2 Apr 2026 17:00:44 -0400 Subject: [PATCH 042/105] dbip-city-lite: 2026-03 -> 2026-04 --- pkgs/by-name/db/dbip-city-lite/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/db/dbip-city-lite/package.nix b/pkgs/by-name/db/dbip-city-lite/package.nix index 78741bb70db3..b9a06afab30e 100644 --- a/pkgs/by-name/db/dbip-city-lite/package.nix +++ b/pkgs/by-name/db/dbip-city-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-city-lite"; - version = "2026-03"; + version = "2026-04"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-city-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-Vfi3SiGKs8l2mc5AROuIF6afgpOl5HgZWBSKd7orBoI="; + hash = "sha256-sIb1DGVNmvV0B3ltTcT4yQkMMMiZt89X0eDIzT0U/r8="; }; dontUnpack = true; From fcb845ae7031fe7e07a7ba06ff050362f17ce946 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 2 Apr 2026 17:00:50 -0400 Subject: [PATCH 043/105] dbip-country-lite: 2026-03 -> 2026-04 --- pkgs/by-name/db/dbip-country-lite/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/db/dbip-country-lite/package.nix b/pkgs/by-name/db/dbip-country-lite/package.nix index e3ad6bd5f518..919b256bd17f 100644 --- a/pkgs/by-name/db/dbip-country-lite/package.nix +++ b/pkgs/by-name/db/dbip-country-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-country-lite"; - version = "2026-03"; + version = "2026-04"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-YlPwkNIbI6kAnt5zGPhp5P/NnY6l9UTK0LJM2OEkgW4="; + hash = "sha256-d+6Bq1l6XZHI+maW20SmpXjfP9O1a4FmhtfL3poEOfs="; }; dontUnpack = true; From 323a1fccaf8f630f3b6efb67256de283f0dc30ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 21:23:51 +0000 Subject: [PATCH 044/105] python3Packages.pytest-ansible: 26.2.0 -> 26.4.0 --- pkgs/development/python-modules/pytest-ansible/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-ansible/default.nix b/pkgs/development/python-modules/pytest-ansible/default.nix index 0429cc996048..8f8d42939631 100644 --- a/pkgs/development/python-modules/pytest-ansible/default.nix +++ b/pkgs/development/python-modules/pytest-ansible/default.nix @@ -25,14 +25,14 @@ buildPythonPackage (finalAttrs: { pname = "pytest-ansible"; - version = "26.2.0"; + version = "26.4.0"; pyproject = true; src = fetchFromGitHub { owner = "ansible"; repo = "pytest-ansible"; tag = "v${finalAttrs.version}"; - hash = "sha256-3pppBAgAfkwJNPRsI6CH4UDMqyZ45+mFNejlQwX5bCg="; + hash = "sha256-HC5kipVIHga1nBWK6QQ2wGv9wPz0cVmRyby46JT6+Hg="; }; postPatch = '' From 590c1ed2e3d73bd6d493b2538901f9fcddbd99bb Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Mon, 30 Mar 2026 17:54:32 -0400 Subject: [PATCH 045/105] ci: update pinned --- ci/pinned.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/pinned.json b/ci/pinned.json index 9e039136a160..5f4203d1ffa2 100644 --- a/ci/pinned.json +++ b/ci/pinned.json @@ -9,9 +9,9 @@ }, "branch": "nixpkgs-unstable", "submodules": false, - "revision": "bde09022887110deb780067364a0818e89258968", - "url": "https://github.com/NixOS/nixpkgs/archive/bde09022887110deb780067364a0818e89258968.tar.gz", - "hash": "13mi187zpa4rw680qbwp7pmykjia8cra3nwvjqmsjba3qhlzif5l" + "revision": "106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f", + "url": "https://github.com/NixOS/nixpkgs/archive/106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f.tar.gz", + "hash": "0wyyhddz2mqhmq938d337223675jpd83dd5lsks2nhz0hs4r3jha" }, "treefmt-nix": { "type": "Git", @@ -22,9 +22,9 @@ }, "branch": "main", "submodules": false, - "revision": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", - "url": "https://github.com/numtide/treefmt-nix/archive/e96d59dff5c0d7fddb9d113ba108f03c3ef99eca.tar.gz", - "hash": "02gqyxila3ghw8gifq3mns639x86jcq079kvfvjm42mibx7z5fzb" + "revision": "75925962939880974e3ab417879daffcba36c4a3", + "url": "https://github.com/numtide/treefmt-nix/archive/75925962939880974e3ab417879daffcba36c4a3.tar.gz", + "hash": "118zlbyzmh21x6rad2vrxjkdfyicd8lx3s0if8b791n51hz1r9ns" } }, "version": 5 From be5b19720df81062ab4b5c80e1ed558848a85954 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Mon, 30 Mar 2026 18:48:51 -0400 Subject: [PATCH 046/105] .github/zizmor.yml: disable `secrets-outside-env` rule A new rule added in zizmor v1.23.0, this requires that secrets be used only in a deployment environment. We do not use environment secrets or deployments, and, per zizmor, "environment secrets do not interact correctly with reusable workflows unless the caller workflow uses `secrets: inherit`, which is itself flagged by" the `secrets-inherit` rule. --- .github/zizmor.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/zizmor.yml b/.github/zizmor.yml index f1b71580ebca..b8bd704b9ff4 100644 --- a/.github/zizmor.yml +++ b/.github/zizmor.yml @@ -10,3 +10,5 @@ rules: dangerous-triggers: disable: true + secrets-outside-env: + disable: true From 7a9e410bceca46cb4f0abe947d7a199122b6edc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 21:41:49 +0000 Subject: [PATCH 047/105] sdl_gamecontrollerdb: 0-unstable-2026-03-23 -> 0-unstable-2026-04-02 --- pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix index 74c8d8dff49b..c470a7e98808 100644 --- a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix +++ b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sdl_gamecontrollerdb"; - version = "0-unstable-2026-03-23"; + version = "0-unstable-2026-04-02"; src = fetchFromGitHub { owner = "mdqinc"; repo = "SDL_GameControllerDB"; - rev = "7c3baed7e78f4b85c12df22089b2b97410edec15"; - hash = "sha256-HN5oKK0Et6qMlAu0jer+k5YV5YPsZMepia57bll4lf0="; + rev = "202d0070d75e51cdf2fc6e9c4d4662d87226d5c6"; + hash = "sha256-79DvPUHzUw3XAnMQu3pNxZq0+CG9J1u5MiOTyG7pXkk="; }; dontBuild = true; From b36469640f33f162de95adb74bda340af7b5a9e5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 22:04:14 +0000 Subject: [PATCH 048/105] parsedmarc: 9.5.4 -> 9.5.5 --- pkgs/development/python-modules/parsedmarc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/parsedmarc/default.nix b/pkgs/development/python-modules/parsedmarc/default.nix index dc770a694ecf..8f46b42d8546 100644 --- a/pkgs/development/python-modules/parsedmarc/default.nix +++ b/pkgs/development/python-modules/parsedmarc/default.nix @@ -49,14 +49,14 @@ let in buildPythonPackage rec { pname = "parsedmarc"; - version = "9.5.4"; + version = "9.5.5"; pyproject = true; src = fetchFromGitHub { owner = "domainaware"; repo = "parsedmarc"; tag = version; - hash = "sha256-Di4ykujzBow1woG0UsH6S1eDu+nuQ8/r6RXcMKLdDF4="; + hash = "sha256-iJkXtSkHImVOWvuZuWOsUTXPtXNXYbp5umjpPFmuQvo="; }; postPatch = '' From d72c19ffb5c32e76f8f358ecc07e0141ba465b45 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 22:30:38 +0000 Subject: [PATCH 049/105] prmers: 4.18.02-alpha -> 4.19.00-alpha --- pkgs/by-name/pr/prmers/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/prmers/package.nix b/pkgs/by-name/pr/prmers/package.nix index 98935ac3e454..558ed96e6cfe 100644 --- a/pkgs/by-name/pr/prmers/package.nix +++ b/pkgs/by-name/pr/prmers/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "prmers"; - version = "4.18.02-alpha"; + version = "4.19.00-alpha"; src = fetchFromGitHub { owner = "cherubrock-seb"; repo = "PrMers"; tag = "v${finalAttrs.version}"; - hash = "sha256-0vzJDt/c21m+QvKbgP3LWYGopJAqz6zfD6+JakwYGwA="; + hash = "sha256-zG9JLBqIqQjiz8+QNogk/rFeoj1/irmhfbVVe9HTq6A="; }; enableParallelBuilding = true; From d075be785490a43ff91dd7d49b0a5da5ba500265 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 2 Apr 2026 23:52:53 +0000 Subject: [PATCH 050/105] dosage-tracker: 2.1.4 -> 2.1.5 --- pkgs/by-name/do/dosage-tracker/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/dosage-tracker/package.nix b/pkgs/by-name/do/dosage-tracker/package.nix index a6f69e4f19c1..babaf2cca466 100644 --- a/pkgs/by-name/do/dosage-tracker/package.nix +++ b/pkgs/by-name/do/dosage-tracker/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dosage"; - version = "2.1.4"; + version = "2.1.5"; src = fetchFromGitHub { owner = "diegopvlk"; repo = "Dosage"; tag = "v${finalAttrs.version}"; - hash = "sha256-fp+BXT/HpoceFogn8oeRVEKGCqOVLTc8lca2epn3D78="; + hash = "sha256-opaQx42USA9OHRsPHukhBrdLPN2cD/T9QE9plZrBETo="; }; # https://github.com/NixOS/nixpkgs/issues/318830 From 1cbd3463ec857f9ab152d680046da2072986a26b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 03:58:04 +0000 Subject: [PATCH 051/105] python3Packages.pypugjs: 6.0.1 -> 6.0.2 --- pkgs/development/python-modules/pypugjs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix index 218f00110ff0..521048a5b44a 100644 --- a/pkgs/development/python-modules/pypugjs/default.nix +++ b/pkgs/development/python-modules/pypugjs/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "pypugjs"; - version = "6.0.1"; + version = "6.0.2"; pyproject = true; src = fetchFromGitHub { owner = "kakulukia"; repo = "pypugjs"; tag = "v${version}"; - hash = "sha256-aHTWRlRrUh4LCsNUcszce4g8C4O0A/aPZKTz6Zl0UYg="; + hash = "sha256-PABd0aa+KMrHGGaOLCqUcsw91bhytHJn06/d/k9RvCg="; }; build-system = [ From 6f39fe03c8ed46602aadf3c6d9e9703e07078f57 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 05:10:03 +0000 Subject: [PATCH 052/105] k8sgpt: 0.4.30 -> 0.4.31 --- pkgs/by-name/k8/k8sgpt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/k8/k8sgpt/package.nix b/pkgs/by-name/k8/k8sgpt/package.nix index 063f8685285f..91797e076b01 100644 --- a/pkgs/by-name/k8/k8sgpt/package.nix +++ b/pkgs/by-name/k8/k8sgpt/package.nix @@ -8,7 +8,7 @@ buildGoModule (finalAttrs: { pname = "k8sgpt"; - version = "0.4.30"; + version = "0.4.31"; nativeBuildInputs = [ installShellFiles @@ -18,7 +18,7 @@ buildGoModule (finalAttrs: { owner = "k8sgpt-ai"; repo = "k8sgpt"; rev = "v${finalAttrs.version}"; - hash = "sha256-8hzJEJ+aZ+nVleStMngRortRLEoW+6FhcYBgin3Z/3Y="; + hash = "sha256-+cjCDcRdj6A17eT7IJ/OKgWTXex4zXz9pbmrcc2w2bM="; }; vendorHash = "sha256-zljqZWM1jSAC+ZhW1NNp182Ui/40u0VTtfolnPXQKqE="; From 25422dc05a8a103d5f4d854094815d03562b4bad Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 05:59:30 +0000 Subject: [PATCH 053/105] all-the-package-names: 2.0.2395 -> 2.0.2405 --- pkgs/by-name/al/all-the-package-names/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/al/all-the-package-names/package.nix b/pkgs/by-name/al/all-the-package-names/package.nix index 08b85f584bb4..1c67cc9c5742 100644 --- a/pkgs/by-name/al/all-the-package-names/package.nix +++ b/pkgs/by-name/al/all-the-package-names/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "all-the-package-names"; - version = "2.0.2395"; + version = "2.0.2405"; src = fetchFromGitHub { owner = "nice-registry"; repo = "all-the-package-names"; tag = "v${version}"; - hash = "sha256-gJ4wW9KY8xaNNyhQqzEF42yxJFKEy/zxBEe1L2Jwp8U="; + hash = "sha256-dimap7vybYHNGSAWn6K8uMUMymrV8Ek5Vc27bbJo22w="; }; - npmDepsHash = "sha256-J+XkwEMigShzqSstJh1N+Q8WB//gMmOdDVYHs1myLBA="; + npmDepsHash = "sha256-13u+UoTckxKAmthuaxOCaGSW4BaAgWaz6/4dBcO+3VI="; passthru.updateScript = nix-update-script { }; From fe90d5a666a4d649ddb35bf6d617bf5e98be777c Mon Sep 17 00:00:00 2001 From: kyehn Date: Sat, 28 Mar 2026 17:33:02 +0800 Subject: [PATCH 054/105] flutterPackages: refactor --- ci/OWNERS | 3 +- .../dart/build-dart-application/default.nix | 6 - pkgs/desktops/expidus/calculator/default.nix | 58 -- .../expidus/calculator/pubspec.lock.json | 790 --------------- pkgs/desktops/expidus/default.nix | 10 - .../desktops/expidus/file-manager/default.nix | 58 -- .../expidus/file-manager/pubspec.lock.json | 910 ----------------- .../compilers/dart/source/default.nix | 140 ++- .../compilers/flutter/all-artifacts.nix | 79 ++ .../flutter/artifacts/fetch-artifacts.nix | 102 -- .../flutter/artifacts/overrides/darwin.nix | 14 - .../flutter/artifacts/overrides/linux.nix | 12 - .../flutter/artifacts/prepare-artifacts.nix | 30 - .../build-flutter-application.nix | 47 +- pkgs/development/compilers/flutter/cipd.nix | 37 + .../compilers/flutter/constants.nix | 41 + .../development/compilers/flutter/default.nix | 171 +--- .../compilers/flutter/engine/constants.nix | 48 - .../compilers/flutter/engine/dart.nix | 12 - .../compilers/flutter/engine/default.nix | 369 +++++-- .../compilers/flutter/engine/package.nix | 390 -------- .../flutter/engine/patches/git-revision.patch | 44 + .../flutter/engine/patches/no-vpython.patch | 11 + .../flutter/engine/patches/not-in-git.patch | 13 + .../engine/patches/shared-libcxx.patch | 22 + .../engine/patches/unbundle-engine.patch | 933 ++++++++++++++++++ .../compilers/flutter/engine/source.nix | 112 +-- .../compilers/flutter/engine/tools.nix | 103 -- .../compilers/flutter/flutter-tools.nix | 88 +- .../development/compilers/flutter/flutter.nix | 551 +++++++---- .../compilers/flutter/host-artifacts.nix | 302 ++++++ .../flutter/patches/opt-in-analytics.patch | 22 + ...touch-is-a-mouse-then-mouse-is-touch.patch | 18 + pkgs/development/compilers/flutter/scope.nix | 105 ++ .../compilers/flutter/sdk-symlink.nix | 65 -- pkgs/development/compilers/flutter/update.py | 358 +++++++ .../flutter/update/get-artifact-hashes.nix.in | 44 - .../flutter/update/get-dart-hashes.nix.in | 22 - .../flutter/update/get-engine-hashes.nix.in | 36 - .../update/get-engine-swiftshader.nix.in | 10 - .../flutter/update/get-flutter.nix.in | 7 - .../flutter/update/get-pubspec-lock.nix.in | 40 - .../compilers/flutter/update/update.py | 501 ---------- .../compilers/flutter/versions/3_29/data.json | 142 +-- .../versions/3_29/patches/no-cache.patch | 51 + .../versions/3_29/patches/version.patch | 126 +++ .../compilers/flutter/versions/3_32/data.json | 142 +-- .../versions/3_32/patches/no-cache.patch | 51 + .../versions/3_32/patches/version.patch | 131 +++ .../compilers/flutter/versions/3_35/data.json | 142 +-- .../3_35/patches/content-unaware-hash.patch | 12 + .../versions/3_35/patches/no-cache.patch | 51 + .../versions/3_35/patches/version.patch | 131 +++ .../compilers/flutter/versions/3_38/data.json | 142 +-- .../3_38/patches/content-unaware-hash.patch | 12 + .../versions/3_38/patches/no-cache.patch | 51 + .../versions/3_38/patches/version.patch | 131 +++ .../compilers/flutter/versions/3_41/data.json | 143 +-- .../3_41/patches/content-unaware-hash.patch | 12 + .../versions/3_41/patches/no-cache.patch | 51 + .../versions/3_41/patches/version.patch | 131 +++ .../development/compilers/flutter/wrapper.nix | 211 ---- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 19 +- 64 files changed, 4166 insertions(+), 4451 deletions(-) delete mode 100644 pkgs/desktops/expidus/calculator/default.nix delete mode 100644 pkgs/desktops/expidus/calculator/pubspec.lock.json delete mode 100644 pkgs/desktops/expidus/default.nix delete mode 100644 pkgs/desktops/expidus/file-manager/default.nix delete mode 100644 pkgs/desktops/expidus/file-manager/pubspec.lock.json create mode 100644 pkgs/development/compilers/flutter/all-artifacts.nix delete mode 100644 pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix delete mode 100644 pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix delete mode 100644 pkgs/development/compilers/flutter/artifacts/overrides/linux.nix delete mode 100644 pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix create mode 100644 pkgs/development/compilers/flutter/cipd.nix create mode 100644 pkgs/development/compilers/flutter/constants.nix delete mode 100644 pkgs/development/compilers/flutter/engine/constants.nix delete mode 100644 pkgs/development/compilers/flutter/engine/dart.nix delete mode 100644 pkgs/development/compilers/flutter/engine/package.nix create mode 100644 pkgs/development/compilers/flutter/engine/patches/git-revision.patch create mode 100644 pkgs/development/compilers/flutter/engine/patches/no-vpython.patch create mode 100644 pkgs/development/compilers/flutter/engine/patches/not-in-git.patch create mode 100644 pkgs/development/compilers/flutter/engine/patches/shared-libcxx.patch create mode 100644 pkgs/development/compilers/flutter/engine/patches/unbundle-engine.patch delete mode 100644 pkgs/development/compilers/flutter/engine/tools.nix create mode 100644 pkgs/development/compilers/flutter/host-artifacts.nix create mode 100644 pkgs/development/compilers/flutter/patches/opt-in-analytics.patch create mode 100644 pkgs/development/compilers/flutter/patches/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch create mode 100644 pkgs/development/compilers/flutter/scope.nix delete mode 100644 pkgs/development/compilers/flutter/sdk-symlink.nix create mode 100755 pkgs/development/compilers/flutter/update.py delete mode 100644 pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in delete mode 100644 pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in delete mode 100644 pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in delete mode 100644 pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in delete mode 100644 pkgs/development/compilers/flutter/update/get-flutter.nix.in delete mode 100644 pkgs/development/compilers/flutter/update/get-pubspec-lock.nix.in delete mode 100755 pkgs/development/compilers/flutter/update/update.py create mode 100644 pkgs/development/compilers/flutter/versions/3_29/patches/no-cache.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_29/patches/version.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_32/patches/no-cache.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_32/patches/version.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_35/patches/content-unaware-hash.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_35/patches/no-cache.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_35/patches/version.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_38/patches/content-unaware-hash.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_38/patches/no-cache.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_38/patches/version.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_41/patches/content-unaware-hash.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_41/patches/no-cache.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_41/patches/version.patch delete mode 100644 pkgs/development/compilers/flutter/wrapper.nix diff --git a/ci/OWNERS b/ci/OWNERS index 34a8f652f16e..15f639120bba 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -469,9 +469,8 @@ nixos/tests/incus/ @adamcstephens pkgs/by-name/in/incus/ @adamcstephens pkgs/by-name/lx/lxc* @adamcstephens -# ExpidusOS, Flutter +# Flutter /pkgs/development/compilers/flutter @RossComputerGuy -/pkgs/desktops/expidus @RossComputerGuy # GNU Tar & Zip /pkgs/tools/archivers/gnutar @RossComputerGuy diff --git a/pkgs/build-support/dart/build-dart-application/default.nix b/pkgs/build-support/dart/build-dart-application/default.nix index ed07a06551b5..0a94d4e276aa 100644 --- a/pkgs/build-support/dart/build-dart-application/default.nix +++ b/pkgs/build-support/dart/build-dart-application/default.nix @@ -194,16 +194,10 @@ lib.extendMkDerivation { # Ensure that we inherit the propagated build inputs from the dependencies. builtins.attrValues pubspecLockData.dependencySources; - preConfigure = args.preConfigure or "" + '' - ln -sf "$pubspecLockFilePath" pubspec.lock - ''; - # When stripping, it seems some ELF information is lost and the dart VM cli # runs instead of the expected program. Don't strip if it's an exe output. dontStrip = args.dontStrip or (dartOutputType == "exe"); - passAsFile = [ "pubspecLockFile" ]; - passthru = { pubspecLock = pubspecLockData; } diff --git a/pkgs/desktops/expidus/calculator/default.nix b/pkgs/desktops/expidus/calculator/default.nix deleted file mode 100644 index f005dcf52969..000000000000 --- a/pkgs/desktops/expidus/calculator/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - lib, - flutter, - fetchFromGitHub, -}: -flutter.buildFlutterApplication rec { - pname = "expidus-calculator"; - version = "0.1.1-alpha"; - - src = fetchFromGitHub { - owner = "ExpidusOS"; - repo = "calculator"; - rev = version; - hash = "sha256-O3LHp10Fo3PW3zoN7mFSQEKh+AAaR+IqkRtc6nQrIZE="; - }; - - flutterBuildFlags = [ - "--dart-define=COMMIT_HASH=a5d8f54404b9994f83beb367a1cd11e04a6420cb" - ]; - - pubspecLock = lib.importJSON ./pubspec.lock.json; - - gitHashes = { - libtokyo = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; - libtokyo_flutter = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; - }; - - postInstall = '' - rm $out/bin/calculator - ln -s $out/app/$pname/calculator $out/bin/expidus-calculator - - mkdir -p $out/share/applications - mv $out/app/$pname/data/com.expidusos.calculator.desktop $out/share/applications - - mkdir -p $out/share/icons - mv $out/app/$pname/data/com.expidusos.calculator.png $out/share/icons - - mkdir -p $out/share/metainfo - mv $out/app/$pname/data/com.expidusos.calculator.metainfo.xml $out/share/metainfo - - substituteInPlace "$out/share/applications/com.expidusos.calculator.desktop" \ - --replace "Exec=calculator" "Exec=$out/bin/expidus-calculator" \ - --replace "Icon=com.expidusos.calculator" "Icon=$out/share/icons/com.expidusos.calculator.png" - ''; - - meta = { - broken = true; - description = "ExpidusOS Calculator"; - homepage = "https://expidusos.com"; - license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ RossComputerGuy ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - mainProgram = "expidus-calculator"; - }; -} diff --git a/pkgs/desktops/expidus/calculator/pubspec.lock.json b/pkgs/desktops/expidus/calculator/pubspec.lock.json deleted file mode 100644 index a2e6f2e46776..000000000000 --- a/pkgs/desktops/expidus/calculator/pubspec.lock.json +++ /dev/null @@ -1,790 +0,0 @@ -{ - "packages": { - "args": { - "dependency": "transitive", - "description": { - "name": "args", - "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.2" - }, - "async": { - "dependency": "transitive", - "description": { - "name": "async", - "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.11.0" - }, - "bitsdojo_window": { - "dependency": "direct main", - "description": { - "name": "bitsdojo_window", - "sha256": "1118bc1cd16e6f358431ca4473af57cc1b287d2ceab46dfab6d59a9463160622", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.5" - }, - "bitsdojo_window_linux": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_linux", - "sha256": "d3804a30315fcbb43b28acc86d1180ce0be22c0c738ad2da9e5ade4d8dbd9655", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.3" - }, - "bitsdojo_window_macos": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_macos", - "sha256": "d2a9886c74516c5b84c1dd65ab8ee5d1c52055b265ebf0e7d664dee28366b521", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.3" - }, - "bitsdojo_window_platform_interface": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_platform_interface", - "sha256": "65daa015a0c6dba749bdd35a0f092e7a8ba8b0766aa0480eb3ef808086f6e27c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.2" - }, - "bitsdojo_window_windows": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_windows", - "sha256": "8766a40aac84a6d7bdcaa716b24997e028fc9a9a1800495fc031721fd5a22ed0", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.5" - }, - "boolean_selector": { - "dependency": "transitive", - "description": { - "name": "boolean_selector", - "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "characters": { - "dependency": "transitive", - "description": { - "name": "characters", - "sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.0" - }, - "clock": { - "dependency": "transitive", - "description": { - "name": "clock", - "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "collection": { - "dependency": "transitive", - "description": { - "name": "collection", - "sha256": "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.17.1" - }, - "crypto": { - "dependency": "transitive", - "description": { - "name": "crypto", - "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.3" - }, - "fake_async": { - "dependency": "transitive", - "description": { - "name": "fake_async", - "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.1" - }, - "ffi": { - "dependency": "transitive", - "description": { - "name": "ffi", - "sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "file": { - "dependency": "transitive", - "description": { - "name": "file", - "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.4" - }, - "filesize": { - "dependency": "transitive", - "description": { - "name": "filesize", - "sha256": "f53df1f27ff60e466eefcd9df239e02d4722d5e2debee92a87dfd99ac66de2af", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.1" - }, - "flutter": { - "dependency": "direct main", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_adaptive_scaffold": { - "dependency": "direct main", - "description": { - "name": "flutter_adaptive_scaffold", - "sha256": "3e78be8b9c95b1c9832b2f8ec4a845adac205c4bb5e7bd3fb204b07990229167", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.7+1" - }, - "flutter_lints": { - "dependency": "direct dev", - "description": { - "name": "flutter_lints", - "sha256": "a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.3" - }, - "flutter_localizations": { - "dependency": "direct main", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_markdown": { - "dependency": "direct main", - "description": { - "name": "flutter_markdown", - "sha256": "d4a1cb250c4e059586af0235f32e02882860a508e189b61f2b31b8810c1e1330", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.17+2" - }, - "flutter_test": { - "dependency": "direct dev", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_web_plugins": { - "dependency": "transitive", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "http": { - "dependency": "transitive", - "description": { - "name": "http", - "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.13.6" - }, - "http_parser": { - "dependency": "transitive", - "description": { - "name": "http_parser", - "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.0.2" - }, - "intl": { - "dependency": "transitive", - "description": { - "name": "intl", - "sha256": "a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.18.0" - }, - "js": { - "dependency": "transitive", - "description": { - "name": "js", - "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.7" - }, - "libtokyo": { - "dependency": "direct main", - "description": { - "path": "packages/libtokyo", - "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "url": "https://github.com/ExpidusOS/libtokyo.git" - }, - "source": "git", - "version": "0.1.0" - }, - "libtokyo_flutter": { - "dependency": "direct main", - "description": { - "path": "packages/libtokyo_flutter", - "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "url": "https://github.com/ExpidusOS/libtokyo.git" - }, - "source": "git", - "version": "0.1.0" - }, - "lints": { - "dependency": "transitive", - "description": { - "name": "lints", - "sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "markdown": { - "dependency": "direct main", - "description": { - "name": "markdown", - "sha256": "acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.1.1" - }, - "matcher": { - "dependency": "transitive", - "description": { - "name": "matcher", - "sha256": "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.12.15" - }, - "material_color_utilities": { - "dependency": "transitive", - "description": { - "name": "material_color_utilities", - "sha256": "d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.2.0" - }, - "material_theme_builder": { - "dependency": "transitive", - "description": { - "name": "material_theme_builder", - "sha256": "380ab70835e01f4ee0c37904eebae9e36ed37b5cf8ed40d67412ea3244a2afd6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "math_expressions": { - "dependency": "direct main", - "description": { - "name": "math_expressions", - "sha256": "3576593617c3870d75728a751f6ec6e606706d44e363f088ac394b5a28a98064", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.0" - }, - "meta": { - "dependency": "transitive", - "description": { - "name": "meta", - "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.9.1" - }, - "nested": { - "dependency": "transitive", - "description": { - "name": "nested", - "sha256": "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "package_info_plus": { - "dependency": "direct main", - "description": { - "name": "package_info_plus", - "sha256": "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - }, - "package_info_plus_platform_interface": { - "dependency": "transitive", - "description": { - "name": "package_info_plus_platform_interface", - "sha256": "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.1" - }, - "path": { - "dependency": "transitive", - "description": { - "name": "path", - "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.8.3" - }, - "path_provider_linux": { - "dependency": "transitive", - "description": { - "name": "path_provider_linux", - "sha256": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.1" - }, - "path_provider_platform_interface": { - "dependency": "transitive", - "description": { - "name": "path_provider_platform_interface", - "sha256": "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "path_provider_windows": { - "dependency": "transitive", - "description": { - "name": "path_provider_windows", - "sha256": "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.1" - }, - "platform": { - "dependency": "transitive", - "description": { - "name": "platform", - "sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - }, - "plugin_platform_interface": { - "dependency": "transitive", - "description": { - "name": "plugin_platform_interface", - "sha256": "da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.6" - }, - "provider": { - "dependency": "direct main", - "description": { - "name": "provider", - "sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.0.5" - }, - "pub_semver": { - "dependency": "direct main", - "description": { - "name": "pub_semver", - "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "pubspec": { - "dependency": "direct main", - "description": { - "name": "pubspec", - "sha256": "f534a50a2b4d48dc3bc0ec147c8bd7c304280fff23b153f3f11803c4d49d927e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "quiver": { - "dependency": "transitive", - "description": { - "name": "quiver", - "sha256": "b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.1" - }, - "sentry": { - "dependency": "transitive", - "description": { - "name": "sentry", - "sha256": "39c23342fc96105da449914f7774139a17a0ca8a4e70d9ad5200171f7e47d6ba", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.9.0" - }, - "sentry_flutter": { - "dependency": "direct main", - "description": { - "name": "sentry_flutter", - "sha256": "ff68ab31918690da004a42e20204242a3ad9ad57da7e2712da8487060ac9767f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.9.0" - }, - "shared_preferences": { - "dependency": "direct main", - "description": { - "name": "shared_preferences", - "sha256": "b7f41bad7e521d205998772545de63ff4e6c97714775902c199353f8bf1511ac", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.1" - }, - "shared_preferences_android": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_android", - "sha256": "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.1" - }, - "shared_preferences_foundation": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_foundation", - "sha256": "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.4" - }, - "shared_preferences_linux": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_linux", - "sha256": "c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.1" - }, - "shared_preferences_platform_interface": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_platform_interface", - "sha256": "d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.1" - }, - "shared_preferences_web": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_web", - "sha256": "d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.1" - }, - "shared_preferences_windows": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_windows", - "sha256": "f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.1" - }, - "sky_engine": { - "dependency": "transitive", - "description": "flutter", - "source": "sdk", - "version": "0.0.99" - }, - "source_span": { - "dependency": "transitive", - "description": { - "name": "source_span", - "sha256": "dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.9.1" - }, - "stack_trace": { - "dependency": "transitive", - "description": { - "name": "stack_trace", - "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.11.0" - }, - "stream_channel": { - "dependency": "transitive", - "description": { - "name": "stream_channel", - "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "string_scanner": { - "dependency": "transitive", - "description": { - "name": "string_scanner", - "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "term_glyph": { - "dependency": "transitive", - "description": { - "name": "term_glyph", - "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.1" - }, - "test_api": { - "dependency": "transitive", - "description": { - "name": "test_api", - "sha256": "eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.1" - }, - "typed_data": { - "dependency": "transitive", - "description": { - "name": "typed_data", - "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.2" - }, - "uri": { - "dependency": "transitive", - "description": { - "name": "uri", - "sha256": "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "url_launcher": { - "dependency": "direct main", - "description": { - "name": "url_launcher", - "sha256": "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.14" - }, - "url_launcher_android": { - "dependency": "transitive", - "description": { - "name": "url_launcher_android", - "sha256": "b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.0" - }, - "url_launcher_ios": { - "dependency": "transitive", - "description": { - "name": "url_launcher_ios", - "sha256": "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.5" - }, - "url_launcher_linux": { - "dependency": "transitive", - "description": { - "name": "url_launcher_linux", - "sha256": "b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.6" - }, - "url_launcher_macos": { - "dependency": "transitive", - "description": { - "name": "url_launcher_macos", - "sha256": "b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "url_launcher_platform_interface": { - "dependency": "transitive", - "description": { - "name": "url_launcher_platform_interface", - "sha256": "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.5" - }, - "url_launcher_web": { - "dependency": "transitive", - "description": { - "name": "url_launcher_web", - "sha256": "ba140138558fcc3eead51a1c42e92a9fb074a1b1149ed3c73e66035b2ccd94f2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.19" - }, - "url_launcher_windows": { - "dependency": "transitive", - "description": { - "name": "url_launcher_windows", - "sha256": "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.8" - }, - "uuid": { - "dependency": "transitive", - "description": { - "name": "uuid", - "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "vector_math": { - "dependency": "transitive", - "description": { - "name": "vector_math", - "sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "win32": { - "dependency": "transitive", - "description": { - "name": "win32", - "sha256": "a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.4" - }, - "xdg_directories": { - "dependency": "transitive", - "description": { - "name": "xdg_directories", - "sha256": "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.3" - }, - "yaml": { - "dependency": "transitive", - "description": { - "name": "yaml", - "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - } - }, - "sdks": { - "dart": ">=3.0.5 <4.0.0", - "flutter": ">=3.10.0" - } -} diff --git a/pkgs/desktops/expidus/default.nix b/pkgs/desktops/expidus/default.nix deleted file mode 100644 index 3506e1e51699..000000000000 --- a/pkgs/desktops/expidus/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ callPackage, flutterPackages }: -{ - calculator = callPackage ./calculator { - flutter = flutterPackages.v3_35; - }; - - file-manager = callPackage ./file-manager { - flutter = flutterPackages.v3_35; - }; -} diff --git a/pkgs/desktops/expidus/file-manager/default.nix b/pkgs/desktops/expidus/file-manager/default.nix deleted file mode 100644 index ffd2c4dd838f..000000000000 --- a/pkgs/desktops/expidus/file-manager/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - lib, - flutter, - fetchFromGitHub, -}: -flutter.buildFlutterApplication rec { - pname = "expidus-file-manager"; - version = "0.2.1"; - - src = fetchFromGitHub { - owner = "ExpidusOS"; - repo = "file-manager"; - rev = version; - hash = "sha256-R6eszy4Dz8tAPRTwZzRiZWIgVMiGv5zlhFB/HcD6gqg="; - }; - - flutterBuildFlags = [ - "--dart-define=COMMIT_HASH=b4181b9cff18a07e958c81d8f41840d2d36a6705" - ]; - - pubspecLock = lib.importJSON ./pubspec.lock.json; - - gitHashes = { - libtokyo = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; - libtokyo_flutter = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; - }; - - postInstall = '' - rm $out/bin/file_manager - ln -s $out/app/$pname/file_manager $out/bin/expidus-file-manager - - mkdir -p $out/share/applications - mv $out/app/$pname/data/com.expidusos.file_manager.desktop $out/share/applications - - mkdir -p $out/share/icons - mv $out/app/$pname/data/com.expidusos.file_manager.png $out/share/icons - - mkdir -p $out/share/metainfo - mv $out/app/$pname/data/com.expidusos.file_manager.metainfo.xml $out/share/metainfo - - substituteInPlace "$out/share/applications/com.expidusos.file_manager.desktop" \ - --replace "Exec=file_manager" "Exec=$out/bin/expidus-file-manager" \ - --replace "Icon=com.expidusos.file_manager" "Icon=$out/share/icons/com.expidusos.file_manager.png" - ''; - - meta = { - broken = true; - description = "ExpidusOS File Manager"; - homepage = "https://expidusos.com"; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ RossComputerGuy ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - mainProgram = "expidus-file-manager"; - }; -} diff --git a/pkgs/desktops/expidus/file-manager/pubspec.lock.json b/pkgs/desktops/expidus/file-manager/pubspec.lock.json deleted file mode 100644 index 048127e70dab..000000000000 --- a/pkgs/desktops/expidus/file-manager/pubspec.lock.json +++ /dev/null @@ -1,910 +0,0 @@ -{ - "packages": { - "args": { - "dependency": "transitive", - "description": { - "name": "args", - "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.2" - }, - "async": { - "dependency": "transitive", - "description": { - "name": "async", - "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.11.0" - }, - "bitsdojo_window": { - "dependency": "direct main", - "description": { - "name": "bitsdojo_window", - "sha256": "1118bc1cd16e6f358431ca4473af57cc1b287d2ceab46dfab6d59a9463160622", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.5" - }, - "bitsdojo_window_linux": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_linux", - "sha256": "d3804a30315fcbb43b28acc86d1180ce0be22c0c738ad2da9e5ade4d8dbd9655", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.3" - }, - "bitsdojo_window_macos": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_macos", - "sha256": "d2a9886c74516c5b84c1dd65ab8ee5d1c52055b265ebf0e7d664dee28366b521", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.3" - }, - "bitsdojo_window_platform_interface": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_platform_interface", - "sha256": "65daa015a0c6dba749bdd35a0f092e7a8ba8b0766aa0480eb3ef808086f6e27c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.2" - }, - "bitsdojo_window_windows": { - "dependency": "transitive", - "description": { - "name": "bitsdojo_window_windows", - "sha256": "8766a40aac84a6d7bdcaa716b24997e028fc9a9a1800495fc031721fd5a22ed0", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.5" - }, - "boolean_selector": { - "dependency": "transitive", - "description": { - "name": "boolean_selector", - "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "characters": { - "dependency": "transitive", - "description": { - "name": "characters", - "sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.0" - }, - "clock": { - "dependency": "transitive", - "description": { - "name": "clock", - "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "collection": { - "dependency": "direct main", - "description": { - "name": "collection", - "sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.17.2" - }, - "crypto": { - "dependency": "transitive", - "description": { - "name": "crypto", - "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.3" - }, - "dbus": { - "dependency": "transitive", - "description": { - "name": "dbus", - "sha256": "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.7.8" - }, - "fake_async": { - "dependency": "transitive", - "description": { - "name": "fake_async", - "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.1" - }, - "ffi": { - "dependency": "direct main", - "description": { - "name": "ffi", - "sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "file": { - "dependency": "transitive", - "description": { - "name": "file", - "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.4" - }, - "filesize": { - "dependency": "direct main", - "description": { - "name": "filesize", - "sha256": "f53df1f27ff60e466eefcd9df239e02d4722d5e2debee92a87dfd99ac66de2af", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.1" - }, - "flutter": { - "dependency": "direct main", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_adaptive_scaffold": { - "dependency": "direct main", - "description": { - "name": "flutter_adaptive_scaffold", - "sha256": "4f448902314bc9b6cf820c85d5bad4de6489c0eff75dcedf5098f3a53ec981ee", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.6" - }, - "flutter_lints": { - "dependency": "direct dev", - "description": { - "name": "flutter_lints", - "sha256": "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.2" - }, - "flutter_localizations": { - "dependency": "direct main", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_markdown": { - "dependency": "direct main", - "description": { - "name": "flutter_markdown", - "sha256": "2b206d397dd7836ea60035b2d43825c8a303a76a5098e66f42d55a753e18d431", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.17+1" - }, - "flutter_test": { - "dependency": "direct dev", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "flutter_web_plugins": { - "dependency": "transitive", - "description": "flutter", - "source": "sdk", - "version": "0.0.0" - }, - "http": { - "dependency": "transitive", - "description": { - "name": "http", - "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.13.6" - }, - "http_parser": { - "dependency": "transitive", - "description": { - "name": "http_parser", - "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.0.2" - }, - "intl": { - "dependency": "direct main", - "description": { - "name": "intl", - "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.18.1" - }, - "libtokyo": { - "dependency": "direct main", - "description": { - "path": "packages/libtokyo", - "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "url": "https://github.com/ExpidusOS/libtokyo.git" - }, - "source": "git", - "version": "0.1.0" - }, - "libtokyo_flutter": { - "dependency": "direct main", - "description": { - "path": "packages/libtokyo_flutter", - "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", - "url": "https://github.com/ExpidusOS/libtokyo.git" - }, - "source": "git", - "version": "0.1.0" - }, - "lints": { - "dependency": "transitive", - "description": { - "name": "lints", - "sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "markdown": { - "dependency": "transitive", - "description": { - "name": "markdown", - "sha256": "acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.1.1" - }, - "matcher": { - "dependency": "transitive", - "description": { - "name": "matcher", - "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.12.16" - }, - "material_color_utilities": { - "dependency": "transitive", - "description": { - "name": "material_color_utilities", - "sha256": "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.0" - }, - "material_theme_builder": { - "dependency": "transitive", - "description": { - "name": "material_theme_builder", - "sha256": "380ab70835e01f4ee0c37904eebae9e36ed37b5cf8ed40d67412ea3244a2afd6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "meta": { - "dependency": "transitive", - "description": { - "name": "meta", - "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.9.1" - }, - "nested": { - "dependency": "transitive", - "description": { - "name": "nested", - "sha256": "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "open_file_plus": { - "dependency": "direct main", - "description": { - "name": "open_file_plus", - "sha256": "f087e32722ffe4bac71925e7a1a9848a1008fd789e47c6628da3ed7845922227", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.4.1" - }, - "package_info_plus": { - "dependency": "direct main", - "description": { - "name": "package_info_plus", - "sha256": "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - }, - "package_info_plus_platform_interface": { - "dependency": "transitive", - "description": { - "name": "package_info_plus_platform_interface", - "sha256": "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.1" - }, - "path": { - "dependency": "direct main", - "description": { - "name": "path", - "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.8.3" - }, - "path_provider": { - "dependency": "direct main", - "description": { - "name": "path_provider", - "sha256": "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "path_provider_android": { - "dependency": "transitive", - "description": { - "name": "path_provider_android", - "sha256": "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "path_provider_foundation": { - "dependency": "transitive", - "description": { - "name": "path_provider_foundation", - "sha256": "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "path_provider_linux": { - "dependency": "transitive", - "description": { - "name": "path_provider_linux", - "sha256": "ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.0" - }, - "path_provider_platform_interface": { - "dependency": "direct main", - "description": { - "name": "path_provider_platform_interface", - "sha256": "bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "path_provider_windows": { - "dependency": "direct main", - "description": { - "name": "path_provider_windows", - "sha256": "ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.0" - }, - "permission_handler": { - "dependency": "direct main", - "description": { - "name": "permission_handler", - "sha256": "63e5216aae014a72fe9579ccd027323395ce7a98271d9defa9d57320d001af81", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "10.4.3" - }, - "permission_handler_android": { - "dependency": "transitive", - "description": { - "name": "permission_handler_android", - "sha256": "2ffaf52a21f64ac9b35fe7369bb9533edbd4f698e5604db8645b1064ff4cf221", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "10.3.3" - }, - "permission_handler_apple": { - "dependency": "transitive", - "description": { - "name": "permission_handler_apple", - "sha256": "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "9.1.4" - }, - "permission_handler_platform_interface": { - "dependency": "transitive", - "description": { - "name": "permission_handler_platform_interface", - "sha256": "7c6b1500385dd1d2ca61bb89e2488ca178e274a69144d26bbd65e33eae7c02a9", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.11.3" - }, - "permission_handler_windows": { - "dependency": "transitive", - "description": { - "name": "permission_handler_windows", - "sha256": "cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.3" - }, - "petitparser": { - "dependency": "transitive", - "description": { - "name": "petitparser", - "sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.4.0" - }, - "platform": { - "dependency": "transitive", - "description": { - "name": "platform", - "sha256": "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.0" - }, - "plugin_platform_interface": { - "dependency": "transitive", - "description": { - "name": "plugin_platform_interface", - "sha256": "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.5" - }, - "provider": { - "dependency": "direct main", - "description": { - "name": "provider", - "sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.0.5" - }, - "pub_semver": { - "dependency": "direct main", - "description": { - "name": "pub_semver", - "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "pubspec": { - "dependency": "direct main", - "description": { - "name": "pubspec", - "sha256": "f534a50a2b4d48dc3bc0ec147c8bd7c304280fff23b153f3f11803c4d49d927e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "quiver": { - "dependency": "transitive", - "description": { - "name": "quiver", - "sha256": "b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.1" - }, - "sentry": { - "dependency": "transitive", - "description": { - "name": "sentry", - "sha256": "39c23342fc96105da449914f7774139a17a0ca8a4e70d9ad5200171f7e47d6ba", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.9.0" - }, - "sentry_flutter": { - "dependency": "direct main", - "description": { - "name": "sentry_flutter", - "sha256": "ff68ab31918690da004a42e20204242a3ad9ad57da7e2712da8487060ac9767f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "7.9.0" - }, - "shared_preferences": { - "dependency": "direct main", - "description": { - "name": "shared_preferences", - "sha256": "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.0" - }, - "shared_preferences_android": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_android", - "sha256": "fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.0" - }, - "shared_preferences_foundation": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_foundation", - "sha256": "f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.2" - }, - "shared_preferences_linux": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_linux", - "sha256": "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "shared_preferences_platform_interface": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_platform_interface", - "sha256": "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "shared_preferences_web": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_web", - "sha256": "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.2.0" - }, - "shared_preferences_windows": { - "dependency": "transitive", - "description": { - "name": "shared_preferences_windows", - "sha256": "f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.3.0" - }, - "sky_engine": { - "dependency": "transitive", - "description": "flutter", - "source": "sdk", - "version": "0.0.99" - }, - "source_span": { - "dependency": "transitive", - "description": { - "name": "source_span", - "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.10.0" - }, - "stack_trace": { - "dependency": "transitive", - "description": { - "name": "stack_trace", - "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.11.0" - }, - "stream_channel": { - "dependency": "transitive", - "description": { - "name": "stream_channel", - "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "string_scanner": { - "dependency": "transitive", - "description": { - "name": "string_scanner", - "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "term_glyph": { - "dependency": "transitive", - "description": { - "name": "term_glyph", - "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.1" - }, - "test_api": { - "dependency": "transitive", - "description": { - "name": "test_api", - "sha256": "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.0" - }, - "typed_data": { - "dependency": "transitive", - "description": { - "name": "typed_data", - "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.2" - }, - "udisks": { - "dependency": "direct main", - "description": { - "name": "udisks", - "sha256": "847144fb868b9e3602895e89f438f77c2a4fda9e4b02f7d368dc1d2c6a40b475", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.4.0" - }, - "uri": { - "dependency": "transitive", - "description": { - "name": "uri", - "sha256": "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "url_launcher": { - "dependency": "direct main", - "description": { - "name": "url_launcher", - "sha256": "781bd58a1eb16069412365c98597726cd8810ae27435f04b3b4d3a470bacd61e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.12" - }, - "url_launcher_android": { - "dependency": "transitive", - "description": { - "name": "url_launcher_android", - "sha256": "3dd2388cc0c42912eee04434531a26a82512b9cb1827e0214430c9bcbddfe025", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.0.38" - }, - "url_launcher_ios": { - "dependency": "transitive", - "description": { - "name": "url_launcher_ios", - "sha256": "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.4" - }, - "url_launcher_linux": { - "dependency": "transitive", - "description": { - "name": "url_launcher_linux", - "sha256": "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.5" - }, - "url_launcher_macos": { - "dependency": "transitive", - "description": { - "name": "url_launcher_macos", - "sha256": "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.6" - }, - "url_launcher_platform_interface": { - "dependency": "transitive", - "description": { - "name": "url_launcher_platform_interface", - "sha256": "bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.3" - }, - "url_launcher_web": { - "dependency": "transitive", - "description": { - "name": "url_launcher_web", - "sha256": "cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.18" - }, - "url_launcher_windows": { - "dependency": "transitive", - "description": { - "name": "url_launcher_windows", - "sha256": "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "uuid": { - "dependency": "transitive", - "description": { - "name": "uuid", - "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "vector_math": { - "dependency": "transitive", - "description": { - "name": "vector_math", - "sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "web": { - "dependency": "transitive", - "description": { - "name": "web", - "sha256": "dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.1.4-beta" - }, - "win32": { - "dependency": "direct main", - "description": { - "name": "win32", - "sha256": "a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.4" - }, - "xdg_directories": { - "dependency": "direct main", - "description": { - "name": "xdg_directories", - "sha256": "f0c26453a2d47aa4c2570c6a033246a3fc62da2fe23c7ffdd0a7495086dc0247", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.2" - }, - "xml": { - "dependency": "transitive", - "description": { - "name": "xml", - "sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.3.0" - }, - "yaml": { - "dependency": "transitive", - "description": { - "name": "yaml", - "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - } - }, - "sdks": { - "dart": ">=3.1.0-185.0.dev <4.0.0", - "flutter": ">=3.10.0" - } -} diff --git a/pkgs/development/compilers/dart/source/default.nix b/pkgs/development/compilers/dart/source/default.nix index 3637ad19e52c..1f272165fe31 100644 --- a/pkgs/development/compilers/dart/source/default.nix +++ b/pkgs/development/compilers/dart/source/default.nix @@ -1,7 +1,7 @@ { bintools, buildPackages, - callPackage, + flutter, cacert, curlMinimal, dart-bin, @@ -22,6 +22,7 @@ samurai, stdenv, versionCheckHook, + writableTmpDirAsHomeHook, writeShellScript, writeText, zlib, @@ -30,8 +31,6 @@ let version = "3.11.4"; - tools = callPackage ../../flutter/engine/tools.nix { inherit (stdenv) hostPlatform buildPlatform; }; - getArchInfo = platform: let @@ -53,78 +52,75 @@ let ] ); - src = - runCommand "dart-source-deps" - { - pname = "dart-source-deps"; - inherit version; + src = stdenv.mkDerivation (finalAttrs: { + pname = "dart-source-deps"; + inherit version; - nativeBuildInputs = [ - cacert - curlMinimal - gitMinimal - pax-utils - python3 - tools.cipd - ]; + nativeBuildInputs = [ + cacert + curlMinimal + flutter.scope.cipd + gitMinimal + pax-utils + python3 + writableTmpDirAsHomeHook + ]; - env = { - NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - DEPOT_TOOLS_UPDATE = "0"; - DEPOT_TOOLS_COLLECT_METRICS = "0"; - PYTHONDONTWRITEBYTECODE = "1"; - CIPD_HTTP_USER_AGENT = "standard-nix-build"; - }; + env = { + NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + DEPOT_TOOLS_UPDATE = "0"; + DEPOT_TOOLS_COLLECT_METRICS = "0"; + PYTHONDONTWRITEBYTECODE = "1"; + CIPD_HTTP_USER_AGENT = "standard-nix-build"; + }; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "sha256-y2F+wB0M5dq6koxGpCs9BExGU7p8tFOIiRqfdf8ip+8="; - } - '' - mkdir source - cd source - source ${../../../../build-support/fetchgit/deterministic-git} - export -f clean_git - export -f make_deterministic_repo - cp ${writeText ".gclient" '' - solutions = [{ - 'name': 'sdk', - 'url': 'https://dart.googlesource.com/sdk.git@${version}', - }] - target_os = ['linux'] - target_cpu = ['x64', 'arm64', 'riscv64'] - target_cpu_only = True - ''} .gclient - export PATH=${python3}/bin:$PATH:${tools.depot_tools} - python3 ${tools.depot_tools}/gclient.py sync --no-history --nohooks --noprehooks - find sdk -name ".versions" -type d -exec rm -rf {} + - rm --recursive --force sdk/buildtools/sysroot - rm --recursive --force sdk/buildtools/linux-arm64 - rm --recursive --force sdk/buildtools/reclient - rm --recursive --force sdk/buildtools/*/clang - find sdk -type f \( -name "*.snapshot" -o -name "*.dill" -o -name "*.sym" \) -delete - rm --recursive --force sdk/tools/sdks/dart-sdk - find . -type l ! -exec test -e {} \; -delete - find . -name "ChangeLog*" -delete - rm --force .gclient .gclient_entries .gclient_previous_sync_commits .last_sync_hashes - rm --recursive --force .cipd .cipd_cache - find . -name ".git" -type d -prune -exec rm --recursive --force {} + - find . -name ".git*" -exec rm --recursive --force {} + - find . \( \ - -name ".build-id" -o \ - -name ".svn" -o \ - -name "*~" -o \ - -name "#*#" \ - \) -exec rm --recursive --force {} + - for elf in $(scanelf --recursive --all --format "%F" sdk | sort); do - rm --force "$elf" - done - find . -name "__pycache__" -type d -exec rm --recursive --force {} + - find . -name "*.pyc" -delete - cp --recursive sdk $out - ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "sha256-y2F+wB0M5dq6koxGpCs9BExGU7p8tFOIiRqfdf8ip+8="; + + buildCommand = '' + mkdir source + cd source + cp ${writeText ".gclient" '' + solutions = [{ + 'name': 'sdk', + 'url': 'https://dart.googlesource.com/sdk.git@${finalAttrs.version}', + }] + target_os = ['linux'] + target_cpu = ['x64', 'arm64', 'riscv64'] + target_cpu_only = True + ''} .gclient + export PATH=${python3}/bin:$PATH:${flutter.scope.depot_tools} + python3 ${flutter.scope.depot_tools}/gclient.py sync --no-history --nohooks --noprehooks + find sdk -name ".versions" -type d -exec rm -rf {} + + rm --recursive --force sdk/buildtools/sysroot + rm --recursive --force sdk/buildtools/linux-arm64 + rm --recursive --force sdk/buildtools/reclient + rm --recursive --force sdk/buildtools/*/clang + find sdk -type f \( -name "*.snapshot" -o -name "*.dill" -o -name "*.sym" \) -delete + rm --recursive --force sdk/tools/sdks/dart-sdk + find . -type l ! -exec test -e {} \; -delete + find . -name "ChangeLog*" -delete + rm --force .gclient .gclient_entries .gclient_previous_sync_commits .last_sync_hashes + rm --recursive --force .cipd .cipd_cache + find . -name ".git" -type d -prune -exec rm --recursive --force {} + + find . -name ".git*" -exec rm --recursive --force {} + + find . \( \ + -name ".build-id" -o \ + -name ".svn" -o \ + -name "*~" -o \ + -name "#*#" \ + \) -exec rm --recursive --force {} + + for elf in $(scanelf --recursive --all --format "%F" sdk | sort); do + rm --force "$elf" + done + find . -name "__pycache__" -type d -exec rm --recursive --force {} + + find . -name "*.pyc" -delete + cp --recursive sdk $out + ''; + }); in dart-bin.overrideAttrs (oldAttrs: { inherit version src; diff --git a/pkgs/development/compilers/flutter/all-artifacts.nix b/pkgs/development/compilers/flutter/all-artifacts.nix new file mode 100644 index 000000000000..7e2132f52f4f --- /dev/null +++ b/pkgs/development/compilers/flutter/all-artifacts.nix @@ -0,0 +1,79 @@ +{ lib, callPackage }: + +let + oss = [ + { + name = "linux"; + isLinux = true; + isWindows = false; + isDarwin = false; + } + { + name = "windows"; + isLinux = false; + isWindows = true; + isDarwin = false; + } + { + name = "darwin"; + isLinux = false; + isWindows = false; + isDarwin = true; + } + ]; + + archs = [ + { + name = "x86_64"; + isx86_64 = true; + isAarch64 = false; + isRiscV64 = false; + } + { + name = "aarch64"; + isx86_64 = false; + isAarch64 = true; + isRiscV64 = false; + } + ]; + + hostPlatforms = ( + map + (p: { + inherit (p.os) isLinux isWindows isDarwin; + inherit (p.cpu) isx86_64 isAarch64 isRiscV64; + + parsed = { + kernel = { + name = p.os.name; + }; + cpu = { + name = p.cpu.name; + }; + }; + }) + ( + lib.cartesianProduct { + os = oss; + cpu = archs; + } + ) + ); +in +(lib.unique ( + lib.concatMap ( + hostPlatform: + callPackage ./host-artifacts.nix { + inherit hostPlatform; + supportedTargetFlutterPlatforms = [ + "universal" + "web" + "android" + "linux" + "macos" + "ios" + "windows" + ]; + } + ) hostPlatforms +)) diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix deleted file mode 100644 index a425f8fce636..000000000000 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ /dev/null @@ -1,102 +0,0 @@ -# Schema: -# ${flutterVersion}.${targetPlatform}.${hostPlatform} -# -# aarch64-darwin as a host is not yet supported. -# https://github.com/flutter/flutter/issues/60118 -{ - lib, - runCommand, - lndir, - cacert, - unzip, - - flutterPlatform, - systemPlatform, - flutter, - hash, -}: - -let - flutterPlatforms = [ - "android" - "ios" - "web" - "linux" - "windows" - "macos" - "fuchsia" - "universal" - ]; - - flutter' = flutter.override { - # Use a version of Flutter with just enough capabilities to download - # artifacts. - supportedTargetFlutterPlatforms = [ ]; - - # Modify flutter-tool's system platform in order to get the desired platform's hashes. - flutter = flutter.unwrapped.override { - flutterTools = flutter.unwrapped.tools.override { - inherit systemPlatform; - }; - }; - }; -in -runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" - { - nativeBuildInputs = [ - lndir - flutter' - unzip - ]; - - NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; - NIX_FLUTTER_OPERATING_SYSTEM = - { - "x86_64-linux" = "linux"; - "aarch64-linux" = "linux"; - "x86_64-darwin" = "macos"; - "aarch64-darwin" = "macos"; - } - .${systemPlatform}; - - outputHash = hash; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - - passthru = { - inherit flutterPlatform; - }; - } - ( - '' - export FLUTTER_ROOT="$NIX_BUILD_TOP" - lndir -silent '${flutter'}' "$FLUTTER_ROOT" - rm --recursive --force "$FLUTTER_ROOT/bin/cache" - mkdir "$FLUTTER_ROOT/bin/cache" - mkdir "$FLUTTER_ROOT/bin/cache/dart-sdk" - lndir -silent '${flutter'}/bin/cache/dart-sdk' "$FLUTTER_ROOT/bin/cache/dart-sdk" - '' - # Could not determine engine revision - + lib.optionalString (lib.versionAtLeast flutter'.version "3.32") '' - cp '${flutter'}/bin/internal/engine.version' "$FLUTTER_ROOT/bin/cache/engine.stamp" - '' - + '' - - HOME="$(mktemp -d)" flutter precache ${ - lib.optionalString ( - flutter ? engine && flutter.engine.meta.available - ) "--local-engine ${flutter.engine.outName}" - } \ - --verbose '--${flutterPlatform}' ${ - builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove flutterPlatform flutterPlatforms)) - } - - rm --recursive --force "$FLUTTER_ROOT/bin/cache/lockfile" - rm --recursive --force "$FLUTTER_ROOT/bin/cache/dart-sdk" - '' - + '' - find "$FLUTTER_ROOT" -type l -lname '${flutter'}/*' -delete - - cp --recursive bin/cache "$out" - '' - ) diff --git a/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix b/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix deleted file mode 100644 index dbdd81ba596a..000000000000 --- a/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ }: -{ - buildInputs ? [ ], - ... -}: -{ - # Use arm64 instead of arm64e. - postPatch = '' - if [ "$pname" == "flutter-tools" ]; then - substituteInPlace lib/src/ios/xcodeproj.dart \ - --replace-fail arm64e arm64 - fi - ''; -} diff --git a/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix b/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix deleted file mode 100644 index a06188f98e3a..000000000000 --- a/pkgs/development/compilers/flutter/artifacts/overrides/linux.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - gtk3, -}: - -{ - buildInputs ? [ ], - ... -}: - -{ - buildInputs = buildInputs ++ [ gtk3 ]; -} diff --git a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix deleted file mode 100644 index 64eb4072d24e..000000000000 --- a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - lib, - stdenv, - callPackage, - autoPatchelfHook, - src, -}: - -(stdenv.mkDerivation { - inherit (src) name; - inherit src; - - nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - - installPhase = '' - runHook preInstall - - mkdir --parents "$out/bin" - cp --recursive . "$out/bin/cache" - rm --force "$out/bin/cache/flutter.version.json" - - runHook postInstall - ''; -}).overrideAttrs - ( - if builtins.pathExists (./overrides + "/${src.flutterPlatform}.nix") then - callPackage (./overrides + "/${src.flutterPlatform}.nix") { } - else - ({ ... }: { }) - ) diff --git a/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix b/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix index a2adc097947e..94cf1f9fbd33 100644 --- a/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix +++ b/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix @@ -54,39 +54,32 @@ lib.extendMkDerivation { ... }: let - hasEngine = flutter ? engine && flutter.engine != null && flutter.engine.meta.available; - flutterMode' = args.flutterMode or (if hasEngine then flutter.engine.runtimeMode else "release"); - - flutterFlags = lib.optional hasEngine "--local-engine host_${flutterMode'}${ - lib.optionalString (!flutter.engine.isOptimized) "_unopt" - }"; + flutterMode' = args.flutterMode or "release"; flutterBuildFlags' = [ "--${flutterMode'}" ] - ++ (args.flutterBuildFlags or [ ]) - ++ flutterFlags; + ++ (args.flutterBuildFlags or [ ]); universal = args // { flutterMode = flutterMode'; - flutterFlags = flutterFlags; flutterBuildFlags = flutterBuildFlags'; + # Pub needs SSL certificates. Dart normally looks in a hardcoded path. + # https://github.com/dart-lang/sdk/blob/3.1.0/runtime/bin/security_context_linux.cc#L48 + # + # Dart does not respect SSL_CERT_FILE... + # https://github.com/dart-lang/sdk/issues/48506 + # ...and Flutter does not support --root-certs-file, so the path cannot be manually set. + # https://github.com/flutter/flutter/issues/56607 + # https://github.com/flutter/flutter/issues/113594 + # + # libredirect is of no use either, as Flutter does not pass any + # environment variables (including LD_PRELOAD) to the Pub process. + # + # Instead, Flutter is patched to allow the path to the Dart binary used for + # Pub commands to be overriden. sdkSetupScript = '' - # Pub needs SSL certificates. Dart normally looks in a hardcoded path. - # https://github.com/dart-lang/sdk/blob/3.1.0/runtime/bin/security_context_linux.cc#L48 - # - # Dart does not respect SSL_CERT_FILE... - # https://github.com/dart-lang/sdk/issues/48506 - # ...and Flutter does not support --root-certs-file, so the path cannot be manually set. - # https://github.com/flutter/flutter/issues/56607 - # https://github.com/flutter/flutter/issues/113594 - # - # libredirect is of no use either, as Flutter does not pass any - # environment variables (including LD_PRELOAD) to the Pub process. - # - # Instead, Flutter is patched to allow the path to the Dart binary used for - # Pub commands to be overriden. export NIX_FLUTTER_PUB_DART="${ runCommand "dart-with-certs" { nativeBuildInputs = [ makeWrapper ]; } '' mkdir -p "$out/bin" @@ -96,13 +89,11 @@ lib.extendMkDerivation { }/bin/dart" export HOME="$NIX_BUILD_TOP" - flutter config $flutterFlags --no-analytics &>/dev/null # mute first-run - flutter config $flutterFlags --enable-linux-desktop >/dev/null + # flutter config --no-analytics &>/dev/null # mute first-run + flutter config --enable-linux-desktop >/dev/null ''; - pubGetScript = - args.pubGetScript - or "flutter${lib.optionalString hasEngine " --local-engine $flutterMode"} pub get"; + pubGetScript = args.pubGetScript or "flutter pub get"; sdkSourceBuilders = { # https://github.com/dart-lang/pub/blob/68dc2f547d0a264955c1fa551fa0a0e158046494/lib/src/sdk/flutter.dart#L81 diff --git a/pkgs/development/compilers/flutter/cipd.nix b/pkgs/development/compilers/flutter/cipd.nix new file mode 100644 index 000000000000..c5997d1d8a29 --- /dev/null +++ b/pkgs/development/compilers/flutter/cipd.nix @@ -0,0 +1,37 @@ +{ + constants, + fetchurl, + writeShellScriptBin, +}: + +let + cipdBin = fetchurl { + url = "https://chrome-infra-packages.appspot.com/client?platform=${constants.hostConstants.alt-os}-${constants.hostConstants.arch}&version=git_revision:927335d3d594ba6b46a8c3f2d64fade13c22075b"; + executable = true; + hash = + { + "linux-amd64" = "sha256-CP3AbEJm9vbyYfEnF9eD/vZwWK8Ps7kqQjZPY+HTuSQ="; + "linux-arm64" = "sha256-C97vamQ/+/0aaro+idwogtamQUfeVAopHQ1mdID2Utc="; + "mac-amd64" = "sha256-oyxJAG2Xg7m6w/IYrFgEPw0qLCTjL3/XB/3npod2Xsg="; + "mac-arm64" = "sha256-a0bD+qSn34Edn63o7rmQ4v4IVWnETIgWbxDZ1igNbP4="; + } + ."${constants.hostConstants.alt-os}-${constants.hostConstants.arch}"; + }; +in +writeShellScriptBin "cipd" '' + if [[ "$1" == "ensure" ]]; then + for arg in "$@"; do + if [[ "$prev" == "-ensure-file" ]]; then + sed --in-place \ + --expression='s/''${platform}/${constants.hostConstants.platform}/g' \ + --expression='s|gn/gn/${constants.hostConstants.platform}|gn/gn/${constants.buildConstants.platform}|g' \ + --expression='\|src/flutter/third_party/java/openjdk|,+2 d' \ + "$arg" + break + fi + prev="$arg" + done + fi + + exec ${cipdBin} "$@" +'' diff --git a/pkgs/development/compilers/flutter/constants.nix b/pkgs/development/compilers/flutter/constants.nix new file mode 100644 index 000000000000..d900122ea6f7 --- /dev/null +++ b/pkgs/development/compilers/flutter/constants.nix @@ -0,0 +1,41 @@ +{ lib, stdenv }: + +let + makeConstants = + platform: + let + os = + { + linux = "linux"; + darwin = "macos"; + windows = "windows"; + } + .${platform.parsed.kernel.name} or (throw "Unsupported OS: ${platform.parsed.kernel.name}"); + + arch = + { + x86_64 = "amd64"; + aarch64 = "arm64"; + riscv64 = "riscv64"; + } + .${platform.parsed.cpu.name} or (throw "Unsupported CPU: ${platform.parsed.cpu.name}"); + alt-os = if platform.isDarwin then "mac" else os; + alt-arch = if platform.isx86_64 then "x64" else arch; + in + { + inherit + os + arch + alt-os + alt-arch + ; + platform = "${os}-${arch}"; + alt-platform = "${alt-os}-${alt-arch}"; + }; +in +{ + inherit makeConstants; + buildConstants = makeConstants stdenv.buildPlatform; + targetConstants = makeConstants stdenv.targetPlatform; + hostConstants = makeConstants stdenv.hostPlatform; +} diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 2c886bf529fc..27e12e586b53 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,146 +1,51 @@ { - useNixpkgsEngine ? false, callPackage, - fetchzip, - fetchFromGitHub, - dart, - dart-bin, lib, - stdenv, - runCommand, + useNixpkgsEngine ? false, }: + let - mkCustomFlutter = args: callPackage ./flutter.nix args; - wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: - let - files = builtins.attrNames (builtins.readDir dir); - in - if (builtins.pathExists dir) then map (f: dir + ("/" + f)) files else [ ]; - mkFlutter = - { - version, - engineVersion, - engineSwiftShaderHash, - engineSwiftShaderRev, - engineHashes, - enginePatches, - dartVersion, - flutterHash, - dartHash, - patches, - pubspecLock, - artifactHashes, - channel, - }: - let - args = { - inherit - version - engineVersion - engineSwiftShaderRev - engineSwiftShaderHash - engineHashes - enginePatches - patches - pubspecLock - artifactHashes - useNixpkgsEngine - channel - ; + if builtins.pathExists dir then + map (fileName: dir + "/${fileName}") (builtins.attrNames (builtins.readDir dir)) + else + [ ]; - dart = - let - hash = - dartHash.${stdenv.hostPlatform.system} - or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - in - ( - if lib.versionAtLeast version "3.41" then - (dart-bin.overrideAttrs (oldAttrs: { - version = dartVersion; - src = oldAttrs.src.overrideAttrs (_: { - inherit hash; - }); - })) - else - (dart-bin.overrideAttrs (_: { - # This overrideAttrs is used to replace the version in src.url - version = dartVersion; - __intentionallyOverridingVersion = true; - })).overrideAttrs - (oldAttrs: { - src = fetchzip { - inherit (oldAttrs.src) url; - inherit hash; - }; - }) - ); - src = - let - source = fetchFromGitHub { - owner = "flutter"; - repo = "flutter"; - tag = version; - hash = flutterHash; - }; - in - ( - if lib.versionAtLeast version "3.32" then - # # Could not determine engine revision - (runCommand source.name { } '' - cp --recursive ${source} $out - chmod +w $out/bin - mkdir $out/bin/cache - cp $out/bin/internal/engine.version $out/bin/cache/engine.stamp - touch $out/bin/cache/engine.realm - '') - else - source - ); - }; - in - (mkCustomFlutter args).overrideAttrs ( - prev: next: { - passthru = next.passthru // { - inherit wrapFlutter mkCustomFlutter mkFlutter; - buildFlutterApplication = callPackage ./build-support/build-flutter-application.nix { - flutter = wrapFlutter (mkCustomFlutter args); - }; - }; - } - ); + makeFlutterScope = callPackage ./scope.nix { }; - flutterVersions = lib.mapAttrs' ( - version: _: + allVersions = lib.mapAttrs' (versionName: _: { + name = "v${versionName}"; + value = + let + versionDir = ./versions + "/${versionName}"; + versionData = lib.importJSON (versionDir + "/data.json"); + globalPatches = getPatches ./patches; + versionPatches = getPatches (versionDir + "/patches"); + globalEnginePatches = getPatches ./engine/patches; + versionEnginePatches = getPatches (versionDir + "/engine/patches"); + in + makeFlutterScope ( + versionData + // { + inherit useNixpkgsEngine; + patches = globalPatches ++ versionPatches; + enginePatches = globalEnginePatches ++ versionEnginePatches; + } + ); + }) (builtins.readDir ./versions); + + getLatestForChannel = + channel: let - versionDir = ./versions + "/${version}"; - data = lib.importJSON (versionDir + "/data.json"); + channelVersions = lib.filterAttrs (_: scope: scope.channel == channel) allVersions; + sortedNames = lib.naturalSort (builtins.attrNames channelVersions); in - lib.nameValuePair "v${version}" ( - wrapFlutter ( - mkFlutter ( - { - patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); - enginePatches = (getPatches ./engine/patches) ++ (getPatches (versionDir + "/engine/patches")); - } - // data - ) - ) - ) - ) (builtins.readDir ./versions); + if sortedNames == [ ] then null else channelVersions.${lib.last sortedNames}.flutter; - stableFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "stable") flutterVersions; - betaFlutterVersions = lib.attrsets.filterAttrs (_: v: v.channel == "beta") flutterVersions; + stable = getLatestForChannel "stable"; + beta = getLatestForChannel "beta"; in -flutterVersions -// { - inherit wrapFlutter mkFlutter; -} -// lib.optionalAttrs (betaFlutterVersions != { }) { - beta = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames betaFlutterVersions))}; -} -// lib.optionalAttrs (stableFlutterVersions != { }) { - stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames stableFlutterVersions))}; -} +(lib.mapAttrs (_: scope: scope.flutter) allVersions) +// lib.optionalAttrs (stable != null) { inherit stable; } +// lib.optionalAttrs (beta != null) { inherit beta; } diff --git a/pkgs/development/compilers/flutter/engine/constants.nix b/pkgs/development/compilers/flutter/engine/constants.nix deleted file mode 100644 index 768f103e849f..000000000000 --- a/pkgs/development/compilers/flutter/engine/constants.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ lib, platform }: -let - self = { - os = - if platform.isLinux then - "linux" - else if platform.isDarwin then - "macos" - else if platform.isWindows then - "windows" - else - throw "Unsupported OS \"${platform.parsed.kernel.name}\""; - - alt-os = if platform.isDarwin then "mac" else self.os; - - arch = - if platform.isx86_64 then - "amd64" - else if platform.isx86 && platform.is32bit then - "386" - else if platform.isAarch64 then - "arm64" - else if platform.isMips && platform.parsed.cpu.significantByte == "littleEndian" then - "mipsle" - else if platform.isMips64 then - "mips64${lib.optionalString (platform.parsed.cpu.significantByte == "littleEndian") "le"}" - else if platform.isPower64 then - "ppc64${lib.optionalString (platform.parsed.cpu.significantByte == "littleEndian") "le"}" - else if platform.isS390x then - "s390x" - else if platform.isRiscV64 then - "riscv64" - else - throw "Unsupported CPU \"${platform.parsed.cpu.name}\""; - - alt-arch = - if platform.isx86_64 then - "x64" - else if platform.isAarch64 then - "arm64" - else - platform.parsed.cpu.name; - - platform = "${self.os}-${self.arch}"; - alt-platform = "${self.os}-${self.alt-arch}"; - }; -in -self diff --git a/pkgs/development/compilers/flutter/engine/dart.nix b/pkgs/development/compilers/flutter/engine/dart.nix deleted file mode 100644 index 4846392aa8ba..000000000000 --- a/pkgs/development/compilers/flutter/engine/dart.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ engine, runCommand }: -runCommand "flutter-engine-${engine.version}-dart" - { - version = engine.dartSdkVersion; - - meta = engine.meta // { - description = "Dart SDK compiled from the Flutter Engine"; - }; - } - '' - ln --symbolic ${engine}/out/${engine.outName}/dart-sdk $out - '' diff --git a/pkgs/development/compilers/flutter/engine/default.nix b/pkgs/development/compilers/flutter/engine/default.nix index 0821bce822a5..defb8d99bc6a 100644 --- a/pkgs/development/compilers/flutter/engine/default.nix +++ b/pkgs/development/compilers/flutter/engine/default.nix @@ -1,78 +1,317 @@ { callPackage, - dartSdkVersion, - flutterVersion, - swiftshaderHash, - swiftshaderRev, - version, - hashes, - url, - patches, - runtimeModes, + constants, + dart, + depot_tools, + dos2unix, + enginePatches, + freetype, + gn, + gtk3, + harfbuzz, lib, + libepoxy, + libjpeg, + libpng, + libwebp, + libx11, + libxxf86vm, + llvmPackages, + ninja, + patches, + pkg-config, + python312, + sqlite, stdenv, - ... -}@args: + symlinkJoin, + version, + zlib, + runtimeMode ? "release", +}: + let - mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0; - altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1; + python3 = python312; - runtimeModesBuilds = lib.genAttrs runtimeModes ( - runtimeMode: - callPackage ./package.nix { - inherit - dartSdkVersion - flutterVersion - swiftshaderHash - swiftshaderRev - version - hashes - url - patches - runtimeMode - ; - isOptimized = args.isOptimized or runtimeMode != "debug"; - } - ); + llvm = symlinkJoin { + name = "llvm"; + paths = [ + llvmPackages.clang + llvmPackages.llvm + ]; + }; + + outputAttrs = { + flutter-gtk = + lib.replaceStrings [ "-" "/" ] [ "_M_" "_S_" ] + "${constants.hostConstants.alt-platform}-${runtimeMode}/${constants.hostConstants.alt-platform}-flutter-gtk"; + flutter-glfw = + lib.replaceStrings [ "-" "/" ] [ "_M_" "_S_" ] + "${constants.hostConstants.alt-platform}-${runtimeMode}/${constants.hostConstants.alt-platform}-flutter-glfw"; + font-subset = + lib.replaceStrings [ "-" "/" ] [ "_M_" "_S_" ] + "${constants.hostConstants.alt-platform}/font-subset"; + artifacts = + lib.replaceStrings [ "-" "/" ] [ "_M_" "_S_" ] + "${constants.hostConstants.alt-platform}/artifacts"; + flutter_patched_sdk = "flutter_patched_sdk"; + }; in -stdenv.mkDerivation ( - { - pname = "flutter-engine"; - inherit url runtimeModes altRuntimeMode; - inherit (runtimeModesBuilds.${mainRuntimeMode}) version src meta; +stdenv.mkDerivation (finalAttrs: { + __structuredAttrs = true; + strictDeps = true; + pname = "flutter-engine-linux-${runtimeMode}"; + inherit version; - dontUnpack = true; - dontBuild = true; + src = callPackage ./source.nix { }; - installPhase = '' - runHook preInstall + sourceRoot = "${finalAttrs.src.name}/engine/src"; - mkdir --parents $out/out + prePatch = '' + pushd ../.. + chmod --recursive +w . + ''; + + patches = patches ++ enginePatches; + + postPatch = '' + popd + dos2unix flutter/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h + patchShebangs ../../bin/internal/content_aware_hash.sh + mkdir --parents flutter/third_party/dart/tools/sdks/dart-sdk/ flutter/prebuilts/${constants.hostConstants.alt-platform}/dart-sdk + ln --symbolic ${dart}/bin flutter/third_party/dart/tools/sdks/dart-sdk/bin + ln --symbolic ${dart}/bin flutter/prebuilts/${constants.hostConstants.alt-platform}/dart-sdk/bin + echo "${dart.version}" > flutter/third_party/dart/sdk/version + mkdir --parents flutter/third_party/gn/ + ln --symbolic ${lib.getExe gn} flutter/third_party/gn/gn + mkdir --parents flutter/third_party/swiftshader/third_party + ln --symbolic ${llvmPackages.llvm.monorepoSrc} flutter/third_party/swiftshader/third_party/llvm-project + mkdir --parents flutter/buildtools/${constants.hostConstants.alt-platform} + ln --symbolic ${llvm} flutter/buildtools/${constants.hostConstants.alt-platform}/clang + '' + # https://github.com/dart-lang/sdk/issues/52295 + + '' + mkdir --parents flutter/third_party/dart/.git/logs + touch flutter/third_party/dart/.git/logs/HEAD + '' + # DEPS hooks + + '' + python3 flutter/third_party/dart/tools/generate_package_config.py + python3 flutter/third_party/dart/tools/generate_sdk_version_file.py + python3 flutter/tools/pub_get_offline.py + '' + # reusable system library settings + + '' + local use_system=" + freetype2 + harfbuzz + libjpeg-turbo + libpng + libwebp + sqlite + zlib + " + for _lib in $use_system; do + echo "Removing buildscripts for system provided $_lib" + find . -type f -path "*third_party/$_lib/*" \ + \! -path "*third_party/$_lib/chromium/*" \ + \! -path "*third_party/$_lib/google/*" \ + \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ + -delete + done + echo "Replacing gn files" + python3 build/linux/unbundle/replace_gn_files.py --system-libraries $use_system + '' + # ValueError: ZIP does not support timestamps before 1980 + + '' + substituteInPlace flutter/build/zip.py \ + --replace-fail "zipfile.ZipFile(args.output, 'w', zipfile.ZIP_DEFLATED)" "zipfile.ZipFile(args.output, 'w', zipfile.ZIP_DEFLATED, strict_timestamps=False)" + '' + + '' + sed --in-place '5i #include ' flutter/display_list/dl_storage.cc + sed --in-place '5i #include ' flutter/display_list/dl_vertices.cc + sed --in-place '5i #include ' flutter/display_list/effects/color_filters/dl_matrix_color_filter.h + sed --in-place '5i #include ' flutter/display_list/geometry/dl_region.cc + sed --in-place '5i #include ' flutter/display_list/effects/dl_color_source.cc + sed --in-place '5i #include ' flutter/display_list/dl_builder.cc + sed --in-place '5i #include ' flutter/display_list/display_list.cc + sed --in-place '5i #include ' flutter/vulkan/vulkan_application.cc + sed --in-place '5i #include ' flutter/runtime/dart_vm.cc + sed --in-place '5i #include ' flutter/runtime/dart_isolate.cc + sed --in-place '5i #include ' flutter/shell/platform/android/android_surface_gl_skia.cc + sed --in-place '5i #include ' flutter/shell/platform/glfw/platform_handler.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_accessibility_channel.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_text_input_handler.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_application.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_event_channel.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_keyboard_channel.cc + sed --in-place '5i #include ' flutter/impeller/renderer/backend/vulkan/debug_report_vk.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_text_input_channel.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_settings_portal.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_gnome_settings.cc + sed --in-place '5i #include ' flutter/impeller/toolkit/glvk/trampoline.cc + sed --in-place '5i #include ' flutter/shell/platform/android/android_context_dynamic_impeller.cc + sed --in-place '5i #include ' flutter/shell/platform/fuchsia/dart_runner/builtin_libraries.cc + sed --in-place '5i #include ' flutter/shell/platform/fuchsia/flutter/text_delegate.cc + sed --in-place '5i #include ' flutter/third_party/accessibility/ax/ax_enum_util.cc + sed --in-place '5i #include ' flutter/examples/vulkan_glfw/src/main.cc + sed --in-place '5i #include ' flutter/shell/platform/linux/public/flutter_linux/fl_method_channel.h + sed --in-place '5i #include ' flutter/shell/platform/linux/fl_accessible_text_field.cc + substituteInPlace flutter/shell/platform/linux/fl_view_accessible.cc \ + --replace-fail "// Workaround missing C code compatibility in ATK header." "#include " + ''; + + nativeBuildInputs = [ + (python3.withPackages (ps: with ps; [ pyyaml ])) + dart + depot_tools + dos2unix + ninja + pkg-config + ]; + + buildInputs = [ + freetype + gtk3 + harfbuzz + libepoxy + libjpeg + libpng + libwebp + libx11 + libxxf86vm + sqlite + zlib + ]; + + env = { + NIX_CFLAGS_COMPILE = toString ( + [ + "-O2" + "-Wno-error" + "-Wno-unused-command-line-argument" + "-Wno-absolute-value" + "-Wno-implicit-float-conversion" + "-Wno-error=unused-command-line-argument" + "-D_GLIBCXX_DEBUG=0" + ] + ++ (lib.optionals stdenv.hostPlatform.isLinux [ "-U_FORTIFY_SOURCE" ]) + ); + TERM = "dumb"; + }; + + configurePhase = + let + gnFlags = lib.concatStringsSep " " ( + [ + "--no-goma" + "--no-dart-version-git-info" + "--linux" + "--linux-cpu=${constants.hostConstants.alt-arch}" + "--runtime-mode=${runtimeMode}" + "--no-rbe" + "--prebuilt-dart-sdk" + "--build-glfw-shell" + "--build-engine-artifacts" + "--no-enable-unittests" + "--enable-fontconfig" + ''--gn-args="use_default_linux_sysroot=false"'' + ] + ++ (lib.optionals (runtimeMode == "release") [ "--no-backtrace" ]) + ++ ( + if (runtimeMode == "debug") then + [ + "--unoptimized" + "--no-stripped" + ] + else + [ "--no-lto" ] + ) + ); + in '' - + lib.concatMapStrings ( - runtimeMode: - let - runtimeModeBuild = runtimeModesBuilds.${runtimeMode}; - runtimeModeOut = runtimeModeBuild.outName; - in - '' - ln --symbolic --force ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut} - '' - ) runtimeModes - + '' - runHook postInstall + runHook preConfigure + + python3 flutter/tools/gn ${gnFlags} --target-dir="${constants.hostConstants.alt-platform}-${runtimeMode}" + + runHook postConfigure ''; - passthru = { - inherit (runtimeModesBuilds.${mainRuntimeMode}) - dartSdkVersion - isOptimized - runtimeMode - outName - dart - swiftshader - ; - }; - } - // runtimeModesBuilds -) + buildPhase = '' + runHook preBuild + + ninja -C out/${constants.hostConstants.alt-platform}-${runtimeMode} -j $NIX_BUILD_CORES + + runHook postBuild + ''; + + outputs = [ "out" ] ++ builtins.attrValues outputAttrs; + + installPhase = '' + runHook preInstall + + pushd out/${constants.hostConstants.alt-platform}-${runtimeMode} + '' + # flutter-gtk + + '' + install -D --mode=0644 libflutter_linux_gtk.so --target-directory=''$${outputAttrs.flutter-gtk} + install -D --mode=0755 gen_snapshot --target-directory=''$${outputAttrs.flutter-gtk} + cp --recursive flutter_linux ''$${outputAttrs.flutter-gtk}/flutter_linux + '' + # flutter-glfw + + '' + install -D --mode=0644 flutter_export.h --target-directory=''$${outputAttrs.flutter-glfw} + install -D --mode=0644 flutter_glfw.h --target-directory=''$${outputAttrs.flutter-glfw} + install -D --mode=0644 flutter_messenger.h --target-directory=''$${outputAttrs.flutter-glfw} + install -D --mode=0644 flutter_plugin_registrar.h --target-directory=''$${outputAttrs.flutter-glfw} + install -D --mode=0755 gen_snapshot --target-directory=''$${outputAttrs.flutter-glfw} + install -D --mode=0644 libflutter_linux_glfw.so --target-directory=''$${outputAttrs.flutter-glfw} + '' + # font-subset + + '' + install -D --mode=0644 font-subset --target-directory=''$${outputAttrs.font-subset} + install -D --mode=0644 gen/const_finder.dart.snapshot --target-directory=''$${outputAttrs.font-subset} + '' + # flutter_patched_sdk + + '' + install -D --mode=0644 gen/flutter/build/archives/LICENSE.flutter_patched_sdk.md ''$${outputAttrs.flutter_patched_sdk}/LICENSE.flutter_patched_sdk.md + install -D --mode=0644 flutter_patched_sdk/platform_strong.dill --target-directory=''$${outputAttrs.flutter_patched_sdk}/flutter_patched_sdk/ + install -D --mode=0644 flutter_patched_sdk/vm_outline_strong.dill --target-directory=''$${outputAttrs.flutter_patched_sdk}/flutter_patched_sdk/ + '' + # artifacts + + '' + install -D --mode=0644 gen/flutter/lib/snapshot/vm_isolate_snapshot.bin --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 gen/flutter/lib/snapshot/isolate_snapshot.bin --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 icudtl.dat --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 flutter_tester --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 gen/frontend_server_aot.dart.snapshot --target-directory=''$${outputAttrs.artifacts}/frontend_server.dart.snapshot + install -D --mode=0644 gen/flutter/build/archives/LICENSE.artifacts.md --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 gen/flutter/lib/snapshot/vm_isolate_snapshot.bin --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 libtessellator.so --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 libpath_ops.so --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 gen/flutter/lib/snapshot/isolate_snapshot.bin --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0644 libimpeller.so --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0755 gen_snapshot --target-directory=''$${outputAttrs.artifacts} + install -D --mode=0755 impellerc --target-directory=''$${outputAttrs.artifacts} + cp --recursive shader_lib ''$${outputAttrs.artifacts}/shader_lib + '' + # others + + '' + install -D --mode=0644 libflutter_engine.so --target-directory=$out + install -D --mode=0755 analyze_snapshot --target-directory=$out + popd + + runHook postInstall + ''; + + dontStrip = (runtimeMode != "release"); + + meta = { + broken = stdenv.hostPlatform.isDarwin || (lib.versionOlder version "3.41"); + maintainers = with lib.maintainers; [ RossComputerGuy ]; + license = lib.licenses.bsd3; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; +}) diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix deleted file mode 100644 index 7d79b09e8662..000000000000 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ /dev/null @@ -1,390 +0,0 @@ -{ - lib, - callPackage, - fetchurl, - bash, - symlinkJoin, - darwin, - clang, - tools ? callPackage ./tools.nix { - inherit (stdenv) - hostPlatform - buildPlatform - ; - }, - stdenv, - dart, - fetchgit, - llvmPackages, - patchelf, - gn, - openbox, - xorg-server, - libxxf86vm, - libxrender, - libxrandr, - libxi, - libxinerama, - libxfixes, - libxext, - libxcursor, - libx11, - xorgproto, - libxcb, - libglvnd, - libepoxy, - wayland, - freetype, - pango, - glib, - harfbuzz, - cairo, - gdk-pixbuf, - at-spi2-atk, - zlib, - gtk3, - pkg-config, - ninja, - python312, - gitMinimal, - version, - flutterVersion, - dartSdkVersion, - swiftshaderHash, - swiftshaderRev, - hashes, - patches, - url, - runtimeMode ? "release", - isOptimized ? runtimeMode != "debug", -}: -let - constants = callPackage ./constants.nix { platform = stdenv.targetPlatform; }; - - python3 = python312; - - src = callPackage ./source.nix { - inherit - flutterVersion - version - hashes - url - ; - inherit (stdenv) - hostPlatform - buildPlatform - targetPlatform - ; - }; - - swiftshader = fetchgit { - url = "https://swiftshader.googlesource.com/SwiftShader.git"; - hash = swiftshaderHash; - rev = swiftshaderRev; - - postFetch = '' - rm --recursive --force $out/third_party/llvm-project - ''; - }; - - llvm = symlinkJoin { - name = "llvm"; - paths = [ - clang - llvmPackages.llvm - ]; - }; - - outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt"}"; - - dartPath = "flutter/third_party/dart"; -in -stdenv.mkDerivation (finalAttrs: { - pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}"; - inherit version src patches; - - setOutputFlags = false; - doStrip = isOptimized; - - toolchain = symlinkJoin { - name = "flutter-engine-toolchain-${version}"; - - paths = - lib.flatten ( - map (dep: lib.optionals (lib.isDerivation dep) ([ dep ] ++ map (output: dep.${output}) dep.outputs)) - ( - lib.optionals (stdenv.hostPlatform.isLinux) [ - gtk3 - wayland - libepoxy - libglvnd - freetype - at-spi2-atk - glib - gdk-pixbuf - harfbuzz - pango - cairo - libxcb - libx11 - libxcursor - libxrandr - libxrender - libxinerama - libxi - libxext - libxfixes - libxxf86vm - xorgproto - zlib - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - clang - llvm - ] - ) - ) - ++ [ - stdenv.cc.libc_dev - stdenv.cc.libc_lib - ]; - - # Needed due to Flutter expecting everything to be relative to $out - # and not true absolute path (ie relative to "/"). - postBuild = '' - mkdir --parents $(dirname $(dirname "$out/$out")) - ln --symbolic $(dirname "$out") $out/$(dirname "$out") - ''; - }; - - NIX_CFLAGS_COMPILE = [ - "-I${finalAttrs.toolchain}/include" - "-O2" - "-Wno-error" - "-Wno-absolute-value" - "-Wno-implicit-float-conversion" - ] - ++ lib.optional (!isOptimized) "-U_FORTIFY_SOURCE"; - - nativeCheckInputs = lib.optionals stdenv.hostPlatform.isLinux [ - xorg-server - openbox - ]; - - nativeBuildInputs = [ - (python3.withPackages ( - ps: with ps; [ - pyyaml - ] - )) - (tools.vpython python3) - gitMinimal - pkg-config - ninja - dart - ] - ++ lib.optionals (stdenv.hostPlatform.isLinux) [ patchelf ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ - darwin.system_cmds - darwin.xcode - tools.xcode-select - ] - ++ lib.optionals (stdenv.cc.libc ? bin) [ stdenv.cc.libc.bin ]; - - buildInputs = [ - gtk3 - libepoxy - ] - ++ lib.optionals (lib.versionAtLeast flutterVersion "3.41") [ - at-spi2-atk - glib - ]; - - dontPatch = true; - - env.patchgit = toString [ - dartPath - "flutter" - "." - "flutter/third_party/skia" - ]; - - postUnpack = - lib.optionalString (lib.versionAtLeast flutterVersion "3.38") '' - chmod +w . - mkdir --parents bin/internal - echo '#!${lib.getExe bash}' > bin/internal/content_aware_hash.sh - echo 'echo 1111111111111111111111111111111111111111' >> bin/internal/content_aware_hash.sh - chmod +x bin/internal/content_aware_hash.sh - '' - + '' - pushd ${finalAttrs.src.name} - - cp ${ - fetchurl { - url = "https://raw.githubusercontent.com/chromium/chromium/631a813125b886a52274653144019fd1681a0e97/build/config/linux/pkg-config.py"; - hash = "sha256-9coRpgCewlkFXSGrMVkudaZUll0IFc9jDRBP+2PloOI="; - } - } src/build/config/linux/pkg-config.py - - cp --preserve=mode,ownership,timestamps --recursive --reflink=auto ${swiftshader} src/flutter/third_party/swiftshader - chmod --recursive u+w -- src/flutter/third_party/swiftshader - - ln --symbolic ${llvmPackages.llvm.monorepoSrc} src/flutter/third_party/swiftshader/third_party/llvm-project - - mkdir --parents src/flutter/buildtools/${constants.alt-platform} - ln --symbolic ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang - - mkdir --parents src/buildtools/${constants.alt-platform} - ln --symbolic ${llvm} src/buildtools/${constants.alt-platform}/clang - - mkdir --parents src/${dartPath}/tools/sdks - ln --symbolic ${dart} src/${dartPath}/tools/sdks/dart-sdk - - mkdir --parents src/flutter/third_party/gn/ - ln --symbolic --force ${lib.getExe gn} src/flutter/third_party/gn/gn - - for dir in ''${patchgit[@]}; do - pushd src/$dir - rm --recursive --force .git - git init - git add . - git config user.name "nobody" - git config user.email "nobody@local.host" - git commit --all --message="$dir" --quiet - popd - done - - dart src/${dartPath}/tools/generate_package_config.dart - echo "${dartSdkVersion}" >src/${dartPath}/sdk/version - python3 src/flutter/third_party/dart/tools/generate_sdk_version_file.py - rm --recursive --force src/third_party/angle/.git - python3 src/flutter/tools/pub_get_offline.py - - pushd src/flutter - - for p in ''${patches[@]}; do - patch -p1 -i $p - done - - popd - '' - # error: 'close_range' is missing exception specification 'noexcept(true)' - + lib.optionalString (lib.versionAtLeast flutterVersion "3.35") '' - substituteInPlace src/flutter/third_party/dart/runtime/bin/process_linux.cc \ - --replace-fail "(unsigned int first, unsigned int last, int flags)" "(unsigned int first, unsigned int last, int flags) noexcept(true)" - '' - # src/flutter/third_party/libcxx/include/__type_traits/is_referenceable.h:33:1: error: templates must have C++ linkage - + lib.optionalString (lib.versionAtLeast flutterVersion "3.41") '' - substituteInPlace src/flutter/shell/platform/linux/fl_view_accessible.cc \ - --replace-fail "// Workaround missing C code compatibility in ATK header." "#include " - '' - + '' - popd - ''; - - configureFlags = [ - "--no-prebuilt-dart-sdk" - "--embedder-for-target" - "--no-goma" - "--no-dart-version-git-info" - ] - ++ lib.optionals (stdenv.targetPlatform.isx86_64 == false) [ - "--linux" - "--linux-cpu ${constants.alt-arch}" - ] - ++ lib.optional (!isOptimized) "--unoptimized" - ++ lib.optional (runtimeMode == "debug") "--no-stripped" - ++ lib.optional finalAttrs.finalPackage.doCheck "--enable-unittests" - ++ lib.optional (!finalAttrs.finalPackage.doCheck) "--no-enable-unittests"; - - configurePhase = '' - runHook preConfigure - - export PYTHONPATH=$src/src/build - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - export PATH=${darwin.xcode}/Contents/Developer/usr/bin/:$PATH - '' - + '' - python3 ./src/flutter/tools/gn $configureFlags \ - --runtime-mode ${runtimeMode} \ - --out-dir $out \ - --target-sysroot ${finalAttrs.toolchain} \ - --target-dir ${outName} \ - --target-triple ${stdenv.targetPlatform.config} \ - --enable-fontconfig - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - export TERM=dumb - '' - # ValueError: ZIP does not support timestamps before 1980 - + '' - substituteInPlace src/flutter/build/zip.py \ - --replace-fail "zipfile.ZipFile(args.output, 'w', zipfile.ZIP_DEFLATED)" "zipfile.ZipFile(args.output, 'w', zipfile.ZIP_DEFLATED, strict_timestamps=False)" - '' - + '' - ninja -C $out/out/${outName} -j$NIX_BUILD_CORES - - runHook postBuild - ''; - - # Tests are broken - doCheck = false; - checkPhase = '' - runHook preCheck - - ln --symbolic $out/out src/out - touch src/out/run_tests.log - sh src/flutter/testing/run_tests.sh ${outName} - rm src/out/run_tests.log - - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - - rm --recursive --force $out/out/${outName}/{obj,exe.unstripped,lib.unstripped,zip_archives} - rm $out/out/${outName}/{args.gn,build.ninja,build.ninja.d,compile_commands.json,toolchain.ninja} - find $out/out/${outName} -name '*_unittests' -delete - find $out/out/${outName} -name '*_benchmarks' -delete - '' - + lib.optionalString (finalAttrs.finalPackage.doCheck) '' - rm $out/out/${outName}/{display_list_rendertests,flutter_tester} - '' - + '' - runHook postInstall - ''; - - passthru = { - inherit - dartSdkVersion - isOptimized - runtimeMode - outName - swiftshader - ; - dart = callPackage ./dart.nix { engine = finalAttrs.finalPackage; }; - }; - - meta = { - # Very broken on Darwin - broken = stdenv.hostPlatform.isDarwin; - description = "Flutter engine"; - homepage = "https://flutter.dev"; - maintainers = with lib.maintainers; [ RossComputerGuy ]; - license = lib.licenses.bsd3; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - }; -}) diff --git a/pkgs/development/compilers/flutter/engine/patches/git-revision.patch b/pkgs/development/compilers/flutter/engine/patches/git-revision.patch new file mode 100644 index 000000000000..ad2c22ddf694 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/patches/git-revision.patch @@ -0,0 +1,44 @@ +--- a/engine/src/flutter/build/git_revision.py ++++ b/engine/src/flutter/build/git_revision.py +@@ -22,18 +22,7 @@ + if not os.path.exists(repository): + raise IOError('path does not exist') + +- git = 'git' +- if is_windows(): +- git = 'git.bat' +- version = subprocess.check_output([ +- git, +- '-C', +- repository, +- 'rev-parse', +- 'HEAD', +- ]) +- +- return str(version.strip(), 'utf-8') ++ return '0' * 41 + + + def main(): +--- a/engine/src/flutter/tools/gn ++++ b/engine/src/flutter/tools/gn +@@ -286,18 +286,7 @@ + if not os.path.exists(repository): + raise IOError('path does not exist') + +- git = 'git' +- if sys.platform.startswith(('cygwin', 'win')): +- git = 'git.bat' +- version = subprocess.check_output([ +- git, +- '-C', +- repository, +- 'rev-parse', +- 'HEAD', +- ]) +- +- return str(version.strip(), 'utf-8') ++ return '0' * 41 + + + def setup_git_versions(): diff --git a/pkgs/development/compilers/flutter/engine/patches/no-vpython.patch b/pkgs/development/compilers/flutter/engine/patches/no-vpython.patch new file mode 100644 index 000000000000..8b162f653919 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/patches/no-vpython.patch @@ -0,0 +1,11 @@ +--- a/engine/src/.gn ++++ b/engine/src/.gn +@@ -3,7 +3,7 @@ + + # Use vpython3 from depot_tools for exec_script() calls. + # See `gn help dotfile` for details. +-script_executable = "vpython3" ++script_executable = "python3" + + # The location of the build configuration file. + buildconfig = "//build/config/BUILDCONFIG.gn" diff --git a/pkgs/development/compilers/flutter/engine/patches/not-in-git.patch b/pkgs/development/compilers/flutter/engine/patches/not-in-git.patch new file mode 100644 index 000000000000..b67b7b2f6fa9 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/patches/not-in-git.patch @@ -0,0 +1,13 @@ +--- a/engine/src/flutter/tools/pub_get_offline.py ++++ b/engine/src/flutter/tools/pub_get_offline.py +@@ -148,10 +148,6 @@ + SRC_ROOT, 'flutter', 'third_party', 'dart', 'tools', 'sdks', 'dart-sdk', 'bin' + ) + +- # Delete all package_config.json files. These may be stale. +- # Required ones will be regenerated fresh below. +- delete_config_files() +- + # Ensure all relevant packages are listed in ALL_PACKAGES. + unlisted = find_unlisted_packages() + if len(unlisted) > 0: diff --git a/pkgs/development/compilers/flutter/engine/patches/shared-libcxx.patch b/pkgs/development/compilers/flutter/engine/patches/shared-libcxx.patch new file mode 100644 index 000000000000..e93ffce50471 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/patches/shared-libcxx.patch @@ -0,0 +1,22 @@ +--- a/engine/src/flutter/third_party/flatbuffers/include/flatbuffers/util.h ++++ b/engine/src/flutter/third_party/flatbuffers/include/flatbuffers/util.h +@@ -202,7 +202,7 @@ + + // clang-format off + // Use locale independent functions {strtod_l, strtof_l, strtoll_l, strtoull_l}. +-#if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0) ++#if defined(__GLIBC__) && defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0) + class ClassicLocale { + #ifdef _MSC_VER + typedef _locale_t locale_type; +--- a/engine/src/flutter/third_party/flatbuffers/src/util.cpp ++++ b/engine/src/flutter/third_party/flatbuffers/src/util.cpp +@@ -252,7 +252,7 @@ + } + + // Locale-independent code. +-#if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && \ ++#if defined(__GLIBC__) && defined(FLATBUFFERS_LOCALE_INDEPENDENT) && \ + (FLATBUFFERS_LOCALE_INDEPENDENT > 0) + + // clang-format off diff --git a/pkgs/development/compilers/flutter/engine/patches/unbundle-engine.patch b/pkgs/development/compilers/flutter/engine/patches/unbundle-engine.patch new file mode 100644 index 000000000000..1a0077ad5315 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/patches/unbundle-engine.patch @@ -0,0 +1,933 @@ +diff --git a/engine/src/build/linux/unbundle/freetype2.gn b/engine/src/build/linux/unbundle/freetype2.gn +new file mode 100644 +index 0000000..3b8cafb +--- /dev/null ++++ b/engine/src/build/linux/unbundle/freetype2.gn +@@ -0,0 +1,35 @@ ++# Copyright 2013 The Flutter Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++config("freetype_config") { ++ include_dirs = [ "include/freetype-flutter-config" ] ++ ++ cflags = [] ++ ++ if (is_clang) { ++ cflags += [ ++ "-Wno-unused-function", ++ "-Wno-unused-variable", ++ ] ++ } ++} ++ ++pkg_config("system_freetype2") { ++ packages = [ "freetype2" ] ++} ++ ++source_set("freetype2") { ++ output_name = "freetype2" ++ deps = [ ++ "//third_party/libpng", ++ "//third_party/zlib", ++ ] ++ public_configs = [ ++ ":freetype_config", ++ ":system_freetype2", ++ ] ++} +diff --git a/engine/src/build/linux/unbundle/harfbuzz.gn b/engine/src/build/linux/unbundle/harfbuzz.gn +new file mode 100644 +index 0000000..72d3e06 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/harfbuzz.gn +@@ -0,0 +1,31 @@ ++# Copyright 2013 The Flutter Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++ ++pkg_config("system_harfbuzz") { ++ packages = [ "harfbuzz" ] ++} ++ ++pkg_config("system_harfbuzz_subset") { ++ packages = [ "harfbuzz-subset" ] ++} ++ ++source_set("harfbuzz") { ++ output_name = "harfbuzz" ++ deps = [ ++ "//third_party/freetype2", ++ "//third_party/icu:icuuc", ++ ] ++ public_configs = [ ":system_harfbuzz" ] ++} ++ ++source_set("harfbuzz_subset") { ++ output_name = "harfbuzz_subset" ++ deps = [ ++ "//third_party/freetype2", ++ "//third_party/icu:icuuc", ++ ] ++ public_configs = [ ":system_harfbuzz_subset" ] ++} +diff --git a/engine/src/build/linux/unbundle/icu.gn b/engine/src/build/linux/unbundle/icu.gn +new file mode 100644 +index 0000000..9e54d4e +--- /dev/null ++++ b/engine/src/build/linux/unbundle/icu.gn +@@ -0,0 +1,264 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++group("icu") { ++ public_deps = [ ++ ":icui18n", ++ ":icuuc", ++ ] ++} ++ ++config("icu_config") { ++ defines = [ ++ "USING_SYSTEM_ICU=1", ++ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", ++ ++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility ++ # on classes through the U_COMMON_API and U_I18N_API macros (among others). ++ # When linking against the system ICU library, we want its symbols to have ++ # public LTO visibility. This disables CFI checks for the ICU classes and ++ # allows whole-program optimization to be applied to the rest of Chromium. ++ # ++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only ++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because ++ # we override the default system UCHAR_TYPE (char16_t), it is not possible ++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API ++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition. ++ # ++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply ++ # public visibility (and thus public LTO visibility) to all ICU classes is ++ # to define U_IMPORT to have the same value as U_EXPORT. For more details, ++ # please see: https://crbug.com/822820 ++ "U_IMPORT=U_EXPORT", ++ ] ++} ++ ++pkg_config("system_icui18n") { ++ packages = [ "icu-i18n" ] ++} ++ ++pkg_config("system_icuuc") { ++ packages = [ "icu-uc" ] ++} ++ ++source_set("icui18n") { ++ public_deps = [ ":icui18n_shim" ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icui18n", ++ ] ++} ++ ++source_set("icuuc") { ++ public_deps = [ ":icuuc_shim" ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icuuc", ++ ] ++} ++ ++group("icui18n_hidden_visibility") { ++ public_deps = [ ":icui18n" ] ++} ++ ++group("icuuc_hidden_visibility") { ++ public_deps = [ ":icuuc" ] ++} ++ ++shim_headers("icui18n_shim") { ++ root_path = "source/i18n" ++ headers = [ ++ # This list can easily be updated using the commands below: ++ # cd third_party/icu/source/i18n ++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u ++ "unicode/alphaindex.h", ++ "unicode/basictz.h", ++ "unicode/calendar.h", ++ "unicode/choicfmt.h", ++ "unicode/coleitr.h", ++ "unicode/coll.h", ++ "unicode/compactdecimalformat.h", ++ "unicode/curramt.h", ++ "unicode/currpinf.h", ++ "unicode/currunit.h", ++ "unicode/datefmt.h", ++ "unicode/dcfmtsym.h", ++ "unicode/decimfmt.h", ++ "unicode/dtfmtsym.h", ++ "unicode/dtitvfmt.h", ++ "unicode/dtitvinf.h", ++ "unicode/dtptngen.h", ++ "unicode/dtrule.h", ++ "unicode/fieldpos.h", ++ "unicode/fmtable.h", ++ "unicode/format.h", ++ "unicode/fpositer.h", ++ "unicode/gender.h", ++ "unicode/gregocal.h", ++ "unicode/listformatter.h", ++ "unicode/measfmt.h", ++ "unicode/measunit.h", ++ "unicode/measure.h", ++ "unicode/msgfmt.h", ++ "unicode/numfmt.h", ++ "unicode/numsys.h", ++ "unicode/plurfmt.h", ++ "unicode/plurrule.h", ++ "unicode/rbnf.h", ++ "unicode/rbtz.h", ++ "unicode/regex.h", ++ "unicode/region.h", ++ "unicode/reldatefmt.h", ++ "unicode/scientificnumberformatter.h", ++ "unicode/search.h", ++ "unicode/selfmt.h", ++ "unicode/simpletz.h", ++ "unicode/smpdtfmt.h", ++ "unicode/sortkey.h", ++ "unicode/stsearch.h", ++ "unicode/tblcoll.h", ++ "unicode/timezone.h", ++ "unicode/tmunit.h", ++ "unicode/tmutamt.h", ++ "unicode/tmutfmt.h", ++ "unicode/translit.h", ++ "unicode/tzfmt.h", ++ "unicode/tznames.h", ++ "unicode/tzrule.h", ++ "unicode/tztrans.h", ++ "unicode/ucal.h", ++ "unicode/ucol.h", ++ "unicode/ucoleitr.h", ++ "unicode/ucsdet.h", ++ "unicode/udat.h", ++ "unicode/udateintervalformat.h", ++ "unicode/udatpg.h", ++ "unicode/ufieldpositer.h", ++ "unicode/uformattable.h", ++ "unicode/ugender.h", ++ "unicode/ulocdata.h", ++ "unicode/umsg.h", ++ "unicode/unirepl.h", ++ "unicode/unum.h", ++ "unicode/unumsys.h", ++ "unicode/upluralrules.h", ++ "unicode/uregex.h", ++ "unicode/uregion.h", ++ "unicode/ureldatefmt.h", ++ "unicode/usearch.h", ++ "unicode/uspoof.h", ++ "unicode/utmscale.h", ++ "unicode/utrans.h", ++ "unicode/vtzone.h", ++ ] ++ additional_includes = [ "flutter" ] ++} ++ ++shim_headers("icuuc_shim") { ++ root_path = "source/common" ++ headers = [ ++ # This list can easily be updated using the commands below: ++ # cd third_party/icu/source/common ++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u ++ "unicode/appendable.h", ++ "unicode/brkiter.h", ++ "unicode/bytestream.h", ++ "unicode/bytestrie.h", ++ "unicode/bytestriebuilder.h", ++ "unicode/caniter.h", ++ "unicode/casemap.h", ++ "unicode/char16ptr.h", ++ "unicode/chariter.h", ++ "unicode/dbbi.h", ++ "unicode/docmain.h", ++ "unicode/dtintrv.h", ++ "unicode/edits.h", ++ "unicode/enumset.h", ++ "unicode/errorcode.h", ++ "unicode/filteredbrk.h", ++ "unicode/icudataver.h", ++ "unicode/icuplug.h", ++ "unicode/idna.h", ++ "unicode/localematcher.h", ++ "unicode/localpointer.h", ++ "unicode/locdspnm.h", ++ "unicode/locid.h", ++ "unicode/messagepattern.h", ++ "unicode/normalizer2.h", ++ "unicode/normlzr.h", ++ "unicode/parseerr.h", ++ "unicode/parsepos.h", ++ "unicode/platform.h", ++ "unicode/ptypes.h", ++ "unicode/putil.h", ++ "unicode/rbbi.h", ++ "unicode/rep.h", ++ "unicode/resbund.h", ++ "unicode/schriter.h", ++ "unicode/simpleformatter.h", ++ "unicode/std_string.h", ++ "unicode/strenum.h", ++ "unicode/stringpiece.h", ++ "unicode/stringtriebuilder.h", ++ "unicode/symtable.h", ++ "unicode/ubidi.h", ++ "unicode/ubiditransform.h", ++ "unicode/ubrk.h", ++ "unicode/ucasemap.h", ++ "unicode/ucat.h", ++ "unicode/uchar.h", ++ "unicode/ucharstrie.h", ++ "unicode/ucharstriebuilder.h", ++ "unicode/uchriter.h", ++ "unicode/uclean.h", ++ "unicode/ucnv.h", ++ "unicode/ucnv_cb.h", ++ "unicode/ucnv_err.h", ++ "unicode/ucnvsel.h", ++ "unicode/uconfig.h", ++ "unicode/ucurr.h", ++ "unicode/udata.h", ++ "unicode/udisplaycontext.h", ++ "unicode/uenum.h", ++ "unicode/uidna.h", ++ "unicode/uiter.h", ++ "unicode/uldnames.h", ++ "unicode/ulistformatter.h", ++ "unicode/uloc.h", ++ "unicode/umachine.h", ++ "unicode/umisc.h", ++ "unicode/unifilt.h", ++ "unicode/unifunct.h", ++ "unicode/unimatch.h", ++ "unicode/uniset.h", ++ "unicode/unistr.h", ++ "unicode/unorm.h", ++ "unicode/unorm2.h", ++ "unicode/uobject.h", ++ "unicode/urename.h", ++ "unicode/urep.h", ++ "unicode/ures.h", ++ "unicode/uscript.h", ++ "unicode/uset.h", ++ "unicode/usetiter.h", ++ "unicode/ushape.h", ++ "unicode/usprep.h", ++ "unicode/ustring.h", ++ "unicode/ustringtrie.h", ++ "unicode/utext.h", ++ "unicode/utf.h", ++ "unicode/utf16.h", ++ "unicode/utf32.h", ++ "unicode/utf8.h", ++ "unicode/utf_old.h", ++ "unicode/utrace.h", ++ "unicode/utypes.h", ++ "unicode/uvernum.h", ++ "unicode/uversion.h", ++ ] ++ additional_includes = [ "flutter" ] ++} +diff --git a/engine/src/build/linux/unbundle/libjpeg-turbo.gn b/engine/src/build/linux/unbundle/libjpeg-turbo.gn +new file mode 100644 +index 0000000..be0c674 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/libjpeg-turbo.gn +@@ -0,0 +1,11 @@ ++# Copyright 2013 The Flutter Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++config("libjpeg_config") { ++ libs = [ "jpeg" ] ++} ++ ++group("libjpeg") { ++ public_configs = [ ":libjpeg_config" ] ++} +diff --git a/engine/src/build/linux/unbundle/libpng.gn b/engine/src/build/linux/unbundle/libpng.gn +new file mode 100644 +index 0000000..91e0ee4 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/libpng.gn +@@ -0,0 +1,23 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("libpng_config") { ++ packages = [ "libpng" ] ++} ++ ++shim_headers("libpng_shim") { ++ root_path = "." ++ headers = [ ++ "png.h", ++ "pngconf.h", ++ ] ++} ++ ++source_set("libpng") { ++ deps = [ ":libpng_shim" ] ++ public_configs = [ ":libpng_config" ] ++} +diff --git a/engine/src/build/linux/unbundle/libwebp.gn b/engine/src/build/linux/unbundle/libwebp.gn +new file mode 100644 +index 0000000..708cc9c +--- /dev/null ++++ b/engine/src/build/linux/unbundle/libwebp.gn +@@ -0,0 +1,35 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libwebp") { ++ packages = [ ++ "libwebp", ++ "libwebpdemux", ++ "libwebpmux", ++ ] ++} ++ ++shim_headers("libwebp_shim") { ++ root_path = "src/src" ++ headers = [ ++ "webp/decode.h", ++ "webp/demux.h", ++ "webp/encode.h", ++ "webp/mux.h", ++ "webp/mux_types.h", ++ "webp/types.h", ++ ] ++} ++ ++source_set("libwebp_webp") { ++ deps = [ ":libwebp_shim" ] ++ public_configs = [ ":system_libwebp" ] ++} ++ ++group("libwebp") { ++ deps = [ ":libwebp_webp" ] ++} +diff --git a/engine/src/build/linux/unbundle/libxml.gn b/engine/src/build/linux/unbundle/libxml.gn +new file mode 100644 +index 0000000..b42d044 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/libxml.gn +@@ -0,0 +1,13 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++ ++pkg_config("system_libxml") { ++ packages = [ "libxml-2.0" ] ++} ++ ++source_set("libxml") { ++ public_configs = [ ":system_libxml" ] ++} +diff --git a/engine/src/build/linux/unbundle/replace_gn_files.py b/engine/src/build/linux/unbundle/replace_gn_files.py +new file mode 100755 +index 0000000..b8b24c6 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/replace_gn_files.py +@@ -0,0 +1,101 @@ ++#!/usr/bin/env python3 ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++""" ++Replaces GN files in tree with files from here that ++make the build use system libraries. ++""" ++ ++import argparse ++import os ++import shutil ++import sys ++ ++ ++REPLACEMENTS = { ++ # Use system libabsl_2xxx. These 18 shims MUST be used together. ++ 'absl_algorithm': 'flutter/third_party/abseil-cpp/absl/algorithm/BUILD.gn', ++ 'absl_base': 'flutter/third_party/abseil-cpp/absl/base/BUILD.gn', ++ 'absl_cleanup': 'flutter/third_party/abseil-cpp/absl/cleanup/BUILD.gn', ++ 'absl_container': 'flutter/third_party/abseil-cpp/absl/container/BUILD.gn', ++ 'absl_debugging': 'flutter/third_party/abseil-cpp/absl/debugging/BUILD.gn', ++ 'absl_flags': 'flutter/third_party/abseil-cpp/absl/flags/BUILD.gn', ++ 'absl_functional': 'flutter/third_party/abseil-cpp/absl/functional/BUILD.gn', ++ 'absl_hash': 'flutter/third_party/abseil-cpp/absl/hash/BUILD.gn', ++ 'absl_memory': 'flutter/third_party/abseil-cpp/absl/memory/BUILD.gn', ++ 'absl_meta': 'flutter/third_party/abseil-cpp/absl/meta/BUILD.gn', ++ 'absl_numeric': 'flutter/third_party/abseil-cpp/absl/numeric/BUILD.gn', ++ 'absl_random': 'flutter/third_party/abseil-cpp/absl/random/BUILD.gn', ++ 'absl_status': 'flutter/third_party/abseil-cpp/absl/status/BUILD.gn', ++ 'absl_strings': 'flutter/third_party/abseil-cpp/absl/strings/BUILD.gn', ++ 'absl_synchronization': 'flutter/third_party/abseil-cpp/absl/synchronization/BUILD.gn', ++ 'absl_time': 'flutter/third_party/abseil-cpp/absl/time/BUILD.gn', ++ 'absl_types': 'flutter/third_party/abseil-cpp/absl/types/BUILD.gn', ++ 'absl_utility': 'flutter/third_party/abseil-cpp/absl/utility/BUILD.gn', ++ # ++ 'fontconfig': 'third_party/fontconfig/BUILD.gn', ++ 'freetype2': 'flutter/third_party/freetype2/BUILD.gn', ++ 'harfbuzz': 'flutter/build/secondary/flutter/third_party/harfbuzz/BUILD.gn', ++ 'icu': 'flutter/third_party/icu/BUILD.gn', ++ 'libjpeg-turbo': 'flutter/third_party/libjpeg-turbo/BUILD.gn', ++ 'libpng': 'flutter/third_party/libpng/BUILD.gn', ++ 'libwebp': 'flutter/build/secondary/flutter/third_party/libwebp/BUILD.gn', ++ 'libxml': 'third_party/libxml/BUILD.gn', ++ 'libXNVCtrl': 'flutter/third_party/angle/src/third_party/libXNVCtrl/BUILD.gn', ++ 'sqlite': 'flutter/third_party/sqlite/BUILD.gn', ++ # Use system libSPIRV-Tools in Swiftshader. These two shims MUST be used together. ++ 'swiftshader-SPIRV-Headers': 'flutter/third_party/swiftshader/third_party/SPIRV-Headers/BUILD.gn', ++ 'swiftshader-SPIRV-Tools': 'flutter/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn', ++ # Use system libSPIRV-Tools inside ANGLE. These two shims MUST be used together ++ # and can only be used if WebGPU is not compiled (use_dawn=false) ++ 'vulkan-SPIRV-Headers': 'flutter/third_party/vulkan-deps/spirv-headers/src/BUILD.gn', ++ 'vulkan-SPIRV-Tools': 'flutter/third_party/vulkan-deps/spirv-tools/src/BUILD.gn', ++ # ++ 'zlib': 'flutter/third_party/zlib/BUILD.gn', ++} ++ ++ ++def DoMain(argv): ++ my_dirname = os.path.dirname(__file__) ++ source_tree_root = os.path.abspath( ++ os.path.join(my_dirname, '..', '..', '..')) ++ ++ parser = argparse.ArgumentParser() ++ parser.add_argument('--system-libraries', nargs='*', default=[]) ++ parser.add_argument('--undo', action='store_true') ++ ++ args = parser.parse_args(argv) ++ ++ handled_libraries = set() ++ for lib, path in REPLACEMENTS.items(): ++ if lib not in args.system_libraries: ++ continue ++ handled_libraries.add(lib) ++ ++ if args.undo: ++ # Restore original file, and also remove the backup. ++ # This is meant to restore the source tree to its original state. ++ os.rename(os.path.join(source_tree_root, path + '.bak'), ++ os.path.join(source_tree_root, path)) ++ else: ++ # Create a backup copy for --undo. ++ shutil.copyfile(os.path.join(source_tree_root, path), ++ os.path.join(source_tree_root, path + '.bak')) ++ ++ # Copy the GN file from directory of this script to target path. ++ shutil.copyfile(os.path.join(my_dirname, '%s.gn' % lib), ++ os.path.join(source_tree_root, path)) ++ ++ unhandled_libraries = set(args.system_libraries) - handled_libraries ++ if unhandled_libraries: ++ print('Unrecognized system libraries requested: %s' % ', '.join( ++ sorted(unhandled_libraries)), file=sys.stderr) ++ return 1 ++ ++ return 0 ++ ++ ++if __name__ == '__main__': ++ sys.exit(DoMain(sys.argv[1:])) +diff --git a/engine/src/build/linux/unbundle/sqlite.gn b/engine/src/build/linux/unbundle/sqlite.gn +new file mode 100644 +index 0000000..e6c653d +--- /dev/null ++++ b/engine/src/build/linux/unbundle/sqlite.gn +@@ -0,0 +1,20 @@ ++# Copyright 2013 The Flutter Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_sqlite") { ++ packages = [ "sqlite3" ] ++} ++ ++shim_headers("sqlite_shim") { ++ root_path = "//third_party/sqlite" ++ headers = [ "sqlite3.h" ] ++} ++ ++source_set("sqlite") { ++ public_deps = [ ":sqlite_shim" ] ++ public_configs = [ ":system_sqlite" ] ++} +diff --git a/engine/src/build/linux/unbundle/zlib.gn b/engine/src/build/linux/unbundle/zlib.gn +new file mode 100644 +index 0000000..6daf3c6 +--- /dev/null ++++ b/engine/src/build/linux/unbundle/zlib.gn +@@ -0,0 +1,72 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/shim_headers.gni") ++ ++declare_args() { ++ use_zlib_ng = false ++} ++ ++if (use_zlib_ng) { ++ _suffix = "-ng" ++} else { ++ _suffix = "" ++} ++ ++shim_headers("zlib_shim") { ++ root_path = "." ++ headers = [ "zlib.h%zlib$_suffix.h" ] ++ additional_includes = [ "flutter", "flutter/third_party" ] ++} ++ ++config("system_zlib") { ++ defines = [ "USE_SYSTEM_ZLIB=1" ] ++} ++ ++config("zlib_config") { ++ configs = [ ":system_zlib" ] ++} ++ ++source_set("zlib") { ++ public_deps = [ ":zlib_shim" ] ++ libs = [ "z$_suffix" ] ++ public_configs = [ ":system_zlib" ] ++} ++ ++shim_headers("minizip_shim") { ++ root_path = "contrib" ++ headers = [ ++ "minizip/crypt.h", ++ "minizip/ioapi.h", ++ "minizip/iowin32.h", ++ "minizip/mztools.h", ++ "minizip/unzip.h", ++ "minizip/zip.h", ++ ] ++} ++ ++source_set("minizip") { ++ deps = [ ":minizip_shim" ] ++ libs = [ "minizip" ] ++} ++ ++static_library("zip") { ++ sources = [ ++ "google/zip.cc", ++ "google/zip.h", ++ "google/zip_internal.cc", ++ "google/zip_internal.h", ++ "google/zip_reader.cc", ++ "google/zip_reader.h", ++ ] ++ deps = [ ":minizip" ] ++} ++ ++static_library("compression_utils") { ++ sources = [ ++ "google/compression_utils.cc", ++ "google/compression_utils.h", ++ ] ++ deps = [ ":zlib" ] ++} +diff --git a/engine/src/build/shim_headers.gni b/engine/src/build/shim_headers.gni +new file mode 100644 +index 0000000..1d24e0a +--- /dev/null ++++ b/engine/src/build/shim_headers.gni +@@ -0,0 +1,42 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++template("shim_headers") { ++ action_name = "gen_${target_name}" ++ config_name = "${target_name}_config" ++ shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}" ++ config(config_name) { ++ include_dirs = [ shim_headers_path ] ++ if (defined(invoker.additional_includes)) { ++ foreach(i, invoker.additional_includes) { ++ include_dirs += [ shim_headers_path + "/" + i ] ++ } ++ } ++ } ++ action(action_name) { ++ script = "//tools/generate_shim_headers.py" ++ args = [ ++ "--generate", ++ "--headers-root", ++ rebase_path(invoker.root_path), ++ "--output-directory", ++ rebase_path(shim_headers_path), ++ ] ++ if (defined(invoker.prefix)) { ++ args += [ ++ "--prefix", ++ invoker.prefix, ++ ] ++ } ++ args += invoker.headers ++ outputs = [] ++ foreach(h, invoker.headers) { ++ outputs += [ shim_headers_path + "/" + ++ rebase_path(invoker.root_path, "//") + "/" + h ] ++ } ++ } ++ group(target_name) { ++ public_deps = [ ":${action_name}" ] ++ all_dependent_configs = [ ":${config_name}" ] ++ } ++} +diff --git a/engine/src/tools/generate_shim_headers.py b/engine/src/tools/generate_shim_headers.py +new file mode 100644 +index 0000000..aaa16f8 +--- /dev/null ++++ b/engine/src/tools/generate_shim_headers.py +@@ -0,0 +1,116 @@ ++#!/usr/bin/env python ++# Copyright 2012 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++""" ++Generates shim headers that mirror the directory structure of bundled headers, ++but just forward to the system ones. ++ ++This allows seamless compilation against system headers with no changes ++to our source code. ++""" ++ ++ ++import optparse ++import os.path ++import sys ++ ++ ++SHIM_TEMPLATE = """ ++#if defined(OFFICIAL_BUILD) ++#error shim headers must not be used in official builds! ++#endif ++""" ++ ++ ++def GeneratorMain(argv): ++ parser = optparse.OptionParser() ++ parser.add_option('--headers-root', action='append') ++ parser.add_option('--define', action='append') ++ parser.add_option('--output-directory') ++ parser.add_option('--prefix', default='') ++ parser.add_option('--use-include-next', action='store_true') ++ parser.add_option('--outputs', action='store_true') ++ parser.add_option('--generate', action='store_true') ++ ++ options, args = parser.parse_args(argv) ++ ++ if not options.headers_root: ++ parser.error('Missing --headers-root parameter.') ++ if not options.output_directory: ++ parser.error('Missing --output-directory parameter.') ++ if not args: ++ parser.error('Missing arguments - header file names.') ++ ++ source_tree_root = os.path.abspath( ++ os.path.join(os.path.dirname(__file__), '..')) ++ ++ for root in options.headers_root: ++ target_directory = os.path.join( ++ options.output_directory, ++ os.path.relpath(root, source_tree_root)) ++ if options.generate and not os.path.exists(target_directory): ++ os.makedirs(target_directory) ++ ++ for header_spec in args: ++ if ';' in header_spec: ++ (header_filename, ++ include_before, ++ include_after) = header_spec.split(';', 2) ++ else: ++ header_filename = header_spec ++ include_before = '' ++ include_after = '' ++ if '%' in header_filename: ++ (header_filename, ++ upstream_header_filename) = header_filename.split('%', 1) ++ else: ++ upstream_header_filename = header_filename ++ if options.outputs: ++ yield os.path.join(target_directory, header_filename) ++ if options.generate: ++ header_path = os.path.join(target_directory, header_filename) ++ header_dir = os.path.dirname(header_path) ++ if not os.path.exists(header_dir): ++ os.makedirs(header_dir) ++ with open(header_path, 'w') as f: ++ f.write(SHIM_TEMPLATE) ++ ++ if options.define: ++ for define in options.define: ++ key, value = define.split('=', 1) ++ # This non-standard push_macro extension is supported ++ # by compilers we support (GCC, clang). ++ f.write('#pragma push_macro("%s")\n' % key) ++ f.write('#undef %s\n' % key) ++ f.write('#define %s %s\n' % (key, value)) ++ ++ if include_before: ++ for header in include_before.split(':'): ++ f.write('#include %s\n' % header) ++ ++ include_target = options.prefix + upstream_header_filename ++ if options.use_include_next: ++ f.write('#include_next <%s>\n' % include_target) ++ else: ++ f.write('#include <%s>\n' % include_target) ++ ++ if include_after: ++ for header in include_after.split(':'): ++ f.write('#include %s\n' % header) ++ ++ if options.define: ++ for define in options.define: ++ key, value = define.split('=', 1) ++ # This non-standard pop_macro extension is supported ++ # by compilers we support (GCC, clang). ++ f.write('#pragma pop_macro("%s")\n' % key) ++ ++ ++def DoMain(argv): ++ return '\n'.join(GeneratorMain(argv)) ++ ++ ++if __name__ == '__main__': ++ DoMain(sys.argv[1:]) +--- /dev/null ++++ b/engine/src/build/linux/unbundle/vulkan-SPIRV-Headers.gn +@@ -0,0 +1,19 @@ ++# This shim can only be used if you build Chromium without DAWN ++ ++import("//build/shim_headers.gni") ++ ++shim_headers("vulkan-SPIRV-Headers_shim") { ++ root_path = "include" ++ headers = [ ++ "spirv/unified1/GLSL.std.450.h", ++ "spirv/unified1/NonSemanticClspvReflection.h", ++ "spirv/unified1/NonSemanticDebugPrintf.h", ++ "spirv/unified1/OpenCL.std.h", ++ "spirv/unified1/spirv.h", ++ "spirv/unified1/spirv.hpp", ++ ] ++} ++ ++source_set("spv_headers") { ++ deps = [ ":vulkan-SPIRV-Headers_shim" ] ++} +--- /dev/null ++++ b/engine/src/build/linux/unbundle/vulkan-SPIRV-Tools.gn +@@ -0,0 +1,73 @@ ++# This shim can only be used if you build Chromium without DAWN ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("spvtools_internal_config") { ++ packages = [ "SPIRV-Tools" ] ++} ++ ++shim_headers("vulkan-SPIRV-Tools_shim") { ++ root_path = "include" ++ headers = [ ++ "spirv-tools/instrument.hpp", ++ "spirv-tools/libspirv.h", ++ "spirv-tools/libspirv.hpp", ++ "spirv-tools/linker.hpp", ++ "spirv-tools/optimizer.hpp", ++ ] ++} ++ ++source_set("SPIRV-Tools") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_core_enums_unified1") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_core_tables_unified1") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_headers") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_language_header_cldebuginfo100") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_language_header_debuginfo") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_language_header_vkdebuginfo100") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_opt") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} ++ ++config("spvtools_public_config") { ++ configs = [ ":spvtools_internal_config" ] ++} ++ ++source_set("spvtools_val") { ++ deps = [ ":vulkan-SPIRV-Tools_shim" ] ++ public_configs = [ ":spvtools_internal_config" ] ++} diff --git a/pkgs/development/compilers/flutter/engine/source.nix b/pkgs/development/compilers/flutter/engine/source.nix index e95828c0b8ab..81fe84f21225 100644 --- a/pkgs/development/compilers/flutter/engine/source.nix +++ b/pkgs/development/compilers/flutter/engine/source.nix @@ -1,73 +1,60 @@ { - lib, - callPackage, curlMinimal, - pkg-config, gitMinimal, python312, + depot_tools, runCommand, writeText, cacert, - flutterVersion, version, - hashes, - url, - hostPlatform, - targetPlatform, - buildPlatform, - ... -}@pkgs: + engineHash ? "", + cipd, + writableTmpDirAsHomeHook, +}: + let - target-constants = callPackage ./constants.nix { platform = targetPlatform; }; - build-constants = callPackage ./constants.nix { platform = buildPlatform; }; - tools = pkgs.tools or (callPackage ./tools.nix { inherit hostPlatform buildPlatform; }); - - boolOption = value: if value then "True" else "False"; - - gclient = writeText "flutter-${version}.gclient" '' - solutions = [{ - "managed": False, - "name": ".", - "url": "${url}", - "custom_vars": { - "download_fuchsia_deps": False, - "download_android_deps": False, - "download_linux_deps": ${boolOption targetPlatform.isLinux}, - "setup_githooks": False, - "download_esbuild": False, - "download_dart_sdk": True, - "host_cpu": "${build-constants.alt-arch}", - "host_os": "${build-constants.alt-os}", - }, - }] - + gclient = writeText ".gclient" '' + solutions = [ + { + "name": ".", + "url": "https://github.com/flutter/flutter.git@${version}", + "managed": False, + "custom_vars": { + "download_dart_sdk": False, + "download_esbuild": False, + "download_android_deps": False, + "download_jdk": False, + "download_linux_deps": False, + "download_windows_deps": False, + "download_fuchsia_deps": False, + "checkout_llvm": False, + "setup_githooks": False, + "release_candidate": True, + }, + } + ] + target_os = [ "linux" ] + target_cpu = [ "x64", "arm64", "riscv64" ] target_os_only = True - target_os = [ - "${target-constants.alt-os}" - ] - target_cpu_only = True - target_cpu = [ - "${target-constants.alt-arch}" - ] ''; in -runCommand "flutter-engine-source-${version}-${buildPlatform.system}-${targetPlatform.system}" +runCommand "flutter-engine-source-${version}" { pname = "flutter-engine-source"; inherit version; nativeBuildInputs = [ curlMinimal - pkg-config gitMinimal - tools.cipd + cipd (python312.withPackages ( ps: with ps; [ httplib2 six ] )) + writableTmpDirAsHomeHook ]; env = { @@ -81,23 +68,26 @@ runCommand "flutter-engine-source-${version}-${buildPlatform.system}-${targetPla outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = - (hashes."${buildPlatform.system}" or { })."${targetPlatform.system}" - or (throw "Hash not set for ${targetPlatform.system} on ${buildPlatform.system}"); + outputHash = engineHash; } '' - source ${../../../../build-support/fetchgit/deterministic-git} - export -f clean_git - export -f make_deterministic_repo - - mkdir --parents flutter - cp ${gclient} flutter/.gclient - cd flutter - export PATH=$PATH:${tools.depot_tools} - python3 ${tools.depot_tools}/gclient.py sync --no-history --shallow --nohooks -j $NIX_BUILD_CORES - mv engine $out - - find $out -name '.git' -exec rm --recursive --force {} \; || true - - rm --recursive $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader,third_party/gn/.versions,third_party/dart/tools/sdks/dart-sdk} + mkdir --parents source + cd source + cp ${gclient} .gclient + export PATH=$PATH:${depot_tools} + python3 ${depot_tools}/gclient.py sync --no-history --shallow --nohooks --jobs=$NIX_BUILD_CORES + rm --recursive --force engine/src/flutter/buildtools engine/src/flutter/third_party/dart/tools/sdks/dart-sdk engine/src/flutter/third_party/gn third_party/ninja + rm --recursive --force engine/src/flutter/third_party/swiftshader/.git + rm --recursive --force engine/src/flutter/third_party/swiftshader/tests + rm --recursive --force engine/src/flutter/third_party/swiftshader/docs + rm --recursive --force engine/src/flutter/third_party/swiftshader/infra + rm --recursive --force engine/src/flutter/third_party/swiftshader/.vscode + rm --recursive --force engine/src/flutter/third_party/swiftshader/llvm-16.0 + rm --recursive --force engine/src/flutter/third_party/swiftshader/llvm-10.0 + rm --recursive --force engine/src/flutter/third_party/llvm-project + find engine/src/flutter/third_party/swiftshader/third_party -type d \( -name "test" -o -name "tests" -o -name "unittests" \) -prune -exec rm --recursive --force {} + + find engine/src/flutter/third_party/swiftshader -type f \( -name "*.o" -o -name "*.a" -o -name "*.so" \) -delete + find . -type d \( -name ".git" -o -name ".cipd" \) -prune -exec rm --recursive --force {} + + find . -type f -name ".gclient*" -delete + cp --recursive . $out '' diff --git a/pkgs/development/compilers/flutter/engine/tools.nix b/pkgs/development/compilers/flutter/engine/tools.nix deleted file mode 100644 index fcc841eaae47..000000000000 --- a/pkgs/development/compilers/flutter/engine/tools.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ - stdenv, - buildPlatform, - hostPlatform, - callPackage, - fetchgit, - fetchurl, - writeText, - runCommand, - darwin, - writeShellScriptBin, - depot_toolsCommit ? "580b4ff3f5cd0dcaa2eacda28cefe0f45320e8f7", - depot_toolsHash ? "sha256-k+XQSYJQYc9vAUjwrRxaAlX/sK74W45m5byS31hSpwc=", - cipdCommit ? "7120a6a515089a3ff5d1f61ff4ee17750dc038af", - cipdHashes ? { - "linux-386" = "sha256-CshLfw49uglvWNwWE4K7ucBUF+IZlXDaIQsTXtFEJ8U="; - "linux-amd64" = "sha256-rxpI+HqfZiOYvzyyQ9P93s70feDmrLgbm4Xh3o88LwQ="; - "linux-arm64" = "sha256-XTTKbw1Q2lin+pf7VADalpBy3AWMTEd7yItsE/pePxw="; - "linux-armv6l" = "sha256-e5qe2KcguRLPuAq6wOG7A3YghHHon+oHY3fRLhU+e9E="; - "linux-loong64" = "sha256-LPTK4Ly173jac+cSGrsWw0ajrWEYepeJDGtP/7Xh528="; - "linux-mips" = "sha256-nR5khvHbAijs0MEr8+UgbuHTRNQAsMOyGTU/DI3K5Os="; - "linux-mips64" = "sha256-4a/zD1CrC/sxtBHqSRpom0SYVoN38bz3FAM40OSdVI0="; - "linux-mips64le" = "sha256-JnfKuBGLHYNLnRieS0KV8sYaTjh2rbp1yijvNOrU0FE="; - "linux-mipsle" = "sha256-nWqoay8c4faRk2+G5TvwbsbnndjTU4oglOTfhSC+TLQ="; - "linux-ppc64" = "sha256-pjeI/bx0i+QchQLhNB88ACPI34SrFvvFA01F5Nb16Ys="; - "linux-ppc64le" = "sha256-ZDMDwrP1zYlOI1hdbd3iZwKr59v/8CWj2sZ1RdosAiE="; - "linux-riscv64" = "sha256-O2EvOnjwbNssB7FtbK44yFcXfkrh9HOsPs/HF+uD2m8="; - "linux-s390x" = "sha256-BKeNDtuc9IkmV4GpuZcdsGc2F039KQeLdozxh7u+FDw="; - "macos-amd64" = "sha256-ZKBm8PbKjg4t0jIBPRKAv85L8eZOwJ1wBvh3cRSqHOI="; - "macos-arm64" = "sha256-AvjJp7JF05CetYDnwNJneAsotm1vBHWqB/vCdcIohoU="; - "windows-386" = "sha256-AVLbWh+WtJKynFDS6IfhuvYudw4Ow9s6w2JyDWG/2CI="; - "windows-amd64" = "sha256-puAQhiPGuwzkElWiBdTRGWOaUR2AIP7Qv9S3pwEY74E="; - "windows-arm64" = "sha256-4wxOMG+zvkM7gjhAiQvvNqNS0AamKKJdaBM/+rRxgXk="; - }, -}: -let - constants = callPackage ./constants.nix { platform = buildPlatform; }; - host-constants = callPackage ./constants.nix { platform = hostPlatform; }; - stdenv-constants = callPackage ./constants.nix { platform = stdenv.hostPlatform; }; -in -{ - depot_tools = fetchgit { - url = "https://chromium.googlesource.com/chromium/tools/depot_tools.git"; - rev = depot_toolsCommit; - hash = depot_toolsHash; - }; - - cipd = - let - unwrapped = - runCommand "cipd-${cipdCommit}" - { - src = fetchurl { - name = "cipd-${cipdCommit}-unwrapped"; - url = "https://chrome-infra-packages.appspot.com/client?platform=${stdenv-constants.platform}&version=git_revision:${cipdCommit}"; - hash = cipdHashes.${stdenv-constants.platform}; - }; - } - '' - mkdir --parents $out/bin - install --mode=0755 $src $out/bin/cipd - ''; - in - writeShellScriptBin "cipd" '' - params=$@ - - if [[ "$1" == "ensure" ]]; then - shift 1 - params="ensure" - - while [ "$#" -ne 0 ]; do - if [[ "$1" == "-ensure-file" ]]; then - ensureFile="$2" - shift 2 - params="$params -ensure-file $ensureFile" - - sed -i 's/''${platform}/${host-constants.platform}/g' "$ensureFile" - sed -i 's/gn\/gn\/${stdenv-constants.platform}/gn\/gn\/${constants.platform}/g' "$ensureFile" - - if grep flutter/java/openjdk "$ensureFile" >/dev/null; then - sed -i '/src\/flutter\/third_party\/java\/openjdk/,+2 d' "$ensureFile" - fi - else - params="$params $1" - shift 1 - fi - done - fi - - exec ${unwrapped}/bin/cipd $params - ''; - - vpython = - pythonPkg: - runCommand "vpython3" { } '' - mkdir --parents $out/bin - ln --symbolic ${pythonPkg}/bin/python $out/bin/vpython3 - ''; - - xcode-select = writeShellScriptBin "xcode-select" '' - echo ${darwin.xcode}/Contents/Developer - ''; -} diff --git a/pkgs/development/compilers/flutter/flutter-tools.nix b/pkgs/development/compilers/flutter/flutter-tools.nix index e99b347c69af..4c40870dbf6a 100644 --- a/pkgs/development/compilers/flutter/flutter-tools.nix +++ b/pkgs/development/compilers/flutter/flutter-tools.nix @@ -1,86 +1,74 @@ { - lib, - stdenv, - systemPlatform, buildDartApplication, - runCommand, - writeTextFile, - git, - which, dart, - version, - flutterSrc, - patches ? [ ], + flutterSource, + lib, + patches, pubspecLock, - engineVersion, + runCommand, + stdenv, + version, + which, + writableTmpDirAsHomeHook, }: let - # https://github.com/flutter/flutter/blob/17c92b7ba68ea609f4eb3405211d019c9dbc4d27/engine/src/flutter/tools/engine_tool/test/commands/stamp_command_test.dart#L125 - engine_stamp = writeTextFile { - name = "engine_stamp"; - text = builtins.toJSON { - build_date = "2025-06-27T12:30:00.000Z"; - build_time_ms = 1751027400000; - git_revision = engineVersion; - git_revision_date = "2025-06-27T17:11:53-07:00"; - content_hash = "1111111111111111111111111111111111111111"; - }; + dartEntryPoints = { + "flutter_tools.snapshot" = "bin/flutter_tools.dart"; }; - - dartEntryPoints."flutter_tools.snapshot" = "bin/flutter_tools.dart"; in -buildDartApplication.override { inherit dart; } { +buildDartApplication.override { inherit dart; } (finalAttrs: { + __structuredAttrs = true; + strictDeps = true; pname = "flutter-tools"; - inherit version dartEntryPoints; + inherit + version + patches + pubspecLock + dartEntryPoints + ; + + src = flutterSource; + + sourceRoot = "${finalAttrs.src.name}/packages/flutter_tools"; + dartOutputType = "jit-snapshot"; - src = flutterSrc; - sourceRoot = "${flutterSrc.name}/packages/flutter_tools"; + dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${stdenv.hostPlatform.system}" ]; - inherit patches; # The given patches are made for the entire SDK source tree. prePatch = '' chmod --recursive u+w "../.." pushd "../.." ''; + postPatch = '' + echo -n "${version}" > version popd '' - # Use arm64 instead of arm64e. + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace lib/src/ios/xcodeproj.dart \ - --replace-fail arm64e arm64 - '' - # need network - + lib.optionalString (lib.versionAtLeast version "3.35.0") '' - cp ${engine_stamp} ../../bin/cache/engine_stamp.json - substituteInPlace lib/src/flutter_cache.dart \ - --replace-fail "registerArtifact(FlutterEngineStamp(this, logger));" "" + --replace-fail "arm64e" "arm64" ''; # When the JIT snapshot is being built, the application needs to run. # It attempts to generate configuration files, and relies on a few external # tools. nativeBuildInputs = [ - git which + writableTmpDirAsHomeHook ]; - preConfigure = '' - export HOME=. - export FLUTTER_ROOT="$(realpath ../../)" - mkdir --parents "$FLUTTER_ROOT/bin/cache" - ln --symbolic '${dart}' "$FLUTTER_ROOT/bin/cache/dart-sdk" - ''; - dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${systemPlatform}" ]; + preConfigure = '' + export FLUTTER_ROOT=$(realpath ../../) + mkdir --parents "$FLUTTER_ROOT/bin/cache" + ln --symbolic "${dart}" "$FLUTTER_ROOT/bin/cache/dart-sdk" + ''; # The Dart wrapper launchers are useless for the Flutter tool - it is designed # to be launched from a snapshot by the SDK. postInstall = '' - pushd "$out" - rm ${builtins.concatStringsSep " " (builtins.attrNames dartEntryPoints)} - popd + rm "$out"/${builtins.concatStringsSep " " (builtins.attrNames dartEntryPoints)} ''; sdkSourceBuilders = { @@ -90,7 +78,7 @@ buildDartApplication.override { inherit dart; } { runCommand "dart-sdk-${name}" { passthru.packageRoot = "."; } '' for path in '${dart}/pkg/${name}'; do if [ -d "$path" ]; then - ln -s "$path" "$out" + ln --symbolic "$path" "$out" break fi done @@ -101,6 +89,4 @@ buildDartApplication.override { inherit dart; } { fi ''; }; - - inherit pubspecLock; -} +}) diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 80bc56cd149d..eaa6ef2f5bf3 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,221 +1,358 @@ { - useNixpkgsEngine ? false, - version, - engineVersion, - engineHashes ? { }, - engineUrl ? "https://github.com/flutter/flutter.git@${engineVersion}", - enginePatches ? [ ], - engineRuntimeModes ? [ - "release" - "debug" - ], - engineSwiftShaderHash, - engineSwiftShaderRev, - patches, - channel, - dart, - src, - pubspecLock, - artifactHashes ? null, + scope, lib, stdenv, + dart, + autoPatchelfHook, + flutterSource, + flutter-tools, callPackage, + host-artifacts, + artifacts ? host-artifacts, + version, + engineVersion, + channel, + dartVersion, + patches, makeWrapper, - darwin, gitMinimal, which, jq, + unzip, + gnutar, + pkg-config, + atk, + cairo, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + libepoxy, + pango, + libx11, + xorgproto, + libdeflate, + zlib, + cmake, + ninja, + clang, + darwin, + cipd, + depot_tools, + wrapGAppsHook3, writableTmpDirAsHomeHook, - flutterTools ? null, -}@args: + fd, + cacert, + moreutils, + writeTextFile, + supportedTargetFlutterPlatforms, + extraPkgConfigPackages ? [ ], + extraLibraries ? [ ], + extraIncludes ? [ ], + extraCxxFlags ? [ ], + extraCFlags ? [ ], + extraLinkerFlags ? [ ], +}: let - engine = - if args.useNixpkgsEngine or false then - callPackage ./engine/default.nix { - inherit (args) dart; - dartSdkVersion = args.dart.version; - flutterVersion = version; - swiftshaderRev = engineSwiftShaderRev; - swiftshaderHash = engineSwiftShaderHash; - version = engineVersion; - hashes = engineHashes; - url = engineUrl; - patches = enginePatches; - runtimeModes = engineRuntimeModes; - } - else - null; - - dart = if args.useNixpkgsEngine or false then engine.dart else args.dart; - - flutterTools = - args.flutterTools or (callPackage ./flutter-tools.nix { - inherit - dart - engineVersion - patches - pubspecLock - version - ; - flutterSrc = src; - systemPlatform = stdenv.hostPlatform.system; - }); - - unwrapped = stdenv.mkDerivation { - name = "flutter-${version}-unwrapped"; - inherit src patches version; - - nativeBuildInputs = [ - makeWrapper - jq - gitMinimal - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; - strictDeps = true; - - preConfigure = '' - if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then - echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." - exit 1 - fi - ''; - - postPatch = '' - patchShebangs --build ./bin/ - patchShebangs packages/flutter_tools/bin - ''; - - buildPhase = '' - runHook preBuild - '' - # The flutter_tools package tries to run many Git commands. In most - # cases, unexpected output is handled gracefully, but commands are never - # expected to fail completely. A blank repository needs to be created. - + '' - rm --recursive --force .git # Remove any existing Git directory - git init --initial-branch=nixpkgs - GIT_AUTHOR_NAME=Nixpkgs GIT_COMMITTER_NAME=Nixpkgs \ - GIT_AUTHOR_EMAIL= GIT_COMMITTER_EMAIL= \ - GIT_AUTHOR_DATE='1/1/1970 00:00:00 +0000' GIT_COMMITTER_DATE='1/1/1970 00:00:00 +0000' \ - git commit --allow-empty --message="Initial commit" - (. '${../../../build-support/fetchgit/deterministic-git}'; make_deterministic_repo .) - '' - + '' - mkdir --parents bin/cache - - # Add a flutter_tools artifact stamp, and build a snapshot. - # This is the Flutter CLI application. - echo "$(git rev-parse HEAD)" > bin/cache/flutter_tools.stamp - ln --symbolic '${flutterTools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot - - # Some of flutter_tools's dependencies contain static assets. The - # application attempts to read its own package_config.json to find these - # assets at runtime. - mkdir --parents packages/flutter_tools/.dart_tool - ln --symbolic '${flutterTools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json - - echo -n "${version}" > version - cat < bin/cache/flutter.version.json - { - "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq --raw-output .version)", - "flutterVersion": "${version}", - "frameworkVersion": "${version}", - "channel": "${channel}", - "repositoryUrl": "https://github.com/flutter/flutter.git", - "frameworkRevision": "nixpkgs000000000000000000000000000000000", - "frameworkCommitDate": "1970-01-01 00:00:00", - "engineRevision": "${engineVersion}", - "dartSdkVersion": "${dart.version}" - } - EOF - - # Suppress a small error now that `.gradle`'s location changed. - # Location changed because of the patch "gradle-flutter-tools-wrapper.patch". - mkdir --parents "$out/packages/flutter_tools/gradle/.gradle" - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - mkdir --parents $out - cp --recursive . $out - rm --recursive --force $out/bin/cache/dart-sdk - ln --symbolic --force ${dart} $out/bin/cache/dart-sdk - - # The regular launchers are designed to download/build/update SDK - # components, and are not very useful in Nix. - # Replace them with simple links and wrappers. - rm "$out/bin"/{dart,flutter} - ln --symbolic "$out/bin/cache/dart-sdk/bin/dart" "$out/bin/dart" - makeShellWrapper "$out/bin/dart" "$out/bin/flutter" \ - --set-default FLUTTER_ROOT "$out" \ - --set FLUTTER_ALREADY_LOCKED true \ - --add-flags "--disable-dart-dev --packages='${flutterTools.pubcache}/package_config.json' \$NIX_FLUTTER_TOOLS_VM_OPTIONS $out/bin/cache/flutter_tools.snapshot" - - runHook postInstall - ''; - - doInstallCheck = true; - nativeInstallCheckInputs = [ - which - writableTmpDirAsHomeHook - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; - installCheckPhase = '' - runHook preInstallCheck - - $out/bin/flutter config --android-studio-dir $HOME - $out/bin/flutter config --android-sdk $HOME - $out/bin/flutter --version | fgrep --quiet '${builtins.substring 0 10 engineVersion}' - - runHook postInstallCheck - ''; - - passthru = { - # TODO: rely on engine.version instead of engineVersion - inherit - dart - engineVersion - artifactHashes - channel - ; - tools = flutterTools; - # The derivation containing the original Flutter SDK files. - # When other derivations wrap this one, any unmodified files - # found here should be included as-is, for tooling compatibility. - sdk = unwrapped; - } - // lib.optionalAttrs (engine != null) { - inherit engine; - }; - - meta = { - broken = (lib.versionOlder version "3.32") && useNixpkgsEngine; - description = "Makes it easy and fast to build beautiful apps for mobile and beyond"; - longDescription = '' - Flutter is Google's SDK for crafting beautiful, - fast user experiences for mobile, web, and desktop from a single codebase. - ''; - homepage = "https://flutter.dev"; - license = lib.licenses.bsd3; - sourceProvenance = - with lib.sourceTypes; - if useNixpkgsEngine then [ fromSource ] else [ binaryNativeCode ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" + appRuntimeDeps = + lib.optionals + (stdenv.hostPlatform.isLinux && (builtins.elem "linux" supportedTargetFlutterPlatforms)) + [ + atk + cairo + gdk-pixbuf + glib + gtk3 + harfbuzz + libepoxy + pango + libx11 + libdeflate ]; - mainProgram = "flutter"; - maintainers = with lib.maintainers; [ - ericdallo + + # Development packages required for compilation. + appBuildDeps = + let + # https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3 + deps = + pkg: lib.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ])); + withKey = pkg: { + key = pkg.outPath; + val = pkg; + }; + collect = pkg: lib.map withKey ([ pkg ] ++ deps pkg); + in + lib.map (e: e.val) ( + lib.genericClosure { + startSet = lib.map withKey appRuntimeDeps; + operator = item: collect item.val; + } + ); + + appStaticBuildDeps = + (lib.optionals + (stdenv.hostPlatform.isLinux && (builtins.elem "linux" supportedTargetFlutterPlatforms)) + [ + libx11 + xorgproto + zlib + ] + ) + ++ extraLibraries; + + # Tools used by the Flutter SDK to compile applications. + buildTools = + lib.optionals + (stdenv.hostPlatform.isLinux && (builtins.elem "linux" supportedTargetFlutterPlatforms)) + [ + pkg-config + cmake + ninja + clang ]; - teams = [ lib.teams.flutter ]; - }; - }; + + # Nix-specific compiler configuration. + pkgConfigPackages = map (lib.getOutput "dev") (appBuildDeps ++ extraPkgConfigPackages); + + includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") ( + appStaticBuildDeps ++ extraIncludes + ); + + linkerFlags = + (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags; in -unwrapped +stdenv.mkDerivation (finalAttrs: { + __structuredAttrs = true; + strictDeps = true; + pname = "flutter"; + inherit version patches; + + src = flutterSource; + + nativeBuildInputs = [ + moreutils + makeWrapper + jq + unzip + gnutar + ] + ++ + lib.optionals + (stdenv.hostPlatform.isLinux && (builtins.elem "linux" supportedTargetFlutterPlatforms)) + [ + wrapGAppsHook3 + autoPatchelfHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; + + buildInputs = appRuntimeDeps; + + postPatch = '' + patchShebangs --build ./bin/ + patchShebangs packages/flutter_tools/bin + ''; + + preConfigure = '' + if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then + echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." + exit 1 + fi + ''; + + buildPhase = '' + runHook preBuild + + mkdir --parents bin/cache + '' + # Add a flutter_tools artifact stamp, and build a snapshot. + # This is the Flutter CLI application. + + '' + echo "nixpkgs000000000000000000000000000000000" > bin/cache/flutter_tools.stamp + ln --symbolic ${flutter-tools}/share/flutter_tools.snapshot bin/cache/flutter_tools.snapshot + '' + # Some of flutter_tools's dependencies contain static assets. The + # application attempts to read its own package_config.json to find these + # assets at runtime. + + '' + mkdir --parents packages/flutter_tools/.dart_tool + ln --symbolic ${flutter-tools.pubcache}/package_config.json packages/flutter_tools/.dart_tool/package_config.json + '' + + lib.optionalString (lib.versionOlder version "3.33") '' + echo -n "${version}" > version + '' + + '' + cp ${ + writeTextFile { + name = "flutter.version.json"; + text = builtins.toJSON { + flutterVersion = version; + frameworkVersion = version; + channel = channel; + repositoryUrl = "https://github.com/flutter/flutter.git"; + frameworkRevision = "nixpkgs000000000000000000000000000000000"; + frameworkCommitDate = "1970-01-01 00:00:00"; + engineRevision = engineVersion; + dartSdkVersion = dartVersion; + }; + } + } bin/cache/flutter.version.json + jq --arg version "$(jq --raw-output .version ${dart}/bin/resources/devtools/version.json)" '. + {devToolsVersion: $version}' bin/cache/flutter.version.json | sponge bin/cache/flutter.version.json + echo "${engineVersion}" > bin/cache/engine.stamp + '' + # Suppress a small error now that `.gradle`'s location changed. + # Location changed because of the patch "gradle-flutter-tools-wrapper.patch". + + '' + mkdir --parents packages/flutter_tools/gradle/.gradle + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + ${lib.concatMapStrings (artifact: '' + ${lib.optionalString ( + artifact.target == "bin/cache/flutter_web_sdk" + ) ''rm --recursive --force "$out/${artifact.target}"''} + ${ + if + ( + (lib.hasSuffix ".zip" artifact.path) + || (lib.hasSuffix ".tar.gz" artifact.path) + || (lib.hasSuffix ".tgz" artifact.path) + ) + then + '' + temp_path=$(mktemp -d) + ${lib.optionalString (lib.hasSuffix ".zip" artifact.path) ''unzip -o "${artifact.path}" -d "$temp_path"''} + ${lib.optionalString ( + (lib.hasSuffix ".tar.gz" artifact.path) || (lib.hasSuffix ".tgz" artifact.path) + ) ''tar --extract --gzip --file "${artifact.path}" --directory "$temp_path"''} + '' + else + '' + temp_path="${artifact.path}" + '' + } + content_count=$(ls --almost-all "$temp_path" | wc --lines) + target_path="$out/${artifact.target}" + if [ "$content_count" -eq 1 ] && [ ! -e "$target_path" ]; then + mkdir --parents "$(dirname "$target_path")" + cp --recursive --no-target-directory "$temp_path"/* "$target_path" + else + mkdir --parents "$target_path" + cp --recursive "$temp_path"/* "$target_path"/ + fi + chmod --recursive +w "$target_path" + if [ "${artifact.path}" != "$temp_path" ]; then + rm --recursive --force "$temp_path" + fi + '') artifacts} + + cp --recursive . $out + ln --symbolic --force ${dart} $out/bin/cache/dart-sdk + '' + # The regular launchers are designed to download/build/update SDK + # components, and are not very useful in Nix. + # Replace them with simple links and wrappers. + + '' + rm $out/bin/{dart,flutter} + ln --symbolic ${lib.getExe dart} $out/bin/dart + + for path in ${ + builtins.concatStringsSep " " ( + builtins.foldl' ( + paths: pkg: + paths + ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") [ + "lib" + "share" + ]) + ) [ ] pkgConfigPackages + ) + }; do + addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path" + done + + makeWrapper ${lib.getExe dart} $out/bin/flutter \ + --set-default FLUTTER_ROOT $out \ + --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ + --set FLUTTER_ALREADY_LOCKED true \ + --suffix PATH : '${ + lib.makeBinPath ( + [ + depot_tools + cipd + which + ] + ++ buildTools + ) + }' \ + --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ + --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ + --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \ + --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \ + --prefix LDFLAGS "''\t" '${ + builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags) + }' \ + ''${gappsWrapperArgs[@]} \ + --add-flags "--disable-dart-dev --packages='${flutter-tools.pubcache}/package_config.json' --root-certs-file='${cacert}/etc/ssl/certs/ca-bundle.crt' $out/bin/cache/flutter_tools.snapshot" + + runHook postInstall + ''; + + doInstallCheck = true; + + nativeInstallCheckInputs = [ + which + writableTmpDirAsHomeHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; + + installCheckPhase = '' + runHook preInstallCheck + + $out/bin/flutter config --android-studio-dir $HOME + $out/bin/flutter config --android-sdk $HOME + $out/bin/flutter --version | fgrep --quiet '${builtins.substring 0 10 engineVersion}' + + runHook postInstallCheck + ''; + + dontWrapGApps = true; + + # https://github.com/flutter/engine/pull/28525 + appendRunpaths = lib.optionals ( + stdenv.hostPlatform.isLinux && (builtins.elem "linux" supportedTargetFlutterPlatforms) + ) [ "$ORIGIN" ]; + + passthru = { + buildFlutterApplication = callPackage ./build-support/build-flutter-application.nix { + flutter = scope.flutter; + }; + updateScript = ./update.py; + inherit scope; + inherit (scope) dart; + }; + + meta = { + description = "Makes it easy and fast to build beautiful apps for mobile and beyond"; + longDescription = '' + Flutter is Google's SDK for crafting beautiful, + fast user experiences for mobile, web, and desktop from a single codebase. + ''; + homepage = "https://flutter.dev"; + license = lib.licenses.bsd3; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + mainProgram = "flutter"; + maintainers = with lib.maintainers; [ ericdallo ]; + teams = [ lib.teams.flutter ]; + }; +}) diff --git a/pkgs/development/compilers/flutter/host-artifacts.nix b/pkgs/development/compilers/flutter/host-artifacts.nix new file mode 100644 index 000000000000..444e5cabd764 --- /dev/null +++ b/pkgs/development/compilers/flutter/host-artifacts.nix @@ -0,0 +1,302 @@ +{ + lib, + stdenv, + constants, + engineVersion, + artifactHashes, + useNixpkgsEngine, + engines, + fetchurl, + hostPlatform ? stdenv.hostPlatform, + supportedTargetFlutterPlatforms, +}: + +let + hostConstants = constants.makeConstants hostPlatform; + + engineBaseUrl = "https://storage.googleapis.com/flutter_infra_release/flutter/${engineVersion}/"; + baseUrl = "https://storage.googleapis.com/flutter_infra_release/"; + + getUrl = + path: + if + ( + lib.hasPrefix "flutter/" path + || lib.hasPrefix "gradle-" path + || lib.hasPrefix "ios-usb-dependencies" path + ) + then + baseUrl + path + else + engineBaseUrl + path; + + artifacts = { + universal = [ + { + path = "flutter/fonts/3012db47f3130e62f7cc0beabff968a33cbec8d8/fonts.zip"; + target = "bin/cache/artifacts/material_fonts"; + hash = "sha256-5W+o6btFif3pZL495FHz5bJR5KHq+x3JjZSt0DTdWoY="; + } + { + path = "gradle-wrapper/fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa/gradle-wrapper.tgz"; + target = "bin/cache/artifacts/gradle_wrapper"; + hash = "sha256-MelCi68aKy9IXxEQxYmfhSZJsz1Goumwf50XdS1QGQo="; + } + { + path = "sky_engine.zip"; + target = "bin/cache/pkg"; + } + { + path = "flutter_gpu.zip"; + target = "bin/cache/pkg"; + } + { + path = "flutter_patched_sdk.zip"; + target = "bin/cache/artifacts/engine/common"; + } + { + path = "flutter_patched_sdk_product.zip"; + target = "bin/cache/artifacts/engine/common"; + } + { + path = "${hostPlatform.parsed.kernel.name}-${ + if hostPlatform.isWindows then "x64" else hostConstants.alt-arch + }/artifacts.zip"; + target = "bin/cache/artifacts/engine/${hostPlatform.parsed.kernel.name}-${ + if (hostPlatform.isDarwin || hostPlatform.isWindows) then "x64" else hostConstants.alt-arch + }"; + } + { + path = "${hostPlatform.parsed.kernel.name}-${ + if hostPlatform.isWindows then "x64" else hostConstants.alt-arch + }/font-subset.zip"; + target = "bin/cache/artifacts/engine/${hostPlatform.parsed.kernel.name}-${ + if (hostPlatform.isDarwin || hostPlatform.isWindows) then "x64" else hostConstants.alt-arch + }"; + } + ]; + + web = [ + { + path = "flutter-web-sdk.zip"; + target = "bin/cache/flutter_web_sdk"; + } + ]; + + linux = [ + { + path = "linux-${hostConstants.alt-arch}/artifacts.zip"; + target = "bin/cache/artifacts/engine/linux-${hostConstants.alt-arch}"; + } + { + path = "linux-${hostConstants.alt-arch}-debug/linux-${hostConstants.alt-arch}-flutter-gtk.zip"; + target = "bin/cache/artifacts/engine/linux-${hostConstants.alt-arch}"; + } + { + path = "linux-${hostConstants.alt-arch}-profile/linux-${hostConstants.alt-arch}-flutter-gtk.zip"; + target = "bin/cache/artifacts/engine/linux-${hostConstants.alt-arch}-profile"; + } + { + path = "linux-${hostConstants.alt-arch}-release/linux-${hostConstants.alt-arch}-flutter-gtk.zip"; + target = "bin/cache/artifacts/engine/linux-${hostConstants.alt-arch}-release"; + } + ]; + + # arm64? + windows = [ + { + path = "windows-x64/artifacts.zip"; + target = "bin/cache/artifacts/engine/windows-x64"; + } + { + path = "windows-x64-debug/windows-x64-flutter.zip"; + target = "bin/cache/artifacts/engine/windows-x64"; + } + { + path = "windows-x64/flutter-cpp-client-wrapper.zip"; + target = "bin/cache/artifacts/engine/windows-x64"; + } + { + path = "windows-x64-profile/windows-x64-flutter.zip"; + target = "bin/cache/artifacts/engine/windows-x64-profile"; + } + { + path = "windows-x64-release/windows-x64-flutter.zip"; + target = "bin/cache/artifacts/engine/windows-x64-release"; + } + ]; + + macos = [ + { + path = "darwin-x64/framework.zip"; + target = "bin/cache/artifacts/engine/darwin-x64"; + } + { + path = "darwin-x64/gen_snapshot.zip"; + target = "bin/cache/artifacts/engine/darwin-x64"; + } + { + path = "darwin-x64-profile/artifacts.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-profile"; + } + { + path = "darwin-x64-profile/framework.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-profile"; + } + { + path = "darwin-x64-profile/gen_snapshot.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-profile"; + } + { + path = "darwin-x64-release/artifacts.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-release"; + } + { + path = "darwin-x64-release/framework.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-release"; + } + { + path = "darwin-x64-release/gen_snapshot.zip"; + target = "bin/cache/artifacts/engine/darwin-x64-release"; + } + { + path = "darwin-${hostConstants.alt-arch}/artifacts.zip"; + target = "bin/cache/artifacts/engine/darwin-x64"; + } + ]; + + ios = [ + { + path = "ios/artifacts.zip"; + target = "bin/cache/artifacts/engine/ios"; + } + { + path = "ios-profile/artifacts.zip"; + target = "bin/cache/artifacts/engine/ios-profile"; + } + { + path = "ios-release/artifacts.zip"; + target = "bin/cache/artifacts/engine/ios-release"; + } + { + path = "ios-usb-dependencies/libimobiledevice/0bf0f9e941c85d06ce4b5909d7a61b3a4f2a6a05/libimobiledevice.zip"; + target = "bin/cache/artifacts/libimobiledevice"; + hash = "sha256-EPzWDY5SYegep6DB9ESd/ApklzLtE8reEllMUPzmkLg="; + } + { + path = "ios-usb-dependencies/libusbmuxd/19d6bec393c9f9b31ccb090059f59268da32e281/libusbmuxd.zip"; + target = "bin/cache/artifacts/libusbmuxd"; + hash = "sha256-RQT0Kq8rKKgokp1haASMZ8K84+M2ZbaJcs/MunZ7/L0="; + } + { + path = "ios-usb-dependencies/libplist/cf5897a71ea412ea2aeb1e2f6b5ea74d4fabfd8c/libplist.zip"; + target = "bin/cache/artifacts/libplist"; + hash = "sha256-cx5758EQb/0SkrVusXGFzH2dUChzFd5dFpMKxlxKbS8="; + } + { + path = "ios-usb-dependencies/openssl/22dbb176deef7d9a80f5c94f57a4b518ea935f50/openssl.zip"; + target = "bin/cache/artifacts/openssl"; + hash = "sha256-erz3j0oIZm2IqvFD41APkTgz7YZaaDReokMwGhFCsmA="; + } + { + path = "ios-usb-dependencies/libimobiledeviceglue/050ff3bf8fdab6ce53a2ddc6ae49b11b1c02a168/libimobiledeviceglue.zip"; + target = "bin/cache/artifacts/libimobiledeviceglue"; + hash = "sha256-4rXsfBxIaByVcIuzs05G5RergFZrgaBs1XBmu7ibwAA="; + } + { + path = "ios-usb-dependencies/ios-deploy/7a29ab0b6d611f2bf5de4b6f929a82a091866307/ios-deploy.zip"; + target = "bin/cache/artifacts/ios-deploy"; + hash = "sha256-1p6agbzur4xFai4ZzzjHp4ZvRv+VWcPygBgBYQdQ2Vw="; + } + ]; + + android = [ + { + path = "android-x86/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-x86"; + } + { + path = "android-x64/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-x64"; + } + { + path = "android-arm/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm"; + } + { + path = "android-arm-profile/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm-profile"; + } + { + path = "android-arm-release/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm-release"; + } + { + path = "android-arm64/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm64"; + } + { + path = "android-arm64-profile/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm64-profile"; + } + { + path = "android-arm64-release/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-arm64-release"; + } + { + path = "android-x64-profile/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-x64-profile"; + } + { + path = "android-x64-release/artifacts.zip"; + target = "bin/cache/artifacts/engine/android-x64-release"; + } + { + path = "android-arm-profile/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-arm-profile/${hostPlatform.parsed.kernel.name}-x64"; + } + { + path = "android-arm-release/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-arm-release/${hostPlatform.parsed.kernel.name}-x64"; + } + { + path = "android-arm64-profile/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-arm64-profile/${hostPlatform.parsed.kernel.name}-x64"; + } + { + path = "android-arm64-release/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-arm64-release/${hostPlatform.parsed.kernel.name}-x64"; + } + { + path = "android-x64-profile/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-x64-profile/${hostPlatform.parsed.kernel.name}-x64"; + } + { + path = "android-x64-release/${hostPlatform.parsed.kernel.name}-x64.zip"; + target = "bin/cache/artifacts/engine/android-x64-release/${hostPlatform.parsed.kernel.name}-x64"; + } + ]; + }; +in +(lib.unique ( + lib.map ( + artifact: + let + artifactName = lib.removeSuffix ".${lib.last (lib.splitString "." artifact.path)}" artifact.path; + artifactNameUnderscore = lib.replaceStrings [ "-" "/" ] [ "_M_" "_S_" ] artifactName; + useEngineOutput = useNixpkgsEngine && (builtins.elem artifactNameUnderscore engines.outputs); + in + { + path = + if useEngineOutput then + engines.${artifactNameUnderscore} + else + fetchurl { + url = getUrl artifact.path; + hash = artifactHashes.${artifact.path} or artifact.hash or ""; + }; + target = artifact.target; + id = artifact.path; + } + ) (lib.concatMap (x: artifacts.${x}) supportedTargetFlutterPlatforms) +)) diff --git a/pkgs/development/compilers/flutter/patches/opt-in-analytics.patch b/pkgs/development/compilers/flutter/patches/opt-in-analytics.patch new file mode 100644 index 000000000000..036958c47f3b --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/opt-in-analytics.patch @@ -0,0 +1,22 @@ +--- a/packages/flutter_tools/lib/src/reporting/usage.dart ++++ b/packages/flutter_tools/lib/src/reporting/usage.dart +@@ -218,7 +218,7 @@ + if (globals.platform.environment.containsKey('FLUTTER_HOST')) { + analytics.setSessionValue('aiid', globals.platform.environment['FLUTTER_HOST']); + } +- analytics.analyticsOpt = AnalyticsOpt.optOut; ++ analytics.analyticsOpt = AnalyticsOpt.optIn; + } + + return _DefaultUsage._( +--- a/packages/flutter_tools/lib/src/reporting/first_run.dart ++++ b/packages/flutter_tools/lib/src/reporting/first_run.dart +@@ -37,6 +37,8 @@ + ║ See Google's privacy policy: ║ + ║ https://policies.google.com/privacy ║ + ╚════════════════════════════════════════════════════════════════════════════╝ ++nixpkgs overrides: reporting is disabled by default. Opt-out is not a sent event. ++Run 'flutter config --analytics' to opt in to reports. + '''; + + /// The first run messenger determines whether the first run license terms diff --git a/pkgs/development/compilers/flutter/patches/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch b/pkgs/development/compilers/flutter/patches/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch new file mode 100644 index 000000000000..8abd25546790 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch @@ -0,0 +1,18 @@ +flutter defines a list of pointer kinds that can scroll the screen. +however, it does not bother recognizing the pointer kind on linux, +so every pointer is set to be recognized as mouse. effectively, touch +can't scroll anything. this workarounds the issue by making mouse +one of the "touch-like device types". + +Bug: https://github.com/flutter/flutter/issues/63209 + +--- a/packages/flutter/lib/src/widgets/scroll_configuration.dart ++++ b/packages/flutter/lib/src/widgets/scroll_configuration.dart +@@ -25,6 +25,7 @@ + // The VoiceAccess sends pointer events with unknown type when scrolling + // scrollables. + PointerDeviceKind.unknown, ++ PointerDeviceKind.mouse, + }; + + /// The default overscroll indicator applied on [TargetPlatform.android]. diff --git a/pkgs/development/compilers/flutter/scope.nix b/pkgs/development/compilers/flutter/scope.nix new file mode 100644 index 000000000000..ab7369a5513d --- /dev/null +++ b/pkgs/development/compilers/flutter/scope.nix @@ -0,0 +1,105 @@ +{ + dart, + dart-bin, + fetchFromGitHub, + fetchgit, + lib, + newScope, + stdenv, + engineRuntimeModes ? [ + "release" + "debug" + "profile" + ], + supportedTargetFlutterPlatforms ? [ + "universal" + "web" + ] + ++ (lib.optionals (stdenv.hostPlatform.isLinux) [ "linux" ]) + ++ (lib.optionals (stdenv.hostPlatform.isx86_64) [ "android" ]) + ++ (lib.optionals stdenv.hostPlatform.isDarwin [ + "macos" + "ios" + ]), +}: + +versionData: +lib.makeScope newScope ( + self: + versionData + // { + inherit supportedTargetFlutterPlatforms; + + constants = self.callPackage ./constants.nix { }; + + depot_tools = fetchgit { + url = "https://chromium.googlesource.com/chromium/tools/depot_tools.git"; + rev = "a0e694f18f15b364d2f9c23c4dde396bfc973fd1"; + postFetch = '' + substituteInPlace $out/gerrit_util.py \ + --replace-fail "import httplib2.socks" "httplib2.socks = None" + substituteInPlace $out/gerrit_util.py \ + --replace-fail "httplib2.socks.socksocket._socksocket__rewriteproxy = __fixed_rewrite_proxy" "pass" + substituteInPlace $out/gerrit_util.py \ + --replace-fail "httplib2.socks.PROXY_TYPE_HTTP_NO_TUNNEL" "3" + ''; + hash = "sha256-N9xBfLS8DnBjOD149EOu5pr8ffBOb39vebhFUwPBllc="; + }; + + flutterSource = fetchFromGitHub { + owner = "flutter"; + repo = "flutter"; + tag = self.version; + hash = self.flutterHash; + }; + + dart = + let + hash = + self.dartHash.${ + if (stdenv.hostPlatform.isLinux && (lib.versionAtLeast self.version "3.41")) then + "linux" + else + stdenv.hostPlatform.system + } or (throw "No dart hash for ${stdenv.hostPlatform.system}"); + in + (if (lib.versionAtLeast self.version "3.41") then dart else dart-bin).overrideAttrs (oldAttrs: { + version = self.dartVersion; + src = oldAttrs.src.overrideAttrs (_: { + version = self.dartVersion; + outputHash = hash; + }); + }); + + cipd = self.callPackage ./cipd.nix { }; + + engine = self.callPackage ./engine/default.nix { }; + + engines = + let + enginePackages = map ( + runtimeMode: self.callPackage ./engine/default.nix { runtimeMode = runtimeMode; } + ) engineRuntimeModes; + outputs = lib.unique (builtins.concatMap (e: e.outputs) enginePackages); + mergedOutputs = lib.genAttrs outputs ( + outputName: + let + found = lib.findFirst (e: e ? ${outputName}) null enginePackages; + in + found.${outputName} + ); + in + mergedOutputs + // { + inherit outputs; + }; + + host-artifacts = self.callPackage ./host-artifacts.nix { }; + + all-artifacts = self.callPackage ./all-artifacts.nix { }; + + flutter-tools = self.callPackage ./flutter-tools.nix { }; + + flutter = self.callPackage ./flutter.nix { scope = self; }; + } +) diff --git a/pkgs/development/compilers/flutter/sdk-symlink.nix b/pkgs/development/compilers/flutter/sdk-symlink.nix deleted file mode 100644 index d8ddd9bd0c2e..000000000000 --- a/pkgs/development/compilers/flutter/sdk-symlink.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - symlinkJoin, - makeWrapper, -}: -flutter: - -let - self = symlinkJoin { - inherit (flutter) pname; - name = "${flutter.name}-sdk-links"; - paths = [ - flutter - flutter.cacheDir - flutter.sdk - ]; - - nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - wrapProgram "$out/bin/flutter" \ - --set-default FLUTTER_ROOT "$out" - - # symlinkJoin seems to be missing the .git directory for some reason. - if [ -d '${flutter.sdk}/.git' ]; then - ln --symbolic '${flutter.sdk}/.git' "$out" - fi - - # For iOS/macOS builds, *.xcframework/'s from the pre-built - # artifacts are copied into each built app. However, the symlinkJoin - # means that the *.xcframework's contain symlinks into the nix store, - # which causes issues when actually running the apps. - # - # We'll fix this by only linking to an outer *.xcframework dir instead - # of trying to symlinkJoin the files inside the *.xcframework. - artifactsDir="$out/bin/cache/artifacts/engine" - shopt -s globstar - for file in "$artifactsDir"/**/*.xcframework/Info.plist; do - # Get the unwrapped path from the Info.plist inside each .xcframework - origFile="$(readlink -f "$file")" - origFrameworkDir="$(dirname "$origFile")" - - # Remove the symlinkJoin .xcframework dir and replace it with a symlink - # to the unwrapped .xcframework dir. - frameworkDir="$(dirname "$file")" - rm --recursive "$frameworkDir" - ln --symbolic "$origFrameworkDir" "$frameworkDir" - done - shopt -u globstar - ''; - - passthru = flutter.passthru // { - # Update the SDK attribute. - # This allows any modified SDK files to be included - # in future invocations. - sdk = self; - }; - - meta = flutter.meta // { - longDescription = '' - ${flutter.meta.longDescription} - Modified binaries are linked into the original SDK directory for use with tools that use the whole SDK. - ''; - }; - }; -in -self diff --git a/pkgs/development/compilers/flutter/update.py b/pkgs/development/compilers/flutter/update.py new file mode 100755 index 000000000000..c2e6ae6f20e8 --- /dev/null +++ b/pkgs/development/compilers/flutter/update.py @@ -0,0 +1,358 @@ +#!/usr/bin/env nix-shell +# !nix-shell -i python3 -p python3Packages.pyyaml nix-update dart + +import argparse +import json +import logging +import shutil +import stat +import subprocess +import sys +import tempfile +import urllib.request +from pathlib import Path +from typing import Any, NoReturn + +import yaml + +FLUTTER_RELEASES_URL = ( + "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json" +) + +logging.basicConfig( + level=logging.INFO, + format="%(levelname)s: %(message)s", + stream=sys.stderr, +) +logger = logging.getLogger(__name__) + + +def fatal_error(msg: str) -> NoReturn: + logger.error(msg) + sys.exit(1) + + +def run_command(cmd: list[str], cwd: Path | None = None) -> str: + try: + result = subprocess.run( + cmd, + capture_output=True, + text=True, + cwd=cwd, + check=True, + ) + return result.stdout.strip() + except subprocess.CalledProcessError as e: + fatal_error(f"Command failed: {' '.join(cmd)}\n{e.stderr.strip()}") + + +def fetch_url(url: str) -> bytes: + with urllib.request.urlopen(url, timeout=30) as response: + return response.read() + + +def get_nixpkgs_root() -> Path: + return Path(run_command(["git", "rev-parse", "--show-toplevel"])) + + +def run_nix_eval(cmds: list[str]) -> str: + return run_command(["nix", "eval", "--json", "--impure", *cmds]) + + +def run_nix_prefetch(url: str, unpack: bool = False) -> str: + args = ["nix", "store", "prefetch-file", "--json"] + if unpack: + args.append("--unpack") + args.append(url) + + output = run_command(args) + + hash_value = json.loads(output).get("hash") + if not hash_value: + fatal_error(f"No hash in prefetch output: {output}") + return hash_value + + +def get_version_str(flutter_version: str) -> str: + return "_".join(flutter_version.split(".")[:2]) + + +def requires_engine_hash(flutter_version: str) -> bool: + parts = flutter_version.split(".") + if len(parts) < 2: + return False + major, minor = int(parts[0]), int(parts[1]) + return major > 3 or (major == 3 and minor >= 41) + + +def get_version_data( + target_version: str | None = None, channel: str | None = None +) -> tuple[str, str, str, str]: + channel = channel or "stable" + releases_data = json.loads(fetch_url(FLUTTER_RELEASES_URL).decode("utf-8")) + + if not target_version: + release_hash = releases_data["current_release"].get(channel) + if not release_hash: + fatal_error(f"Channel '{channel}' not found in current releases") + release = next( + (r for r in releases_data["releases"] if r["hash"] == release_hash), + None, + ) + else: + release = next( + (r for r in releases_data["releases"] if r["version"] == target_version), + None, + ) + + if not release: + fatal_error(f"Version {target_version or 'latest'} not found in '{channel}'") + + target_version = release["version"] + release_hash = release["hash"] + dart_version = release.get("dart_sdk_version") + + if not dart_version: + fatal_error(f"No dart_sdk_version found for {target_version}") + + if " " in dart_version: + dart_version = dart_version.split(" ")[2].strip("()") + + engine_url = f"https://github.com/flutter/flutter/raw/{release_hash}/bin/internal/engine.version" + engine_version = fetch_url(engine_url).decode("utf-8").strip() + + return target_version, engine_version, dart_version, channel + + +def extract_nix_url(output: str) -> str: + try: + urls = json.loads(output) + return urls[0] if isinstance(urls, list) and urls else "" + except json.JSONDecodeError: + return output.strip('[]"').replace("\\", "") + + +def get_dart_hashes(flutter_version: str) -> dict[str, str]: + version_str = get_version_str(flutter_version) + platforms = ["x86_64-darwin", "aarch64-darwin"] + if not requires_engine_hash(flutter_version): + platforms += ["x86_64-linux", "aarch64-linux"] + dart_hashes = {} + + for system in platforms: + cmds = [ + "--file", + ".", + f"flutterPackages-bin.v{version_str}.passthru.scope.dart.src.drvAttrs.urls", + "--system", + system, + ] + output = run_nix_eval(cmds) + url = extract_nix_url(output) + + if not url: + fatal_error(f"No Dart SDK URL found for {system}") + + dart_hashes[system] = run_nix_prefetch(url) + + return dart_hashes + + +def get_flutter_hash(flutter_version: str) -> str: + version_str = get_version_str(flutter_version) + cmds = [ + "--file", + ".", + f"flutterPackages-bin.v{version_str}.passthru.scope.flutterSource.drvAttrs.urls", + ] + output = run_nix_eval(cmds) + url = extract_nix_url(output) + + if not url: + fatal_error(f"No Flutter source URL found for {flutter_version}") + + return run_nix_prefetch(url, unpack=True) + + +def get_artifact_hashes(flutter_version: str, engine_version: str) -> dict[str, str]: + version_str = get_version_str(flutter_version) + nixpkgs_root = get_nixpkgs_root() + + expr = ( + f"let pkgs = import {nixpkgs_root} {{ }}; " + "in (builtins.map (x: x.path.url) " + f'pkgs.flutterPackages-bin."v{version_str}".passthru.scope.all-artifacts)' + ) + + output = run_nix_eval(["--expr", expr]) + + artifacts = json.loads(output) + + if not isinstance(artifacts, list): + fatal_error("Artifacts is not a list") + + artifact_hashes = {} + for url in artifacts: + if engine_version not in url: + continue + + path_parts = url.split("/") + + hash_idx = path_parts.index(engine_version) + path_key = "/".join(path_parts[hash_idx + 1 :]) + + if path_key not in artifact_hashes: + artifact_hashes[path_key] = run_nix_prefetch(url) + + return artifact_hashes + + +def get_pubspec_lock(flutter_version: str) -> dict[str, Any]: + version_str = get_version_str(flutter_version) + target = f".#flutterPackages-bin.v{version_str}.scope.flutterSource" + + flutter_src_str = run_command([ + "nix", + "build", + "--no-link", + "--print-out-paths", + target, + ]) + if not flutter_src_str: + fatal_error(f"No Flutter source path found for {flutter_version}") + + flutter_src = Path(flutter_src_str) + + with tempfile.TemporaryDirectory(prefix="flutter_src_") as temp_dir_name: + temp_dir = Path(temp_dir_name) + flutter_copy = temp_dir / "flutter" + + shutil.copytree(flutter_src, flutter_copy, symlinks=False) + + for path_item in flutter_copy.rglob("*"): + path_item.chmod(path_item.stat().st_mode | stat.S_IWUSR) + flutter_copy.chmod(flutter_copy.stat().st_mode | stat.S_IWUSR) + + flutter_tools_path = flutter_copy / "packages" / "flutter_tools" + if not flutter_tools_path.exists(): + fatal_error(f"flutter_tools not found at {flutter_tools_path}") + + run_command(["dart", "pub", "get"], cwd=flutter_tools_path) + + pubspec_lock_path = flutter_tools_path / "pubspec.lock" + if not pubspec_lock_path.exists(): + fatal_error(f"pubspec.lock not found at {pubspec_lock_path}") + + with pubspec_lock_path.open("r", encoding="utf-8") as f: + return yaml.safe_load(f) + + +def save_json(data: dict[str, Any], output_path: Path) -> None: + output_path.parent.mkdir(parents=True, exist_ok=True) + with output_path.open("w", encoding="utf-8") as f: + json.dump(data, f, indent=2, sort_keys=True) + f.write("\n") + + +def main() -> None: + parser = argparse.ArgumentParser( + description="Update Flutter data.json for nixpkgs", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument( + "--version", + type=str, + help="Specific Flutter version (e.g., 3.41.4). Uses latest from channel if omitted.", + ) + parser.add_argument( + "--channel", + type=str, + default="stable", + choices=["stable", "beta"], + help="Release channel (default: stable)", + ) + + args = parser.parse_args() + + logger.info("Fetching version data...") + flutter_version, engine_version, dart_version, channel = get_version_data( + args.version, args.channel + ) + + logger.info(f"Target Flutter Version: {flutter_version}") + logger.info(f"Engine Version (commit): {engine_version}") + logger.info(f"Dart Version: {dart_version}") + + version_str = get_version_str(flutter_version) + version_dir = Path(__file__).resolve().parent / "versions" / version_str + output_path = version_dir / "data.json" + + has_engine_hash = requires_engine_hash(flutter_version) + + data = { + "version": flutter_version, + "engineVersion": engine_version, + "channel": channel, + "dartVersion": dart_version, + "dartHash": {}, + "flutterHash": "", + "artifactHashes": {}, + "pubspecLock": {}, + } + + save_json(data, output_path) + + logger.info("Fetching Dart hashes...") + data["dartHash"] = get_dart_hashes(flutter_version) + + if has_engine_hash: + data["dartHash"]["linux"] = ( + "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + ) + save_json(data, output_path) + logger.info("Running nix-update for dart hash...") + run_command([ + "nix-update", + "--version", + "skip", + "--override-filename", + str(output_path), + f"flutterPackages-source.v{version_str}.passthru.scope.dart", + ]) + with output_path.open("r", encoding="utf-8") as f: + updated_data = json.load(f) + data["dartHash"]["linux"] = updated_data.get("dartHash")["linux"] + + data["engineHash"] = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + save_json(data, output_path) + logger.info("Running nix-update for engine hash...") + run_command([ + "nix-update", + "--version", + "skip", + "--override-filename", + str(output_path), + f"flutterPackages-source.v{version_str}.passthru.scope.engine", + ]) + with output_path.open("r", encoding="utf-8") as f: + updated_data = json.load(f) + data["engineHash"] = updated_data.get("engineHash") + + logger.info("Fetching Flutter source hash...") + data["flutterHash"] = get_flutter_hash(flutter_version) + + logger.info("Fetching artifact hashes...") + data["artifactHashes"] = get_artifact_hashes(flutter_version, engine_version) + + save_json(data, output_path) + + logger.info("Generating pubspec.lock...") + data["pubspecLock"] = get_pubspec_lock(flutter_version) + + save_json(data, output_path) + + logger.info(f"Update complete. Data written to {output_path}") + + +if __name__ == "__main__": + main() diff --git a/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in b/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in deleted file mode 100644 index 8edff6a2e876..000000000000 --- a/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in +++ /dev/null @@ -1,44 +0,0 @@ -{ - callPackage, - flutterPackages, - lib, - symlinkJoin, -}: -let - nixpkgsRoot = "@nixpkgs_root@"; - flutterCompactVersion = "@flutter_compact_version@"; - - flutterPlatforms = [ - "android" - "ios" - "web" - "linux" - "windows" - "macos" - "fuchsia" - "universal" - ]; - systemPlatforms = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - - derivations = lib.foldl' ( - acc: flutterPlatform: - acc - ++ (map ( - systemPlatform: - callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix" { - flutter = flutterPackages."v${flutterCompactVersion}"; - inherit flutterPlatform systemPlatform; - hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; - } - ) systemPlatforms) - ) [ ] flutterPlatforms; -in -symlinkJoin { - name = "evaluate-derivations"; - paths = derivations; -} diff --git a/pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in b/pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in deleted file mode 100644 index 0972a3578b52..000000000000 --- a/pkgs/development/compilers/flutter/update/get-dart-hashes.nix.in +++ /dev/null @@ -1,22 +0,0 @@ -{ - lib, - fetchurl, -}: - -let - dartVersion = "@dart_version@"; - system = - { - x86_64-linux = "linux-x64"; - aarch64-linux = "linux-arm64"; - x86_64-darwin = "macos-x64"; - aarch64-darwin = "macos-arm64"; - } - ."@platform@"; -in -fetchurl { - url = "https://storage.googleapis.com/dart-archive/channels/${ - if lib.strings.hasSuffix ".beta" dartVersion then "beta" else "stable" - }/release/${dartVersion}/sdk/dartsdk-${system}-release.zip"; - hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; -} diff --git a/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in b/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in deleted file mode 100644 index c96a7b9adad2..000000000000 --- a/pkgs/development/compilers/flutter/update/get-engine-hashes.nix.in +++ /dev/null @@ -1,36 +0,0 @@ -{ - callPackage, - symlinkJoin, - lib, -}: -let - nixpkgsRoot = "@nixpkgs_root@"; - version = "@flutter_version@"; - engineVersion = "@engine_version@"; - - systemPlatforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - - derivations = lib.foldl' ( - acc: buildPlatform: - acc - ++ (map ( - targetPlatform: - callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/engine/source.nix" { - targetPlatform = lib.systems.elaborate targetPlatform; - hostPlatform = lib.systems.elaborate buildPlatform; - buildPlatform = lib.systems.elaborate buildPlatform; - flutterVersion = version; - version = engineVersion; - url = "https://github.com/flutter/flutter.git@${engineVersion}"; - hashes."${buildPlatform}"."${targetPlatform}" = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; - } - ) systemPlatforms) - ) [ ] systemPlatforms; -in -symlinkJoin { - name = "evaluate-derivations"; - paths = derivations; -} diff --git a/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in b/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in deleted file mode 100644 index aa71f8ae2ad3..000000000000 --- a/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in +++ /dev/null @@ -1,10 +0,0 @@ -{ fetchgit }: -fetchgit { - url = "https://swiftshader.googlesource.com/SwiftShader.git"; - rev = "@engine_swiftshader_rev@"; - - # Keep with in sync of pkgs/development/compilers/flutter/engine/package.nix - postFetch = '' - rm -rf $out/third_party/llvm-project - ''; -} diff --git a/pkgs/development/compilers/flutter/update/get-flutter.nix.in b/pkgs/development/compilers/flutter/update/get-flutter.nix.in deleted file mode 100644 index 02d802e026f0..000000000000 --- a/pkgs/development/compilers/flutter/update/get-flutter.nix.in +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchFromGitHub }: -fetchFromGitHub { - owner = "flutter"; - repo = "flutter"; - tag = "@flutter_version@"; - hash = "@hash@"; -} diff --git a/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix.in b/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix.in deleted file mode 100644 index 3d87a69815e7..000000000000 --- a/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix.in +++ /dev/null @@ -1,40 +0,0 @@ -{ - flutterPackages, - stdenv, - cacert, - writableTmpDirAsHomeHook, -}: -let - flutterCompactVersion = "@flutter_compact_version@"; - inherit (flutterPackages."v${flutterCompactVersion}") dart; -in -stdenv.mkDerivation (finalAttrs: { - name = "pubspec-lock"; - src = @flutter_src@; - - nativeBuildInputs = [ - dart - writableTmpDirAsHomeHook - ]; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "@hash@"; - - buildPhase = '' - runHook preBuild - - cd packages/flutter_tools - dart --root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt pub get - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - cp pubspec.lock $out - - runHook postInstall - ''; -}) diff --git a/pkgs/development/compilers/flutter/update/update.py b/pkgs/development/compilers/flutter/update/update.py deleted file mode 100755 index 7a28cc46d949..000000000000 --- a/pkgs/development/compilers/flutter/update/update.py +++ /dev/null @@ -1,501 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python3 -p python3Packages.pyyaml - -import argparse -import json -import os -import re -import subprocess -import sys -import tempfile -import urllib.request -from pathlib import Path - -import yaml - -FAKE_HASH = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - -NIXPKGS_ROOT = ( - subprocess.Popen( - ["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE, text=True - ) - .communicate()[0] - .strip() -) - - -def load_code(name, **kwargs): - with Path( - f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/update/{name}.in" - ).open("r", encoding="utf-8") as f: - code = f.read() - - for key, value in kwargs.items(): - code = code.replace(f"@{key}@", value) - - return code - - -# Return out paths -def nix_build(code): - with tempfile.NamedTemporaryFile(mode="w", encoding="utf-8", delete=False) as temp: - temp.write(code) - temp.flush() - os.fsync(temp.fileno()) - temp_name = temp.name - - process = subprocess.Popen( - [ - "nix-build", - "--impure", - "--no-out-link", - "--expr", - f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp_name} {{}}", - ], - stdout=subprocess.PIPE, - text=True, - ) - - process.wait() - Path(temp_name).unlink() # Clean up the temporary file - return process.stdout.read().strip().splitlines()[0] - - -# Return errors -def nix_build_to_fail(code): - with tempfile.NamedTemporaryFile(mode="w", encoding="utf-8", delete=False) as temp: - temp.write(code) - temp.flush() - os.fsync(temp.fileno()) - temp_name = temp.name - - process = subprocess.Popen( - [ - "nix-build", - "--impure", - "--keep-going", - "--no-link", - "--expr", - f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp_name} {{}}", - ], - stderr=subprocess.PIPE, - text=True, - ) - - stderr = "" - while True: - line = process.stderr.readline() - if not line: - break - stderr += line - print(line.strip()) - - process.wait() - Path(temp_name).unlink() # Clean up the temporary file - return stderr - - -def get_engine_hashes(engine_version, flutter_version): - code = load_code( - "get-engine-hashes.nix", - nixpkgs_root=NIXPKGS_ROOT, - flutter_version=flutter_version, - engine_version=engine_version, - ) - - stderr = nix_build_to_fail(code) - - pattern = re.compile( - rf"/nix/store/.*-flutter-engine-source-{engine_version}-(.+?-.+?)-(.+?-.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n" - ) - matches = pattern.findall(stderr) - result_dict = {} - - for match in matches: - flutter_platform, architecture, got = match - result_dict.setdefault(flutter_platform, {})[architecture] = got - - def sort_dict_recursive(d): - return { - k: sort_dict_recursive(v) if isinstance(v, dict) else v - for k, v in sorted(d.items()) - } - - return sort_dict_recursive(result_dict) - - -def get_artifact_hashes(flutter_compact_version): - code = load_code( - "get-artifact-hashes.nix", - nixpkgs_root=NIXPKGS_ROOT, - flutter_compact_version=flutter_compact_version, - ) - - stderr = nix_build_to_fail(code) - - pattern = re.compile( - r"/nix/store/.*-flutter-artifacts-(.+?)-(.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n" - ) - matches = pattern.findall(stderr) - result_dict = {} - - for match in matches: - flutter_platform, architecture, got = match - result_dict.setdefault(flutter_platform, {})[architecture] = got - - def sort_dict_recursive(d): - return { - k: sort_dict_recursive(v) if isinstance(v, dict) else v - for k, v in sorted(d.items()) - } - - return sort_dict_recursive(result_dict) - - -def get_dart_hashes(dart_version, channel): - platforms = ["x86_64-linux", "aarch64-linux", "x86_64-darwin", "aarch64-darwin"] - result_dict = {} - for platform in platforms: - code = load_code( - "get-dart-hashes.nix", - dart_version=dart_version, - platform=platform, - ) - stderr = nix_build_to_fail(code) - - pattern = re.compile(r"got:\s+(.+?)\n") - result_dict[platform] = pattern.findall(stderr)[0] - - return result_dict - - -def get_flutter_hash_and_src(flutter_version): - code = load_code("get-flutter.nix", flutter_version=flutter_version, hash="") - - stderr = nix_build_to_fail(code) - pattern = re.compile(r"got:\s+(.+?)\n") - flutter_hash_value = pattern.findall(stderr)[0] - - code = load_code( - "get-flutter.nix", flutter_version=flutter_version, hash=flutter_hash_value - ) - - return (flutter_hash_value, nix_build(code)) - - -def get_pubspec_lock(flutter_compact_version, flutter_src): - code = load_code( - "get-pubspec-lock.nix", - flutter_compact_version=flutter_compact_version, - flutter_src=flutter_src, - hash="", - ) - - stderr = nix_build_to_fail(code) - pattern = re.compile(r"got:\s+(.+?)\n") - pubspec_lock_hash = pattern.findall(stderr)[0] - - code = load_code( - "get-pubspec-lock.nix", - flutter_compact_version=flutter_compact_version, - flutter_src=flutter_src, - hash=pubspec_lock_hash, - ) - - pubspec_lock_file = nix_build(code) - - with Path(pubspec_lock_file).open("r", encoding="utf-8") as f: - pubspec_lock_yaml = f.read() - - return yaml.safe_load(pubspec_lock_yaml) - - -def get_engine_swiftshader_rev(engine_version): - with urllib.request.urlopen( - f"https://github.com/flutter/flutter/raw/{engine_version}/DEPS" - ) as f: - deps = f.read().decode("utf-8") - pattern = re.compile( - r"Var\('swiftshader_git'\) \+ '\/SwiftShader\.git' \+ '@' \+ \'([0-9a-fA-F]{40})\'\," - ) - return pattern.findall(deps)[0] - - -def get_engine_swiftshader_hash(engine_swiftshader_rev): - code = load_code( - "get-engine-swiftshader.nix", - engine_swiftshader_rev=engine_swiftshader_rev, - hash="", - ) - - stderr = nix_build_to_fail(code) - pattern = re.compile(r"got:\s+(.+?)\n") - return pattern.findall(stderr)[0] - - -def write_data( - nixpkgs_flutter_version_directory, - flutter_version, - channel, - engine_hash, - engine_hashes, - engine_swiftshader_hash, - engine_swiftshader_rev, - dart_version, - dart_hash, - flutter_hash, - artifact_hashes, - pubspec_lock, -): - with Path(f"{nixpkgs_flutter_version_directory}/data.json").open( - "w", encoding="utf-8" - ) as f: - f.write( - json.dumps( - { - "version": flutter_version, - "engineVersion": engine_hash, - "engineSwiftShaderHash": engine_swiftshader_hash, - "engineSwiftShaderRev": engine_swiftshader_rev, - "channel": channel, - "engineHashes": engine_hashes, - "dartVersion": dart_version, - "dartHash": dart_hash, - "flutterHash": flutter_hash, - "artifactHashes": artifact_hashes, - "pubspecLock": pubspec_lock, - }, - indent=2, - ).strip() - + "\n" - ) - - -def update_all_packages(): - versions_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions" - versions = [d.name for d in Path(versions_directory).iterdir()] - versions = sorted( - versions, - key=lambda x: (int(x.split("_")[0]), int(x.split("_")[1])), - reverse=True, - ) - - new_content = [ - "flutterPackages-bin = recurseIntoAttrs (callPackage ../development/compilers/flutter { });", - "flutterPackages-source = recurseIntoAttrs (", - " callPackage ../development/compilers/flutter { useNixpkgsEngine = true; }", - ");", - "flutterPackages = flutterPackages-bin;", - "flutter = flutterPackages.stable;", - ] + [ - f"flutter{version.replace('_', '')} = flutterPackages.v{version};" - for version in versions - ] - - with Path(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix").open( - "r", encoding="utf-8" - ) as file: - lines = file.read().splitlines(keepends=True) - - start = -1 - end = -1 - for i, line in enumerate(lines): - if ( - "flutterPackages-bin = recurseIntoAttrs (callPackage ../development/compilers/flutter { });" - in line - ): - start = i - if start != -1 and len(line.strip()) == 0: - end = i - break - - if start != -1 and end != -1: - del lines[start:end] - lines[start:start] = [f" {line}\n" for line in new_content] - - with Path(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix").open( - "w", encoding="utf-8" - ) as file: - file.write("".join(lines)) - - -# Finds Flutter version, Dart version, and Engine hash. -# If the Flutter version is given, it uses that. Otherwise finds the -# latest stable Flutter version. -def find_versions(flutter_version=None, channel=None): - engine_hash = None - dart_version = None - - releases = json.load( - urllib.request.urlopen( - "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json" - ) - ) - - if not channel: - channel = "stable" - - if not flutter_version: - release_hash = releases["current_release"][channel] - release = next( - filter( - lambda release: release["hash"] == release_hash, releases["releases"] - ) - ) - flutter_version = release["version"] - - tags = ( - subprocess.Popen( - ["git", "ls-remote", "--tags", "https://github.com/flutter/flutter.git"], - stdout=subprocess.PIPE, - text=True, - ) - .communicate()[0] - .strip() - ) - - try: - flutter_hash = ( - next( - filter( - lambda line: line.endswith(f"refs/tags/{flutter_version}"), - tags.splitlines(), - ) - ) - .split("refs")[0] - .strip() - ) - - engine_hash = ( - urllib.request.urlopen( - f"https://github.com/flutter/flutter/raw/{flutter_hash}/bin/internal/engine.version" - ) - .read() - .decode("utf-8") - .strip() - ) - except StopIteration: - sys.exit(f"Couldn't find Engine hash for Flutter version: {flutter_version}") - - try: - dart_version = next( - filter( - lambda release: release["version"] == flutter_version, - releases["releases"], - ) - )["dart_sdk_version"] - - if " " in dart_version: - dart_version = dart_version.split(" ")[2][:-1] - except StopIteration: - sys.exit(f"Couldn't find Dart version for Flutter version: {flutter_version}") - - return (flutter_version, engine_hash, dart_version, channel) - - -def main(): - parser = argparse.ArgumentParser(description="Update Flutter in Nixpkgs") - parser.add_argument("--version", type=str, help="Specify Flutter version") - parser.add_argument("--channel", type=str, help="Specify Flutter release channel") - parser.add_argument( - "--artifact-hashes", action="store_true", help="Whether to get artifact hashes" - ) - args = parser.parse_args() - - (flutter_version, engine_hash, dart_version, channel) = find_versions( - args.version, args.channel - ) - - flutter_compact_version = "_".join(flutter_version.split(".")[:2]) - - if args.artifact_hashes: - print( - json.dumps(get_artifact_hashes(flutter_compact_version), indent=2).strip() - + "\n" - ) - return - - print( - f"Flutter version: {flutter_version} ({flutter_compact_version}) on ({channel})" - ) - print(f"Engine hash: {engine_hash}") - print(f"Dart version: {dart_version}") - - dart_hash = get_dart_hashes(dart_version, channel) - (flutter_hash, flutter_src) = get_flutter_hash_and_src(flutter_version) - - nixpkgs_flutter_version_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions/{flutter_compact_version}" - - if Path(f"{nixpkgs_flutter_version_directory}/data.json").exists(): - Path(f"{nixpkgs_flutter_version_directory}/data.json").unlink() - Path(nixpkgs_flutter_version_directory).mkdir(parents=True, exist_ok=True) - - update_all_packages() - - common_data_args = { - "nixpkgs_flutter_version_directory": nixpkgs_flutter_version_directory, - "flutter_version": flutter_version, - "channel": channel, - "dart_version": dart_version, - "engine_hash": engine_hash, - "flutter_hash": flutter_hash, - "dart_hash": dart_hash, - } - - write_data( - pubspec_lock={}, - artifact_hashes={}, - engine_hashes={}, - engine_swiftshader_hash=FAKE_HASH, - engine_swiftshader_rev="0", - **common_data_args, - ) - - pubspec_lock = get_pubspec_lock(flutter_compact_version, flutter_src) - - write_data( - pubspec_lock=pubspec_lock, - artifact_hashes={}, - engine_hashes={}, - engine_swiftshader_hash=FAKE_HASH, - engine_swiftshader_rev="0", - **common_data_args, - ) - - artifact_hashes = get_artifact_hashes(flutter_compact_version) - - write_data( - pubspec_lock=pubspec_lock, - artifact_hashes=artifact_hashes, - engine_hashes={}, - engine_swiftshader_hash=FAKE_HASH, - engine_swiftshader_rev="0", - **common_data_args, - ) - - engine_hashes = get_engine_hashes(engine_hash, flutter_version) - - write_data( - pubspec_lock=pubspec_lock, - artifact_hashes=artifact_hashes, - engine_hashes=engine_hashes, - engine_swiftshader_hash=FAKE_HASH, - engine_swiftshader_rev="0", - **common_data_args, - ) - - engine_swiftshader_rev = get_engine_swiftshader_rev(engine_hash) - engine_swiftshader_hash = get_engine_swiftshader_hash(engine_swiftshader_rev) - - write_data( - pubspec_lock=pubspec_lock, - artifact_hashes=artifact_hashes, - engine_hashes=engine_hashes, - engine_swiftshader_hash=engine_swiftshader_hash, - engine_swiftshader_rev=engine_swiftshader_rev, - **common_data_args, - ) - - -if __name__ == "__main__": - main() diff --git a/pkgs/development/compilers/flutter/versions/3_29/data.json b/pkgs/development/compilers/flutter/versions/3_29/data.json index a3c5323a3aef..295ee16b5fcb 100644 --- a/pkgs/development/compilers/flutter/versions/3_29/data.json +++ b/pkgs/development/compilers/flutter/versions/3_29/data.json @@ -1,75 +1,80 @@ { - "version": "3.29.3", - "engineVersion": "cf56914b326edb0ccb123ffdc60f00060bd513fa", - "engineSwiftShaderHash": "sha256-mRLCvhNkmHz7Rv6GzXkY7OB1opBSq+ATWZ466qZdgto=", - "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f", + "artifactHashes": { + "android-arm-profile/artifacts.zip": "sha256-5YqQUqktJUztmJ8BKIgms1THk4ZJ7Gn1fOy4nzILnXc=", + "android-arm-profile/darwin-x64.zip": "sha256-OEDxV6NyfUu87O1b4rs7ZMEx4tcTKHN4+HtkxDG93QA=", + "android-arm-profile/linux-x64.zip": "sha256-EEw/zY2eCeHXYoKp0lPCQEa3WQ44Ac6ETHF8a+ZWO+c=", + "android-arm-profile/windows-x64.zip": "sha256-mPcL6iOno0XAeAUcoXyPkLy4DQBMPQkHRXLWBiyBs5o=", + "android-arm-release/artifacts.zip": "sha256-YsmAQyVS5nvINOzwIEzjlhN0JX7l9RrfLOai+SOcbTo=", + "android-arm-release/darwin-x64.zip": "sha256-z71217SH8gpnGss3h6Dmga5vFydwhBo+eghFvc6cD4U=", + "android-arm-release/linux-x64.zip": "sha256-TgUJ9TBQurr1M5TmYvmUuAe2fsCKRTrq2I9MdJ+DN4U=", + "android-arm-release/windows-x64.zip": "sha256-j8LOfJ5XyO8PIwF8ZnvVekWAG1PNgCCcSYFAbiESUsM=", + "android-arm/artifacts.zip": "sha256-XDQvEKs/uYpOckInNFDJduuOmRZAepHGdOiGVZ1Gqgo=", + "android-arm64-profile/artifacts.zip": "sha256-KGyCUre2r1BR1QnkIEZrdruLA56zKc4DOMIKCV8tMKk=", + "android-arm64-profile/darwin-x64.zip": "sha256-hoO1FlgNxQKC2RXDdIbHdgrrXAnpXVF6tYBhWYA0vAs=", + "android-arm64-profile/linux-x64.zip": "sha256-lZxErv1Dw5HDWDRAOuGGkd6G5JPvgPHSDAdYa02Fn7I=", + "android-arm64-profile/windows-x64.zip": "sha256-Or9sFk9wgnu6mpV3L4CU3w+DeOldsF+dGXgLGMyIJQk=", + "android-arm64-release/artifacts.zip": "sha256-NcKkplrWu2A5e+3Xd2rDCd54lrO0JckqIDlxgwaflIc=", + "android-arm64-release/darwin-x64.zip": "sha256-2HwoWjucRwA2MWYuOqEOdcGsMsFPNtna1dUgHDHQvMc=", + "android-arm64-release/linux-x64.zip": "sha256-SlEhHUhr8dTM8ykXarlA3fZBEiY4UVOwuJW54M7mu8g=", + "android-arm64-release/windows-x64.zip": "sha256-s/jwY4XLQkANEHac1D05xNTmOQ+ee/XmCJmu75zq9DY=", + "android-arm64/artifacts.zip": "sha256-dcN5d1AbWZKsEytj1IHzzo71Q8oKyMBjfGNiMMwBGqs=", + "android-x64-profile/artifacts.zip": "sha256-/j00KLxumCl0YeJXllXs7cTGteW/zgUaOWobuRMOEiQ=", + "android-x64-profile/darwin-x64.zip": "sha256-FOoJI/SYMWv+I308L9mzOfjb6YWRHFsExwWwiaszbE8=", + "android-x64-profile/linux-x64.zip": "sha256-SjnWs/ahkTCqq8XazWxr3KT6YErT1d1+puHCT/AevGM=", + "android-x64-profile/windows-x64.zip": "sha256-zc2EHmeLx383uUsVE1Tqr4Y4oMOPPnyb1vP6NWtSIXs=", + "android-x64-release/artifacts.zip": "sha256-ERy3zRJfQgenp5yrB2yLlcbBJCMjgCoDljRXSmtUcMc=", + "android-x64-release/darwin-x64.zip": "sha256-hngQzsx28eSKZPmSIGdDiwB6ACxWFb19Hoxbgs9De1o=", + "android-x64-release/linux-x64.zip": "sha256-/qK/lM4nOStr+uhCfyhczbKZShOyrlSEl8QtCecGlSk=", + "android-x64-release/windows-x64.zip": "sha256-hYIPyGDtK0ovpXPlVyGIxIK4YaBinzhMfYBga6UWxNE=", + "android-x64/artifacts.zip": "sha256-uKXp/pL8aq++kwNwltjH3cN1/+N78nAZKQy97KSC+Fw=", + "android-x86/artifacts.zip": "sha256-IgotpG/va94e0ZWRc9PFkZBxT5JXuWk+5Mk5n10y1yw=", + "darwin-arm64/artifacts.zip": "sha256-vrxj4NezowGxLaYCdbDPXiCHZsqbv1bTkxOX3qzJv+w=", + "darwin-arm64/font-subset.zip": "sha256-4wlQrcmx450Vg7ShtcoKuJ5YtGkTitdHZ/fsRtEDJWw=", + "darwin-x64-profile/artifacts.zip": "sha256-g22kEEy8AIbVA6qZAcQLX9BB6ifafzL9xNCug+IaeAo=", + "darwin-x64-profile/framework.zip": "sha256-vEYX6NavbMoT+u97wr7K0b4NMal1yO9/M4bFWuZHapY=", + "darwin-x64-profile/gen_snapshot.zip": "sha256-j/kdHmCoC1JdycTT0FpoQ7f/VX1ZTUSKWmKsqI/CkKs=", + "darwin-x64-release/artifacts.zip": "sha256-NGMfznwDSIIYNuGbjDojfoprfTk71xP0mhXmp6hyo4g=", + "darwin-x64-release/framework.zip": "sha256-iYq0LTZb9D77Zd6PCfPk8cwEBUMj7ImV3648qNFkNfs=", + "darwin-x64-release/gen_snapshot.zip": "sha256-zj/+5Ox40f/FDYHH1h5QL3CAYf72IJwwKO5pVZ0MefE=", + "darwin-x64/artifacts.zip": "sha256-DgUPPScyhCox1CpeqrNuj93e64fGwmUzCRrFuPd3Mjo=", + "darwin-x64/font-subset.zip": "sha256-kBPObRjfcyt/qN689Wyj1P0FkRdNlzUTVuLZ+MchaxE=", + "darwin-x64/framework.zip": "sha256-AJKtDRsrW44P42zwFNepUHHPg5ZBNXlqnkYipGFYvbg=", + "darwin-x64/gen_snapshot.zip": "sha256-oH3sRPVJRPTagJCpEJ6sJj99ScIt9whgFwQnZuLvQx4=", + "flutter-web-sdk.zip": "sha256-5fcBtu5xh73o34UNgKl852HOpyu2iwk2KNzVHCgfO84=", + "flutter_gpu.zip": "sha256-ZUldHLUkF8nFaAdzB6e6SEfjwHf9s1NV+pafhs8Jj1E=", + "flutter_patched_sdk.zip": "sha256-7uxxBt/ubgVg+15d/o/UOnWAG69yx34psG7f4S3lvJw=", + "flutter_patched_sdk_product.zip": "sha256-jE2H3RD1mHFUWi+T2oLxaE8j+Pg8O9MbLc3C1636XsQ=", + "ios-profile/artifacts.zip": "sha256-hSW6t3ZwvQ9MpAv+sA1ymvF8eISViWb9OiflOZH1aDo=", + "ios-release/artifacts.zip": "sha256-L6xse/UqQMTtPNi/b6fYjj/RR+uLCd372sQsNRlyo1Q=", + "ios/artifacts.zip": "sha256-FJUsbkiq9ZW9CiriRzUL7Be8fChRgGnM0FJ/HeWlks8=", + "linux-arm64-debug/linux-arm64-flutter-gtk.zip": "sha256-eThLDiCqnewYjHNCnZM0COS9Cr5D9XjC+mtaUk0lcOA=", + "linux-arm64-profile/linux-arm64-flutter-gtk.zip": "sha256-YpQwuVqRJHY/DtR18nJucOvC9/hweQMBLt4BTCbHWWE=", + "linux-arm64-release/linux-arm64-flutter-gtk.zip": "sha256-/1OssZKRXtO5V6zLog5jv+H4nal3ied8kldMUGlISD8=", + "linux-arm64/artifacts.zip": "sha256-mkJdwu5KahaMU+lDtqhgFVcaYAZC4BZjYZ4RdMCgmHM=", + "linux-arm64/font-subset.zip": "sha256-n51PYirH0ZuM5z16re+XGxrntTpvFUUVfrP4KiBvbZ4=", + "linux-x64-debug/linux-x64-flutter-gtk.zip": "sha256-ESZ6xJR14JFfQ8PYJBdb8HA1V37ODpJHt0rLF8CanVA=", + "linux-x64-profile/linux-x64-flutter-gtk.zip": "sha256-VDXUMsTaAbpTDj+1xnQ+UhA9upWgpGG+n4XgBWLbhhM=", + "linux-x64-release/linux-x64-flutter-gtk.zip": "sha256-gtGWH+EhGLpk5NkGorhcIQSNX4TVg7F7+7blY5s4NrM=", + "linux-x64/artifacts.zip": "sha256-sFklXc5SwJTlQtaHNHD5sye+9xWRrLmng2LsNI5QhHk=", + "linux-x64/font-subset.zip": "sha256-cQbvsbn13uhWnx4tZPEJnVBaubv/lhYn1ethyhhgHds=", + "sky_engine.zip": "sha256-R2mm5f0qkn5ziknBT+XV0PwarRaCtwo9lTdD6mk2Kig=", + "windows-x64-debug/windows-x64-flutter.zip": "sha256-TxOA/F2oxNoOy7mUZfy/MsnVyGw64kFy2WV88Y5FVVw=", + "windows-x64-profile/windows-x64-flutter.zip": "sha256-osnuasxTGq3OqxYqSMlYSC/K1V4RXJDWuY6H9oJQnc4=", + "windows-x64-release/windows-x64-flutter.zip": "sha256-dLGNkXp51LusJquBM9UrL92WFUDDC5G0K0DDRd04iAU=", + "windows-x64/artifacts.zip": "sha256-XkzPHFwQsuNLIMn62VG9u6fQp2ABSXEtaf7oq7MM+J8=", + "windows-x64/flutter-cpp-client-wrapper.zip": "sha256-gdLKahdiHCths6t7Iy+YwapgBga0yhDxktVtO43jHkY=", + "windows-x64/font-subset.zip": "sha256-k3ke2TlZiuSQYQEp2WshLccGotJpHYBfnTQJQK4Wg4o=" + }, "channel": "stable", - "engineHashes": { - "aarch64-linux": { - "aarch64-linux": "sha256-3BIBG9z433CDsBqX1T6K2y5kUI5ZTqXBBXLoCrX/f2A=", - "x86_64-linux": "sha256-3BIBG9z433CDsBqX1T6K2y5kUI5ZTqXBBXLoCrX/f2A=" - }, - "x86_64-linux": { - "aarch64-linux": "sha256-+4CswkW7+0gBcZKrLjugTIG5NWAxCB8y39iUxdND2I4=", - "x86_64-linux": "sha256-+4CswkW7+0gBcZKrLjugTIG5NWAxCB8y39iUxdND2I4=" - } + "dartHash": { + "aarch64-darwin": "sha256-EG5j2VkAkJk6le5R5ocp3i0Jyit7e9FsC1+1emCzZXw=", + "aarch64-linux": "sha256-NFLMrWHgV+t/oX6F7RqgNdRMNuM9rAdlVxd5j0fmTKg=", + "x86_64-darwin": "sha256-BgiG0riugy+Jzn25ce62IYpQfjcHEVJIfdUuslakSa4=", + "x86_64-linux": "sha256-whb91w9lbFDHjcag/65uXO16mnzO3qPkAvprXr4keIw=" }, "dartVersion": "3.7.2", - "dartHash": { - "x86_64-linux": "sha256-ClgSWEu0+lLcPIlabVvBY197/c/kyio6Zoq3KppbW3Y=", - "aarch64-linux": "sha256-NACnkq/pVMiWxfAt4+bkUjM0ZLwBWk5GQrbc9HGFE4k=", - "x86_64-darwin": "sha256-liZz9Bj1RFH7vmEpdMiJ9/h3Yut/o0qEBvydq8dGdKs=", - "aarch64-darwin": "sha256-544u8sIlQudxjBCSZlnQESLsOOdWp5h4lVTaY9P+pRQ=" - }, + "engineVersion": "cf56914b326edb0ccb123ffdc60f00060bd513fa", "flutterHash": "sha256-VWmKhxjerGKmw9fXhrRRVcKpUhefmJ2agRkIyWeAOO4=", - "artifactHashes": { - "android": { - "aarch64-darwin": "sha256-xWeagoJGFkHKW0oT5FSJCy254qemp5jZq/zXpadOrVY=", - "aarch64-linux": "sha256-2z7PgRGqUlFQZHJ53EdDT4p5Vk6OT2BJKx2QwSF7/QI=", - "x86_64-darwin": "sha256-xWeagoJGFkHKW0oT5FSJCy254qemp5jZq/zXpadOrVY=", - "x86_64-linux": "sha256-2z7PgRGqUlFQZHJ53EdDT4p5Vk6OT2BJKx2QwSF7/QI=" - }, - "fuchsia": { - "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", - "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", - "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", - "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" - }, - "ios": { - "aarch64-darwin": "sha256-mKrkm+Sio/SUPoivJNh+Kg4iZ6o/7P2Wsqi1ys5i6/k=", - "aarch64-linux": "sha256-mKrkm+Sio/SUPoivJNh+Kg4iZ6o/7P2Wsqi1ys5i6/k=", - "x86_64-darwin": "sha256-mKrkm+Sio/SUPoivJNh+Kg4iZ6o/7P2Wsqi1ys5i6/k=", - "x86_64-linux": "sha256-mKrkm+Sio/SUPoivJNh+Kg4iZ6o/7P2Wsqi1ys5i6/k=" - }, - "linux": { - "aarch64-darwin": "sha256-W8usesonlRBxd5CFQyQAyVfx4yMkd2UcZWbhVlB8Jwc=", - "aarch64-linux": "sha256-W8usesonlRBxd5CFQyQAyVfx4yMkd2UcZWbhVlB8Jwc=", - "x86_64-darwin": "sha256-RxNVQpRR4EWbK0WD+d6tZbweW3QE7Z3fipKFpf4YyG8=", - "x86_64-linux": "sha256-RxNVQpRR4EWbK0WD+d6tZbweW3QE7Z3fipKFpf4YyG8=" - }, - "macos": { - "aarch64-darwin": "sha256-WGm1+0IY5FMyXt5TSXcwrEw/u72lmc+2H7NR66uvxrE=", - "aarch64-linux": "sha256-WGm1+0IY5FMyXt5TSXcwrEw/u72lmc+2H7NR66uvxrE=", - "x86_64-darwin": "sha256-WGm1+0IY5FMyXt5TSXcwrEw/u72lmc+2H7NR66uvxrE=", - "x86_64-linux": "sha256-WGm1+0IY5FMyXt5TSXcwrEw/u72lmc+2H7NR66uvxrE=" - }, - "universal": { - "aarch64-darwin": "sha256-MxtHKccpQfurtKumtp00CRqB/riU5+wiHsuUh4sCXVY=", - "aarch64-linux": "sha256-w2onIP0zkg8N/vsnC9DKCrG4iIUvRiBhbHvSJYzW/fQ=", - "x86_64-darwin": "sha256-vq4/tCBQQtmJarcnrrL+saCUKS/xCoFHmKAxBSn1edI=", - "x86_64-linux": "sha256-TglGaiwmbxCYJ6bk1zJwhIYlPf3+VVTO5zCMpzyu/JY=" - }, - "web": { - "aarch64-darwin": "sha256-yN5ElLmpNG71yY9Egye8uXgHwiL8xRwNCkczElLf27Q=", - "aarch64-linux": "sha256-yN5ElLmpNG71yY9Egye8uXgHwiL8xRwNCkczElLf27Q=", - "x86_64-darwin": "sha256-yN5ElLmpNG71yY9Egye8uXgHwiL8xRwNCkczElLf27Q=", - "x86_64-linux": "sha256-yN5ElLmpNG71yY9Egye8uXgHwiL8xRwNCkczElLf27Q=" - }, - "windows": { - "x86_64-darwin": "sha256-l9rG2aRTrN26QFnLvbeGiUvMz8+faCo3byIbz33DWpY=", - "x86_64-linux": "sha256-l9rG2aRTrN26QFnLvbeGiUvMz8+faCo3byIbz33DWpY=" - } - }, "pubspecLock": { "packages": { "_fe_analyzer_shared": { @@ -1042,5 +1047,6 @@ "sdks": { "dart": ">=3.7.0-0 <4.0.0" } - } + }, + "version": "3.29.3" } diff --git a/pkgs/development/compilers/flutter/versions/3_29/patches/no-cache.patch b/pkgs/development/compilers/flutter/versions/3_29/patches/no-cache.patch new file mode 100644 index 000000000000..74d15f724325 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_29/patches/no-cache.patch @@ -0,0 +1,51 @@ +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -321,7 +321,7 @@ + bool fatalStorageWarning = true; + + static RandomAccessFile? _lock; +- static bool _lockEnabled = true; ++ static bool _lockEnabled = false; + + /// Turn off the [lock]/[releaseLock] mechanism. + /// +@@ -725,7 +725,6 @@ + } + + void setStampFor(String artifactName, String version) { +- getStampFileFor(artifactName).writeAsStringSync(version); + } + + File getStampFileFor(String artifactName) { +@@ -1010,31 +1009,6 @@ + } + + Future checkForArtifacts(String? engineVersion) async { +- engineVersion ??= version; +- final String url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/'; +- +- bool exists = false; +- for (final String pkgName in getPackageDirs()) { +- exists = await cache.doesRemoteExist( +- 'Checking package $pkgName is available...', +- Uri.parse('$url$pkgName.zip'), +- ); +- if (!exists) { +- return false; +- } +- } +- +- for (final List toolsDir in getBinaryDirs()) { +- final String cacheDir = toolsDir[0]; +- final String urlPath = toolsDir[1]; +- exists = await cache.doesRemoteExist( +- 'Checking $cacheDir tools are available...', +- Uri.parse(url + urlPath), +- ); +- if (!exists) { +- return false; +- } +- } + return true; + } + diff --git a/pkgs/development/compilers/flutter/versions/3_29/patches/version.patch b/pkgs/development/compilers/flutter/versions/3_29/patches/version.patch new file mode 100644 index 000000000000..40cfcda6a011 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_29/patches/version.patch @@ -0,0 +1,126 @@ +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -95,11 +95,7 @@ + } + } + +- final String frameworkRevision = _runGit( +- gitLog(['-n', '1', '--pretty=format:%H']).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ final String frameworkRevision = 'nixpkgs000000000000000000000000000000000'; + + return FlutterVersion.fromRevision( + clock: clock, +@@ -192,11 +188,7 @@ + // TODO(fujino): calculate this relative to frameworkCommitDate for + // _FlutterVersionFromFile so we don't need a git call. + String get frameworkAge { +- return _frameworkAge ??= _runGit( +- FlutterVersion.gitLog(['-n', '1', '--pretty=format:%ar']).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ return 'unknown'; + } + + void ensureVersionFile(); +@@ -327,9 +319,7 @@ + /// remote git repository is not reachable due to a network issue. + static Future fetchRemoteFrameworkCommitDate() async { + try { +- // Fetch upstream branch's commit and tags +- await _run(['git', 'fetch', '--tags']); +- return _gitCommitDate(gitRef: kGitTrackingUpstream, workingDirectory: Cache.flutterRoot); ++ return 'unknown'; + } on VersionCheckError catch (error) { + globals.printError(error.message); + rethrow; +@@ -354,14 +344,7 @@ + /// If [redactUnknownBranches] is true and the branch is unknown, + /// the branch name will be returned as `'[user-branch]'` ([kUserBranch]). + String getBranchName({bool redactUnknownBranches = false}) { +- _branch ??= () { +- final String branch = _runGit( +- 'git symbolic-ref --short HEAD', +- globals.processUtils, +- flutterRoot, +- ); +- return branch == 'HEAD' ? '' : branch; +- }(); ++ _branch ??= 'stable'; + if (redactUnknownBranches || _branch!.isEmpty) { + // Only return the branch names we know about; arbitrary branch names might contain PII. + if (!kOfficialChannels.contains(_branch) && !kObsoleteBranches.containsKey(_branch)) { +@@ -404,30 +387,7 @@ + bool lenient = false, + required String? workingDirectory, + }) { +- final List args = FlutterVersion.gitLog([ +- gitRef, +- '-n', +- '1', +- '--pretty=format:%ad', +- '--date=iso', +- ]); +- try { +- // Don't plumb 'lenient' through directly so that we can print an error +- // if something goes wrong. +- return _runSync(args, lenient: false, workingDirectory: workingDirectory); +- } on VersionCheckError catch (e) { +- if (lenient) { +- final DateTime dummyDate = DateTime.fromMillisecondsSinceEpoch(0); +- globals.printError( +- 'Failed to find the latest git commit date: $e\n' +- 'Returning $dummyDate instead.', +- ); +- // Return something that DateTime.parse() can parse. +- return dummyDate.toString(); +- } else { +- rethrow; +- } +- } ++ return 'unknown'; + } + + class _FlutterVersionFromFile extends FlutterVersion { +@@ -541,20 +501,7 @@ + @override + String? get repositoryUrl { + if (_repositoryUrl == null) { +- final String gitChannel = _runGit( +- 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', +- globals.processUtils, +- flutterRoot, +- ); +- final int slash = gitChannel.indexOf('/'); +- if (slash != -1) { +- final String remote = gitChannel.substring(0, slash); +- _repositoryUrl = _runGit( +- 'git ls-remote --get-url $remote', +- globals.processUtils, +- flutterRoot, +- ); +- } ++ _repositoryUrl = 'https://github.com/flutter/flutter.git'; + } + return _repositoryUrl; + } +@@ -926,6 +873,16 @@ + final String? gitTag; + + static GitTagVersion determine( ++ ProcessUtils processUtils, ++ Platform platform, { ++ String? workingDirectory, ++ bool fetchTags = false, ++ String gitRef = 'HEAD', ++ }) { ++ return GitTagVersion.unknown(); ++ } ++ ++ static GitTagVersion determine_orig( + ProcessUtils processUtils, + Platform platform, { + String? workingDirectory, diff --git a/pkgs/development/compilers/flutter/versions/3_32/data.json b/pkgs/development/compilers/flutter/versions/3_32/data.json index 078a4c8a8d51..323b74eb9900 100644 --- a/pkgs/development/compilers/flutter/versions/3_32/data.json +++ b/pkgs/development/compilers/flutter/versions/3_32/data.json @@ -1,75 +1,80 @@ { - "version": "3.32.8", - "engineVersion": "ef0cd000916d64fa0c5d09cc809fa7ad244a5767", - "engineSwiftShaderHash": "sha256-ATVcuxqPHqHOWYyO7DoX9LdgUiO3INUi7m9Mc6ccc1M=", - "engineSwiftShaderRev": "d040a5bab638bf7c226235c95787ba6288bb6416", + "artifactHashes": { + "android-arm-profile/artifacts.zip": "sha256-zDWexI+zuOfmJc4EnnANllZAyNbp0mb82EOIPmech3A=", + "android-arm-profile/darwin-x64.zip": "sha256-hbt0aCFcEl6Wk44k9hezrq6QFrtk07JFjci5MamePts=", + "android-arm-profile/linux-x64.zip": "sha256-lmoROV2f0iHLxvVclpOkXCSN/pS5LDz3LvVTJBsxtd8=", + "android-arm-profile/windows-x64.zip": "sha256-a4p6exLes0AfkTHVd80zk81JP9WwpdkYXMdyo6JhQ2E=", + "android-arm-release/artifacts.zip": "sha256-mjylyqqCjshOuhJ5Os7fxAnWdBz0oY4cE4YKLxmVhpk=", + "android-arm-release/darwin-x64.zip": "sha256-LASl5TmDLj0Qy+UrgtzSOijpT7Oz4rMiNmC5wMXZ5Os=", + "android-arm-release/linux-x64.zip": "sha256-lUDZI1/kiAdd3sI/aswsbIjYg6iePXfuhRPYzQNmnJo=", + "android-arm-release/windows-x64.zip": "sha256-4DH2j5MrPwi3Zn4tmsO8yohANQ0nC1nNjEWFhYGS5e8=", + "android-arm/artifacts.zip": "sha256-/0wqrYzhP4LSZuV8o01TaCHgON94JaE9yva78nr8NRs=", + "android-arm64-profile/artifacts.zip": "sha256-1VsImF6T00WlnJrOjdste1Ct0DYmOKWdjaWyjWPQUv4=", + "android-arm64-profile/darwin-x64.zip": "sha256-nF98oM6jmI1DPrdvqFjjX3HzilqsKxelj3sMQD/sV9s=", + "android-arm64-profile/linux-x64.zip": "sha256-qe3G57ww/H7PoK4Y6CEVjl5LVTecxTvia1fLJgprWUw=", + "android-arm64-profile/windows-x64.zip": "sha256-y9bnrKnX1w0RpYZ8gcShWUMACZCP2vdVWteFy47mTJo=", + "android-arm64-release/artifacts.zip": "sha256-rYRDJNgNjWHS5vxmq60+lafR02vfdyiRDcy5WbzCjzA=", + "android-arm64-release/darwin-x64.zip": "sha256-GQZR3p1OnI/cYw+GMawOId/FPpCCWbwDASTN0hKUXjQ=", + "android-arm64-release/linux-x64.zip": "sha256-ByMH2CSI3eOzYMeM9Kvpi3eljYtybkIpXqE0iJ+p4zk=", + "android-arm64-release/windows-x64.zip": "sha256-pR/QMQzn3KbjZFPBysQ5kAfkcC3Vdqx97jLMQ2iL2Cs=", + "android-arm64/artifacts.zip": "sha256-OxhJ9s1O6O5jLI6rKiisEiHaWvumYgVJLozJEnfjP1A=", + "android-x64-profile/artifacts.zip": "sha256-OS/wqrZK/IcvI1795TdVnlYqsyki8SBNFI34rQeT58U=", + "android-x64-profile/darwin-x64.zip": "sha256-YniOHobbhrxHTSrt4hYNhrz0xpvWIusg19qe5MRbJUk=", + "android-x64-profile/linux-x64.zip": "sha256-9/S7Q5djz2e6TU/NI6N2Y24hsamky4XD+djkCX5JwAg=", + "android-x64-profile/windows-x64.zip": "sha256-wf4CZhFv25svHTbY8cB2v0YyB2EwZqB+wLZf3XQHd50=", + "android-x64-release/artifacts.zip": "sha256-zpNIFJxQuJsEntQDvJgrPUFxaP06skS6T6N8eEW5H6M=", + "android-x64-release/darwin-x64.zip": "sha256-uh2tqQac85zgUH/I9ACUSsdqL46BfPvgosuyECO5j6k=", + "android-x64-release/linux-x64.zip": "sha256-WYK27e9gpn6cZOBVca/6drLH18kE7qZVQu2rKiYhkV0=", + "android-x64-release/windows-x64.zip": "sha256-3gah7k9T9JNUHeKgHy/v4l9O7A6BZrnVtwVbALx4dVg=", + "android-x64/artifacts.zip": "sha256-jrPwJSXQQ2dH7h/HtRJmTvL/uqy9moG5FR2Y6M+6y1M=", + "android-x86/artifacts.zip": "sha256-iGlh72so0ieVraCU77Xix9g2CWfmF1wpjsH2A/eIz/w=", + "darwin-arm64/artifacts.zip": "sha256-BSFNTVaNXE8178rjKiXHU4KZXyGk1pcbnBlDe3AjdGI=", + "darwin-arm64/font-subset.zip": "sha256-uNjn2tEUGrgIFId+4m03Aj7ABcx5w5TJB0aVL0xL2G4=", + "darwin-x64-profile/artifacts.zip": "sha256-G8v4R0bvByd3ek93nDxF16KIdcDaGIUhtMoJAMwzGko=", + "darwin-x64-profile/framework.zip": "sha256-/XY/Ta1sEM3iCZ2qnIGWskHrrzhAIQTnN4x+aRtqOUo=", + "darwin-x64-profile/gen_snapshot.zip": "sha256-eUxbCo8TvFdxz4KoMGHi2IT7kq5WL51ZHFrIUb+7FG4=", + "darwin-x64-release/artifacts.zip": "sha256-N14BAWCnMU9Ezuj/VRbmthxiHP7dtr6YlUG8b2XT37o=", + "darwin-x64-release/framework.zip": "sha256-Q/17YSyMKU0+iObwV7SvyKODI+P7a3ErXlNm4HidHAQ=", + "darwin-x64-release/gen_snapshot.zip": "sha256-rRCTkI5qXMFviMxeTush2t+RSdvP1HxgF2ovGQHDMHI=", + "darwin-x64/artifacts.zip": "sha256-Gt46l5s1lHHTwHxTVRO0W2+ymG/SsuWS6Ee56EUWwCs=", + "darwin-x64/font-subset.zip": "sha256-fDTfVUQp/PayjqEbj5HOkfZEcnMePtrE36tXbpRFaHw=", + "darwin-x64/framework.zip": "sha256-b2q5XpSGV3HvNZc72/6OlfcpxfDoC0MyS7UsCIVa2I8=", + "darwin-x64/gen_snapshot.zip": "sha256-MvJcufyFXJNMwPU80qkU2YyPy28o4D4HWJoII2pjiXs=", + "flutter-web-sdk.zip": "sha256-u+lbjL8mEuaUEZZZ7sXa5w+MQXWFGns7uNxhzaw53O4=", + "flutter_gpu.zip": "sha256-WwtMMiFP+Pi9TQbacTGPBtR80afaqioPgBZOK34YtWk=", + "flutter_patched_sdk.zip": "sha256-SoQomgnpZFSgI4a9eh+7teVZ+KTTqYm3Uyh+99IwVVM=", + "flutter_patched_sdk_product.zip": "sha256-QhDNJ7DkFAWqZG4XLKOB7Nyqg/Tc7bH4e4xUZrJqXGQ=", + "ios-profile/artifacts.zip": "sha256-TWN5VVlzZw0K3dXsS1gyLnvvRGNC9mXlMS4U+52qIOI=", + "ios-release/artifacts.zip": "sha256-I0OY5WGKF3HH66K8MlHrIDsTS9HxBYmBe9uLeLjkjbc=", + "ios/artifacts.zip": "sha256-uO1HQFIswJbiCkY4OSexNI92KPmG90sP7zavjxUmZ3g=", + "linux-arm64-debug/linux-arm64-flutter-gtk.zip": "sha256-ky/wf3lIwViqWuDgcXAdH7r8SdpDaE55nIu2dMMk9g0=", + "linux-arm64-profile/linux-arm64-flutter-gtk.zip": "sha256-HSzTOa0HetnobXfTenrE60kUul/Riy8C5AsyIOaQd2o=", + "linux-arm64-release/linux-arm64-flutter-gtk.zip": "sha256-+hBJ1ELS2rsCcvbYTGllCMkYroLFeWncXaYusfFS+pw=", + "linux-arm64/artifacts.zip": "sha256-J13A0cMXbb7BfIOI8wT4/d2/el4KjmRcz0+azy/sM7A=", + "linux-arm64/font-subset.zip": "sha256-nWwP3VI15gLPN/FRqN5TJ74l2ojbbe3bHhXVdEGztuM=", + "linux-x64-debug/linux-x64-flutter-gtk.zip": "sha256-mPmS92NUxaUrIUtH0BVZKSOYGwYXeLr3qg9YdkjjFYQ=", + "linux-x64-profile/linux-x64-flutter-gtk.zip": "sha256-48SB0A+sKiR55BMt+ZqAxRSxr3ikf/vJTFhnrWSMPk0=", + "linux-x64-release/linux-x64-flutter-gtk.zip": "sha256-WxqyHrIEyjgH/p9AjLqkOSHIsRZFEHNb5XYtAS9BP88=", + "linux-x64/artifacts.zip": "sha256-2jFV0xPe3trdEmC+ApWJfbz1v7T6ZkY3Iq+TmRgmpd4=", + "linux-x64/font-subset.zip": "sha256-eHAeGxsVWtKZhT/7W0TyOY5lMoIkl//rjWAxp0OVZWA=", + "sky_engine.zip": "sha256-t72yVeV6QYQtfIwiJNoL96gSvQD0DJW7wE6k7Ut9RaU=", + "windows-x64-debug/windows-x64-flutter.zip": "sha256-HNpEBvJ4wnCTa50JSxk6PmDaOex+kxPg24U3eq/BGbQ=", + "windows-x64-profile/windows-x64-flutter.zip": "sha256-2DwFbYQgZUjnBn6Zt6mUC1R39Xi0jR+9OeGerD2y4mw=", + "windows-x64-release/windows-x64-flutter.zip": "sha256-DcU909remUeNvvCRym0vGjDjUoJ0tTCALTPGJi8Omcs=", + "windows-x64/artifacts.zip": "sha256-Jvn4GYQPI4HIdxrzIDHssnRUdJ9t5Hmg1ii8T+uSoeY=", + "windows-x64/flutter-cpp-client-wrapper.zip": "sha256-cBNZivR/2ZK70ZJwOUiV9X7f6yuqtJmrYuupOfP4HFk=", + "windows-x64/font-subset.zip": "sha256-NN6mjRubl5SPNvFGHE8fKBn++NWfDYqca5wuquc0uow=" + }, "channel": "stable", - "engineHashes": { - "aarch64-linux": { - "aarch64-linux": "sha256-JrbIMYwdfe36y6bHj1eAjYOKPGGp7mfWxWDCoCm7wiQ=", - "x86_64-linux": "sha256-JrbIMYwdfe36y6bHj1eAjYOKPGGp7mfWxWDCoCm7wiQ=" - }, - "x86_64-linux": { - "aarch64-linux": "sha256-R0ut5hzzBgfjbZFB1ofK4jEmr3CcBKHFJUl3c7nmn0E=", - "x86_64-linux": "sha256-R0ut5hzzBgfjbZFB1ofK4jEmr3CcBKHFJUl3c7nmn0E=" - } + "dartHash": { + "aarch64-darwin": "sha256-UIC8b0p4zM4OOOceRkdsCNYeCBRTZGlI8/DHcXepKPg=", + "aarch64-linux": "sha256-eKMkAJe+47ebAJxp6tIuGq7e3ty+CT6qmACExWYQlsg=", + "x86_64-darwin": "sha256-OTcd89ZPlPWz2cERnD9UkWTFYoxqE7lFG3tEhZ8fkRQ=", + "x86_64-linux": "sha256-DVjAEKNh8/FYixwvV5QvfMr3t6u+A0BP73oQLrY48J0=" }, "dartVersion": "3.8.1", - "dartHash": { - "x86_64-linux": "sha256-3eE40VMwrPFD502lIaz+CkD7mBnSI/WqJ3C4DVQ01Z4=", - "aarch64-linux": "sha256-0GXCO00ar5532h+cXBEIe8BhGVKOuGuoPzr1M00muh4=", - "x86_64-darwin": "sha256-S3iGDVLollApke2SnXAcV919qsDTVmz5Gf9fTletr00=", - "aarch64-darwin": "sha256-haHQks9N1mBIqRsYg9sOLw7ra7gC708gsTWfKxvIK1c=" - }, + "engineVersion": "ef0cd000916d64fa0c5d09cc809fa7ad244a5767", "flutterHash": "sha256-s5T16+cMmL2ustJQjwFbfS8G+/TJW/WCEF1IO4WgbXQ=", - "artifactHashes": { - "android": { - "aarch64-darwin": "sha256-hswA4YkMM3uur0F2KuA32g+EXtCPH7SYVZkjr2EFV7o=", - "aarch64-linux": "sha256-1V8hfmK2q2QgbIT+YC/WtFZmkG7xcvrJYPeiN0o4fhY=", - "x86_64-darwin": "sha256-hswA4YkMM3uur0F2KuA32g+EXtCPH7SYVZkjr2EFV7o=", - "x86_64-linux": "sha256-1V8hfmK2q2QgbIT+YC/WtFZmkG7xcvrJYPeiN0o4fhY=" - }, - "fuchsia": { - "aarch64-darwin": "sha256-WkWLbIpEyrwyB9mcA3ElNecRmCVt8+6y3qKi9zFRR9I=", - "aarch64-linux": "sha256-WkWLbIpEyrwyB9mcA3ElNecRmCVt8+6y3qKi9zFRR9I=", - "x86_64-darwin": "sha256-WkWLbIpEyrwyB9mcA3ElNecRmCVt8+6y3qKi9zFRR9I=", - "x86_64-linux": "sha256-WkWLbIpEyrwyB9mcA3ElNecRmCVt8+6y3qKi9zFRR9I=" - }, - "ios": { - "aarch64-darwin": "sha256-obbmFnObjvQH6sLL0MsRrFtA0x8yCOo7clMqQzteWGY=", - "aarch64-linux": "sha256-obbmFnObjvQH6sLL0MsRrFtA0x8yCOo7clMqQzteWGY=", - "x86_64-darwin": "sha256-obbmFnObjvQH6sLL0MsRrFtA0x8yCOo7clMqQzteWGY=", - "x86_64-linux": "sha256-obbmFnObjvQH6sLL0MsRrFtA0x8yCOo7clMqQzteWGY=" - }, - "linux": { - "aarch64-darwin": "sha256-LID4h0JABLwjmrv3XS1MEWTYn/7GmBtybqiLbErfgWA=", - "aarch64-linux": "sha256-LID4h0JABLwjmrv3XS1MEWTYn/7GmBtybqiLbErfgWA=", - "x86_64-darwin": "sha256-k8fVg13YXFFBAI0OKph1DqzfmNk1PYAyy/PVuma2hlM=", - "x86_64-linux": "sha256-k8fVg13YXFFBAI0OKph1DqzfmNk1PYAyy/PVuma2hlM=" - }, - "macos": { - "aarch64-darwin": "sha256-Y+T2SuM4D8Du/MAQR9DScU8ObPPE7WGxxvC5Km2YmHg=", - "aarch64-linux": "sha256-Y+T2SuM4D8Du/MAQR9DScU8ObPPE7WGxxvC5Km2YmHg=", - "x86_64-darwin": "sha256-Y+T2SuM4D8Du/MAQR9DScU8ObPPE7WGxxvC5Km2YmHg=", - "x86_64-linux": "sha256-Y+T2SuM4D8Du/MAQR9DScU8ObPPE7WGxxvC5Km2YmHg=" - }, - "universal": { - "aarch64-darwin": "sha256-h4v8Pyw7VqFDWh+VCcz12bgd1o5FIb+cpomR0k570f4=", - "aarch64-linux": "sha256-ZBDA3tS2GwnubeIuXhZ7Zxc75KNim5OCYkkn03KMYGs=", - "x86_64-darwin": "sha256-USoiNw8AUinCwMvrpOTmhSDq/TP1f0N9ZT8l8ZILzOo=", - "x86_64-linux": "sha256-OfSxYyyaRxaUCDR8ZjTdIBQ3PFpRXoA1YHIIooXAKKY=" - }, - "web": { - "aarch64-darwin": "sha256-jaDnIyn0uwLOblQ1IqU0TlsgBrXyk8wXhlRzAwXLo50=", - "aarch64-linux": "sha256-jaDnIyn0uwLOblQ1IqU0TlsgBrXyk8wXhlRzAwXLo50=", - "x86_64-darwin": "sha256-jaDnIyn0uwLOblQ1IqU0TlsgBrXyk8wXhlRzAwXLo50=", - "x86_64-linux": "sha256-jaDnIyn0uwLOblQ1IqU0TlsgBrXyk8wXhlRzAwXLo50=" - }, - "windows": { - "x86_64-darwin": "sha256-zJrruuMcgtOXRrkRPoGHovyjABDck0Dzjrz7bCtx4C4=", - "x86_64-linux": "sha256-zJrruuMcgtOXRrkRPoGHovyjABDck0Dzjrz7bCtx4C4=" - } - }, "pubspecLock": { "packages": { "_fe_analyzer_shared": { @@ -1046,5 +1051,6 @@ "sdks": { "dart": ">=3.7.0 <4.0.0" } - } + }, + "version": "3.32.8" } diff --git a/pkgs/development/compilers/flutter/versions/3_32/patches/no-cache.patch b/pkgs/development/compilers/flutter/versions/3_32/patches/no-cache.patch new file mode 100644 index 000000000000..d596d6c64322 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_32/patches/no-cache.patch @@ -0,0 +1,51 @@ +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -321,7 +321,7 @@ + bool fatalStorageWarning = true; + + static RandomAccessFile? _lock; +- static bool _lockEnabled = true; ++ static bool _lockEnabled = false; + + /// Turn off the [lock]/[releaseLock] mechanism. + /// +@@ -727,7 +727,6 @@ + } + + void setStampFor(String artifactName, String version) { +- getStampFileFor(artifactName).writeAsStringSync(version); + } + + File getStampFileFor(String artifactName) { +@@ -1015,31 +1014,6 @@ + } + + Future checkForArtifacts(String? engineVersion) async { +- engineVersion ??= version; +- final String url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/'; +- +- bool exists = false; +- for (final String pkgName in getPackageDirs()) { +- exists = await cache.doesRemoteExist( +- 'Checking package $pkgName is available...', +- Uri.parse('$url$pkgName.zip'), +- ); +- if (!exists) { +- return false; +- } +- } +- +- for (final List toolsDir in getBinaryDirs()) { +- final String cacheDir = toolsDir[0]; +- final String urlPath = toolsDir[1]; +- exists = await cache.doesRemoteExist( +- 'Checking $cacheDir tools are available...', +- Uri.parse(url + urlPath), +- ); +- if (!exists) { +- return false; +- } +- } + return true; + } + diff --git a/pkgs/development/compilers/flutter/versions/3_32/patches/version.patch b/pkgs/development/compilers/flutter/versions/3_32/patches/version.patch new file mode 100644 index 000000000000..61e6cd40ddff --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_32/patches/version.patch @@ -0,0 +1,131 @@ +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -95,11 +95,7 @@ + } + } + +- final String frameworkRevision = _runGit( +- gitLog(['-n', '1', '--pretty=format:%H']).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ final String frameworkRevision = 'nixpkgs000000000000000000000000000000000'; + + return FlutterVersion.fromRevision( + clock: clock, +@@ -198,16 +194,7 @@ + final String flutterRoot; + + String _getTimeSinceCommit({String? revision}) { +- return _runGit( +- FlutterVersion.gitLog([ +- '-n', +- '1', +- '--pretty=format:%ar', +- if (revision != null) revision, +- ]).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ return 'unknown'; + } + + // TODO(fujino): calculate this relative to frameworkCommitDate for +@@ -356,9 +343,7 @@ + /// remote git repository is not reachable due to a network issue. + static Future fetchRemoteFrameworkCommitDate() async { + try { +- // Fetch upstream branch's commit and tags +- await _run(['git', 'fetch', '--tags']); +- return _gitCommitDate(gitRef: kGitTrackingUpstream, workingDirectory: Cache.flutterRoot); ++ return 'unknown'; + } on VersionCheckError catch (error) { + globals.printError(error.message); + rethrow; +@@ -383,14 +368,7 @@ + /// If [redactUnknownBranches] is true and the branch is unknown, + /// the branch name will be returned as `'[user-branch]'` ([kUserBranch]). + String getBranchName({bool redactUnknownBranches = false}) { +- _branch ??= () { +- final String branch = _runGit( +- 'git symbolic-ref --short HEAD', +- globals.processUtils, +- flutterRoot, +- ); +- return branch == 'HEAD' ? '' : branch; +- }(); ++ _branch ??= 'stable'; + if (redactUnknownBranches || _branch!.isEmpty) { + // Only return the branch names we know about; arbitrary branch names might contain PII. + if (!kOfficialChannels.contains(_branch) && !kObsoleteBranches.containsKey(_branch)) { +@@ -433,30 +411,7 @@ + bool lenient = false, + required String? workingDirectory, + }) { +- final List args = FlutterVersion.gitLog([ +- gitRef, +- '-n', +- '1', +- '--pretty=format:%ad', +- '--date=iso', +- ]); +- try { +- // Don't plumb 'lenient' through directly so that we can print an error +- // if something goes wrong. +- return _runSync(args, lenient: false, workingDirectory: workingDirectory); +- } on VersionCheckError catch (e) { +- if (lenient) { +- final DateTime dummyDate = DateTime.fromMillisecondsSinceEpoch(0); +- globals.printError( +- 'Failed to find the latest git commit date: $e\n' +- 'Returning $dummyDate instead.', +- ); +- // Return something that DateTime.parse() can parse. +- return dummyDate.toString(); +- } else { +- rethrow; +- } +- } ++ return 'unknown'; + } + + class _FlutterVersionFromFile extends FlutterVersion { +@@ -585,20 +540,7 @@ + @override + String? get repositoryUrl { + if (_repositoryUrl == null) { +- final String gitChannel = _runGit( +- 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', +- globals.processUtils, +- flutterRoot, +- ); +- final int slash = gitChannel.indexOf('/'); +- if (slash != -1) { +- final String remote = gitChannel.substring(0, slash); +- _repositoryUrl = _runGit( +- 'git ls-remote --get-url $remote', +- globals.processUtils, +- flutterRoot, +- ); +- } ++ _repositoryUrl = 'https://github.com/flutter/flutter.git'; + } + return _repositoryUrl; + } +@@ -970,6 +912,16 @@ + final String? gitTag; + + static GitTagVersion determine( ++ ProcessUtils processUtils, ++ Platform platform, { ++ String? workingDirectory, ++ bool fetchTags = false, ++ String gitRef = 'HEAD', ++ }) { ++ return GitTagVersion.unknown(); ++ } ++ ++ static GitTagVersion determine_orig( + ProcessUtils processUtils, + Platform platform, { + String? workingDirectory, diff --git a/pkgs/development/compilers/flutter/versions/3_35/data.json b/pkgs/development/compilers/flutter/versions/3_35/data.json index 6d04fcf6b864..187a2f4b3263 100644 --- a/pkgs/development/compilers/flutter/versions/3_35/data.json +++ b/pkgs/development/compilers/flutter/versions/3_35/data.json @@ -1,75 +1,80 @@ { - "version": "3.35.7", - "engineVersion": "035316565ad77281a75305515e4682e6c4c6f7ca", - "engineSwiftShaderHash": "sha256-ATVcuxqPHqHOWYyO7DoX9LdgUiO3INUi7m9Mc6ccc1M=", - "engineSwiftShaderRev": "d040a5bab638bf7c226235c95787ba6288bb6416", + "artifactHashes": { + "android-arm-profile/artifacts.zip": "sha256-tkMKTImxVqFBQhJDVD2NB0thlB/A1NFRekV1ScYLwVM=", + "android-arm-profile/darwin-x64.zip": "sha256-ktPTy7G41qtJ5oOeE6mfKK3IQQlBAmIBtFm7cUEOkxQ=", + "android-arm-profile/linux-x64.zip": "sha256-3Imdiu+I4WmOqsYmJjnyRFkOOfgIJjPbDUba6V08VmQ=", + "android-arm-profile/windows-x64.zip": "sha256-jJEhtr8Jvuak7n5Wq0t2wMMk2J6Vpmu5WlbXl3zN1AE=", + "android-arm-release/artifacts.zip": "sha256-WxypxJNW28+v88bGjfksIYSiCVdDkOnqzlBOJSPxwGQ=", + "android-arm-release/darwin-x64.zip": "sha256-J17mW6Xfbd+YT5N7n1Y+QTRK9DVk8l1ai37UDdt3rEY=", + "android-arm-release/linux-x64.zip": "sha256-gs/SzGsz9cjp6qM2Izqg0CbfX5WWFE1Cgy3X8mIB5Mc=", + "android-arm-release/windows-x64.zip": "sha256-ON/g8l1MlXB53CDjF8fZgOJ69l32WGhMnD5Bnxn7nys=", + "android-arm/artifacts.zip": "sha256-/1CR0aybIBZGopc0O5A9jG9Sn0MWlPts2WkhFva+72c=", + "android-arm64-profile/artifacts.zip": "sha256-geB9xlwjS+TDcE2CabNwX4R3gLwLmELO3OvJLMhaCG8=", + "android-arm64-profile/darwin-x64.zip": "sha256-cx8D1W5ezsf0DoWTU4nQycFtER59uSu5T8Mbrq7F4mc=", + "android-arm64-profile/linux-x64.zip": "sha256-bp3WdqCC0uD3gcbtcTpe0Bk28Co75PEjlYunN0nAGR0=", + "android-arm64-profile/windows-x64.zip": "sha256-bVDWw5Z7MHUqezYVdO5wZT7mnTSzmBoI/4PAFopsOyw=", + "android-arm64-release/artifacts.zip": "sha256-0/Q7w98SG69nEd2S2pp8djnk7zmC1YfLIW126tQtooc=", + "android-arm64-release/darwin-x64.zip": "sha256-9kcha9KcoHsEgY6jSdP92ETk+BqFeQ7LsgD0ubHkNLE=", + "android-arm64-release/linux-x64.zip": "sha256-JqVh/V7HBzbsa/9iacL2RZFf3X9GFs2llsDaTbOQdsU=", + "android-arm64-release/windows-x64.zip": "sha256-Xrtl3WBXvzLnn/I1vCsGIS+DyTCE9gJYBLDucn/H8u4=", + "android-arm64/artifacts.zip": "sha256-e3+ybL9AG3xN559EcWBtBxitudQd9HUluEHB15IX7ps=", + "android-x64-profile/artifacts.zip": "sha256-5bvosBPGtU2T1GGLGkPmyTVJ90JBdrGK+8C79mgSRSA=", + "android-x64-profile/darwin-x64.zip": "sha256-7vIRNLkQmVGhc48GtdYfC4oA3d35kPQtj3vcIKBchJc=", + "android-x64-profile/linux-x64.zip": "sha256-wYYyhpVXNjUPmoSbarHkTv2xSPUkmnSSVaDaYGNSTJM=", + "android-x64-profile/windows-x64.zip": "sha256-1FXPNfRQjncl5Pyg5x4TslWeCOIyrKBhjVBFkGLzHeM=", + "android-x64-release/artifacts.zip": "sha256-mRoPNcpq5hBL/AxskFK8ccbvKwzgb2vEUVJ9WtgUlH0=", + "android-x64-release/darwin-x64.zip": "sha256-AfWv2mUDxFzwDK/dGl/TrrkP2YyyOGNmfde6bj06AtE=", + "android-x64-release/linux-x64.zip": "sha256-4demp82PCXeOje3l+qOc/Eq+ngY8QybWE4iFGVK6lNc=", + "android-x64-release/windows-x64.zip": "sha256-3mQXqHuOhwDTRlsknFA8R/27luOzs28glJVD+3G/5EI=", + "android-x64/artifacts.zip": "sha256-BheP9zRanNkBOVzPwQvYp4jd9l/MIcnbmkshlwfT6Dc=", + "android-x86/artifacts.zip": "sha256-vXZo+hOtp1hRDvBBJfNmqlE6/ettAB9iEGdJZ/AeYKg=", + "darwin-arm64/artifacts.zip": "sha256-4CqgWDqeTGgNfmllemwbK692tRJ6y6O0/S8WdHPr2cI=", + "darwin-arm64/font-subset.zip": "sha256-gyTIBlcwE0UZZ/zVZIK2CkIoqQlbixcp54RBmyCgiJ4=", + "darwin-x64-profile/artifacts.zip": "sha256-Q7vaWylDWDSi8Fm2rnjX2OZrg9suz/oZIMLG+L8LPfg=", + "darwin-x64-profile/framework.zip": "sha256-t1FS8OI8Ptxpfker8th1KkWlKDb7lvd76o3vT5zLSos=", + "darwin-x64-profile/gen_snapshot.zip": "sha256-lzPl2i1XCdzmpV5Si5R/xju7JnmXz5N3MuTOWQHo6UY=", + "darwin-x64-release/artifacts.zip": "sha256-BXxo25VzpbNGsedjuXgOqnhDo1iOpDdXZ8ECYcCcgSY=", + "darwin-x64-release/framework.zip": "sha256-S22KfsuOjv9b4A/6F9cj47E4gGo1SYlP6xCRqV4D3iY=", + "darwin-x64-release/gen_snapshot.zip": "sha256-YR1Mqh3xMvlrLBaBC8q9TAloYWmBng15LdIDYq6JBMk=", + "darwin-x64/artifacts.zip": "sha256-eL9Y7UHaso/MKN0mSx8W4OqxwzDn/csuX8M8UwAjFWA=", + "darwin-x64/font-subset.zip": "sha256-vBUjrHafLzmJR13cFWr46flx4A9HE9p72DDfGIXHEcc=", + "darwin-x64/framework.zip": "sha256-oBeGU6XuQrXmF4z7ln7mUMsJMHg5XDjikxXgBKMJQ28=", + "darwin-x64/gen_snapshot.zip": "sha256-b9FUB6TQmGw5k+M2Z3y56CvInw/LTrPL9YyG5D4Uqoc=", + "flutter-web-sdk.zip": "sha256-0LQD3PWbBXc34qhxAHB/ESYjvpKndFheDYtMFxW6V2I=", + "flutter_gpu.zip": "sha256-b7GxH12dA1rGr1TUMFAm0R2xCGTwUIYHr0/Pktck+Rg=", + "flutter_patched_sdk.zip": "sha256-qiZzEVkaRfD3ELEmsQQrN9tvF9MMiEsRioGcaT6qW5E=", + "flutter_patched_sdk_product.zip": "sha256-jAD6sghpvJb/WUuPaT8SQGWnNCBE82qAOF41E8gE/LE=", + "ios-profile/artifacts.zip": "sha256-c8UEecqig9GwF3p+rS+KoCSieN1bfxX4vbL3RnNa9qU=", + "ios-release/artifacts.zip": "sha256-nfQ8YxiKXY4LYjiSfDGub6afhlnSPDIZ2+9wYrWkpsI=", + "ios/artifacts.zip": "sha256-63HYgql1rNuOqZtyCDyThXzFiE5YCLGqCw5XFtZfEn0=", + "linux-arm64-debug/linux-arm64-flutter-gtk.zip": "sha256-/bTubsiLpGYDywasjZxIylUitAQDFe83MQbC1E/PXLo=", + "linux-arm64-profile/linux-arm64-flutter-gtk.zip": "sha256-K7RhTflYahi7rQ9V4vhoHgG7iUkyUMx1BgdVKcayxuw=", + "linux-arm64-release/linux-arm64-flutter-gtk.zip": "sha256-m06sitBb919gU4G4g0hE0pCxW36H+d15NRQNCLvW3v4=", + "linux-arm64/artifacts.zip": "sha256-Sn3DR+eIvjae5SS7sX60IaFLDsEXOLBSxtKE4pTj6mM=", + "linux-arm64/font-subset.zip": "sha256-lGHk7ac3yS1Q51qRP5pj5y626TJzz3AzQTlx38N1hLI=", + "linux-x64-debug/linux-x64-flutter-gtk.zip": "sha256-ntz4GCTMutdQgqSxdC69YtIZFct4UkvYz5AbJT/6rVQ=", + "linux-x64-profile/linux-x64-flutter-gtk.zip": "sha256-kKePD4dJdAIBiEL2rBqGZCzP7PRlukEVq+yoTvW2p94=", + "linux-x64-release/linux-x64-flutter-gtk.zip": "sha256-oftxkU+eDRLWggV+EAymWk0pWsz3K5VaL6so9KpZAJo=", + "linux-x64/artifacts.zip": "sha256-NjqBtYiJahp52E7V7Px/wnGZVWjsFmPKxAbMIYL4kGg=", + "linux-x64/font-subset.zip": "sha256-dZXC7iFVzb/V8QTbfscdkdtjTzdMy7ce0Z1GlX+jm9E=", + "sky_engine.zip": "sha256-Zq7h04ARytTgc3yBUHNeUw50dzOPquZaiXtEC62RCFU=", + "windows-x64-debug/windows-x64-flutter.zip": "sha256-NhJsnViwfq+PGeCEqLNnx2lHDQgUptsRun3RStkbeCI=", + "windows-x64-profile/windows-x64-flutter.zip": "sha256-m07X3s+PYps2GzHNt4HfuRiJjXQse6v14GGwjh9yqiE=", + "windows-x64-release/windows-x64-flutter.zip": "sha256-PY5eIoQdDN58L41mnfk3LImf8FlRsp5ue9nbnYouvM4=", + "windows-x64/artifacts.zip": "sha256-eDq8AoAXetZoMM1Zovw1Jm2mGFHWWbmg2XzsSb558Rk=", + "windows-x64/flutter-cpp-client-wrapper.zip": "sha256-nqgeZnzp7dKgs+lp2jVrRgvvRD+MGi2NceqivM6Qk0I=", + "windows-x64/font-subset.zip": "sha256-1WbKyP4By37Tci6nQ2S7OsCKnWScflYk7T5L0P0DGuQ=" + }, "channel": "stable", - "engineHashes": { - "aarch64-linux": { - "aarch64-linux": "sha256-v2L0MQRTXvWngb8fu/AR9iofq2CDq1HFedXE8cSzOws=", - "x86_64-linux": "sha256-v2L0MQRTXvWngb8fu/AR9iofq2CDq1HFedXE8cSzOws=" - }, - "x86_64-linux": { - "aarch64-linux": "sha256-RKfKhFwlwVEguWqI6OinTqdCM3yNTP/5PwevREmS4Nk=", - "x86_64-linux": "sha256-RKfKhFwlwVEguWqI6OinTqdCM3yNTP/5PwevREmS4Nk=" - } + "dartHash": { + "aarch64-darwin": "sha256-AdBnLbgmZvcvlFLfOO4VFqcs2bwpgYvT6t34LkBVYVI=", + "aarch64-linux": "sha256-1i918/G/tEoi+9XPCltHx1hRbOyl3Me87IiJbiWD57o=", + "x86_64-darwin": "sha256-TGel6P9oew5ao8DAMS5kCxLl1eknjZG7Jc7A32YofXk=", + "x86_64-linux": "sha256-7CLoEnFYLe+B0+EOKlVa5dPYHGlRRlo9Fs/EeTjp+So=" }, "dartVersion": "3.9.2", - "dartHash": { - "x86_64-linux": "sha256-ZJcii2WBCE4PNt5+S2nH4hj+WoZuhRLFkzMlSZEa01Y=", - "aarch64-linux": "sha256-EzNApYsHor1suB9dFgJuewMqa0v7cADKLUzLym5GLOY=", - "x86_64-darwin": "sha256-mjWHCF5voWLKlqBKYhl2OKg2aDx0pyIQ1TlF6k4MQz0=", - "aarch64-darwin": "sha256-1rAfqatlOdphdi6dZSfUfKywAbdwRn6ijo60isjV3Lw=" - }, + "engineVersion": "035316565ad77281a75305515e4682e6c4c6f7ca", "flutterHash": "sha256-0GI3P11vys6JU+H5MXKznHTItOXZwap7bxHzgj6umc4=", - "artifactHashes": { - "android": { - "aarch64-darwin": "sha256-BbwfmKPmxZUPVoZEE687vudBCBPzVM/C9ehPEAPr6Jw=", - "aarch64-linux": "sha256-Pgc/ybLcRFJkbGUI2eY689yxOv2VyKdO/F5vGkTg/tM=", - "x86_64-darwin": "sha256-BbwfmKPmxZUPVoZEE687vudBCBPzVM/C9ehPEAPr6Jw=", - "x86_64-linux": "sha256-Pgc/ybLcRFJkbGUI2eY689yxOv2VyKdO/F5vGkTg/tM=" - }, - "fuchsia": { - "aarch64-darwin": "sha256-qpHjEpuIK1hI6ga1qr0Q/t5S2Jjk8oUpnkeXsIeu7UM=", - "aarch64-linux": "sha256-qpHjEpuIK1hI6ga1qr0Q/t5S2Jjk8oUpnkeXsIeu7UM=", - "x86_64-darwin": "sha256-qpHjEpuIK1hI6ga1qr0Q/t5S2Jjk8oUpnkeXsIeu7UM=", - "x86_64-linux": "sha256-qpHjEpuIK1hI6ga1qr0Q/t5S2Jjk8oUpnkeXsIeu7UM=" - }, - "ios": { - "aarch64-darwin": "sha256-ZjNJhDXqv9dg9Gn62TRYX1Vb4Qn0adS5nxxpYZOGsgY=", - "aarch64-linux": "sha256-ZjNJhDXqv9dg9Gn62TRYX1Vb4Qn0adS5nxxpYZOGsgY=", - "x86_64-darwin": "sha256-ZjNJhDXqv9dg9Gn62TRYX1Vb4Qn0adS5nxxpYZOGsgY=", - "x86_64-linux": "sha256-ZjNJhDXqv9dg9Gn62TRYX1Vb4Qn0adS5nxxpYZOGsgY=" - }, - "linux": { - "aarch64-darwin": "sha256-TB9BOiV1Z1cKJKusNW4O0oJEJCt9XmWN+g4yCXtyepc=", - "aarch64-linux": "sha256-TB9BOiV1Z1cKJKusNW4O0oJEJCt9XmWN+g4yCXtyepc=", - "x86_64-darwin": "sha256-7BocNpo89xSXNy6yob+EESVfalm2olwR/knVfq9I1VA=", - "x86_64-linux": "sha256-7BocNpo89xSXNy6yob+EESVfalm2olwR/knVfq9I1VA=" - }, - "macos": { - "aarch64-darwin": "sha256-vnV12shNi630OuyWTey/31vsmAcF7UMEgfdBZBXWc4c=", - "aarch64-linux": "sha256-vnV12shNi630OuyWTey/31vsmAcF7UMEgfdBZBXWc4c=", - "x86_64-darwin": "sha256-vnV12shNi630OuyWTey/31vsmAcF7UMEgfdBZBXWc4c=", - "x86_64-linux": "sha256-vnV12shNi630OuyWTey/31vsmAcF7UMEgfdBZBXWc4c=" - }, - "universal": { - "aarch64-darwin": "sha256-oPUDsJxKbbWEH1XgxOFoBnVYJAjgeCBKIrYtBafWtWU=", - "aarch64-linux": "sha256-ae6UH4K09lcl7UZzD/WKFxWUKEZQsLmizODs/RMKcis=", - "x86_64-darwin": "sha256-wxDWrT35CUIEQaKeIK0adr0oPfv6to60Z6R+8zrwhmU=", - "x86_64-linux": "sha256-CxvOlq8nxeY5esRanl2N7oO4RFgBTwQcRdS7Pp/5tt8=" - }, - "web": { - "aarch64-darwin": "sha256-T+LR7Yo2hEy24u3aS+ehp9nyRBB+3dNDyF6jw1oOd1o=", - "aarch64-linux": "sha256-T+LR7Yo2hEy24u3aS+ehp9nyRBB+3dNDyF6jw1oOd1o=", - "x86_64-darwin": "sha256-T+LR7Yo2hEy24u3aS+ehp9nyRBB+3dNDyF6jw1oOd1o=", - "x86_64-linux": "sha256-T+LR7Yo2hEy24u3aS+ehp9nyRBB+3dNDyF6jw1oOd1o=" - }, - "windows": { - "x86_64-darwin": "sha256-xTWgw8JE/4R9UcdZmLEbMk+yL2V3zfAIXDRli9XYe5k=", - "x86_64-linux": "sha256-xTWgw8JE/4R9UcdZmLEbMk+yL2V3zfAIXDRli9XYe5k=" - } - }, "pubspecLock": { "packages": { "_fe_analyzer_shared": { @@ -1076,5 +1081,6 @@ "sdks": { "dart": ">=3.9.0-21.0.dev <4.0.0" } - } + }, + "version": "3.35.7" } diff --git a/pkgs/development/compilers/flutter/versions/3_35/patches/content-unaware-hash.patch b/pkgs/development/compilers/flutter/versions/3_35/patches/content-unaware-hash.patch new file mode 100644 index 000000000000..d912db5c15cc --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_35/patches/content-unaware-hash.patch @@ -0,0 +1,12 @@ +--- a/bin/internal/content_aware_hash.sh ++++ b/bin/internal/content_aware_hash.sh +@@ -13,6 +13,9 @@ + + set -e + ++echo '0000000000000000000000000000000000000000' ++exit 0 ++ + FLUTTER_ROOT="$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")" + + unset GIT_DIR diff --git a/pkgs/development/compilers/flutter/versions/3_35/patches/no-cache.patch b/pkgs/development/compilers/flutter/versions/3_35/patches/no-cache.patch new file mode 100644 index 000000000000..e0cdb21fd030 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_35/patches/no-cache.patch @@ -0,0 +1,51 @@ +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -318,7 +318,7 @@ + var fatalStorageWarning = true; + + static RandomAccessFile? _lock; +- static var _lockEnabled = true; ++ static var _lockEnabled = false; + + /// Turn off the [lock]/[releaseLock] mechanism. + /// +@@ -721,7 +721,6 @@ + } + + void setStampFor(String artifactName, String version) { +- getStampFileFor(artifactName).writeAsStringSync(version); + } + + File getStampFileFor(String artifactName) { +@@ -1010,31 +1009,6 @@ + } + + Future checkForArtifacts(String? engineVersion) async { +- engineVersion ??= version; +- final url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/'; +- +- var exists = false; +- for (final String pkgName in getPackageDirs()) { +- exists = await cache.doesRemoteExist( +- 'Checking package $pkgName is available...', +- Uri.parse('$url$pkgName.zip'), +- ); +- if (!exists) { +- return false; +- } +- } +- +- for (final List toolsDir in getBinaryDirs()) { +- final String cacheDir = toolsDir[0]; +- final String urlPath = toolsDir[1]; +- exists = await cache.doesRemoteExist( +- 'Checking $cacheDir tools are available...', +- Uri.parse(url + urlPath), +- ); +- if (!exists) { +- return false; +- } +- } + return true; + } + diff --git a/pkgs/development/compilers/flutter/versions/3_35/patches/version.patch b/pkgs/development/compilers/flutter/versions/3_35/patches/version.patch new file mode 100644 index 000000000000..60a8c7d05738 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_35/patches/version.patch @@ -0,0 +1,131 @@ +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -97,11 +97,7 @@ + } + } + +- final String frameworkRevision = _runGit( +- gitLog(['-n', '1', '--pretty=format:%H']).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ final String frameworkRevision = 'nixpkgs000000000000000000000000000000000'; + + return FlutterVersion.fromRevision( + clock: clock, +@@ -207,16 +203,7 @@ + final String flutterRoot; + + String _getTimeSinceCommit({String? revision}) { +- return _runGit( +- FlutterVersion.gitLog([ +- '-n', +- '1', +- '--pretty=format:%ar', +- if (revision != null) revision, +- ]).join(' '), +- globals.processUtils, +- flutterRoot, +- ); ++ return 'unknown'; + } + + // TODO(fujino): calculate this relative to frameworkCommitDate for +@@ -380,9 +367,7 @@ + /// remote git repository is not reachable due to a network issue. + static Future fetchRemoteFrameworkCommitDate() async { + try { +- // Fetch upstream branch's commit and tags +- await _run(['git', 'fetch', '--tags']); +- return _gitCommitDate(gitRef: kGitTrackingUpstream, workingDirectory: Cache.flutterRoot); ++ return 'unknown'; + } on VersionCheckError catch (error) { + globals.printError(error.message); + rethrow; +@@ -407,14 +392,7 @@ + /// If [redactUnknownBranches] is true and the branch is unknown, + /// the branch name will be returned as `'[user-branch]'` ([kUserBranch]). + String getBranchName({bool redactUnknownBranches = false}) { +- _branch ??= () { +- final String branch = _runGit( +- 'git symbolic-ref --short HEAD', +- globals.processUtils, +- flutterRoot, +- ); +- return branch == 'HEAD' ? '' : branch; +- }(); ++ _branch ??= 'stable'; + if (redactUnknownBranches || _branch!.isEmpty) { + // Only return the branch names we know about; arbitrary branch names might contain PII. + if (!kOfficialChannels.contains(_branch) && !kObsoleteBranches.containsKey(_branch)) { +@@ -457,30 +435,7 @@ + bool lenient = false, + required String? workingDirectory, + }) { +- final List args = FlutterVersion.gitLog([ +- gitRef, +- '-n', +- '1', +- '--pretty=format:%ad', +- '--date=iso', +- ]); +- try { +- // Don't plumb 'lenient' through directly so that we can print an error +- // if something goes wrong. +- return _runSync(args, lenient: false, workingDirectory: workingDirectory); +- } on VersionCheckError catch (e) { +- if (lenient) { +- final dummyDate = DateTime.fromMillisecondsSinceEpoch(0); +- globals.printError( +- 'Failed to find the latest git commit date: $e\n' +- 'Returning $dummyDate instead.', +- ); +- // Return something that DateTime.parse() can parse. +- return dummyDate.toString(); +- } else { +- rethrow; +- } +- } ++ return 'unknown'; + } + + class _FlutterVersionFromFile extends FlutterVersion { +@@ -621,20 +576,7 @@ + @override + String? get repositoryUrl { + if (_repositoryUrl == null) { +- final String gitChannel = _runGit( +- 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', +- globals.processUtils, +- flutterRoot, +- ); +- final int slash = gitChannel.indexOf('/'); +- if (slash != -1) { +- final String remote = gitChannel.substring(0, slash); +- _repositoryUrl = _runGit( +- 'git ls-remote --get-url $remote', +- globals.processUtils, +- flutterRoot, +- ); +- } ++ _repositoryUrl = 'https://github.com/flutter/flutter.git'; + } + return _repositoryUrl; + } +@@ -1015,6 +957,16 @@ + final String gitTag; + + static GitTagVersion determine( ++ ProcessUtils processUtils, ++ Platform platform, { ++ String? workingDirectory, ++ bool fetchTags = false, ++ String gitRef = 'HEAD', ++ }) { ++ return GitTagVersion.unknown(); ++ } ++ ++ static GitTagVersion determine_orig( + ProcessUtils processUtils, + Platform platform, { + String? workingDirectory, diff --git a/pkgs/development/compilers/flutter/versions/3_38/data.json b/pkgs/development/compilers/flutter/versions/3_38/data.json index 88baf3ba0ece..b9b0ae6820a0 100644 --- a/pkgs/development/compilers/flutter/versions/3_38/data.json +++ b/pkgs/development/compilers/flutter/versions/3_38/data.json @@ -1,75 +1,80 @@ { - "version": "3.38.10", - "engineVersion": "cafcda5721a78a7884db92f13c5e89f7643d52dd", - "engineSwiftShaderHash": "sha256-ATVcuxqPHqHOWYyO7DoX9LdgUiO3INUi7m9Mc6ccc1M=", - "engineSwiftShaderRev": "d040a5bab638bf7c226235c95787ba6288bb6416", + "artifactHashes": { + "android-arm-profile/artifacts.zip": "sha256-SszXOMnso0LzdaOUl5I2v9Kfx+xFfrssoB6d5wk8IQ8=", + "android-arm-profile/darwin-x64.zip": "sha256-eEmHXcgcsNt5AXoV/g876veTV4hGTHFx8KPs/pB1h44=", + "android-arm-profile/linux-x64.zip": "sha256-UStYtnQ2bO0QYwsLYlvDcAxd02kauagXAndHERlXhYE=", + "android-arm-profile/windows-x64.zip": "sha256-QzhKpS9nPLfcxUHipL9emSROXxAukOOOy/4Bv9g4UFg=", + "android-arm-release/artifacts.zip": "sha256-DOn06RWlhwJDeVqr6slARQywnbLdRHp45UXA8ek0xTA=", + "android-arm-release/darwin-x64.zip": "sha256-hWULmwI30CgXHBr/DPuQwsUWdEYcEb1zu2wDrlQ8dbI=", + "android-arm-release/linux-x64.zip": "sha256-7Pkw0ahZkFT/CM0xdJPGqfjFgg8UcSoPfKawMlI7uSo=", + "android-arm-release/windows-x64.zip": "sha256-Kq6EURxjwsnzwaFziy3wshrgr14+Nz50Mug6gHGKByk=", + "android-arm/artifacts.zip": "sha256-PDy8hUidPU/KhQ7jzv3scnquh8W1Lu2N/DzrC2xjyhw=", + "android-arm64-profile/artifacts.zip": "sha256-8v9xjQQ9sCdIJc9m3gfb5GikjTnMLOZNhqV4HuyxjKM=", + "android-arm64-profile/darwin-x64.zip": "sha256-0DWhGSixA3wBMk4cy14JnyGs9qz9MXbGAVLQdHtltqI=", + "android-arm64-profile/linux-x64.zip": "sha256-muSzoz1hv1/itvt9RE2PoJtPGLWP6vTTOX1Mzz+H4kU=", + "android-arm64-profile/windows-x64.zip": "sha256-vxLVdkEJL3eriZDIKgoUoaTRgEwxGh+/8LLpeRSPc1g=", + "android-arm64-release/artifacts.zip": "sha256-T00v6QgwlD8yeb+KZaq5Oze7BNi7QVk2umouGMxzcDk=", + "android-arm64-release/darwin-x64.zip": "sha256-jONivWNSZxD3ZdhNA0+3UBsI5SBr6Ghxgub34vDj66w=", + "android-arm64-release/linux-x64.zip": "sha256-DHxJksRVK4dYoxI3mb7MfQrTki8CrTFurjtgj9f+7cg=", + "android-arm64-release/windows-x64.zip": "sha256-r0B8VB16L/zGyEopOUoFJj+Pb9WgfG0Iv+U5z8d6PK4=", + "android-arm64/artifacts.zip": "sha256-hfxdM6OoWyqh5iwyXNo5qXLvvIONhdA/60g1SsPOjZU=", + "android-x64-profile/artifacts.zip": "sha256-h+Lhj5j9CzLGUu9f3oX8kZ75B0s7iehmr/D7uv3t5yk=", + "android-x64-profile/darwin-x64.zip": "sha256-cHGALDMpEuzlW8kW+kB5H1Tk8E4KrTiiclj5ZmOcMp4=", + "android-x64-profile/linux-x64.zip": "sha256-cta/XKPOwgyIJUR3l1Qdmaexh60WQ3RiBlCwM4hc0Q0=", + "android-x64-profile/windows-x64.zip": "sha256-h6CPE4lPvSxCziroNuRYtSPqEmMfDeau/7MW7F4Ne5E=", + "android-x64-release/artifacts.zip": "sha256-cyGK3qsmfnK1kD+kD23PUy6EeJOz4eGqQlRnQcY1K7Y=", + "android-x64-release/darwin-x64.zip": "sha256-gImreJnjCb+OF3dXQE4WE1S0h13Z/5xFmVuBcUJvGrY=", + "android-x64-release/linux-x64.zip": "sha256-43NlGPjZK8V2i6Tv5rRhZBI3ItpSSIXrke13/uAGct8=", + "android-x64-release/windows-x64.zip": "sha256-CcLvO3w1LLlMTVQ5TR8sTL5sCMZXsGVa5u5j1fh/mSs=", + "android-x64/artifacts.zip": "sha256-ALbGKIFJ9n+cvE4+00doce+0LenwbOUyQtiflC2GJ7M=", + "android-x86/artifacts.zip": "sha256-ovnEERQizyUxcucOxLqxrK1dBO5IqKHsI7ob94w8G4o=", + "darwin-arm64/artifacts.zip": "sha256-+yIE6rmPxgTv8Uuhi8lzyMTG5zpb0R2Li7P/xhkvRSA=", + "darwin-arm64/font-subset.zip": "sha256-5yR3y+FYn2Fkudqe9QiLWDbCE811Ds9hac4jTCLiW1w=", + "darwin-x64-profile/artifacts.zip": "sha256-jD4X0HBjJIbuBsamH8bexBWGcMqhyk3hSOMKtempgPQ=", + "darwin-x64-profile/framework.zip": "sha256-NNDGYSL7/9841I2siCzFwjRaZu8Td4c+f/JF1Q2IenE=", + "darwin-x64-profile/gen_snapshot.zip": "sha256-CBGLnupxRxFk16ww97RC3XZRr53pKYQX6PtMfM+53sk=", + "darwin-x64-release/artifacts.zip": "sha256-4dA2edSUJHJfdGb9JwfkBe60R2TuENN3R8RlwUEh1Hk=", + "darwin-x64-release/framework.zip": "sha256-QiQwwJtwYutkbAhF0YtWuBP3mMRJ+4W0Kns//sXzpzU=", + "darwin-x64-release/gen_snapshot.zip": "sha256-a1ajKvgccl/745zxbGPNtqBIzNrkuHWNh9DNxS1Gn8U=", + "darwin-x64/artifacts.zip": "sha256-qVdAKm7Crnm0DEkw9PTf4KBA45PdoGZdsr5F5BWXtLw=", + "darwin-x64/font-subset.zip": "sha256-hLgb0BCZXwOlch1nD8SK7Bf2ao9gE1IUjlThRYxg/8c=", + "darwin-x64/framework.zip": "sha256-wLWLQpjFCitYNUJpMNsH3kCKRe+ADQixrEWSrKgK/w0=", + "darwin-x64/gen_snapshot.zip": "sha256-gbxqc2Rr0ftDftiV5l8FG3oFtpJ1fkB+TzQXCyiMEqk=", + "flutter-web-sdk.zip": "sha256-2mtnmqOWwnHd6wLyxEpaTCzSAMSXxLaBSgZBetum3N0=", + "flutter_gpu.zip": "sha256-+4BSuZJDwZoUMnd99U2FJa9A6+1ZsR4gpGyjfNszVlU=", + "flutter_patched_sdk.zip": "sha256-0IJy6Rhm41zE4uanx0KClZ2C3YOaKrT34ZmIgkyyFbs=", + "flutter_patched_sdk_product.zip": "sha256-XJtmN6N3RMJRJA78xHg5wsfXrcoKXelC4CJXVOUhyCw=", + "ios-profile/artifacts.zip": "sha256-65Qje/KLH0Y/r1iowRiTdXHOPX+4TNXkxRtA2T9pyP8=", + "ios-release/artifacts.zip": "sha256-tfYI/LC3GyjVOxvuAWbWq9/oYuHLl2iZxZ9CFTWwzoI=", + "ios/artifacts.zip": "sha256-njLT9/SY6fhqZYdBlF7LruNG40y+0CxmCeTd9HGoURk=", + "linux-arm64-debug/linux-arm64-flutter-gtk.zip": "sha256-SZ5o61Wz4DUFiLPDwR4BE2c/Ppm9wU9zqpO4cVg6sjk=", + "linux-arm64-profile/linux-arm64-flutter-gtk.zip": "sha256-TEY+99KUeI8sLWNGcG3bAAhbhhXDPl+jKzQMq9XO6N0=", + "linux-arm64-release/linux-arm64-flutter-gtk.zip": "sha256-pWknANDo3Jb0ctSAE8gBAwpjEPfxoXhBzu98BsQrLPI=", + "linux-arm64/artifacts.zip": "sha256-u/wxbplJm8pEGiZ4PM8apWcYwSXrV85JbfVqtn8MQXc=", + "linux-arm64/font-subset.zip": "sha256-S2SY5yXZht/Wj3GF4t+VPdJDNxe4q8aeiFvRboJDevk=", + "linux-x64-debug/linux-x64-flutter-gtk.zip": "sha256-3DiNbB+xSa/bYqoi/29JdGaIv+fIzrpfKFH1toQQo/M=", + "linux-x64-profile/linux-x64-flutter-gtk.zip": "sha256-m2h6C1ApGqIBfZ01agnzngbuhzAapmzrpc4FzwjjlN0=", + "linux-x64-release/linux-x64-flutter-gtk.zip": "sha256-Mcb7/sF0bc4L0T73iuUWou/OOlcuOuwQrRfqLQMrCO4=", + "linux-x64/artifacts.zip": "sha256-ie03ozwWndpB3ztxugUY4v0gCHav2chK6PbgxheKI/k=", + "linux-x64/font-subset.zip": "sha256-NKJnqJsOGO6Gh0/GJ/kLOhncmYIwRHSP6tx5fm909Wc=", + "sky_engine.zip": "sha256-nz7bVhV2odmt16WL4yp4eMa1/ecg1IGTewEvgPagIsY=", + "windows-x64-debug/windows-x64-flutter.zip": "sha256-bG/Yv0yrNMTH8aBgRQBTaG6Wo2KsUYUAccjWhWY+FW4=", + "windows-x64-profile/windows-x64-flutter.zip": "sha256-2/3kncn1RB1U41T83xudVsRqXhD3kGiiPbbAixeyQA0=", + "windows-x64-release/windows-x64-flutter.zip": "sha256-NL1801xcnuJ60D/KF8A0F8gEJ9TGFhnR8+mwKFnC4V4=", + "windows-x64/artifacts.zip": "sha256-rXQrattA8ykNsOzQlcaKX7EJt43gfOBtXyg9r2/Voq4=", + "windows-x64/flutter-cpp-client-wrapper.zip": "sha256-Qg4orxxNDofGOb9iiEapIjXh5aRdAewft7XZn/jw1FM=", + "windows-x64/font-subset.zip": "sha256-bVoEA88BeTe0zqjQEKzXgG4xfamSXv1oUdSqPwoB3pQ=" + }, "channel": "stable", - "engineHashes": { - "aarch64-linux": { - "aarch64-linux": "sha256-qhOj6VT1aKhBApEr5R10NwalozUPMQKuUXfhcscTDTs=", - "x86_64-linux": "sha256-qhOj6VT1aKhBApEr5R10NwalozUPMQKuUXfhcscTDTs=" - }, - "x86_64-linux": { - "aarch64-linux": "sha256-VriQI7YmeM/HrZvLPRllxn5D/0r5xJiCzsn4XeBXO+A=", - "x86_64-linux": "sha256-VriQI7YmeM/HrZvLPRllxn5D/0r5xJiCzsn4XeBXO+A=" - } + "dartHash": { + "aarch64-darwin": "sha256-99gMhvkzSJmYEsGuD3kBN1e3l685Xyy6cNICegC+Vk4=", + "aarch64-linux": "sha256-Z8mPnmppTtPLNiY0Ny1pRzBAs3EoNtQsr82zxWwKBOs=", + "x86_64-darwin": "sha256-pd37vWDOIKGdek/CuUSH7sVyiKqlLOW6GLT4IkzkwYA=", + "x86_64-linux": "sha256-1DudOiG4LvKjfTGUW5nmuI9fjcROwZG0c/1inXjQuZQ=" }, "dartVersion": "3.10.9", - "dartHash": { - "x86_64-linux": "sha256-Js8cesRAseVfa5CCQSmnJJVBYl+S7Zy7ax/vNbWMjQ0=", - "aarch64-linux": "sha256-Ba7CCHPzor8H6ksrQUqDnx82i92OSE4qiihMaDKNexI=", - "x86_64-darwin": "sha256-btQavXZ3CVM0ByGlZJ5z2TUfXsPljY4iFeU1rgf4KQE=", - "aarch64-darwin": "sha256-zmEK01ooqIKtVlw+7JlDAVvviFOcaqOrbGPkdirst6A=" - }, + "engineVersion": "cafcda5721a78a7884db92f13c5e89f7643d52dd", "flutterHash": "sha256-dFVejSD3l2C6FM3/vimOId5Nklctv7ISO9uDhLTNf80=", - "artifactHashes": { - "android": { - "aarch64-darwin": "sha256-NFvkU3aDAmCAuO+ZrNaY5CJpPyioc6eB6cFZfziXEQU=", - "aarch64-linux": "sha256-eHu5nWrxht1O6dP6LQ2UHNpPMNaRt/vL+cY2Okhtn0g=", - "x86_64-darwin": "sha256-NFvkU3aDAmCAuO+ZrNaY5CJpPyioc6eB6cFZfziXEQU=", - "x86_64-linux": "sha256-eHu5nWrxht1O6dP6LQ2UHNpPMNaRt/vL+cY2Okhtn0g=" - }, - "fuchsia": { - "aarch64-darwin": "sha256-DUlLvOGzLasLtZgndXew3l6w7VLDnrE5NqN3em1MVXE=", - "aarch64-linux": "sha256-DUlLvOGzLasLtZgndXew3l6w7VLDnrE5NqN3em1MVXE=", - "x86_64-darwin": "sha256-DUlLvOGzLasLtZgndXew3l6w7VLDnrE5NqN3em1MVXE=", - "x86_64-linux": "sha256-DUlLvOGzLasLtZgndXew3l6w7VLDnrE5NqN3em1MVXE=" - }, - "ios": { - "aarch64-darwin": "sha256-+aKuaOXWEzDXWG2tMz7u3MLuiHSa3XyYHrfBGwRxUHI=", - "aarch64-linux": "sha256-+aKuaOXWEzDXWG2tMz7u3MLuiHSa3XyYHrfBGwRxUHI=", - "x86_64-darwin": "sha256-+aKuaOXWEzDXWG2tMz7u3MLuiHSa3XyYHrfBGwRxUHI=", - "x86_64-linux": "sha256-+aKuaOXWEzDXWG2tMz7u3MLuiHSa3XyYHrfBGwRxUHI=" - }, - "linux": { - "aarch64-darwin": "sha256-IMa7QTMRYoWlJcI/SCO6aBtmKtIozQAcAgeQFWCFgb4=", - "aarch64-linux": "sha256-IMa7QTMRYoWlJcI/SCO6aBtmKtIozQAcAgeQFWCFgb4=", - "x86_64-darwin": "sha256-nmLLXotJuHrFrpRMjdb/38l/rPRDiFvFf0BwfVvs9V8=", - "x86_64-linux": "sha256-nmLLXotJuHrFrpRMjdb/38l/rPRDiFvFf0BwfVvs9V8=" - }, - "macos": { - "aarch64-darwin": "sha256-p/ysd+1EOSaKmHRWYr/lYCo8H1oty4GC0Moaw+PC72A=", - "aarch64-linux": "sha256-p/ysd+1EOSaKmHRWYr/lYCo8H1oty4GC0Moaw+PC72A=", - "x86_64-darwin": "sha256-p/ysd+1EOSaKmHRWYr/lYCo8H1oty4GC0Moaw+PC72A=", - "x86_64-linux": "sha256-p/ysd+1EOSaKmHRWYr/lYCo8H1oty4GC0Moaw+PC72A=" - }, - "universal": { - "aarch64-darwin": "sha256-viiNdnQKAaTO91yNwGrSwr5jT2Zm+38rLNCyb7N3faw=", - "aarch64-linux": "sha256-u9qKNkrdxkIVP4+rn0vzDSY37twJ/TLV7nfX6IqRj+4=", - "x86_64-darwin": "sha256-ztUb0vhegvskVdXcIi6xQtfJdIZTCWQB8zfR0CTLD54=", - "x86_64-linux": "sha256-Xlm/ds/m0nm2cAXszCxCCjMNDyyK4AcldrvnwYImxSE=" - }, - "web": { - "aarch64-darwin": "sha256-CkFJ96IWOk3q+VjPzpieyp8IMiTaTKgnAQpyltHeMnw=", - "aarch64-linux": "sha256-CkFJ96IWOk3q+VjPzpieyp8IMiTaTKgnAQpyltHeMnw=", - "x86_64-darwin": "sha256-CkFJ96IWOk3q+VjPzpieyp8IMiTaTKgnAQpyltHeMnw=", - "x86_64-linux": "sha256-CkFJ96IWOk3q+VjPzpieyp8IMiTaTKgnAQpyltHeMnw=" - }, - "windows": { - "x86_64-darwin": "sha256-HId39NR+rbe1fqEssNb7gD6bvmeLj1N9UJYV8hxJFt0=", - "x86_64-linux": "sha256-HId39NR+rbe1fqEssNb7gD6bvmeLj1N9UJYV8hxJFt0=" - } - }, "pubspecLock": { "packages": { "_fe_analyzer_shared": { @@ -1086,5 +1091,6 @@ "sdks": { "dart": ">=3.9.0 <4.0.0" } - } + }, + "version": "3.38.10" } diff --git a/pkgs/development/compilers/flutter/versions/3_38/patches/content-unaware-hash.patch b/pkgs/development/compilers/flutter/versions/3_38/patches/content-unaware-hash.patch new file mode 100644 index 000000000000..d912db5c15cc --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_38/patches/content-unaware-hash.patch @@ -0,0 +1,12 @@ +--- a/bin/internal/content_aware_hash.sh ++++ b/bin/internal/content_aware_hash.sh +@@ -13,6 +13,9 @@ + + set -e + ++echo '0000000000000000000000000000000000000000' ++exit 0 ++ + FLUTTER_ROOT="$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")" + + unset GIT_DIR diff --git a/pkgs/development/compilers/flutter/versions/3_38/patches/no-cache.patch b/pkgs/development/compilers/flutter/versions/3_38/patches/no-cache.patch new file mode 100644 index 000000000000..e0cdb21fd030 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_38/patches/no-cache.patch @@ -0,0 +1,51 @@ +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -318,7 +318,7 @@ + var fatalStorageWarning = true; + + static RandomAccessFile? _lock; +- static var _lockEnabled = true; ++ static var _lockEnabled = false; + + /// Turn off the [lock]/[releaseLock] mechanism. + /// +@@ -721,7 +721,6 @@ + } + + void setStampFor(String artifactName, String version) { +- getStampFileFor(artifactName).writeAsStringSync(version); + } + + File getStampFileFor(String artifactName) { +@@ -1010,31 +1009,6 @@ + } + + Future checkForArtifacts(String? engineVersion) async { +- engineVersion ??= version; +- final url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/'; +- +- var exists = false; +- for (final String pkgName in getPackageDirs()) { +- exists = await cache.doesRemoteExist( +- 'Checking package $pkgName is available...', +- Uri.parse('$url$pkgName.zip'), +- ); +- if (!exists) { +- return false; +- } +- } +- +- for (final List toolsDir in getBinaryDirs()) { +- final String cacheDir = toolsDir[0]; +- final String urlPath = toolsDir[1]; +- exists = await cache.doesRemoteExist( +- 'Checking $cacheDir tools are available...', +- Uri.parse(url + urlPath), +- ); +- if (!exists) { +- return false; +- } +- } + return true; + } + diff --git a/pkgs/development/compilers/flutter/versions/3_38/patches/version.patch b/pkgs/development/compilers/flutter/versions/3_38/patches/version.patch new file mode 100644 index 000000000000..49f2c5294d51 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_38/patches/version.patch @@ -0,0 +1,131 @@ +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -99,10 +99,7 @@ + } + } + +- final String frameworkRevision = git +- .logSync(['-n', '1', '--pretty=format:%H'], workingDirectory: flutterRoot) +- .stdout +- .trim(); ++ final String frameworkRevision = 'nixpkgs000000000000000000000000000000000'; + + return FlutterVersion.fromRevision( + clock: clock, +@@ -222,10 +219,7 @@ + final String flutterRoot; + + String _getTimeSinceCommit({String? revision}) { +- return _git +- .logSync(['-n', '1', '--pretty=format:%ar', ?revision], workingDirectory: flutterRoot) +- .stdout +- .trim(); ++ return 'unknown'; + } + + // TODO(fujino): calculate this relative to frameworkCommitDate for +@@ -391,13 +385,7 @@ + /// remote git repository is not reachable due to a network issue. + Future _fetchRemoteFrameworkCommitDate() async { + try { +- // Fetch upstream branch's commit and tags +- await _run(_git, ['fetch', '--tags']); +- return _gitCommitDate( +- git: _git, +- gitRef: kGitTrackingUpstream, +- workingDirectory: Cache.flutterRoot, +- ); ++ return 'unknown'; + } on VersionCheckError catch (error) { + globals.printError(error.message); + rethrow; +@@ -422,13 +410,7 @@ + /// If [redactUnknownBranches] is true and the branch is unknown, + /// the branch name will be returned as `'[user-branch]'` ([kUserBranch]). + String getBranchName({bool redactUnknownBranches = false}) { +- _branch ??= () { +- final String branch = _git +- .runSync(['symbolic-ref', '--short', 'HEAD'], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- return branch == 'HEAD' ? '' : branch; +- }(); ++ _branch ??= 'stable'; + if (redactUnknownBranches || _branch!.isEmpty) { + // Only return the branch names we know about; arbitrary branch names might contain PII. + if (!kOfficialChannels.contains(_branch) && !kObsoleteBranches.containsKey(_branch)) { +@@ -464,31 +446,7 @@ + required Git git, + required String? workingDirectory, + }) { +- final RunResult result = git.logSync([ +- gitRef, +- '-n', +- '1', +- '--pretty=format:%ad', +- '--date=iso', +- ], workingDirectory: workingDirectory); +- if (result.exitCode == 0) { +- return result.stdout.trim(); +- } +- final error = VersionCheckError( +- 'Command exited with code ${result.exitCode}: ${result.command.join(' ')}\n' +- 'Standard out: ${result.stdout}\n' +- 'Standard error: ${result.stderr}', +- ); +- if (lenient) { +- final dummyDate = DateTime.fromMillisecondsSinceEpoch(0); +- globals.printError( +- 'Failed to find the latest git commit date: $error\n' +- 'Returning $dummyDate instead.', +- ); +- // Return something that DateTime.parse() can parse. +- return dummyDate.toString(); +- } +- throw error; ++ return 'unknown'; + } + + class _FlutterVersionFromFile extends FlutterVersion { +@@ -639,23 +597,7 @@ + @override + String? get repositoryUrl { + if (_repositoryUrl == null) { +- final String gitChannel = _git +- .runSync([ +- 'rev-parse', +- '--abbrev-ref', +- '--symbolic', +- kGitTrackingUpstream, +- ], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- final int slash = gitChannel.indexOf('/'); +- if (slash != -1) { +- final String remote = gitChannel.substring(0, slash); +- _repositoryUrl = _git +- .runSync(['ls-remote', '--get-url', remote], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- } ++ _repositoryUrl = 'https://github.com/flutter/flutter.git'; + } + return _repositoryUrl; + } +@@ -1005,6 +947,16 @@ + final String gitTag; + + static GitTagVersion determine( ++ Platform platform, { ++ required Git git, ++ String? workingDirectory, ++ bool fetchTags = false, ++ String gitRef = 'HEAD', ++ }) { ++ return GitTagVersion.unknown(); ++ } ++ ++ static GitTagVersion determine_orig( + Platform platform, { + required Git git, + String? workingDirectory, diff --git a/pkgs/development/compilers/flutter/versions/3_41/data.json b/pkgs/development/compilers/flutter/versions/3_41/data.json index 0159af0063c2..2a11cfc9cd13 100644 --- a/pkgs/development/compilers/flutter/versions/3_41/data.json +++ b/pkgs/development/compilers/flutter/versions/3_41/data.json @@ -1,75 +1,80 @@ { - "version": "3.41.6", - "engineVersion": "425cfb54d01a9472b3e81d9e76fd63a4a44cfbcb", - "engineSwiftShaderHash": "sha256-qbtCl2nTpmtp9dnaoXc7rF3RqLnAZEmzw1BzPoCRWrc=", - "engineSwiftShaderRev": "794b0cfce1d828d187637e6d932bae484fbe0976", + "artifactHashes": { + "android-arm-profile/artifacts.zip": "sha256-plu68ELMftDhiYcgkJBaE8asLzo2ctLl/2ba4efaBlg=", + "android-arm-profile/darwin-x64.zip": "sha256-YqIngn4CqUWFTw7DJ0uzQbTC5LPXy/eMS7j3fpdk0Zs=", + "android-arm-profile/linux-x64.zip": "sha256-mysciyN6YhdyMU1eJuGbVVNWF65NiPn9hLv0TdYYIZ0=", + "android-arm-profile/windows-x64.zip": "sha256-OHZ0sgA1cY4PA9W2Ih8sSTeM+DKMZUtYl7wUVcFZiOw=", + "android-arm-release/artifacts.zip": "sha256-TYHND/VUpanPdCII9d9Db66M4U3Lsu3/Pbol8UNBCMk=", + "android-arm-release/darwin-x64.zip": "sha256-sEPX65dQSMVliEnYTCxN06ZKjp1RwhMeoSuhH/LZNS0=", + "android-arm-release/linux-x64.zip": "sha256-tP3BZFvzhIK5CawnU+ubmq+GRFqfPJ5POoaoHG+RdD4=", + "android-arm-release/windows-x64.zip": "sha256-Y3sDe7MtG0NRHvnLLIjUIXOsXXrRclhexta41SUa9Qs=", + "android-arm/artifacts.zip": "sha256-Y4ocz8l+LI1ojslfOloU3KgCC2i8etsEmZY99UnoAI4=", + "android-arm64-profile/artifacts.zip": "sha256-VAocgCx7m8pM8PXK/mLzqNaJBzRfg3cCl45uVT7KdQU=", + "android-arm64-profile/darwin-x64.zip": "sha256-UXz/SAQstAtTmjdSdxql7OUlqsnkzr56vwnMkToeObk=", + "android-arm64-profile/linux-x64.zip": "sha256-iprtcLB/sCngKjPcN3lHaqLL2QndGo3KbQIsdnqtlKE=", + "android-arm64-profile/windows-x64.zip": "sha256-x5RmwOpJ+O77IxhTJ2+wXlMqgaNdT9dCV6p1aMooSl0=", + "android-arm64-release/artifacts.zip": "sha256-oQI+gLEf0NsWYVH/9124njBEctiBUKvuNWnghaaLO9s=", + "android-arm64-release/darwin-x64.zip": "sha256-wWjvqLRtsm+0SDYYg8lw+vCBNBDKzcJpzOkmEuSdEls=", + "android-arm64-release/linux-x64.zip": "sha256-YmrheUHylvRK/FlOZkRMD9i47K5U8obOraRFsXKhwhs=", + "android-arm64-release/windows-x64.zip": "sha256-riqR9TEIb9f/QaWcPbhkNUIEdJ5ZQIKKxoD5KlCB5yc=", + "android-arm64/artifacts.zip": "sha256-UZUCwJxdjiZy4UZz6xCyuWsSmequIptaPxCIeczw8Vg=", + "android-x64-profile/artifacts.zip": "sha256-+mbN3pO70AcmEJZYOb4or2BV8p9yYjZYHxZaNSb5QPk=", + "android-x64-profile/darwin-x64.zip": "sha256-w2ggxB3eSCwvKCohnJlbX258nQUMjK8s4jXkr74m4aw=", + "android-x64-profile/linux-x64.zip": "sha256-Vggd6cRe2d3zFSG570+TZUoHNPJuVHjleSQnDfqKsxQ=", + "android-x64-profile/windows-x64.zip": "sha256-4zguzW7Tm7nscfApeeaHbYPy9+Jw3o22gRxXZZ79ae8=", + "android-x64-release/artifacts.zip": "sha256-DfdyXrqSGxemAlvF/nwjcWkjo2d/fwWOyVWGPiM3Ff8=", + "android-x64-release/darwin-x64.zip": "sha256-H8r9NtoVKfI0Y09HKBA2TzjPZhBTktUrJyZsXJL1Z+Y=", + "android-x64-release/linux-x64.zip": "sha256-HZEh7f0vWDPtqYAqJ5CdgAhpUJW5RWLg25yyDpM3rX4=", + "android-x64-release/windows-x64.zip": "sha256-5zNvcGkL9ArsrZ+PHvWi97kUc6h+EWckIUGM/KDz1Qw=", + "android-x64/artifacts.zip": "sha256-O+3ykJd+Z7ZB2sZbwe+KtdP2JiatnI4di0l8DsuUofc=", + "android-x86/artifacts.zip": "sha256-iLM7ZfYMPM3Lmbvo7XDJW0zFqu1tS7NxmbImq8Ke9hU=", + "darwin-arm64/artifacts.zip": "sha256-MVnRN8HvmsLqnsiBpNvbEvgGg4ino7SWgp+9Y/Kq76M=", + "darwin-arm64/font-subset.zip": "sha256-capuWYsdAFYRZGeSGoRpLfw116GMXTZQn18VTYRk7ss=", + "darwin-x64-profile/artifacts.zip": "sha256-UEVqrW7LcDMNe7vLnul9qnyvfA7bXULxv7FDRUzXhpU=", + "darwin-x64-profile/framework.zip": "sha256-+kxuSBSFLPAjcBee7DEupLnJP0HW5yzXF78MGLsur9o=", + "darwin-x64-profile/gen_snapshot.zip": "sha256-Q8mHzXPiAx2HReJHaYnWVLbf2PiuK5f0GFtT2Y+jqTA=", + "darwin-x64-release/artifacts.zip": "sha256-J+2vH/MLJ61kvVkIXxx1NGl2kSDPC8xFEvqeoopxwW4=", + "darwin-x64-release/framework.zip": "sha256-MsqwiLv7oTySmkeibNBQvmT63Fh5c8bGtexWRnWhIT8=", + "darwin-x64-release/gen_snapshot.zip": "sha256-ZvzW84hd3dyhsJLNw3bGUDH1vjuLzd6bFh+LY70NDLQ=", + "darwin-x64/artifacts.zip": "sha256-Ovq1yaTvYQjyr1ZYtdC/ngeQvvCOTBAjE7IV0wYCCE4=", + "darwin-x64/font-subset.zip": "sha256-IHLrPa4fAqPrdeHYdsIz93BHO0Np+2MSCbk7C2sgwwk=", + "darwin-x64/framework.zip": "sha256-EQjB10gVKzjdmaiIOf46U6YbAHaCVmdzHXPc6Ds8KcE=", + "darwin-x64/gen_snapshot.zip": "sha256-4+J8H82bxIFviUvvthyBZGrBwYO11mFJErL2whooZFY=", + "flutter-web-sdk.zip": "sha256-7rZynFWlGy0SJ2wCRlItpvwEBK2bIUqsm+f97FF5js4=", + "flutter_gpu.zip": "sha256-+xx4iFMM6cm4eYJUqp2iq/UWCSjtmn22RNEG8z6stvQ=", + "flutter_patched_sdk.zip": "sha256-SwWY3Gxv3hYZAzmVAJwwLl51CFdC4Pfgq8+VLsVHarY=", + "flutter_patched_sdk_product.zip": "sha256-nxOERMQz0qq7EFVm6OWpl8BR6E+20xLG0du5Jj+YHbE=", + "ios-profile/artifacts.zip": "sha256-RL1GqX0/6fv+SeUW3FNyfKQl/bpTM84STQSzHLCSh7E=", + "ios-release/artifacts.zip": "sha256-gnRjcv8bz1du/w9T8bZBaspUqIkeKxPB0BqPsbofq34=", + "ios/artifacts.zip": "sha256-qjr2yU4XsbdiyJwAK6v7bINiALIIOFyUmWpKFhaDou0=", + "linux-arm64-debug/linux-arm64-flutter-gtk.zip": "sha256-WmN2CNXlSslMxwQO8siUbvOL1C2B7DyAiubOpof0hps=", + "linux-arm64-profile/linux-arm64-flutter-gtk.zip": "sha256-RZJOPNYA/TuoLGQfpOveJ0dhBs4xKf4Iy3MmCLBoBE8=", + "linux-arm64-release/linux-arm64-flutter-gtk.zip": "sha256-qQFBvIOsQwLEnsSlfV+r9yK/3rBQyyIQZayJzarO9iI=", + "linux-arm64/artifacts.zip": "sha256-JnPSiHx6hYCK2kx/zQqxvjbIGZPwH5UDI4dZyJ5kPIU=", + "linux-arm64/font-subset.zip": "sha256-9TcFWpN3suISmjNgje7WSqygiWbu9Q5t6SAfhqZlF00=", + "linux-x64-debug/linux-x64-flutter-gtk.zip": "sha256-og0JAIZL/Arklv4cpeOMhqhN+n2VcVWJg6T0G3hb1sQ=", + "linux-x64-profile/linux-x64-flutter-gtk.zip": "sha256-LXOooWgdQcjm4rc7RXi8765snfvovIxXDVfCaOSBc/o=", + "linux-x64-release/linux-x64-flutter-gtk.zip": "sha256-ICePn3G3SngJ5O78B0YvUf0lspWXJBRi3ESUOmRhtzI=", + "linux-x64/artifacts.zip": "sha256-15A66Yj0IUzvmXcijWIFFaYGuXccJp0L1rqg7APkwiM=", + "linux-x64/font-subset.zip": "sha256-YcYgMtvtIJekxpAByUkF8OViQxe1+EBczpKer15meeA=", + "sky_engine.zip": "sha256-qIs/zBZ9VvCU4PUNrmJRPvF0UsEZ6fe4HVIGoYEYdhs=", + "windows-x64-debug/windows-x64-flutter.zip": "sha256-4QYdKTF2GipzX+KS0FkEwQV9MBEkKUjUi7Nav21bv2k=", + "windows-x64-profile/windows-x64-flutter.zip": "sha256-a7ANXvvQ2nawAdPOxOuTgrQMgFSihCtQhzAiOQJtOLE=", + "windows-x64-release/windows-x64-flutter.zip": "sha256-qLG8IChKep+nwYcogcM5JOGP0wZwdUPdjf4mg8TPmVU=", + "windows-x64/artifacts.zip": "sha256-2GZ4oVJ/XjiNDs0goanWPbmhkiwARGU+GsrhZnTdzd0=", + "windows-x64/flutter-cpp-client-wrapper.zip": "sha256-lqxP9xCNa7ClZyNIaxnZv/MorPFmV8haDde/Sm2DG4Q=", + "windows-x64/font-subset.zip": "sha256-t0hARPeFDhVqad2H1dlhvkf6l3a4EcsoVHotageUghA=" + }, "channel": "stable", - "engineHashes": { - "aarch64-linux": { - "aarch64-linux": "sha256-MDmnLj7uUgAQ3UIgU4XU8r57TMv50tFdfmYYcFhcsxM=", - "x86_64-linux": "sha256-MDmnLj7uUgAQ3UIgU4XU8r57TMv50tFdfmYYcFhcsxM=" - }, - "x86_64-linux": { - "aarch64-linux": "sha256-93ut4VKfLefvB/dNAlf7MrfchM8dS4uhvyhM0Lt94jQ=", - "x86_64-linux": "sha256-93ut4VKfLefvB/dNAlf7MrfchM8dS4uhvyhM0Lt94jQ=" - } + "dartHash": { + "aarch64-darwin": "sha256-DwyZtAeZLuaX2MFVPzhERiFeX45wI9sTc4Y2SVopRE8=", + "linux": "sha256-y2F+wB0M5dq6koxGpCs9BExGU7p8tFOIiRqfdf8ip+8=", + "x86_64-darwin": "sha256-GHTjTHJmbIPfsAbF4AmxjDETSw9YD04/6lGecoe1xrA=" }, "dartVersion": "3.11.4", - "dartHash": { - "x86_64-linux": "sha256-UtYvBbAHzLcRfPQcGb7aHIfBRLJ+pgCxa0ycjqj8j9Q=", - "aarch64-linux": "sha256-w1um8N4fXrvyNQZhK//DR8e6lMOkx1EQyrEVeJIWbTw=", - "x86_64-darwin": "sha256-GHTjTHJmbIPfsAbF4AmxjDETSw9YD04/6lGecoe1xrA=", - "aarch64-darwin": "sha256-DwyZtAeZLuaX2MFVPzhERiFeX45wI9sTc4Y2SVopRE8=" - }, + "engineHash": "sha256-DJwtw5yJsTou6mXb5lSjP1two72rRqdO2Q/+WkhWGS8=", + "engineVersion": "425cfb54d01a9472b3e81d9e76fd63a4a44cfbcb", "flutterHash": "sha256-oI/Ml2gT1jStnpAwS/SBant3ja8d7hSEZ74kin8kENk=", - "artifactHashes": { - "android": { - "aarch64-darwin": "sha256-XqHuTqBB5htEaOXwBWW2JE7KIHfQ4AnyTVTu6ekrL34=", - "aarch64-linux": "sha256-+0pmhXISuitKlG94LraIAr0qDu7ob4DrefMiBcZBbRU=", - "x86_64-darwin": "sha256-XqHuTqBB5htEaOXwBWW2JE7KIHfQ4AnyTVTu6ekrL34=", - "x86_64-linux": "sha256-+0pmhXISuitKlG94LraIAr0qDu7ob4DrefMiBcZBbRU=" - }, - "fuchsia": { - "aarch64-darwin": "sha256-CZpjr9MPSxKW37Mz3/E11drpCQRKVHrG8VDU0qVl45E=", - "aarch64-linux": "sha256-CZpjr9MPSxKW37Mz3/E11drpCQRKVHrG8VDU0qVl45E=", - "x86_64-darwin": "sha256-CZpjr9MPSxKW37Mz3/E11drpCQRKVHrG8VDU0qVl45E=", - "x86_64-linux": "sha256-CZpjr9MPSxKW37Mz3/E11drpCQRKVHrG8VDU0qVl45E=" - }, - "ios": { - "aarch64-darwin": "sha256-GFDc9AwM9WCO8Y0KUclhQwSsHBz6KVuFFx6OtbHAPy4=", - "aarch64-linux": "sha256-GFDc9AwM9WCO8Y0KUclhQwSsHBz6KVuFFx6OtbHAPy4=", - "x86_64-darwin": "sha256-GFDc9AwM9WCO8Y0KUclhQwSsHBz6KVuFFx6OtbHAPy4=", - "x86_64-linux": "sha256-GFDc9AwM9WCO8Y0KUclhQwSsHBz6KVuFFx6OtbHAPy4=" - }, - "linux": { - "aarch64-darwin": "sha256-/rAQETXAXGblIinEfTmwV29lFfHj4Ws9BvD1MZ/bnqM=", - "aarch64-linux": "sha256-/rAQETXAXGblIinEfTmwV29lFfHj4Ws9BvD1MZ/bnqM=", - "x86_64-darwin": "sha256-Q/3ba2UhzMaJrOAFz6HaHAbgcTHEztMUPg+SEAt0PAM=", - "x86_64-linux": "sha256-Q/3ba2UhzMaJrOAFz6HaHAbgcTHEztMUPg+SEAt0PAM=" - }, - "macos": { - "aarch64-darwin": "sha256-HPLmvF32alDhh1jRigp/zJU77nLueDFEsDmM4eBIdos=", - "aarch64-linux": "sha256-HPLmvF32alDhh1jRigp/zJU77nLueDFEsDmM4eBIdos=", - "x86_64-darwin": "sha256-HPLmvF32alDhh1jRigp/zJU77nLueDFEsDmM4eBIdos=", - "x86_64-linux": "sha256-HPLmvF32alDhh1jRigp/zJU77nLueDFEsDmM4eBIdos=" - }, - "universal": { - "aarch64-darwin": "sha256-kJv9nhT15oWafKEjahk0Dlh8sko6DGvrfpBowlDKps4=", - "aarch64-linux": "sha256-XVUgeHwC0BgqeMWvkhMwi8k2yrcWNbUPTMw7F++UkV4=", - "x86_64-darwin": "sha256-9xkjn2IOfOIy4xtUO43YfJwwYXcL7LHvJ3FVTa7jt5w=", - "x86_64-linux": "sha256-l56TIx2e3hCxMzyhzZLE8vo4H59XWnSofyPfa1i5Oyo=" - }, - "web": { - "aarch64-darwin": "sha256-oJQjHSkQS+P2jNEr1GAJp61bNk05579okyGK5BovjRA=", - "aarch64-linux": "sha256-oJQjHSkQS+P2jNEr1GAJp61bNk05579okyGK5BovjRA=", - "x86_64-darwin": "sha256-oJQjHSkQS+P2jNEr1GAJp61bNk05579okyGK5BovjRA=", - "x86_64-linux": "sha256-oJQjHSkQS+P2jNEr1GAJp61bNk05579okyGK5BovjRA=" - }, - "windows": { - "x86_64-darwin": "sha256-rDuCsweWYvlT6Z8kGr1AK0UMzRUpn8MYscdF7qqmbnc=", - "x86_64-linux": "sha256-rDuCsweWYvlT6Z8kGr1AK0UMzRUpn8MYscdF7qqmbnc=" - } - }, "pubspecLock": { "packages": { "_fe_analyzer_shared": { @@ -1086,5 +1091,7 @@ "sdks": { "dart": ">=3.10.0-0.0.dev <4.0.0" } - } + }, + "version": "3.41.6" } + diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/content-unaware-hash.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/content-unaware-hash.patch new file mode 100644 index 000000000000..461dc7f171f6 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/content-unaware-hash.patch @@ -0,0 +1,12 @@ +--- a/bin/internal/content_aware_hash.sh ++++ b/bin/internal/content_aware_hash.sh +@@ -13,6 +13,9 @@ + + set -e + ++echo '0000000000000000000000000000000000000000' ++exit 0 ++ + FLUTTER_ROOT="$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")" + + unset GIT_DIR diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/no-cache.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/no-cache.patch new file mode 100644 index 000000000000..83b347dc01b7 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/no-cache.patch @@ -0,0 +1,51 @@ +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -318,7 +319,7 @@ + var fatalStorageWarning = true; + + static RandomAccessFile? _lock; +- static var _lockEnabled = true; ++ static var _lockEnabled = false; + + /// Turn off the [lock]/[releaseLock] mechanism. + /// +@@ -721,7 +722,6 @@ + } + + void setStampFor(String artifactName, String version) { +- getStampFileFor(artifactName).writeAsStringSync(version); + } + + File getStampFileFor(String artifactName) { +@@ -1010,31 +1010,6 @@ + } + + Future checkForArtifacts(String? engineVersion) async { +- engineVersion ??= version; +- final url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/'; +- +- var exists = false; +- for (final String pkgName in getPackageDirs()) { +- exists = await cache.doesRemoteExist( +- 'Checking package $pkgName is available...', +- Uri.parse('$url$pkgName.zip'), +- ); +- if (!exists) { +- return false; +- } +- } +- +- for (final List toolsDir in getBinaryDirs()) { +- final String cacheDir = toolsDir[0]; +- final String urlPath = toolsDir[1]; +- exists = await cache.doesRemoteExist( +- 'Checking $cacheDir tools are available...', +- Uri.parse(url + urlPath), +- ); +- if (!exists) { +- return false; +- } +- } + return true; + } + diff --git a/pkgs/development/compilers/flutter/versions/3_41/patches/version.patch b/pkgs/development/compilers/flutter/versions/3_41/patches/version.patch new file mode 100644 index 000000000000..92c8b8e50db9 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_41/patches/version.patch @@ -0,0 +1,131 @@ +--- a/packages/flutter_tools/lib/src/version.dart ++++ b/packages/flutter_tools/lib/src/version.dart +@@ -99,10 +99,7 @@ abstract class FlutterVersion { + } + } + +- final String frameworkRevision = git +- .logSync(['-n', '1', '--pretty=format:%H'], workingDirectory: flutterRoot) +- .stdout +- .trim(); ++ final String frameworkRevision = 'nixpkgs000000000000000000000000000000000'; + + return FlutterVersion.fromRevision( + clock: clock, +@@ -222,10 +219,7 @@ abstract class FlutterVersion { + final String flutterRoot; + + String _getTimeSinceCommit({String? revision}) { +- return _git +- .logSync(['-n', '1', '--pretty=format:%ar', ?revision], workingDirectory: flutterRoot) +- .stdout +- .trim(); ++ return 'unknown'; + } + + // TODO(fujino): calculate this relative to frameworkCommitDate for +@@ -391,13 +385,7 @@ abstract class FlutterVersion { + /// remote git repository is not reachable due to a network issue. + Future _fetchRemoteFrameworkCommitDate() async { + try { +- // Fetch upstream branch's commit and tags +- await _run(_git, ['fetch', '--tags']); +- return _gitCommitDate( +- git: _git, +- gitRef: kGitTrackingUpstream, +- workingDirectory: Cache.flutterRoot, +- ); ++ return 'unknown'; + } on VersionCheckError catch (error) { + globals.printError(error.message); + rethrow; +@@ -422,13 +410,7 @@ abstract class FlutterVersion { + /// If [redactUnknownBranches] is true and the branch is unknown, + /// the branch name will be returned as `'[user-branch]'` ([kUserBranch]). + String getBranchName({bool redactUnknownBranches = false}) { +- _branch ??= () { +- final String branch = _git +- .runSync(['symbolic-ref', '--short', 'HEAD'], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- return branch == 'HEAD' ? '' : branch; +- }(); ++ _branch ??= 'stable'; + if (redactUnknownBranches || _branch!.isEmpty) { + // Only return the branch names we know about; arbitrary branch names might contain PII. + if (!kOfficialChannels.contains(_branch) && !kObsoleteBranches.containsKey(_branch)) { +@@ -464,31 +446,7 @@ String _gitCommitDate({ + required Git git, + required String? workingDirectory, + }) { +- final RunResult result = git.logSync([ +- gitRef, +- '-n', +- '1', +- '--pretty=format:%ad', +- '--date=iso', +- ], workingDirectory: workingDirectory); +- if (result.exitCode == 0) { +- return result.stdout.trim(); +- } +- final error = VersionCheckError( +- 'Command exited with code ${result.exitCode}: ${result.command.join(' ')}\n' +- 'Standard out: ${result.stdout}\n' +- 'Standard error: ${result.stderr}', +- ); +- if (lenient) { +- final dummyDate = DateTime.fromMillisecondsSinceEpoch(0); +- globals.printError( +- 'Failed to find the latest git commit date: $error\n' +- 'Returning $dummyDate instead.', +- ); +- // Return something that DateTime.parse() can parse. +- return dummyDate.toString(); +- } +- throw error; ++ return 'unknown'; + } + + class _FlutterVersionFromFile extends FlutterVersion { +@@ -639,23 +597,7 @@ class _FlutterVersionGit extends FlutterVersion { + @override + String? get repositoryUrl { + if (_repositoryUrl == null) { +- final String gitChannel = _git +- .runSync([ +- 'rev-parse', +- '--abbrev-ref', +- '--symbolic', +- kGitTrackingUpstream, +- ], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- final int slash = gitChannel.indexOf('/'); +- if (slash != -1) { +- final String remote = gitChannel.substring(0, slash); +- _repositoryUrl = _git +- .runSync(['ls-remote', '--get-url', remote], workingDirectory: flutterRoot) +- .stdout +- .trim(); +- } ++ _repositoryUrl = 'https://github.com/flutter/flutter.git'; + } + return _repositoryUrl; + } +@@ -1010,6 +952,16 @@ class GitTagVersion { + String? workingDirectory, + bool fetchTags = false, + String gitRef = 'HEAD', ++ }) { ++ return GitTagVersion.unknown(); ++ } ++ ++ static GitTagVersion determine_orig( ++ Platform platform, { ++ required Git git, ++ String? workingDirectory, ++ bool fetchTags = false, ++ String gitRef = 'HEAD', + }) { + if (fetchTags) { + final String channel = git diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix deleted file mode 100644 index f9009186364f..000000000000 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ /dev/null @@ -1,211 +0,0 @@ -{ - lib, - stdenv, - darwin, - callPackage, - flutter, - supportedTargetFlutterPlatforms ? [ - "universal" - "web" - ] - ++ lib.optional (stdenv.hostPlatform.isLinux && !(flutter ? engine)) "linux" - ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "macos" - "ios" - ], - artifactHashes ? flutter.artifactHashes, - extraPkgConfigPackages ? [ ], - extraLibraries ? [ ], - extraIncludes ? [ ], - extraCxxFlags ? [ ], - extraCFlags ? [ ], - extraLinkerFlags ? [ ], - makeWrapper, - writeShellScript, - wrapGAppsHook3, - gitMinimal, - which, - pkg-config, - atk, - cairo, - gdk-pixbuf, - glib, - gtk3, - harfbuzz, - libepoxy, - pango, - libx11, - xorgproto, - libdeflate, - zlib, - cmake, - ninja, - clang, - symlinkJoin, -}: - -let - supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetFlutterPlatforms; - - flutterPlatformArtifacts = lib.genAttrs supportedTargetFlutterPlatforms ( - flutterPlatform: - (callPackage ./artifacts/prepare-artifacts.nix { - src = callPackage ./artifacts/fetch-artifacts.nix { - inherit flutterPlatform; - systemPlatform = stdenv.hostPlatform.system; - flutter = callPackage ./wrapper.nix { inherit flutter; }; - hash = artifactHashes.${flutterPlatform}.${stdenv.hostPlatform.system} or ""; - }; - }) - ); - - cacheDir = symlinkJoin { - name = "flutter-cache-dir"; - paths = builtins.attrValues flutterPlatformArtifacts; - postBuild = '' - mkdir --parents "$out/bin/cache" - ln --symbolic '${flutter}/bin/cache/dart-sdk' "$out/bin/cache" - ''; - passthru.flutterPlatform = flutterPlatformArtifacts; - }; - - # By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory. - # Wrap it to ensure that it does not do that, preferring home directories instead. - immutableFlutter = writeShellScript "flutter_immutable" '' - export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} - ${flutter}/bin/flutter "$@" - ''; - - # Tools that the Flutter tool depends on. - tools = [ - gitMinimal - which - ]; - - # Libraries that Flutter apps depend on at runtime. - appRuntimeDeps = lib.optionals supportsLinuxDesktopTarget [ - atk - cairo - gdk-pixbuf - glib - gtk3 - harfbuzz - libepoxy - pango - libx11 - libdeflate - ]; - - # Development packages required for compilation. - appBuildDeps = - let - # https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3 - deps = - pkg: lib.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ])); - withKey = pkg: { - key = pkg.outPath; - val = pkg; - }; - collect = pkg: lib.map withKey ([ pkg ] ++ deps pkg); - in - lib.map (e: e.val) ( - lib.genericClosure { - startSet = lib.map withKey appRuntimeDeps; - operator = item: collect item.val; - } - ); - - # Some header files and libraries are not properly located by the Flutter SDK. - # They must be manually included. - appStaticBuildDeps = - (lib.optionals supportsLinuxDesktopTarget [ - libx11 - xorgproto - zlib - ]) - ++ extraLibraries; - - # Tools used by the Flutter SDK to compile applications. - buildTools = lib.optionals supportsLinuxDesktopTarget [ - pkg-config - cmake - ninja - clang - ]; - - # Nix-specific compiler configuration. - pkgConfigPackages = map (lib.getOutput "dev") (appBuildDeps ++ extraPkgConfigPackages); - includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") ( - appStaticBuildDeps ++ extraIncludes - ); - linkerFlags = - (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags; -in -(callPackage ./sdk-symlink.nix { }) ( - stdenv.mkDerivation { - pname = "flutter-wrapped"; - inherit (flutter) version; - - nativeBuildInputs = [ - makeWrapper - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ] - ++ lib.optionals supportsLinuxDesktopTarget [ - glib - wrapGAppsHook3 - ]; - - passthru = flutter.passthru // { - inherit (flutter) version; - unwrapped = flutter; - updateScript = ./update/update.py; - inherit cacheDir; - }; - - dontUnpack = true; - dontWrapGApps = true; - - installPhase = '' - runHook preInstall - - for path in ${ - builtins.concatStringsSep " " ( - builtins.foldl' ( - paths: pkg: - paths - ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") [ - "lib" - "share" - ]) - ) [ ] pkgConfigPackages - ) - }; do - addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path" - done - - mkdir --parents $out/bin - makeWrapper '${immutableFlutter}' $out/bin/flutter \ - --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ - '' - + lib.optionalString (flutter ? engine && flutter.engine.meta.available) '' - --set-default FLUTTER_ENGINE "${flutter.engine}" \ - --add-flags "--local-engine-host ${flutter.engine.outName}" \ - '' - + '' - --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ - --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ - --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ - --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \ - --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \ - --prefix LDFLAGS "''\t" '${ - builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags) - }' \ - ''${gappsWrapperArgs[@]} - - runHook postInstall - ''; - - inherit (flutter) meta; - } -) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index f3df5fe3aaa1..b2bee8fde0c7 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -668,6 +668,7 @@ mapAliases { eureka-ideas = throw "'eureka-ideas' has been removed as it has been unmaintained upstream since April 2023"; # Added 2026-02-07 evolve-core = throw "'evolve-core' has been removed, as it hindered the removal of flutter329"; # Added 2026-01-25 eww-wayland = throw "'eww-wayland' has been renamed to/replaced by 'eww'"; # Converted to throw 2025-10-27 + expidus = throw "'expidus' has been removed from nixpkgs due to it not being maintained"; # Added 2026-03-17 f3d_egl = warnAlias "'f3d' now build with egl support by default, so `f3d_egl` is deprecated, consider using 'f3d' instead." f3d; # Added 2025-07-18 fabs = throw "'fabs' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 033bc0eac052..e79882e4ace7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3867,13 +3867,14 @@ with pkgs; flutterPackages-source = recurseIntoAttrs ( callPackage ../development/compilers/flutter { useNixpkgsEngine = true; } ); - flutterPackages = flutterPackages-bin; + flutterPackages = + if stdenv.hostPlatform.isLinux then flutterPackages-source else flutterPackages-bin; flutter = flutterPackages.stable; flutter341 = flutterPackages.v3_41; - flutter338 = flutterPackages.v3_38; - flutter335 = flutterPackages.v3_35; - flutter332 = flutterPackages.v3_32; - flutter329 = flutterPackages.v3_29; + flutter338 = flutterPackages-bin.v3_38; + flutter335 = flutterPackages-bin.v3_35; + flutter332 = flutterPackages-bin.v3_32; + flutter329 = flutterPackages-bin.v3_29; fpc = callPackage ../development/compilers/fpc { }; @@ -11461,14 +11462,6 @@ with pkgs; enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment { }); - expidus = recurseIntoAttrs ( - callPackages ../desktops/expidus { - # Use the Nix built Flutter Engine for testing. - # Also needed when we eventually package Genesis Shell. - flutterPackages = flutterPackages-source; - } - ); - gnome2 = recurseIntoAttrs (callPackage ../desktops/gnome-2 { }); gnome = recurseIntoAttrs (callPackage ../desktops/gnome { }); From b33f9cf1f87b4a034123a9f9875fc67266977269 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 11:00:34 +0200 Subject: [PATCH 055/105] python3Packages.scmrepo: migrate to finalAttrs --- pkgs/development/python-modules/scmrepo/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix index c6375593ba0e..6ac08d809916 100644 --- a/pkgs/development/python-modules/scmrepo/default.nix +++ b/pkgs/development/python-modules/scmrepo/default.nix @@ -16,7 +16,7 @@ tqdm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "scmrepo"; version = "3.6.2"; pyproject = true; @@ -24,7 +24,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "iterative"; repo = "scmrepo"; - tag = version; + tag = finalAttrs.version; hash = "sha256-E7BHdLDS57r/UbSA62lfr3z+5sqFTPRzwfFLIITeSs0="; }; @@ -54,8 +54,8 @@ buildPythonPackage rec { meta = { description = "SCM wrapper and fsspec filesystem"; homepage = "https://github.com/iterative/scmrepo"; - changelog = "https://github.com/iterative/scmrepo/releases/tag/${src.tag}"; + changelog = "https://github.com/iterative/scmrepo/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 9a74226eb1994e52f8bfd2d8c4ed9178ac16e33e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 09:58:08 +0000 Subject: [PATCH 056/105] nsc: 2.12.1 -> 2.12.2 --- pkgs/by-name/ns/nsc/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ns/nsc/package.nix b/pkgs/by-name/ns/nsc/package.nix index b23d19f81f6c..d59542a0affc 100644 --- a/pkgs/by-name/ns/nsc/package.nix +++ b/pkgs/by-name/ns/nsc/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "nsc"; - version = "2.12.1"; + version = "2.12.2"; src = fetchFromGitHub { owner = "nats-io"; repo = "nsc"; rev = "v${version}"; - hash = "sha256-PTwdZ33GcqHmqpPu29S4MESjGiHHiIUnVOxufmXJX+U="; + hash = "sha256-jgGyCMS1jCCEj1zNEXpXhOc2t0lP1iXs7R3uDTKhhuk="; }; ldflags = [ @@ -47,7 +47,7 @@ buildGoModule rec { # the test strips table formatting from the command output in a naive way # that removes all the table characters, including '-'. # The nix build directory looks something like: - # /private/tmp/nix-build-nsc-2.12.1.drv-0/nsc_test2000598938/keys + # /private/tmp/nix-build-nsc-2.12.2.drv-0/nsc_test2000598938/keys # Then the `-` are removed from the path unintentionally and the test fails. # This should be fixed upstream to avoid mangling the path when # removing the table decorations from the command output. From 3316a09a58c50223deb3aafc2b78d9f55474f844 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 10:11:04 +0000 Subject: [PATCH 057/105] rgx: 0.8.1 -> 0.9.0 --- pkgs/by-name/rg/rgx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/rg/rgx/package.nix b/pkgs/by-name/rg/rgx/package.nix index d7f57d3dc89c..f5bd66d7d370 100644 --- a/pkgs/by-name/rg/rgx/package.nix +++ b/pkgs/by-name/rg/rgx/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rgx"; - version = "0.8.1"; + version = "0.9.0"; src = fetchFromGitHub { owner = "brevity1swos"; repo = "rgx"; tag = "v${finalAttrs.version}"; - hash = "sha256-MmRTZ39Kp2fcx99QlwpYb3KLBO6vUIIseLJFBEXx3c4="; + hash = "sha256-04bnNHpIRMyqvRmXDjzGpeEHgwVDSoBtyunlt03nB5Q="; }; - cargoHash = "sha256-wDSQ0y1Lbkx3LBmxA6COPSrKag7ihcwoWfTWhWCkcHE="; + cargoHash = "sha256-v7dO2TSCKb+E/jLYPw8Q499qFXmSnbv3/WoS+dZhyBM="; meta = { homepage = "https://github.com/brevity1swos/rgx"; From 55e2ed17653953d804a4a343b219a21be94006d3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 10:31:32 +0000 Subject: [PATCH 058/105] eliza: 0-unstable-2026-01-08 -> 0-unstable-2026-03-28 --- pkgs/by-name/el/eliza/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/el/eliza/package.nix b/pkgs/by-name/el/eliza/package.nix index a7cfc256af88..419a2d45e71b 100644 --- a/pkgs/by-name/el/eliza/package.nix +++ b/pkgs/by-name/el/eliza/package.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "eliza"; - version = "0-unstable-2026-01-08"; + version = "0-unstable-2026-03-28"; src = fetchFromGitHub { owner = "anthay"; repo = "ELIZA"; - rev = "d03085e78f16e1febdbd878f602d58ef73072c93"; - hash = "sha256-AGr/nWXp7NINxKg4wudcX0R1ckZSvbDDOLjv2kW0oP8="; + rev = "626ce3881a0a6b54c56ce3efa87623e0a1dc8dfb"; + hash = "sha256-8AEOmMM/gN3khe+c8GQOcOartyOr06T7F6853e9fUto="; }; doCheck = true; From e5f578b6845948da5ec9a65b1015a1234046e95d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:17:49 +0200 Subject: [PATCH 059/105] btest: init at 0.6.2 Bandwidth Test server and client https://github.com/manawenuz/btest-rs --- pkgs/by-name/bt/btest/package.nix | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/bt/btest/package.nix diff --git a/pkgs/by-name/bt/btest/package.nix b/pkgs/by-name/bt/btest/package.nix new file mode 100644 index 000000000000..451e8f9c0394 --- /dev/null +++ b/pkgs/by-name/bt/btest/package.nix @@ -0,0 +1,52 @@ +{ + lib, + fetchFromGitHub, + openssl, + pkg-config, + rustPlatform, + sqlite, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "btest"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "manawenuz"; + repo = "btest-rs"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ltePF8HX46FDbdyq30u19FNVpIwPxhOo8AgNvKRzKHE="; + }; + + cargoHash = "sha256-8AO7eTzZMzvNWcls3VXP0kPun/D5gsA1ih0FOqZ57R0="; + + postPatch = '' + # https://github.com/manawenuz/btest-rs/pull/1 + substituteInPlace Cargo.toml \ + --replace-fail "0.6.0" "${finalAttrs.version}" + ''; + + nativeBuildInputs = [ pkg-config ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + buildInputs = [ + openssl + sqlite + ]; + + # Tests require network features + doCheck = false; + + doInstallCheck = true; + + meta = { + description = "Bandwidth Test server and client"; + homepage = "https://github.com/manawenuz/btest-rs"; + changelog = "https://github.com/manawenuz/btest-rs/releases/tag/v${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "btest"; + }; +}) From acd5222efc861b21a1a9d039f3895b68b0745582 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:20:11 +0200 Subject: [PATCH 060/105] python3Packages.iamdata: 0.1.202604021 -> 0.1.202604031 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202604021...v0.1.202604031 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202604031 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 8e59c237b9f5..e39e11a3375a 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202604021"; + version = "0.1.202604031"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-WU6hi6xd/gNgpi+qKkelcbVtnkqmd0uYpwGPDt53KvQ="; + hash = "sha256-shYdMojdoqfMgJbYYEEGLGb+G8ueKaDfZy/h7tccBRc="; }; __darwinAllowLocalNetworking = true; From 976ed1ffaf62348c8465f26c65a0b8ace8054720 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:20:53 +0200 Subject: [PATCH 061/105] python3Packages.mypy-boto3-appstream: 1.42.79 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 476fd7daadc0..24e27074c434 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -127,8 +127,8 @@ in "sha256-Mvf3bBhrRRR+hoAsBPq7p9COJqVxV9LL+GrnikrHX2g="; mypy-boto3-appstream = - buildMypyBoto3Package "appstream" "1.42.79" - "sha256-EG6G33/7BTIjlEXxSa0ygnT80WytlAMCM/bAI9jz3Jg="; + buildMypyBoto3Package "appstream" "1.42.82" + "sha256-DNHMac7P5RG1JXnX2/RkTqtPXm0zVi4Zi8hjXGpsAaQ="; mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.42.6" From f1bb227280feefc782a1f930f6aafe20dfc69cc0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:21:04 +0200 Subject: [PATCH 062/105] python3Packages.mypy-boto3-cloudwatch: 1.42.56 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 24e27074c434..e073a3e49ffe 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -255,8 +255,8 @@ in "sha256-S2NgrjralqxjjGo39TwaUSStqspnhI/E2/BLXUGP0Hc="; mypy-boto3-cloudwatch = - buildMypyBoto3Package "cloudwatch" "1.42.56" - "sha256-Z5GriV29LChx+MDWhq5a2zlBjb1GUVmW4sgKWWZNDc8="; + buildMypyBoto3Package "cloudwatch" "1.42.82" + "sha256-tdiMpHrllPI131hNYD4kPI6TD/XhbKMElNovOF5BryA="; mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.42.3" From e0ff8c1f66b84253002df38a455fa3a9dd647cc8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:21:11 +0200 Subject: [PATCH 063/105] python3Packages.mypy-boto3-connect: 1.42.68 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index e073a3e49ffe..716587db2987 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -335,8 +335,8 @@ in "sha256-UNxmIK9UD6AVmT4nyQzunNAKjp2YmV1wQ5oloHOwcXw="; mypy-boto3-connect = - buildMypyBoto3Package "connect" "1.42.68" - "sha256-jppL6jpw0/Wb+cOW3GQ62h65l+/ZX8c6OFvyJfzVLtA="; + buildMypyBoto3Package "connect" "1.42.82" + "sha256-PGrhF5ZXOD7Koi5ConyVwPMJuqnmgbla22xZxOO4HGY="; mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.42.3" From 18b90a7a587759404aba41613095211e84e6801d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:21:28 +0200 Subject: [PATCH 064/105] python3Packages.mypy-boto3-gamelift: 1.42.79 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 716587db2987..e1e519a1a21a 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -559,8 +559,8 @@ in "sha256-NqNGcL3HfJgx2ScPLKMNNwpVS3bO4Cu7JpYlenSJwJg="; mypy-boto3-gamelift = - buildMypyBoto3Package "gamelift" "1.42.79" - "sha256-IYvjnVdbVYFkX7Qu3Sr9iaRFMeq/F7njuPW3EBWldlE="; + buildMypyBoto3Package "gamelift" "1.42.82" + "sha256-4sWx8fog6KbXwh29KzzsoqYoej7IFYCjcSW0D+dw5+M="; mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.42.30" From 306d3ab092aec9ea3fa3f4ea7f5ff264d63feef3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:21:48 +0200 Subject: [PATCH 065/105] python3Packages.mypy-boto3-logs: 1.42.79 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index e1e519a1a21a..daea31720373 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -806,8 +806,8 @@ in "sha256-VGQzgnrUynTDjfYpEk+FR+PrljbULl0UpbeqbaPKqSc="; mypy-boto3-logs = - buildMypyBoto3Package "logs" "1.42.79" - "sha256-CPFaU1Cz1OfBiOSh5jfPWIU64cV4k8Mf5cCM1S7ZlXw="; + buildMypyBoto3Package "logs" "1.42.82" + "sha256-xZxyCo7+tTU69IfNy2p6ECx+fXI9CsnAx8V9neRB818="; mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.42.3" From 4345c102908791aa11c333b5e54d9c8325f4220b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:22:06 +0200 Subject: [PATCH 066/105] python3Packages.mypy-boto3-pricing: 1.42.3 -> 1.42.82 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index daea31720373..64e3be3047f5 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1050,8 +1050,8 @@ in "sha256-55tgrwAp2iMnve5aq+EStZ4BROxWZNA3VTZi5UdZu3o="; mypy-boto3-pricing = - buildMypyBoto3Package "pricing" "1.42.3" - "sha256-EY1rb0i7iYzr+JmXvDVfPcxCyNWs0DW0YQdlDsVcb04="; + buildMypyBoto3Package "pricing" "1.42.82" + "sha256-oo2K5E+2+mbJgcq8FjBJdbuuWF3x8IRPrCEZU+Ml0hE="; mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.38.0" From 3857d30db599f1f50e1316a445409f3e96205452 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 13:22:41 +0200 Subject: [PATCH 067/105] python314Packages.boto3-stubs: 1.42.81 -> 1.42.82 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index 104edd530964..81433f0db473 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage (finalAttrs: { pname = "boto3-stubs"; - version = "1.42.81"; + version = "1.42.82"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit (finalAttrs) version; - hash = "sha256-Uj5V8WXn7hekUxn7GumwotpNIQgHqEY+vTJNQ0U94fU="; + hash = "sha256-m5hsmOXjHtdhNpeg2dSryLEP7pbWitneosJw3hMFi6k="; }; build-system = [ setuptools ]; From f80293f7b05e4f41a5735de4dee4f2d46a85102b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 14:04:31 +0200 Subject: [PATCH 068/105] python3Packages.tencentcloud-sdk-python: 3.1.69 -> 3.1.70 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.69...3.1.70 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.70/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 12362c462c47..56529e3b6656 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.69"; + version = "3.1.70"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-X/ABqF1SPgee82qrkg6J7dYjMLVePwrvF69/ZRkWuvE="; + hash = "sha256-4FJtabE6XZ+22AUT/l/t5cujaL8tfLiyCiVEAvnQjsU="; }; build-system = [ setuptools ]; From 4203c9abd453996671de9f78c65ba11560bc9207 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 14:17:33 +0200 Subject: [PATCH 069/105] python3Packages.aiopegelonline: 0.1.1 -> 0.1.2 Changelog: https://github.com/mib1185/aiopegelonline/releases/tag/v0.1.2 --- pkgs/development/python-modules/aiopegelonline/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/aiopegelonline/default.nix b/pkgs/development/python-modules/aiopegelonline/default.nix index f650ced57f15..cd63d132d14e 100644 --- a/pkgs/development/python-modules/aiopegelonline/default.nix +++ b/pkgs/development/python-modules/aiopegelonline/default.nix @@ -11,19 +11,19 @@ buildPythonPackage rec { pname = "aiopegelonline"; - version = "0.1.1"; + version = "0.1.2"; pyproject = true; src = fetchFromGitHub { owner = "mib1185"; repo = "aiopegelonline"; tag = "v${version}"; - hash = "sha256-kDz+q4Y6ImgXbY7OSC/PKXPtKdktixW+ee51xHMX9o4="; + hash = "sha256-uV4qVCj28wgraWmWhyqN98/SaVDJFuJ30ugViKrl2us="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "setuptools==75.6.0" "setuptools" + --replace-fail "setuptools==82.0.1" "setuptools" ''; build-system = [ setuptools ]; From 503776d222a7844069aab3bbcaf3281d0909f172 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 14:20:34 +0200 Subject: [PATCH 070/105] python3Packages.aiopegelonline: migrate to finalAttrs --- .../development/python-modules/aiopegelonline/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/aiopegelonline/default.nix b/pkgs/development/python-modules/aiopegelonline/default.nix index cd63d132d14e..7d9fe6f35ca4 100644 --- a/pkgs/development/python-modules/aiopegelonline/default.nix +++ b/pkgs/development/python-modules/aiopegelonline/default.nix @@ -9,7 +9,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiopegelonline"; version = "0.1.2"; pyproject = true; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "mib1185"; repo = "aiopegelonline"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-uV4qVCj28wgraWmWhyqN98/SaVDJFuJ30ugViKrl2us="; }; @@ -41,8 +41,8 @@ buildPythonPackage rec { meta = { description = "Library to retrieve data from PEGELONLINE"; homepage = "https://github.com/mib1185/aiopegelonline"; - changelog = "https://github.com/mib1185/aiopegelonline/releases/tag/v${version}"; + changelog = "https://github.com/mib1185/aiopegelonline/releases/tag/v${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From e83cb1aeb33912119df8127100fa07729eac0bdb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 14:22:06 +0200 Subject: [PATCH 071/105] python3Packages.aioslimproto: 3.1.7 -> 3.1.8 Diff: https://github.com/home-assistant-libs/aioslimproto/compare/3.1.7...3.1.8 Changelog: https://github.com/home-assistant-libs/aioslimproto/releases/tag/3.1.8 --- pkgs/development/python-modules/aioslimproto/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix index 4fa007c82f14..763dd3d32c75 100644 --- a/pkgs/development/python-modules/aioslimproto/default.nix +++ b/pkgs/development/python-modules/aioslimproto/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "aioslimproto"; - version = "3.1.7"; + version = "3.1.8"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioslimproto"; tag = version; - hash = "sha256-mbzc3Td9XkxDrtPeIbrZdxn8YLV6yjQ+KXgaRC1GdFc="; + hash = "sha256-xHdwikriA6mcb7tmElqa6suINYxeyyGZQ5iO+P7dRCo="; }; postPatch = '' From 403fdd30b6b7d87065f3543ec977cef275c0b9a2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 3 Apr 2026 14:23:36 +0200 Subject: [PATCH 072/105] python3Packages.aioslimproto: migrate to finalAttrs --- .../python-modules/aioslimproto/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix index 763dd3d32c75..eba6bf22859c 100644 --- a/pkgs/development/python-modules/aioslimproto/default.nix +++ b/pkgs/development/python-modules/aioslimproto/default.nix @@ -8,7 +8,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aioslimproto"; version = "3.1.8"; pyproject = true; @@ -16,13 +16,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioslimproto"; - tag = version; + tag = "v${finalAttrs.version}"; hash = "sha256-xHdwikriA6mcb7tmElqa6suINYxeyyGZQ5iO+P7dRCo="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail 'version = "0.0.0"' 'version = "${version}"' + --replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"' ''; build-system = [ setuptools ]; @@ -41,8 +41,8 @@ buildPythonPackage rec { meta = { description = "Module to control Squeezebox players"; homepage = "https://github.com/home-assistant-libs/aioslimproto"; - changelog = "https://github.com/home-assistant-libs/aioslimproto/releases/tag/${src.tag}"; + changelog = "https://github.com/home-assistant-libs/aioslimproto/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From e6d24699f55eaa53b29bb144a3aad64a6d022ad2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 12:27:50 +0000 Subject: [PATCH 073/105] deezer-enhanced: 1.4.2 -> 1.5.0 --- pkgs/by-name/de/deezer-enhanced/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/de/deezer-enhanced/package.nix b/pkgs/by-name/de/deezer-enhanced/package.nix index 5f850f2cdd27..0a87591c5723 100644 --- a/pkgs/by-name/de/deezer-enhanced/package.nix +++ b/pkgs/by-name/de/deezer-enhanced/package.nix @@ -34,11 +34,11 @@ stdenvNoCC.mkDerivation rec { pname = "deezer-enhanced"; - version = "1.4.2"; + version = "1.5.0"; src = fetchurl { url = "https://github.com/duzda/deezer-enhanced/releases/download/v${version}/deezer-enhanced_${version}_amd64.deb"; - hash = "sha256-PRq5R0AXCsW+cEuf1EU+o7g6oa8K5jGAphoNC8cSNFw="; + hash = "sha256-UN+Jdtx6Zgt1c4Phc2mVmvL2fCw208vltzPPD8zpHBc="; }; nativeBuildInputs = [ From 891d9038454d61566f0cd0ee24f1097206262b5a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 13:34:51 +0000 Subject: [PATCH 074/105] meteor-git: 0.30.0 -> 0.31.0 --- pkgs/by-name/me/meteor-git/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/me/meteor-git/package.nix b/pkgs/by-name/me/meteor-git/package.nix index 72a4c53fe4a7..ef37176b6892 100644 --- a/pkgs/by-name/me/meteor-git/package.nix +++ b/pkgs/by-name/me/meteor-git/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "meteor-git"; - version = "0.30.0"; + version = "0.31.0"; src = fetchFromGitHub { owner = "stefanlogue"; repo = "meteor"; rev = "v${finalAttrs.version}"; - hash = "sha256-oqfJDIT+4n9ySwmN5DoTvAcEY9wmI/bhVSYFHudMwl0="; + hash = "sha256-jX0peeI7vMk5CWcQCaR5pd3Klcragds0p7S4hsadyEM="; }; vendorHash = "sha256-jKd/eJwp5SZvTrP3RN7xT7ibAB0PQondGR3RT+HQXIo="; From 1d741691b39ce93329b0f643ac0ef4772e242a9b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 13:41:08 +0000 Subject: [PATCH 075/105] linuxKernel.kernels.linux_zen: 6.19.9 -> 6.19.11 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 79d2f3a5c700..ff52460e235e 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -18,7 +18,7 @@ in buildLinux ( args // rec { - version = "6.19.9"; + version = "6.19.11"; pname = "linux-zen"; modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; isZen = true; @@ -27,7 +27,7 @@ buildLinux ( owner = "zen-kernel"; repo = "zen-kernel"; rev = "v${version}-${suffix}"; - sha256 = "09wlnd8ndm4r75ywk2sanmkc0v788rz9faa61hcfschw5pq5yzx6"; + sha256 = "15ja0f4dvlnvibajvyfvv1x2w5spy0dfyfzrzz3hp3dm0k87cfi4"; }; # This is based on the following source: From 5d6ce89674476d6ac6344a7c44f154994d65f17f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 14:21:12 +0000 Subject: [PATCH 076/105] python3Packages.preshed: 3.0.12 -> 3.0.13 --- pkgs/development/python-modules/preshed/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/preshed/default.nix b/pkgs/development/python-modules/preshed/default.nix index f2864641e1e5..cebbc5800b47 100644 --- a/pkgs/development/python-modules/preshed/default.nix +++ b/pkgs/development/python-modules/preshed/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "preshed"; - version = "3.0.12"; + version = "3.0.13"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-tz+ai1TuHURSnMYBg1aJbP+T1I91XynBNHNNk3HA1oU="; + hash = "sha256-119xi7/ZfpkveCfg+n+vapG92cki1bqktQ1icxOWy4k="; }; nativeBuildInputs = [ cython ]; From 10b47e0361d2f9bce93f4a7d038d9364aa3bd26c Mon Sep 17 00:00:00 2001 From: Aiden Schembri Date: Fri, 3 Apr 2026 16:39:27 +0200 Subject: [PATCH 077/105] zed-editor: 0.230.0 -> 0.230.1 --- pkgs/by-name/ze/zed-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 2f7589ba2e84..b8a6156adf63 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -111,7 +111,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.230.0"; + version = "0.230.1"; outputs = [ "out" @@ -124,7 +124,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-vZCaaTsQedHA+5twcVVpFHqQUD/RArmbHKQtbr33mb4="; + hash = "sha256-J+WnR0xGMWS5m8FWQfTwRCZckxt2Y5kQy06TvpYZks4="; }; postPatch = '' @@ -150,7 +150,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -r $out/git/*/candle-book/ ''; - cargoHash = "sha256-eSEk/6iHwtZF9Qx7dQN3l2/uaC8MR28lFwbBEUWVNs0="; + cargoHash = "sha256-EbRLFIKpPnfyGeh7jHVDilez++4elZ1rz2iO3U9XOpQ="; nativeBuildInputs = [ cmake From 8c344522c290e09b4c9e7e7e456920e05f5a3501 Mon Sep 17 00:00:00 2001 From: Elliot Cameron Date: Thu, 19 Mar 2026 10:21:45 -0400 Subject: [PATCH 078/105] mpich: drop now-fixed fortran workaround --- pkgs/development/libraries/mpich/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix index f9d236b6a568..14354ced05c3 100644 --- a/pkgs/development/libraries/mpich/default.nix +++ b/pkgs/development/libraries/mpich/default.nix @@ -57,10 +57,6 @@ stdenv.mkDerivation rec { "--enable-shared" "--with-pm=${withPmStr}" ] - ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [ - "FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300 - "FCFLAGS=-fallow-argument-mismatch" - ] ++ lib.optionals pmixSupport [ "--with-pmix" ]; From fb9c32fb967f8d8c7f51bbefa5b9296104ae4553 Mon Sep 17 00:00:00 2001 From: Elliot Cameron Date: Thu, 19 Mar 2026 10:43:14 -0400 Subject: [PATCH 079/105] mpich: add dev and bin outputs MPICH has both compile-time and run-time components. Most distros package them separately and we can also do that to reduce downstream closure sizes. --- pkgs/development/libraries/mpich/default.nix | 81 +++++++++++++++++--- 1 file changed, 71 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix index 14354ced05c3..9809da4aa0fb 100644 --- a/pkgs/development/libraries/mpich/default.nix +++ b/pkgs/development/libraries/mpich/default.nix @@ -2,13 +2,14 @@ stdenv, lib, fetchurl, - perl, - gfortran, - automake, autoconf, - openssh, + automake, + gfortran, hwloc, + openssh, + perl, python3, + removeReferencesTo, # either libfabric or ucx work for ch4backend on linux. On darwin, neither of # these libraries currently build so this argument is ignored on Darwin. ch4backend, @@ -26,6 +27,19 @@ let withPmStr = if withPm != [ ] then builtins.concatStringsSep ":" withPm else "no"; + + # Binaries that should go in the "dev" output. + # These are all MPI compilers (wrappers around gcc, really). + develBins = [ + "bin/mpicc" + "bin/mpic++" + "bin/mpicxx" + "bin/mpif77" + "bin/mpif90" + "bin/mpifort" + ]; + + libExt = stdenv.hostPlatform.extensions.sharedLibrary; in assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric"); @@ -49,6 +63,8 @@ stdenv.mkDerivation rec { outputs = [ "out" + "bin" + "dev" "doc" "man" ]; @@ -56,6 +72,16 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--with-pm=${withPmStr}" + + # NOTE: /etc is meant to contain MPICH configuration for both *compilers* (dev) and for *runtime* (out, bin). + # /etc/mpixxx_opts.conf is a *compiler* configuration file. + # /etc/mpiexec.hydra.conf is a *runtime* configuration file. + # + # Ideally we'd be able to specify those separately. However, the build currently doesn't install mpiexec.hydra.conf + # at all, but it does install mpixxx_opts.conf. So we configure the sysconfdir to be a "dev" output, since the only + # file that's installed is needed by compilers, not runtime. + # If we ever need both, we should probably have a separate "etc" output. + "--sysconfdir=${placeholder "dev"}/etc" ] ++ lib.optionals pmixSupport [ "--with-pmix" @@ -64,10 +90,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ - gfortran - python3 autoconf automake + gfortran + python3 + removeReferencesTo ]; buildInputs = [ perl @@ -80,11 +107,45 @@ stdenv.mkDerivation rec { # test_double_serializer.test fails on darwin doCheck = !stdenv.hostPlatform.isDarwin; - preFixup = '' + postInstall = + # Move compiler binaries into $dev. + '' + for f in ${lib.concatStringsSep " " develBins}; do + moveToOutput "$f" "''${!outputDev}" + done + '' # Ensure the default compilers are the ones mpich was built with - sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' $out/bin/mpicc - sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' $out/bin/mpicxx - sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' $out/bin/mpifort + + '' + sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' "$dev"/bin/mpicc + sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' "$dev"/bin/mpicxx + sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' "$dev"/bin/mpifort + ''; + + # The entire configure line is embedded into some binaries, so we can end up with cycles between + # outputs, or one output depending on all other outputs. Since the configure line embedding does + # not affect functionality, we can simply break its references. + # + # To find the cycles, temporarily add this to postFixup to print them out: + # for i in out bin dev doc man; do + # for j in out bin dev doc man; do + # if [ "$i" != "$j" ]; then + # echo "$i in $j: --------------------------------" + # grep -r "''${!i}" "''${!j}" || true + # fi + # done + # done + postFixup = '' + remove-references-to \ + -t "''${!outputBin}" \ + -t "''${!outputDev}" \ + -t "''${!outputDoc}" \ + -t "''${!outputMan}" \ + $(find "$out"/lib -type f -name 'libmpi${libExt}*') + remove-references-to \ + -t "''${!outputDev}" \ + -t "''${!outputDoc}" \ + -t "''${!outputMan}" \ + $(find "$bin"/bin -type f) ''; meta = { From 4a410161533eb6db6a4f9fed90cf1301f7fe0cbc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 15:07:02 +0000 Subject: [PATCH 080/105] python3Packages.google-cloud-webrisk: 1.20.0 -> 1.21.0 --- .../python-modules/google-cloud-webrisk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-webrisk/default.nix b/pkgs/development/python-modules/google-cloud-webrisk/default.nix index bbeeb1ed73c4..e99b9f90c206 100644 --- a/pkgs/development/python-modules/google-cloud-webrisk/default.nix +++ b/pkgs/development/python-modules/google-cloud-webrisk/default.nix @@ -14,13 +14,13 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-webrisk"; - version = "1.20.0"; + version = "1.21.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_webrisk"; inherit (finalAttrs) version; - hash = "sha256-XjzgGju4J1oUnYPoX1DiW16Z1/4WCQh/cMqxRKhNpZ8="; + hash = "sha256-/PcV2opz3zaGerJk6rCOQNwZbxV2FqY/3BLMNQzO8Pc="; }; build-system = [ setuptools ]; From 88d3181388ee37d764f759de9a91578abe7dccbe Mon Sep 17 00:00:00 2001 From: daspk04 Date: Fri, 3 Apr 2026 10:17:08 -0500 Subject: [PATCH 081/105] python3Packages.skorch: enable python 3.13 --- pkgs/development/python-modules/skorch/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/development/python-modules/skorch/default.nix b/pkgs/development/python-modules/skorch/default.nix index 9801616ac5a8..63d6387d1ffd 100644 --- a/pkgs/development/python-modules/skorch/default.nix +++ b/pkgs/development/python-modules/skorch/default.nix @@ -17,7 +17,6 @@ pytestCheckHook, safetensors, transformers, - pythonAtLeast, }: buildPythonPackage rec { @@ -32,10 +31,6 @@ buildPythonPackage rec { sha256 = "sha256-7cCtrLy80LUlo+og7F98bexDcLim3lY/MVa7HHYlsfE="; }; - # AttributeError: 'NoneType' object has no attribute 'span' with Python 3.13 - # https://github.com/skorch-dev/skorch/issues/1080 - disabled = pythonAtLeast "3.13"; - build-system = [ setuptools ]; dependencies = [ From 4bb8fdbd3a88dd26f6a3ea49be71346b79fae32f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 15:41:02 +0000 Subject: [PATCH 082/105] dasel: 3.4.0 -> 3.4.1 --- pkgs/by-name/da/dasel/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/da/dasel/package.nix b/pkgs/by-name/da/dasel/package.nix index 3a580846e351..90e29faa1b1d 100644 --- a/pkgs/by-name/da/dasel/package.nix +++ b/pkgs/by-name/da/dasel/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "dasel"; - version = "3.4.0"; + version = "3.4.1"; src = fetchFromGitHub { owner = "TomWright"; repo = "dasel"; rev = "v${finalAttrs.version}"; - hash = "sha256-+TSjwxlh1uvN5Dpe2FeNi/x4QkQ87EcHhoRDcFyHMFw="; + hash = "sha256-W/qMrg+B/T19pguKiB4MHZF5OF3LqfH8b+5ke6feZNQ="; }; vendorHash = "sha256-hHxEE0xNSP4wnT5B13BAxUPpdIWs8v7KF1MuISfaYBE="; From 2b2f08849996b01b8189204eccc6fa3905c845ce Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 15:46:58 +0000 Subject: [PATCH 083/105] hyprlandPlugins.hypr-darkwindow: 0.54.2 -> 0.54.3 --- .../window-managers/hyprwm/hyprland-plugins/hypr-darkwindow.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-darkwindow.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-darkwindow.nix index adb5b4c0b636..7ecbde27f2fe 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-darkwindow.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-darkwindow.nix @@ -7,7 +7,7 @@ mkHyprlandPlugin (finalAttrs: { pluginName = "hypr-darkwindow"; - version = "0.54.2"; + version = "0.54.3"; src = fetchFromGitHub { owner = "micha4w"; From 7775ea813d0c6feb8a737bf654b7c1ce4e727519 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 15:47:33 +0000 Subject: [PATCH 084/105] python3Packages.fava-dashboards: 2.0.0b5 -> 2.0.0b7 --- pkgs/development/python-modules/fava-dashboards/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fava-dashboards/default.nix b/pkgs/development/python-modules/fava-dashboards/default.nix index 0bc721a045ee..592792660bad 100644 --- a/pkgs/development/python-modules/fava-dashboards/default.nix +++ b/pkgs/development/python-modules/fava-dashboards/default.nix @@ -11,14 +11,14 @@ }: buildPythonPackage rec { pname = "fava-dashboards"; - version = "2.0.0b5"; + version = "2.0.0b7"; pyproject = true; src = fetchFromGitHub { owner = "andreasgerstmayr"; repo = "fava-dashboards"; tag = "v${version}"; - hash = "sha256-OoXNGj+05qjsgmHQ9c18ZcVE8jESDRZeONK9hzAmAQs="; + hash = "sha256-DtytD8LA/DoyBwXjpSHaEzwf7YJscV0yvMn9EpL6eh8="; }; build-system = [ From 20b7d35ead9ff0955a83af83190f12518c3e8d7e Mon Sep 17 00:00:00 2001 From: tarzst Date: Fri, 3 Apr 2026 21:32:52 +0530 Subject: [PATCH 085/105] programs.neovim: disable python3 and ruby providers by default --- doc/release-notes/rl-2605.section.md | 2 +- nixos/modules/programs/neovim.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index b7aa319a57e6..e08df9ab0031 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -310,7 +310,7 @@ gnuradioMinimal.override { - `mold` is now wrapped by default. -- `neovim` now disables by default the `python3` and `ruby` providers, unused by most users and reducing closure size from 365MiB to 240MiB. Host provider executables are not exposed anymore along with the neovim wrapper. You can still refer to those using the neovim provider variables (e.g., `python3_host_prog`). +- The `neovim` package and module now disable by default the `python3` and `ruby` providers, unused by most users and reducing closure size from 365MiB to 240MiB. Host provider executables are not exposed anymore along with the neovim wrapper. You can still refer to those using the neovim provider variables (e.g., `python3_host_prog`). ### Deprecations {#sec-nixpkgs-release-26.05-lib-deprecations} diff --git a/nixos/modules/programs/neovim.nix b/nixos/modules/programs/neovim.nix index 8630855be714..30e0d828ae7d 100644 --- a/nixos/modules/programs/neovim.nix +++ b/nixos/modules/programs/neovim.nix @@ -51,13 +51,13 @@ in withRuby = lib.mkOption { type = lib.types.bool; - default = true; + default = false; description = "Enable Ruby provider."; }; withPython3 = lib.mkOption { type = lib.types.bool; - default = true; + default = false; description = "Enable Python 3 provider."; }; From 7c0b990964cf20bb65788dc579176546acd3ed40 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 16:06:39 +0000 Subject: [PATCH 086/105] github-markdown-toc-go: 2.0.0 -> 2.0.1 --- pkgs/by-name/gi/github-markdown-toc-go/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/github-markdown-toc-go/package.nix b/pkgs/by-name/gi/github-markdown-toc-go/package.nix index ef631f4f1184..320ba3af6477 100644 --- a/pkgs/by-name/gi/github-markdown-toc-go/package.nix +++ b/pkgs/by-name/gi/github-markdown-toc-go/package.nix @@ -5,13 +5,13 @@ }: buildGoModule (finalAttrs: { pname = "github-markdown-toc-go"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "ekalinin"; repo = "github-markdown-toc.go"; rev = "v${finalAttrs.version}"; - hash = "sha256-hCkahhnTAF17ctJTL83wZxZiKGDzIKLwWKTTnwYQ3cs="; + hash = "sha256-sHXgtw+6LX7ryT8SWYWbEYu1iZCkeDZDP7houcsORJI="; }; vendorHash = "sha256-K5yb7bnW6eS5UESK9wgNEUwGjB63eJk6+B0jFFiFero="; From ee15169ecc8e2d064914a8d0c344d728c05a3dac Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 16:14:47 +0000 Subject: [PATCH 087/105] terraform-providers.aliyun_alicloud: 1.273.0 -> 1.274.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 93d43ac65168..976e650aaf9e 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -45,13 +45,13 @@ "vendorHash": "sha256-btxzZZtvgeih+OUhc5QnF8ac22TxpGibffGNkljjq6c=" }, "aliyun_alicloud": { - "hash": "sha256-MkFDIGixsjQ6NfzI1X6fiLX4ozi7QA82jGryne/TcBU=", + "hash": "sha256-oTQaH0E3e7gBn5BuoDUOGX6plQSQR2Ki6cRzIr31qvs=", "homepage": "https://registry.terraform.io/providers/aliyun/alicloud", "owner": "aliyun", "repo": "terraform-provider-alicloud", - "rev": "v1.273.0", + "rev": "v1.274.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-Hvk2jckla1LcMankcdUTct8Kea0OznyxDxTJ+UrJHy0=" + "vendorHash": "sha256-Kk0YeStlev8AurZasORMe/42Rd3ZPFoFMat/rMpZFbE=" }, "aminueza_minio": { "hash": "sha256-aWsMTUNIDwBzI/qsy78uA3ELnzUA+c4jP2jGD7QqrvI=", From 9fbc064e90a066853b73d4838564ac7ad49b6956 Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Fri, 3 Apr 2026 18:43:31 +0200 Subject: [PATCH 088/105] claude-code: 2.1.90 -> 2.1.91 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- pkgs/by-name/cl/claude-code/package-lock.json | 4 ++-- pkgs/by-name/cl/claude-code/package.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index 4e96f6105b39..20b825f41315 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.1.90", + "version": "2.1.91", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@anthropic-ai/claude-code", - "version": "2.1.90", + "version": "2.1.91", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index d14fdcdbfff9..258243479998 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -15,14 +15,14 @@ }: buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "2.1.90"; + version = "2.1.91"; src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-4/hqWrY2fncQ8p0TxwBAI+mNH98ZDhjvFqB9us7GJK0="; + hash = "sha256-u7jdM6hTYN05ZLPz630Yj7gI0PeCSArg4O6ItQRAMy4="; }; - npmDepsHash = "sha256-kWbbIAoNAQ/BtsICmsabkfnS/1Nta5MQ4iX9+oH7WRw="; + npmDepsHash = "sha256-0ppKP+XMgTzVVZtL7GDsOjgvSPUDrUa7SoG048RLaNg="; strictDeps = true; From 6e79f1638fa66feb07d594c5a39bf10dfc9ad36a Mon Sep 17 00:00:00 2001 From: Markus Hauck Date: Fri, 3 Apr 2026 18:43:35 +0200 Subject: [PATCH 089/105] claude-code-bin: 2.1.90 -> 2.1.91 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md --- pkgs/by-name/cl/claude-code-bin/manifest.json | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/cl/claude-code-bin/manifest.json b/pkgs/by-name/cl/claude-code-bin/manifest.json index 2d800a3ac4f6..211a12a84f78 100644 --- a/pkgs/by-name/cl/claude-code-bin/manifest.json +++ b/pkgs/by-name/cl/claude-code-bin/manifest.json @@ -1,46 +1,46 @@ { - "version": "2.1.90", - "buildDate": "2026-04-01T22:59:02Z", + "version": "2.1.91", + "buildDate": "2026-04-02T22:04:30Z", "platforms": { "darwin-arm64": { "binary": "claude", - "checksum": "73c1a7570501ca743cd2d7467cb4699103534a2138052a4e6cab53c0e09d79c8", - "size": 197828752 + "checksum": "7433d76d3ec5d223a340e21d7a05f3d481d89999f228113168ad5d64c66fd376", + "size": 198092944 }, "darwin-x64": { "binary": "claude", - "checksum": "9934675063ea4360665b7a43f649c92e6ba5cf93257324af7af1a6b490746395", - "size": 199326928 + "checksum": "47409dc476c199711d5c776cf359773f75cb9dc72ce7494a4e4cb100520e8ab4", + "size": 199574608 }, "linux-arm64": { "binary": "claude", - "checksum": "15d5089ee7d9981faacf5463eabd427a012814d9fc02113883bb23a4f387ad4a", - "size": 230165056 + "checksum": "dddba100b352ea6d06aa7e036d5afe49749edddd1309a4aa22e47049fafcadf9", + "size": 230427200 }, "linux-x64": { "binary": "claude", - "checksum": "6074e3959989b2958a9abec60adf7b441a0f6f1c7e66401abff0fe54dad04fd6", - "size": 229902976 + "checksum": "01b74e1b02e3330940b3526d2f6e00bf32f7fd9e6b3861be6a61e01cfd7296e6", + "size": 230161024 }, "linux-arm64-musl": { "binary": "claude", - "checksum": "2508fa1c9c0575cf6fa26f2561ff7f0fd83be5fb4c6f9ec8281dfd5911d44371", - "size": 223218112 + "checksum": "3dcaacefb510f6aee3573d35fe65f5dccbbbf4b6fdcca9a5a5455c03556a2f8b", + "size": 223480256 }, "linux-x64-musl": { "binary": "claude", - "checksum": "854746d04db11f543ed8d3836b5316366d965e6b6cfa2ac6312e6f7a5c4b5cb1", - "size": 224201152 + "checksum": "b05d9447b7d9a4fa92f936b2275ca87db3bada52d8589bf4e4c49d437366942a", + "size": 224459200 }, "win32-x64": { "binary": "claude.exe", - "checksum": "f6be38fbdcadc373e93f751d1286845f58b032690e32be8f64799380a295a79f", - "size": 239622816 + "checksum": "12f69849f6774749718520f41fb94f6fc30779b55d8f9b0acaaf20c755e6b55d", + "size": 239873184 }, "win32-arm64": { "binary": "claude.exe", - "checksum": "019f7210055cd7a884d13c4e6a0b6caf1a82348ee42950b7b5247a4b0484709c", - "size": 236335776 + "checksum": "389de7f1f2b979cb4098f7752ca0099275cedabcfe3908a9886d143ef594972b", + "size": 236586144 } } } From d0e787d587e3b4c350d63e412b32ee0d8aa53f89 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 17:18:07 +0000 Subject: [PATCH 090/105] python3Packages.pyportainer: 1.0.34 -> 1.0.35 --- pkgs/development/python-modules/pyportainer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyportainer/default.nix b/pkgs/development/python-modules/pyportainer/default.nix index 9f5a55c41d8d..1c3fd65e870f 100644 --- a/pkgs/development/python-modules/pyportainer/default.nix +++ b/pkgs/development/python-modules/pyportainer/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "pyportainer"; - version = "1.0.34"; + version = "1.0.35"; pyproject = true; src = fetchFromGitHub { owner = "erwindouna"; repo = "pyportainer"; tag = "v${finalAttrs.version}"; - hash = "sha256-qa+NbX8y/2bK3B7gHWuTeAKT0bTaZS2HbWS/75a8tcA="; + hash = "sha256-W4zO4fwVJ6cvTeZgak2bOUTTgmGpfVc/EDiOvlkSR2Y="; }; build-system = [ hatchling ]; From 26b884394f828960e2f28537b3dc4b419430ceae Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 17:25:50 +0000 Subject: [PATCH 091/105] iosevka: 34.2.1 -> 34.3.0 --- pkgs/by-name/io/iosevka/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/io/iosevka/package.nix b/pkgs/by-name/io/iosevka/package.nix index 0e333e899080..799226b51fde 100644 --- a/pkgs/by-name/io/iosevka/package.nix +++ b/pkgs/by-name/io/iosevka/package.nix @@ -58,16 +58,16 @@ assert (extraParameters != null) -> set != null; buildNpmPackage rec { pname = "Iosevka${toString set}"; - version = "34.2.1"; + version = "34.3.0"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-yj46lNYOzaopu5Mo68jwh+xf/q/bjMmQdprh6e56eeY="; + hash = "sha256-Se+GIx+Uea/lMOdTDhbt/H+F0yeyMHclpSp52U+pmtA="; }; - npmDepsHash = "sha256-it0YwPcoYCIMddktgywBuYvvx3Psghoii3pu0K3RDlI="; + npmDepsHash = "sha256-LSfVuNP2Ck0PUbrjHsCXmoiZfT3x/Mk+CpC9cAj96bE="; nativeBuildInputs = [ remarshal From fda32176503c7fbb9c632f0a5a22065c5a3f8dcc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 18:06:22 +0000 Subject: [PATCH 092/105] grafanaPlugins.grafana-lokiexplore-app: 2.0.0 -> 2.0.1 --- .../grafana/plugins/grafana-lokiexplore-app/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-lokiexplore-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-lokiexplore-app/default.nix index f504a3abcec3..0ec1089779bc 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-lokiexplore-app/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-lokiexplore-app/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-lokiexplore-app"; - version = "2.0.0"; - zipHash = "sha256-7uyQBz7damAeTlU0A/EFXYCkeD3lffYpZEbFYeDiNdY="; + version = "2.0.1"; + zipHash = "sha256-b4RhxdUFKi4VVHhEJKa09qwmIebGUK77p5aq+QG/Iqg="; meta = { description = "Browse Loki logs without the need for writing complex queries"; license = lib.licenses.agpl3Only; From 39e26eda6621d54b3488e20f654f3f875fdfd13d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 18:09:30 +0000 Subject: [PATCH 093/105] solanum: 0-unstable-2026-03-22 -> 0-unstable-2026-03-25 --- pkgs/by-name/so/solanum/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/so/solanum/package.nix b/pkgs/by-name/so/solanum/package.nix index ec3dc8ba8843..942af46837d7 100644 --- a/pkgs/by-name/so/solanum/package.nix +++ b/pkgs/by-name/so/solanum/package.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "solanum"; - version = "0-unstable-2026-03-22"; + version = "0-unstable-2026-03-25"; src = fetchFromGitHub { owner = "solanum-ircd"; repo = "solanum"; - rev = "6ac4d0e24e4b872b9f30adc743cf743e964d75d1"; - hash = "sha256-5pW3QkSkmLoRrW/WjsDm4zCJLjwG0KVBKWbQe/iIgnM="; + rev = "d8d710c7bc052c3e24f76ca7a63da3a6ba6af8ea"; + hash = "sha256-QnnxRRDou67/PorQ8YzVbQo2E3DF/f+cpR+hVecmyD0="; }; postPatch = '' From 62f46e4e31f824d6e3a65d583674a224b9b50ede Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 18:26:52 +0000 Subject: [PATCH 094/105] terraform-providers.spacelift-io_spacelift: 1.45.0 -> 1.47.1 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 93d43ac65168..eec9d9cc6c63 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1229,11 +1229,11 @@ "vendorHash": "sha256-skswuFKhN4FFpIunbom9rM/FVRJVOFb1WwHeAIaEjn8=" }, "spacelift-io_spacelift": { - "hash": "sha256-HPryfdykq6m9L66z4gC8tb1F4tTHLk9H4UN2/lnNpu4=", + "hash": "sha256-j9D4rUjnBQqobAu5yXo5fCJSwkVSovmrroowBTuLIVQ=", "homepage": "https://registry.terraform.io/providers/spacelift-io/spacelift", "owner": "spacelift-io", "repo": "terraform-provider-spacelift", - "rev": "v1.45.0", + "rev": "v1.47.1", "spdx": "MIT", "vendorHash": "sha256-Ub0lqMdCu44UX3LkcjErsxfWdL9C6CxhVKPOn1AAdEc=" }, From f86307dac61607ddec830c213601cc49ceb0cbca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 18:34:16 +0000 Subject: [PATCH 095/105] wastebin: 3.4.0 -> 3.4.1 --- pkgs/by-name/wa/wastebin/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wastebin/package.nix b/pkgs/by-name/wa/wastebin/package.nix index e04903cb18fa..b555e9e670ca 100644 --- a/pkgs/by-name/wa/wastebin/package.nix +++ b/pkgs/by-name/wa/wastebin/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wastebin"; - version = "3.4.0"; + version = "3.4.1"; src = fetchFromGitHub { owner = "matze"; repo = "wastebin"; rev = finalAttrs.version; - hash = "sha256-cujMs7R6CBSsoQ3p8PyHAJYwWjd8NGYX+qMB4ntrorg="; + hash = "sha256-435d/MBLRBvJ5LQ2ohhIOtPmHNjnWQCp1wVS+Wv8t6U="; }; - cargoHash = "sha256-wS4WkOjaDTlrIEjeSTmEqzfC1XZgXQUTqpfs7FYr60Y="; + cargoHash = "sha256-S9aQsdnpq/3D6nnRG+cCIM5Cljcax4+KxavRj3kxeQo="; nativeBuildInputs = [ pkg-config From e2cf64f27ef8028d082fd69541c0fb807907509f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 18:56:07 +0000 Subject: [PATCH 096/105] libretro.picodrive: 0-unstable-2025-12-03 -> 0-unstable-2026-04-02 --- pkgs/applications/emulators/libretro/cores/picodrive.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/picodrive.nix b/pkgs/applications/emulators/libretro/cores/picodrive.nix index b7d63f301b81..b962c61e834d 100644 --- a/pkgs/applications/emulators/libretro/cores/picodrive.nix +++ b/pkgs/applications/emulators/libretro/cores/picodrive.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "picodrive"; - version = "0-unstable-2025-12-03"; + version = "0-unstable-2026-04-02"; src = fetchFromGitHub { owner = "libretro"; repo = "picodrive"; - rev = "3365b1774bc8680be9899968fe45b224ad2f11c1"; - hash = "sha256-hn80Dkdf6dMmCFoh9QeySVbF7tu8Vc1NfAl3SV8AZLg="; + rev = "f0d4a0118a9733a1f10bce5a4ac772c474f9300d"; + hash = "sha256-q584bnqIbKoXSCRHUAcqSJAIhholnXfbphvLVcbm57o="; fetchSubmodules = true; }; From 10121226fa4de831fc30e5025d6760c0086c80a7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 19:21:13 +0000 Subject: [PATCH 097/105] phpstan: 2.1.43 -> 2.1.46 --- pkgs/by-name/ph/phpstan/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ph/phpstan/package.nix b/pkgs/by-name/ph/phpstan/package.nix index 43a107d7e9ae..8d8a3053d1c3 100644 --- a/pkgs/by-name/ph/phpstan/package.nix +++ b/pkgs/by-name/ph/phpstan/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "phpstan"; - version = "2.1.43"; + version = "2.1.46"; src = fetchFromGitHub { owner = "phpstan"; repo = "phpstan"; tag = finalAttrs.version; - hash = "sha256-HIRM73A+pXWUV0gdcGPI4vjEKAYntNUAVqg4iEKx9To="; + hash = "sha256-VZQhL9w2/eyMQJhnLTU50wVVjS1gGNKLcPkuEkE5ZaA="; }; nativeBuildInputs = [ From 3064b646d7b8f998036cbeea83cb1cd71e5b02d9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 20:02:07 +0000 Subject: [PATCH 098/105] libretro.beetle-pcfx: 0-unstable-2024-10-21 -> 0-unstable-2026-03-31 --- pkgs/applications/emulators/libretro/cores/beetle-pcfx.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/beetle-pcfx.nix b/pkgs/applications/emulators/libretro/cores/beetle-pcfx.nix index 047a25cd2afa..a5b00be615cd 100644 --- a/pkgs/applications/emulators/libretro/cores/beetle-pcfx.nix +++ b/pkgs/applications/emulators/libretro/cores/beetle-pcfx.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mednafen-pcfx"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "beetle-pcfx-libretro"; - rev = "dd04cef9355286488a1d78ff18c4c848a1575540"; - hash = "sha256-oFBuriCbJWjgPH9RRAM/XUvkW0gKXnvs7lmBpJpWewo="; + rev = "035191393485280cad1866ce3aedd626d4fa09d0"; + hash = "sha256-jchEbKvHSE4D90ezwi//nl8vefQD4gp6YWb0eb6zkeY="; }; makefile = "Makefile"; From 0366000c0e3db854ec93b5d4a31df7b69d212e94 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 20:17:07 +0000 Subject: [PATCH 099/105] resterm: 0.23.6 -> 0.24.1 --- pkgs/by-name/re/resterm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/resterm/package.nix b/pkgs/by-name/re/resterm/package.nix index 43a6089d7f2d..2159ccea52a0 100644 --- a/pkgs/by-name/re/resterm/package.nix +++ b/pkgs/by-name/re/resterm/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "resterm"; - version = "0.23.6"; + version = "0.24.1"; src = fetchFromGitHub { owner = "unkn0wn-root"; repo = "resterm"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-MVcLyPPnQIn0IZcGOoELRSQkI+BEIXSZfWeeZv6AILI="; + sha256 = "sha256-7AgxDA1E20H2WYGFuwCIyBcB/1Zt58AbQwkEkcJdnq0="; }; vendorHash = "sha256-AjckKD6NScBa8w9nWMdVExuNadz3vHnK854XXg3nj84="; From 12f1144579c27f20b6c3aff1b15ef0c826b298b8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 20:21:49 +0000 Subject: [PATCH 100/105] libretro.nestopia: 0-unstable-2026-02-28 -> 0-unstable-2026-04-02 --- pkgs/applications/emulators/libretro/cores/nestopia.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/nestopia.nix b/pkgs/applications/emulators/libretro/cores/nestopia.nix index 9a9257143dcb..a3c8253c7ab8 100644 --- a/pkgs/applications/emulators/libretro/cores/nestopia.nix +++ b/pkgs/applications/emulators/libretro/cores/nestopia.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "nestopia"; - version = "0-unstable-2026-02-28"; + version = "0-unstable-2026-04-02"; src = fetchFromGitHub { owner = "libretro"; repo = "nestopia"; - rev = "c0ae3bcbe78a1a21a20384b96b70774cc165d2c2"; - hash = "sha256-T4SC2yH/il6fjYd+4cWK4c+VqHMBc0uR3sXzPF6Z4O0="; + rev = "b0fd87dd07e3c52903435d302b04e5e97796f127"; + hash = "sha256-OQcjGCAwXQEiWKYldKgOzMwIJcWTR308v+0OcuzFTo8="; }; makefile = "Makefile"; From 8986b6f1cb3beb7fc168b470c08cf11d429f61f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 20:26:02 +0000 Subject: [PATCH 101/105] liteparse: 1.2.0 -> 1.4.4 --- pkgs/by-name/li/liteparse/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/liteparse/package.nix b/pkgs/by-name/li/liteparse/package.nix index 6216a9c8200c..a714029b424c 100644 --- a/pkgs/by-name/li/liteparse/package.nix +++ b/pkgs/by-name/li/liteparse/package.nix @@ -10,16 +10,16 @@ buildNpmPackage (finalAttrs: { pname = "liteparse"; - version = "1.2.0"; + version = "1.4.4"; src = fetchFromGitHub { owner = "run-llama"; repo = "liteparse"; tag = "v${finalAttrs.version}"; - hash = "sha256-6oG/ajH1roGkzRYAtAuJDniKwpBYF92NL1erYwQ4XPc="; + hash = "sha256-UHZaKWjzaoYbD2NHwNgvlpPfviD66zPQ6d0UWW/lrmk="; }; - npmDepsHash = "sha256-lgqrXGbFuHbwQMXPbhHFdOabfPdVhghmg5v+aE4Og2k="; + npmDepsHash = "sha256-Wz46n7BbubC3Cq1CHOHM2q/dVOvOVNQTloHZfkAwzpg="; npmBuildScript = "build"; nativeBuildInputs = [ makeBinaryWrapper ]; From a3516fe33507426f85b544f019a223a5cf2a6da1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 20:28:15 +0000 Subject: [PATCH 102/105] drift: 0.6.1 -> 0.11.0 --- pkgs/by-name/dr/drift/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dr/drift/package.nix b/pkgs/by-name/dr/drift/package.nix index dbfc04027c50..1935a8c2c905 100644 --- a/pkgs/by-name/dr/drift/package.nix +++ b/pkgs/by-name/dr/drift/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "drift"; - version = "0.6.1"; + version = "0.11.0"; src = fetchFromGitHub { owner = "phlx0"; repo = "drift"; tag = "v${finalAttrs.version}"; - hash = "sha256-CDQEeP/ZEr4rQcNjMMK692+45E8OCzkDp1JNlJVuokc="; + hash = "sha256-oSSuh4LNihLoy4qwMx97+oCuapp18d2GV52bq4yXcqE="; }; vendorHash = "sha256-FsNa9qp2MnPk1onv/O13mFi+82yP7D4LdILZsNzHs+4="; From de4b6267e4830fae9fd5909c311431d574789641 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Fri, 3 Apr 2026 17:45:24 -0400 Subject: [PATCH 103/105] Revert "ci: update pinned" --- .github/zizmor.yml | 2 -- ci/pinned.json | 12 ++++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/zizmor.yml b/.github/zizmor.yml index b8bd704b9ff4..f1b71580ebca 100644 --- a/.github/zizmor.yml +++ b/.github/zizmor.yml @@ -10,5 +10,3 @@ rules: dangerous-triggers: disable: true - secrets-outside-env: - disable: true diff --git a/ci/pinned.json b/ci/pinned.json index 5f4203d1ffa2..9e039136a160 100644 --- a/ci/pinned.json +++ b/ci/pinned.json @@ -9,9 +9,9 @@ }, "branch": "nixpkgs-unstable", "submodules": false, - "revision": "106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f", - "url": "https://github.com/NixOS/nixpkgs/archive/106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f.tar.gz", - "hash": "0wyyhddz2mqhmq938d337223675jpd83dd5lsks2nhz0hs4r3jha" + "revision": "bde09022887110deb780067364a0818e89258968", + "url": "https://github.com/NixOS/nixpkgs/archive/bde09022887110deb780067364a0818e89258968.tar.gz", + "hash": "13mi187zpa4rw680qbwp7pmykjia8cra3nwvjqmsjba3qhlzif5l" }, "treefmt-nix": { "type": "Git", @@ -22,9 +22,9 @@ }, "branch": "main", "submodules": false, - "revision": "75925962939880974e3ab417879daffcba36c4a3", - "url": "https://github.com/numtide/treefmt-nix/archive/75925962939880974e3ab417879daffcba36c4a3.tar.gz", - "hash": "118zlbyzmh21x6rad2vrxjkdfyicd8lx3s0if8b791n51hz1r9ns" + "revision": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", + "url": "https://github.com/numtide/treefmt-nix/archive/e96d59dff5c0d7fddb9d113ba108f03c3ef99eca.tar.gz", + "hash": "02gqyxila3ghw8gifq3mns639x86jcq079kvfvjm42mibx7z5fzb" } }, "version": 5 From 7fc31b4dcb2a8d2a81dbc4278fc31d073344f2dc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 22:27:11 +0000 Subject: [PATCH 104/105] python3Packages.pytibber: 0.36.0 -> 0.37.0 --- pkgs/development/python-modules/pytibber/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix index 0ab86a525f2b..54d4e2cc0edd 100644 --- a/pkgs/development/python-modules/pytibber/default.nix +++ b/pkgs/development/python-modules/pytibber/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pytibber"; - version = "0.36.0"; + version = "0.37.0"; pyproject = true; src = fetchFromGitHub { owner = "Danielhiversen"; repo = "pyTibber"; tag = finalAttrs.version; - hash = "sha256-+Df66Jmtfn5EMFBHrj603/rDZwYLlLQfihHr3vhhabI="; + hash = "sha256-NCHTSvwAJhRzruBZwPzieI5jqrRrugnDjgZHHiLXgbE="; }; build-system = [ setuptools ]; From 596d8f05cd2b7904c91cf81db75862a37c12da96 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 22:40:14 +0000 Subject: [PATCH 105/105] libretro.melonds: 0-unstable-2024-10-21 -> 0-unstable-2026-03-31 --- pkgs/applications/emulators/libretro/cores/melonds.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/melonds.nix b/pkgs/applications/emulators/libretro/cores/melonds.nix index 59e0676a5594..83e335680e0a 100644 --- a/pkgs/applications/emulators/libretro/cores/melonds.nix +++ b/pkgs/applications/emulators/libretro/cores/melonds.nix @@ -7,13 +7,13 @@ }: mkLibretroCore { core = "melonds"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "melonds"; - rev = "7a3c11ff970cd36ca806961fae6db94b30dd5401"; - hash = "sha256-YGkRdth7qdATcZpJkBd5MGOJFG1AbeJhAnyir+ssZYA="; + rev = "e548eba517ccb964ddba31dcf8f0136041f5bb05"; + hash = "sha256-4bCunBPpBP0RWwL1vUTQxLPtCBnQ0M5pC3GAX1uTL5A="; }; extraBuildInputs = [