From c0a17bbd286ed562d74b867740f085ed19076892 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Mar 2026 03:51:41 +0000 Subject: [PATCH 01/35] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'buildbot-nix': 'github:nix-community/buildbot-nix/e9010d0937faf7a7b7e534e567cfd4ea5b209070?narHash=sha256-/cOjTl8VjPFFijyDLoWXXU%2B7lSbl8guotHOPL6OAysw%3D' (2026-02-22) → 'github:nix-community/buildbot-nix/0239dd9a76c14ed7baa2ca40ae89c498e8dac6e7?narHash=sha256-8oqnieGvMp8VbvU8QbzwvFuxHDJ9xm2kVzS6segXy10%3D' (2026-03-22) • Updated input 'buildbot-nix/flake-parts': 'github:hercules-ci/flake-parts/57928607ea566b5db3ad13af0e57e921e6b12381?narHash=sha256-AnYjnFWgS49RlqX7LrC4uA%2BsCCDBj0Ry/WOJ5XWAsa0%3D' (2026-02-02) → 'github:hercules-ci/flake-parts/f20dc5d9b8027381c474144ecabc9034d6a839a3?narHash=sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0%3D' (2026-03-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d1c15b7d5806069da59e819999d70e1cec0760bf?narHash=sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE%3D' (2026-02-16) → 'github:NixOS/nixpkgs/9cf7092bdd603554bd8b63c216e8943cf9b12512?narHash=sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0%3D' (2026-03-18) • Updated input 'opam-repository': 'github:ocaml/opam-repository/fc740cd2f3e80210f4eceab61f5e3de6efb44787?narHash=sha256-%2BoJ0POiIxxgfhQ6ZFwVVIITu8SU%2Bsj4HfBEbMnC9XAo%3D' (2026-02-22) → 'github:ocaml/opam-repository/76bf2ed9443fdee37e6f046c6295d358be3f8598?narHash=sha256-b69SOCQ4nhstGmauGL5oNRi5rX9mNgj7jPEUbpKDxUg%3D' (2026-03-21) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/5eaaedde414f6eb1aea8b8525c466dc37bba95ae?narHash=sha256-kck%2BvIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8%3D' (2026-02-10) → 'github:cachix/pre-commit-hooks.nix/f799ae951fde0627157f40aec28dec27b22076d0?narHash=sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8%3D' (2026-03-21) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d7755d820f5fa8acf7f223309c33e25d4f92e74f?narHash=sha256-MJuVJeszZEziquykEHh/hmgIHYxUcuoG/1aowpLiSeU%3D' (2026-02-22) → 'github:Mic92/sops-nix/3e0d543e6ba6c0c48117a81614e90c6d8c425170?narHash=sha256-zsTuloDSdKf%2BPrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg%3D' (2026-03-22) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/337a4fe074be1042a35086f15481d763b8ddc0e7?narHash=sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD%2BFyxk%3D' (2026-02-04) → 'github:numtide/treefmt-nix/71b125cd05fbfd78cab3e070b73544abe24c5016?narHash=sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk%3D' (2026-03-12) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 9e457c250..326fa1e8e 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ ] }, "locked": { - "lastModified": 1771733760, - "narHash": "sha256-/cOjTl8VjPFFijyDLoWXXU+7lSbl8guotHOPL6OAysw=", + "lastModified": 1774153455, + "narHash": "sha256-8oqnieGvMp8VbvU8QbzwvFuxHDJ9xm2kVzS6segXy10=", "owner": "nix-community", "repo": "buildbot-nix", - "rev": "e9010d0937faf7a7b7e534e567cfd4ea5b209070", + "rev": "0239dd9a76c14ed7baa2ca40ae89c498e8dac6e7", "type": "github" }, "original": { @@ -123,11 +123,11 @@ ] }, "locked": { - "lastModified": 1769996383, - "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -252,11 +252,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771207753, - "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", + "lastModified": 1773840656, + "narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d1c15b7d5806069da59e819999d70e1cec0760bf", + "rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512", "type": "github" }, "original": { @@ -320,11 +320,11 @@ "opam-repository": { "flake": false, "locked": { - "lastModified": 1771779718, - "narHash": "sha256-+oJ0POiIxxgfhQ6ZFwVVIITu8SU+sj4HfBEbMnC9XAo=", + "lastModified": 1774084616, + "narHash": "sha256-b69SOCQ4nhstGmauGL5oNRi5rX9mNgj7jPEUbpKDxUg=", "owner": "ocaml", "repo": "opam-repository", - "rev": "fc740cd2f3e80210f4eceab61f5e3de6efb44787", + "rev": "76bf2ed9443fdee37e6f046c6295d358be3f8598", "type": "github" }, "original": { @@ -364,11 +364,11 @@ ] }, "locked": { - "lastModified": 1770726378, - "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", + "lastModified": 1774104215, + "narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", + "rev": "f799ae951fde0627157f40aec28dec27b22076d0", "type": "github" }, "original": { @@ -493,11 +493,11 @@ ] }, "locked": { - "lastModified": 1771735105, - "narHash": "sha256-MJuVJeszZEziquykEHh/hmgIHYxUcuoG/1aowpLiSeU=", + "lastModified": 1774154798, + "narHash": "sha256-zsTuloDSdKf+PrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d7755d820f5fa8acf7f223309c33e25d4f92e74f", + "rev": "3e0d543e6ba6c0c48117a81614e90c6d8c425170", "type": "github" }, "original": { @@ -543,11 +543,11 @@ ] }, "locked": { - "lastModified": 1770228511, - "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { From cbce54e7cb4b887fad6d2d757e0f49999d921666 Mon Sep 17 00:00:00 2001 From: eljamm Date: Mon, 9 Mar 2026 08:06:40 +0100 Subject: [PATCH 02/35] Projects(Reaction): fix tests' attr paths; add plugins test --- projects/Reaction/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/Reaction/default.nix b/projects/Reaction/default.nix index fdc881552..2d4ab2b99 100644 --- a/projects/Reaction/default.nix +++ b/projects/Reaction/default.nix @@ -40,7 +40,8 @@ - to be allowed to read ssh journal logs (adding reaction user to systemd-journal group) - and allow changing firewall rules (adding CAP_NET_ADMIN previlige to reaciton systemd service) ''; - tests.non-root.module = pkgs.nixosTests.reaction; + tests.non-root.module = pkgs.nixosTests.reaction.basic; + tests.plugins.module = pkgs.nixosTests.reaction.plugins; }; examples.root = { module = ./services/reaction/examples/root.nix; @@ -49,7 +50,7 @@ Prefer the non-root configuration and give the service and the reaction user fine-grained access based on your usecase for reaction. ''; - tests.root.module = pkgs.nixosTests.reaction-firewall; + tests.root.module = pkgs.nixosTests.reaction.firewall; }; }; }; @@ -99,6 +100,6 @@ ''; } ]; - tests.demo.module = pkgs.nixosTests.reaction-firewall; + tests.demo.module = pkgs.nixosTests.reaction.firewall; }; } From ee60d164fb9b7d2cc42efb99dad1113e0d8e1bc5 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 02:46:32 +0530 Subject: [PATCH 03/35] Projects(Icosa-Gallery): fix build by vendoring django-silk Signed-off-by: phanirithvij --- pkgs/by-name/icosa-gallery/django-silk.nix | 94 ++++++++++++++++++++++ pkgs/by-name/icosa-gallery/package.nix | 1 + 2 files changed, 95 insertions(+) create mode 100644 pkgs/by-name/icosa-gallery/django-silk.nix diff --git a/pkgs/by-name/icosa-gallery/django-silk.nix b/pkgs/by-name/icosa-gallery/django-silk.nix new file mode 100644 index 000000000..70e32af48 --- /dev/null +++ b/pkgs/by-name/icosa-gallery/django-silk.nix @@ -0,0 +1,94 @@ +{ + lib, + autopep8, + buildPythonPackage, + django, + factory-boy, + fetchFromGitHub, + freezegun, + gprof2dot, + jinja2, + mock, + networkx, + pillow, + pydot, + pygments, + python, + python-dateutil, + pytz, + requests, + setuptools-scm, + simplejson, + sqlparse, +}: + +# django-silk 5.3.2 is the last version to support django_5 +# see https://github.com/jazzband/django-silk/blob/5.4.3/CHANGELOG.md#540-2025-05-03 + +buildPythonPackage rec { + pname = "django-silk"; + version = "5.3.2"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "jazzband"; + repo = "django-silk"; + tag = version; + hash = "sha256-+JOUpjKR0rx+4+hU/5gSov5nW2aj7HR+HYr5FPbUkSA="; + }; + + # "test_time_taken" tests aren't suitable for reproducible execution, but Django's + # test runner doesn't have an easy way to ignore tests - so instead prevent it from picking + # them up as tests + postPatch = '' + substituteInPlace project/tests/test_silky_profiler.py \ + --replace "def test_time_taken" "def _test_time_taken" + substituteInPlace setup.py \ + --replace 'use_scm_version=True' 'version="${version}"' + ''; + + nativeBuildInputs = [ setuptools-scm ]; + + buildInputs = [ mock ]; + + propagatedBuildInputs = [ + autopep8 + django + gprof2dot + jinja2 + pillow + pygments + python-dateutil + pytz + requests + simplejson + sqlparse + ]; + + nativeCheckInputs = [ + freezegun + networkx + pydot + factory-boy + ]; + + pythonImportsCheck = [ "silk" ]; + + checkPhase = '' + runHook preCheck + + pushd project + DB_ENGINE=sqlite3 DB_NAME=':memory:' ${python.interpreter} manage.py test + popd # project + + runHook postCheck + ''; + + meta = { + description = "Silky smooth profiling for the Django Framework"; + homepage = "https://github.com/jazzband/django-silk"; + changelog = "https://github.com/jazzband/django-silk/blob/${version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ris ]; + }; +} diff --git a/pkgs/by-name/icosa-gallery/package.nix b/pkgs/by-name/icosa-gallery/package.nix index 41ca5d677..1a1529307 100644 --- a/pkgs/by-name/icosa-gallery/package.nix +++ b/pkgs/by-name/icosa-gallery/package.nix @@ -11,6 +11,7 @@ let django-admin-tools = final.callPackage ./django-admin-tools.nix { }; django-constance = final.callPackage ./django-constance.nix { }; django-honeypot = final.callPackage ./django-honeypot.nix { }; + django-silk = final.callPackage ./django-silk.nix { }; django-simple-math-captcha = final.callPackage ./django-simple-math-captcha.nix { }; ixxy-email-logger = final.callPackage ./ixxy-email-logger.nix { }; }; From 36ffed03872f4d244f306400d81c4e76c29bc4be Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 03:36:46 +0530 Subject: [PATCH 04/35] icosa-gallery: patch usage of django-ninja breaking change Signed-off-by: phanirithvij --- ...0001-Fix-django-ninja-removed-Config.patch | 56 +++++++++++++++++++ pkgs/by-name/icosa-gallery/package.nix | 10 +++- 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/icosa-gallery/0001-Fix-django-ninja-removed-Config.patch diff --git a/pkgs/by-name/icosa-gallery/0001-Fix-django-ninja-removed-Config.patch b/pkgs/by-name/icosa-gallery/0001-Fix-django-ninja-removed-Config.patch new file mode 100644 index 000000000..7c6014e67 --- /dev/null +++ b/pkgs/by-name/icosa-gallery/0001-Fix-django-ninja-removed-Config.patch @@ -0,0 +1,56 @@ +From 73dd959b5ef31b0077b7c4029a0fae8ee8afd8ac Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Tue, 24 Mar 2026 03:25:06 +0530 +Subject: [PATCH] Fix django-ninja removed Config + +Removed in django-ninja 1.5.0 +https://github.com/vitalik/django-ninja/pull/1528 + +Signed-off-by: phanirithvij +--- + icosa/api/schema.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/icosa/api/schema.py b/icosa/api/schema.py +index 850f7462..b6bbd3c0 100644 +--- a/icosa/api/schema.py ++++ b/icosa/api/schema.py +@@ -140,9 +140,9 @@ class AssetSchema(ModelSchema): + presentationParams: Optional[dict] = Field(None, alias=("presentation_params")) + formats: List[AssetFormat] + +- class Config(Schema.Config): ++ class Meta: + model = Asset +- model_fields = ["url", "license"] ++ fields = ["url", "license"] + + @staticmethod + def resolve_name(obj, context): +@@ -229,9 +229,9 @@ class AssetSchemaPrivate(AssetSchema): + + + class AssetStateSchema(ModelSchema): +- class Config(Schema.Config): ++ class Meta: + model = Asset +- model_fields = ["state"] ++ fields = ["state"] + + + class AssetPatchData(Schema): +@@ -318,9 +318,9 @@ class AssetCollectionSchema(ModelSchema): + root_url = request.build_absolute_uri("/").rstrip("/") + return f"{root_url}{reverse_lazy('icosa:api:asset_collection_list')}/{obj.url}" + +- class Config(Schema.Config): ++ class Meta: + model = AssetCollection +- model_fields = [ ++ fields = [ + "url", + "name", + "description", +-- +2.53.0 + diff --git a/pkgs/by-name/icosa-gallery/package.nix b/pkgs/by-name/icosa-gallery/package.nix index 1a1529307..fec13bede 100644 --- a/pkgs/by-name/icosa-gallery/package.nix +++ b/pkgs/by-name/icosa-gallery/package.nix @@ -20,20 +20,24 @@ let in python3Packages.buildPythonApplication (finalAttrs: { pname = "icosa-gallery"; - version = "0-unstable-2026-01-15"; + version = "0-unstable-2026-03-11"; pyproject = false; src = fetchFromGitHub { owner = "icosa-foundation"; repo = "icosa-gallery"; - rev = "2fc0fe9505f682b8c11f1b282355790c7eb78e0c"; - hash = "sha256-w/PF/65eIkg9OgIzWw8VEGKVuepEf8C/xXjeyiLzH+I="; + rev = "12a10b77ac9b924c6832d39875577119427d3d11"; + hash = "sha256-o9PyvC23I3n4YY6PEA03zt/aL7O25ck/O9BKQxy68Os="; }; sourceRoot = "${finalAttrs.src.name}/django"; patches = [ ./BASE_DIR.patch + + # sourceRoot prevents usage of fetchpatch2 + # upstream PR is https://github.com/icosa-foundation/icosa-gallery/pull/200 + ./0001-Fix-django-ninja-removed-Config.patch ]; dependencies = From 58a5ea567cf5974ac53d4206c85dad4bc0d42847 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 18:22:35 +0530 Subject: [PATCH 05/35] pkgs/py3dtiles: remove, upstreamed to nixpkgs Signed-off-by: phanirithvij --- pkgs/by-name/py3dtiles/package.nix | 106 ----------------------------- 1 file changed, 106 deletions(-) delete mode 100644 pkgs/by-name/py3dtiles/package.nix diff --git a/pkgs/by-name/py3dtiles/package.nix b/pkgs/by-name/py3dtiles/package.nix deleted file mode 100644 index 605642bae..000000000 --- a/pkgs/by-name/py3dtiles/package.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ - lib, - python3, - fetchFromGitLab, - addBinToPathHook, - writeText, -}: - -python3.pkgs.buildPythonPackage (finalAttrs: { - pname = "py3dtiles"; - version = "12.1.0"; - pyproject = true; - - src = fetchFromGitLab { - owner = "py3dtiles"; - repo = "py3dtiles"; - tag = "v${finalAttrs.version}"; - hash = "sha256-qzTbpUkfrETAcCUk6mqJexA+6oIQrZjUIZJOubaHxCg="; - }; - - build-system = with python3.pkgs; [ - setuptools - setuptools-scm - ]; - - dependencies = with python3.pkgs; [ - lz4 - mapbox-earcut - numba - numpy - psutil - pygltflib - pyproj - pyzmq - ]; - - optional-dependencies = with python3.pkgs; { - ifc = [ - ifcopenshell - lark - ]; - las = [ - laspy - ]; - ply = [ - plyfile - ]; - postgres = [ - psycopg2-binary - ]; - }; - - nativeCheckInputs = - with python3.pkgs; - [ - pytestCheckHook - pytest-benchmark - pytest-cov-stub - ] - ++ (with finalAttrs.passthru.optional-dependencies; ply ++ las ++ ifc); - - nativeInstallCheckInputs = [ - addBinToPathHook - ]; - - # from .gitlab-ci.yml - # note: nativeCheckInputs are also available for installCheck - installCheckPhase = - let - testScript = writeText "test.py" /* py */ '' - from py3dtiles.tileset.utils import number_of_points_in_tileset - from pathlib import Path - exit(number_of_points_in_tileset(Path("3dtiles/tileset.json")) != 22300) - ''; - in - '' - runHook preInstallCheck - py3dtiles --help - py3dtiles info tests/fixtures/pointCloudRGB.pnts - py3dtiles convert --out test1 ./tests/fixtures/simple.xyz - py3dtiles convert --out test2 ./tests/fixtures/with_srs_3857.las - py3dtiles convert tests/fixtures/simple.ply - runHook postInstallCheck - ''; - - pythonRelaxDeps = [ - "numba" - "numpy" - "pyzmq" - ]; - - pythonImportsCheck = [ - "py3dtiles" - ]; - - meta = { - changelog = "https://py3dtiles.org/main/changelog.html"; - description = "Python module to manage 3DTiles format"; - downloadPage = "https://gitlab.com/py3dtiles/py3dtiles"; - homepage = "https://py3dtiles.org"; - license = lib.licenses.asl20; - mainProgram = "py3dtiles"; - maintainers = with lib.maintainers; [ phanirithvij ]; - teams = with lib.teams; [ ngi ]; - }; -}) From 5367b0cea8b06c490045fc262d0cb1b520c26657 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 19:10:00 +0530 Subject: [PATCH 06/35] pkgs/vula: fix build Signed-off-by: phanirithvij --- pkgs/by-name/vula/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/vula/package.nix b/pkgs/by-name/vula/package.nix index e74ad4689..6d7d1d77f 100644 --- a/pkgs/by-name/vula/package.nix +++ b/pkgs/by-name/vula/package.nix @@ -34,7 +34,9 @@ python3.pkgs.buildPythonApplication { postPatch = '' rm pyproject.toml substituteInPlace vula/frontend/constants.py \ - --replace "IMAGE_BASE_PATH = '/usr/share/icons/vula/'" "IMAGE_BASE_PATH = '$out/share/icons/vula/'" + --replace-fail "IMAGE_BASE_PATH = '/usr/share/icons/vula/'" "IMAGE_BASE_PATH = '$out/share/icons/vula/'" + substituteInPlace setup.cfg \ + --replace-fail "[pytest]" "[tool:pytest]" ''; build-system = with python3.pkgs; [ From 6a7fae516f1c8a69590f059fd565f6bd4f9b348f Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 10:19:42 +0530 Subject: [PATCH 07/35] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9cf7092bdd603554bd8b63c216e8943cf9b12512?narHash=sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0%3D' (2026-03-18) → 'github:NixOS/nixpkgs/fdc7b8f7b30fdbedec91b71ed82f36e1637483ed?narHash=sha256-a%2B%2BtZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA%3D' (2026-03-23) • Updated input 'opam-repository': 'github:ocaml/opam-repository/76bf2ed9443fdee37e6f046c6295d358be3f8598?narHash=sha256-b69SOCQ4nhstGmauGL5oNRi5rX9mNgj7jPEUbpKDxUg%3D' (2026-03-21) → 'github:ocaml/opam-repository/b2a1270dba57f3ceb38426939f9780c38c181b3c?narHash=sha256-DEPWH5A/yTeTdCedo%2BGHMZpfDp7d6RsKv0itK11AOQs%3D' (2026-03-23) • Updated input 'sops-nix': 'github:Mic92/sops-nix/3e0d543e6ba6c0c48117a81614e90c6d8c425170?narHash=sha256-zsTuloDSdKf%2BPrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg%3D' (2026-03-22) → 'github:Mic92/sops-nix/614e256310e0a4f8a9ccae3fa80c11844fba7042?narHash=sha256-fhG4JAcLgjKwt%2BXHbjs8brpWnyKUfU4LikLm3s0Q/ic%3D' (2026-03-23) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 326fa1e8e..20b10316d 100644 --- a/flake.lock +++ b/flake.lock @@ -252,11 +252,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773840656, - "narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=", + "lastModified": 1774273680, + "narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512", + "rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed", "type": "github" }, "original": { @@ -320,11 +320,11 @@ "opam-repository": { "flake": false, "locked": { - "lastModified": 1774084616, - "narHash": "sha256-b69SOCQ4nhstGmauGL5oNRi5rX9mNgj7jPEUbpKDxUg=", + "lastModified": 1774273360, + "narHash": "sha256-DEPWH5A/yTeTdCedo+GHMZpfDp7d6RsKv0itK11AOQs=", "owner": "ocaml", "repo": "opam-repository", - "rev": "76bf2ed9443fdee37e6f046c6295d358be3f8598", + "rev": "b2a1270dba57f3ceb38426939f9780c38c181b3c", "type": "github" }, "original": { @@ -493,11 +493,11 @@ ] }, "locked": { - "lastModified": 1774154798, - "narHash": "sha256-zsTuloDSdKf+PrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg=", + "lastModified": 1774303811, + "narHash": "sha256-fhG4JAcLgjKwt+XHbjs8brpWnyKUfU4LikLm3s0Q/ic=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3e0d543e6ba6c0c48117a81614e90c6d8c425170", + "rev": "614e256310e0a4f8a9ccae3fa80c11844fba7042", "type": "github" }, "original": { From e05799eb7d447455b7c048191bb76904ffd89aa1 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 10:48:29 +0530 Subject: [PATCH 08/35] tests: services.kmscon.autologinUser removed Signed-off-by: phanirithvij --- projects/tests.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/tests.nix b/projects/tests.nix index 9c778e46e..c76bbe831 100644 --- a/projects/tests.nix +++ b/projects/tests.nix @@ -24,7 +24,6 @@ let # kmscon allows zooming with [Ctrl] + [+] and [Ctrl] + [-] services.kmscon = { enable = true; - autologinUser = "root"; fonts = [ { name = "Hack"; @@ -32,6 +31,7 @@ let } ]; }; + services.getty.autologinUser = "root"; }; debugging.interactive.nodes = lib.mapAttrs (_: _: tools) test.nodes; args = { From 5ecba2022812cab2e1997bb68a789d0d5a0772a6 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 23:50:49 +0530 Subject: [PATCH 09/35] project(Repath-Studio): re-use from nixpkgs Fix repath sudio test, nixpkgs pr 503262 Signed-off-by: phanirithvij --- .../repath-studio/hardcode-git-paths.patch | 18 -- pkgs/by-name/repath-studio/package.nix | 205 ------------------ .../programs/repath-studio/tests/basic.nix | 57 +++-- 3 files changed, 35 insertions(+), 245 deletions(-) delete mode 100644 pkgs/by-name/repath-studio/hardcode-git-paths.patch delete mode 100644 pkgs/by-name/repath-studio/package.nix diff --git a/pkgs/by-name/repath-studio/hardcode-git-paths.patch b/pkgs/by-name/repath-studio/hardcode-git-paths.patch deleted file mode 100644 index 98a1496a9..000000000 --- a/pkgs/by-name/repath-studio/hardcode-git-paths.patch +++ /dev/null @@ -1,18 +0,0 @@ - deps.edn | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/deps.edn b/deps.edn -index d3aa811f..5419be40 100644 ---- a/deps.edn -+++ b/deps.edn -@@ -1,8 +1,7 @@ - {:paths ["src"] - :deps {binaryage/devtools {:mvn/version "1.0.7"} - camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.3"} -- clj-kdtree/clj-kdtree {:git/url "https://github.com/abscondment/clj-kdtree.git" -- :sha "5ec321c5e8006db00fa8b45a8ed9eb0b8f3dd56d" -+ clj-kdtree/clj-kdtree {:local/root "@clj-kdtree_src@" - :deps/manifest :deps} - com.taoensso/tempura {:mvn/version "1.5.4"} - day8.re-frame/test {:mvn/version "0.1.7"} - diff --git a/pkgs/by-name/repath-studio/package.nix b/pkgs/by-name/repath-studio/package.nix deleted file mode 100644 index b7e06febd..000000000 --- a/pkgs/by-name/repath-studio/package.nix +++ /dev/null @@ -1,205 +0,0 @@ -{ - lib, - stdenv, - - buildNpmPackage, - fetchFromGitHub, - pkg-config, - electron, - chromium, - clojure, - vips, - - writeShellScriptBin, - copyDesktopItems, - makeDesktopItem, - makeWrapper, - replaceVars, - nix-update-script, - - vulkan-loader, -}: -buildNpmPackage (finalAttrs: { - pname = "repath-studio"; - version = "0.4.12"; - - src = fetchFromGitHub { - owner = "repath-studio"; - repo = "repath-studio"; - tag = "v${finalAttrs.version}"; - hash = "sha256-sdM3owUYI0P12+R4YyYtF/20Zl0EpJY6t4Z1q/K5EqM="; - }; - - patches = [ - (replaceVars ./hardcode-git-paths.patch { - clj-kdtree_src = fetchFromGitHub { - owner = "abscondment"; - repo = "clj-kdtree"; - rev = "5ec321c5e8006db00fa8b45a8ed9eb0b8f3dd56d"; - hash = "sha256-ZOv+9TxBsOnSSbfM7kJLP3cQH9FpgA15aETszg7YSes="; - }; - }) - ]; - - makeCacheWritable = true; - - npmDepsHash = "sha256-Zihy5VYlkeQtmZUS25kgu3aYGPfQdUxjNSK33WHOEeQ="; - - nativeBuildInputs = [ - finalAttrs.passthru.clojureWithCache - makeWrapper - copyDesktopItems - pkg-config # sharp - ]; - - # For 'sharp' dependency, otherwise it will try to build it - buildInputs = [ vips ]; - - env = { - ELECTRON_SKIP_BINARY_DOWNLOAD = true; - PUPPETEER_SKIP_DOWNLOAD = true; - }; - - postPatch = '' - substituteInPlace shadow-cljs.edn \ - --replace-fail ":shadow-git-inject/version" '"v${finalAttrs.version}"' - ''; - - passthru = { - # this was taken and adapted from "logseq" package's nixpkgs derivation - mavenRepo = stdenv.mkDerivation { - name = "repath-studio-${finalAttrs.version}-maven-deps"; - inherit (finalAttrs) src patches; - - nativeBuildInputs = [ clojure ]; - - buildPhase = '' - runHook preBuild - - export HOME="$(mktemp -d)" - mkdir -p "$out" - - # -P -> resolve all normal deps - # -M:alias -> resolve extra-deps of the listed aliases - clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:dev:cljs - - runHook postBuild - ''; - - # copied from buildMavenPackage - # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside - installPhase = '' - runHook preInstall - - find $out -type f \( \ - -name \*.lastUpdated \ - -o -name resolver-status.properties \ - -o -name _remote.repositories \) \ - -delete - - runHook postInstall - ''; - - dontFixup = true; - - # FIX: this isn't 100% reproducible since it changes each time `clojure` is updated - # https://github.com/ngi-nix/ngipkgs/pull/1727#discussion_r2470180998 - outputHash = "sha256-ytS7JiQUC7U0vxuQddxQfDnm0Pt4stkRBfiIlbOpeTk="; - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - }; - - clojureWithCache = writeShellScriptBin "clojure" '' - exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.passthru.mavenRepo}"}' "$@" - ''; - }; - - buildPhase = '' - runHook preBuild - - # electronDist needs to be modifiable on Darwin - cp -r ${electron.dist} electron-dist - chmod -R u+w electron-dist - '' - # Electron builder complains about symlink in electron-dist - + lib.optionalString stdenv.hostPlatform.isLinux '' - rm electron-dist/libvulkan.so.1 - cp ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 electron-dist - '' - + '' - npm run build - npm exec electron-builder -- --dir \ - -c.electronDist=electron-dist \ - -c.electronVersion=${electron.version} - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - ${ - if stdenv.hostPlatform.isDarwin then - # bash - '' - mkdir -p $out/Applications - cp -r "dist/mac"*"/Repath Studio.app" "$out/Applications" - makeWrapper "$out/Applications/Repath Studio.app/Contents/MacOS/Repath Studio" "$out/bin/repath-studio" - '' - else - # bash - '' - mkdir -p $out/share/{repath-studio,icons/hicolor/scalable/apps} - cp -r dist/*-unpacked/resources/app.asar $out/share/repath-studio - cp resources/public/img/icon.svg $out/share/icons/hicolor/scalable/apps/repath-studio.svg - - makeWrapper '${lib.getExe electron}' "$out/bin/repath-studio" \ - --add-flags "$out/share/repath-studio/app.asar" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ - --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ - --inherit-argv0 - '' - } - - runHook postInstall - ''; - - # chromium package not available for darwin - doCheck = stdenv.hostPlatform.isLinux; - checkPhase = '' - runHook preCheck - export ELECTRON_OVERRIDE_DIST_PATH=electron-dist/ - export PUPPETEER_EXECUTABLE_PATH=${chromium}/bin/chromium - export CHROME_BIN=${chromium}/bin/chromium - npm run test - unset ELECTRON_OVERRIDE_DIST_PATH - runHook postCheck - ''; - - desktopItems = [ - (makeDesktopItem { - name = "Repath Studio"; - desktopName = "Repath Studio"; - exec = "repath-studio %U"; - type = "Application"; - terminal = false; - icon = "repath-studio"; - comment = "Vector graphics editor, that combines procedural tooling with traditional design workflows"; - categories = [ "Graphics" ]; - }) - ]; - - passthru.updateScript = nix-update-script { }; - - meta = { - changelog = "https://github.com/repath-studio/repath-studio/blob/v${finalAttrs.version}/CHANGELOG.md"; - description = "Cross-platform vector graphics editor, that combines procedural tooling with traditional design workflows"; - homepage = "https://repath.studio"; - downloadPage = "https://github.com/repath-studio/repath-studio"; - license = lib.licenses.agpl3Only; - mainProgram = "repath-studio"; - maintainers = with lib.maintainers; [ phanirithvij ]; - teams = with lib.teams; [ ngi ]; - platforms = electron.meta.platforms; - }; -}) diff --git a/projects/Repath-Studio/programs/repath-studio/tests/basic.nix b/projects/Repath-Studio/programs/repath-studio/tests/basic.nix index f00597bc1..47202b1b5 100644 --- a/projects/Repath-Studio/programs/repath-studio/tests/basic.nix +++ b/projects/Repath-Studio/programs/repath-studio/tests/basic.nix @@ -1,6 +1,7 @@ { - sources, + lib, pkgs, + sources, ... }: @@ -26,38 +27,50 @@ environment.systemPackages = with pkgs; [ xdotool + repath-studio ]; - # electron application, give more memory + # electron application, give more memory and cpu virtualisation.memorySize = 4096; + virtualisation.cores = 4; + virtualisation.qemu.options = [ + # Force qemu at 1020x768 resolution for the Save button click + "-vga none -device virtio-gpu-pci,xres=1020,yres=768" + ]; }; }; enableOCR = true; - interactive.sshBackdoor.enable = true; # ssh -o User=root vsock/3 + # Debug interactively with: + # - nix run .#nixosTests.repath-studio.driverInteractive -L + # - start_all()/run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; + + testScript = /* python */ '' + start_all() - testScript = - { nodes, ... }: - # python - '' - start_all() + machine.wait_for_x() + machine.succeed("env DISPLAY=:0 sudo -u alice repath-studio &> /tmp/repath.log &") + machine.wait_for_text(r"(Welcome|Repath|Studio)") # initial telemetry prompt - machine.wait_for_x() - machine.succeed("env DISPLAY=:0 sudo -u alice repath-studio &> /tmp/repath.log &") - machine.wait_for_text(r"(Welcome|Repath|Studio)") # initial telemetry prompt + machine.screenshot("Repath-Studio-GUI-Welcome") + machine.send_key("kp_enter") # OK - machine.screenshot("Repath-Studio-GUI-Welcome") - machine.send_key("kp_enter") # OK + # sleep is required it needs time to dismiss the dialog + machine.sleep(2) + machine.send_key("ctrl-shift-s") + machine.sleep(2) + machine.send_chars("/tmp/saved.rps") + machine.sleep(2) + machine.succeed("su - alice -c 'DISPLAY=:0 xdotool mousemove --sync 975 745 click 1'") # Save file dialog + machine.sleep(2) + print(machine.succeed("cat /tmp/saved.rps")) + assert "${pkgs.repath-studio.version}" in machine.succeed("cat /tmp/saved.rps") - machine.sleep(2) - machine.send_key("ctrl-shift-s") - machine.sleep(2) - machine.send_chars("/tmp/saved.rps\n") - machine.sleep(2) - print(machine.succeed("cat /tmp/saved.rps")) - assert "${pkgs.repath-studio.version}" in machine.succeed("cat /tmp/saved.rps") + machine.screenshot("Repath-Studio-GUI") + ''; - machine.screenshot("Repath-Studio-GUI") - ''; + meta.maintainers = lib.teams.ngi.members; } From 82118bd6e7b431869173dda61c0bd582556f1c4c Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 00:59:01 +0530 Subject: [PATCH 10/35] pkgs/wax-server: fix build Signed-off-by: phanirithvij --- pkgs/by-name/wax-server/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/wax-server/package.nix b/pkgs/by-name/wax-server/package.nix index 95b6a694f..855a0cba9 100644 --- a/pkgs/by-name/wax-server/package.nix +++ b/pkgs/by-name/wax-server/package.nix @@ -15,6 +15,8 @@ imagemagick, potrace, yarn, + pkg-config, + nodePackages, node-pre-gyp, nix-update-script, }: @@ -47,6 +49,8 @@ stdenv.mkDerivation (finalAttrs: { python3 gnumake gcc + nodePackages.node-gyp + pkg-config node-pre-gyp ]; From 70468250a366639a045fcce98ec1335156ab834a Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 01:14:30 +0530 Subject: [PATCH 11/35] projects(Verso): drop project Project is discontinued, see https://github.com/ngi-nix/ngipkgs/issues/869#issuecomment-3884409706 Signed-off-by: phanirithvij --- pkgs/by-name/verso/package.nix | 155 ------------------ projects/verso/default.nix | 35 ---- .../verso/programs/verso/examples/basic.nix | 5 - projects/verso/programs/verso/module.nix | 21 --- 4 files changed, 216 deletions(-) delete mode 100644 pkgs/by-name/verso/package.nix delete mode 100644 projects/verso/default.nix delete mode 100644 projects/verso/programs/verso/examples/basic.nix delete mode 100644 projects/verso/programs/verso/module.nix diff --git a/pkgs/by-name/verso/package.nix b/pkgs/by-name/verso/package.nix deleted file mode 100644 index acb5ef792..000000000 --- a/pkgs/by-name/verso/package.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ - lib, - stdenv, - rustPlatform, - fetchFromGitLab, - unstableGitUpdater, - - llvmPackages, - m4, - pkg-config, - python3, - wrapGAppsHook3, - writableTmpDirAsHomeHook, - - apple-sdk_14, - fontconfig, - gst_all_1, - libGL, - libunwind, - libxkbcommon, - openssl, - wayland, -}: - -rustPlatform.buildRustPackage (finalAttrs: { - pname = "verso"; - version = "0-unstable-2025-06-17"; - - src = fetchFromGitLab { - owner = "verso-browser"; - repo = "verso"; - rev = "3aa9750eefaa35b1aed752c01162c353ed6be371"; - hash = "sha256-Ik7ZoUnqnHwWkp2nhKXRwjqcbabUdxEHz5mdsQuF+AI="; - }; - - depsExtraArgs = { - # The vendoring process copies subdirectories, but there are some files that - # try to read files from their parent directories during build time - # We avoid this issue by placing the used file into the subdirectory - postBuild = '' - pushd $out/git/*/components/net - cp ../../resources/rippy.png ./rippy.png - substituteInPlace image_cache.rs \ - --replace-fail '../../resources/rippy.png' './rippy.png' - popd - ''; - }; - - cargoHash = "sha256-dYsqr9c5n2lDt1K9EpAzkJXwmr2eJ+ExT53dlTEYraY="; - - postPatch = '' - # The original script assumes things about the directory layout of the build - substituteInPlace "$cargoDepsCopy"/script_bindings-*/codegen/run.py --replace-fail \ - "SERVO_ROOT =" \ - "SERVO_ROOT = '$(pwd)' #" - - # Set a better default resource directory search path - substituteInPlace src/config.rs --replace-fail \ - "let root_dir = std::env::current_dir()" \ - "let root_dir = { use std::str::FromStr; std::path::PathBuf::from_str(\"$out/share/verso\") }" - - # This is not actually needed since we have the "versoview" binary placed - # right next to verso, but it's better to be safe - substituteInPlace verso/src/main.rs --replace-fail \ - "let versoview_path = current_exe().unwrap().parent().unwrap().join(\"versoview\");" \ - "let versoview_path = std::path::Path::new(\"$out/bin/versoview\");" - ''; - - # Fix invalid option errors during linking - # https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328 - preConfigure = '' - unset AS - ''; - - env.RUSTC_BOOTSTRAP = 1; - - cargoBuildFlags = [ - "-p=versoview" - "-p=verso" - # build times out without extra verbosity - "-v" - ]; - - nativeBuildInputs = [ - llvmPackages.llvm - m4 - python3 - rustPlatform.bindgenHook - writableTmpDirAsHomeHook - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = - lib.optionals stdenv.hostPlatform.isLinux [ - fontconfig - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - libunwind - openssl - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - apple-sdk_14 - ]; - - # Note: it might be better to disable automatic wrapping and only wrap versoview - # Note: using patchelf --add-rpath in postFixup could be better than setting LD_LIBRARY_PATH - preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : ${ - lib.makeLibraryPath [ - libGL - libxkbcommon - wayland - ] - } - ) - ''; - - postInstall = '' - install -Dm644 org.versotile.verso.desktop $out/share/applications/org.versotile.verso.desktop - install -Dm644 icons/icon256x256.png $out/share/icons/hicolor/256x256/apps/org.versotile.verso.png - - # Install the resource directory into our patched default location - mkdir -p "$out/share/verso" - cp -r ./resources "$out/share/verso/resources" - ''; - - # tests fail to compile in Nix sandbox, unfortunately - # probably due to the same vendoring issue above - doCheck = false; - - passthru.updateScript = unstableGitUpdater { }; - - meta = { - description = "Web browser built on top of the Servo web engine"; - homepage = "https://gitlab.com/verso-browser/verso"; - downloadPage = "https://gitlab.com/verso-browser/verso"; - license = with lib.licenses; [ - asl20 - mit - ]; - maintainers = with lib.maintainers; [ - ethancedwards8 - tomasajt - ]; - teams = [ lib.teams.ngi ]; - platforms = lib.platforms.linux ++ lib.platforms.darwin; - }; -}) diff --git a/projects/verso/default.nix b/projects/verso/default.nix deleted file mode 100644 index 57d2812ab..000000000 --- a/projects/verso/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - lib, - pkgs, - sources, - ... -}@args: - -{ - metadata = { - summary = "Verso is a new browser initiative that is based on the Servo browser engine"; - subgrants = { - Core = [ - "Verso-Views" - "Verso-WebView" - ]; - Review = [ - "Verso" - "Verso-Profile" - ]; - }; - }; - - nixos.modules.programs = { - verso = { - name = "verso"; - module = ./programs/verso/module.nix; - examples."Enable verso" = { - module = ./programs/verso/examples/basic.nix; - description = ""; - # TODO: can't figure out a way to specify a website for verso to open. - tests.basic.module = null; - }; - }; - }; -} diff --git a/projects/verso/programs/verso/examples/basic.nix b/projects/verso/programs/verso/examples/basic.nix deleted file mode 100644 index 1b47d4390..000000000 --- a/projects/verso/programs/verso/examples/basic.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... }: - -{ - programs.verso.enable = true; -} diff --git a/projects/verso/programs/verso/module.nix b/projects/verso/programs/verso/module.nix deleted file mode 100644 index 126d9168e..000000000 --- a/projects/verso/programs/verso/module.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.programs.verso; -in -{ - options.programs.verso = { - enable = lib.mkEnableOption "verso"; - package = lib.mkPackageOption pkgs "verso" { }; - }; - - config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - cfg.package - ]; - }; -} From 2db65fa117f4f233e8e7f22acba0ace7da184800 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 02:13:17 +0530 Subject: [PATCH 12/35] liberaforms: migrate to buildPythonPackage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From nixpkgs pr https://github.com/NixOS/nixpkgs/pull/502754 Signed-off-by: phanirithvij flake.lock: Update Flake lock file updates: • Removed input 'dream2nix' • Removed input 'dream2nix/nixpkgs' • Removed input 'dream2nix/purescript-overlay' • Removed input 'dream2nix/purescript-overlay/flake-compat' • Removed input 'dream2nix/purescript-overlay/nixpkgs' • Removed input 'dream2nix/purescript-overlay/slimlock' • Removed input 'dream2nix/purescript-overlay/slimlock/nixpkgs' • Removed input 'dream2nix/pyproject-nix' • Removed input 'dream2nix/pyproject-nix/nixpkgs' --- flake.lock | 111 +-- flake.nix | 2 - .../commands/maintainance/update-all.nix | 2 - pkgs/by-name/default.nix | 6 +- pkgs/by-name/liberaforms/dream2.nix | 163 ---- pkgs/by-name/liberaforms/libmagic-path.patch | 28 - pkgs/by-name/liberaforms/lock.json | 787 ------------------ pkgs/by-name/liberaforms/package.nix | 268 ++++++ 8 files changed, 272 insertions(+), 1095 deletions(-) delete mode 100644 pkgs/by-name/liberaforms/dream2.nix delete mode 100644 pkgs/by-name/liberaforms/libmagic-path.patch delete mode 100644 pkgs/by-name/liberaforms/lock.json create mode 100644 pkgs/by-name/liberaforms/package.nix diff --git a/flake.lock b/flake.lock index 20b10316d..0d2a49fcd 100644 --- a/flake.lock +++ b/flake.lock @@ -45,45 +45,7 @@ "type": "github" } }, - "dream2nix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "purescript-overlay": "purescript-overlay", - "pyproject-nix": "pyproject-nix" - }, - "locked": { - "lastModified": 1765953015, - "narHash": "sha256-5FBZbbWR1Csp3Y2icfRkxMJw/a/5FGg8hCXej2//bbI=", - "owner": "nix-community", - "repo": "dream2nix", - "rev": "69eb01fa0995e1e90add49d8ca5bcba213b0416f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "dream2nix", - "type": "github" - } - }, "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { "flake": false, "locked": { "lastModified": 1747046372, @@ -99,7 +61,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1767039857, @@ -268,7 +230,7 @@ }, "opam-nix": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "flake-utils": [ "flake-utils" ], @@ -357,7 +319,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" @@ -377,55 +339,10 @@ "type": "github" } }, - "purescript-overlay": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": [ - "dream2nix", - "nixpkgs" - ], - "slimlock": "slimlock" - }, - "locked": { - "lastModified": 1728546539, - "narHash": "sha256-Sws7w0tlnjD+Bjck1nv29NjC5DbL6nH5auL9Ex9Iz2A=", - "owner": "thomashoneyman", - "repo": "purescript-overlay", - "rev": "4ad4c15d07bd899d7346b331f377606631eb0ee4", - "type": "github" - }, - "original": { - "owner": "thomashoneyman", - "repo": "purescript-overlay", - "type": "github" - } - }, - "pyproject-nix": { - "inputs": { - "nixpkgs": [ - "dream2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1763017646, - "narHash": "sha256-Z+R2lveIp6Skn1VPH3taQIuMhABg1IizJd8oVdmdHsQ=", - "owner": "pyproject-nix", - "repo": "pyproject.nix", - "rev": "47bd6f296502842643078d66128f7b5e5370790c", - "type": "github" - }, - "original": { - "owner": "pyproject-nix", - "repo": "pyproject.nix", - "type": "github" - } - }, "root": { "inputs": { "buildbot-nix": "buildbot-nix", "devshell": "devshell", - "dream2nix": "dream2nix", "flake-utils": "flake-utils", "mirage-opam-overlays": "mirage-opam-overlays", "nix-filter": "nix-filter", @@ -464,28 +381,6 @@ "type": "github" } }, - "slimlock": { - "inputs": { - "nixpkgs": [ - "dream2nix", - "purescript-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688756706, - "narHash": "sha256-xzkkMv3neJJJ89zo3o2ojp7nFeaZc2G0fYwNXNJRFlo=", - "owner": "thomashoneyman", - "repo": "slimlock", - "rev": "cf72723f59e2340d24881fd7bf61cb113b4c407c", - "type": "github" - }, - "original": { - "owner": "thomashoneyman", - "repo": "slimlock", - "type": "github" - } - }, "sops-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index c2198f4f3..e41907b72 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,6 @@ { description = "NGIpkgs"; - inputs.dream2nix.inputs.nixpkgs.follows = "nixpkgs"; - inputs.dream2nix.url = "github:nix-community/dream2nix"; inputs.flake-utils.inputs.systems.follows = "systems"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; diff --git a/maintainers/shells/commands/maintainance/update-all.nix b/maintainers/shells/commands/maintainance/update-all.nix index 4a982d40b..fa0eef1c2 100644 --- a/maintainers/shells/commands/maintainance/update-all.nix +++ b/maintainers/shells/commands/maintainance/update-all.nix @@ -25,8 +25,6 @@ "funkwhale" "marginalia-search" "peertube-plugins.livechat" - # FIX: dream2nix - "liberaforms" # FIX: don't update `sparql-queries` if there is no version change "inventaire-client" # fetcher not supported diff --git a/pkgs/by-name/default.nix b/pkgs/by-name/default.nix index a23bfc03e..755acbba5 100644 --- a/pkgs/by-name/default.nix +++ b/pkgs/by-name/default.nix @@ -1,7 +1,6 @@ { lib, pkgs, - dream2nix, sources, system, }: @@ -41,7 +40,6 @@ let let evaluated = lib.evalModules { specialArgs = { - inherit dream2nix; packageSets.nixpkgs = pkgs; }; modules = [ @@ -83,14 +81,12 @@ let _: directory: if pathExists (directory + "/package.nix") then callPackage (directory + "/package.nix") { } - else if pathExists (directory + "/dream2.nix") then - callModule (directory + "/dream2.nix") else if pathExists (directory + "/sbt-derivation.nix") then callPackage (directory + "/sbt-derivation.nix") { inherit mkSbtDerivation; } else - throw "No package.nix, dream2.nix or sbt-derivation.nix found in ${directory}" + throw "No package.nix, or sbt-derivation.nix found in ${directory}" ) packageDirectories; in self diff --git a/pkgs/by-name/liberaforms/dream2.nix b/pkgs/by-name/liberaforms/dream2.nix deleted file mode 100644 index 674ee920e..000000000 --- a/pkgs/by-name/liberaforms/dream2.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ - lib, - config, - dream2nix, - ... -}: -# TODO: migrate away from dream2nix -# https://github.com/ngi-nix/ngipkgs/issues/1125 -let - version = "3.1.1"; - src = config.deps.fetchFromGitLab { - owner = "liberaforms"; - repo = "liberaforms"; - rev = "v${version}"; - hash = "sha256-RpEaO/3jje/ABdIGrnBo1sYPHpuUuDfe4uuJON9RiqY="; - }; - - # Python dependencies need an explicit format - # https://github.com/NixOS/nixpkgs/pull/421660 - pyprojectOverrides = - lib.genAttrs - [ - "markupsafe" - "feedgen" - "pyqrcode" - "sqlalchemy-json" - "unicodecsv" - ] - (name: { - buildPythonPackage.pyproject = true; - }); -in -{ - imports = [ dream2nix.modules.dream2nix.pip ]; - - deps = - { nixpkgs, ... }: - { - inherit (nixpkgs) - fetchFromGitLab - file - libxml2 - libxslt - postgresql - postgresqlTestHook - runCommand - replaceVars - ; - python = nixpkgs.python311; - }; - - name = "liberaforms"; - inherit version; - - buildPythonPackage.format = "other"; - - mkDerivation = { - inherit src; - dontConfigure = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - - cp -R ${src}/. $out - - runHook postInstall - ''; - - doCheck = true; - - nativeCheckInputs = [ - config.deps.postgresql - config.deps.postgresqlTestHook - config.public.env - ]; - - preCheck = '' - export LANG=C.UTF-8 - export PGUSER=db_user - export postgresqlEnableTCP=1 - ''; - - checkPhase = '' - runHook preCheck - - # Run pytest on the installed version. A running postgres database server is needed. - (cd tests && cp test.ini.example test.ini && pytest -k "not test_save_smtp_config") #TODO why does this break? - - runHook postCheck - ''; - - # avoid writing in the migration process - postFixup = '' - cp $out/assets/brand/logo-default.png $out/assets/brand/logo.png - cp $out/assets/brand/favicon-default.ico $out/assets/brand/favicon.ico - sed -i "/shutil.copyfile/d" $out/liberaforms/models/site.py - sed -i "/brand_dir/d" $out/migrations/versions/6f0e2b9e9db3_.py - ''; - }; - - public = { - env = config.public.pyEnv; - meta = { - description = "Free form software"; - homepage = "https://gitlab.com/liberaforms/liberaforms"; - license = lib.licenses.agpl3Plus; - platforms = lib.platforms.all; - }; - }; - - pip = { - requirementsFiles = [ "${src}/requirements.txt" ]; - requirementsList = [ - "factory-boy" - "faker" - "polib" - "pytest-dotenv" - ]; - nativeBuildInputs = [ - config.deps.postgresql - config.deps.libxml2.dev - config.deps.libxslt.dev - ]; - pipFlags = [ - "--no-binary" - "python-magic" - ]; - overrides = { - lxml = { - mkDerivation = { - nativeBuildInputs = [ - config.deps.libxml2.dev - config.deps.libxslt.dev - ]; - }; - }; - python-magic = { - buildPythonPackage.pyproject = true; - mkDerivation = { - patches = [ - (config.deps.replaceVars ./libmagic-path.patch { - libmagic = "${config.deps.file}/lib/libmagic.so"; - }) - ]; - }; - }; - flask-session2 = { - mkDerivation = { - dontBuild = true; - }; - }; - typed-ast = { - buildPythonPackage.pyproject = true; - mkDerivation.preBuild = "export CFLAGS=\"-std=c99 $CFLAGS\""; - }; - } - // pyprojectOverrides; - flattenDependencies = true; - }; - - paths.lockFile = lib.mkForce "../lock.json"; -} diff --git a/pkgs/by-name/liberaforms/libmagic-path.patch b/pkgs/by-name/liberaforms/libmagic-path.patch deleted file mode 100644 index e9530d6dd..000000000 --- a/pkgs/by-name/liberaforms/libmagic-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git i/magic/loader.py w/magic/loader.py -index 931f161..b8096d1 100644 ---- i/magic/loader.py -+++ w/magic/loader.py -@@ -35,16 +35,12 @@ def _lib_candidates(): - - - def load_lib(): -+ lib = '@libmagic@' - -- for lib in _lib_candidates(): -- # find_library returns None when lib not found -- if lib is None: -- continue -- try: -- return ctypes.CDLL(lib) -- except OSError: -- pass -- else: -- # It is better to raise an ImportError since we are importing magic module -- raise ImportError('failed to find libmagic. Check your installation') -+ try: -+ return ctypes.CDLL(lib) -+ except OSError: -+ pass - -+ # It is better to raise an ImportError since we are importing magic module -+ raise ImportError('failed to find libmagic. Check your installation') diff --git a/pkgs/by-name/liberaforms/lock.json b/pkgs/by-name/liberaforms/lock.json deleted file mode 100644 index b5d80338b..000000000 --- a/pkgs/by-name/liberaforms/lock.json +++ /dev/null @@ -1,787 +0,0 @@ -{ - "fetchPipMetadata": { - "sources": { - "aiosmtpd": { - "is_direct": false, - "sha256": "f821fe424b703b2ea391dc2df11d89d2afd728af27393e13cf1a3530f19fdc5e", - "type": "url", - "url": "https://files.pythonhosted.org/packages/ef/b3/f4cce9da53b02aa7d4c0662ca344421023feefc5c8f815b90d1c7514702e/aiosmtpd-1.4.4.post2-py3-none-any.whl", - "version": "1.4.4.post2" - }, - "alembic": { - "is_direct": false, - "sha256": "0a024d7f2de88d738d7395ff866997314c837be6104e90c5724350313dee4da4", - "type": "url", - "url": "https://files.pythonhosted.org/packages/b3/c8/69600a8138a56794713ecdb8b75b14fbe32a410bc444683f27dbab93c0ca/alembic-1.8.1-py3-none-any.whl", - "version": "1.8.1" - }, - "atpublic": { - "is_direct": false, - "sha256": "80057c55641253b86dcb68b524f82328172371b6547d4c7462a9127fbfbbabfc", - "type": "url", - "url": "https://files.pythonhosted.org/packages/42/d5/f3c7110d3763af646150203b8bfe6932ab05a9b3e228c27d138babeb92ae/atpublic-4.0-py3-none-any.whl", - "version": "4.0" - }, - "attrs": { - "is_direct": false, - "sha256": "86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c", - "type": "url", - "url": "https://files.pythonhosted.org/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl", - "version": "22.1.0" - }, - "babel": { - "is_direct": false, - "sha256": "ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb", - "type": "url", - "url": "https://files.pythonhosted.org/packages/2e/57/a4177e24f8ed700c037e1eca7620097fdfbb1c9b358601e40169adf6d364/Babel-2.10.3-py3-none-any.whl", - "version": "2.10.3" - }, - "beautifulsoup4": { - "is_direct": false, - "sha256": "58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30", - "type": "url", - "url": "https://files.pythonhosted.org/packages/9c/d8/909c4089dbe4ade9f9705f143c9f13f065049a9d5e7d34c828aefdd0a97c/beautifulsoup4-4.11.1-py3-none-any.whl", - "version": "4.11.1" - }, - "bleach": { - "is_direct": false, - "sha256": "085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a", - "type": "url", - "url": "https://files.pythonhosted.org/packages/d4/87/508104336a2bc0c4cfdbdceedc0f44dc72da3abc0460c57e323ddd1b3257/bleach-5.0.1-py3-none-any.whl", - "version": "5.0.1" - }, - "cachelib": { - "is_direct": false, - "sha256": "811ceeb1209d2fe51cd2b62810bd1eccf70feba5c52641532498be5c675493b3", - "type": "url", - "url": "https://files.pythonhosted.org/packages/93/70/58e525451478055b0fd2859b22226888a6985d404fe65e014fc4893d3b75/cachelib-0.9.0-py3-none-any.whl", - "version": "0.9.0" - }, - "certifi": { - "is_direct": false, - "sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382", - "type": "url", - "url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl", - "version": "2022.9.24" - }, - "cffi": { - "is_direct": false, - "sha256": "94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", - "type": "url", - "url": "https://files.pythonhosted.org/packages/37/5a/c37631a86be838bdd84cc0259130942bf7e6e32f70f4cab95f479847fb91/cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - "version": "1.15.1" - }, - "charset-normalizer": { - "is_direct": false, - "sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl", - "version": "2.1.1" - }, - "click": { - "is_direct": false, - "sha256": "bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48", - "type": "url", - "url": "https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl", - "version": "8.1.3" - }, - "cryptography": { - "is_direct": false, - "sha256": "3261725c0ef84e7592597606f6583385fed2a5ec3909f43bc475ade9729a41d6", - "type": "url", - "url": "https://files.pythonhosted.org/packages/d2/42/2b5be637a08a0d83057bbce4c2cd904271a6b2fb46b6cd4abcb6f2df222c/cryptography-38.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", - "version": "38.0.1" - }, - "dnspython": { - "is_direct": false, - "sha256": "a851e51367fb93e9e1361732c1d60dab63eff98712e503ea7d92e6eccb109b4f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/9b/ed/28fb14146c7033ba0e89decd92a4fa16b0b69b84471e2deab3cc4337cc35/dnspython-2.2.1-py3-none-any.whl", - "version": "2.2.1" - }, - "email-validator": { - "is_direct": false, - "sha256": "816073f2a7cffef786b29928f58ec16cdac42710a53bb18aa94317e3e145ec5c", - "type": "url", - "url": "https://files.pythonhosted.org/packages/e7/d3/88997ca4903c70fb6eec2e29501a35f84aaf34790f207febdf188e374377/email_validator-1.3.0-py2.py3-none-any.whl", - "version": "1.3.0" - }, - "factory-boy": { - "is_direct": false, - "sha256": "a2cdbdb63228177aa4f1c52f4b6d83fab2b8623bf602c7dedd7eb83c0f69c04c", - "type": "url", - "url": "https://files.pythonhosted.org/packages/7d/37/69bc18ffa39ae7723b61ca0dde30130ea45f9127c129f084f5c6ca5d5dae/factory_boy-3.3.0-py2.py3-none-any.whl", - "version": "3.3.0" - }, - "faker": { - "is_direct": false, - "sha256": "e8c5ef795223e945d9166aea3c0ecaf85ac54b4ade2af068d8e3c6524c2c0aa7", - "type": "url", - "url": "https://files.pythonhosted.org/packages/b3/ec/7f13c0c786e340a0e6790acacc6d05cc2360d8acbf104c3cc3cfc09f63c1/Faker-26.1.0-py3-none-any.whl", - "version": "26.1.0" - }, - "feedgen": { - "is_direct": false, - "sha256": "8e811bdbbed6570034950db23a4388453628a70e689a6e8303ccec430f5a804a", - "type": "url", - "url": "https://files.pythonhosted.org/packages/0b/60/7714c7f1339e063ad2e0964870797610c23191c180fc2713be100cc82d1a/feedgen-0.9.0.tar.gz", - "version": "0.9.0" - }, - "flask": { - "is_direct": false, - "sha256": "b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526", - "type": "url", - "url": "https://files.pythonhosted.org/packages/0f/43/15f4f9ab225b0b25352412e8daa3d0e3d135fcf5e127070c74c3632c8b4c/Flask-2.2.2-py3-none-any.whl", - "version": "2.2.2" - }, - "flask-babel": { - "is_direct": false, - "sha256": "e6820a052a8d344e178cdd36dd4bb8aea09b4bda3d5f9fa9f008df2c7f2f5468", - "type": "url", - "url": "https://files.pythonhosted.org/packages/ab/3e/02331179ffab8b79e0383606a028b6a60fb1b4419b84935edd43223406a0/Flask_Babel-2.0.0-py3-none-any.whl", - "version": "2.0.0" - }, - "flask-login": { - "is_direct": false, - "sha256": "1ef79843f5eddd0f143c2cd994c1b05ac83c0401dc6234c143495af9a939613f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/a6/94/01b658bef1863a07f4738a322cce87d97be4362645255dc1182f7f5c075a/Flask_Login-0.6.2-py3-none-any.whl", - "version": "0.6.2" - }, - "flask-marshmallow": { - "is_direct": false, - "sha256": "ce08a153f74da6ebfffd8065d1687508b0179df37fff7fc0c8f28ccfb64f1b56", - "type": "url", - "url": "https://files.pythonhosted.org/packages/1f/2a/eeb3db46209410d4add2c369ad73e3340c314196b08d1895ac972eb38bd7/flask_marshmallow-0.15.0-py2.py3-none-any.whl", - "version": "0.15.0" - }, - "flask-migrate": { - "is_direct": false, - "sha256": "a6498706241aba6be7a251078de9cf166d74307bca41a4ca3e403c9d39e2f897", - "type": "url", - "url": "https://files.pythonhosted.org/packages/a8/48/b64a6a2fee01b03f3318cba3aea1c0055ab5f4a933b2d4f5a2d75140c229/Flask_Migrate-3.1.0-py3-none-any.whl", - "version": "3.1.0" - }, - "flask-session2": { - "is_direct": false, - "sha256": "6d1615dfc4b247759f31f89bf16aba96fa1294077e700771875abe952f291959", - "type": "url", - "url": "https://files.pythonhosted.org/packages/12/c6/f8324625dc2a0ea895623673116c9bb9cb14a63a7786cb4153bcc0a21c64/Flask_Session2-1.3.1-py3-none-any.whl", - "version": "1.3.1" - }, - "flask-sqlalchemy": { - "is_direct": false, - "sha256": "7d0cd9cf73e64a996bb881a1ebd01633fc5a6d11c36ea27f7b5e251dc45476e7", - "type": "url", - "url": "https://files.pythonhosted.org/packages/1b/9c/2b3ce12b3f7eca00d1f54a6eb84e6cb57b628aa2891a81bb12dfd8b6d604/Flask_SQLAlchemy-3.0.2-py3-none-any.whl", - "version": "3.0.2" - }, - "flask-wtf": { - "is_direct": false, - "sha256": "9d733658c80be551ce7d5bc13c7a7ac0d80df509be1e23827c847d9520f4359a", - "type": "url", - "url": "https://files.pythonhosted.org/packages/3a/26/3803ee692eb9a8d21bf7ba1cecd649ce3a55899c65467bdfc1bad13ec50f/Flask_WTF-1.0.1-py3-none-any.whl", - "version": "1.0.1" - }, - "greenlet": { - "is_direct": false, - "sha256": "c0643250dd0756f4960633f5359884f609a234d4066686754e834073d84e9b51", - "type": "url", - "url": "https://files.pythonhosted.org/packages/2e/0d/3402b278a122d30128d51941b10bb41395aec5a56e7cf744401c804c0d31/greenlet-1.1.3.post0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - "version": "1.1.3.post0" - }, - "gunicorn": { - "is_direct": false, - "sha256": "3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0", - "type": "url", - "url": "https://files.pythonhosted.org/packages/0e/2a/c3a878eccb100ccddf45c50b6b8db8cf3301a6adede6e31d48e8531cab13/gunicorn-21.2.0-py3-none-any.whl", - "version": "21.2.0" - }, - "idna": { - "is_direct": false, - "sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2", - "type": "url", - "url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl", - "version": "3.4" - }, - "importlib-metadata": { - "is_direct": false, - "sha256": "ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43", - "type": "url", - "url": "https://files.pythonhosted.org/packages/b5/64/ef29a63cf08f047bb7fb22ab0f1f774b87eed0bb46d067a5a524798a4af8/importlib_metadata-5.0.0-py3-none-any.whl", - "version": "5.0.0" - }, - "importlib-resources": { - "is_direct": false, - "sha256": "ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437", - "type": "url", - "url": "https://files.pythonhosted.org/packages/c8/47/6bfe2147eae436391916b3741a2cd9a76763e9671703a0d1d8e83142816e/importlib_resources-5.10.0-py3-none-any.whl", - "version": "5.10.0" - }, - "iniconfig": { - "is_direct": false, - "sha256": "011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", - "type": "url", - "url": "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl", - "version": "1.1.1" - }, - "itsdangerous": { - "is_direct": false, - "sha256": "2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", - "type": "url", - "url": "https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl", - "version": "2.1.2" - }, - "jinja2": { - "is_direct": false, - "sha256": "6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61", - "type": "url", - "url": "https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl", - "version": "3.1.2" - }, - "ldap3": { - "is_direct": false, - "sha256": "5869596fc4948797020d3f03b7939da938778a0f9e2009f7a072ccf92b8e8d70", - "type": "url", - "url": "https://files.pythonhosted.org/packages/4e/f6/71d6ec9f18da0b2201287ce9db6afb1a1f637dedb3f0703409558981c723/ldap3-2.9.1-py2.py3-none-any.whl", - "version": "2.9.1" - }, - "lxml": { - "is_direct": false, - "sha256": "f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3", - "type": "url", - "url": "https://files.pythonhosted.org/packages/d1/71/c865c165583aff2d2806e2bce886d580aa513bb0e5d5d3a5aec7fc57d40c/lxml-4.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", - "version": "4.9.1" - }, - "mako": { - "is_direct": false, - "sha256": "c413a086e38cd885088d5e165305ee8eed04e8b3f8f62df343480da0a385735f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/e8/4c/7471dca7f17a805245a7fcdf22eefcd961e9dbd620d5399e3dfbaac9a60a/Mako-1.2.3-py3-none-any.whl", - "version": "1.2.3" - }, - "markdown": { - "is_direct": false, - "sha256": "08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186", - "type": "url", - "url": "https://files.pythonhosted.org/packages/86/be/ad281f7a3686b38dd8a307fa33210cdf2130404dfef668a37a4166d737ca/Markdown-3.4.1-py3-none-any.whl", - "version": "3.4.1" - }, - "markupsafe": { - "is_direct": false, - "sha256": "7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", - "type": "url", - "url": "https://files.pythonhosted.org/packages/1d/97/2288fe498044284f39ab8950703e88abbac2abbdf65524d576157af70556/MarkupSafe-2.1.1.tar.gz", - "version": "2.1.1" - }, - "marshmallow": { - "is_direct": false, - "sha256": "35e02a3a06899c9119b785c12a22f4cda361745d66a71ab691fd7610202ae104", - "type": "url", - "url": "https://files.pythonhosted.org/packages/c3/06/e0300cb5f9b5ff9b6d0accdd3536c01bd2300f8154781455914752ab8903/marshmallow-3.18.0-py3-none-any.whl", - "version": "3.18.0" - }, - "marshmallow-sqlalchemy": { - "is_direct": false, - "sha256": "dbb061c19375eca3a7d18358d2ca8bbaee825fc3000a3f114e2698282362b536", - "type": "url", - "url": "https://files.pythonhosted.org/packages/be/f8/b7ec99c9c2d5c42779d311010c024ff1224eb53b4ebfcc1de593a6f01390/marshmallow_sqlalchemy-0.28.1-py2.py3-none-any.whl", - "version": "0.28.1" - }, - "minio": { - "is_direct": false, - "sha256": "51318733496f37617bebfefe116453406a0d5afc6add8c421df07f32e0843c2b", - "type": "url", - "url": "https://files.pythonhosted.org/packages/78/16/a252d8cb3c3178480820a005426b67cb7a94efbdb18962b7af1e4c67ee6d/minio-7.1.2-py3-none-any.whl", - "version": "7.1.2" - }, - "packaging": { - "is_direct": false, - "sha256": "ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522", - "type": "url", - "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl", - "version": "21.3" - }, - "passlib": { - "is_direct": false, - "sha256": "aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1", - "type": "url", - "url": "https://files.pythonhosted.org/packages/3b/a4/ab6b7589382ca3df236e03faa71deac88cae040af60c071a78d254a62172/passlib-1.7.4-py2.py3-none-any.whl", - "version": "1.7.4" - }, - "password-strength": { - "is_direct": false, - "sha256": "6739357c2863d707b7c7f247ff7c6882a70904a18d12c9aaf98f8b95da176fb9", - "type": "url", - "url": "https://files.pythonhosted.org/packages/1c/d6/08fd888c980589e4e27c2a4177e972481e8881600138e63afb785fe52630/password_strength-0.0.3.post2-py2.py3-none-any.whl", - "version": "0.0.3.post2" - }, - "pillow": { - "is_direct": false, - "sha256": "bdd0de2d64688ecae88dd8935012c4a72681e5df632af903a1dca8c5e7aa871a", - "type": "url", - "url": "https://files.pythonhosted.org/packages/f4/2c/aa1eefda3538b661c1fd2310f19e82b7ee09c5362ab1f8f03b6e69ef5bfb/Pillow-9.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", - "version": "9.2.0" - }, - "platformdirs": { - "is_direct": false, - "sha256": "027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788", - "type": "url", - "url": "https://files.pythonhosted.org/packages/ed/22/967181c94c3a4063fe64e15331b4cb366bdd7dfbf46fcb8ad89650026fec/platformdirs-2.5.2-py3-none-any.whl", - "version": "2.5.2" - }, - "pluggy": { - "is_direct": false, - "sha256": "74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3", - "type": "url", - "url": "https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl", - "version": "1.0.0" - }, - "polib": { - "is_direct": false, - "sha256": "1c77ee1b81feb31df9bca258cbc58db1bbb32d10214b173882452c73af06d62d", - "type": "url", - "url": "https://files.pythonhosted.org/packages/6b/99/45bb1f9926efe370c6dbe324741c749658e44cb060124f28dad201202274/polib-1.2.0-py2.py3-none-any.whl", - "version": "1.2.0" - }, - "portpicker": { - "is_direct": false, - "sha256": "01113f51c3cc63290a44dd7ae6e3eb9f8fe1b8a1f9d7988a897944230c39cd52", - "type": "url", - "url": "https://files.pythonhosted.org/packages/53/47/085215ca086b0e456421158a912d573f162644d6ef7a96de60fbc6dc99b2/portpicker-1.5.2-py3-none-any.whl", - "version": "1.5.2" - }, - "prometheus-client": { - "is_direct": false, - "sha256": "db7c05cbd13a0f79975592d112320f2605a325969b270a94b71dcabc47b931d2", - "type": "url", - "url": "https://files.pythonhosted.org/packages/2e/5e/4225463cdac1098aac718b1d8adf8f9dc3d6aaea55f4f85a2f7d572b4f7c/prometheus_client-0.15.0-py3-none-any.whl", - "version": "0.15.0" - }, - "psutil": { - "is_direct": false, - "sha256": "89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4", - "type": "url", - "url": "https://files.pythonhosted.org/packages/af/4d/389441079ecef400e2551a3933224885a7bde6b8a4810091d628cdd75afe/psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - "version": "5.9.5" - }, - "psycopg2": { - "is_direct": false, - "sha256": "d529926254e093a1b669f692a3aa50069bc71faf5b0ecd91686a78f62767d52f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/8d/d7/277e23b708a0429b6b3d50e86e52b791156dfbfa81917d34ef6d7b435b84/psycopg2-2.9.4.tar.gz", - "version": "2.9.4" - }, - "py": { - "is_direct": false, - "sha256": "607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", - "type": "url", - "url": "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", - "version": "1.11.0" - }, - "pyasn1": { - "is_direct": false, - "sha256": "39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", - "type": "url", - "url": "https://files.pythonhosted.org/packages/62/1e/a94a8d635fa3ce4cfc7f506003548d0a2447ae76fd5ca53932970fe3053f/pyasn1-0.4.8-py2.py3-none-any.whl", - "version": "0.4.8" - }, - "pycodestyle": { - "is_direct": false, - "sha256": "8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610", - "type": "url", - "url": "https://files.pythonhosted.org/packages/a2/54/001fdc0d69e8d0bb86c3423a6fa6dfada8cc26317c2635ab543e9ac411bd/pycodestyle-2.10.0-py2.py3-none-any.whl", - "version": "2.10.0" - }, - "pycparser": { - "is_direct": false, - "sha256": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "type": "url", - "url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl", - "version": "2.21" - }, - "pyjwt": { - "is_direct": false, - "sha256": "ba2b425b15ad5ef12f200dc67dd56af4e26de2331f965c5439994dad075876e1", - "type": "url", - "url": "https://files.pythonhosted.org/packages/c7/e8/01b2e35d81e618a8212e651e10c91660bdfda49c1d15ce66f4ca1ff43649/PyJWT-2.7.0-py3-none-any.whl", - "version": "2.7.0" - }, - "pyparsing": { - "is_direct": false, - "sha256": "5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc", - "type": "url", - "url": "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl", - "version": "3.0.9" - }, - "pypng": { - "is_direct": false, - "sha256": "4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c", - "type": "url", - "url": "https://files.pythonhosted.org/packages/3e/b9/3766cc361d93edb2ce81e2e1f87dd98f314d7d513877a342d31b30741680/pypng-0.20220715.0-py3-none-any.whl", - "version": "0.20220715.0" - }, - "pyqrcode": { - "is_direct": false, - "sha256": "1b2812775fa6ff5c527977c4cd2ccb07051ca7d0bc0aecf937a43864abe5eff6", - "type": "url", - "url": "https://files.pythonhosted.org/packages/06/76/1aa11ac094c65005b5d8a042b8bd96d73d4e2c32d9a63a68b21278e4b7d2/PyQRCode-1.2.1.zip", - "version": "1.2.1" - }, - "pytest": { - "is_direct": false, - "sha256": "b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8", - "type": "url", - "url": "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl", - "version": "7.4.4" - }, - "pytest-dotenv": { - "is_direct": false, - "sha256": "40a2cece120a213898afaa5407673f6bd924b1fa7eafce6bda0e8abffe2f710f", - "type": "url", - "url": "https://files.pythonhosted.org/packages/d0/da/9da67c67b3d0963160e3d2cbc7c38b6fae342670cc8e6d5936644b2cf944/pytest_dotenv-0.5.2-py3-none-any.whl", - "version": "0.5.2" - }, - "python-dateutil": { - "is_direct": false, - "sha256": "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9", - "type": "url", - "url": "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl", - "version": "2.8.2" - }, - "python-dotenv": { - "is_direct": false, - "sha256": "1684eb44636dd462b66c3ee016599815514527ad99965de77f43e0944634a7e5", - "type": "url", - "url": "https://files.pythonhosted.org/packages/2d/10/ff4f2f5b2a420fd09e1331d63cc87cf4367c5745c0a4ce99cea92b1cbacb/python_dotenv-0.21.0-py3-none-any.whl", - "version": "0.21.0" - }, - "python-magic": { - "is_direct": false, - "sha256": "c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b", - "type": "url", - "url": "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz", - "version": "0.4.27" - }, - "pytz": { - "is_direct": false, - "sha256": "335ab46900b1465e714b4fda4963d87363264eb662aab5e65da039c25f1f5b22", - "type": "url", - "url": "https://files.pythonhosted.org/packages/b5/d7/91fd8911d22e7fac794803095dd192bf1ebd70c7603272085230d915e738/pytz-2022.5-py2.py3-none-any.whl", - "version": "2022.5" - }, - "requests": { - "is_direct": false, - "sha256": "8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349", - "type": "url", - "url": "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl", - "version": "2.28.1" - }, - "six": { - "is_direct": false, - "sha256": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "type": "url", - "url": "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", - "version": "1.16.0" - }, - "smtpdfix": { - "is_direct": false, - "sha256": "fab6c8f9060d1dca4ac6f338dae00f487e59de69a2133e58f03f0fe7ff295f52", - "type": "url", - "url": "https://files.pythonhosted.org/packages/97/d3/fa54ea5d3739ed282770e2601d47837164d26d244990135ebdc6b517b378/smtpdfix-0.5.1-py3-none-any.whl", - "version": "0.5.1" - }, - "snowballstemmer": { - "is_direct": false, - "sha256": "c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", - "type": "url", - "url": "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", - "version": "2.2.0" - }, - "soupsieve": { - "is_direct": false, - "sha256": "3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759", - "type": "url", - "url": "https://files.pythonhosted.org/packages/16/e3/4ad79882b92617e3a4a0df1960d6bce08edfb637737ac5c3f3ba29022e25/soupsieve-2.3.2.post1-py3-none-any.whl", - "version": "2.3.2.post1" - }, - "sqlalchemy": { - "is_direct": false, - "sha256": "11b2ec26c5d2eefbc3e6dca4ec3d3d95028be62320b96d687b6e740424f83b7d", - "type": "url", - "url": "https://files.pythonhosted.org/packages/bb/99/61d04da449e6a26c0d09e44b4d4aa36b64f095ec824d001ff8b69fd46f56/SQLAlchemy-1.4.42-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", - "version": "1.4.42" - }, - "sqlalchemy-json": { - "is_direct": false, - "sha256": "89f82420dbb6ace0228535506686536f646ee17e2f35a1a810cefbce6d75a649", - "type": "url", - "url": "https://files.pythonhosted.org/packages/8e/cc/9fcde4f5739de1499179dde18d1734f42d1bb5bc9c7188e582d96b53ebeb/sqlalchemy-json-0.5.0.tar.gz", - "version": "0.5.0" - }, - "toml": { - "is_direct": false, - "sha256": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "type": "url", - "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", - "version": "0.10.2" - }, - "typed-ast": { - "is_direct": false, - "sha256": "39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2", - "type": "url", - "url": "https://files.pythonhosted.org/packages/07/d2/d55702e8deba2c80282fea0df53130790d8f398648be589750954c2dcce4/typed_ast-1.5.4.tar.gz", - "version": "1.5.4" - }, - "unicodecsv": { - "is_direct": false, - "sha256": "018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc", - "type": "url", - "url": "https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz", - "version": "0.14.1" - }, - "unidecode": { - "is_direct": false, - "sha256": "547d7c479e4f377b430dd91ac1275d593308dce0fc464fb2ab7d41f82ec653be", - "type": "url", - "url": "https://files.pythonhosted.org/packages/be/ea/90e14e807da5a39e5b16789acacd48d63ca3e4f23dfa964a840eeadebb13/Unidecode-1.3.6-py3-none-any.whl", - "version": "1.3.6" - }, - "urllib3": { - "is_direct": false, - "sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997", - "type": "url", - "url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl", - "version": "1.26.12" - }, - "webencodings": { - "is_direct": false, - "sha256": "a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", - "type": "url", - "url": "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", - "version": "0.5.1" - }, - "werkzeug": { - "is_direct": false, - "sha256": "f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5", - "type": "url", - "url": "https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl", - "version": "2.2.2" - }, - "wtforms": { - "is_direct": false, - "sha256": "837f2f0e0ca79481b92884962b914eba4e72b7a2daaf1f939c890ed0124b834b", - "type": "url", - "url": "https://files.pythonhosted.org/packages/eb/2e/199a0edf6577af771a68fbd950d98f0c1a16bb5fa956e45772005318c702/WTForms-3.0.1-py3-none-any.whl", - "version": "3.0.1" - }, - "zipp": { - "is_direct": false, - "sha256": "4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1", - "type": "url", - "url": "https://files.pythonhosted.org/packages/40/8a/d63273ed0fa4a3d06f77e7b043f6577d8894e95515b0c187c52e2c0efabb/zipp-3.10.0-py3-none-any.whl", - "version": "3.10.0" - } - }, - "targets": { - "default": { - "aiosmtpd": [ - "atpublic", - "attrs" - ], - "alembic": [ - "mako", - "sqlalchemy" - ], - "atpublic": [], - "attrs": [], - "babel": [ - "pytz" - ], - "beautifulsoup4": [ - "soupsieve" - ], - "bleach": [ - "six", - "webencodings" - ], - "cachelib": [], - "certifi": [], - "cffi": [ - "pycparser" - ], - "charset-normalizer": [], - "click": [], - "cryptography": [ - "cffi" - ], - "dnspython": [], - "email-validator": [ - "dnspython", - "idna" - ], - "factory-boy": [ - "faker" - ], - "faker": [ - "python-dateutil" - ], - "feedgen": [ - "lxml", - "python-dateutil" - ], - "flask": [ - "click", - "itsdangerous", - "jinja2", - "werkzeug" - ], - "flask-babel": [ - "babel", - "flask", - "jinja2", - "pytz" - ], - "flask-login": [ - "flask", - "werkzeug" - ], - "flask-marshmallow": [ - "flask", - "marshmallow", - "packaging" - ], - "flask-migrate": [ - "alembic", - "flask", - "flask-sqlalchemy" - ], - "flask-session2": [ - "cachelib", - "flask", - "pytz" - ], - "flask-sqlalchemy": [ - "flask", - "sqlalchemy" - ], - "flask-wtf": [ - "flask", - "itsdangerous", - "wtforms" - ], - "greenlet": [], - "gunicorn": [ - "packaging" - ], - "idna": [], - "importlib-metadata": [ - "zipp" - ], - "importlib-resources": [], - "iniconfig": [], - "itsdangerous": [], - "jinja2": [ - "markupsafe" - ], - "ldap3": [ - "pyasn1" - ], - "lxml": [], - "mako": [ - "markupsafe" - ], - "markdown": [], - "markupsafe": [], - "marshmallow": [ - "packaging" - ], - "marshmallow-sqlalchemy": [ - "marshmallow", - "packaging", - "sqlalchemy" - ], - "minio": [ - "certifi", - "urllib3" - ], - "packaging": [ - "pyparsing" - ], - "passlib": [], - "password-strength": [ - "six" - ], - "pillow": [], - "platformdirs": [], - "pluggy": [], - "polib": [], - "portpicker": [ - "psutil" - ], - "prometheus-client": [], - "psutil": [], - "psycopg2": [], - "py": [], - "pyasn1": [], - "pycodestyle": [], - "pycparser": [], - "pyjwt": [], - "pyparsing": [], - "pypng": [], - "pyqrcode": [], - "pytest": [ - "iniconfig", - "packaging", - "pluggy" - ], - "pytest-dotenv": [ - "pytest", - "python-dotenv" - ], - "python-dateutil": [ - "six" - ], - "python-dotenv": [], - "python-magic": [], - "pytz": [], - "requests": [ - "certifi", - "charset-normalizer", - "idna", - "urllib3" - ], - "six": [], - "smtpdfix": [ - "aiosmtpd", - "cryptography", - "portpicker", - "pytest" - ], - "snowballstemmer": [], - "soupsieve": [], - "sqlalchemy": [ - "greenlet" - ], - "sqlalchemy-json": [ - "six", - "sqlalchemy" - ], - "toml": [], - "typed-ast": [], - "unicodecsv": [], - "unidecode": [], - "urllib3": [], - "webencodings": [], - "werkzeug": [ - "markupsafe" - ], - "wtforms": [ - "markupsafe" - ], - "zipp": [] - } - } - }, - "invalidationHash": "bfd78b44c4cb83b35cf704f0bae7f24014c277d472c8c429a4d6f7771d4fa2c8" -} \ No newline at end of file diff --git a/pkgs/by-name/liberaforms/package.nix b/pkgs/by-name/liberaforms/package.nix new file mode 100644 index 000000000..4e0f3b59d --- /dev/null +++ b/pkgs/by-name/liberaforms/package.nix @@ -0,0 +1,268 @@ +{ + lib, + python3, + fetchFromGitea, + fetchFromGitHub, + fetchPypi, + + moreutils, + dart-sass, + postgresql, + libxml2, + libxslt, + + # tests + postgresqlTestHook, +}: + +let + python = python3.override { + packageOverrides = self: super: { + # required 1.8.1 (tests fail otherwise) + alembic = super.alembic.overridePythonAttrs rec { + pname = "alembic"; + version = "1.8.1"; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-zQteRbFLcGQmuDPwY2m5ptXuA/gm7DI4cjzoyq9uX/o="; + }; + doCheck = false; + }; + # required 3.1.0 (requirements and 3.1.0 works with alembic 1.8.1) + flask-migrate = super.flask-migrate.overridePythonAttrs (old: rec { + version = "3.1.0"; + src = fetchFromGitHub { + owner = "miguelgrinberg"; + repo = "Flask-Migrate"; + tag = "v${version}"; + hash = "sha256-2P9UfR/1Vv9FSmpSZn0gV4/uuSNdl6sdgRnSbefFR34="; + }; + dependencies = [ + self.alembic + super.flask + self.flask-sqlalchemy + ]; + nativeCheckInputs = [ ]; + }); + # required downgrade to 3.0.2 (from requirements.txt as well as sqlalchemy downgrade) + flask-sqlalchemy = super.flask-sqlalchemy.overridePythonAttrs (old: rec { + version = "3.0.2"; + src = fetchPypi { + pname = "Flask-SQLAlchemy"; + inherit version; + hash = "sha256-FhmfWz3ftp4N8vUq5Mdq7b/sgjRiNJ2rshobLgorZek="; + }; + dependencies = [ + super.flask + self.sqlalchemy + super.pdm-pep517 + ]; + }); + # required 1.4.42 (from requirements) + sqlalchemy = super.sqlalchemy_1_4.overridePythonAttrs rec { + version = "1.4.42"; + src = fetchFromGitHub { + owner = "sqlalchemy"; + repo = "sqlalchemy"; + rev = "rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; + hash = "sha256-RVpreszvd5hn9BLzvnfKT4nibUuybtZwBRloe5NaP/E="; + }; + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + disabledTestPaths = [ + # typing correctness, not interesting + "test/ext/mypy" + # slow and high memory usage, not interesting + "test/aaa_profiling" + # fetching and key slice failures, probably network related + "test/base/test_result.py" + "test/dialect/test_sqlite.py" + "test/ext/test_baked.py" + "test/ext/test_horizontal_shard.py" + "test/ext/test_hybrid.py" + "test/orm/" + "test/sql/test_resultset.py" + ]; + }; + + }; + }; + python3Packages = python.pkgs; +in + +python3Packages.buildPythonPackage (finalAttrs: { + pname = "liberaforms"; + version = "4.8.0"; + format = "other"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "LiberaForms"; + repo = "server"; + tag = "v${finalAttrs.version}"; + hash = "sha256-F8vs62CiOC5e8rCxoFLfQfPGH6f/sfUFyyXCmkO6hsU="; + }; + + postPatch = '' + echo "Compiling sass files" + pushd liberaforms/static + chronic sass sass:css --style=compressed --no-source-map + popd + ''; + + build-system = with python3Packages; [ + setuptools + setuptools-scm + ]; + + dependencies = with python3Packages; [ + aiosmtpd + alembic + atpublic + attrs + babel + beautifulsoup4 + bleach + cairosvg + cachelib + certifi + cffi + charset-normalizer + click + cryptography + deepdiff + dnspython + email-validator + feedgen + flask + flask-assets + flask-babel + flask-login + flask-marshmallow + flask-migrate + flask-session + flask-sqlalchemy + flask-wtf + greenlet + gunicorn + idna + importlib-metadata + importlib-resources + iniconfig + itsdangerous + jinja2 + ldap3 + lxml + mako + markdown + markupsafe + marshmallow + marshmallow-sqlalchemy + minio + packaging + passlib + password-entropy + pillow + platformdirs + pluggy + portpicker + prometheus-client + psutil + psycopg2 + py + pyasn1 + pycodestyle + pycparser + pygments + pyjwt + pyparsing + pypng + pyqrcode + python-dateutil + python-dotenv + python-magic + pytz + requests + six + smtpdfix + snowballstemmer + soupsieve + sqlalchemy + sqlalchemy-json + toml + unicodecsv + unidecode + urllib3 + webencodings + werkzeug + wtforms + zipp + ]; + + nativeBuildInputs = [ + dart-sass + moreutils # chronic + postgresql + libxml2 + libxslt + ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + cp -R . $out + + runHook postInstall + ''; + + doCheck = true; + + nativeCheckInputs = [ + postgresql + postgresqlTestHook + ] + ++ (with python3Packages; [ + faker + pytestCheckHook + pytest-dotenv + factory-boy + polib + ]); + + preCheck = '' + export LANG=C.UTF-8 + export PGUSER=db_user + export postgresqlEnableTCP=1 + ''; + + checkPhase = '' + runHook preCheck + + # Run pytest on the installed version. A running postgres database server is needed. + pushd tests + cp test.ini.example test.ini + pytest -k "not test_save_smtp_config\ + and not test/ext/test_horizontal_shard.py\ + and not TestE2EEDisabledFeatures" + + runHook postCheck + ''; + + # avoid writing in the migration process + postFixup = '' + cp $out/assets/brand/logo-default.png $out/assets/brand/logo.png + cp $out/assets/brand/favicon-default.ico $out/assets/brand/favicon.ico + sed -i "/shutil.copyfile/d" $out/liberaforms/models/site.py + sed -i "/brand_dir/d" $out/migrations/versions/6f0e2b9e9db3_.py + ''; + + meta = { + description = "Ethical form software"; + homepage = "https://liberaforms.org"; + downloadPage = "https://codeberg.org/LiberaForms/server"; + license = lib.licenses.agpl3Plus; + platforms = lib.platforms.all; + }; +}) From 8912659e90495e45bcb4ac3565b4a7853b5d8cae Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 02:27:17 +0530 Subject: [PATCH 13/35] projects(Liberaforms): fix the nixos test Signed-off-by: phanirithvij --- pkgs/by-name/liberaforms/package.nix | 3 +-- projects/Liberaforms/service.nix | 31 +++++++++++++------------ projects/Liberaforms/test.nix | 34 ++++++++++++++++++++++++++-- 3 files changed, 50 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/liberaforms/package.nix b/pkgs/by-name/liberaforms/package.nix index 4e0f3b59d..48ec0d3d1 100644 --- a/pkgs/by-name/liberaforms/package.nix +++ b/pkgs/by-name/liberaforms/package.nix @@ -67,7 +67,6 @@ let rev = "rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; hash = "sha256-RVpreszvd5hn9BLzvnfKT4nibUuybtZwBRloe5NaP/E="; }; - env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; disabledTestPaths = [ # typing correctness, not interesting "test/ext/mypy" @@ -139,7 +138,7 @@ python3Packages.buildPythonPackage (finalAttrs: { flask-login flask-marshmallow flask-migrate - flask-session + flask-session2 flask-sqlalchemy flask-wtf greenlet diff --git a/projects/Liberaforms/service.nix b/projects/Liberaforms/service.nix index 654fd5ea0..8bbabab4f 100644 --- a/projects/Liberaforms/service.nix +++ b/projects/Liberaforms/service.nix @@ -6,11 +6,11 @@ }: let inherit (lib) - literalExpression mkEnableOption mkForce mkIf mkOption + mkPackageOption types ; @@ -19,6 +19,7 @@ let group = "liberaforms"; default_home = "/var/lib/liberaforms"; default_logs = "/var/log/liberaforms"; + pythonEnv = cfg.package.pythonModule.withPackages (ps: [ cfg.package ]); in { options.services.liberaforms = { @@ -32,15 +33,7 @@ in enableDatabaseBackup = mkEnableOption "Cron job for pg_dump"; - package = mkOption { - type = types.package; - default = pkgs.liberaforms; - defaultText = literalExpression ".packages..default"; - example = literalExpression "pkgs.liberaforms"; - description = '' - LiberaForms package to use. - ''; - }; + package = mkPackageOption pkgs "liberaforms" { }; domain = mkOption { type = types.str; @@ -195,14 +188,14 @@ in restartIfChanged = true; path = with pkgs; [ postgresql_14 - liberaforms.env + pythonEnv openssl ]; serviceConfig = { Type = "simple"; PrivateTmp = true; - ExecStartPre = pkgs.writeScript "liberaforms-init" '' + ExecStartPre = pkgs.writeScript "liberaforms-init" /* bash */ '' #!/bin/sh #set -x @@ -289,7 +282,7 @@ in # Do not edit this file, it is automatically generated by liberaforms.service. from dotenv import load_dotenv load_dotenv(dotenv_path="/var/lib/liberaforms/.env") - command = '${pkgs.liberaforms.env}/bin/gunicorn' + command = '${pythonEnv}/bin/gunicorn' bind = '${cfg.bind}' workers = ${toString cfg.workers} user = '${user}' @@ -300,15 +293,25 @@ in ############################################ cd ${cfg.workDir} ln -sf ${cfg.package}/* . + # wsgi.py cannot be a symlink because its location determines working dir of gunicorn/flask. rm ./wsgi.py cp ${cfg.package}/wsgi.py ./wsgi.py + + # allow writing to liberaforms, flask-webassets tries to write to liberaforms/static/.webassets-cache + if [[ -L "./liberaforms" ]]; then + rm ./liberaforms + cp -rL ${cfg.package}/liberaforms . + chmod -R u+w ./liberaforms + fi + # After instance creation, ./uploads must remain stateful because it contains uploaded user data. if [[ -L "./uploads" ]]; then rm -r ./uploads cp -rL ${cfg.package}/uploads . chmod -R +w uploads fi + # After instance creation, ./logs should also remain stateful if [[ -L "./logs" ]]; then rm -r ./logs @@ -341,7 +344,7 @@ in psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE liberaforms TO liberaforms" flask db upgrade ''; - ExecStart = "${pkgs.liberaforms.env}/bin/gunicorn -c ${cfg.workDir}/gunicorn.py 'wsgi:create_app()'"; + ExecStart = "${pythonEnv}/bin/gunicorn --preload --log-level debug -c ${cfg.workDir}/gunicorn.py 'wsgi:create_app()'"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; User = "${user}"; Group = "${group}"; diff --git a/projects/Liberaforms/test.nix b/projects/Liberaforms/test.nix index 37f3672d1..8300cd4fc 100644 --- a/projects/Liberaforms/test.nix +++ b/projects/Liberaforms/test.nix @@ -26,8 +26,8 @@ with subtest("liberaforms"): server.wait_for_unit("liberaforms.service") - res = server.wait_until_succeeds("curl --fail http://localhost", timeout=10) - assert("Ethical forms with LiberaForms" in res) + res = server.wait_until_succeeds("curl --fail http://localhost", timeout=80) + assert("ethical form software" in res) res = server.succeed("curl http://localhost/site/recover-password -c cookies.txt -b cookies.txt") assert("Recover password" in res) @@ -46,4 +46,34 @@ res = server.succeed("curl http://localhost/user/login") assert("Login to your account" in res) ''; + + # Debug interactively with: + # - nix build -f . projects.Liberaforms.tests.liberaforms.driverInteractive + # - ./result/bin/nixos-test-driver + # - run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; + + interactive.nodes.server = + { config, ... }: + let + port = 5000; + in + { + virtualisation.forwardPorts = [ + { + from = "host"; + host.port = port; + guest.port = port; + } + { + from = "host"; + host.port = 3939; + guest.port = 80; + } + ]; + + # forwarded ports need to be accessible + networking.firewall.allowedTCPPorts = [ port ]; + }; } From 2af81eb853c926b1a2156c5ba99bb5ce8cdfdc74 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 24 Mar 2026 16:20:44 +0530 Subject: [PATCH 14/35] projects(Liberaforms): add smoke test Signed-off-by: phanirithvij projects(Liberaforms): test email setup works Signed-off-by: phanirithvij --- projects/Liberaforms/default.nix | 3 +- projects/Liberaforms/service.nix | 91 ++++++++++- .../Liberaforms/{test.nix => tests/basic.nix} | 10 +- .../tests/basic_interaction_test.py | 135 ++++++++++++++++ projects/Liberaforms/tests/smoke-test.nix | 153 ++++++++++++++++++ 5 files changed, 377 insertions(+), 15 deletions(-) rename projects/Liberaforms/{test.nix => tests/basic.nix} (91%) create mode 100644 projects/Liberaforms/tests/basic_interaction_test.py create mode 100644 projects/Liberaforms/tests/smoke-test.nix diff --git a/projects/Liberaforms/default.nix b/projects/Liberaforms/default.nix index 8d399ac05..bb1326af9 100644 --- a/projects/Liberaforms/default.nix +++ b/projects/Liberaforms/default.nix @@ -24,7 +24,8 @@ examples.basic = { module = ./example.nix; description = ""; - tests.liberaforms.module = ./test.nix; + tests.basic.module = ./tests/basic.nix; + tests.smoke-test.module = ./tests/smoke-test.nix; }; }; } diff --git a/projects/Liberaforms/service.nix b/projects/Liberaforms/service.nix index 8bbabab4f..97226893c 100644 --- a/projects/Liberaforms/service.nix +++ b/projects/Liberaforms/service.nix @@ -19,7 +19,6 @@ let group = "liberaforms"; default_home = "/var/lib/liberaforms"; default_logs = "/var/log/liberaforms"; - pythonEnv = cfg.package.pythonModule.withPackages (ps: [ cfg.package ]); in { options.services.liberaforms = { @@ -151,6 +150,16 @@ in default = "production"; }; + pythonEnv = mkOption { + type = types.package; + description = '' + Final pythonEnv which is created from the `package` + ''; + defaultText = "cfg.package.pythonModule.withPackages (_: [ cfg.package ]);"; + default = cfg.package.pythonModule.withPackages (_: [ cfg.package ]); + readOnly = true; + }; + workDir = mkOption { type = types.str; description = '' @@ -167,6 +176,50 @@ in The number of gunicorn worker processes for handling requests. ''; }; + + smtp = { + enable = mkEnableOption "SMTP email configuration"; + + host = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "SMTP provider FQDN or IP address."; + }; + + port = mkOption { + type = types.int; + default = 25; + description = "SMTP port number."; + }; + + user = mkOption { + type = types.str; + default = ""; + description = "SMTP username."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "Path to a file containing the SMTP password. Recommended over storing secrets in plaintext."; + }; + + encryption = mkOption { + type = types.enum [ + "" + "SSL" + "STARTTLS" + ]; + default = ""; + description = "SMTP encryption method."; + }; + + noreply = mkOption { + type = types.str; + default = "noreply@${cfg.domain}"; + description = "Email address used as the sender for outgoing automated emails."; + }; + }; }; config = mkIf cfg.enable { @@ -188,13 +241,14 @@ in restartIfChanged = true; path = with pkgs; [ postgresql_14 - pythonEnv + cfg.pythonEnv openssl ]; serviceConfig = { Type = "simple"; PrivateTmp = true; + Environment = [ "PYTHONUNBUFFERED=1" ]; ExecStartPre = pkgs.writeScript "liberaforms-init" /* bash */ '' #!/bin/sh #set -x @@ -217,7 +271,7 @@ in SECRET_KEY="$(cat ${cfg.secretKeyFile})" - BASE_URL = 'https://${cfg.domain}' + BASE_URL = 'http://${cfg.domain}' ROOT_USER = '${cfg.rootEmail}' DEFAULT_LANGUAGE = '${cfg.defaultLang}' TMP_DIR = '/tmp' @@ -282,10 +336,15 @@ in # Do not edit this file, it is automatically generated by liberaforms.service. from dotenv import load_dotenv load_dotenv(dotenv_path="/var/lib/liberaforms/.env") - command = '${pythonEnv}/bin/gunicorn' + command = '${cfg.pythonEnv}/bin/gunicorn' bind = '${cfg.bind}' workers = ${toString cfg.workers} user = '${user}' + # logging + accesslog = '-' + errorlog = '-' + capture_output = True + loglevel = 'info' EOF ############################################ @@ -343,8 +402,30 @@ in fi psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE liberaforms TO liberaforms" flask db upgrade + + ${lib.optionalString cfg.smtp.enable '' + SMTP_ARGS=( + -host "${cfg.smtp.host}" + -port "${toString cfg.smtp.port}" + -noreply "${cfg.smtp.noreply}" + ) + + ${lib.optionalString (cfg.smtp.user != "") '' + SMTP_ARGS+=(-user "${cfg.smtp.user}") + ''} + + ${lib.optionalString (cfg.smtp.encryption != "") '' + SMTP_ARGS+=(-encryption "${cfg.smtp.encryption}") + ''} + + ${lib.optionalString (cfg.smtp.passwordFile != null) '' + SMTP_ARGS+=(-password "$(cat ${cfg.smtp.passwordFile})") + ''} + + flask smtp set "''${SMTP_ARGS[@]}" + ''} ''; - ExecStart = "${pythonEnv}/bin/gunicorn --preload --log-level debug -c ${cfg.workDir}/gunicorn.py 'wsgi:create_app()'"; + ExecStart = "${cfg.pythonEnv}/bin/gunicorn --preload --log-level debug -c ${cfg.workDir}/gunicorn.py 'wsgi:create_app()'"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; User = "${user}"; Group = "${group}"; diff --git a/projects/Liberaforms/test.nix b/projects/Liberaforms/tests/basic.nix similarity index 91% rename from projects/Liberaforms/test.nix rename to projects/Liberaforms/tests/basic.nix index 8300cd4fc..adbbfdd29 100644 --- a/projects/Liberaforms/test.nix +++ b/projects/Liberaforms/tests/basic.nix @@ -56,16 +56,8 @@ interactive.nodes.server = { config, ... }: - let - port = 5000; - in { virtualisation.forwardPorts = [ - { - from = "host"; - host.port = port; - guest.port = port; - } { from = "host"; host.port = 3939; @@ -74,6 +66,6 @@ ]; # forwarded ports need to be accessible - networking.firewall.allowedTCPPorts = [ port ]; + networking.firewall.allowedTCPPorts = [ 80 ]; }; } diff --git a/projects/Liberaforms/tests/basic_interaction_test.py b/projects/Liberaforms/tests/basic_interaction_test.py new file mode 100644 index 000000000..7238ec219 --- /dev/null +++ b/projects/Liberaforms/tests/basic_interaction_test.py @@ -0,0 +1,135 @@ +import os +import requests +from playwright.sync_api import sync_playwright, expect + +BASE_URL = os.getenv("BASE_URL", "http://localhost") +ADMIN_EMAIL = "admin@example.org" +SUPER_PASSWD = "car-shop-in-the-mall" + + +def run_test(): + is_headful = os.getenv("HEADFUL") == "1" + + with sync_playwright() as p: + browser = p.chromium.launch(headless=not is_headful) + context = browser.new_context( + accept_downloads=True, record_video_dir="/tmp/videos/" + ) + + # Extended timeout for slow nixos test vms + context.set_default_timeout(90 * 1000) + + # 1. Recovery & Registration + print("Starting recovery and registration flow...") + auth_page = context.new_page() + auth_page.goto(f"{BASE_URL}/site/recover-password") + + auth_page.locator("input[name='email']").fill(ADMIN_EMAIL) + auth_page.locator("button[type='submit']").click() + auth_page.wait_for_url("**/user/new/*") + + auth_page.locator("input[name='username']").fill("superuser") + # Grab both password inputs to cover the confirmation field + auth_page.locator("input[type='password']").nth(0).fill(SUPER_PASSWD) + auth_page.locator("input[type='password']").nth(1).fill(SUPER_PASSWD) + auth_page.locator("button[type='submit']").click() + + auth_page.wait_for_url("**/user/superuser*") + + # 2. Create & Configure Form + print("Creating and publishing form...") + admin_page = context.new_page() + admin_page.goto(f"{BASE_URL}/form/new/template/8") + + admin_page.locator("input#name").fill("sample") + admin_page.locator("#commit_name").click() + admin_page.locator("#submit_button").click() + + # Make the form public + admin_page.locator("text=Options").click() + admin_page.locator("#toggle_public_true").click() + + # 3. Fill the Form (New Tab) + print("Filling out the published form...") + form_page = context.new_page() + form_page.goto(f"{BASE_URL}/sample") + + # Wait a bit; the 10s countdown sometimes prevents posting to answers + form_page.wait_for_timeout(3000) + + # Click the first input strictly to ensure focus before tabbing + form_page.locator("input").nth(1).fill("foo") + form_page.locator("input").nth(2).fill("foo@bar.baz") + form_page.locator("textarea").fill("foo") + form_page.locator("button[name='submit']").click() + + expect(form_page.locator("#thankyou-page>.ds-marked-up")).to_have_text( + "Thank you!", timeout=25000 + ) + form_page.close() + + # 4. Export and Verify CSV + print("Exporting answers to CSV...") + admin_page.bring_to_front() + admin_page.locator("a", has_text="Answers").click() + + with admin_page.expect_download() as download_info: + # Matches button containing "CSV" (handles the SVG icon implicitly) + admin_page.locator("button", has_text="CSV").click() + + save_path = "/tmp/answers.csv" + download_info.value.save_as(save_path) + + with open(save_path, "r") as f: + csv_content = f.read() + assert "foo" in csv_content, "Expected 'foo' to be in the exported CSV!" + assert ( + "foo@bar.baz" in csv_content + ), "Expected 'foo@bar.baz' to be in the exported CSV!" + + # 5. Test SMTP Configuration + print("Testing SMTP configuration...") + smtp_page = context.new_page() + smtp_page.goto(f"{BASE_URL}/site/email/config") + + smtp_page.locator("input#email-recipient").fill("example@example.org") + smtp_page.get_by_role("button", name="Send").click() + + try: + smtp_page.locator( + "#flash_container", has_text="SMTP config works!" + ).wait_for(state="visible", timeout=10000) + except Exception as e: + print("FAILED: Did not see 'SMTP config works!' message.") + raise e + + # wait a bit so mailpit has processed the mails + smtp_page.wait_for_timeout(3000) + smtp_page.close() + + # 6. Verify Mailpit Delivery + print("Checking Mailpit API for delivered email...") + + response = requests.get("http://localhost:8025/api/v1/messages") + response.raise_for_status() + mail_data = response.json() + + assert ( + mail_data.get("total", 0) > 0 + ), "No emails found in Mailpit! Delivery failed." + + # Scan for the specific test email address + found_email = any( + to_addr.get("Address") == "example@example.org" + for msg in mail_data.get("messages", []) + for to_addr in msg.get("To", []) + ) + + assert ( + found_email + ), "Test email to example@example.org was not found in Mailpit!" + print("Test suite completed and passed successfully!") + + +if __name__ == "__main__": + run_test() diff --git a/projects/Liberaforms/tests/smoke-test.nix b/projects/Liberaforms/tests/smoke-test.nix new file mode 100644 index 000000000..41025f574 --- /dev/null +++ b/projects/Liberaforms/tests/smoke-test.nix @@ -0,0 +1,153 @@ +{ + lib, + hostPkgs ? pkgs, + pkgs, + sources, + ... +}: +let + python = hostPkgs.python3.withPackages ( + ps: with ps; [ + requests + playwright + ] + ); + + runScript = "${lib.getExe python} ${./basic_interaction_test.py}"; + + run-liberaforms-test = hostPkgs.writeShellScriptBin "run-liberaforms-test" '' + set -euo pipefail + + export PLAYWRIGHT_BROWSERS_PATH=${hostPkgs.playwright-driver.browsers} + export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 + + # check if in a interactive terminal session + if [ -t 1 ]; then + export HEADFUL=''${HEADFUL:-1} + export PWDEBUG=''${PWDEBUG:-0} + export DISPLAY=''${DISPLAY:-:0} + if [ "$(id -u)" = "0" ] && [ -d "/home/alice" ]; then + runuser -u alice \ + -w DISPLAY,HEADFUL,PWDEBUG,PLAYWRIGHT_BROWSERS_PATH,PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD \ + -- ${runScript} + else + export BASE_URL="http://127.0.0.1:3939" + ${runScript} + fi + else + cat <<'EOF' | tee >(systemd-cat -t liberaforms-smoke-test) + ================================================================================ + NOTE: The liberaforms smoke-test can be run interactively either inside the vm or on the host + - First, run `nix-build -A projects.Liberaforms.tests.smoke-test.driverInteractive` and `./result/bin/nixos-test-driver` + - Run `start_all()` inside the repl + - Then in a new terminal run `nix-build -A projects.Liberaforms.tests.smoke-test.driverInteractive.interactive-script` + and `./result/bin/run-liberaforms-test` to run the full test interactively + - Or prepend to the above command `env PWDEBUG=1` to show the playwright inspector to debug + ================================================================================ + EOF + + echo "Starting smoke test..." | systemd-cat -t liberaforms-smoke-test + ${runScript} 2>&1 | tee >(systemd-cat -t liberaforms-smoke-test) + fi + ''; +in +{ + name = "liberaforms"; + + passthru.interactive-script = run-liberaforms-test; + + nodes.machine = + { + lib, + pkgs, + config, + ... + }: + { + imports = [ + sources.modules.ngipkgs + sources.modules.services.liberaforms + sources.examples.Liberaforms.basic + ]; + + services.mailpit.instances.default = { + listen = "0.0.0.0:8025"; + smtp = "0.0.0.0:1025"; + }; + + services.liberaforms = { + rootEmail = "admin@example.org"; + smtp = { + enable = true; + host = "127.0.0.1"; + port = 1025; + noreply = "noreply@localhost"; + }; + }; + + networking = { + firewall.allowedTCPPorts = [ config.services.nginx.defaultHTTPListenPort ]; + hostName = "liberaforms"; + domain = "local"; + }; + + environment.systemPackages = [ + python + run-liberaforms-test + ]; + + virtualisation.memorySize = lib.mkForce 4096; + virtualisation.cores = 4; + }; + + testScript = + { nodes, ... }: + '' + import os + start_all() + + machine.wait_for_unit("liberaforms.service") + machine.wait_for_open_port(80) + machine.wait_for_open_port(5000) + + machine.succeed("curl -q --fail http://localhost") + + machine.succeed("run-liberaforms-test") + + out_dir = os.environ.get("out", os.getcwd()) + machine.copy_from_vm("/tmp/videos", out_dir) + ''; + + interactive.sshBackdoor.enable = true; + interactive.nodes.machine = + { config, ... }: + let + guestPorts = [ + 80 + 1025 + 8025 + ]; + hostPorts = [ + 3939 + 1025 + 8025 + ]; + in + { + imports = [ + (hostPkgs.path + "/nixos/tests/common/x11.nix") + (hostPkgs.path + "/nixos/tests/common/user-account.nix") + ]; + services.xserver.enable = true; + test-support.displayManager.auto.user = "alice"; + + virtualisation.forwardPorts = lib.zipListsWith (h: g: { + from = "host"; + host.port = h; + guest.port = g; + }) hostPorts guestPorts; + + networking.firewall.allowedTCPPorts = guestPorts; + networking.firewall.allowedUDPPorts = guestPorts; + }; +} From c36c867a1d5a14733b7a767d7efcdc64882d9002 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 18:07:03 +0530 Subject: [PATCH 15/35] funkwhale: 2.0.0-alpha.2 -> 2.0.0 - vendor typsense 2.0.0 - fix patches Signed-off-by: phanirithvij --- .../typesense/0001-linux-only-metrics.patch | 43 +++++ .../typesense/0002-generated-temp-path.patch | 31 ++++ .../0003-tests-fix-endpoint-path.patch | 170 ++++++++++++++++++ .../typesense/0004-tests-fix-rule_id.patch | 26 +++ .../0005-tests-fix-removed-fields.patch | 163 +++++++++++++++++ .../funkwhale/deps/typesense/default.nix | 91 ++++++++++ .../fix-allauth-internal-function-use.patch | 23 --- pkgs/by-name/funkwhale/fix-oob-schemes.patch | 34 ---- pkgs/by-name/funkwhale/missing-hashes.json | 128 +++++++++++++ pkgs/by-name/funkwhale/package.nix | 56 ++++-- .../funkwhale/replace-unicode-slugify.patch | 24 +-- 11 files changed, 703 insertions(+), 86 deletions(-) create mode 100644 pkgs/by-name/funkwhale/deps/typesense/0001-linux-only-metrics.patch create mode 100644 pkgs/by-name/funkwhale/deps/typesense/0002-generated-temp-path.patch create mode 100644 pkgs/by-name/funkwhale/deps/typesense/0003-tests-fix-endpoint-path.patch create mode 100644 pkgs/by-name/funkwhale/deps/typesense/0004-tests-fix-rule_id.patch create mode 100644 pkgs/by-name/funkwhale/deps/typesense/0005-tests-fix-removed-fields.patch create mode 100644 pkgs/by-name/funkwhale/deps/typesense/default.nix delete mode 100644 pkgs/by-name/funkwhale/fix-allauth-internal-function-use.patch delete mode 100644 pkgs/by-name/funkwhale/fix-oob-schemes.patch create mode 100644 pkgs/by-name/funkwhale/missing-hashes.json diff --git a/pkgs/by-name/funkwhale/deps/typesense/0001-linux-only-metrics.patch b/pkgs/by-name/funkwhale/deps/typesense/0001-linux-only-metrics.patch new file mode 100644 index 000000000..4be1b04c7 --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/0001-linux-only-metrics.patch @@ -0,0 +1,43 @@ +From b898f9af88a0e07d189de7430c0bc2b477cd98a8 Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 18:30:32 +0530 +Subject: [PATCH 1/5] linux only metrics + +Signed-off-by: phanirithvij +--- + tests/metrics_test.py | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/tests/metrics_test.py b/tests/metrics_test.py +index 12fc300..3c5e5c0 100644 +--- a/tests/metrics_test.py ++++ b/tests/metrics_test.py +@@ -42,18 +42,22 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + ) + assert metrics.resource_path == "/metrics.json" # noqa: WPS437 + ++import platform ++ + + def test_actual_retrieve(actual_metrics: Metrics) -> None: + """Test that the Metrics object can retrieve metrics on Typesense server and verify response structure.""" + response = actual_metrics.retrieve() + +- assert "system_cpu_active_percentage" in response ++ if platform.system() == "Linux": ++ assert "system_cpu_active_percentage" in response ++ assert "system_network_received_bytes" in response ++ assert "system_network_sent_bytes" in response ++ + assert "system_disk_total_bytes" in response + assert "system_disk_used_bytes" in response + assert "system_memory_total_bytes" in response + assert "system_memory_used_bytes" in response +- assert "system_network_received_bytes" in response +- assert "system_network_sent_bytes" in response + assert "typesense_memory_active_bytes" in response + assert "typesense_memory_allocated_bytes" in response + assert "typesense_memory_fragmentation_ratio" in response +-- +2.53.0 + diff --git a/pkgs/by-name/funkwhale/deps/typesense/0002-generated-temp-path.patch b/pkgs/by-name/funkwhale/deps/typesense/0002-generated-temp-path.patch new file mode 100644 index 000000000..fbea9f423 --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/0002-generated-temp-path.patch @@ -0,0 +1,31 @@ +From 00466aff0a712ae75df85d818f5a86f5de8bef2d Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:05:02 +0530 +Subject: [PATCH 2/5] generated temp path + +Signed-off-by: phanirithvij +--- + tests/operations_test.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/operations_test.py b/tests/operations_test.py +index b48b946..71c134e 100644 +--- a/tests/operations_test.py ++++ b/tests/operations_test.py +@@ -69,11 +69,11 @@ def test_cache_clear(actual_operations: Operations) -> None: + assert response["success"] + + +-def test_snapshot(actual_operations: Operations) -> None: ++def test_snapshot(actual_operations: Operations, tmp_path) -> None: + """Test that the Operations object can perform the snapshot operation.""" + response = actual_operations.perform( + "snapshot", +- {"snapshot_path": "/tmp"}, # noqa: S108 ++ {"snapshot_path": str(tmp_path)}, # noqa: S108 + ) + + assert response["success"] +-- +2.53.0 + diff --git a/pkgs/by-name/funkwhale/deps/typesense/0003-tests-fix-endpoint-path.patch b/pkgs/by-name/funkwhale/deps/typesense/0003-tests-fix-endpoint-path.patch new file mode 100644 index 000000000..04ca03dff --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/0003-tests-fix-endpoint-path.patch @@ -0,0 +1,170 @@ +From 4bd4350d6978fe7846b3af827c2a02de416b052f Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:02:46 +0530 +Subject: [PATCH 3/5] tests fix endpoint path + +Signed-off-by: phanirithvij +--- + tests/override_test.py | 17 ++++++++++++----- + tests/overrides_test.py | 8 ++++---- + tests/synonym_test.py | 4 ++-- + tests/synonyms_test.py | 8 ++++---- + 4 files changed, 22 insertions(+), 15 deletions(-) + +diff --git a/tests/override_test.py b/tests/override_test.py +index 89526c7..5135d3e 100644 +--- a/tests/override_test.py ++++ b/tests/override_test.py +@@ -1,6 +1,5 @@ + """Tests for the Override class.""" + +- + import pytest + + from tests.utils.object_assertions import ( +@@ -47,7 +46,7 @@ def test_init(fake_api_call: ApiCall) -> None: + fake_api_call.config.nearest_node, + ) + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +@@ -104,7 +103,7 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + fake_async_api_call.config.nearest_node, + ) + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +@@ -115,7 +114,11 @@ async def test_actual_retrieve_async( + create_override: None, + ) -> None: + """Test that the AsyncOverride object can retrieve an override from Typesense Server.""" +- response = await actual_async_collections["companies"].overrides["company_override"].retrieve() ++ response = ( ++ await actual_async_collections["companies"] ++ .overrides["company_override"] ++ .retrieve() ++ ) + + assert response["rule"] == { + "match": "exact", +@@ -140,6 +143,10 @@ async def test_actual_delete_async( + create_override: None, + ) -> None: + """Test that the AsyncOverride object can delete an override from Typesense Server.""" +- response = await actual_async_collections["companies"].overrides["company_override"].delete() ++ response = ( ++ await actual_async_collections["companies"] ++ .overrides["company_override"] ++ .delete() ++ ) + + assert response == {"id": "company_override"} +diff --git a/tests/overrides_test.py b/tests/overrides_test.py +index a9376b5..c7ecee1 100644 +--- a/tests/overrides_test.py ++++ b/tests/overrides_test.py +@@ -1,6 +1,5 @@ + """Tests for the Overrides class.""" + +- + import pytest + + from tests.utils.object_assertions import ( +@@ -61,7 +60,7 @@ def test_get_missing_override(fake_overrides: Overrides) -> None: + ) + assert override.collection_name == "companies" + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +@@ -178,7 +177,8 @@ def test_get_missing_override_async(fake_async_overrides) -> None: + assert override.override_id == "company_override" + assert_match_object(override.api_call, fake_async_overrides.api_call) + assert_object_lists_match( +- override.api_call.node_manager.nodes, fake_async_overrides.api_call.node_manager.nodes ++ override.api_call.node_manager.nodes, ++ fake_async_overrides.api_call.node_manager.nodes, + ) + assert_match_object( + override.api_call.config.nearest_node, +@@ -186,7 +186,7 @@ def test_get_missing_override_async(fake_async_overrides) -> None: + ) + assert override.collection_name == "companies" + assert ( +- override._endpoint_path() # noqa: WPS437 ++ override._endpoint_path # noqa: WPS437 + == "/collections/companies/overrides/company_override" + ) + +diff --git a/tests/synonym_test.py b/tests/synonym_test.py +index cfe6e51..d9affd9 100644 +--- a/tests/synonym_test.py ++++ b/tests/synonym_test.py +@@ -45,7 +45,7 @@ def test_init(fake_api_call: ApiCall) -> None: + fake_api_call.config.nearest_node, + ) + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +@@ -99,7 +99,7 @@ def test_init_async(fake_async_api_call: AsyncApiCall) -> None: + fake_async_api_call.config.nearest_node, + ) + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +diff --git a/tests/synonyms_test.py b/tests/synonyms_test.py +index 3402493..4fbc283 100644 +--- a/tests/synonyms_test.py ++++ b/tests/synonyms_test.py +@@ -1,6 +1,5 @@ + """Tests for the Synonyms class.""" + +- + import pytest + + from tests.utils.object_assertions import ( +@@ -62,7 +61,7 @@ def test_get_missing_synonym(fake_synonyms: Synonyms) -> None: + ) + assert synonym.collection_name == "companies" + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +@@ -166,7 +165,8 @@ def test_get_missing_synonym_async(fake_async_synonyms) -> None: + assert synonym.synonym_id == "company_synonym" + assert_match_object(synonym.api_call, fake_async_synonyms.api_call) + assert_object_lists_match( +- synonym.api_call.node_manager.nodes, fake_async_synonyms.api_call.node_manager.nodes ++ synonym.api_call.node_manager.nodes, ++ fake_async_synonyms.api_call.node_manager.nodes, + ) + assert_match_object( + synonym.api_call.config.nearest_node, +@@ -174,7 +174,7 @@ def test_get_missing_synonym_async(fake_async_synonyms) -> None: + ) + assert synonym.collection_name == "companies" + assert ( +- synonym._endpoint_path() # noqa: WPS437 ++ synonym._endpoint_path # noqa: WPS437 + == "/collections/companies/synonyms/company_synonym" + ) + +-- +2.53.0 + diff --git a/pkgs/by-name/funkwhale/deps/typesense/0004-tests-fix-rule_id.patch b/pkgs/by-name/funkwhale/deps/typesense/0004-tests-fix-rule_id.patch new file mode 100644 index 000000000..c22f711d0 --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/0004-tests-fix-rule_id.patch @@ -0,0 +1,26 @@ +From 3ef2f752e7201af2a4f606276f7ec162ddf900c7 Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:35:38 +0530 +Subject: [PATCH 4/5] tests fix rule_id + +Signed-off-by: phanirithvij +--- + tests/analytics_rules_v1_test.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/analytics_rules_v1_test.py b/tests/analytics_rules_v1_test.py +index d222d99..d1021d8 100644 +--- a/tests/analytics_rules_v1_test.py ++++ b/tests/analytics_rules_v1_test.py +@@ -45,7 +45,7 @@ def test_get_missing_analytics_rule(fake_analytics_rules: AnalyticsRulesV1) -> N + """Test that the AnalyticsRulesV1 object can get a missing analytics_rule.""" + analytics_rule = fake_analytics_rules["company_analytics_rule"] + +- assert analytics_rule.rule_id == "company_analytics_rule" ++ assert analytics_rule.rule_name == "company_analytics_rule" + assert_match_object(analytics_rule.api_call, fake_analytics_rules.api_call) + assert_object_lists_match( + analytics_rule.api_call.node_manager.nodes, +-- +2.53.0 + diff --git a/pkgs/by-name/funkwhale/deps/typesense/0005-tests-fix-removed-fields.patch b/pkgs/by-name/funkwhale/deps/typesense/0005-tests-fix-removed-fields.patch new file mode 100644 index 000000000..13285a280 --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/0005-tests-fix-removed-fields.patch @@ -0,0 +1,163 @@ +From 78bef516f93ca3b0bf016e5a7bfb9aba539f99db Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Wed, 25 Mar 2026 19:48:57 +0530 +Subject: [PATCH 5/5] tests fix removed fields + +Signed-off-by: phanirithvij +--- + tests/collection_test.py | 6 +----- + tests/collections_test.py | 17 ----------------- + 2 files changed, 1 insertion(+), 22 deletions(-) + +diff --git a/tests/collection_test.py b/tests/collection_test.py +index 7eb29fa..ddf4acb 100644 +--- a/tests/collection_test.py ++++ b/tests/collection_test.py +@@ -52,7 +52,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -66,7 +65,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -74,8 +72,6 @@ def test_actual_retrieve( + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + } + + response.pop("created_at") +@@ -95,7 +91,7 @@ def test_actual_update( + + expected: CollectionSchema = { + "fields": [ +- {"name": "num_locations", "truncate_len": 100, "type": "int32"}, ++ {"name": "num_locations", "type": "int32"}, + ], + } + +diff --git a/tests/collections_test.py b/tests/collections_test.py +index 788e3dc..bcee5ba 100644 +--- a/tests/collections_test.py ++++ b/tests/collections_test.py +@@ -1,6 +1,5 @@ + """Tests for the Collections class.""" + +- + import sys + + from typesense.async_.api_call import AsyncApiCall +@@ -113,7 +112,6 @@ def test_actual_create(actual_collections: Collections, delete_all: None) -> Non + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -127,7 +125,6 @@ def test_actual_create(actual_collections: Collections, delete_all: None) -> Non + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -135,8 +132,6 @@ def test_actual_create(actual_collections: Collections, delete_all: None) -> Non + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + } + + response = actual_collections.create( +@@ -185,7 +180,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -199,7 +193,6 @@ def test_actual_retrieve( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -207,8 +200,6 @@ def test_actual_retrieve( + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + }, + ] + +@@ -250,7 +241,6 @@ async def test_actual_create_async( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -264,7 +254,6 @@ async def test_actual_create_async( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -272,8 +261,6 @@ async def test_actual_create_async( + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + } + + response = await actual_async_collections.create( +@@ -322,7 +309,6 @@ async def test_actual_retrieve_async( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + { +@@ -336,7 +322,6 @@ async def test_actual_retrieve_async( + "infix": False, + "stem": False, + "stem_dictionary": "", +- "truncate_len": 100, + "store": True, + }, + ], +@@ -344,8 +329,6 @@ async def test_actual_retrieve_async( + "num_documents": 0, + "symbols_to_index": [], + "token_separators": [], +- "synonym_sets": [], +- "curation_sets": [], + }, + ] + +-- +2.53.0 + diff --git a/pkgs/by-name/funkwhale/deps/typesense/default.nix b/pkgs/by-name/funkwhale/deps/typesense/default.nix new file mode 100644 index 000000000..2f82f973d --- /dev/null +++ b/pkgs/by-name/funkwhale/deps/typesense/default.nix @@ -0,0 +1,91 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + requests, + pytestCheckHook, + typesense, + curl, + faker, + httpx, + isort, + pytest-asyncio, + pytest-httpx, + pytest-mock, + python-dotenv, + requests-mock, + respx, +}: + +buildPythonPackage (finalAttrs: { + pname = "typesense"; + version = "2.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "typesense"; + repo = "typesense-python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-GzapEl26FS6yMGeLC54y9ysl0mt9l6ceYHr84E6BqBo="; + }; + + patches = [ + # See . + ./0001-linux-only-metrics.patch + ./0002-generated-temp-path.patch + ./0003-tests-fix-endpoint-path.patch + ./0004-tests-fix-rule_id.patch + ./0005-tests-fix-removed-fields.patch + ]; + + build-system = [ setuptools ]; + + dependencies = [ requests ]; + + nativeCheckInputs = [ + pytestCheckHook + typesense + curl + faker + httpx + isort + pytest-asyncio + pytest-httpx + pytest-mock + python-dotenv + requests-mock + respx + ]; + disabledTestMarks = [ "open_ai" ]; + disabledTests = [ "import_typing_extensions" ]; + + __darwinAllowLocalNetworking = true; + + pytestFlags = [ "-vv" ]; + + preCheck = '' + TYPESENSE_API_KEY="xyz" \ + TYPESENSE_DATA_DIR="$(mktemp -d)" \ + typesense-server & + + typesense_pid=$! + + # Wait for typesense to finish starting. + timeout 20 bash -c ' + while ! curl -s --fail localhost:8108/health; do sleep 1; done + ' || false + ''; + postCheck = '' + kill $typesense_pid + ''; + + pythonImportsCheck = [ "typesense" ]; + + meta = { + description = "Python client for Typesense, an open source and typo tolerant search engine"; + homepage = "https://github.com/typesense/typesense-python"; + license = lib.licenses.asl20; + teams = [ lib.teams.ngi ]; + }; +}) diff --git a/pkgs/by-name/funkwhale/fix-allauth-internal-function-use.patch b/pkgs/by-name/funkwhale/fix-allauth-internal-function-use.patch deleted file mode 100644 index a2847d183..000000000 --- a/pkgs/by-name/funkwhale/fix-allauth-internal-function-use.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/funkwhale_api/users/views.py b/funkwhale_api/users/views.py -index 329f9e8d3..51ac0a5fc 100644 ---- a/funkwhale_api/users/views.py -+++ b/funkwhale_api/users/views.py -@@ -1,7 +1,7 @@ - import json - - from allauth.account.adapter import get_adapter --from allauth.account.utils import send_email_confirmation -+from allauth.account.models import EmailAddress - from dj_rest_auth import views as rest_auth_views - from dj_rest_auth.registration import views as registration_views - from django import http -@@ -39,7 +39,8 @@ class RegisterView(registration_views.RegisterView): - user = super().perform_create(serializer) - if not user.is_active: - # manual approval, we need to send the confirmation e-mail by hand -- send_email_confirmation(self.request, user) -+ email = EmailAddress.objects.get(user=user) -+ email.send_confirmation(request=self.request) - if user.invitation: - user.invitation.set_invited_user(user) - diff --git a/pkgs/by-name/funkwhale/fix-oob-schemes.patch b/pkgs/by-name/funkwhale/fix-oob-schemes.patch deleted file mode 100644 index f623e7ff6..000000000 --- a/pkgs/by-name/funkwhale/fix-oob-schemes.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/funkwhale_api/users/models.py b/funkwhale_api/users/models.py -index bb9348f8b..59734501f 100644 ---- a/funkwhale_api/users/models.py -+++ b/funkwhale_api/users/models.py -@@ -7,6 +7,7 @@ import uuid - from django.conf import settings - from django.contrib.auth.models import AbstractUser - from django.contrib.auth.models import UserManager as BaseUserManager -+from django.core.exceptions import ValidationError - from django.db import models, transaction - from django.db.models import JSONField - from django.dispatch import receiver -@@ -387,9 +388,20 @@ OOB_SCHEMES = ["urn:ietf:wg:oauth:2.0:oob", "urn:ietf:wg:oauth:2.0:oob:auto"] - - class CustomRedirectURIValidator(oauth2_validators.AllowedURIValidator): - def __call__(self, value): -+ if not value.startswith("urn:ietf:wg:oauth:2.0"): -+ return super().__call__(value) -+ - if value in OOB_SCHEMES: - return value -- return super().__call__(value) -+ -+ try: -+ oauth2_validators.URIValidator.__call__(self, value) -+ except ValidationError as e: -+ raise ValidationError( -+ "%(name)s URI validation error. %(cause)s: %(value)s", -+ params={"name": self.name, "value": value, "cause": e}, -+ ) -+ - - - oauth2_models.AllowedURIValidator = CustomRedirectURIValidator diff --git a/pkgs/by-name/funkwhale/missing-hashes.json b/pkgs/by-name/funkwhale/missing-hashes.json new file mode 100644 index 000000000..6f398b623 --- /dev/null +++ b/pkgs/by-name/funkwhale/missing-hashes.json @@ -0,0 +1,128 @@ +{ + "@esbuild/aix-ppc64@npm:0.25.11": "46c2697b0e5bf6a1d1d57e80358ee04fcb0d59a1c6648759ec94e12a83af50d35ecf2469cf7c5643f85a9b2c5b2f91173bc6485ebec9bb9add4a6b30b5dab95c", + "@esbuild/android-arm64@npm:0.25.11": "cc45d931e813767a15ad6e7fd6071c97865a2e9aaa0d3a78374da452d303dbea71a4f13c63426b01f71ce3c10dd208f9382e6387505111adaf631e39749aa404", + "@esbuild/android-arm@npm:0.25.11": "b8ee90079d3d6c02b732529b04d2e6c017d12b2c401f2f8d6e60ec5fb1060d819edde5429acfbc7471b2224b4457de8cb99b97bea4164e94a3da2cbf121e60a4", + "@esbuild/android-x64@npm:0.25.11": "c03182ed17c50ab29973b19814cbdee85ff67ba00e13f001fafabcf7538d061fd737a783fc4131f96e22b2e7bed26936e5e730b717bb88ffb0b8c429fadd6536", + "@esbuild/darwin-arm64@npm:0.25.11": "67114421780e01c947d3a646d9737d5965e2bf39ea75a2440d614971b7b2565a8cc91c39780f5b86adc25cdc466bbf1ade79a05cef71827e3f3a2be00435d868", + "@esbuild/darwin-x64@npm:0.25.11": "da5612584d5fc2e714efc0876826fa45a48fa3b881be4a728516f2394c6aeb72f6ca8ce08272106c24ea6a9b040513afd847b4ea9bfcc5a6637e427a1634acd7", + "@esbuild/freebsd-arm64@npm:0.25.11": "8ad357e0b7605a320d428b10ab704a2f34383786bb43e663ebb62ded22297343c72149ab126257629308195cd18b4828f9b90579b224c26d2ca56f416dcb3e48", + "@esbuild/freebsd-x64@npm:0.25.11": "a42ea4c6801eb2ff09b0f1e67a04b2d4a00da9dc08233a8dc227b25468efa954ea13478bd2f2dad46bf78e8d1ec3cf11b1edbc1b50af7e61da05e715f0ea0fc7", + "@esbuild/linux-arm64@npm:0.25.11": "c8f87df1d15ff5c835d782e26213bb28653eed9388351e42c073431ffa8e3606fa8e0670ccb0df325f56a9695782b34c98af2fe30756953a883f9da63d1eb42a", + "@esbuild/linux-arm@npm:0.25.11": "122d069ed8332d3eb6e3f0d99c7f25d8920d6aff3655013d6bc2f3666fcba85ae074402b54f3a2ca9a3a3a9cd54350fac1f56252d84d466daefca7a8dc82975b", + "@esbuild/linux-ia32@npm:0.25.11": "dbd90c3efbbb33b920abb3f3def4a61fcff258b8a60289c61c0ba6d5210fae8fd569af991ff9aaebe03b3c24a0c67a5fd74d8e32e8fd7c5a0dbf1898aeeb2bf3", + "@esbuild/linux-loong64@npm:0.25.11": "c58d14d84cf4f024f5cc585efd759b161ec4122767d94500578cf32f9649542ab7e7b5e2b88389d774d4544d50a39ba1e0d791793170643645ec6a2eb8836ffe", + "@esbuild/linux-mips64el@npm:0.25.11": "5a3f4ccefe0d8ed30806a6984b7b6cee17e2f2a14d3f6d64c37f05f78f6dddd04821fd5ff4d61044ce23c0206a8fd4f1535a90d534e26cb5e90c8c04d1203a0a", + "@esbuild/linux-ppc64@npm:0.25.11": "e35d0a4e54f7d48aa931abe6211b7fc374291b26cd59849fff938499114b5b34e3da15b71e67b76f83c1d712d6f78a50255d8b96bacaad8df233771126544ebe", + "@esbuild/linux-riscv64@npm:0.25.11": "4e932cf5950d97aec76aa5c52d7d15e7135f2b865414c97cd4410adc3f8b26e1588cda7a09222b92f54fff8c888180219e822b9a633c833098bb876b1e66ac02", + "@esbuild/linux-s390x@npm:0.25.11": "af2b8a5c0a6147985b1d194a7c1323b4693b72ad5884de1292f045882b41436cf4e64828c18cdbf7b85763060404279cc070fbf74c00f9f82d8f35469b8c0073", + "@esbuild/linux-x64@npm:0.25.11": "1e1fe2d9c8ae8ed76f3090ff2e4d3d084d581cc9298e349daf8addd398ae9b466a1817d9640202956d72479a82e602979ca364035d10e8cb6e2c2baf6e850081", + "@esbuild/netbsd-arm64@npm:0.25.11": "03e86862f25a9d3ed05383031ab3430ba73b80e5a1617cf0b9f91ce2a4d5700125398722a4a6145299d6f3626caca556d30604bd24f88af1a289794822322814", + "@esbuild/netbsd-x64@npm:0.25.11": "af848a8e720c5ba4fb63a748c657e366770e4f00a249dd4a0eb996bdafa0fcad7f04c88df3ed29cb1b488f76c4f7c3355e192ff71392c81d641dd52bc453355c", + "@esbuild/openbsd-arm64@npm:0.25.11": "40d46a15da7643aa57ba7a61aa8174cc7ead37f67b3438eaeb407f6527712b848327a025484a57ce936debced507a2d405614e790491aa181f8178c09b8f2ad2", + "@esbuild/openbsd-x64@npm:0.25.11": "8ee73b8cfe0b5d24433400bddcb20c3ceb2cab3d11112ba01c5ee799e3629d24267f6dcfcb2f3aef89726ddc5d10592e35ec46b9725cc9e297af3d8d35a3122b", + "@esbuild/openharmony-arm64@npm:0.25.11": "bf2fa9985a1aaba0a4376657e72e73c7d5368d0a1972e12788ec276384e6a20637904c5d07b52a9f10306735898730dbebd55a6234cc0cd30962ee130c7b9a8b", + "@esbuild/sunos-x64@npm:0.25.11": "7ac357650fadc4ad44a0615a184920734ab5f4432ddd913bef2cf4e4ef7855f7ffd1995cfabb323c10cb9b876f252cf3f7938b4450cfa9ce3b1488e47d91b6cf", + "@esbuild/win32-arm64@npm:0.25.11": "01a7db317fecb784cd273ddfb0f3eb35871709904cc879adfbeca139cb33fbe8db6d33ee53ae4eb3b4185ef9fb6d6f140d9ac0fcbbe61518cf546487d7430dcb", + "@esbuild/win32-ia32@npm:0.25.11": "cdb90fcd780022685374b762b2f6fdd19501ff43c4b4b63b9b875cdb56d4c79b4747f36f4893ce57d3f0c520aaf30b0f31309e606bae14738300b22bbb30b1df", + "@esbuild/win32-x64@npm:0.25.11": "a7b6080abc4d575c0572e880cefcb24faf89f7e48057652d6ab11e2e5b3fbd4555d27246ee281d5a1ac1f744a29ff90573e7075310e171ade9e2838665caefce", + "@oxc-resolver/binding-darwin-arm64@npm:4.2.0": "fc9857144a9bf00fb3cac55c9bad278e833be224edf714525928c69447ec4f55d1648d0cc5b000aa695910a2f6f4520dccdc21f79ca878bcb555b7ab515a57d4", + "@oxc-resolver/binding-darwin-x64@npm:4.2.0": "944b3f8951d8e08ebc889daf1e0fa44755f6543964f83f439897b1b9ed1948afda1c2e26184cf8118c71cf384a6a6b0e621d709bd6ca36497816746127282dcb", + "@oxc-resolver/binding-freebsd-x64@npm:4.2.0": "525cbf569ea8df05b184154184fd036036a7255e0ef54292882563a76ce4f1fc1fa43c996f2152197be808fd384bd8b4f31e76f874dcabf4425981fe7add2be8", + "@oxc-resolver/binding-linux-arm-gnueabihf@npm:4.2.0": "3b0a9b7b7b0915cced4afba75365d56bfdb3af8cbf7c4a1eb088ec7f03b3d4c3fae870feed3a267b51980ccaef56afb2c2d478382a0545537da0efa63d3fe328", + "@oxc-resolver/binding-linux-arm64-gnu@npm:4.2.0": "9e45430eb0d46aa3c6a9adb52b75d399f778d01b473508f33e492479abc504bf72f1344404d4bbfb29997bec5bbcdb781a5193d718ca7d4b12a5fee27ab0b9fe", + "@oxc-resolver/binding-linux-arm64-musl@npm:4.2.0": "b15d1c736ace3cc125e5f9ac299fdcbb8f9ea26907fa2ce1e7d5cdbdd9831c8b4dcdfe2317e6d274b09a50537ede41b7a4d92f5eb210c979a0b705f00bf9163f", + "@oxc-resolver/binding-linux-x64-gnu@npm:4.2.0": "0ac0a302db0970e4f7672df22a4ce037ec68f45abce5bcac274258a27cd01f477094fb29a6882df9462ac4b769832a3c55c78239538c78e0e38d2ad2a79282ac", + "@oxc-resolver/binding-linux-x64-musl@npm:4.2.0": "d183d4c96a0fe86e1860ad4354a8c6c76da0f2210a07bfc89d46565e9ce28dcdb765f818fe524da35aa9ba126891c3632194d76adf5a2cdf8a8acd5dc2d8f1d1", + "@oxc-resolver/binding-wasm32-wasi@npm:4.2.0": "83320ee5da700c985171a3bd394439631b383162e97d03e8ae04601692b6ed07a92e5557c846e9982a593b1fccd1a70bad0256e84a2c2584460b0ea6ce361b72", + "@oxc-resolver/binding-win32-arm64-msvc@npm:4.2.0": "474aeee4f2e0afc206e1e61e006874708878af38f88ee1bb4cdf3f81ce06f52c06c38bb5e5dc09a10dccdc6c3f4e9807453a14e37b780b9722bc14ef65975e1e", + "@oxc-resolver/binding-win32-x64-msvc@npm:4.2.0": "3b6901b32fb43a6e02ce1afc5dc4c3855fb63a1161bbda3c40ad33621b511d23e359587921d2d0851d7269e98de5f0052cb3b12634c240e2ebc80aff12106368", + "@parcel/watcher-android-arm64@npm:2.5.1": "f99d569e4f6cf78a1b0097fb9d4682cb201a74370ae440c531da4e1d5021e46141bfcdf8ef708b51a5b9cb1c30f78eea933ce75216d5eeb7b969a2ad27c68e4a", + "@parcel/watcher-darwin-arm64@npm:2.5.1": "973c7ef3c94608da9cd1b20b18b9a7de2fb46fe44553731fe372b640de524491976150d0845f3d5953b74ed8ea469cb8d18a48651d0e5fb82f549a6b46b54f79", + "@parcel/watcher-darwin-x64@npm:2.5.1": "848c5516aed9c36e14751200dbbf57e83c0bd46cdab0932df33db120e66b9596de18eeb98980e319efde84014f67d9e7924d7555383d8ffcefe35c501166b84b", + "@parcel/watcher-freebsd-x64@npm:2.5.1": "cbd2b7884bc92422edabc0c74c3fbc06512bb7300fc137aaff2e96f46f61e5272265a0b5d230acc82a0e777b0c11661f0b8b7f89a9342c0920b752436dd2c750", + "@parcel/watcher-linux-arm-glibc@npm:2.5.1": "f2e1ec14dbb0f85a84a75f55fd7721598694976ba3ad439832b57e558b0d9240cc80ff83053fb8cf7caffb0592d51bb39d325112763ec1734924b49d4ba9c144", + "@parcel/watcher-linux-arm-musl@npm:2.5.1": "83344c7ecda2e79db59d711bcee0c3fa26922989139c031bd762cf3d5bfb191797e22e9ed6072690b822dfd62629623ba4e7eedb3c41930a987fc3d4106000e1", + "@parcel/watcher-linux-arm64-glibc@npm:2.5.1": "562231feb159a294752378bebecc69a2d33366a9d877835844578799f8536398006e0e570849f9e2db04085a3ea82131459cd10fd6b42dea10cd73bd0c9ca13e", + "@parcel/watcher-linux-arm64-musl@npm:2.5.1": "f62db52a90ebbaa29ca9900e6b9bd3fc6e5c650741bbde9a2742cbc332c678b753fc6a596d67659394fd9262aa826463ea667d18cc554bcaaac9e8da1a2a29d0", + "@parcel/watcher-linux-x64-glibc@npm:2.5.1": "425e557991fde5092d6a9e20be71810600415e5fa157dca0b39bd8db86653d3ee7b037305261c8782d1a065f2a64d235e17b57876b26f5bb0dd7a9bdbe364690", + "@parcel/watcher-linux-x64-musl@npm:2.5.1": "4dbb066ba9478c8b8de39e3c1083cbb74f86f03eaf4445603e69909d6c072134644316faa20a2445419b9fe1a8063ade7b5331a5766d807ee0b15b8a70c59a2d", + "@parcel/watcher-win32-arm64@npm:2.5.1": "e015314d6b9b727cbe25eedf963ca8b23bf6d4e78d3c28008bd0d2657940ad54a271330486df3a93a5f1a30f2b8d052d14415b85cc7e7b747c6c73b5dc055628", + "@parcel/watcher-win32-ia32@npm:2.5.1": "920b6ad6a2095aeb9c2d329c5118472a3c14669fa93eaa99aa8050c76c5c2d3d76d92677167ed748c2ac5487c568d5df16d5d94f4bc7c354094fccd8e0d6350c", + "@parcel/watcher-win32-x64@npm:2.5.1": "8f1c8e41ec9f86e4dcd0d4db0a077742d5dcc853f15ea888387183e34e2efcff09fd1cc9ec46fc1121b9ad4ddc0e221283f2ffb23cfd7dbcbb8b03060b461963", + "@rolldown/binding-android-arm64@npm:1.0.0-beta.43": "568548358ad3e55e7a5de1a0fbd07164288a362097d41a0dd08d662ffb9243120516d1972dcfabd510f7436a270afa5163cc0e2feb0877e2c45f7b934a5b0972", + "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.43": "b0dd869770a55597fdfcf8b06bae41d5d1be41e2c6d8df8c6d48bf57c54084af0713398f31dbef711c6489c1ecf40777b2a301d0320af9ad7fea05e61299d4c8", + "@rolldown/binding-darwin-x64@npm:1.0.0-beta.43": "ef0ec9868c8c03c526fa4a593a312bea31f5ecb899912fb10a025aba4ffe3b5416912f9286bb2d7ae96683e73779fce4f5e4eb5ccc6869759c97f05cfcb37775", + "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.43": "8b7bf0ef55e7f6c9c0177c3e300c48f76a13b9f9bada74a8d6e1d57f2659d401d6b226a9c8dd5cf6aaca9b5a32e680cc1e738040a4c12dc324ae46722b1ca1d4", + "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.43": "4c6fb444cc9723b3210154cdb31cbe122859ef032c301699ae62cbdb7c426aa236effd931056f09ac439d560751526fac976decbc5adc8258c9ff9ed7db517ff", + "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.43": "58cadbcb7a26f9d4af68025d49156bc28058742d6fe0264ffc61eb7f9ae3d07bbad225f78f59924e396c8172a223bdf6db2b112fd50ab20946f4bc9070eda37b", + "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.43": "2ff14364914fa7996797a755d14dc61ee944f66bf54e59ee0d88cd68e71671f94d0ae1e0e0308d3dd38390e8b00f989a53dcfc42a074ba97721670c897813e17", + "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.43": "f8d8010fd7427120b42b32bce1b8d4f2d63fe0a38c28ec24abbe1c11d7400c80f116569e18c3d186bab10d2c3a90df591742e050d93a0551aaec566da99ff14b", + "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.43": "3cfb9c0f5dd6c1d2f8c60e46cf48a67eed1299dce4fb7e13547f89adb7266557014c0376aeb282e0969f6109733925345cda4ef8d27eda161da5d7365390710a", + "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.43": "4c8a36968600f6962fe149b3c4faba4466eb499ebfb7941dace01ce80616745660af084ec4aa997c7dbf1ead1558eeca355e1e33f0aaa4b96e588b26c3816ac0", + "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.43": "25d79c08fcd18b7269a6dd1073a2bb358fbd816880909bcf6599c4de7e7e0bb72236f59efc9ef62db6a508e650fc338986bc0960fb8c752aad121af322469386", + "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.43": "d829b0d94d301c5f51466ecf85656d24cd2f5f71a532972e2c3bec7f72e5a58b557e0ce49081159a969047ebac056230ac41cc91f61874ee248bf3611ccdfdb7", + "@rolldown/binding-win32-ia32-msvc@npm:1.0.0-beta.43": "5ce15eb693a2243d47a844fe442e71919050146c86655ebf80524b3de5850669915e14cf1d74310e8f41fc0252a97af0c49862126c90f06fddf590ec5b230a8f", + "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.43": "09b130cfacc3d60dee4525622c0e933630aeebbca25d0f778802d20667635510c505f410b7f85bec2921eb21f141a1ff234aaea9c79eaf30ee3dc0b3d9b8ec59", + "@rollup/rollup-android-arm-eabi@npm:4.52.5": "62451748fde2f4a8e8423b2e7f83fd0342e57433fa0f71d378ea38ed3f85dc6a0706ef9feae21d79428f4e274da45c07bc49eb1b3a82c08f6b98d8cf20de83f7", + "@rollup/rollup-android-arm64@npm:4.52.5": "d050880ec4e14c0d1ab7e32e6a843c3f39b4161ddd574532482807e6e559e34dee8bfe3862bf06a62e79e46a410afaa3dafedc5e0db41db5cf39c10bbcf32330", + "@rollup/rollup-darwin-arm64@npm:4.52.5": "4c7a2994ec5bb915b5b455a507b296c892c914ed0c0c3e8e1958d7e021dc47627a27c756f1628aca2e2ace8487dc93dd801483f0ec40f92603b6a788322e66ed", + "@rollup/rollup-darwin-x64@npm:4.52.5": "fcdc3b7954afea6dc191a6244e793a32e8373e1798020d1cfcaf5da48bd23c533b661763d2dbfb87412bf5b1a59377ec06560f64da869126ab8c995391de9047", + "@rollup/rollup-freebsd-arm64@npm:4.52.5": "f52788b616f5bc4c5edbc41ca2ac4fde7fbed678a0d2c3249111f4322a76550e682037563d07a0f07eb21f82289e9c5616c41797f3d9caa6d5b4261b8e1ce642", + "@rollup/rollup-freebsd-x64@npm:4.52.5": "8fcb45fd9b7ec02848230cefac866bca73f38071e2e85e1217627007df211e814743e3e2525b236dc410acea7f7c4484050e2338391bda509bac34e7e0bc9ca4", + "@rollup/rollup-linux-arm-gnueabihf@npm:4.52.5": "ff055f9efd2f8d1e1ced74a0defa0d089b54789f2b3d3d8f9261180059d6cd45fb895399c938c87467419ce1b37f7c50eaec333d5f140e7d8b53874cfba7bad9", + "@rollup/rollup-linux-arm-musleabihf@npm:4.52.5": "2932799d8e79831d1f79032d2bced666503466a5d3b87e98a12f577400bad80dfb5ce2883318059c038d061319ed51ed58213bc9b253b3c60a1ac5ca3807ba46", + "@rollup/rollup-linux-arm64-gnu@npm:4.52.5": "f2bf47b114856efd75e23baa3c3954fc2a8b864d678610fec5c2ecdab5736d1068fe3c813d29592a9de3f54c0de4055190670ef842333f5bc9e34e1221fb403e", + "@rollup/rollup-linux-arm64-musl@npm:4.52.5": "26c8ded405da1a31c414677de84c261d1139cd7bf568e979036d39c613a2783bff559ba9cd4ebeda06c517d709050fea97ed65ca482316322984a1bad51ccc05", + "@rollup/rollup-linux-loong64-gnu@npm:4.52.5": "3fec9dbb69d304495c40c26d49e736ae98ac173368ed0f0115fdf90b464e8bdd716b5a10f0458438a8ee31d5b13cb219ceff2ea0773537a87b597a3aaf6c0fbd", + "@rollup/rollup-linux-ppc64-gnu@npm:4.52.5": "542b1171f910f3298a1f326ca6dfb41463ac8a9291f21502830a75217d91c38a0701517c4424c1d114b7fcba06b5fdc1ac95b9814ff542fc1c5741c965a12fc0", + "@rollup/rollup-linux-riscv64-gnu@npm:4.52.5": "3f8a728b372d5cd2964281bdfe6184cd6dcff579681ea3a9bcb240d2fdaa0181a763f6f34930eae206d00c687cbecfa3d3b18b49bfdef0b772809fac80e007d8", + "@rollup/rollup-linux-riscv64-musl@npm:4.52.5": "26b5a6d0983aeea544421d697787a540de653a84f948389280cfde0add366fa0fb7af4a5e67ca490a63a8fabca801f04b23a70bb948cbe06d48aa0ab0b3fff73", + "@rollup/rollup-linux-s390x-gnu@npm:4.52.5": "6f4b1605d9cb191ec404ad2418f5fbc43d5585a83eeb33f8a8de6d2393e4ec85fb42a4e55da7d100bdd708e830e89b815d4e444f34b3002096370b1e1e80bee7", + "@rollup/rollup-linux-x64-gnu@npm:4.52.5": "70fdee240db9c56c9a2a202450f4fb2b8cad059bb001c10cfc37b8ba1a333f1ad61b4a9bc01df005d9d0eb9c7ae57103c70c4ba58ef89942e11b0eb449cb3fd8", + "@rollup/rollup-linux-x64-musl@npm:4.52.5": "871865574e0a5f79af49151685b1e243d43f0eb11100cffb9d835c4aa3423a471dfbb56ba7d16928eb11df7956e307c74d0b5cd872db711cd382bc36e487be9a", + "@rollup/rollup-openharmony-arm64@npm:4.52.5": "15150989aa46138a5675962f1bfb01640a212e26976e799be4b0029c2e6f0e7a21b32754457b13dac05d02aa04814b6d0a6ee43dbf3473dc9fce00c7d8c0155f", + "@rollup/rollup-win32-arm64-msvc@npm:4.52.5": "6433d349de33e71bb1cd11192ac58827630ef1b4eef79af40708cd7a8375922bfdcde69ed9e31309ae9b9224e3d9237ac00191a1c8406c7e3bbfa99d57baae00", + "@rollup/rollup-win32-ia32-msvc@npm:4.52.5": "0da2d66ad1bc046a601b9de5a1266ba61a08e211df670d056451a58ee92a1a1de3739cfae853bf133c4204802ec7c72d2fae607f7ef31789e6124c23441f3f07", + "@rollup/rollup-win32-x64-gnu@npm:4.52.5": "a7d3489e79f1cd8e4d34e784f3e32e9681170e4fc7d568cf43b31511c6b9c0e03db722c76baa595799c85ebd96a7e6ce66670ec00ed253e674d7e732a244c554", + "@rollup/rollup-win32-x64-msvc@npm:4.52.5": "eb1c823b1e13f27b49321ae56f4c35710194d674034820f6c0b66a2309cbefaff7bc4a58e6c3fbb2453f8913f4aa1cc173cf9f6e9085df47f1922626630260da", + "@tauri-apps/cli-darwin-arm64@npm:2.8.4": "de198401193ce2ca4c07ed43ef9a89db2d352290479779ba2465a3aead697c86bd489a262e96e08dfeac1c563e3db706ba82f0e1e142638494aa4a9800816a1e", + "@tauri-apps/cli-darwin-x64@npm:2.8.4": "f708ba1a329d907e675612b8458ba5ada9649731857d4ac57d89e8913f213acbc85ccd40617063edcbee199f024474820d41e5381b0020323a6fb6b5de7877f5", + "@tauri-apps/cli-linux-arm-gnueabihf@npm:2.8.4": "a2d64ec5120f1fae3e6a3af28e5ccd3543c94f97277765f97a4bb2932143530eb16de2d2a6dd9f581fca44bb0522ee0551e6211d3f314d15d5f4a20771b272cc", + "@tauri-apps/cli-linux-arm64-gnu@npm:2.8.4": "a7cde7b644fed1404cd6d2a863b11e6734fe5a3f23af56cb4a319cf785fe14d6d8109a3fab0c484563e9273e31e5147b64ebd652de64417bf16546776ecdcd86", + "@tauri-apps/cli-linux-arm64-musl@npm:2.8.4": "5c7f527c46e7052d14732bcc08cf3a6fc0a011302e3c4e55248c98b439eb1c4eaced2fd262a6f700cb5ca37770d39f755d2f1c44ae4a21ad3fc323538e1954be", + "@tauri-apps/cli-linux-riscv64-gnu@npm:2.8.4": "3858837346d2ca006e4b8418dda4b68102059280e76aef2ebe4b90577a41407adf9f16674402140bf01b120f455453ea0099ff3f88274645e3b748c3c45c30fa", + "@tauri-apps/cli-linux-x64-gnu@npm:2.8.4": "b2d7c74bf0a7ad34b0009bd19e6f0bd388775e43365ca3d1bda75be06e15f38ec2d53f528bd08d14cfa170252943d656ce5ab554d5687d288a85071c47c0c7a6", + "@tauri-apps/cli-linux-x64-musl@npm:2.8.4": "d7f2755cfdc74bb416c73a1510002c1e8ba8450aa44cd5d562ee08ccfe20dec95d962f6098d8c70a29fb4ad1088b9583bc34191def6cfbaa05bb313cfffc250c", + "@tauri-apps/cli-win32-arm64-msvc@npm:2.8.4": "cc00c4edace7f25f11d5789f9727d9861dcb15181bdfac222d2be66ade3558d941e2b523d51c7468227633fd4bd14fdd49cba4433677bf9da97ce82f5a40aad1", + "@tauri-apps/cli-win32-ia32-msvc@npm:2.8.4": "e25cb4cfe210ae6a3c4599b58a5c437004f0219483206b3f4b58d4023d1eccf2859037e37b9a4fa65ee974c2e0052a36889dd414003a764757b413edcd15c1c9", + "@tauri-apps/cli-win32-x64-msvc@npm:2.8.4": "2619e879a1df1deae8aa026fd4b2ed5d9b618abeef40328549f2eda3d5669136ea2c07338ef424f7072d4d0be2d977cf467b15b3697abf5a7323ff4932eae692", + "lightningcss-android-arm64@npm:1.30.2": "7b8a62c7aa787251381e9e082fc19991e8bca696f17be4dad0a5c3a31483d1452e6f8b04713b9c9221ef8d9b011510ee10d69c34005294be92ba2e57ad075a90", + "lightningcss-darwin-arm64@npm:1.30.2": "fe4f6eb4af66f95a0f83a9b4970f863417ae9ac394b5c963a20cda24ae08ae0ce6ebdc6f8e664d8b53717afb936242b9a73394584b55ecf2978babab50364e93", + "lightningcss-darwin-x64@npm:1.30.2": "b2d82add63e88d77dbd08508a32c1c28a12de826d4dd70f6ec17ffae9d3c5bf1be7a7c35f154bf98bca4164b7390ba515202884e4cabaa83ed7f1727baaa08fa", + "lightningcss-freebsd-x64@npm:1.30.2": "cea6113555ed6fd69e10c67a8616d3b4c743eacd817e93d290b7d85d1c2eb29386466e55f61890f4aee87cafe062ef037b92824160418dd1c299bb7d15796cec", + "lightningcss-linux-arm-gnueabihf@npm:1.30.2": "93119a9476759aff2a1a3fe35dfdfd39b0eab320b76725b36bddfc11f258f80140831169ed10f5528349863f7c6497358ec73d3c13054e6dc72ef5b26a22bd26", + "lightningcss-linux-arm64-gnu@npm:1.30.2": "c52236dd9777f150b849e0ed4ec1a4d17dc2bbe1ffa802286483d9c71e868eef16b54e348e410d44921262beb4474d2b4c90c268aa2c1109e55899d7cf8294c8", + "lightningcss-linux-arm64-musl@npm:1.30.2": "85b54252172367c9b15be312c55f982d0541063b0626faa370c26d5eb8bedc36e036b6081374aba35f68d9e82c729239fb7af52f997004df715b09a6f7c5d453", + "lightningcss-linux-x64-gnu@npm:1.30.2": "658f54482728885541331184a5fefc3df76e1f4d691ad28d70b559dc391d552837bc95676449e48cbdcda8d63165f0f56c921a09ec2c6fc591b427c566e0b9ed", + "lightningcss-linux-x64-musl@npm:1.30.2": "6b046d57dab2237729953f1350a922844fafd16bdbae3a9ee17b04abdc2e2d2392ccd61932e7210276bf18938165d900517d2079ec57d866fd288b8bba28dbd4", + "lightningcss-win32-arm64-msvc@npm:1.30.2": "f8383d06fe81494ba34b9bd7eb713ad91dbd84d4f321526b5190d7908e95591e462159acf71f6d3a0c33ea1251d5e80c012d255d94e9aa4187a476a810a249bc", + "lightningcss-win32-x64-msvc@npm:1.30.2": "ab86748b46ca851d29c387cb349cd35ca9da6fc73082b759ef84d358ec08ece6491e0eb137ea8b30b85419c20075c59f44620ab026d9a0aa0e86d3e0a610a960", + "sass-embedded-all-unknown@npm:1.93.2": "a71f67fb4b9602e914cf752217769a60f4f458cf16f02b6c9a037c7f8ef4e0e47b2ef3459994e66ba783588594df37985ac5f7f4b27ed392c1f9dbef35660357", + "sass-embedded-android-arm64@npm:1.93.2": "64c9befadbb9e25573c4bc136ee6426f8e7e066c239171777a358f00e60e44fd57203c325206e27fe9aacb46bfb791503ec4bff0f96308a3e09c17dceeabbbc5", + "sass-embedded-android-arm@npm:1.93.2": "c1ab390df3b5464a674cb2bd3dfc63fb1b4436284445296cb9f7c3aeaa1a39741eecffb324d0eb32b603bb366a811ed5fae0e5ecf7daa8643c40e0337f1558e3", + "sass-embedded-android-riscv64@npm:1.93.2": "48ef513496e2ef191a274558ff90779bb888a00129b2d7c3d612b57aa55cab0ac4cafb6e547b046c244e0c27e2f23a58462724c48a9a9749b91aec91a61253c8", + "sass-embedded-android-x64@npm:1.93.2": "8dba70d34fa5425f3b4f7e912976b57e73b72c0e080791dc067c2dc512a1ecb07a9e8566c7a6e3814bb91162e0042b47278f784e297a328ed780bce6c3945a95", + "sass-embedded-darwin-arm64@npm:1.93.2": "d312f6c2721d1fa1d778ff615eeda433d1f2266cfe73bc45926dbccd47e53ba7e36478e4459ab5ca5aa424ebb9d7e22655aca1b3e3d4c3f80bfef24a67fe9ecd", + "sass-embedded-darwin-x64@npm:1.93.2": "23492b4c75dcc9c9fab2c943c16404f7928da097f29b1073b7f30cd344ebc9d7f43e22c212919e6d60d69fd87522546f208fb2e04f7c4e764b6e7e5bba204c8c", + "sass-embedded-linux-arm64@npm:1.93.2": "88f4f1967dc9fa5128c1d29c64da99b9f9a5c87e52d102bc14a8ff6e9288f1eef77769ade41dce0a593297eb6ea1d879868ba1f9fc5f66cf24b193ab1e083238", + "sass-embedded-linux-arm@npm:1.93.2": "3b4ea034d4d32b7d620ad1df51047b727a30486dcf69a3009110f6bbe5c19a39dde351c60e987391592fb093e51202c9a0c1770d25c3b889853df20db155168e", + "sass-embedded-linux-musl-arm64@npm:1.93.2": "0a752fc5533bb9476ea3014396a4864177e4eb5a1d7d81e266fdb9a413a82cd5c2a5e839c06e27c21916ee23f6f73616503027406d9012b5a9da9b759feef9a5", + "sass-embedded-linux-musl-arm@npm:1.93.2": "c82de6d09390757a45d0b3a96518ef68ba2775e7bfdf3923b002fb6f61590105dbabf3cb2cf9c6ef45f45e486e20c14a9ce6e230583e264e6d78709779512957", + "sass-embedded-linux-musl-riscv64@npm:1.93.2": "bf9c71004579bb32b485cb229d71cdc39e6e41f44887113e7cf0bfbfe4ce00bf15236afea9b75d9156aaad7328bff6f550f04915fba9cd6a3e07baa96104564a", + "sass-embedded-linux-musl-x64@npm:1.93.2": "94bcf60465ebb2518e7af954c54b84bd572a25ea2b29a56341a95c42936c74ccf3511dc6002ed845c0a0452f3fa248045ea0e84e25ae2e2caa03957588ce0f05", + "sass-embedded-linux-riscv64@npm:1.93.2": "a8c59c78d43fc324c4f3030b9c05db32d6614fdc3ed78d76f40bf7ef080d7382cba9e152ceb9d286401aaf1f00fb2397e9c50f55683e883223639f994970013d", + "sass-embedded-linux-x64@npm:1.93.2": "56887e44759d4f49c94ab37c77e449590fa80c2d802ed7681fbc2b7315b128187e6c598f969e06a1811bf30b7e1c568008b75ac4293667bbfb094e248cf403b6", + "sass-embedded-unknown-all@npm:1.93.2": "b453bf4fe9e4b0d344ccdebd31abefadf62e1bd25b16d4e74f8f9f502f8aebdae20b69dd210eacafb6658027bfdc6d3e5c624cad2731919f067e6bcd4a44ec66", + "sass-embedded-win32-arm64@npm:1.93.2": "a481e11f298e818ea7faa01e582e7b6afa80587333c51b233276eb38bb53d2fc1352e5ca2436039d84c8ebd97ac8e69e712714368f9c47377592e87a938dda63", + "sass-embedded-win32-x64@npm:1.93.2": "dbc5cacf2b05739c69f1d46df772d2d6b9ab47dbc3a26612706da1c522f1ed5c8aca33e39eb31735daae7289e304215921697f2598c0d76c3fa690e0e5799992" +} diff --git a/pkgs/by-name/funkwhale/package.nix b/pkgs/by-name/funkwhale/package.nix index b1244c466..95d401c82 100644 --- a/pkgs/by-name/funkwhale/package.nix +++ b/pkgs/by-name/funkwhale/package.nix @@ -7,18 +7,21 @@ redisTestHook, funkwhale, runCommand, + typesense, + curl, # Frontend stdenv, - fetchYarnDeps, - yarnConfigHook, - yarnBuildHook, + yarn-berry_4, nodejs, + cypress, + dart-sass, nix-update-script, }: let python = python3; + yarn-berry = yarn-berry_4; meta = { description = "Federated platform for audio streaming, exploration, and publishing"; @@ -32,7 +35,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "funkwhale"; - version = "2.0.0-alpha.2"; + version = "2.0.0"; pyproject = true; src = fetchFromGitLab { @@ -40,7 +43,7 @@ python.pkgs.buildPythonApplication rec { owner = "funkwhale"; repo = "funkwhale"; tag = version; - hash = "sha256-4WvTyVqFuSlkim/9S88tutvXJqA4VHsILH5q4WKsjo8="; + hash = "sha256-hMxVWnKa2n8ZmY8A2J8603tpyRvTH/Po37gZDBmRKWY="; }; sourceRoot = "${src.name}/api"; @@ -50,12 +53,6 @@ python.pkgs.buildPythonApplication rec { # See https://github.com/NixOS/nixpkgs/pull/448893. ./replace-unicode-slugify.patch - # The function was removed in an update. - ./fix-allauth-internal-function-use.patch - - # Broken in - ./fix-oob-schemes.patch - ./fix-root-filesystem-tests.patch ]; @@ -120,6 +117,7 @@ python.pkgs.buildPythonApplication rec { cryptography defusedxml feedparser + httpx python-ffmpeg liblistenbrainz musicbrainzngs @@ -137,7 +135,9 @@ python.pkgs.buildPythonApplication rec { pycountry # Typesense - typesense + #typesense + # Remove once https://github.com/NixOS/nixpkgs/pull/503394 is merged + (python3.pkgs.callPackage ./deps/typesense { inherit typesense curl; }) ipython pluralizer @@ -196,24 +196,41 @@ python.pkgs.buildPythonApplication rec { inherit version src; sourceRoot = "${src.name}/front"; - yarnOfflineCache = fetchYarnDeps { + missingHashes = ./missing-hashes.json; + offlineCache = yarn-berry.fetchYarnBerryDeps { yarnLock = "${src}/front/yarn.lock"; - hash = "sha256-+rGiKBg18XL6W5b5VaYAbwbF+kQGX8JBIn0ATJyd9Bg="; + # TODO update script + # yarn-berry-fetcher missing-hashes $(nix-build -A funkwhale.frontend.src)/front/yarn.lock >pkgs/by-name/funkwhale/missing-hashes.json + missingHashes = ./missing-hashes.json; + hash = "sha256-II/9X4JILGJli5gSznIfKMGlDzp84IMJS7l1qV2KNOk="; }; - yarnBuildScript = "build:deployment"; + env = { + CYPRESS_INSTALL_BINARY = 0; + CYPRESS_RUN_BINARY = lib.getExe cypress; + }; nativeBuildInputs = [ - yarnConfigHook - yarnBuildHook + yarn-berry.yarnBerryConfigHook + yarn-berry nodejs + dart-sass ]; + buildPhase = '' + runHook preBuild + + # force sass-embedded to use our own sass instead of the bundled one + substituteInPlace node_modules/sass-embedded/dist/lib/src/compiler-path.js \ + --replace-fail 'compilerCommand = (() => {' 'compilerCommand = (() => { return ["${lib.getExe dart-sass}"];' + + yarn run build:deployment + runHook postBuild + ''; + installPhase = '' runHook preInstall - cp -r dist $out - runHook postInstall ''; @@ -222,6 +239,7 @@ python.pkgs.buildPythonApplication rec { }; }; + # TODO experimental combinator updateScript = nix-update-script { extraArgs = [ "--subpackage" diff --git a/pkgs/by-name/funkwhale/replace-unicode-slugify.patch b/pkgs/by-name/funkwhale/replace-unicode-slugify.patch index bcec406ca..68eeb9ed0 100644 --- a/pkgs/by-name/funkwhale/replace-unicode-slugify.patch +++ b/pkgs/by-name/funkwhale/replace-unicode-slugify.patch @@ -1,5 +1,5 @@ diff --git a/funkwhale_api/common/storage.py b/funkwhale_api/common/storage.py -index ebf70a367..e5edfafae 100644 +index ebf70a367..cf82e2d3e 100644 --- a/funkwhale_api/common/storage.py +++ b/funkwhale_api/common/storage.py @@ -1,4 +1,5 @@ @@ -8,28 +8,32 @@ index ebf70a367..e5edfafae 100644 import shutil import slugify -@@ -10,7 +11,7 @@ def asciionly(name): +@@ -10,7 +11,11 @@ def asciionly(name): """ Convert unicode characters in name to ASCII characters. """ - return slugify.slugify(name, ok=slugify.SLUG_OK + ".", only_ascii=True) -+ return re.sub(r"[\s]+", "-", slugify.slugify(name, regex_pattern=r"[^\s\-_~\.a-zA-Z0-9]+", separator="")) ++ return re.sub( ++ r"[\s]+", ++ "-", ++ slugify.slugify(name, regex_pattern=r"[^\s\-_~\.a-zA-Z0-9]+", separator=""), ++ ) class ASCIIFileSystemStorage(FileSystemStorage): diff --git a/funkwhale_api/music/models.py b/funkwhale_api/music/models.py -index 005990995..536e1dfdb 100644 +index 8abe0d289..bfd354008 100644 --- a/funkwhale_api/music/models.py +++ b/funkwhale_api/music/models.py -@@ -2,6 +2,7 @@ import datetime - import itertools +@@ -3,6 +3,7 @@ import itertools import logging import os + import random +import re import tempfile import urllib.parse import uuid -@@ -789,7 +790,7 @@ TRACK_FILE_IMPORT_STATUS_CHOICES = ( +@@ -779,7 +780,7 @@ TRACK_FILE_IMPORT_STATUS_CHOICES = ( def get_file_path(instance, filename): # Convert unicode characters in name to ASCII characters. @@ -39,11 +43,11 @@ index 005990995..536e1dfdb 100644 if isinstance(instance, UploadVersion): return common_utils.ChunkedPath("transcoded")(instance, filename) diff --git a/pyproject.toml b/pyproject.toml -index 23453fe10..ad8bb069e 100644 +index 37d13aa31..ad2cbda91 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -98,7 +98,7 @@ typesense = { version = "==1.0.3", optional = true } - ipython = "==9.2.0" +@@ -98,7 +98,7 @@ typesense = { version = "==1.3.0", optional = true } + ipython = "==9.10.0" pluralizer = "==1.2.0" service-identity = "==24.2.0" -unicode-slugify = "==0.1.5" From 2692b5b6041983e327a0a4def613a792f0c5a0ae Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 23:22:34 +0530 Subject: [PATCH 16/35] projects(Funkwhale): fix nixos test Signed-off-by: phanirithvij --- projects/Funkwhale/services/funkwhale/tests/basic.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/projects/Funkwhale/services/funkwhale/tests/basic.nix b/projects/Funkwhale/services/funkwhale/tests/basic.nix index bf5d98f1a..5aa92dcd7 100644 --- a/projects/Funkwhale/services/funkwhale/tests/basic.nix +++ b/projects/Funkwhale/services/funkwhale/tests/basic.nix @@ -39,7 +39,7 @@ machine.succeed("curl --fail http://localhost") # Can create supseruser and login. - machine.succeed("sudo -u funkwhale funkwhale-manage fw users create --superuser " + machine.succeed("cd /var/lib/funkwhale && sudo -u funkwhale funkwhale-manage fw users create --superuser " "--username testinahat --email test@example.com --password teast1997") machine.succeed('curl --fail http://localhost/api/v2/users/login ' '--form "username=testinahat" --form "password=teast1997" ' @@ -50,4 +50,11 @@ machine.succeed("sudo -u funkwhale funkwhale-manage generate_typesense_index") machine.wait_for_console_text("typesense\\.build_canonical_index.*succeeded") ''; + + # Debug interactively with: + # - nix build -f . projects.Funkwhale.tests.basic.driverInteractive + # - ./result/bin/nixos-test-driver + # - run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; } From 436881a844d1eedc594efca98931e170c68efbbc Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sat, 28 Mar 2026 22:43:39 +0530 Subject: [PATCH 17/35] projects(holo): fix test and update package Nixpkgs pr 504411 Signed-off-by: phanirithvij --- pkgs/by-name/holo-cli/libyang4-sys.patch | 12 +++ pkgs/by-name/holo-cli/package.nix | 76 +++++++++++++++++++ .../holo/services/holo/tests/ietf-ospfv3.nix | 14 +++- 3 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 pkgs/by-name/holo-cli/libyang4-sys.patch create mode 100644 pkgs/by-name/holo-cli/package.nix diff --git a/pkgs/by-name/holo-cli/libyang4-sys.patch b/pkgs/by-name/holo-cli/libyang4-sys.patch new file mode 100644 index 000000000..829d39818 --- /dev/null +++ b/pkgs/by-name/holo-cli/libyang4-sys.patch @@ -0,0 +1,12 @@ +--- a/build.rs ++++ b/build.rs +@@ -62,6 +62,9 @@ + cmake_config.define("ENABLE_BUILD_TESTS", "OFF"); + cmake_config.define("CMAKE_BUILD_TYPE", "Release"); + cmake_config.define("CMAKE_POSITION_INDEPENDENT_CODE", "ON"); ++ // https://github.com/CESNET/libyang/blob/3d07c3a71534a580c3960907da17568eff7e5c64/CMakeModules/FindPCRE2.cmake#L9 ++ cmake_config.define("PCRE2_INCLUDE_DIRS", "@PCRE2_INCLUDE_DIRS@"); ++ cmake_config.define("PCRE2_LIBRARIES", "@PCRE2_LIBRARIES@"); + let cmake_dst = cmake_config.build(); + println!("cargo:root={}", env::var("OUT_DIR").unwrap()); + println!("cargo:rustc-link-search=native={}/lib", cmake_dst.display()); diff --git a/pkgs/by-name/holo-cli/package.nix b/pkgs/by-name/holo-cli/package.nix new file mode 100644 index 000000000..93942defe --- /dev/null +++ b/pkgs/by-name/holo-cli/package.nix @@ -0,0 +1,76 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + fetchpatch2, + + stdenv, + replaceVars, + + cmake, + pkg-config, + protobuf, + + pcre2, + + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "holo-cli"; + version = "0.5.0-unstable-2026-03-15"; + + src = fetchFromGitHub { + owner = "holo-routing"; + repo = "holo-cli"; + rev = "36fdc13323e384c086da8663f0d510b238fb6e4f"; + hash = "sha256-5Nvyh9gznMsutu3wHR6gwgKkIm115hbx4R6D/Gm1Rug="; + }; + + # cargo lock is outdated + cargoPatches = [ + # https://github.com/holo-routing/holo-cli/pull/31 + (fetchpatch2 { + url = "https://github.com/holo-routing/holo-cli/commit/8e282c056f7d3cc00c1f1b544659f94c150e72e9.patch?full_index=1"; + hash = "sha256-/Gw4ilFjfsMNS4em21Lkf4OmyjU0xHAKfmAXS6i320E="; + }) + ]; + + cargoHash = "sha256-77aUfXcnVQLVEKQuUdBZ4k5/3rOoe9PvGC0AlJS0UJc="; + + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + pushd $cargoDepsCopy/*/libyang4-sys-* + patch -p1 < ${ + replaceVars ./libyang4-sys.patch { + PCRE2_INCLUDE_DIRS = "${lib.getInclude pcre2}/include"; + PCRE2_LIBRARIES = "${lib.getLib pcre2}/lib/libpcre2-8${stdenv.hostPlatform.extensions.sharedLibrary}"; + } + } + popd + ''; + + # Use rust nightly features + env.RUSTC_BOOTSTRAP = 1; + + nativeBuildInputs = [ + cmake + pkg-config + protobuf + ]; + + buildInputs = [ + pcre2 + ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = { + description = "Holo` Command Line Interface"; + homepage = "https://github.com/holo-routing/holo-cli"; + license = lib.licenses.mit; + mainProgram = "holo-cli"; + maintainers = with lib.maintainers; [ themadbit ]; + platforms = lib.platforms.all; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/projects/holo/services/holo/tests/ietf-ospfv3.nix b/projects/holo/services/holo/tests/ietf-ospfv3.nix index 0bd27fb16..0bd2bcb81 100644 --- a/projects/holo/services/holo/tests/ietf-ospfv3.nix +++ b/projects/holo/services/holo/tests/ietf-ospfv3.nix @@ -40,7 +40,9 @@ machine.wait_for_open_port(50051) # Test the running configuration is empty - machine.succeed("holo-cli -c 'show running format json'") + out = machine.succeed("holo-cli -c 'show running format json'") + print(out) + assert out.strip() == "{}"; # Configure an OSPFv3 instance: # as seen in https://asciinema.org/a/qYxmDu1QjGPBAt5gNyNKvXhHk @@ -55,6 +57,14 @@ machine.send_chars("exit\n", 1) # Verify the configuration was applied (in interactive test) - machine.succeed("test \"$(holo-cli -c 'show running format json')\" != \"{}\""); + out = machine.succeed("holo-cli -c 'show running format json'") + print(out) + assert out.strip() != "{}"; ''; + + # Debug interactively with: + # - nix run .#projects.holo.tests.basic.driverInteractive -L + # - start_all()/run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; } From 23f4ae0860b9a314324decae118811a3f2544850 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sat, 28 Mar 2026 22:52:06 +0530 Subject: [PATCH 18/35] projects(mitmproxy): mark test as broken fix is in nixpkgs pr 504385 Signed-off-by: phanirithvij --- projects/mitmproxy/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/projects/mitmproxy/default.nix b/projects/mitmproxy/default.nix index b707735f9..6bcfff4fc 100644 --- a/projects/mitmproxy/default.nix +++ b/projects/mitmproxy/default.nix @@ -20,6 +20,9 @@ module = ./demo.nix; description = ""; tests.basic.module = pkgs.nixosTests.mitmproxy; + tests.basic.problem.broken.reason = '' + Broken in nixpkgs, fix: https://github.com/NixOS/nixpkgs/pull/504385 + ''; }; }; }; @@ -28,5 +31,8 @@ module-demo = ./module-demo.nix; description = ""; tests.demo.module = pkgs.nixosTests.mitmproxy; + tests.demo.problem.broken.reason = '' + Broken in nixpkgs, fix: https://github.com/NixOS/nixpkgs/pull/504385 + ''; }; } From 5461373b508410e05bf904333ba3556f1e7dcdec Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 25 Mar 2026 19:57:53 +0530 Subject: [PATCH 19/35] pdfding: vendor 1.6.3 nixpkgs PR at 496164 Signed-off-by: phanirithvij --- pkgs/by-name/pdfding/frontend.nix | 80 +++++++++++++ pkgs/by-name/pdfding/package.nix | 190 ++++++++++++++++++++++++++++++ pkgs/by-name/pdfding/update.sh | 53 +++++++++ 3 files changed, 323 insertions(+) create mode 100644 pkgs/by-name/pdfding/frontend.nix create mode 100644 pkgs/by-name/pdfding/package.nix create mode 100755 pkgs/by-name/pdfding/update.sh diff --git a/pkgs/by-name/pdfding/frontend.nix b/pkgs/by-name/pdfding/frontend.nix new file mode 100644 index 000000000..dcdb4b06b --- /dev/null +++ b/pkgs/by-name/pdfding/frontend.nix @@ -0,0 +1,80 @@ +{ + stdenv, + fetchNpmDeps, + fetchzip, + fetchFromGitHub, + npmHooks, + + tailwindcss_4, + nodejs, +}: +let + pdfjsVersion = "5.4.394"; # see update script + pdfjsHash = "sha256-pd7xwfvR9U1bHT5eblszYU3YJQwQwhuyDDiNj+fnyaQ="; + pdfjs = fetchzip { + url = "https://github.com/mozilla/pdf.js/releases/download/v${pdfjsVersion}/pdfjs-${pdfjsVersion}-dist.zip"; + hash = pdfjsHash; + stripRoot = false; + postFetch = '' + rm -rf $out/web/locale \ + $out/web/standard_fonts \ + $out/web/compressed.tracemonkey-pldi-09.pdf + + # remove source maps + find "$out" -name '*.map' -exec rm -f '{}' \; + ''; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "pdfding-frontend"; + version = "1.6.3"; + src = fetchFromGitHub { + owner = "mrmn2"; + repo = "PdfDing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Qfw5urcUsVMxaVeVQeZkG8x5aK29y1HrcRY69AbdUXA="; + }; + + npmDeps = fetchNpmDeps { + inherit (finalAttrs) src; + name = "pdfding-frontend-${finalAttrs.version}-npm-deps"; + hash = "sha256-XsaVnl7JNitRVDVxk82jy3/P81TgVK4EoXIrWSBPDVQ="; + }; + + nativeBuildInputs = [ + nodejs + npmHooks.npmConfigHook + # it is in package.json and thus node_modules but no cli executable + tailwindcss_4 + ]; + + # keeping the file structure same as upstream to minimise confusion + buildPhase = '' + runHook preBuild + mkdir -p $out/pdfding + cp -r --no-preserve=mode pdfding/static $out/pdfding/static + cp -r --no-preserve=mode ${finalAttrs.passthru.pdfjs} $out/pdfding/static/pdfjs + + tailwindcss -i $out/pdfding/static/css/input.css -o $out/pdfding/static/css/tailwind.css --minify + rm $out/pdfding/static/css/input.css + + for i in build/pdf.mjs build/pdf.sandbox.mjs build/pdf.worker.mjs web/viewer.mjs; + do + node_modules/terser/bin/terser $out/pdfding/static/pdfjs/$i --compress -o $out/pdfding/static/pdfjs/$i; + done + + npm run build + + cp -r pdfding/static/js $out/pdfding/static + + runHook postBuild + ''; + + passthru = { + inherit pdfjs; + }; + + meta = { + description = "PdfDing frontend"; + }; +}) diff --git a/pkgs/by-name/pdfding/package.nix b/pkgs/by-name/pdfding/package.nix new file mode 100644 index 000000000..f9f66c85a --- /dev/null +++ b/pkgs/by-name/pdfding/package.nix @@ -0,0 +1,190 @@ +{ + lib, + callPackage, + fetchFromGitHub, + makeWrapper, + nixosTests, + + python3, +}: +let + python = python3; +in +python.pkgs.buildPythonPackage (finalAttrs: { + pname = "pdfding"; + version = "1.6.3"; + src = fetchFromGitHub { + owner = "mrmn2"; + repo = "PdfDing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Qfw5urcUsVMxaVeVQeZkG8x5aK29y1HrcRY69AbdUXA="; + }; + pyproject = true; + + # remove supervisor from dependencies + postPatch = '' + sed -i 's/supervisor.*$//' pyproject.toml + ''; + + dependencies = + with python.pkgs; + [ + django + django-allauth + django-cleanup + django-htmx + gunicorn + huey + markdown + minio + nh3 + oauthlib + pillow + psycopg2-binary + pypdf + pypdfium2 + python-magic + qrcode + rapidfuzz + ruamel-yaml + whitenoise + + # dependecies required for django collectstatic + cryptography + pyjwt + requests + ] + ++ qrcode.optional-dependencies.pil + ++ django-allauth.optional-dependencies.mfa + ++ django-allauth.optional-dependencies.socialaccount; + + build-system = with python.pkgs; [ poetry-core ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + optional-dependencies = { + e2e = with python.pkgs; [ + pytest + pytest-django + pytest-playwright + pytest-rerunfailures # required to retry some flaky e2e tests + ]; + }; + + preBuild = '' + # remove originals, copy from frontend + rm -rf pdfding/static + ln -s ${finalAttrs.passthru.frontend}/pdfding/static pdfding/static + + # staticfiles step requires prod configuration, remove dev.py + mv pdfding/core/settings/dev.py dev.py.bak + + ${python.pythonOnBuildForHost.interpreter} pdfding/manage.py collectstatic + + # not needed, now we have staticfiles directory + rm -rf pdfding/static + + # the following is from upstream's Dockerfile + + # remove django md5 hash from filenames of pdfjs as it will mess up the relative imports because of the whitenoise setup + export PDFJS_PATH="pdfding/staticfiles/pdfjs" + for file_name in $(find $PDFJS_PATH -type f -not -path "$PDFJS_PATH/web/images/*") + do + if [[ $file_name =~ "LICENSE" ]]; then + new=$(echo "$file_name" | sed -E "s/LICENSE\.[a-zA-Z0-9]{12}/LICENSE/"); + else + new=$(echo "$file_name" | sed -E "s/\.[a-zA-Z0-9]{12}\./\./"); + fi; + mv -- "$file_name" "$new"; + done \ + && echo 'Successfully removed hash from pdfjs files' + + echo "VERSION = '${finalAttrs.version}'" > pdfding/core/settings/version.py; + ''; + + env.PDFDING_OUT_DIR = "${placeholder "out"}/${python.sitePackages}/pdfding"; + + makeWrapperArgs = [ + "--set-default DATA_DIR /var/lib/pdfding" + # allow for gunicorn processes to have access to Python packages + "--prefix PYTHONPATH : " + "${python.pkgs.makePythonPath finalAttrs.passthru.dependencies}:${finalAttrs.env.PDFDING_OUT_DIR}" + ]; + + postInstall = '' + mkdir -p $out/bin + + makeWrapper "$PDFDING_OUT_DIR/manage.py" $out/bin/pdfding-manage \ + $makeWrapperArgs + + makeWrapper ${lib.getExe python.pkgs.gunicorn} $out/bin/pdfding-start \ + --add-flags '--bind ''${HOST_IP:-127.0.0.1}:''${HOST_PORT:-8080} core.wsgi:application' \ + $makeWrapperArgs + ''; + + pythonRelaxDeps = [ + "django" + "django-allauth" + "gunicorn" + "markdown" + "nh3" + "pypdf" + "whitenoise" + ]; + + checkInputs = with python.pkgs; [ + fido2 + pytest-django + ]; + + nativeCheckInputs = with python.pkgs; [ + pytestCheckHook + ]; + + # from .github/workflows/tests.yaml + pytestFlags = [ "--ignore=e2e" ]; + + preCheck = '' + # dev.py is required for tests, restore it + mv dev.py.bak $PDFDING_OUT_DIR/core/settings/dev.py + + export DATA_DIR=$PWD/pdfding + + # tests should run in pdfding directory + pushd pdfding + ''; + + postCheck = '' + # come out of the pdfding directory + popd + + unset DATA_DIR + + # remove dev.py + rm $PDFDING_OUT_DIR/core/settings/dev.py + ''; + + pythonImportsCheck = [ + "pdfding" + ]; + + passthru = { + inherit python; + tests = nixosTests.pdfding; + frontend = callPackage ./frontend.nix { }; + updateScript = ./update.sh; + }; + + meta = { + changelog = "https://github.com/mrmn2/PdfDing/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + description = "Selfhosted PDF manager, viewer and editor offering a seamless user experience on multiple devices"; + downloadPage = "https://github.com/mrmn2/PdfDing"; + homepage = "https://pdfding.com"; + license = lib.licenses.agpl3Only; + mainProgram = "pdfding-manage"; + platforms = lib.platforms.unix; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/pdfding/update.sh b/pkgs/by-name/pdfding/update.sh new file mode 100755 index 000000000..debf815b4 --- /dev/null +++ b/pkgs/by-name/pdfding/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq nix-update gitMinimal prefetch-npm-deps coreutils + +set -x +set -eou pipefail + +version=$(curl ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} -sL https://api.github.com/repos/mrmn2/PdfDing/releases/latest | jq -r '.tag_name') + +if [[ "v${UPDATE_NIX_OLD_VERSION:-}" == "$version" ]]; then + echo "Already up-to-date, version: $version" + exit 0 +fi + +# source hashes +nix-update --version="$version" pdfding +nix-update --version="$version" pdfding.frontend + +NIXPKGS_PATH="$(git rev-parse --show-toplevel)" +PACKAGE_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT +cd "$TMPDIR" + +src="$(nix-build --no-link "$NIXPKGS_PATH" -A pdfding.src)" +cp "$src"/{package.json,package-lock.json} . + +# npmDeps hash +prev_npm_hash="$( + nix-instantiate "$NIXPKGS_PATH" \ + --eval --json \ + -A pdfding.frontend.npmDeps.hash | + jq -r . +)" +new_npm_hash="$(prefetch-npm-deps ./package-lock.json)" + +sed -i "s|$prev_npm_hash|$new_npm_hash|g" "$PACKAGE_DIR/frontend.nix" + +# pdfjs version +pdfjs_version="$(grep 'PDFJS_VERSION=' "$src/Dockerfile" | cut -d'=' -f2)" + +sed -i "s|pdfjsVersion = .*;|pdfjsVersion = \"$pdfjs_version\";|" "$PACKAGE_DIR/frontend.nix" + +# pdfjs hash +sed -i "s|pdfjsHash = .*;|pdfjsHash = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\";|" "$PACKAGE_DIR/frontend.nix" + +set +e +new_pdfjs_hash="$( + nix-build --no-out-link -A pdfding.frontend.pdfjs "$NIXPKGS_PATH" 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g' +)" +set -e + +sed -i "s|\"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"|\"$new_pdfjs_hash\"|g" "$PACKAGE_DIR/frontend.nix" From 8328be2f8db09e2153962f201733ccee470015d7 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Fri, 27 Mar 2026 16:01:11 +0530 Subject: [PATCH 20/35] projects(PdfDing): use vendored pdfding for tests Signed-off-by: phanirithvij --- projects/PdfDing/default.nix | 12 +++++++++++- projects/PdfDing/services/pdfding/tests/basic.nix | 12 +++++++++++- projects/PdfDing/services/pdfding/tests/postgres.nix | 12 +++++++++++- .../PdfDing/services/pdfding/tests/s3-backups.nix | 12 +++++++++++- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/projects/PdfDing/default.nix b/projects/PdfDing/default.nix index a0760d7c1..1446b5cd8 100644 --- a/projects/PdfDing/default.nix +++ b/projects/PdfDing/default.nix @@ -4,6 +4,11 @@ sources, ... }@args: +let + brokenReason = '' + pdfding derivation is broken in nixpkgs, fix at https://github.com/NixOS/nixpkgs/pull/496164 + ''; +in { metadata = { summary = "Web-based selfhosted PDF manager, viewer and editor"; @@ -32,16 +37,19 @@ module = ./services/pdfding/examples/basic.nix; description = "Sqlite default service"; tests.basic.module = ./services/pdfding/tests/basic.nix; + tests.basic.problem.broken.reason = brokenReason; }; postgres = { module = ./services/pdfding/examples/postgres.nix; description = "Postgres and consume feature"; tests.postgres.module = ./services/pdfding/tests/postgres.nix; + tests.postgres.problem.broken.reason = brokenReason; }; s3-backups = { module = ./services/pdfding/examples/s3-backups.nix; description = "Backup feature of pdfding"; tests.s3-backups.module = ./services/pdfding/tests/s3-backups.nix; + tests.s3-backups.problem.broken.reason = brokenReason; }; }; links = { @@ -55,6 +63,7 @@ # e2e not tied to an example nixos.tests.e2e.module = pkgs.nixosTests.pdfding.e2e; + nixos.tests.e2e.problem.broken.reason = brokenReason; nixos.demo.vm = { module = ./demo/module.nix; @@ -84,6 +93,7 @@ ''; } ]; - tests.basic.module = pkgs.nixosTests.pdfding.basic; + tests.basic.module = ./services/pdfding/tests/basic.nix; + tests.basic.problem.broken.reason = brokenReason; }; } diff --git a/projects/PdfDing/services/pdfding/tests/basic.nix b/projects/PdfDing/services/pdfding/tests/basic.nix index c2ea01b63..1c4012653 100644 --- a/projects/PdfDing/services/pdfding/tests/basic.nix +++ b/projects/PdfDing/services/pdfding/tests/basic.nix @@ -7,6 +7,7 @@ let baseTestFile = pkgs.path + "/nixos/tests/web-apps/pdfding/basic.nix"; baseTest = import baseTestFile { inherit pkgs lib; }; + ngiPkgs = pkgs; in { inherit (baseTest) @@ -18,7 +19,7 @@ in nodes = lib.mapAttrs ( _: nodeConfig: - { config, pkgs, ... }: + { config, ... }: { imports = [ sources.modules.ngipkgs @@ -28,6 +29,15 @@ in nodeConfig ]; + # TODO remove once pdfding update+fix reaches nixpkgs + # https://github.com/NixOS/nixpkgs/pull/496164 + services.pdfding.package = lib.mkForce ngiPkgs.pdfding; + nixpkgs.overlays = [ + (self: super: { + pdfding = ngiPkgs.pdfding; + }) + ]; + sops = lib.mkForce { age.keyFile = "/run/keys.txt"; defaultSopsFile = ./sops/pdfding.yaml; diff --git a/projects/PdfDing/services/pdfding/tests/postgres.nix b/projects/PdfDing/services/pdfding/tests/postgres.nix index b1f2bbd67..5b550e344 100644 --- a/projects/PdfDing/services/pdfding/tests/postgres.nix +++ b/projects/PdfDing/services/pdfding/tests/postgres.nix @@ -7,6 +7,7 @@ let baseTestFile = pkgs.path + "/nixos/tests/web-apps/pdfding/postgres.nix"; baseTest = import baseTestFile { inherit pkgs lib; }; + ngiPkgs = pkgs; in { inherit (baseTest) @@ -18,7 +19,7 @@ in nodes = lib.mapAttrs ( _: nodeConfig: - { config, pkgs, ... }: + { config, ... }: { imports = [ sources.modules.ngipkgs @@ -28,6 +29,15 @@ in nodeConfig ]; + # TODO remove once pdfding update+fix reaches nixpkgs + # https://github.com/NixOS/nixpkgs/pull/496164 + services.pdfding.package = lib.mkForce ngiPkgs.pdfding; + nixpkgs.overlays = [ + (self: super: { + pdfding = ngiPkgs.pdfding; + }) + ]; + sops = lib.mkForce { age.keyFile = "/run/keys.txt"; defaultSopsFile = ./sops/pdfding.yaml; diff --git a/projects/PdfDing/services/pdfding/tests/s3-backups.nix b/projects/PdfDing/services/pdfding/tests/s3-backups.nix index 4c6c3758a..d908b3df0 100644 --- a/projects/PdfDing/services/pdfding/tests/s3-backups.nix +++ b/projects/PdfDing/services/pdfding/tests/s3-backups.nix @@ -7,6 +7,7 @@ let baseTestFile = pkgs.path + "/nixos/tests/web-apps/pdfding/s3-backups.nix"; baseTest = import baseTestFile { inherit pkgs lib; }; + ngiPkgs = pkgs; in { inherit (baseTest) @@ -18,7 +19,7 @@ in nodes = lib.mapAttrs ( _: nodeConfig: - { config, pkgs, ... }: + { config, ... }: { imports = [ sources.modules.ngipkgs @@ -28,6 +29,15 @@ in nodeConfig ]; + # TODO remove once pdfding update+fix reaches nixpkgs + # https://github.com/NixOS/nixpkgs/pull/496164 + services.pdfding.package = lib.mkForce ngiPkgs.pdfding; + nixpkgs.overlays = [ + (self: super: { + pdfding = ngiPkgs.pdfding; + }) + ]; + sops = lib.mkForce { age.keyFile = "/run/keys.txt"; defaultSopsFile = ./sops/pdfding.yaml; From 3ef3e2525a3204955e8aa8cfcd059182a8247f83 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 00:29:20 +0530 Subject: [PATCH 21/35] nodebb: 4.9.2 -> 4.10.1; fix build Signed-off-by: phanirithvij --- .../0001-add-node-gyp-to-dependencies.patch | 59 + pkgs/by-name/nodebb/package-lock.json | 1705 ++++++++++------- pkgs/by-name/nodebb/package.nix | 17 +- .../services/nodebb/tests/postgresql.nix | 8 +- .../NodeBB/services/nodebb/tests/redis.nix | 8 +- 5 files changed, 1096 insertions(+), 701 deletions(-) create mode 100644 pkgs/by-name/nodebb/0001-add-node-gyp-to-dependencies.patch diff --git a/pkgs/by-name/nodebb/0001-add-node-gyp-to-dependencies.patch b/pkgs/by-name/nodebb/0001-add-node-gyp-to-dependencies.patch new file mode 100644 index 000000000..e4eae341f --- /dev/null +++ b/pkgs/by-name/nodebb/0001-add-node-gyp-to-dependencies.patch @@ -0,0 +1,59 @@ +From 893dd8a25ea9a9f76461f75243f336982baa3c08 Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Sun, 29 Mar 2026 00:21:31 +0530 +Subject: [PATCH] add node-gyp to dependencies + +Signed-off-by: phanirithvij +--- + install/package.json | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/install/package.json b/install/package.json +index 42a5dda294..80ec7fc70e 100644 +--- a/install/package.json ++++ b/install/package.json +@@ -36,6 +36,7 @@ + "@isaacs/ttlcache": "2.1.4", + "@nodebb/spider-detector": "2.0.3", + "@popperjs/core": "2.11.8", ++ "@socket.io/redis-adapter": "8.3.0", + "@textcomplete/contenteditable": "0.1.13", + "@textcomplete/core": "0.1.13", + "@textcomplete/textarea": "0.1.13", +@@ -97,6 +98,7 @@ + "mousetrap": "1.6.5", + "multer": "2.1.1", + "nconf": "0.13.0", ++ "node-gyp": "^12.2.0", + "nodebb-plugin-2factor": "7.6.1", + "nodebb-plugin-composer-default": "10.3.28", + "nodebb-plugin-dbsearch": "6.4.1", +@@ -140,7 +142,6 @@ + "sitemap": "9.0.1", + "socket.io": "4.8.3", + "socket.io-client": "4.8.3", +- "@socket.io/redis-adapter": "8.3.0", + "sortablejs": "1.15.7", + "spdx-license-list": "6.11.0", + "terser-webpack-plugin": "5.4.0", +@@ -164,9 +165,9 @@ + "@apidevtools/swagger-parser": "10.1.0", + "@commitlint/cli": "20.5.0", + "@commitlint/config-angular": "20.5.0", +- "coveralls": "3.1.1", + "@eslint/js": "10.0.1", + "@stylistic/eslint-plugin": "5.10.0", ++ "coveralls": "3.1.1", + "eslint-config-nodebb": "2.0.1", + "globals": "17.4.0", + "grunt": "1.6.1", +@@ -204,4 +205,4 @@ + "url": "https://github.com/barisusakli" + } + ] +-} +\ No newline at end of file ++} +-- +2.53.0 + diff --git a/pkgs/by-name/nodebb/package-lock.json b/pkgs/by-name/nodebb/package-lock.json index 0b46acb31..11b84e939 100644 --- a/pkgs/by-name/nodebb/package-lock.json +++ b/pkgs/by-name/nodebb/package-lock.json @@ -1,12 +1,12 @@ { "name": "nodebb", - "version": "4.9.2", + "version": "4.10.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nodebb", - "version": "4.9.2", + "version": "4.10.1", "license": "GPL-3.0", "dependencies": { "@adactive/bootstrap-tagsinput": "0.8.2", @@ -24,7 +24,7 @@ "ace-builds": "1.43.6", "archiver": "7.0.1", "async": "3.2.6", - "autoprefixer": "10.4.24", + "autoprefixer": "10.4.27", "bcryptjs": "3.0.3", "benchpressjs": "2.5.5", "body-parser": "2.2.2", @@ -44,17 +44,18 @@ "connect-redis": "9.0.0", "cookie-parser": "1.4.7", "cron": "4.4.0", + "cronstrue": "3.14.0", "cropperjs": "1.6.2", "csrf-sync": "4.2.1", "daemon": "1.1.0", "diff": "8.0.3", - "esbuild": "0.27.3", + "esbuild": "0.27.4", "express": "4.22.1", "express-session": "1.19.0", "express-useragent": "2.1.0", "fetch-cookie": "3.2.0", "file-loader": "6.2.0", - "fs-extra": "11.3.3", + "fs-extra": "11.3.4", "graceful-fs": "4.2.11", "helmet": "7.2.0", "html-to-text": "9.0.5", @@ -70,7 +71,7 @@ "jsonwebtoken": "9.0.3", "lodash": "4.17.23", "logrotate-stream": "0.2.9", - "lru-cache": "11.2.6", + "lru-cache": "11.2.7", "mime": "3.0.0", "mkdirp": "3.0.1", "mongodb": "7.1.0", @@ -78,30 +79,31 @@ "mousetrap": "1.6.5", "multer": "2.1.1", "nconf": "0.13.0", + "node-gyp": "^12.2.0", "nodebb-plugin-2factor": "7.6.1", - "nodebb-plugin-composer-default": "10.3.26", + "nodebb-plugin-composer-default": "10.3.28", "nodebb-plugin-dbsearch": "6.4.1", "nodebb-plugin-emoji": "6.0.6", "nodebb-plugin-emoji-android": "4.1.1", "nodebb-plugin-link-preview": "2.2.3", "nodebb-plugin-markdown": "13.2.4", - "nodebb-plugin-mentions": "4.8.17", + "nodebb-plugin-mentions": "4.8.18", "nodebb-plugin-spam-be-gone": "2.3.2", - "nodebb-plugin-web-push": "0.7.6", + "nodebb-plugin-web-push": "0.7.7", "nodebb-rewards-essentials": "1.0.2", - "nodebb-theme-harmony": "2.2.51", + "nodebb-theme-harmony": "2.2.62", "nodebb-theme-lavender": "7.1.21", "nodebb-theme-peace": "2.2.57", - "nodebb-theme-persona": "14.2.27", + "nodebb-theme-persona": "14.2.33", "nodebb-widget-essentials": "7.0.43", - "nodemailer": "8.0.1", + "nodemailer": "8.0.3", "nprogress": "0.2.0", "passport": "0.7.0", "passport-http-bearer": "1.0.1", "passport-local": "1.0.0", - "pg": "8.18.0", - "pg-cursor": "2.17.0", - "postcss": "8.5.6", + "pg": "8.20.0", + "pg-cursor": "2.19.0", + "postcss": "8.5.8", "postcss-clean": "1.2.0", "pretty": "^2.0.0", "progress-webpack-plugin": "1.0.16", @@ -113,12 +115,12 @@ "rtlcss": "4.3.0", "sanitize-html": "2.17.1", "sass": "1.98.0", - "satori": "0.19.2", + "satori": "0.25.0", "sbd": "^1.0.19", "semver": "7.7.4", "serve-favicon": "2.5.1", "sharp": "0.34.5", - "sitemap": "9.0.0", + "sitemap": "9.0.1", "socket.io": "4.8.3", "socket.io-client": "4.8.3", "sortablejs": "1.15.7", @@ -129,10 +131,10 @@ "timeago": "1.6.7", "tinycon": "0.6.8", "toobusy-js": "0.5.1", - "tough-cookie": "6.0.0", + "tough-cookie": "6.0.1", "undici": "^7.10.0", "validator": "13.15.26", - "webpack": "5.105.2", + "webpack": "5.105.4", "webpack-merge": "6.0.1", "winston": "3.19.0", "workerpool": "10.0.1", @@ -142,22 +144,22 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", - "@commitlint/cli": "20.4.2", - "@commitlint/config-angular": "20.4.2", + "@commitlint/cli": "20.5.0", + "@commitlint/config-angular": "20.5.0", "@eslint/js": "10.0.1", - "@stylistic/eslint-plugin": "5.9.0", + "@stylistic/eslint-plugin": "5.10.0", "coveralls": "3.1.1", "eslint-config-nodebb": "2.0.1", - "globals": "17.3.0", + "globals": "17.4.0", "grunt": "1.6.1", "grunt-contrib-watch": "1.1.0", "husky": "8.0.3", - "jsdom": "28.1.0", - "lint-staged": "16.2.7", + "jsdom": "29.0.0", + "lint-staged": "16.4.0", "mocha": "11.7.5", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", - "nyc": "17.1.0", + "nyc": "18.0.0", "smtp-server": "3.18.1" }, "engines": { @@ -167,13 +169,6 @@ "sass-embedded": "1.98.0" } }, - "node_modules/@acemir/cssom": { - "version": "0.9.31", - "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", - "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", - "dev": true, - "license": "MIT" - }, "node_modules/@adactive/bootstrap-tagsinput": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/@adactive/bootstrap-tagsinput/-/bootstrap-tagsinput-0.8.2.tgz", @@ -246,17 +241,20 @@ } }, "node_modules/@asamuzakjp/dom-selector": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", - "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.0.4.tgz", + "integrity": "sha512-jXR6x4AcT3eIrS2fSNAwJpwirOkGcd+E7F7CP3zjdTqz9B/2huHOL8YJZBgekKwLML+u7qB/6P1LXQuMScsx0w==", "dev": true, "license": "MIT", "dependencies": { "@asamuzakjp/nwsapi": "^2.3.9", "bidi-js": "^1.0.3", - "css-tree": "^3.1.0", + "css-tree": "^3.2.1", "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.2.6" + "lru-cache": "^11.2.7" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@asamuzakjp/nwsapi": { @@ -393,6 +391,13 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, "node_modules/@babel/helper-globals": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", @@ -466,23 +471,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { @@ -573,17 +578,17 @@ } }, "node_modules/@commitlint/cli": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.4.2.tgz", - "integrity": "sha512-YjYSX2yj/WsVoxh9mNiymfFS2ADbg2EK4+1WAsMuckwKMCqJ5PDG0CJU/8GvmHWcv4VRB2V02KqSiecRksWqZQ==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.5.0.tgz", + "integrity": "sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/format": "^20.4.0", - "@commitlint/lint": "^20.4.2", - "@commitlint/load": "^20.4.0", - "@commitlint/read": "^20.4.0", - "@commitlint/types": "^20.4.0", + "@commitlint/format": "^20.5.0", + "@commitlint/lint": "^20.5.0", + "@commitlint/load": "^20.5.0", + "@commitlint/read": "^20.5.0", + "@commitlint/types": "^20.5.0", "tinyexec": "^1.0.0", "yargs": "^17.0.0" }, @@ -595,9 +600,9 @@ } }, "node_modules/@commitlint/config-angular": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@commitlint/config-angular/-/config-angular-20.4.2.tgz", - "integrity": "sha512-aArQZyKytFSe6kUNsr8tzgYeRLSmoHPKcKC39Aasun3miDqVcHnrOMbo7y2CxSeaAex8k5Rn3/4f6/4nAqc4Ug==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-angular/-/config-angular-20.5.0.tgz", + "integrity": "sha512-AZ8foxHb8VBCpZywnIFxpXgrK6VMizZ957vlz8UEyaMZEzvP0F+RtQmTijHnVPaPVk/scS6EDp0/1sy1UszXoQ==", "dev": true, "license": "MIT", "dependencies": { @@ -952,7 +957,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" }, @@ -961,9 +965,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.1.tgz", - "integrity": "sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz", + "integrity": "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==", "dev": true, "funding": [ { @@ -1001,7 +1005,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" } @@ -1018,9 +1021,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", - "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", "license": "MIT", "optional": true, "dependencies": { @@ -1028,9 +1031,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", "cpu": [ "ppc64" ], @@ -1044,9 +1047,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", "cpu": [ "arm" ], @@ -1060,9 +1063,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", "cpu": [ "arm64" ], @@ -1076,9 +1079,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", "cpu": [ "x64" ], @@ -1092,9 +1095,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", "cpu": [ "arm64" ], @@ -1108,9 +1111,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", "cpu": [ "x64" ], @@ -1124,9 +1127,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", "cpu": [ "arm64" ], @@ -1140,9 +1143,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", "cpu": [ "x64" ], @@ -1156,9 +1159,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", "cpu": [ "arm" ], @@ -1172,9 +1175,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", "cpu": [ "arm64" ], @@ -1188,9 +1191,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", "cpu": [ "ia32" ], @@ -1204,9 +1207,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", "cpu": [ "loong64" ], @@ -1220,9 +1223,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", "cpu": [ "mips64el" ], @@ -1236,9 +1239,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", "cpu": [ "ppc64" ], @@ -1252,9 +1255,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", "cpu": [ "riscv64" ], @@ -1268,9 +1271,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", "cpu": [ "s390x" ], @@ -1284,9 +1287,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", "cpu": [ "x64" ], @@ -1300,9 +1303,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", "cpu": [ "arm64" ], @@ -1316,9 +1319,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", "cpu": [ "x64" ], @@ -1332,9 +1335,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", "cpu": [ "arm64" ], @@ -1348,9 +1351,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", "cpu": [ "x64" ], @@ -1364,9 +1367,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", "cpu": [ "arm64" ], @@ -1380,9 +1383,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", "cpu": [ "x64" ], @@ -1396,9 +1399,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", "cpu": [ "arm64" ], @@ -1412,9 +1415,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", "cpu": [ "ia32" ], @@ -1428,9 +1431,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", "cpu": [ "x64" ], @@ -1481,6 +1484,7 @@ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -1491,6 +1495,7 @@ "integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@eslint/object-schema": "^3.0.3", "debug": "^4.3.1", @@ -1506,6 +1511,7 @@ "integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@eslint/core": "^1.1.1" }, @@ -1519,6 +1525,7 @@ "integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -1532,7 +1539,6 @@ "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" }, @@ -1554,6 +1560,7 @@ "integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" } @@ -1564,6 +1571,7 @@ "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@eslint/core": "^1.1.1", "levn": "^0.4.1" @@ -1632,6 +1640,15 @@ "node": ">=6" } }, + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@github/webauthn-json": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@github/webauthn-json/-/webauthn-json-0.5.7.tgz", @@ -1648,6 +1665,7 @@ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=18.18.0" } @@ -1658,6 +1676,7 @@ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" @@ -1672,6 +1691,7 @@ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=12.22" }, @@ -1686,6 +1706,7 @@ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=18.18" }, @@ -2176,6 +2197,18 @@ "node": ">=12" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@isaacs/ttlcache": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-2.1.4.tgz", @@ -2357,6 +2390,43 @@ "yarn": ">=1.17.3" } }, + "node_modules/@npmcli/agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", + "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@one-ini/wasm": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", @@ -2727,7 +2797,6 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -2750,7 +2819,6 @@ "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.11.0.tgz", "integrity": "sha512-GHoprlNQD51Xq2Ztd94HHV94MdFZQ3CVrpA04Fz8MVoHM0B7SlbmPEVIjwTbcv58z8QyjnrOuikS0rWF03k5dQ==", "license": "MIT", - "peer": true, "dependencies": { "cluster-key-slot": "1.1.2" }, @@ -2894,12 +2962,11 @@ } }, "node_modules/@stylistic/eslint-plugin": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.9.0.tgz", - "integrity": "sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", + "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/types": "^8.56.0", @@ -2932,7 +2999,6 @@ "resolved": "https://registry.npmjs.org/@textcomplete/core/-/core-0.1.13.tgz", "integrity": "sha512-C4S+ihQU5HsKQ/TbsmS0e7hfPZtLZbEXj5NDUgRnhu/1Nezpu892bjNZGeErZm+R8iyDIT6wDu6EgIhng4M8eQ==", "license": "MIT", - "peer": true, "dependencies": { "eventemitter3": "^5.0.1" } @@ -2991,7 +3057,8 @@ "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/estree": { "version": "1.0.8", @@ -3016,7 +3083,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.18.0" } @@ -3061,9 +3127,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.0.tgz", - "integrity": "sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg==", + "version": "8.57.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.2.tgz", + "integrity": "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==", "dev": true, "license": "MIT", "engines": { @@ -3284,7 +3350,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3352,7 +3417,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3638,9 +3702,9 @@ "license": "MIT" }, "node_modules/autoprefixer": { - "version": "10.4.24", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", - "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", + "version": "10.4.27", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", + "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", "funding": [ { "type": "opencollective", @@ -3658,7 +3722,7 @@ "license": "MIT", "dependencies": { "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001766", + "caniuse-lite": "^1.0.30001774", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" @@ -3718,7 +3782,6 @@ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", "license": "Apache-2.0", - "peer": true, "peerDependencies": { "bare-abort-controller": "*" }, @@ -3729,9 +3792,9 @@ } }, "node_modules/bare-fs": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz", - "integrity": "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==", + "version": "4.5.6", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.6.tgz", + "integrity": "sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==", "license": "Apache-2.0", "dependencies": { "bare-events": "^2.5.4", @@ -3753,9 +3816,9 @@ } }, "node_modules/bare-os": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.0.tgz", - "integrity": "sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.2.tgz", + "integrity": "sha512-lMseYRMTzMrxPGfXkDwOWym2iv9dUMlTqpjXa0M+7ymI1TJKhxQ2jkDOK7y1EGvxuqJcXOoJ/HYEBxIlWObgjQ==", "license": "Apache-2.0", "engines": { "bare": ">=1.14.0" @@ -3771,19 +3834,23 @@ } }, "node_modules/bare-stream": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.1.tgz", - "integrity": "sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.11.0.tgz", + "integrity": "sha512-Y/+iQ49fL3rIn6w/AVxI/2+BRrpmzJvdWt5Jv8Za6Ngqc6V227c+pYjYYgLdpR3MwQ9ObVXD0ZrqoBztakM0rw==", "license": "Apache-2.0", "dependencies": { - "streamx": "^2.21.0", + "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { + "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + }, "bare-buffer": { "optional": true }, @@ -3793,9 +3860,9 @@ } }, "node_modules/bare-url": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz", - "integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz", + "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", "license": "Apache-2.0", "dependencies": { "bare-path": "^3.0.0" @@ -3840,9 +3907,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.8", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", - "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", + "version": "2.10.12", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.12.tgz", + "integrity": "sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -4048,7 +4115,6 @@ } ], "license": "MIT", - "peer": true, "peerDependencies": { "@popperjs/core": "^2.11.8" } @@ -4060,9 +4126,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -4116,7 +4182,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -4220,6 +4285,60 @@ "node": ">=6.0.0" } }, + "node_modules/cacache": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", @@ -4301,9 +4420,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001779", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001779.tgz", - "integrity": "sha512-U5og2PN7V4DMgF50YPNtnZJGWVLFjjsN3zb6uMT5VGYIewieDj1upwfuVNXf4Kor+89c3iCRJnSzMD5LmTvsfA==", + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", "funding": [ { "type": "opencollective", @@ -4460,6 +4579,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -5274,6 +5402,15 @@ "url": "https://ko-fi.com/intcreator" } }, + "node_modules/cronstrue": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-3.14.0.tgz", + "integrity": "sha512-XnW4vuK/jPJjmTyDWiej1Zq36Od7ITwxaV2O1pzHZuyMVvdy7NAvyvIBzybt+idqSpfqYuoDG7uf/ocGtJVWxA==", + "license": "MIT", + "bin": { + "cronstrue": "bin/cli.js" + } + }, "node_modules/cropperjs": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.6.2.tgz", @@ -5366,7 +5503,6 @@ "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" @@ -5387,22 +5523,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cssstyle": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.2.0.tgz", - "integrity": "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^5.0.1", - "@csstools/css-syntax-patches-for-csstree": "^1.0.28", - "css-tree": "^3.1.0", - "lru-cache": "^11.2.6" - }, - "engines": { - "node": ">=20" - } - }, "node_modules/cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", @@ -5503,7 +5623,8 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/deepmerge": { "version": "4.3.1", @@ -5753,9 +5874,9 @@ "license": "MIT" }, "node_modules/editorconfig/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -5792,9 +5913,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.313", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", - "integrity": "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==", + "version": "1.5.328", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.328.tgz", + "integrity": "sha512-QNQ5l45DzYytThO21403XN3FvK0hOkWDG8viNf6jqS42msJ8I4tGDSpBCgvDRRPnkffafiwAym2X2eHeGD2V0w==", "license": "ISC" }, "node_modules/elliptic": { @@ -5935,9 +6056,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -5963,7 +6084,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6051,9 +6171,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -6063,32 +6183,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" } }, "node_modules/escalade": { @@ -6119,9 +6239,9 @@ } }, "node_modules/eslint": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.0.3.tgz", - "integrity": "sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.1.0.tgz", + "integrity": "sha512-S9jlY/ELKEUwwQnqWDO+f+m6sercqOPSqXM5Go94l7DOmxHVDgmSFGWEzeE/gwgTAr0W103BWt0QLe/7mabIvA==", "dev": true, "license": "MIT", "peer": true, @@ -6129,7 +6249,7 @@ "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.3", - "@eslint/config-helpers": "^0.5.2", + "@eslint/config-helpers": "^0.5.3", "@eslint/core": "^1.1.1", "@eslint/plugin-kit": "^0.6.1", "@humanfs/node": "^0.16.6", @@ -6142,7 +6262,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", - "espree": "^11.1.1", + "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -6189,12 +6309,26 @@ "@stylistic/eslint-plugin": "^5.x" } }, + "node_modules/eslint-config-nodebb/node_modules/globals": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-scope": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", @@ -6227,6 +6361,7 @@ "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -6244,6 +6379,7 @@ "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", + "peer": true, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" }, @@ -6257,6 +6393,7 @@ "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", @@ -6274,7 +6411,8 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/espree": { "version": "10.4.0", @@ -6314,6 +6452,7 @@ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -6348,6 +6487,7 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -6429,6 +6569,12 @@ "node": ">=0.10.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0" + }, "node_modules/express": { "version": "4.22.1", "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", @@ -6480,7 +6626,6 @@ "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.19.0.tgz", "integrity": "sha512-0csaMkGq+vaiZTmSMMGkfdCOabYv192VbytFypcvI0MANrp+4i/7yEkJ0sbAEhycQjntaKGzYfjfXQyVb7BHMA==", "license": "MIT", - "peer": true, "dependencies": { "cookie": "~0.7.2", "cookie-signature": "~1.0.7", @@ -6692,7 +6837,8 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/fast-uri": { "version": "3.1.0", @@ -6723,6 +6869,23 @@ "node": ">=0.4.0" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fecha": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", @@ -6812,6 +6975,7 @@ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "flat-cache": "^4.0.0" }, @@ -6987,6 +7151,7 @@ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -6996,11 +7161,12 @@ } }, "node_modules/flatted": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.1.tgz", - "integrity": "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, - "license": "ISC" + "license": "ISC", + "peer": true }, "node_modules/fn.name": { "version": "1.1.0", @@ -7137,9 +7303,9 @@ "license": "MIT" }, "node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -7150,6 +7316,18 @@ "node": ">=14.14" } }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7327,6 +7505,7 @@ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -7347,9 +7526,9 @@ "license": "MIT" }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -7439,9 +7618,9 @@ } }, "node_modules/globals": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", - "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", + "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", "dev": true, "license": "MIT", "engines": { @@ -7474,9 +7653,9 @@ "license": "MIT" }, "node_modules/globule/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, "license": "MIT", "dependencies": { @@ -7701,9 +7880,9 @@ "license": "MIT" }, "node_modules/grunt/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, "license": "MIT", "dependencies": { @@ -8033,6 +8212,12 @@ "node": ">=16" } }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", @@ -8064,7 +8249,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -8161,6 +8345,7 @@ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4" } @@ -8273,6 +8458,15 @@ "dev": true, "license": "MIT" }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/ipaddr.js": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", @@ -8587,9 +8781,9 @@ } }, "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-3.0.0.tgz", + "integrity": "sha512-P7nLXRRlo7Sqinty6lNa7+4o9jBUYGpqtejqCOZKfgXlRoxY/QArflcB86YO500Ahj4pDJEG34JjMRbQgePLnQ==", "dev": true, "license": "ISC", "dependencies": { @@ -8597,87 +8791,30 @@ "cross-spawn": "^7.0.3", "istanbul-lib-coverage": "^3.2.0", "p-map": "^3.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "uuid": "^8.3.2" }, "engines": { - "node": ">=8" + "node": "20 || >=22" } }, - "node_modules/istanbul-lib-processinfo/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/istanbul-lib-processinfo/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "node_modules/istanbul-lib-processinfo/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/istanbul-lib-processinfo/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "license": "MIT", "bin": { @@ -8802,8 +8939,7 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/jquery-deserialize": { "version": "2.0.0", @@ -8921,36 +9057,36 @@ "license": "MIT" }, "node_modules/jsdom": { - "version": "28.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", - "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.0.0.tgz", + "integrity": "sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ==", "dev": true, "license": "MIT", "dependencies": { - "@acemir/cssom": "^0.9.31", - "@asamuzakjp/dom-selector": "^6.8.1", + "@asamuzakjp/css-color": "^5.0.1", + "@asamuzakjp/dom-selector": "^7.0.2", "@bramus/specificity": "^2.4.2", - "@exodus/bytes": "^1.11.0", - "cssstyle": "^6.0.1", + "@csstools/css-syntax-patches-for-csstree": "^1.1.1", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", "data-urls": "^7.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^6.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.7", "parse5": "^8.0.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.0", - "undici": "^7.21.0", + "tough-cookie": "^6.0.1", + "undici": "^7.24.3", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0", + "whatwg-url": "^16.0.1", "xml-name-validator": "^5.0.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" }, "peerDependencies": { "canvas": "^3.0.0" @@ -8978,7 +9114,8 @@ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -9004,7 +9141,8 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -9159,6 +9297,7 @@ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "json-buffer": "3.0.1" } @@ -9257,6 +9396,7 @@ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -9350,19 +9490,18 @@ } }, "node_modules/lint-staged": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz", - "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.4.0.tgz", + "integrity": "sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==", "dev": true, "license": "MIT", "dependencies": { - "commander": "^14.0.2", + "commander": "^14.0.3", "listr2": "^9.0.5", - "micromatch": "^4.0.8", - "nano-spawn": "^2.0.0", - "pidtree": "^0.6.0", + "picomatch": "^4.0.3", "string-argv": "^0.3.2", - "yaml": "^2.8.1" + "tinyexec": "^1.0.4", + "yaml": "^2.8.2" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -9852,9 +9991,9 @@ "license": "Apache-2.0" }, "node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -9895,6 +10034,38 @@ "semver": "bin/semver.js" } }, + "node_modules/make-fetch-happen": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -10055,9 +10226,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -10176,6 +10347,119 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "iconv-lite": "^0.7.2" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mkdirp": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", @@ -10253,9 +10537,9 @@ "license": "MIT" }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "dev": true, "license": "MIT", "dependencies": { @@ -10336,7 +10620,6 @@ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@mongodb-js/saslprep": "^1.3.0", "bson": "^7.1.1", @@ -10527,19 +10810,6 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "license": "ISC" }, - "node_modules/nano-spawn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz", - "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -10580,7 +10850,8 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/nconf": { "version": "0.13.0", @@ -10784,14 +11055,86 @@ } }, "node_modules/node-forge": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", - "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, + "node_modules/node-gyp": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz", + "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^15.0.0", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/node-jose": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-2.2.0.tgz", @@ -10856,10 +11199,16 @@ "yallist": "^3.0.2" } }, + "node_modules/nodebb-plugin-2factor/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, "node_modules/nodebb-plugin-composer-default": { - "version": "10.3.26", - "resolved": "https://registry.npmjs.org/nodebb-plugin-composer-default/-/nodebb-plugin-composer-default-10.3.26.tgz", - "integrity": "sha512-awuSRVGJR9ktxnbzGZMzgWahlHFtq/iH526+uGLjHZ+63Mt0ECwqMXimoe+/4Z+25DH43CNSftsoBR3+KfPT/A==", + "version": "10.3.28", + "resolved": "https://registry.npmjs.org/nodebb-plugin-composer-default/-/nodebb-plugin-composer-default-10.3.28.tgz", + "integrity": "sha512-L331n4gSAGVze0aHZHG80VPAIgxGI/JneGQQIAK3K1LTCKh7zJl07TGJyZlJFfhS+SjQVU1wxCgw2j17oNuRaA==", "license": "MIT", "dependencies": { "screenfull": "^5.0.2", @@ -10942,9 +11291,9 @@ } }, "node_modules/nodebb-plugin-mentions": { - "version": "4.8.17", - "resolved": "https://registry.npmjs.org/nodebb-plugin-mentions/-/nodebb-plugin-mentions-4.8.17.tgz", - "integrity": "sha512-G4CmH1g7a5pIplcYn+N8yHRpRCOxdTs0MegvUbd/laNdUN1cRkklQnm9kfONQY+U+fe8xcJcP2bwlfuEG2vxuQ==", + "version": "4.8.18", + "resolved": "https://registry.npmjs.org/nodebb-plugin-mentions/-/nodebb-plugin-mentions-4.8.18.tgz", + "integrity": "sha512-HF158CQ6eleY1tL5QQUZfxgGyFMKUm+d1NIknTl268Igemqq+tNHxPYFRCwz3XsG/d2qZhEnNjXEwQ2y2uH8Gw==", "license": "MIT", "dependencies": { "html-entities": "^2.3.2", @@ -10965,9 +11314,9 @@ } }, "node_modules/nodebb-plugin-web-push": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/nodebb-plugin-web-push/-/nodebb-plugin-web-push-0.7.6.tgz", - "integrity": "sha512-qcWK0SG97mrLTd/MgH6M8H0T+pt6qXtT8hmN/PRXFIGQ3C5mmjDgZ5yI8R3SYGM7z29+YT/pKtWp41TnWCm18w==", + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/nodebb-plugin-web-push/-/nodebb-plugin-web-push-0.7.7.tgz", + "integrity": "sha512-g+Mx+N1xp+dV+zEaRoMhAP56VG7pgrrhz1yxbORlSufSTg8DQZTnUsf3iUCSWRh/S6KtkJqZomKpy+DGcHRzDg==", "license": "MIT", "dependencies": { "validator": "^13.12.0", @@ -10981,9 +11330,9 @@ "license": "BSD-2-Clause" }, "node_modules/nodebb-theme-harmony": { - "version": "2.2.51", - "resolved": "https://registry.npmjs.org/nodebb-theme-harmony/-/nodebb-theme-harmony-2.2.51.tgz", - "integrity": "sha512-g8q9a4a0yLq/IuP1WjtT9jvkBTbK4N1eYIZqdhvxCLyzJ1U1D10xmizvE2V8X0FSEHyklNRJSjPAo/jRuKsVDw==", + "version": "2.2.62", + "resolved": "https://registry.npmjs.org/nodebb-theme-harmony/-/nodebb-theme-harmony-2.2.62.tgz", + "integrity": "sha512-ZDnFQjR9DKseLkc6xKSYNnKhnOUV7TXi6oeKEeUTfpY05/Q6x2POFe4ZtX/3JJRG9youRQqlXSLG92309saoVw==", "license": "MIT", "dependencies": { "@fontsource/inter": "5.2.8", @@ -11026,9 +11375,9 @@ } }, "node_modules/nodebb-theme-persona": { - "version": "14.2.27", - "resolved": "https://registry.npmjs.org/nodebb-theme-persona/-/nodebb-theme-persona-14.2.27.tgz", - "integrity": "sha512-OLTjgtdHVEApn4dHDym4Hru1o4OBwVwgbrMALpgtVCqJ+H/2Bn49BzY/dZbBiTW6lsq0Vi1JLpjcir5H/ZOK4Q==", + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/nodebb-theme-persona/-/nodebb-theme-persona-14.2.33.tgz", + "integrity": "sha512-VF6tH+rIrz4JHEq+2etJwXBs/GP8Cyea96SiAjCclhGmez8OaRcEraQApT32rnFJP9njf9itICTCpkvn8dao9Q==", "license": "BSD-2-Clause", "dependencies": { "pulling": "^2.0.0" @@ -11041,9 +11390,9 @@ "license": "BSD-2-Clause" }, "node_modules/nodemailer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.1.tgz", - "integrity": "sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.3.tgz", + "integrity": "sha512-JQNBqvK+bj3NMhUFR3wmCl3SYcOeMotDiwDBvIoCuQdF0PvlIY0BH+FJ2CG7u4cXKPChplE78oowlH/Otsc4ZQ==", "license": "MIT-0", "engines": { "node": ">=6.0.0" @@ -11113,9 +11462,9 @@ } }, "node_modules/nyc": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz", - "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-18.0.0.tgz", + "integrity": "sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==", "dev": true, "license": "ISC", "dependencies": { @@ -11128,11 +11477,11 @@ "find-up": "^4.1.0", "foreground-child": "^3.3.0", "get-package-type": "^0.1.0", - "glob": "^7.1.6", + "glob": "^13.0.6", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-hook": "^3.0.0", "istanbul-lib-instrument": "^6.0.2", - "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-processinfo": "^3.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", @@ -11141,17 +11490,17 @@ "p-map": "^3.0.0", "process-on-spawn": "^1.0.0", "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", + "spawn-wrap": "^3.0.0", + "test-exclude": "^8.0.0", "yargs": "^15.0.2" }, "bin": { "nyc": "bin/nyc.js" }, "engines": { - "node": ">=18" + "node": "20 || >=22" } }, "node_modules/nyc/node_modules/ansi-regex": { @@ -11164,24 +11513,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nyc/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -11216,22 +11547,18 @@ } }, "node_modules/nyc/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -11260,19 +11587,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -11302,18 +11616,31 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/nyc/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "aggregate-error": "^3.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -11557,6 +11884,7 @@ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -11651,16 +11979,15 @@ } }, "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -12000,9 +12327,9 @@ "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "license": "MIT" }, "node_modules/pause": { @@ -12027,15 +12354,14 @@ "license": "MIT" }, "node_modules/pg": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.18.0.tgz", - "integrity": "sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", "license": "MIT", - "peer": true, "dependencies": { - "pg-connection-string": "^2.11.0", - "pg-pool": "^3.11.0", - "pg-protocol": "^1.11.0", + "pg-connection-string": "^2.12.0", + "pg-pool": "^3.13.0", + "pg-protocol": "^1.13.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, @@ -12068,9 +12394,9 @@ "license": "MIT" }, "node_modules/pg-cursor": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.17.0.tgz", - "integrity": "sha512-2Uio3Xfl5ldwJfls+RgGL+YbPcKQncWACWjYQFqlamvHZ4HJFjZhhZBbqd7jQ2LIkZYSvU90bm2dNW0rno+QFQ==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.19.0.tgz", + "integrity": "sha512-J5cF1MUz7LRJ9emOqF/06QjabMHMZy587rSPF0UuA8rCwKeeYl2co8Pp+6k5UU9YrAYHMzWkLxilfZB0hqsWWw==", "license": "MIT", "peerDependencies": { "pg": "^8" @@ -12132,10 +12458,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "devOptional": true, + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "license": "MIT", "engines": { "node": ">=12" @@ -12144,19 +12469,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -12258,9 +12570,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", "funding": [ { "type": "opencollective", @@ -12276,7 +12588,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -12350,6 +12661,7 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -12368,6 +12680,15 @@ "node": ">=0.10.0" } }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -13058,9 +13379,9 @@ "license": "MIT" }, "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -13109,7 +13430,6 @@ "resolved": "https://registry.npmjs.org/redis/-/redis-5.11.0.tgz", "integrity": "sha512-YwXjATVDT+AuxcyfOwZn046aml9jMlQPvU1VXIlLDVAExe0u93aTfPYSeRgG4p9Q/Jlkj+LXJ1XEoFV+j2JKcQ==", "license": "MIT", - "peer": true, "dependencies": { "@redis/bloom": "5.11.0", "@redis/client": "5.11.0", @@ -13151,7 +13471,6 @@ "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.5.6.tgz", "integrity": "sha512-M3Svdwt6oSfyfQdqEr0L2HOJH2vK7GgCFx1NfAQvpWAT4+ljoT1L5S5cKT3dA9NJrxrOPDkdoTPWJnIrGCOcmw==", "license": "MIT", - "peer": true, "dependencies": { "cluster-key-slot": "1.1.2" }, @@ -13936,9 +14255,9 @@ } }, "node_modules/satori": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/satori/-/satori-0.19.2.tgz", - "integrity": "sha512-71plFHWcq6WJBM5sf/n0eHOmTBiKLUB/G8du7SmLTTLHKEKrV3TPHGKcEVIoyjnbhnjvu9HhLyF9MATB/zzL7g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.25.0.tgz", + "integrity": "sha512-utINfLxrYrmSnLvxFT4ZwgwWa8KOjrz7ans32V5wItgHVmzESl/9i33nE38uG0miycab8hUqQtDlOpqrIpB/iw==", "license": "MPL-2.0", "dependencies": { "@shuding/opentype.js": "1.4.0-beta.0", @@ -13958,9 +14277,9 @@ } }, "node_modules/sax": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", - "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -14011,7 +14330,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -14358,9 +14676,9 @@ } }, "node_modules/sitemap": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.0.tgz", - "integrity": "sha512-J/SU27FJ+I52TcDLKZzPRRVQUMj0Pp1i/HLb2lrkU+hrMLM+qdeRjdacrNxnSW48Waa3UcEOGOdX1+0Lob7TgA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", "license": "MIT", "dependencies": { "@types/node": "^24.9.2", @@ -14421,6 +14739,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/smtp-server": { "version": "3.18.1", "resolved": "https://registry.npmjs.org/smtp-server/-/smtp-server-3.18.1.tgz", @@ -14524,9 +14852,9 @@ } }, "node_modules/socket.io-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", - "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz", + "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", @@ -14570,6 +14898,34 @@ } } }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/sortablejs": { "version": "1.15.7", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.7.tgz", @@ -14614,16 +14970,17 @@ } }, "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-3.0.0.tgz", + "integrity": "sha512-z+s5vv4KzFPJVddGab0xX2n7kQPGMdNUX5l9T8EJqsXdKTWpcxmAqWHpsgHEXoC1taGBCc7b79bi62M5kdbrxQ==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { + "cross-spawn": "^7.0.6", "foreground-child": "^2.0.0", "is-windows": "^1.0.2", "make-dir": "^3.0.0", - "rimraf": "^3.0.0", + "rimraf": "^6.1.3", "signal-exit": "^3.0.2", "which": "^2.0.1" }, @@ -14631,24 +14988,6 @@ "node": ">=8" } }, - "node_modules/spawn-wrap/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/spawn-wrap/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/spawn-wrap/node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -14663,58 +15002,6 @@ "node": ">=8.0.0" } }, - "node_modules/spawn-wrap/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/spawn-wrap/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/spawn-wrap/node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -14776,6 +15063,18 @@ "node": ">=0.10.0" } }, + "node_modules/ssri": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -14816,9 +15115,9 @@ } }, "node_modules/streamx": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", - "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", "license": "MIT", "dependencies": { "events-universal": "^1.0.0", @@ -15048,9 +15347,9 @@ } }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", "license": "MIT", "engines": { "node": ">=6" @@ -15060,6 +15359,22 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/tar-stream": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", @@ -15082,9 +15397,9 @@ } }, "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -15158,71 +15473,53 @@ "license": "MIT" }, "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-8.0.0.tgz", + "integrity": "sha512-ZOffsNrXYggvU1mDGHk54I96r26P8SyMjO5slMKSc7+IWmtB/MQKnEC2fP51imB3/pT6YK5cT5E8f+Dd9KdyOQ==", "dev": true, "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^13.0.6", + "minimatch": "^10.2.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "20 || >=22" } }, "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "node_modules/test-exclude/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/text-decoder": { @@ -15373,22 +15670,38 @@ "node": ">=18" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, "node_modules/tldts": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.25.tgz", - "integrity": "sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.27.tgz", + "integrity": "sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==", "license": "MIT", "dependencies": { - "tldts-core": "^7.0.25" + "tldts-core": "^7.0.27" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.25.tgz", - "integrity": "sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.27.tgz", + "integrity": "sha512-YQ7uPjgWUibIK6DW5lrKujGwUKhLevU4hcGbP5O6TcIUb+oTjJYJVWPS4nZsIHrEEEG6myk/oqAJUEQmpZrHsg==", "license": "MIT" }, "node_modules/to-regex-range": { @@ -15423,9 +15736,9 @@ } }, "node_modules/tough-cookie": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", - "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", "license": "BSD-3-Clause", "dependencies": { "tldts": "^7.0.5" @@ -15488,6 +15801,7 @@ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -15552,9 +15866,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", + "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -15659,9 +15973,9 @@ "license": "BSD-3-Clause" }, "node_modules/undici": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.3.tgz", - "integrity": "sha512-eJdUmK/Wrx2d+mnWWmwwLRyA7OQCkLap60sk3dOK4ViZR7DKwwptwuIvFBg2HaiP9ESaEdhtpSymQPvytpmkCA==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.6.tgz", + "integrity": "sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==", "license": "MIT", "engines": { "node": ">=20.18.1" @@ -15941,11 +16255,10 @@ } }, "node_modules/webpack": { - "version": "5.105.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", - "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", + "version": "5.105.4", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", + "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -15953,11 +16266,11 @@ "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.19.0", + "enhanced-resolve": "^5.20.0", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -15969,9 +16282,9 @@ "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.16", + "terser-webpack-plugin": "^5.3.17", "watchpack": "^2.5.1", - "webpack-sources": "^3.3.3" + "webpack-sources": "^3.3.4" }, "bin": { "webpack": "bin/webpack.js" @@ -16209,6 +16522,7 @@ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -16423,15 +16737,18 @@ } }, "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, "license": "ISC", "bin": { diff --git a/pkgs/by-name/nodebb/package.nix b/pkgs/by-name/nodebb/package.nix index f6498cd9e..ee1744a4e 100644 --- a/pkgs/by-name/nodebb/package.nix +++ b/pkgs/by-name/nodebb/package.nix @@ -11,23 +11,34 @@ buildNpmPackage (finalAttrs: { pname = "nodebb"; - version = "4.9.2"; + version = "4.10.1"; src = fetchFromGitHub { owner = "NodeBB"; repo = "NodeBB"; tag = "v${finalAttrs.version}"; - hash = "sha256-yPCxIcpwzGqKzDDGkTCw9l0uTRu5Eb0D6V/0YOgdcrA="; + hash = "sha256-QG55il+BeVdfmKrOvsyjULHUpySiYrWvgblO8OPsKM0="; postFetch = '' cp $out/install/package.json $out ''; }; + patches = [ + # sharp is failing to build from source + # node-gyp is missing from the install/package.json + ./0001-add-node-gyp-to-dependencies.patch + ]; + postPatch = '' cp ${./package-lock.json} ./package-lock.json + + # overrwrite the package.json to the patched version + cp install/package.json package.json ''; - npmDepsHash = "sha256-fEtxiYJD1wiQkrzoCuUoc/qhPYhpkY0OgybKTJkILO4="; + npmDepsHash = "sha256-o6waZ/LmvJ7fLpQk8Te4X6atV0wAABWyU7XOC4gxLjk="; + + makeCacheWritable = true; nativeBuildInputs = [ pkg-config ]; diff --git a/projects/NodeBB/services/nodebb/tests/postgresql.nix b/projects/NodeBB/services/nodebb/tests/postgresql.nix index 2f9a46baf..10b1c136c 100644 --- a/projects/NodeBB/services/nodebb/tests/postgresql.nix +++ b/projects/NodeBB/services/nodebb/tests/postgresql.nix @@ -6,8 +6,6 @@ { name = "NodeBB"; - interactive.sshBackdoor.enable = true; - nodes.machine = { imports = [ sources.modules.ngipkgs @@ -26,4 +24,10 @@ machine.succeed("curl -v ${nodes.machine.services.nodebb.settings.url} >&2") ''; + + # Debug interactively with: + # - nix build -f . projects.NodeBB.tests.postgresql.driverInteractive -L && ./result/bin/nixos-test-driver + # - start_all()/run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; } diff --git a/projects/NodeBB/services/nodebb/tests/redis.nix b/projects/NodeBB/services/nodebb/tests/redis.nix index 41359be30..f762bc187 100644 --- a/projects/NodeBB/services/nodebb/tests/redis.nix +++ b/projects/NodeBB/services/nodebb/tests/redis.nix @@ -6,8 +6,6 @@ { name = "NodeBB"; - interactive.sshBackdoor.enable = true; - nodes.machine = { imports = [ sources.modules.ngipkgs @@ -26,4 +24,10 @@ machine.succeed("curl -v ${nodes.machine.services.nodebb.settings.url} >&2") ''; + + # Debug interactively with: + # - nix build -f . projects.NodeBB.tests.redis.driverInteractive -L && ./result/bin/nixos-test-driver + # - start_all()/run_tests() + # ssh -o User=root vsock%3 (can also do vsock/3, but % works with scp etc.) + interactive.sshBackdoor.enable = true; } From 4f86bd4e9e7ea1d8891c2c440419fce69c505676 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 12:28:32 +0530 Subject: [PATCH 22/35] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'buildbot-nix': 'github:nix-community/buildbot-nix/0239dd9a76c14ed7baa2ca40ae89c498e8dac6e7?narHash=sha256-8oqnieGvMp8VbvU8QbzwvFuxHDJ9xm2kVzS6segXy10%3D' (2026-03-22) → 'github:nix-community/buildbot-nix/1865dc8516575d09188f30934d944b57aa3cb3d4?narHash=sha256-85Ds/QjrWIqoCMWwetYsDB82QukQUQHzswjQKOo6WZ8%3D' (2026-03-29) • Updated input 'buildbot-nix/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0b152e0f7c5cc265a529cd63374b80e2771b207b?narHash=sha256-HPBNYf7HiKtBVy7/69vKpLYHX6wTcUxndxmybzDlXP8%3D' (2026-02-15) → 'github:hercules-ci/hercules-ci-effects/554f6ed448ca74c00aa2371cde901ae1e73005b9?narHash=sha256-neu7ixXHjV3LobVjOndkL97u%2B6UF6Yoh%2BCUnzX7kUBQ%3D' (2026-03-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fdc7b8f7b30fdbedec91b71ed82f36e1637483ed?narHash=sha256-a%2B%2BtZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA%3D' (2026-03-23) → 'github:NixOS/nixpkgs/832efc09b4caf6b4569fbf9dc01bec3082a00611?narHash=sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs%3D' (2026-03-27) • Updated input 'opam-repository': 'github:ocaml/opam-repository/b2a1270dba57f3ceb38426939f9780c38c181b3c?narHash=sha256-DEPWH5A/yTeTdCedo%2BGHMZpfDp7d6RsKv0itK11AOQs%3D' (2026-03-23) → 'github:ocaml/opam-repository/0cc61fc5fe1a2fdbc1fdd94c11a4eb8e12dfe1a3?narHash=sha256-2R7oqIc/fbMq3QxY4siyTXdliELQ4xJWxytWWEn988E%3D' (2026-03-29) • Updated input 'sops-nix': 'github:Mic92/sops-nix/614e256310e0a4f8a9ccae3fa80c11844fba7042?narHash=sha256-fhG4JAcLgjKwt%2BXHbjs8brpWnyKUfU4LikLm3s0Q/ic%3D' (2026-03-23) → 'github:Mic92/sops-nix/8adb84861fe70e131d44e1e33c426a51e2e0bfa5?narHash=sha256-D%2BtgywBHldTc0klWCIC49%2B6Zlp57Y4GGwxP1CqfxZrY%3D' (2026-03-29) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0d2a49fcd..1506088fa 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ ] }, "locked": { - "lastModified": 1774153455, - "narHash": "sha256-8oqnieGvMp8VbvU8QbzwvFuxHDJ9xm2kVzS6segXy10=", + "lastModified": 1774759126, + "narHash": "sha256-85Ds/QjrWIqoCMWwetYsDB82QukQUQHzswjQKOo6WZ8=", "owner": "nix-community", "repo": "buildbot-nix", - "rev": "0239dd9a76c14ed7baa2ca40ae89c498e8dac6e7", + "rev": "1865dc8516575d09188f30934d944b57aa3cb3d4", "type": "github" }, "original": { @@ -151,11 +151,11 @@ ] }, "locked": { - "lastModified": 1771131391, - "narHash": "sha256-HPBNYf7HiKtBVy7/69vKpLYHX6wTcUxndxmybzDlXP8=", + "lastModified": 1773550609, + "narHash": "sha256-neu7ixXHjV3LobVjOndkL97u+6UF6Yoh+CUnzX7kUBQ=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0b152e0f7c5cc265a529cd63374b80e2771b207b", + "rev": "554f6ed448ca74c00aa2371cde901ae1e73005b9", "type": "github" }, "original": { @@ -214,11 +214,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774273680, - "narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=", + "lastModified": 1774610258, + "narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed", + "rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "opam-repository": { "flake": false, "locked": { - "lastModified": 1774273360, - "narHash": "sha256-DEPWH5A/yTeTdCedo+GHMZpfDp7d6RsKv0itK11AOQs=", + "lastModified": 1774743430, + "narHash": "sha256-2R7oqIc/fbMq3QxY4siyTXdliELQ4xJWxytWWEn988E=", "owner": "ocaml", "repo": "opam-repository", - "rev": "b2a1270dba57f3ceb38426939f9780c38c181b3c", + "rev": "0cc61fc5fe1a2fdbc1fdd94c11a4eb8e12dfe1a3", "type": "github" }, "original": { @@ -388,11 +388,11 @@ ] }, "locked": { - "lastModified": 1774303811, - "narHash": "sha256-fhG4JAcLgjKwt+XHbjs8brpWnyKUfU4LikLm3s0Q/ic=", + "lastModified": 1774760784, + "narHash": "sha256-D+tgywBHldTc0klWCIC49+6Zlp57Y4GGwxP1CqfxZrY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "614e256310e0a4f8a9ccae3fa80c11844fba7042", + "rev": "8adb84861fe70e131d44e1e33c426a51e2e0bfa5", "type": "github" }, "original": { From 008d37c161132302ed1a64f969c1b5b7b7db44ee Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 15:16:28 +0530 Subject: [PATCH 23/35] overview: fix build Signed-off-by: phanirithvij --- manuals/default.nix | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/manuals/default.nix b/manuals/default.nix index 61881ad7b..b84db7c8c 100644 --- a/manuals/default.nix +++ b/manuals/default.nix @@ -1,5 +1,6 @@ { callPackage, + fetchFromGitHub, fetchurl, gnused, imagemagick, @@ -14,6 +15,23 @@ ... }: let + python = python3.override { + packageOverrides = final: prev: { + # nixpkgs PR https://github.com/NixOS/nixpkgs/pull/504645 + sphinx-last-updated-by-git = prev.sphinx-last-updated-by-git.overridePythonAttrs { + version = "0.3.8-unstable-2026-03-22"; + src = fetchFromGitHub { + owner = "mgeier"; + repo = "sphinx-last-updated-by-git"; + rev = "8d4eef2561996319e6f785b4faa914a1e6545476"; + hash = "sha256-30pZiqWs6Da+O8j08EIHrUoiJfJUPT6FdDiPBjmvRL8="; + fetchSubmodules = true; + leaveDotGit = true; + }; + }; + }; + }; + options = callPackage ./Options.nix { }; common = stdenv.mkDerivation (finalAttrs: { @@ -98,7 +116,7 @@ let hash = "sha256-m5f2WVVj1b7dyxBle/Ug959DAJ7PYinK0OlkD/zxh0s="; }; }; - pythonPackages = python3.withPackages ( + pythonPackages = python.withPackages ( pyPkgs: with pyPkgs; [ linkify-it-py myst-parser From 38c06c34388a6394a1edefdacc7726e5ed40303d Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 17:17:52 +0530 Subject: [PATCH 24/35] projects(openXC7): remove unused fetchpatch Signed-off-by: phanirithvij --- pkgs/by-name/openxc7/nix/fasm/default.nix | 1 - pkgs/by-name/openxc7/package.nix | 2 -- 2 files changed, 3 deletions(-) diff --git a/pkgs/by-name/openxc7/nix/fasm/default.nix b/pkgs/by-name/openxc7/nix/fasm/default.nix index 1ac43ff7e..39b81ba96 100644 --- a/pkgs/by-name/openxc7/nix/fasm/default.nix +++ b/pkgs/by-name/openxc7/nix/fasm/default.nix @@ -8,7 +8,6 @@ cmake, textx, cython, - fetchpatch, }: buildPythonPackage rec { diff --git a/pkgs/by-name/openxc7/package.nix b/pkgs/by-name/openxc7/package.nix index 014db6675..9d402ef34 100644 --- a/pkgs/by-name/openxc7/package.nix +++ b/pkgs/by-name/openxc7/package.nix @@ -3,7 +3,6 @@ stdenvNoCC, callPackage, fetchFromGitHub, - fetchpatch, writeShellApplication, bashInteractive, ghdl, @@ -21,7 +20,6 @@ let nextpnr-xilinx = callPackage ./nix/nextpnr-xilinx.nix { }; prjxray = callPackage ./nix/prjxray.nix { }; fasm = callPackage ./nix/fasm { - inherit fetchpatch; inherit (python3Packages) buildPythonPackage pythonOlder From bcff7733eb1f8cd38d97463f6429acea147b8b6d Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 17:13:29 +0530 Subject: [PATCH 25/35] projects(openxc7): yosys-syling mark broken Signed-off-by: phanirithvij --- pkgs/by-name/openxc7/nix/yosys-synlig.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/openxc7/nix/yosys-synlig.nix b/pkgs/by-name/openxc7/nix/yosys-synlig.nix index 504185df1..d0460fb40 100644 --- a/pkgs/by-name/openxc7/nix/yosys-synlig.nix +++ b/pkgs/by-name/openxc7/nix/yosys-synlig.nix @@ -89,5 +89,9 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.asl20; maintainers = with maintainers; [ hzeller ]; platforms = platforms.all; + # Note: + # dropped from nixpkgs in https://github.com/NixOS/nixpkgs/pull/473242 + # alternative pr https://github.com/NixOS/nixpkgs/pull/472800 + broken = true; }; }) From f3b034d07aff696f3ac517df0c2a0c2fd53c480f Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 17:19:05 +0530 Subject: [PATCH 26/35] projects(openXC7): mark as broken for now Signed-off-by: phanirithvij --- projects/openXC7/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/projects/openXC7/default.nix b/projects/openXC7/default.nix index e62a81206..0418ea5cb 100644 --- a/projects/openXC7/default.nix +++ b/projects/openXC7/default.nix @@ -22,6 +22,9 @@ module = ./example.nix; description = ""; tests.compile-example.module = ./test.nix; + tests.compile-example.problem.broken.reason = '' + Has several problems as of now. + ''; }; }; }; From ffe5b14b1e249460f6b0ea3c8b2ac5649ec722a6 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 17:26:00 +0530 Subject: [PATCH 27/35] projects(openXC7): support antlr in fasm From upstream, openXC7/toolchain-nix commit b65456fb19c3f61406ebb74e403e8d4b7a7b698f Signed-off-by: phanirithvij --- pkgs/by-name/openxc7/nix/fasm/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/openxc7/nix/fasm/default.nix b/pkgs/by-name/openxc7/nix/fasm/default.nix index 39b81ba96..78058a371 100644 --- a/pkgs/by-name/openxc7/nix/fasm/default.nix +++ b/pkgs/by-name/openxc7/nix/fasm/default.nix @@ -6,8 +6,11 @@ fetchFromGitHub, pythonOlder, cmake, + jre_headless, + antlr4_9, textx, cython, + fetchpatch, }: buildPythonPackage rec { @@ -22,18 +25,31 @@ buildPythonPackage rec { owner = "openxc7"; repo = "fasm"; rev = "2f57ccb1727a120e8cacbb95c578f3c71bdcc95a"; - hash = "sha256-ZytcNJvXs+GUSIrf4dtYl+Hc5kEQmeJP+3BQOmQImIw="; + fetchSubmodules = true; + hash = "sha256-4Na24czHPGvxuNuWKDiLkoBamsbqjGQkaQc8ogYHtuA="; }; nativeBuildInputs = [ cmake + jre_headless cython ]; + buildInputs = [ + antlr4_9.runtime.cpp + ]; + propagatedBuildInputs = [ textx ]; + env.ANTLR4_RUNTIME_INCLUDE = "${antlr4_9.runtime.cpp.dev}/include/antlr4-runtime"; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "self.antlr_runtime = 'static'" "self.antlr_runtime = 'shared'" + ''; + dontUseCmakeConfigure = true; # Broken upstream. From 0138cde1b6f4db8d92748a5ca743abcac200e08b Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 16:51:09 +0530 Subject: [PATCH 28/35] WIP projects(openXC7): use patched nextpnr-xilinx from nixpkgs TBA add new patch pr to nixpkgs? Recently merged to nixpkgs PR 494173 --- .../nix/0001-patch-xc7z035-tilegrid.patch | 27 ++++++ pkgs/by-name/openxc7/nix/nextpnr-xilinx.nix | 89 ++++++++++++++----- 2 files changed, 92 insertions(+), 24 deletions(-) create mode 100644 pkgs/by-name/openxc7/nix/0001-patch-xc7z035-tilegrid.patch diff --git a/pkgs/by-name/openxc7/nix/0001-patch-xc7z035-tilegrid.patch b/pkgs/by-name/openxc7/nix/0001-patch-xc7z035-tilegrid.patch new file mode 100644 index 000000000..3870f3d73 --- /dev/null +++ b/pkgs/by-name/openxc7/nix/0001-patch-xc7z035-tilegrid.patch @@ -0,0 +1,27 @@ +From c7d1beaf4bce7ea120936293ec279fd3c468afee Mon Sep 17 00:00:00 2001 +From: phanirithvij +Date: Sun, 29 Mar 2026 20:21:10 +0530 +Subject: [PATCH] patch xc7z035 tilegrid + +Signed-off-by: phanirithvij +--- + xilinx/python/xilinx_device.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/xilinx/python/xilinx_device.py b/xilinx/python/xilinx_device.py +index 386d4724..56f31c92 100644 +--- a/xilinx/python/xilinx_device.py ++++ b/xilinx/python/xilinx_device.py +@@ -461,6 +461,9 @@ def import_device(name, prjxray_root, metadata_root): + # https://github.com/gatecat/nextpnr-xilinx/issues/35 + # https://github.com/f4pga/prjxray/pull/1889 + fabricname = 'xc7a50t' ++ elif fabricname == 'xc7z035': ++ # https://github.com/openXC7/nextpnr-xilinx/issues/87 ++ fabricname = 'xc7z045' + # Load intent JSON + with open(metadata_root + "/wire_intents.json", "r") as ijf: + ij = json.load(ijf) +-- +2.53.0 + diff --git a/pkgs/by-name/openxc7/nix/nextpnr-xilinx.nix b/pkgs/by-name/openxc7/nix/nextpnr-xilinx.nix index a14eaf599..b1a78b4da 100644 --- a/pkgs/by-name/openxc7/nix/nextpnr-xilinx.nix +++ b/pkgs/by-name/openxc7/nix/nextpnr-xilinx.nix @@ -1,43 +1,60 @@ { - stdenv, - cmake, - git, lib, + stdenv, fetchFromGitHub, - python312Packages, + cmake, + gitMinimal, + nix-update-script, python312, + python312Packages, eigen, llvmPackages, - ... }: + +let + prjxrayDb = fetchFromGitHub { + owner = "openxc7"; + repo = "prjxray-db"; + rev = "381966a746cb4cf4a7f854f0e53caa3bf74fbe62"; + hash = "sha256-tQ1KfYj6kQq3fKBv6PAsqxm9btMNWFd5fT9UzOGMlkE="; + }; + + nextpnrXilinxMeta = fetchFromGitHub { + owner = "openxc7"; + repo = "nextpnr-xilinx-meta"; + rev = "491aefcc15be159efc8ad8bff2a1a4b93fe487fe"; + hash = "sha256-oRVFPzdw9ctzT6iQ8YI3Q92LZTIlRPBZvJVjMqvDJQE="; + }; +in stdenv.mkDerivation (finalAttrs: { pname = "nextpnr-xilinx"; - version = "0.8.2-unstable-2025-11-25"; + version = "0.8.2-unstable-2026-03-13"; src = fetchFromGitHub { owner = "openXC7"; repo = "nextpnr-xilinx"; - rev = "3374e5a62b54dc346fd5f85188ed24075ddfd5fb"; - hash = "sha256-gW3Z3Cd5/gfX7k/ekRHtPVlbhKszWah1L+HggMFKakA="; - fetchSubmodules = true; + rev = "96bb068afdb941e9292509a28b079c14c26ceca6"; + hash = "sha256-l9V7glWRtt9NUAKV00zeacA4vyFjwhfxv3mfDEF4lgI="; }; - postPatch = '' - # fix build with gcc15 - substituteInPlace 3rdparty/json11/json11.cpp \ - --replace-fail "" "${"\n"}#include " - ''; + patches = [ + # see https://github.com/openXC7/nextpnr-xilinx/issues/87 + ./0001-patch-xc7z035-tilegrid.patch + ]; nativeBuildInputs = [ cmake - git + gitMinimal + python312 ]; + buildInputs = [ + # Newer python fails with 'No version of Boost::Python 3.x could be found' python312Packages.boost python312 eigen ] - ++ (lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ]); + ++ (lib.optional stdenv.cc.isClang llvmPackages.openmp); cmakeFlags = [ "-DCURRENT_GIT_VERSION=${lib.substring 0 7 finalAttrs.src.rev}" @@ -45,27 +62,51 @@ stdenv.mkDerivation (finalAttrs: { "-DBUILD_GUI=OFF" "-DBUILD_TESTS=OFF" "-DUSE_OPENMP=ON" - "-Wno-deprecated" ]; + postPatch = '' + # Boost.System is header-only in modern Boost; requiring the component fails + # with CMake's FindBoost in nixpkgs. + substituteInPlace CMakeLists.txt \ + --replace-fail "set(boost_libs filesystem thread program_options iostreams system)" \ + "set(boost_libs filesystem thread program_options iostreams)" + + # GCC 15 requires explicit include for uint8_t in vendored json11. + substituteInPlace 3rdparty/json11/json11.cpp \ + --replace-fail "#include " $'#include \n#include ' + + rm -rf xilinx/external/prjxray-db xilinx/external/nextpnr-xilinx-meta + ln -s ${prjxrayDb} xilinx/external/prjxray-db + ln -s ${nextpnrXilinxMeta} xilinx/external/nextpnr-xilinx-meta + ''; + installPhase = '' runHook preInstall + mkdir -p $out/bin cp nextpnr-xilinx bbasm $out/bin/ + mkdir -p $out/share/nextpnr/external - cp -rv ../xilinx/external/prjxray-db $out/share/nextpnr/external/ - cp -rv ../xilinx/external/nextpnr-xilinx-meta $out/share/nextpnr/external/ - cp -rv ../xilinx/python/ $out/share/nextpnr/python/ - cp ../xilinx/constids.inc $out/share/nextpnr + ln -s ${prjxrayDb} $out/share/nextpnr/external/prjxray-db + cp -r ../xilinx/external/nextpnr-xilinx-meta $out/share/nextpnr/external/ + cp -r ../xilinx/python $out/share/nextpnr/ + cp ../xilinx/constids.inc $out/share/nextpnr/ + runHook postInstall ''; - env.CMAKE_POLICY_VERSION_MINIMUM = "3.5"; + strictDeps = true; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version=branch" ]; + }; meta = { - description = "Place and route tool for FPGAs"; + description = "Place and route tool for Xilinx 7-series FPGAs"; homepage = "https://github.com/openXC7/nextpnr-xilinx"; license = lib.licenses.isc; - platforms = lib.platforms.all; + mainProgram = "nextpnr-xilinx"; + maintainers = with lib.maintainers; [ rcoeurjoly ]; + platforms = lib.platforms.unix; }; }) From 1f65b5c70b6cb5416b9c3a3e12d093eb38936084 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sun, 29 Mar 2026 21:14:58 +0530 Subject: [PATCH 29/35] WIP projects(openXC7): TODO remove f4pga/prjxray replace with openxc7/prjxray Signed-off-by: phanirithvij --- .../openxc7/nix/nextpnr-xilinx-chipdb.nix | 2 - pkgs/by-name/openxc7/nix/prjxray.nix | 72 ------------------- pkgs/by-name/openxc7/package.nix | 5 -- 3 files changed, 79 deletions(-) delete mode 100644 pkgs/by-name/openxc7/nix/prjxray.nix diff --git a/pkgs/by-name/openxc7/nix/nextpnr-xilinx-chipdb.nix b/pkgs/by-name/openxc7/nix/nextpnr-xilinx-chipdb.nix index ae81a87f5..81c0aa48c 100644 --- a/pkgs/by-name/openxc7/nix/nextpnr-xilinx-chipdb.nix +++ b/pkgs/by-name/openxc7/nix/nextpnr-xilinx-chipdb.nix @@ -3,7 +3,6 @@ runtimeShell, backend, nextpnr-xilinx, - prjxray, pypy310, coreutils, findutils, @@ -22,7 +21,6 @@ stdenv.mkDerivation (finalAttrs: { dontUnpack = true; buildInputs = [ - prjxray nextpnr-xilinx pypy310 coreutils diff --git a/pkgs/by-name/openxc7/nix/prjxray.nix b/pkgs/by-name/openxc7/nix/prjxray.nix deleted file mode 100644 index a795d500b..000000000 --- a/pkgs/by-name/openxc7/nix/prjxray.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - cmake, - git, - python312Packages, - eigen, - python312, - ... -}: -stdenv.mkDerivation { - pname = "prjxray"; - version = "0-unstable-2024-06-08"; - - src = fetchFromGitHub { - owner = "f4pga"; - repo = "prjxray"; - rev = "bdbc665852b82f589ff775a8f6498542dbec0a07"; - fetchSubmodules = true; - hash = "sha256-lV4o62lS7CMG0EYPhp9bTB4fg0hOixy8CC8yGxKhGQE="; - }; - - nativeBuildInputs = [ - cmake - git - ]; - buildInputs = [ - python312Packages.boost - python312 - eigen - ]; - - patchPhase = '' - runHook prePatch - # fix build with gcc15 - substituteInPlace third_party/yaml-cpp/src/emitterutils.cpp \ - --replace-fail "\"yaml-cpp/null.h\"" "\"yaml-cpp/null.h\"${"\n"}#include " - substituteInPlace lib/include/prjxray/memory_mapped_file.h \ - --replace-fail "" "${"\n"}#include " - runHook postPatch - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - cp -v tools/xc7frames2bit tools/bitread tools/xc7patch $out/bin - cp -v $srcs/utils/fasm2frames.py $out/bin/fasm2frames - chmod 755 $out/bin/fasm2frames - cp -v $srcs/utils/bit2fasm.py $out/bin/bit2fasm - chmod 755 $out/bin/bit2fasm - mkdir -p $out/usr/share/python3/ - cp -rv $srcs/prjxray $out/usr/share/python3/ - runHook postInstall - ''; - - doCheck = false; - - env.CMAKE_POLICY_VERSION_MINIMUM = "3.5"; - env.NIX_CFLAGS_COMPILE = toString [ - "-Wno-deprecated" - # fix build for gcc 15 - "-Wno-error=free-nonheap-object" - ]; - - meta = { - description = "Xilinx series 7 FPGA bitstream documentation"; - homepage = "https://github.com/f4pga/prjxray"; - license = lib.licenses.isc; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/by-name/openxc7/package.nix b/pkgs/by-name/openxc7/package.nix index 9d402ef34..3e414927b 100644 --- a/pkgs/by-name/openxc7/package.nix +++ b/pkgs/by-name/openxc7/package.nix @@ -38,7 +38,6 @@ let callPackage ./nix/nextpnr-xilinx-chipdb.nix { backend = name; inherit nextpnr-xilinx; - inherit prjxray; } ); @@ -47,7 +46,6 @@ let name = "openxc7-env"; runtimeInputs = [ fasm - prjxray nextpnr-xilinx yosys @@ -66,9 +64,7 @@ let "NEXTPNR_XILINX_DIR" = "${nextpnr-xilinx}"; "NEXTPNR_XILINX_PYTHON_DIR" = "${nextpnr-xilinx}/share/nextpnr/python/"; "PRJXRAY_DB_DIR" = "${nextpnr-xilinx}/share/nextpnr/external/prjxray-db"; - "PRJXRAY_PYTHON_DIR" = "${prjxray}/usr/share/python3/"; "PYTHONPATH" = lib.strings.concatStringsSep ":" [ - "${prjxray}/usr/share/python3" (python3Packages.makePythonPath ( [ fasm @@ -124,7 +120,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru.packages = { inherit nextpnr-xilinx - prjxray fasm ; inherit (nextpnr-xilinx-chipdb) From 3a7830c606fd3201849f337fc2b46290f4b3f371 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Mon, 30 Mar 2026 13:55:55 +0530 Subject: [PATCH 30/35] projects(CryptoLyzer): update and vendor 1.1.0 nixpkgs pr 504919 Signed-off-by: phanirithvij --- pkgs/by-name/cryptodatahub/package.nix | 61 ++++++++++++++++ .../cryptolyzer/fix-dirs-exclude.patch | 27 ++++++++ pkgs/by-name/cryptolyzer/package.nix | 69 +++++++++++++++++++ pkgs/by-name/cryptoparser/package.nix | 67 ++++++++++++++++++ projects/CryptoLyzer/programs/module.nix | 2 +- 5 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/cryptodatahub/package.nix create mode 100644 pkgs/by-name/cryptolyzer/fix-dirs-exclude.patch create mode 100644 pkgs/by-name/cryptolyzer/package.nix create mode 100644 pkgs/by-name/cryptoparser/package.nix diff --git a/pkgs/by-name/cryptodatahub/package.nix b/pkgs/by-name/cryptodatahub/package.nix new file mode 100644 index 000000000..376b8246d --- /dev/null +++ b/pkgs/by-name/cryptodatahub/package.nix @@ -0,0 +1,61 @@ +{ + lib, + fetchFromGitLab, + python3, +}: + +python3.pkgs.buildPythonPackage (finalAttrs: { + pname = "cryptodatahub"; + version = "1.1.0"; + pyproject = true; + + src = fetchFromGitLab { + owner = "coroner"; + repo = "cryptodatahub"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Tz2VbWS5/sGjRsOKR7eWpWAJVNv1QMSjkepI7fVZq6w="; + }; + + build-system = with python3.pkgs; [ + setuptools + setuptools-scm + ]; + + dependencies = with python3.pkgs; [ + asn1crypto + attrs + python-dateutil + urllib3 + ]; + + nativeCheckInputs = with python3.pkgs; [ + beautifulsoup4 + pyfakefs + pytestCheckHook + ]; + + pythonImportsCheck = [ "cryptodatahub" ]; + + disabledTests = [ + # fails due to certificate expiry + # see https://gitlab.com/coroner/cryptodatahub/-/work_items/38 + "test_validity" + # pytest incorrectly collects abstract base classes + "TestClasses" + ]; + + disabledTestPaths = [ + # failing tests + "test/updaters/test_common.py" + # Tests require network access + "test/common/test_utils.py" + ]; + + meta = { + description = "Repository of cryptography-related data"; + homepage = "https://gitlab.com/coroner/cryptodatahub"; + changelog = "https://gitlab.com/coroner/cryptodatahub/-/blob/${finalAttrs.src.tag}/CHANGELOG.rst"; + license = lib.licenses.mpl20; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/cryptolyzer/fix-dirs-exclude.patch b/pkgs/by-name/cryptolyzer/fix-dirs-exclude.patch new file mode 100644 index 000000000..0455c892b --- /dev/null +++ b/pkgs/by-name/cryptolyzer/fix-dirs-exclude.patch @@ -0,0 +1,27 @@ +From 5ba89bc0bcc23fc7e8cd3eefb2d78b5a63f4fc66 Mon Sep 17 00:00:00 2001 +From: Ivan Mincik +Date: Wed, 17 Sep 2025 14:44:15 +0200 +Subject: [PATCH] Fix directories exclude from package + +* correctly exclude submodules directory +* also exclude docs directory +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 96a0fa89..a26ee257 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -106,7 +106,7 @@ technical_name = 'cryptolyzer' + license-files = ['LICENSE.txt'] + + [tool.setuptools.packages.find] +-exclude = ['submodules'] ++exclude = ['submodules*', 'docs'] + + [tool.tox] + envlist = [ +-- +GitLab + diff --git a/pkgs/by-name/cryptolyzer/package.nix b/pkgs/by-name/cryptolyzer/package.nix new file mode 100644 index 000000000..59239804c --- /dev/null +++ b/pkgs/by-name/cryptolyzer/package.nix @@ -0,0 +1,69 @@ +{ + lib, + fetchFromGitLab, + python3, + cryptoparser, +}: + +python3.pkgs.buildPythonApplication (finalAttrs: { + pname = "cryptolyzer"; + version = "1.1.0"; + pyproject = true; + + src = fetchFromGitLab { + owner = "coroner"; + repo = "cryptolyzer"; + tag = "v${finalAttrs.version}"; + hash = "sha256-qfE6/jHJD+I2AeIl3uUcGVkAteAHSvZquLvh2fCxJB0="; + }; + + patches = [ + # https://gitlab.com/coroner/cryptolyzer/-/merge_requests/4 + ./fix-dirs-exclude.patch + ]; + + pythonRemoveDeps = [ "bs4" ]; + + build-system = with python3.pkgs; [ + setuptools + setuptools-scm + ]; + + dependencies = [ + cryptoparser + ] + ++ (with python3.pkgs; [ + attrs + beautifulsoup4 + certvalidator + colorama + dnspython + pathlib2 + pyfakefs + python-dateutil + requests + urllib3 + ]); + + # Tests require networking + doCheck = false; + + postInstall = '' + find $out -name "__pycache__" -type d | xargs rm -rv + + # Prevent creating more binary byte code later (e.g. during + # pythonImportsCheck) + export PYTHONDONTWRITEBYTECODE=1 + ''; + + pythonImportsCheck = [ "cryptolyzer" ]; + + meta = { + description = "Cryptographic protocol analyzer"; + homepage = "https://gitlab.com/coroner/cryptolyzer"; + changelog = "https://gitlab.com/coroner/cryptolyzer/-/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = lib.licenses.mpl20; + mainProgram = "cryptolyze"; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/by-name/cryptoparser/package.nix b/pkgs/by-name/cryptoparser/package.nix new file mode 100644 index 000000000..084e4fe48 --- /dev/null +++ b/pkgs/by-name/cryptoparser/package.nix @@ -0,0 +1,67 @@ +{ + lib, + fetchFromGitLab, + fetchpatch2, + python3, + cryptodatahub, +}: + +python3.pkgs.buildPythonPackage (finalAttrs: { + pname = "cryptoparser"; + version = "1.1.0"; + pyproject = true; + + src = fetchFromGitLab { + owner = "coroner"; + repo = "cryptoparser"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Zd305BFM3G8LMQqDwtbwRPy6ooNXJ61UzWBwVewh0F4="; + }; + + patches = [ + (fetchpatch2 { + url = "https://gitlab.com/coroner/cryptoparser/-/merge_requests/2.diff"; + hash = "sha256-T8dK6OMR41XUMrZ6B7ZybEtljZJOR2QbCiZl04dT3wA="; + }) + ]; + + build-system = with python3.pkgs; [ + setuptools + setuptools-scm + ]; + + dependencies = [ + cryptodatahub + ] + ++ (with python3.pkgs; [ + asn1crypto + attrs + urllib3 + ]); + + env.PYTHONDONTWRITEBYTECODE = 1; + + nativeCheckInputs = with python3.pkgs; [ + pyfakefs + pytestCheckHook + ]; + + disabledTests = [ + # pytest incorrectly collects abstract base classes + "TestCasesBasesHttpHeader" + ]; + + postInstall = '' + find $out -name __pycache__ -type d | xargs rm -rv + ''; + + pythonImportsCheck = [ "cryptoparser" ]; + + meta = { + description = "Security protocol parser and generator"; + homepage = "https://gitlab.com/coroner/cryptoparser"; + changelog = "https://gitlab.com/coroner/cryptoparser/-/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mpl20; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/projects/CryptoLyzer/programs/module.nix b/projects/CryptoLyzer/programs/module.nix index fe95043f2..f107076e2 100644 --- a/projects/CryptoLyzer/programs/module.nix +++ b/projects/CryptoLyzer/programs/module.nix @@ -10,7 +10,7 @@ in { options.programs.cryptolyzer = { enable = lib.mkEnableOption "CryptoLyzer"; - package = lib.mkPackageOption pkgs [ "python3Packages" "cryptolyzer" ] { }; + package = lib.mkPackageOption pkgs [ "cryptolyzer" ] { }; }; config = lib.mkIf cfg.enable { From 1248fc1c2ea107d0a4808eb2e0e774f8dd65de08 Mon Sep 17 00:00:00 2001 From: eljamm Date: Mon, 30 Mar 2026 16:02:23 +0200 Subject: [PATCH 31/35] projects(PdfDing): unbreak tests --- pkgs/by-name/pdfding/package.nix | 2 +- projects/PdfDing/default.nix | 10 ---------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/pkgs/by-name/pdfding/package.nix b/pkgs/by-name/pdfding/package.nix index f9f66c85a..4c9083766 100644 --- a/pkgs/by-name/pdfding/package.nix +++ b/pkgs/by-name/pdfding/package.nix @@ -172,7 +172,7 @@ python.pkgs.buildPythonPackage (finalAttrs: { passthru = { inherit python; - tests = nixosTests.pdfding; + # tests = nixosTests.pdfding; # NOTE: already tested frontend = callPackage ./frontend.nix { }; updateScript = ./update.sh; }; diff --git a/projects/PdfDing/default.nix b/projects/PdfDing/default.nix index 1446b5cd8..bbac37b53 100644 --- a/projects/PdfDing/default.nix +++ b/projects/PdfDing/default.nix @@ -4,11 +4,6 @@ sources, ... }@args: -let - brokenReason = '' - pdfding derivation is broken in nixpkgs, fix at https://github.com/NixOS/nixpkgs/pull/496164 - ''; -in { metadata = { summary = "Web-based selfhosted PDF manager, viewer and editor"; @@ -37,19 +32,16 @@ in module = ./services/pdfding/examples/basic.nix; description = "Sqlite default service"; tests.basic.module = ./services/pdfding/tests/basic.nix; - tests.basic.problem.broken.reason = brokenReason; }; postgres = { module = ./services/pdfding/examples/postgres.nix; description = "Postgres and consume feature"; tests.postgres.module = ./services/pdfding/tests/postgres.nix; - tests.postgres.problem.broken.reason = brokenReason; }; s3-backups = { module = ./services/pdfding/examples/s3-backups.nix; description = "Backup feature of pdfding"; tests.s3-backups.module = ./services/pdfding/tests/s3-backups.nix; - tests.s3-backups.problem.broken.reason = brokenReason; }; }; links = { @@ -63,7 +55,6 @@ in # e2e not tied to an example nixos.tests.e2e.module = pkgs.nixosTests.pdfding.e2e; - nixos.tests.e2e.problem.broken.reason = brokenReason; nixos.demo.vm = { module = ./demo/module.nix; @@ -94,6 +85,5 @@ in } ]; tests.basic.module = ./services/pdfding/tests/basic.nix; - tests.basic.problem.broken.reason = brokenReason; }; } From 859496cb1cc8849ae226fbac955a5ceab16ea316 Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Mon, 30 Mar 2026 20:44:22 +0530 Subject: [PATCH 32/35] projects(kbin): fix nixos test Signed-off-by: phanirithvij --- pkgs/by-name/kbin-backend/package.nix | 47 ++++++++++++--------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/pkgs/by-name/kbin-backend/package.nix b/pkgs/by-name/kbin-backend/package.nix index 6c209095a..984f5ba32 100644 --- a/pkgs/by-name/kbin-backend/package.nix +++ b/pkgs/by-name/kbin-backend/package.nix @@ -15,33 +15,19 @@ let optionalString ; - php = php82.override { - packageOverrides = final: prev: { - extensions = prev.extensions // { - # newer versions don't seem to work with kbin - redis = prev.extensions.redis.overrideAttrs ( - finalAttrs: previousAttrs: { - version = "6.0.2"; - src = fetchFromGitHub { - repo = "phpredis"; - owner = "phpredis"; - rev = finalAttrs.version; - hash = "sha256-Ie31zak6Rqxm2+jGXWg6KN4czHe9e+190jZRQ5VoB+M="; - }; - } - ); - }; - }; - }; + # NOTE: php override with `packageOverrides` no longer works + # documentation in nixpkgs php framework is outdated + php = php82; in # NOTE: when updating this: # - also update the `kbin-frontend` yarn deps hash and its `package.json` +# - project seems dead https://codeberg.org/Kbin/kbin-core/issues/1425 and last commit on Feb 2024 php.buildComposerProject ( finalAttrs: let pname = "kbin"; - baseVersion = "0.0.1"; - version = "0.0.1-unstable-2024-02-05"; + # realVersion = "0.0.1-unstable-2024-02-05"; + version = "0.0.1"; in { inherit pname version; @@ -83,7 +69,19 @@ php.buildComposerProject ( enabled ++ (with all; [ amqp - redis + (redis.overrideAttrs ( + finalAttrs: previousAttrs: { + # newer versions don't seem to work with kbin + # https://github.com/phpredis/phpredis/issues/2564 + version = "6.0.2"; + src = fetchFromGitHub { + repo = "phpredis"; + owner = "phpredis"; + rev = finalAttrs.version; + hash = "sha256-Ie31zak6Rqxm2+jGXWg6KN4czHe9e+190jZRQ5VoB+M="; + }; + } + )) ]) ); @@ -104,11 +102,6 @@ php.buildComposerProject ( | sponge config/packages/oneup_flysystem.yaml ''); - preBuild = '' - # composer does not support unstable versioning scheme - export version="${baseVersion}" - ''; - installCheckPhase = '' runHook preInstallCheck @@ -128,7 +121,7 @@ php.buildComposerProject ( read -r input_tag if [ "$input_tag" = 0 ] then - printf '%s' ${baseVersion} + printf '%s' ${version} else printf '%s' "$input_tag" fi From f04213d4dbf1e9a9176a001af88774ecf28f8703 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Wed, 11 Feb 2026 15:14:35 +0100 Subject: [PATCH 33/35] maint/update(Bonfire): 1.0.1-beta.11 -> 1.0.2-alpha.32 --- .../ember/yarnOfflineCache.hash | 1 - .../open_science/yarnOfflineCache.hash | 1 - .../social/yarnOfflineCache.hash | 1 - .../0001-Revert-Update-package.json.patch | 26 + .../ember/yarnBerryOfflineCache.hash | 1 - .../ember/yarnOfflineCache.hash | 1 - .../open_science/yarnBerryOfflineCache.hash | 1 - .../open_science/yarnOfflineCache.hash | 1 - .../social/yarnBerryOfflineCache.hash | 1 - .../social/yarnOfflineCache.hash | 1 - .../iconify_ex/ember/yarnOfflineCache.hash | 1 - .../open_science/yarnOfflineCache.hash | 1 - .../iconify_ex/social/yarnOfflineCache.hash | 1 - .../{deps => extensions}/.editorconfig | 0 .../extensions/community/fetchFromGitHub.nix | 7 - .../cooperation/fetchFromGitHub.nix | 7 - .../coordination/fetchFromGitHub.nix | 7 - .../ember/autumn}/Cargo.lock | 224 +++- .../yarnOfflineCache.hash | 1 + .../bonfire_ui_common}/missingHashes.json | 0 .../yarnBerryOfflineCache.hash | 1 + .../by-name/bonfire/extensions/ember/deps.nix | 762 +++++++++----- .../ember/ex_cldr}/fetchFromGitHub.hash | 0 .../extensions/ember/fetchFromGitHub.nix | 4 +- .../ember/iconify_ex/yarnOfflineCache.hash | 1 + .../ember/mdex}/Cargo.lock | 0 .../ember/mjml}/Cargo.lock | 96 +- .../open_science/autumn}/Cargo.lock | 224 +++- .../yarnOfflineCache.hash | 1 + .../bonfire_geolocate}/yarnOfflineCache.hash | 0 .../bonfire_ui_common}/missingHashes.json | 0 .../yarnBerryOfflineCache.hash | 1 + .../bonfire/extensions/open_science/deps.nix | 961 ++++++++++++------ .../ex_cldr}/fetchFromGitHub.hash | 0 .../iconify_ex/yarnOfflineCache.hash | 1 + .../open_science/mdex}/Cargo.lock | 0 .../open_science/mjml}/Cargo.lock | 96 +- .../social/autumn}/Cargo.lock | 224 +++- .../yarnOfflineCache.hash | 1 + .../bonfire_geolocate}/yarnOfflineCache.hash | 0 .../bonfire_ui_common}/missingHashes.json | 0 .../yarnBerryOfflineCache.hash | 1 + .../bonfire/extensions/social/deps.nix | 898 ++++++++++------ .../social/ex_cldr}/fetchFromGitHub.hash | 0 .../extensions/social/fetchFromGitHub.nix | 4 +- .../social/iconify_ex/yarnOfflineCache.hash | 1 + .../social/mdex}/Cargo.lock | 0 .../social/mjml}/Cargo.lock | 96 +- pkgs/by-name/bonfire/generic.nix | 357 ++++--- pkgs/by-name/bonfire/package.nix | 123 ++- pkgs/by-name/bonfire/update.nix | 28 +- .../development/beam-modules/build-mix.nix | 8 +- .../development/beam-modules/mix-release.nix | 50 +- .../Bonfire/services/bonfire/tests/basic.nix | 4 +- 54 files changed, 2816 insertions(+), 1411 deletions(-) delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/ember/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/open_science/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/social/yarnOfflineCache.hash create mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/0001-Revert-Update-package.json.patch delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnBerryOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnBerryOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnBerryOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/iconify_ex/ember/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/iconify_ex/open_science/yarnOfflineCache.hash delete mode 100644 pkgs/by-name/bonfire/deps/iconify_ex/social/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps => extensions}/.editorconfig (100%) delete mode 100644 pkgs/by-name/bonfire/extensions/community/fetchFromGitHub.nix delete mode 100644 pkgs/by-name/bonfire/extensions/cooperation/fetchFromGitHub.nix delete mode 100644 pkgs/by-name/bonfire/extensions/coordination/fetchFromGitHub.nix rename pkgs/by-name/bonfire/{deps/autumn/ember => extensions/ember/autumn}/Cargo.lock (83%) create mode 100644 pkgs/by-name/bonfire/extensions/ember/bonfire_editor_milkdown/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/bonfire_ui_common/ember => extensions/ember/bonfire_ui_common}/missingHashes.json (100%) create mode 100644 pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/yarnBerryOfflineCache.hash rename pkgs/by-name/bonfire/{deps/ex_cldr/ember => extensions/ember/ex_cldr}/fetchFromGitHub.hash (100%) create mode 100644 pkgs/by-name/bonfire/extensions/ember/iconify_ex/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/mdex/ember => extensions/ember/mdex}/Cargo.lock (100%) rename pkgs/by-name/bonfire/{deps/mjml/open_science => extensions/ember/mjml}/Cargo.lock (63%) rename pkgs/by-name/bonfire/{deps/autumn/open_science => extensions/open_science/autumn}/Cargo.lock (83%) create mode 100644 pkgs/by-name/bonfire/extensions/open_science/bonfire_editor_milkdown/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/bonfire_geolocate/open_science => extensions/open_science/bonfire_geolocate}/yarnOfflineCache.hash (100%) rename pkgs/by-name/bonfire/{deps/bonfire_ui_common/open_science => extensions/open_science/bonfire_ui_common}/missingHashes.json (100%) create mode 100644 pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/yarnBerryOfflineCache.hash rename pkgs/by-name/bonfire/{deps/ex_cldr/open_science => extensions/open_science/ex_cldr}/fetchFromGitHub.hash (100%) create mode 100644 pkgs/by-name/bonfire/extensions/open_science/iconify_ex/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/mdex/open_science => extensions/open_science/mdex}/Cargo.lock (100%) rename pkgs/by-name/bonfire/{deps/mjml/social => extensions/open_science/mjml}/Cargo.lock (63%) rename pkgs/by-name/bonfire/{deps/autumn/social => extensions/social/autumn}/Cargo.lock (83%) create mode 100644 pkgs/by-name/bonfire/extensions/social/bonfire_editor_milkdown/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/bonfire_geolocate/social => extensions/social/bonfire_geolocate}/yarnOfflineCache.hash (100%) rename pkgs/by-name/bonfire/{deps/bonfire_ui_common/social => extensions/social/bonfire_ui_common}/missingHashes.json (100%) create mode 100644 pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/yarnBerryOfflineCache.hash rename pkgs/by-name/bonfire/{deps/ex_cldr/social => extensions/social/ex_cldr}/fetchFromGitHub.hash (100%) create mode 100644 pkgs/by-name/bonfire/extensions/social/iconify_ex/yarnOfflineCache.hash rename pkgs/by-name/bonfire/{deps/mdex/social => extensions/social/mdex}/Cargo.lock (100%) rename pkgs/by-name/bonfire/{deps/mjml/ember => extensions/social/mjml}/Cargo.lock (63%) diff --git a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/ember/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/ember/yarnOfflineCache.hash deleted file mode 100644 index 692fb479e..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/ember/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-9sm3uDev6Ms7pJUWRRrJknGXkdee8vg+ZDfL+r0FCto= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/open_science/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/open_science/yarnOfflineCache.hash deleted file mode 100644 index 692fb479e..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/open_science/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-9sm3uDev6Ms7pJUWRRrJknGXkdee8vg+ZDfL+r0FCto= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/social/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/social/yarnOfflineCache.hash deleted file mode 100644 index 692fb479e..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_editor_milkdown/social/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-9sm3uDev6Ms7pJUWRRrJknGXkdee8vg+ZDfL+r0FCto= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/0001-Revert-Update-package.json.patch b/pkgs/by-name/bonfire/deps/bonfire_ui_common/0001-Revert-Update-package.json.patch new file mode 100644 index 000000000..9bc03d494 --- /dev/null +++ b/pkgs/by-name/bonfire/deps/bonfire_ui_common/0001-Revert-Update-package.json.patch @@ -0,0 +1,26 @@ +From 5f240a653b0e92866ca72096c997ba10884f2733 Mon Sep 17 00:00:00 2001 +From: Julien Moutinho +Date: Thu, 19 Feb 2026 06:47:20 +0100 +Subject: [PATCH] Revert "Update package.json" + +This reverts commit 90f53fe99bf9213dcf3ba57f89038a8c10a3189a. +--- + assets/package.json | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/assets/package.json b/assets/package.json +index 762a66c..a56e8e1 100755 +--- a/assets/package.json ++++ b/assets/package.json +@@ -60,7 +60,7 @@ + "@tailwindcss/postcss": "4.1.17", + "buffer": "^6.0.3", + "cpx2": "^6.0.1", +- "daisyui": "^5.1.18", ++ "daisyui": "^5.1.12", + "esbuild": "^0.19.9", + "postcss": "^8.4.38", + "postcss-cli": "^11.0.0", +-- +2.51.2 + diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnBerryOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnBerryOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnBerryOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnBerryOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnBerryOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnBerryOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnOfflineCache.hash deleted file mode 100644 index d666d4580..000000000 --- a/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-anYH3BPJ5zSkS66xbFxJburKzTceTXCEV2YFZoOfAXU= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/iconify_ex/ember/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/iconify_ex/ember/yarnOfflineCache.hash deleted file mode 100644 index 09093dd4e..000000000 --- a/pkgs/by-name/bonfire/deps/iconify_ex/ember/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-ZjAHh9q3u40aczpzEM7Q00v53adj4P1iOB0LtPaQfgk= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/iconify_ex/open_science/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/iconify_ex/open_science/yarnOfflineCache.hash deleted file mode 100644 index 09093dd4e..000000000 --- a/pkgs/by-name/bonfire/deps/iconify_ex/open_science/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-ZjAHh9q3u40aczpzEM7Q00v53adj4P1iOB0LtPaQfgk= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/iconify_ex/social/yarnOfflineCache.hash b/pkgs/by-name/bonfire/deps/iconify_ex/social/yarnOfflineCache.hash deleted file mode 100644 index 09093dd4e..000000000 --- a/pkgs/by-name/bonfire/deps/iconify_ex/social/yarnOfflineCache.hash +++ /dev/null @@ -1 +0,0 @@ -sha256-ZjAHh9q3u40aczpzEM7Q00v53adj4P1iOB0LtPaQfgk= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/.editorconfig b/pkgs/by-name/bonfire/extensions/.editorconfig similarity index 100% rename from pkgs/by-name/bonfire/deps/.editorconfig rename to pkgs/by-name/bonfire/extensions/.editorconfig diff --git a/pkgs/by-name/bonfire/extensions/community/fetchFromGitHub.nix b/pkgs/by-name/bonfire/extensions/community/fetchFromGitHub.nix deleted file mode 100644 index 613ae34d0..000000000 --- a/pkgs/by-name/bonfire/extensions/community/fetchFromGitHub.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchFromGitHub, ... }: -fetchFromGitHub { - owner = "bonfire-networks"; - repo = "community"; - rev = "2f565097e162549a0c3384c7234bf7de9e8c397d"; - hash = "sha256-VC7qUD9Y9bbe/V65ImTAV19xoaFDHZSIxYHweEn4Jy4="; -} diff --git a/pkgs/by-name/bonfire/extensions/cooperation/fetchFromGitHub.nix b/pkgs/by-name/bonfire/extensions/cooperation/fetchFromGitHub.nix deleted file mode 100644 index 33764113e..000000000 --- a/pkgs/by-name/bonfire/extensions/cooperation/fetchFromGitHub.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchFromGitHub, ... }: -fetchFromGitHub { - owner = "bonfire-networks"; - repo = "cooperation"; - rev = "07f22e652cd2577d7d019a34108dd12bdf6512bf"; - hash = "sha256-4mvm1WHUCf4UBg49ImNa2nZNAdlB0fAKWe9K8vrMl7s="; -} diff --git a/pkgs/by-name/bonfire/extensions/coordination/fetchFromGitHub.nix b/pkgs/by-name/bonfire/extensions/coordination/fetchFromGitHub.nix deleted file mode 100644 index 6e2b1b866..000000000 --- a/pkgs/by-name/bonfire/extensions/coordination/fetchFromGitHub.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchFromGitHub, ... }: -fetchFromGitHub { - owner = "bonfire-networks"; - repo = "coordination"; - rev = "79e385870d3d4b56e9541c455c8a16974337e98a"; - hash = "sha256-8j080OwBkH+IIAn3TnejZ9GIVEBXrFFOjMyA5WFcoIE="; -} diff --git a/pkgs/by-name/bonfire/deps/autumn/ember/Cargo.lock b/pkgs/by-name/bonfire/extensions/ember/autumn/Cargo.lock similarity index 83% rename from pkgs/by-name/bonfire/deps/autumn/ember/Cargo.lock rename to pkgs/by-name/bonfire/extensions/ember/autumn/Cargo.lock index 1a9e8be77..89f95b8a0 100644 --- a/pkgs/by-name/bonfire/deps/autumn/ember/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/ember/autumn/Cargo.lock @@ -69,16 +69,15 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "autumnus" -version = "0.7.8" +version = "0.8.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c1fde8ded97480fce6fb7284ec21a5d0fcd62ade3e77770fe5c8c717dd7348" +checksum = "af0d8dd045538962cebd3f7b975320338140fb2c74aea771a0a09ffdd2f6f362" dependencies = [ "anyhow", "cc", "clap", "derive_builder", "glob", - "lazy_static", "prettyplease", "proc-macro2", "quote", @@ -87,9 +86,13 @@ dependencies = [ "rustler", "serde", "serde_json", + "smol_str", + "streaming-iterator", "strum", "syn", + "tempfile", "termcolor", + "thiserror", "tree-sitter", "tree-sitter-asm", "tree-sitter-bash", @@ -145,9 +148,26 @@ name = "autumnus_nif" version = "0.1.0" dependencies = [ "autumnus", + "once_cell", + "parking_lot", "rustler", ] +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "borsh" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +dependencies = [ + "cfg_aliases", +] + [[package]] name = "cc" version = "1.2.45" @@ -164,6 +184,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clap" version = "4.5.51" @@ -313,6 +339,22 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + [[package]] name = "find-msvc-tools" version = "0.1.4" @@ -325,6 +367,18 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "glob" version = "0.3.3" @@ -381,33 +435,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "lazy_static" -version = "1.5.0" +name = "libc" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.8.9" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", "windows-link", ] +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "memchr" version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + [[package]] name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -436,6 +534,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rayon" version = "1.11.0" @@ -456,6 +560,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + [[package]] name = "regex" version = "1.12.2" @@ -491,11 +604,24 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "rustler" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb867bb35b291ef105abbe0a0d04bd4d7af372e023d08845698687bc254f222b" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -505,9 +631,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90993223c5ac0fb580ff966fb9477289c4e8a610a2f4639912a2639c5e7b5095" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -528,6 +654,12 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "serde" version = "1.0.228" @@ -578,6 +710,22 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smol_str" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f7a918bd2a9951d18ee6e48f076843e8e73a9a5d22cf05bcd4b7a81bdd04e17" +dependencies = [ + "borsh", + "serde_core", +] + [[package]] name = "streaming-iterator" version = "0.1.9" @@ -622,6 +770,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -677,9 +838,9 @@ dependencies = [ [[package]] name = "tree-sitter-bash" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871b0606e667e98a1237ebdc1b0d7056e0aebfdc3141d12b399865d4cb6ed8a6" +checksum = "9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062" dependencies = [ "cc", "tree-sitter-language", @@ -767,9 +928,9 @@ dependencies = [ [[package]] name = "tree-sitter-elm" -version = "5.8.0" +version = "5.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accee95d95c001e53f5ab1a1168f1ed1c6ec763a17fb48b43acf5bf4ff9e3423" +checksum = "23840259bfc74d3fc7638047002703bac8624f4969fd73226d7ed516a1b91e9c" dependencies = [ "cc", "tree-sitter-language", @@ -909,15 +1070,15 @@ dependencies = [ [[package]] name = "tree-sitter-language" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8" +checksum = "4ae62f7eae5eb549c71b76658648b72cc6111f2d87d24a1e31fa907f4943e3ce" [[package]] name = "tree-sitter-lua" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb9adf0965fec58e7660cbb3a059dbb12ebeec9459e6dcbae3db004739641e" +checksum = "ea992f4164d83f371ef1239ae178c4d4596c296c09055e9a48bb02a2760403af" dependencies = [ "cc", "tree-sitter-language", @@ -965,9 +1126,9 @@ dependencies = [ [[package]] name = "tree-sitter-powershell" -version = "0.25.9" +version = "0.25.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0e37101b110badaf99aa40460915a8797ceba15fc0ed22773280377a8dffb6" +checksum = "415ec6251d133d26b4f62c60721149fe36c315334f47812450187d6ea59cffdf" dependencies = [ "cc", "tree-sitter-language", @@ -975,9 +1136,9 @@ dependencies = [ [[package]] name = "tree-sitter-proto" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fa4bcb3d87081d2d2741f80425f534d9892e4bd5362037d64357a823391119" +checksum = "2e410ccb5fa3cbd6bf7b8e512ecf7ad9d5254395b822bfe9f751b50fa978f31c" dependencies = [ "cc", "tree-sitter-language", @@ -1141,6 +1302,15 @@ version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "winapi-util" version = "0.1.11" @@ -1164,3 +1334,9 @@ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" diff --git a/pkgs/by-name/bonfire/extensions/ember/bonfire_editor_milkdown/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/ember/bonfire_editor_milkdown/yarnOfflineCache.hash new file mode 100644 index 000000000..08e2a34d2 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/ember/bonfire_editor_milkdown/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-u+8td3ZsrUxfprirdc4qrNXofdCkH2w41HtXMESkiPg= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/missingHashes.json b/pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/missingHashes.json similarity index 100% rename from pkgs/by-name/bonfire/deps/bonfire_ui_common/ember/missingHashes.json rename to pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/missingHashes.json diff --git a/pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/yarnBerryOfflineCache.hash new file mode 100644 index 000000000..56abc4b20 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/ember/bonfire_ui_common/yarnBerryOfflineCache.hash @@ -0,0 +1 @@ +sha256-XbZDLzvQFAj3fRH5ViWYNwQR08TZjdYQ9e3pmGWsgjw= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/extensions/ember/deps.nix b/pkgs/by-name/bonfire/extensions/ember/deps.nix index 4c1766d69..34cabd929 100644 --- a/pkgs/by-name/bonfire/extensions/ember/deps.nix +++ b/pkgs/by-name/bonfire/extensions/ember/deps.nix @@ -1,9 +1,15 @@ { - pkgs, lib, beamPackages, + cmake, + extend, + lexbor, + fetchFromGitHub, overrides ? (x: y: { }), overrideFenixOverlay ? null, + pkg-config, + vips, + writeText, }: let @@ -12,7 +18,7 @@ let workarounds = { portCompiler = _unusedArgs: old: { - buildPlugins = [ pkgs.beamPackages.pc ]; + buildPlugins = [ beamPackages.pc ]; }; rustlerPrecompiled = @@ -22,13 +28,13 @@ let }: old: let - extendedPkgs = pkgs.extend fenixOverlay; + extendedPkgs = extend fenixOverlay; fenixOverlay = if overrideFenixOverlay == null then import "${ fetchTarball { - url = "https://github.com/nix-community/fenix/archive/056c9393c821a4df356df6ce7f14c722dc8717ec.tar.gz"; - sha256 = "sha256:1cdfh6nj81gjmn689snigidyq7w98gd8hkl5rvhly6xj7vyppmnd"; + url = "https://github.com/nix-community/fenix/archive/6399553b7a300c77e7f07342904eb696a5b6bf9d.tar.gz"; + sha256 = "sha256-C6tT7K1Lx6VsYw1BY5S3OavtapUvEnDQtmQB5DSgbCc="; } }/overlay.nix" else @@ -118,7 +124,7 @@ let ''; preBuild = '' - install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${pkgs.lexbor}/lib/liblexbor_static.a + install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${lexbor}/lib/liblexbor_static.a ''; }; }; @@ -137,8 +143,8 @@ let { name = "rustlerPrecompiled"; toolchain = { - name = "nightly-2024-11-01"; - sha256 = "sha256-wq7bZ1/IlmmLkSa3GUJgK17dTWcKyf5A+ndS9yRwB88="; + name = "nightly-2025-06-23"; + sha256 = "sha256-UAoZcxg3iWtS+2n8TFNfANFt/GmkuOMDf7QAE0fRxeA="; }; } ]; @@ -203,7 +209,7 @@ let name = "absinthe_client"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "absinthe_client"; rev = "ceeb7c3bb8ac5348c399653a06eaaee3bbd47d8f"; @@ -247,7 +253,7 @@ let absinthe_phoenix = let - version = "2.0.3"; + version = "2.0.4"; drv = buildMix { inherit version; name = "absinthe_phoenix"; @@ -256,7 +262,7 @@ let src = fetchHex { inherit version; pkg = "absinthe_phoenix"; - sha256 = "caffaea03c17ea7419fe07e4bc04c2399c47f0d8736900623dbf4749a826fd2c"; + sha256 = "66617ee63b725256ca16264364148b10b19e2ecb177488cd6353584f2e6c1cf3"; }; beamDeps = [ @@ -317,7 +323,7 @@ let acceptor_pool = let - version = "1.0.0"; + version = "1.0.1"; drv = buildRebar3 { inherit version; name = "acceptor_pool"; @@ -325,7 +331,7 @@ let src = fetchHex { inherit version; pkg = "acceptor_pool"; - sha256 = "0cbcd83fdc8b9ad2eee2067ef8b91a14858a5883cb7cd800e6fcd5803e158788"; + sha256 = "f172f3d74513e8edd445c257d596fc84dbdd56d2c6fa287434269648ae5a421e"; }; }; in @@ -356,11 +362,11 @@ let name = "activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "activity_pub"; - rev = "27ac328376d396afdb1e7916a388db1a004994f7"; - hash = "sha256-DT5h5UzIRXFnAdsums4yXnUIS01aundsP3ySvLLKUGI="; + rev = "9d4225455501a0c4c7fa7c9ef210f0763314aaa5"; + hash = "sha256-9jtjjjAXGSI2KH8xdnuHgqaaq7x16ZAnmZEzmzG9KEs="; }; beamDeps = [ @@ -385,6 +391,7 @@ let needle_uid arrows untangle + ex_confusables ]; }; in @@ -431,7 +438,7 @@ let autumn = let - version = "0.5.7"; + version = "0.6.0"; drv = buildMix { inherit version; name = "autumn"; @@ -440,7 +447,7 @@ let src = fetchHex { inherit version; pkg = "autumn"; - sha256 = "d272bfddeeea863420a8eb994d42af219ca5391191dd765bf045fbacf56a28d1"; + sha256 = "d9f7bad90b462e2e3ae3ce3a6d0dcd128230fec2a276cba0af18ce26165b54ce"; }; beamDeps = [ @@ -569,7 +576,7 @@ let bamboo_ses = let - version = "0.4.6"; + version = "0.4.7"; drv = buildMix { inherit version; name = "bamboo_ses"; @@ -578,7 +585,7 @@ let src = fetchHex { inherit version; pkg = "bamboo_ses"; - sha256 = "9b81498cc0b05bc3caaf36a9b161ddc61124ab294e8f9057b9790b14a9683bf2"; + sha256 = "dadfec5b2dadc92957771d57241c8ffff3dd76031160eea0732ab8831c90f9c0"; }; beamDeps = [ @@ -636,7 +643,7 @@ let bandit = let - version = "1.10.0"; + version = "1.10.3"; drv = buildMix { inherit version; name = "bandit"; @@ -645,7 +652,7 @@ let src = fetchHex { inherit version; pkg = "bandit"; - sha256 = "43ebceb7060a4d8273e47d83e703d01b112198624ba0826980caa3f5091243c4"; + sha256 = "99a52d909c48db65ca598e1962797659e3c0f1d06e825a50c3d75b74a5e2db18"; }; beamDeps = [ @@ -750,11 +757,11 @@ let name = "bonfire_api_graphql"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_api_graphql"; - rev = "dc60e7742a27f632e98107de8b8eab27c22e21ef"; - hash = "sha256-zKnv69mXy42YgBHevTbVtuExk0njxiyTFJBcNJVHBKE="; + rev = "f9b1a0a8211929881a4528127d20f7e91d4faee5"; + hash = "sha256-Q+EwwX+aVgecDr4L3wFX8q6RPVwT6bkU73T6rQQvGrU="; }; beamDeps = [ @@ -784,11 +791,11 @@ let name = "bonfire_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_boundaries"; - rev = "151f043f17e084a18e19724356c5abdc775e066c"; - hash = "sha256-BZ9MsaFD+i4D8Amblgy0FzacwJM5Ts8q9FpjAjvD2vs="; + rev = "0110138b286b858f3d78116c709c5ac39a69801b"; + hash = "sha256-hYqt9VlR9F4Oc+nHV/tuR0D+5DNRw0zqDjfBjeyZuWY="; }; beamDeps = [ @@ -798,7 +805,6 @@ let faker jason scribe - needle ecto_vista igniter absinthe @@ -816,11 +822,11 @@ let name = "bonfire_classify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_classify"; - rev = "2e64a5d516d1ea2945f5c3cc3dc572e4fd0bfd04"; - hash = "sha256-c2CHBZYLecC8VEJiZwW9aq2xf9dElgcI8yaCVSAc1Mc="; + rev = "49d90c72b0ab9a3410b65f0f84717ad585692a15"; + hash = "sha256-P6PBiaVfksyqDglCE/efEg4FNsoIFYF/U9jZ7uVO784="; }; beamDeps = [ @@ -830,7 +836,6 @@ let jason telemetry_metrics telemetry_poller - needle absinthe bonfire_api_graphql bonfire_me @@ -847,11 +852,11 @@ let name = "bonfire_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_common"; - rev = "40c8fcb152da35a9ddda73863f2f26ecd9aec86c"; - hash = "sha256-KhRyou7oCaTSya4NRKJAi+dfeQgsmrx0wvhuNK9IbdE="; + rev = "552fd8dc5f7ade5245ecb600098064059e640011"; + hash = "sha256-c0ozKNvINLa0nAaKyHh8MFDLwMp2v36yWcRXNTxfjDs="; }; beamDeps = [ @@ -859,12 +864,11 @@ let paginator ecto_shorts exkismet - needle_uid - needle arrows untangle ecto_sparkles ecto_sql + needle needle_ulid postgrex ex_cldr @@ -917,11 +921,11 @@ let name = "bonfire_data_access_control"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_access_control"; - rev = "9994601d8256aaf3cd35aabdeded94f2366b84ea"; - hash = "sha256-z1cLKd8zZxmaPaVzH4UsWpZ4VmXYvzxMwOuvWyga/fc="; + rev = "12a5b4a9b8a173384ae04b79e19930ed6ce45710"; + hash = "sha256-0xlmoMMKHmE2JN2EPWyHszn3T6eSB6cL3hyVQkIl6uY="; }; beamDeps = [ @@ -939,11 +943,11 @@ let name = "bonfire_data_activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_activity_pub"; - rev = "3cf9cc7db3fc229c6949ee3fb415aa5524633daa"; - hash = "sha256-PS9w5D1kY95S1WVSJi+JDfrQc6txW1Xd0ud9KgWyzfU="; + rev = "036c263305560fc7eae88942422b373d18d37e3f"; + hash = "sha256-k31nGnBsNJKb/LMHGGTtgkfgG5RtS/p3AbCttZvJfDs="; }; beamDeps = [ @@ -962,7 +966,7 @@ let name = "bonfire_data_assort"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_assort"; rev = "e3457b7048eb659c226a89142edaeb19f31fcb25"; @@ -985,7 +989,7 @@ let name = "bonfire_data_edges"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_edges"; rev = "bb581f89e1a03cd3a74766676c3eebb2d56cee58"; @@ -1007,11 +1011,11 @@ let name = "bonfire_data_identity"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_identity"; - rev = "7669b0ae06b208b5ec3a57df326dddb67ef1f235"; - hash = "sha256-86QyFJnl2IiUohQjvsphx26seCr8JAqEANLkIMJVLzg="; + rev = "36aa64242c394b4be0d723ecd7f316a15b1f7153"; + hash = "sha256-qz4yR5U8laM9fHhEPvAaHDRWFr7XMx/jnE4dI31Ut9g="; }; beamDeps = [ @@ -1033,11 +1037,11 @@ let name = "bonfire_data_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_social"; - rev = "28ecca1f105d9e7c4ef27e2f37e932688e9d093d"; - hash = "sha256-nN4BPk9GDtH6fuOw9tYoI6wxpJ1QqiijWY8sEGwOkqw="; + rev = "c5519acf075fba09d5b346d4fbcf37a84490e280"; + hash = "sha256-+KLdFX8eCYroMErTR4deMRIF0uee2uJxx4lvrXbBrEc="; }; beamDeps = [ @@ -1061,7 +1065,7 @@ let name = "bonfire_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ecto"; rev = "fd567fd674b286400d457415698f089027118751"; @@ -1084,18 +1088,17 @@ let name = "bonfire_editor_milkdown"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_editor_milkdown"; - rev = "997efdd3117c5226e46f5fbdcda061d83d65ac29"; - hash = "sha256-dkUj3V2HrArP+C9eqAHZVJAcsVQ4M1hIKGzsfdjhX+0="; + rev = "4538ae4299c9230d4a1ea7471f6f950b85e9e44c"; + hash = "sha256-kS/C15pY+7h7LPL1CquB5rCXjTknpasgLByWcBrM3p0="; }; beamDeps = [ bonfire_common bonfire_ui_common surface - untangle ]; }; in @@ -1109,7 +1112,7 @@ let name = "bonfire_epics"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_epics"; rev = "365fc195158b33d19aa386ceb7d0b1e25237049a"; @@ -1133,16 +1136,15 @@ let name = "bonfire_fail"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_fail"; - rev = "80282fcdad3bdf8b4cdce347bc344aa5776c697d"; - hash = "sha256-/vWb6RP3l1oR5AM+mzvEFhgHgj81uBRGSIHJbjNvU44="; + rev = "aafe63500650901a8cddae8dd719bbd8853b57c4"; + hash = "sha256-DjcQoISAaYo3dws0FiZFy1puWlXeILJH0epqy1f7Gzs="; }; beamDeps = [ bonfire_common - untangle ]; }; in @@ -1156,11 +1158,11 @@ let name = "bonfire_federate_activitypub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_federate_activitypub"; - rev = "303a306ffe4ceff179ca2704d8fb40c8096bbe73"; - hash = "sha256-8lg7CKmQ0SZh0LNvCo0OdWtvdmXbMllP2Sb/2QS05oM="; + rev = "71350787dfbdcb9df188c364819ba30d8f0d8c3d"; + hash = "sha256-EXv0Uibfd8mpWG51BXROinYqpgrOqKNikyo8iz6CtbA="; }; beamDeps = [ @@ -1175,8 +1177,6 @@ let telemetry_metrics telemetry_poller oban - untangle - needle bonfire_boundaries ]; }; @@ -1191,11 +1191,11 @@ let name = "bonfire_files"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_files"; - rev = "8d87719850fa810b478e4ce41a6f619c91673407"; - hash = "sha256-KWL2pWsq81SQg0b83ANyl5p+Avoa8yY/zCpa0xSEhAI="; + rev = "a576c540cdc7057c1230ea39b814a04dbaedb578"; + hash = "sha256-39r0zzR4wLj0aTHWAUDTwovWzB588hCYvMsWE09j2ho="; }; beamDeps = [ @@ -1211,11 +1211,11 @@ let mogrify hackney sweet_xml - untangle - needle sizeable faviconic bonfire_api_graphql + image + evision ex_aws_s3 blurhash ]; @@ -1231,7 +1231,7 @@ let name = "bonfire_mailer"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_mailer"; rev = "a056c38298ac6cbc8c76d7a1e3b44e1ae4d925c3"; @@ -1270,11 +1270,11 @@ let name = "bonfire_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_me"; - rev = "619855fe0d08e58b0dad5fccdd48e60d00a8534e"; - hash = "sha256-KcZ6d3/77Gk8G3beTEXzXZoEJnTxM1ShNwM7jtUqzj4="; + rev = "a54ab60b5edd5e8e9f9a5bb85c72f78a9dd77756"; + hash = "sha256-qopbMZv7NQQttFOYVk4Ol5CaA2ujG26gpXyWvdzvLSU="; }; beamDeps = [ @@ -1286,15 +1286,11 @@ let bonfire_data_identity bonfire_data_social bonfire_boundaries - needle_ulid faker telemetry telemetry_metrics telemetry_poller floki - untangle - needle - arrows bonfire_api_graphql bonfire_files absinthe @@ -1311,11 +1307,11 @@ let name = "bonfire_notify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_notify"; - rev = "fd4aae794c2e55d89230081f834a401f298ee6eb"; - hash = "sha256-RIOXeeSWQyRerRzyfPo7rObkvwx2N/5aCn9xF9OA5Oc="; + rev = "2d7e77dbcce279eb6e252bda1c12dbf07915fd54"; + hash = "sha256-KGuUCm6ci39lEsE64soGb/cxqVtwgyinHZKPuII6ZPQ="; }; beamDeps = [ @@ -1325,7 +1321,6 @@ let bonfire_me ecto_sql faker - exto gettext jason postgrex @@ -1346,11 +1341,11 @@ let name = "bonfire_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_posts"; - rev = "cec2cfa197104381994d939d1b840f6575de86a9"; - hash = "sha256-Ap2VP45y+0Tg4UBZPB7L+jTPz7/YX5otSgOtOAgspA4="; + rev = "aaf72809110e7905adf686994b33338c836fea11"; + hash = "sha256-24SdzRl6/ldKfJjR3N7U1u42/XuOaLWGbPtofDysqzY="; }; beamDeps = [ @@ -1361,11 +1356,7 @@ let bonfire_data_social verbs faker - exto jason - untangle - needle - arrows bonfire_me bonfire_api_graphql absinthe @@ -1382,11 +1373,11 @@ let name = "bonfire_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social"; - rev = "eefc35323d8c47d483499c7ad8a6155d626aefd4"; - hash = "sha256-Q5fxZEho290g7PYrM0l1FZqx+o2w+1TwNRS3iwsFKO4="; + rev = "e11dc455f400eb63f042a6eac0fc57900aa6f032"; + hash = "sha256-Vkm+ErRKQuv2UgJgsa8jV6Gmc7E9VVZWoFi2o6s83+4="; }; beamDeps = [ @@ -1398,11 +1389,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows uniq lazy_html typed_ecto_schema @@ -1424,11 +1411,11 @@ let name = "bonfire_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social_graph"; - rev = "9f1e0931bb4f5f60a6075aa15d8264f52e631748"; - hash = "sha256-SiIcEgOcfSImcqZE3dShPGbYUJWQS4xDS1+M0cupSM8="; + rev = "d8ef6eeab4f94ea19b567ccf6836f06766b778e2"; + hash = "sha256-IlEo5n+x4f/7pawQ0ouqR/uetn56EDIjIBhC5YM2bT0="; }; beamDeps = [ @@ -1440,11 +1427,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows boltx bonfire_me bonfire_api_graphql @@ -1462,11 +1445,11 @@ let name = "bonfire_tag"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_tag"; - rev = "ea6013e4860ad99b15297e6c25a017e1df21383e"; - hash = "sha256-Gqyorbu+bsJlgEIH02vH2byUztoXMKyyyhPLy0Vdolc="; + rev = "9b5e9adee00c034ff322c39df285f8cd022af7fa"; + hash = "sha256-CWAC2+9FjTBV7Y+rh5QmHR4sMuVhtJYy6q40awP0TbA="; }; beamDeps = [ @@ -1479,9 +1462,6 @@ let telemetry_metrics telemetry_poller html_entities - untangle - needle - arrows absinthe bonfire_api_graphql ]; @@ -1497,11 +1477,11 @@ let name = "bonfire_ui_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_boundaries"; - rev = "cef727db1ff6d404333a36b1387bb735c4de95b5"; - hash = "sha256-b1evzYjhkI7j7k7x9PQTUZRv4XPTbB7oyfuJnBFSaRw="; + rev = "ffc4268abd8e73a7eccaf48a176c13101d0435ae"; + hash = "sha256-NisAYdn8D87pAzg45uCBo5yPrSrnBhOKB+fvWCKveUk="; }; beamDeps = [ @@ -1510,8 +1490,6 @@ let bonfire_ui_common faker jason - untangle - needle ]; }; in @@ -1525,11 +1503,11 @@ let name = "bonfire_ui_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_common"; - rev = "ee63255b1f8bd46a22ad777965ca8b34656f70d6"; - hash = "sha256-fuFEywcnnnNBCakxfZM5H9D79oua/HOlUIhlL9ZIUgI="; + rev = "e08304fb0f3fa4d1bae81b035da0767ce096ed38"; + hash = "sha256-IjpobM/1F4yRSHi8OzFD7x/do2t184dtPsaxx3Jc3wY="; }; beamDeps = [ @@ -1537,8 +1515,6 @@ let phoenix_gon bonfire_fail iconify_ex - arrows - untangle jason surface surface_form_helpers @@ -1581,11 +1557,11 @@ let name = "bonfire_ui_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_me"; - rev = "bd1daa89b776d59e785898c92081be5e9a5655cd"; - hash = "sha256-Yzx2k97k+wXIrz8QSaJtJbPuh90HxBX2QmLeJMpcFPY="; + rev = "697c36ec0c5799bb5636aefbb87bfc9d1175ace7"; + hash = "sha256-b1IPY/wGzyHBoSeLeTgyqm8kHmFZRiCukJEqE7zo78M="; }; beamDeps = [ @@ -1605,9 +1581,6 @@ let surface phoenix_live_view phoenix - untangle - needle - arrows ]; }; in @@ -1621,11 +1594,11 @@ let name = "bonfire_ui_moderation"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_moderation"; - rev = "ca39af91e466c9399b20e5d2256ed457501dc914"; - hash = "sha256-/VU6aGLvz3HOc6RHGSakpOLeSIR1cydOS8LeO9O1cx4="; + rev = "0d4de56a8224eadb8d446070e33193a6977894bc"; + hash = "sha256-RJpt+zzRMS3FsZohBmRh6yL60gLTWnrgPkGUCHrg9sk="; }; beamDeps = [ @@ -1638,8 +1611,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1654,11 +1625,11 @@ let name = "bonfire_ui_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_posts"; - rev = "89f6e22315ff9c815e0d9dd408aee5dba5cc2ec6"; - hash = "sha256-6o5ZyCfzexkKZb79xSSwlB2v1G8e+lD+qU7PJd2sKAw="; + rev = "ca4c8e69c0afcc7420cec6396c28032032fd0c21"; + hash = "sha256-VMEF23uBNVqfZ18mW+jHcLNDBr0YlX4r+bUxY398+k4="; }; beamDeps = [ @@ -1671,8 +1642,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1687,11 +1656,11 @@ let name = "bonfire_ui_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social"; - rev = "c0309c59c5e8cf0ea5bbd9f1810c9c0264a56943"; - hash = "sha256-5nK5I56TkRbyvjtNKF+PeGI2SK7fKF+achbaBCKnUkI="; + rev = "3613c14b2cab1b90db943dff62720194dea7031f"; + hash = "sha256-7t7/ZinP0PG7OTzz7cCWhy4NbZtg9UmFz/pltoML2h8="; }; beamDeps = [ @@ -1705,8 +1674,6 @@ let recase exdiff surface - untangle - arrows floki bonfire_ui_me bonfire_tag @@ -1723,11 +1690,11 @@ let name = "bonfire_ui_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social_graph"; - rev = "5f803b189b1f646e6e5028fceecdcfbe4de01d15"; - hash = "sha256-+JiclgT24Ya4+6v0NITULDf9LQBX5+WHhSqJKTLJfUc="; + rev = "f26ac9a9d43442188bb1d4d86fa2e59fe07e97a5"; + hash = "sha256-SmzS0CZrAzPYjWzQJEhqjkyCSwsn4N9n1bbotzlc4H8="; }; beamDeps = [ @@ -1739,8 +1706,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1937,6 +1902,23 @@ let in drv; + complex = + let + version = "0.6.0"; + drv = buildMix { + inherit version; + name = "complex"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "complex"; + sha256 = "0a5fa95580dcaf30fcd60fe1aaf24327c0fe401e98c24d892e172e79498269f9"; + }; + }; + in + drv; + cors_plug = let version = "3.0.3"; @@ -2079,7 +2061,7 @@ let db_connection = let - version = "2.8.1"; + version = "2.9.0"; drv = buildMix { inherit version; name = "db_connection"; @@ -2088,7 +2070,7 @@ let src = fetchHex { inherit version; pkg = "db_connection"; - sha256 = "a61a3d489b239d76f326e03b98794fb8e45168396c925ef25feb405ed09da8fd"; + sha256 = "17d502eacaf61829db98facf6f20808ed33da6ccf495354a41e64fe42f9c509c"; }; beamDeps = [ @@ -2151,17 +2133,17 @@ let deps_nix = let - version = "2.6.1"; + version = "2.6.2"; drv = buildMix { inherit version; name = "deps_nix"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "code-supply"; repo = "deps_nix"; - rev = "fa52c3f8d9050d62597543e84e1b3627d51f4e1e"; - hash = "sha256-V7RQ91vttNPBKzrsncHNwm5MEqi0lOR/69GS76IAlms="; + rev = "03cf8b9ab2f89f02c6d6ff26b335650cb56dd52f"; + hash = "sha256-gWK/hGZutWt6C4NLdQsuBWVDIiQvgp/EHfXmfPDfMR4="; }; beamDeps = [ @@ -2283,11 +2265,11 @@ let name = "ecto_materialized_path"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_materialized_path"; - rev = "5400b058d7ddd24379db3662c29b51d0cec82756"; - hash = "sha256-RSvgcL7X5Gvlej5axsl8WLltGHzaMcRfdiEPUlufcas="; + rev = "8497780e069511862109b3a1d34b090513bd37b9"; + hash = "sha256-kszDYDevW3Fl2iumY8FS7sD+gMGGHfJzU5Fr2kQb8n0="; }; beamDeps = [ @@ -2351,7 +2333,7 @@ let name = "ecto_shorts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_shorts"; rev = "34ac78036b249aec833ae357f69195e46306f817"; @@ -2367,17 +2349,17 @@ let ecto_sparkles = let - version = "0.2.1"; + version = "0.3.0"; drv = buildMix { inherit version; name = "ecto_sparkles"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_sparkles"; - rev = "542fa562aa6d03689ea4119896f5c20224dcd724"; - hash = "sha256-ETKbMd6y8Wa1XZq1EPDktN6rtMie/PKUIJKchxGNLmk="; + rev = "37dad3d1458067dcf9ff1bad9584487e6cde88ac"; + hash = "sha256-iwGPDg/0sN7BLWhrCgJvkr4O9zDyo54LKOQlRlCxtuY="; }; beamDeps = [ @@ -2395,7 +2377,7 @@ let ecto_sql = let - version = "3.13.2"; + version = "3.13.4"; drv = buildMix { inherit version; name = "ecto_sql"; @@ -2404,7 +2386,7 @@ let src = fetchHex { inherit version; pkg = "ecto_sql"; - sha256 = "539274ab0ecf1a0078a6a72ef3465629e4d6018a3028095dc90f60a19c371717"; + sha256 = "2b38cf0749ca4d1c5a8bcbff79bbe15446861ca12a61f9fba604486cb6b62a14"; }; beamDeps = [ @@ -2474,6 +2456,122 @@ let in drv; + ember = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "ember"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ember"; + rev = "815e48ad5ed7f0310287f98aff8a2fde16994f55"; + hash = "sha256-qDkVxXnpclxOjyVEo3xkT4XhQw1HceiT0vNvRzCSh3E="; + }; + + beamDeps = [ + bonfire_common + bonfire_ui_common + activity_pub + bonfire_mailer + bonfire_epics + bonfire_ecto + bonfire_data_assort + bonfire_boundaries + bonfire_ui_boundaries + bonfire_federate_activitypub + bonfire_data_access_control + bonfire_data_activity_pub + bonfire_data_identity + bonfire_data_social + bonfire_data_edges + bonfire_editor_milkdown + bonfire_me + bonfire_ui_me + bonfire_social + bonfire_social_graph + bonfire_posts + bonfire_ui_social + bonfire_ui_social_graph + bonfire_ui_posts + bonfire_ui_moderation + bonfire_tag + bonfire_classify + bonfire_notify + ecto_sparkles + needle + needle_uid + needle_ulid + ex_ulid + untangle + entrepot + entrepot_ecto + nodeinfo + paginator + voodoo + arrows + ex_cldr + surface + phoenix + phoenix_live_view + phoenix_view + plug_crypto + plug_cowboy + cowboy + bandit + orion + corsica + ecto + ecto_sql + postgrex + ecto_psql_extras + db_connection + ex_aws_s3 + ex_marcel + req + finch + httpoison + jason + poison + timex + solid + mime + oban + sourceror + owl + mogrify + cachex + sizeable + geo + recase + emote + uniq + rustler_precompiled + decimal + floki + faker + gettext + text + text_corpus_udhr + hackney + opentelemetry_process_propagator + opentelemetry_exporter + opentelemetry_semantic_conventions + telemetry_metrics + telemetry + telemetry_poller + sentry + oban_web + absinthe + bonfire_api_graphql + absinthe_client + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + emote = let version = "0.1.1"; @@ -2503,7 +2601,7 @@ let name = "entrepot"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot"; rev = "c75704d8b4b76dbd2277b52822fa77ec8dc207aa"; @@ -2526,7 +2624,7 @@ let name = "entrepot_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot_ecto"; rev = "5ea4af9af6b648e2cf58a2ceb2eb8e9c36c2b226"; @@ -2558,6 +2656,29 @@ let in drv; + evision = + let + version = "0.2.14"; + drv = buildMix { + inherit version; + name = "evision"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "evision"; + sha256 = "630714395f2c242e488944b4c9c75a5de96cbb95d3cbb69f0525bdb3e0a88775"; + }; + + beamDeps = [ + castore + elixir_make + nx + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + ex2ms = let version = "1.7.0"; @@ -2577,7 +2698,7 @@ let ex_aws = let - version = "2.6.0"; + version = "2.6.1"; drv = buildMix { inherit version; name = "ex_aws"; @@ -2586,7 +2707,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws"; - sha256 = "30729ee9cbaacda674a4e4260d74206fa89bcd712267c4eaf42a0fc34592c0b3"; + sha256 = "67842a08c90a1d9a09dbe4ac05754175c7ca253abe4912987c759395d4bd9d26"; }; beamDeps = [ @@ -2603,7 +2724,7 @@ let ex_aws_s3 = let - version = "2.5.8"; + version = "2.5.9"; drv = buildMix { inherit version; name = "ex_aws_s3"; @@ -2612,7 +2733,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws_s3"; - sha256 = "84e512ca2e0ae6a6c497036dff06d4493ffb422cfe476acc811d7c337c16691c"; + sha256 = "a480d2bb2da64610014021629800e1e9457ca5e4a62f6775bffd963360c2bf90"; }; beamDeps = [ @@ -2671,7 +2792,7 @@ let ex_cldr_calendars = let - version = "2.4.0"; + version = "2.4.1"; drv = buildMix { inherit version; name = "ex_cldr_calendars"; @@ -2680,7 +2801,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_calendars"; - sha256 = "bd89cc96124120fe94d3d1ca069afcfcb3c0e874514493f5ed541211511d55fb"; + sha256 = "e29b2b186ce2832cc0da1574944cf206dd221da13b3da98c80da62d6ab71b343"; }; beamDeps = [ @@ -2718,7 +2839,7 @@ let ex_cldr_dates_times = let - version = "2.25.1"; + version = "2.25.3"; drv = buildMix { inherit version; name = "ex_cldr_dates_times"; @@ -2727,7 +2848,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_dates_times"; - sha256 = "b41fc2dcd22b2671345e8cefcfad403c62453241bccb86bbdada3da5c1aee97b"; + sha256 = "e44a45f6acbba600f1c99fd9e6e8345ff462953760ff42422bc16092a1d34e8d"; }; beamDeps = [ @@ -2810,7 +2931,7 @@ let ex_cldr_numbers = let - version = "2.36.0"; + version = "2.37.0"; drv = buildMix { inherit version; name = "ex_cldr_numbers"; @@ -2819,7 +2940,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_numbers"; - sha256 = "17640b8daf2580a0a11317a720a26079e774d4c36f939d82f4e9f7075269897d"; + sha256 = "adc011aad34ab545e1d53ae248891479efcd25ba51f662822ec7c5083d0122f8"; }; beamDeps = [ @@ -2906,7 +3027,7 @@ let ex_cldr_units = let - version = "3.20.0"; + version = "3.20.1"; drv = buildMix { inherit version; name = "ex_cldr_units"; @@ -2915,7 +3036,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_units"; - sha256 = "eb93f99005f8d3f1b1b12c85a45323937350e11d3e79f8375ab51e2ff44392f2"; + sha256 = "879af22563b06570f16c28bed3decaadc0c1233906f4516b2d5d28e2bbbadee0"; }; beamDeps = [ @@ -2929,6 +3050,24 @@ let in drv; + ex_confusables = + let + version = "0.1.1"; + drv = buildMix { + inherit version; + name = "ex_confusables"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ex_confusables"; + rev = "72826ede5b66ca0a1d1cdeb0c55085061a928ccb"; + hash = "sha256-K57eAhRSwH/FNWNusikrGwGm3DZpdPoCC2d71xzap8g="; + }; + }; + in + drv; + ex_doc = let version = "0.38.4"; @@ -3036,7 +3175,7 @@ let name = "ex_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ex_ulid"; rev = "b07e0410b9d683385de081cfd5af0e3225b270f9"; @@ -3071,7 +3210,7 @@ let name = "exkismet"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tcitworld"; repo = "exkismet"; rev = "68830454608d315f69d5fe1061ac1bf31c1a856e"; @@ -3209,7 +3348,7 @@ let finch = let - version = "0.20.0"; + version = "0.21.0"; drv = buildMix { inherit version; name = "finch"; @@ -3218,7 +3357,7 @@ let src = fetchHex { inherit version; pkg = "finch"; - sha256 = "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"; + sha256 = "87dc6e169794cb2570f75841a19da99cfde834249568f2a5b121b809588a4377"; }; beamDeps = [ @@ -3561,7 +3700,7 @@ let name = "http_signatures"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "http_signatures"; rev = "276839e90e8d2fb17d415502c6c5f0e3f744e88f"; @@ -3598,29 +3737,28 @@ let iconify_ex = let - version = "0.6.1"; + version = "0.7.2"; drv = buildMix { inherit version; name = "iconify_ex"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { - owner = "bonfire-networks"; - repo = "iconify_ex"; - rev = "7c299c21582f70bf1c16b0c0a53f0e3c56ef76a1"; - hash = "sha256-k2FEXRsRiMGhNWL2GtKFHWFVIIGouWgaIUwtTwfStug="; + src = fetchHex { + inherit version; + pkg = "iconify_ex"; + sha256 = "5efa322d905d27c988d7d6ba24af63862045e856e09b134c4ba083c5e235e552"; }; beamDeps = [ + arrows emote + floki jason - phoenix_live_view - surface phoenix_live_favicon + phoenix_live_view recase - arrows + surface untangle - floki ]; }; in @@ -3673,6 +3811,35 @@ let in drv; + image = + let + version = "0.62.1"; + drv = buildMix { + inherit version; + name = "image"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "image"; + sha256 = "5a5a7acaf68cfaed8932d478b95152cd7d84071442cac558c59f2d31427e91ab"; + }; + + beamDeps = [ + evision + jason + nx + phoenix_html + plug + req + rustler + sweet_xml + vix + ]; + }; + in + drv; + jason = let version = "1.4.4"; @@ -3753,13 +3920,13 @@ let lazy_html = let - version = "0.1.8"; + version = "0.1.10"; drv = buildMix { inherit version; name = "lazy_html"; appConfigPath = ./config; - nativeBuildInputs = with pkgs; [ + nativeBuildInputs = [ cmake lexbor ]; @@ -3767,7 +3934,7 @@ let src = fetchHex { inherit version; pkg = "lazy_html"; - sha256 = "0d8167d930b704feb94b41414ca7f5779dff9bca7fcf619fcef18de138f08736"; + sha256 = "50f67e5faa09d45a99c1ddf3fac004f051997877dc8974c5797bb5ccd8e27058"; }; beamDeps = [ @@ -3787,7 +3954,7 @@ let name = "linkify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "linkify"; rev = "a8c14b67616e63326f901b25f80147a9dbaffd6b"; @@ -3933,7 +4100,7 @@ let makeup_erlang = let - version = "1.0.2"; + version = "1.0.3"; drv = buildMix { inherit version; name = "makeup_erlang"; @@ -3942,7 +4109,7 @@ let src = fetchHex { inherit version; pkg = "makeup_erlang"; - sha256 = "af33ff7ef368d5893e4a267933e7744e46ce3cf1f61e2dccf53a111ed3aa3727"; + sha256 = "953297c02582a33411ac6208f2c6e55f0e870df7f80da724ed613f10e6706afd"; }; beamDeps = [ @@ -4175,7 +4342,7 @@ let mjml = let - version = "5.2.0"; + version = "5.3.0"; drv = buildMix { inherit version; name = "mjml"; @@ -4184,7 +4351,7 @@ let src = fetchHex { inherit version; pkg = "mjml"; - sha256 = "bf39d2e0041f1f08afd07694239be39a8c173b00649e3463c2bd959473092c2a"; + sha256 = "58b90a298366daac55314ecd9531711ac16516e1d4b943a24d4b9d1f57e43918"; }; beamDeps = [ @@ -4230,7 +4397,7 @@ let mua = let - version = "0.2.5"; + version = "0.2.6"; drv = buildMix { inherit version; name = "mua"; @@ -4239,7 +4406,7 @@ let src = fetchHex { inherit version; pkg = "mua"; - sha256 = "0e2b18024d0db8943a68e84fb5e2253d3225c8f61d8387cbfc581d66e34d8493"; + sha256 = "c8bd1417dc18208eed3a3e0f1b847930e7b649e3e71165d2934f3b1ba62b3c18"; }; beamDeps = [ @@ -4251,7 +4418,7 @@ let nebulex = let - version = "2.6.5"; + version = "2.6.6"; drv = buildMix { inherit version; name = "nebulex"; @@ -4260,7 +4427,7 @@ let src = fetchHex { inherit version; pkg = "nebulex"; - sha256 = "4eb4092058ba53289cb4d5a1b109de6fd094883dfc84a1c2f2ccc57e61a24935"; + sha256 = "8cbf531af6fe407383b6ba410a43a19319af47804929d8a8d1975a780b9952df"; }; beamDeps = [ @@ -4273,17 +4440,17 @@ let needle = let - version = "0.8.0"; + version = "0.9.0"; drv = buildMix { inherit version; name = "needle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle"; - rev = "f8dfa30265e0d1b6e2a31dc0688fdbce36044a3b"; - hash = "sha256-GAfThwv//AqGBahzp8f1A70g5rKDdNX1WHvucfae6Ww="; + rev = "abde6de21bae3d2867fac88ef12af7edd65e6558"; + hash = "sha256-4vOOS2MEE16F2Oo/6d8EJGFxEMjQddS7Yolmt7Pfaoo="; }; beamDeps = [ @@ -4299,17 +4466,17 @@ let needle_uid = let - version = "0.0.1"; + version = "0.0.2"; drv = buildMix { inherit version; name = "needle_uid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_uid"; - rev = "3ec02ce42d96498db286a619a31a40eda2df7fa7"; - hash = "sha256-jf6PNnv74hx4GKQgmdThY1Sn4yet4DIPkeN4yVk6scw="; + rev = "d001d6915795a22b5a2d481b51475f922b0a672e"; + hash = "sha256-bpXkf3QRlnAP8B96NRuTn8hJaB8Uv4EjvqW1TMjz0ts="; }; beamDeps = [ @@ -4323,17 +4490,17 @@ let needle_ulid = let - version = "0.4.0"; + version = "0.5.0"; drv = buildMix { inherit version; name = "needle_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_ulid"; - rev = "c663d2b3fc698b81220c05af221c8433b8049f53"; - hash = "sha256-oXOb6mlhE2mAYpgJ1Pa4sCktOlEXhbtUnV9YncuS7v4="; + rev = "2f6350540553beba295788c2893b5e85237e0ca6"; + hash = "sha256-c934dtx0h/s2D+W8/p+XT6pspPkUaqffqNhO5kwWKpc="; }; beamDeps = [ @@ -4439,7 +4606,7 @@ let name = "nodeinfo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "nodeinfo"; rev = "77a9dcc45c706e53ba38d7db7d0b2de1e8c082a6"; @@ -4457,6 +4624,28 @@ let in drv; + nx = + let + version = "0.10.0"; + drv = buildMix { + inherit version; + name = "nx"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "nx"; + sha256 = "3db8892c124aeee091df0e6fbf8e5bf1b81f502eb0d4f5ba63e6378ebcae7da4"; + }; + + beamDeps = [ + complex + telemetry + ]; + }; + in + drv; + oban = let version = "2.20.2"; @@ -4482,6 +4671,54 @@ let in drv; + oban_met = + let + version = "1.0.5"; + drv = buildMix { + inherit version; + name = "oban_met"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_met"; + sha256 = "64664d50805bbfd3903aeada1f3c39634652a87844797ee400b0bcc95a28f5ea"; + }; + + beamDeps = [ + oban + ]; + }; + in + drv; + + oban_web = + let + version = "2.11.6"; + drv = buildMix { + inherit version; + name = "oban_web"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_web"; + sha256 = "576d94b705688c313694c2c114ca21aa0f8f2ad1b9ca45c052c5ba316d3e8d10"; + }; + + beamDeps = [ + jason + oban + oban_met + phoenix + phoenix_html + phoenix_live_view + phoenix_pubsub + ]; + }; + in + drv; + opentelemetry = let version = "1.7.0"; @@ -4652,11 +4889,11 @@ let name = "paginator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "paginator"; - rev = "faa9909568c86b74838ef5d036fecb003ea77c1f"; - hash = "sha256-wDsBGnGV4wqI02YBlZGlBEffKIMHU/ANtgzoKIWj+nU="; + rev = "6bf2e271079c04ac566f7f1c53cf8f4fd466c3ca"; + hash = "sha256-JeuPJFmH5OuMK5iYwdIAO85VYRXWuGb/fF93YEggI/E="; }; beamDeps = [ @@ -4770,7 +5007,7 @@ let phoenix_ecto = let - version = "4.7.0"; + version = "4.6.6"; drv = buildMix { inherit version; name = "phoenix_ecto"; @@ -4779,7 +5016,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_ecto"; - sha256 = "1d75011e4254cb4ddf823e81823a9629559a1be93b4321a6a5f11a5306fbf4cc"; + sha256 = "d9893776b626cf87c3b2ddeb5a7dadbf2407733b09a3dadb8c3e9f9052bb84b2"; }; beamDeps = [ @@ -4800,7 +5037,7 @@ let name = "phoenix_gon"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "phoenix_gon"; rev = "47db70596e42077f67b4b7a1df158322e65ee0ed"; @@ -4930,7 +5167,7 @@ let phoenix_live_view = let - version = "1.1.18"; + version = "1.1.24"; drv = buildMix { inherit version; name = "phoenix_live_view"; @@ -4939,7 +5176,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_live_view"; - sha256 = "f189b759595feff0420e9a1d544396397f9cf9e2d5a8cb98ba5b6cab01927da0"; + sha256 = "0c724e6c65f197841cac49d73be4e0f9b93a7711eaa52d2d4d1b9f859c329267"; }; beamDeps = [ @@ -5063,7 +5300,7 @@ let plug_cowboy = let - version = "2.7.5"; + version = "2.8.0"; drv = buildMix { inherit version; name = "plug_cowboy"; @@ -5072,7 +5309,7 @@ let src = fetchHex { inherit version; pkg = "plug_cowboy"; - sha256 = "20884bf58a90ff5a5663420f5d2c368e9e15ed1ad5e911daf0916ea3c57f77ac"; + sha256 = "9cbfaaf17463334ca31aed38ea7e08a68ee37cabc077b1e9be6d2fb68e0171d0"; }; beamDeps = [ @@ -5130,7 +5367,7 @@ let name = "plug_http_validator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "plug_http_validator"; rev = "dbc277f8a328bc44107174fb1770b1376337697a"; @@ -5284,7 +5521,7 @@ let req = let - version = "0.5.16"; + version = "0.5.17"; drv = buildMix { inherit version; name = "req"; @@ -5293,7 +5530,7 @@ let src = fetchHex { inherit version; pkg = "req"; - sha256 = "974a7a27982b9b791df84e8f6687d21483795882a7840e8309abdbe08bb06f09"; + sha256 = "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"; }; beamDeps = [ @@ -5353,7 +5590,7 @@ let rustler_precompiled = let - version = "0.8.3"; + version = "0.8.4"; drv = buildMix { inherit version; name = "rustler_precompiled"; @@ -5362,7 +5599,7 @@ let src = fetchHex { inherit version; pkg = "rustler_precompiled"; - sha256 = "c23f5f33cb6608542de4d04faf0f0291458c352a4648e4d28d17ee1098cddcc4"; + sha256 = "3b33d99b540b15f142ba47944f7a163a25069f6d608783c321029bc1ffb09514"; }; beamDeps = [ @@ -5517,7 +5754,7 @@ let spitfire = let - version = "0.2.1"; + version = "0.3.7"; drv = buildMix { inherit version; name = "spitfire"; @@ -5526,7 +5763,7 @@ let src = fetchHex { inherit version; pkg = "spitfire"; - sha256 = "6eeed75054a38341b2e1814d41bb0a250564092358de2669fdb57ff88141d91b"; + sha256 = "798ff97db02477b05fa3db8e2810cebda6ed5d90c6de6b21aa65abd577599744"; }; }; in @@ -5568,7 +5805,7 @@ let surface = let - version = "0.12.1"; + version = "0.12.2"; drv = buildMix { inherit version; name = "surface"; @@ -5577,7 +5814,7 @@ let src = fetchHex { inherit version; pkg = "surface"; - sha256 = "133242252537f9c41533388607301f3d01755a338482e4288f42343dc20cd413"; + sha256 = "1fdce26fc6a078c1f6ab42cabd9457966cb4319cf0614c74abec763342cd041a"; }; beamDeps = [ @@ -5630,7 +5867,7 @@ let swoosh = let - version = "1.19.8"; + version = "1.20.0"; drv = buildMix { inherit version; name = "swoosh"; @@ -5639,7 +5876,7 @@ let src = fetchHex { inherit version; pkg = "swoosh"; - sha256 = "d7503c2daf0f9899afd8eba9923eeddef4b62e70816e1d3b6766e4d6c60e94ad"; + sha256 = "13e610f709bae54851d68afb6862882aa646e5c974bf49e3bf5edd84a73cf213"; }; beamDeps = [ @@ -5896,7 +6133,7 @@ let name = "twinkle_star"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "twinkle_star"; rev = "476f464e38c5409438246ca15e42e44b527ca257"; @@ -5962,7 +6199,7 @@ let name = "unfurl"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "unfurl"; rev = "9e750913d852197b97b30568c55ad4fd000946b9"; @@ -6039,17 +6276,17 @@ let untangle = let - version = "0.3.3"; + version = "0.4.0"; drv = buildMix { inherit version; name = "untangle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "untangle"; - rev = "00c4aea4f8261bd9030a1585c60601b1a43cb5d9"; - hash = "sha256-RB3r3YOlHTzdylN+fwjnXpoOe/7QjKQ0sqHsEEPY/vk="; + rev = "b6d2a3b2687ca9392c6524fb01c2e43cd27418ab"; + hash = "sha256-qNMU1xylUx/KAH3TBs8ve+puyFDwQh0oZsxOpX8bVkM="; }; beamDeps = [ @@ -6068,7 +6305,7 @@ let name = "verbs"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "shannonwells"; repo = "verbs_ex"; rev = "afa4693964dae0d9aceb60a73f1766c6d4f68d25"; @@ -6078,6 +6315,35 @@ let in drv; + vix = + let + version = "0.38.0"; + drv = buildMix { + inherit version; + name = "vix"; + appConfigPath = ./config; + + VIX_COMPILATION_MODE = "PLATFORM_PROVIDED_LIBVIPS"; + + nativeBuildInputs = [ + pkg-config + vips + ]; + + src = fetchHex { + inherit version; + pkg = "vix"; + sha256 = "dca58f654922fa678d5df8e028317483d9c0f8acb2e2714076a8468695687aa7"; + }; + + beamDeps = [ + cc_precompiler + elixir_make + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + voodoo = let version = "0.1.0"; @@ -6086,7 +6352,7 @@ let name = "voodoo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "voodoo"; rev = "cc2d61300554edc52f933f10dcf77a046a5751e2"; @@ -6102,7 +6368,7 @@ let waffle = let - version = "1.1.9"; + version = "1.1.10"; drv = buildMix { inherit version; name = "waffle"; @@ -6111,7 +6377,7 @@ let src = fetchHex { inherit version; pkg = "waffle"; - sha256 = "307c63cfdfb4624e7c423868a128ccfcb0e5291ae73a9deecb3a10b7a3eb277c"; + sha256 = "859ba6377b78f0a51bc9596227b194f26241efbbd408bd217450c22b0f359cc4"; }; beamDeps = [ diff --git a/pkgs/by-name/bonfire/deps/ex_cldr/ember/fetchFromGitHub.hash b/pkgs/by-name/bonfire/extensions/ember/ex_cldr/fetchFromGitHub.hash similarity index 100% rename from pkgs/by-name/bonfire/deps/ex_cldr/ember/fetchFromGitHub.hash rename to pkgs/by-name/bonfire/extensions/ember/ex_cldr/fetchFromGitHub.hash diff --git a/pkgs/by-name/bonfire/extensions/ember/fetchFromGitHub.nix b/pkgs/by-name/bonfire/extensions/ember/fetchFromGitHub.nix index 88209d6cf..471dbf176 100644 --- a/pkgs/by-name/bonfire/extensions/ember/fetchFromGitHub.nix +++ b/pkgs/by-name/bonfire/extensions/ember/fetchFromGitHub.nix @@ -2,6 +2,6 @@ fetchFromGitHub { owner = "bonfire-networks"; repo = "ember"; - rev = "c3876542fc617bb12385c34b3fbd90ca78ab10bb"; - hash = "sha256-uKW3/5ZT6hKCHhCgGj0vCW6/Ev5VyjoJn1wiPk8QAHI="; + rev = "815e48ad5ed7f0310287f98aff8a2fde16994f55"; + hash = "sha256-qDkVxXnpclxOjyVEo3xkT4XhQw1HceiT0vNvRzCSh3E="; } diff --git a/pkgs/by-name/bonfire/extensions/ember/iconify_ex/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/ember/iconify_ex/yarnOfflineCache.hash new file mode 100644 index 000000000..16c6bb83a --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/ember/iconify_ex/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-XeWWGCwLyoyr46DOXx2V2M/BgWEx83wRUm9bU2lnRYI= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/mdex/ember/Cargo.lock b/pkgs/by-name/bonfire/extensions/ember/mdex/Cargo.lock similarity index 100% rename from pkgs/by-name/bonfire/deps/mdex/ember/Cargo.lock rename to pkgs/by-name/bonfire/extensions/ember/mdex/Cargo.lock diff --git a/pkgs/by-name/bonfire/deps/mjml/open_science/Cargo.lock b/pkgs/by-name/bonfire/extensions/ember/mjml/Cargo.lock similarity index 63% rename from pkgs/by-name/bonfire/deps/mjml/open_science/Cargo.lock rename to pkgs/by-name/bonfire/extensions/ember/mjml/Cargo.lock index abcc256d6..6ba912061 100644 --- a/pkgs/by-name/bonfire/deps/mjml/open_science/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/ember/mjml/Cargo.lock @@ -71,26 +71,26 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "libloading" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", - "windows-targets", + "windows-link", ] [[package]] name = "mjml_nif" -version = "5.2.0" +version = "5.3.0" dependencies = [ "mrml", "rustler", @@ -98,9 +98,9 @@ dependencies = [ [[package]] name = "mrml" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9daf3c183141de1d3d2db6f275536c70ebfb87b11ed4b0c709b1103d1c9d3ede" +checksum = "8f2d4de127b05e0abf5bfe406ca8c766bb16e9150b040ff1525bccc20ee7c132" dependencies = [ "enum-as-inner", "htmlparser", @@ -142,9 +142,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustler" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3fe55230a9c379733dd38ee67d4072fa5c558b2e22b76b0e7f924390456e003" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -154,9 +154,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3b8de901ae61418e2036245d28e41ef58080d04f40b68430471ae36a4e84ed" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -184,18 +184,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", @@ -209,65 +209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" diff --git a/pkgs/by-name/bonfire/deps/autumn/open_science/Cargo.lock b/pkgs/by-name/bonfire/extensions/open_science/autumn/Cargo.lock similarity index 83% rename from pkgs/by-name/bonfire/deps/autumn/open_science/Cargo.lock rename to pkgs/by-name/bonfire/extensions/open_science/autumn/Cargo.lock index 1a9e8be77..89f95b8a0 100644 --- a/pkgs/by-name/bonfire/deps/autumn/open_science/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/open_science/autumn/Cargo.lock @@ -69,16 +69,15 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "autumnus" -version = "0.7.8" +version = "0.8.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c1fde8ded97480fce6fb7284ec21a5d0fcd62ade3e77770fe5c8c717dd7348" +checksum = "af0d8dd045538962cebd3f7b975320338140fb2c74aea771a0a09ffdd2f6f362" dependencies = [ "anyhow", "cc", "clap", "derive_builder", "glob", - "lazy_static", "prettyplease", "proc-macro2", "quote", @@ -87,9 +86,13 @@ dependencies = [ "rustler", "serde", "serde_json", + "smol_str", + "streaming-iterator", "strum", "syn", + "tempfile", "termcolor", + "thiserror", "tree-sitter", "tree-sitter-asm", "tree-sitter-bash", @@ -145,9 +148,26 @@ name = "autumnus_nif" version = "0.1.0" dependencies = [ "autumnus", + "once_cell", + "parking_lot", "rustler", ] +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "borsh" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +dependencies = [ + "cfg_aliases", +] + [[package]] name = "cc" version = "1.2.45" @@ -164,6 +184,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clap" version = "4.5.51" @@ -313,6 +339,22 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + [[package]] name = "find-msvc-tools" version = "0.1.4" @@ -325,6 +367,18 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "glob" version = "0.3.3" @@ -381,33 +435,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "lazy_static" -version = "1.5.0" +name = "libc" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.8.9" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", "windows-link", ] +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "memchr" version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + [[package]] name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -436,6 +534,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rayon" version = "1.11.0" @@ -456,6 +560,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + [[package]] name = "regex" version = "1.12.2" @@ -491,11 +604,24 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "rustler" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb867bb35b291ef105abbe0a0d04bd4d7af372e023d08845698687bc254f222b" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -505,9 +631,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90993223c5ac0fb580ff966fb9477289c4e8a610a2f4639912a2639c5e7b5095" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -528,6 +654,12 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "serde" version = "1.0.228" @@ -578,6 +710,22 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smol_str" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f7a918bd2a9951d18ee6e48f076843e8e73a9a5d22cf05bcd4b7a81bdd04e17" +dependencies = [ + "borsh", + "serde_core", +] + [[package]] name = "streaming-iterator" version = "0.1.9" @@ -622,6 +770,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -677,9 +838,9 @@ dependencies = [ [[package]] name = "tree-sitter-bash" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871b0606e667e98a1237ebdc1b0d7056e0aebfdc3141d12b399865d4cb6ed8a6" +checksum = "9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062" dependencies = [ "cc", "tree-sitter-language", @@ -767,9 +928,9 @@ dependencies = [ [[package]] name = "tree-sitter-elm" -version = "5.8.0" +version = "5.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accee95d95c001e53f5ab1a1168f1ed1c6ec763a17fb48b43acf5bf4ff9e3423" +checksum = "23840259bfc74d3fc7638047002703bac8624f4969fd73226d7ed516a1b91e9c" dependencies = [ "cc", "tree-sitter-language", @@ -909,15 +1070,15 @@ dependencies = [ [[package]] name = "tree-sitter-language" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8" +checksum = "4ae62f7eae5eb549c71b76658648b72cc6111f2d87d24a1e31fa907f4943e3ce" [[package]] name = "tree-sitter-lua" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb9adf0965fec58e7660cbb3a059dbb12ebeec9459e6dcbae3db004739641e" +checksum = "ea992f4164d83f371ef1239ae178c4d4596c296c09055e9a48bb02a2760403af" dependencies = [ "cc", "tree-sitter-language", @@ -965,9 +1126,9 @@ dependencies = [ [[package]] name = "tree-sitter-powershell" -version = "0.25.9" +version = "0.25.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0e37101b110badaf99aa40460915a8797ceba15fc0ed22773280377a8dffb6" +checksum = "415ec6251d133d26b4f62c60721149fe36c315334f47812450187d6ea59cffdf" dependencies = [ "cc", "tree-sitter-language", @@ -975,9 +1136,9 @@ dependencies = [ [[package]] name = "tree-sitter-proto" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fa4bcb3d87081d2d2741f80425f534d9892e4bd5362037d64357a823391119" +checksum = "2e410ccb5fa3cbd6bf7b8e512ecf7ad9d5254395b822bfe9f751b50fa978f31c" dependencies = [ "cc", "tree-sitter-language", @@ -1141,6 +1302,15 @@ version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "winapi-util" version = "0.1.11" @@ -1164,3 +1334,9 @@ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" diff --git a/pkgs/by-name/bonfire/extensions/open_science/bonfire_editor_milkdown/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/open_science/bonfire_editor_milkdown/yarnOfflineCache.hash new file mode 100644 index 000000000..08e2a34d2 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/open_science/bonfire_editor_milkdown/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-u+8td3ZsrUxfprirdc4qrNXofdCkH2w41HtXMESkiPg= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_geolocate/open_science/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/open_science/bonfire_geolocate/yarnOfflineCache.hash similarity index 100% rename from pkgs/by-name/bonfire/deps/bonfire_geolocate/open_science/yarnOfflineCache.hash rename to pkgs/by-name/bonfire/extensions/open_science/bonfire_geolocate/yarnOfflineCache.hash diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/missingHashes.json b/pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/missingHashes.json similarity index 100% rename from pkgs/by-name/bonfire/deps/bonfire_ui_common/open_science/missingHashes.json rename to pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/missingHashes.json diff --git a/pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/yarnBerryOfflineCache.hash new file mode 100644 index 000000000..56abc4b20 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/open_science/bonfire_ui_common/yarnBerryOfflineCache.hash @@ -0,0 +1 @@ +sha256-XbZDLzvQFAj3fRH5ViWYNwQR08TZjdYQ9e3pmGWsgjw= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/extensions/open_science/deps.nix b/pkgs/by-name/bonfire/extensions/open_science/deps.nix index 50742913c..7d0a66c12 100644 --- a/pkgs/by-name/bonfire/extensions/open_science/deps.nix +++ b/pkgs/by-name/bonfire/extensions/open_science/deps.nix @@ -1,9 +1,15 @@ { - pkgs, lib, beamPackages, + cmake, + extend, + lexbor, + fetchFromGitHub, overrides ? (x: y: { }), overrideFenixOverlay ? null, + pkg-config, + vips, + writeText, }: let @@ -12,7 +18,7 @@ let workarounds = { portCompiler = _unusedArgs: old: { - buildPlugins = [ pkgs.beamPackages.pc ]; + buildPlugins = [ beamPackages.pc ]; }; rustlerPrecompiled = @@ -22,13 +28,13 @@ let }: old: let - extendedPkgs = pkgs.extend fenixOverlay; + extendedPkgs = extend fenixOverlay; fenixOverlay = if overrideFenixOverlay == null then import "${ fetchTarball { - url = "https://github.com/nix-community/fenix/archive/056c9393c821a4df356df6ce7f14c722dc8717ec.tar.gz"; - sha256 = "sha256:1cdfh6nj81gjmn689snigidyq7w98gd8hkl5rvhly6xj7vyppmnd"; + url = "https://github.com/nix-community/fenix/archive/6399553b7a300c77e7f07342904eb696a5b6bf9d.tar.gz"; + sha256 = "sha256-C6tT7K1Lx6VsYw1BY5S3OavtapUvEnDQtmQB5DSgbCc="; } }/overlay.nix" else @@ -118,7 +124,7 @@ let ''; preBuild = '' - install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${pkgs.lexbor}/lib/liblexbor_static.a + install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${lexbor}/lib/liblexbor_static.a ''; }; }; @@ -137,8 +143,8 @@ let { name = "rustlerPrecompiled"; toolchain = { - name = "nightly-2024-11-01"; - sha256 = "sha256-wq7bZ1/IlmmLkSa3GUJgK17dTWcKyf5A+ndS9yRwB88="; + name = "nightly-2025-06-23"; + sha256 = "sha256-UAoZcxg3iWtS+2n8TFNfANFt/GmkuOMDf7QAE0fRxeA="; }; } ]; @@ -203,7 +209,7 @@ let name = "absinthe_client"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "absinthe_client"; rev = "ceeb7c3bb8ac5348c399653a06eaaee3bbd47d8f"; @@ -247,7 +253,7 @@ let absinthe_phoenix = let - version = "2.0.3"; + version = "2.0.4"; drv = buildMix { inherit version; name = "absinthe_phoenix"; @@ -256,7 +262,7 @@ let src = fetchHex { inherit version; pkg = "absinthe_phoenix"; - sha256 = "caffaea03c17ea7419fe07e4bc04c2399c47f0d8736900623dbf4749a826fd2c"; + sha256 = "66617ee63b725256ca16264364148b10b19e2ecb177488cd6353584f2e6c1cf3"; }; beamDeps = [ @@ -317,7 +323,7 @@ let acceptor_pool = let - version = "1.0.0"; + version = "1.0.1"; drv = buildRebar3 { inherit version; name = "acceptor_pool"; @@ -325,7 +331,7 @@ let src = fetchHex { inherit version; pkg = "acceptor_pool"; - sha256 = "0cbcd83fdc8b9ad2eee2067ef8b91a14858a5883cb7cd800e6fcd5803e158788"; + sha256 = "f172f3d74513e8edd445c257d596fc84dbdd56d2c6fa287434269648ae5a421e"; }; }; in @@ -356,11 +362,11 @@ let name = "activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "activity_pub"; - rev = "27ac328376d396afdb1e7916a388db1a004994f7"; - hash = "sha256-DT5h5UzIRXFnAdsums4yXnUIS01aundsP3ySvLLKUGI="; + rev = "9d4225455501a0c4c7fa7c9ef210f0763314aaa5"; + hash = "sha256-9jtjjjAXGSI2KH8xdnuHgqaaq7x16ZAnmZEzmzG9KEs="; }; beamDeps = [ @@ -386,6 +392,7 @@ let needle_uid arrows untangle + ex_confusables ]; }; in @@ -455,7 +462,7 @@ let autumn = let - version = "0.5.7"; + version = "0.6.0"; drv = buildMix { inherit version; name = "autumn"; @@ -464,7 +471,7 @@ let src = fetchHex { inherit version; pkg = "autumn"; - sha256 = "d272bfddeeea863420a8eb994d42af219ca5391191dd765bf045fbacf56a28d1"; + sha256 = "d9f7bad90b462e2e3ae3ce3a6d0dcd128230fec2a276cba0af18ce26165b54ce"; }; beamDeps = [ @@ -593,7 +600,7 @@ let bamboo_ses = let - version = "0.4.6"; + version = "0.4.7"; drv = buildMix { inherit version; name = "bamboo_ses"; @@ -602,7 +609,7 @@ let src = fetchHex { inherit version; pkg = "bamboo_ses"; - sha256 = "9b81498cc0b05bc3caaf36a9b161ddc61124ab294e8f9057b9790b14a9683bf2"; + sha256 = "dadfec5b2dadc92957771d57241c8ffff3dd76031160eea0732ab8831c90f9c0"; }; beamDeps = [ @@ -660,7 +667,7 @@ let bandit = let - version = "1.10.0"; + version = "1.10.3"; drv = buildMix { inherit version; name = "bandit"; @@ -669,7 +676,7 @@ let src = fetchHex { inherit version; pkg = "bandit"; - sha256 = "43ebceb7060a4d8273e47d83e703d01b112198624ba0826980caa3f5091243c4"; + sha256 = "99a52d909c48db65ca598e1962797659e3c0f1d06e825a50c3d75b74a5e2db18"; }; beamDeps = [ @@ -774,11 +781,11 @@ let name = "bonfire_api_graphql"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_api_graphql"; - rev = "dc60e7742a27f632e98107de8b8eab27c22e21ef"; - hash = "sha256-zKnv69mXy42YgBHevTbVtuExk0njxiyTFJBcNJVHBKE="; + rev = "f9b1a0a8211929881a4528127d20f7e91d4faee5"; + hash = "sha256-Q+EwwX+aVgecDr4L3wFX8q6RPVwT6bkU73T6rQQvGrU="; }; beamDeps = [ @@ -808,11 +815,11 @@ let name = "bonfire_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_boundaries"; - rev = "151f043f17e084a18e19724356c5abdc775e066c"; - hash = "sha256-BZ9MsaFD+i4D8Amblgy0FzacwJM5Ts8q9FpjAjvD2vs="; + rev = "0110138b286b858f3d78116c709c5ac39a69801b"; + hash = "sha256-hYqt9VlR9F4Oc+nHV/tuR0D+5DNRw0zqDjfBjeyZuWY="; }; beamDeps = [ @@ -822,7 +829,6 @@ let faker jason scribe - needle ecto_vista igniter absinthe @@ -840,11 +846,11 @@ let name = "bonfire_classify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_classify"; - rev = "2e64a5d516d1ea2945f5c3cc3dc572e4fd0bfd04"; - hash = "sha256-c2CHBZYLecC8VEJiZwW9aq2xf9dElgcI8yaCVSAc1Mc="; + rev = "49d90c72b0ab9a3410b65f0f84717ad585692a15"; + hash = "sha256-P6PBiaVfksyqDglCE/efEg4FNsoIFYF/U9jZ7uVO784="; }; beamDeps = [ @@ -854,7 +860,6 @@ let jason telemetry_metrics telemetry_poller - needle absinthe bonfire_api_graphql bonfire_search @@ -872,11 +877,11 @@ let name = "bonfire_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_common"; - rev = "40c8fcb152da35a9ddda73863f2f26ecd9aec86c"; - hash = "sha256-KhRyou7oCaTSya4NRKJAi+dfeQgsmrx0wvhuNK9IbdE="; + rev = "552fd8dc5f7ade5245ecb600098064059e640011"; + hash = "sha256-c0ozKNvINLa0nAaKyHh8MFDLwMp2v36yWcRXNTxfjDs="; }; beamDeps = [ @@ -884,12 +889,11 @@ let paginator ecto_shorts exkismet - needle_uid - needle arrows untangle ecto_sparkles ecto_sql + needle needle_ulid postgrex ex_cldr @@ -942,11 +946,11 @@ let name = "bonfire_data_access_control"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_access_control"; - rev = "9994601d8256aaf3cd35aabdeded94f2366b84ea"; - hash = "sha256-z1cLKd8zZxmaPaVzH4UsWpZ4VmXYvzxMwOuvWyga/fc="; + rev = "12a5b4a9b8a173384ae04b79e19930ed6ce45710"; + hash = "sha256-0xlmoMMKHmE2JN2EPWyHszn3T6eSB6cL3hyVQkIl6uY="; }; beamDeps = [ @@ -964,11 +968,11 @@ let name = "bonfire_data_activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_activity_pub"; - rev = "3cf9cc7db3fc229c6949ee3fb415aa5524633daa"; - hash = "sha256-PS9w5D1kY95S1WVSJi+JDfrQc6txW1Xd0ud9KgWyzfU="; + rev = "036c263305560fc7eae88942422b373d18d37e3f"; + hash = "sha256-k31nGnBsNJKb/LMHGGTtgkfgG5RtS/p3AbCttZvJfDs="; }; beamDeps = [ @@ -987,7 +991,7 @@ let name = "bonfire_data_assort"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_assort"; rev = "e3457b7048eb659c226a89142edaeb19f31fcb25"; @@ -1010,7 +1014,7 @@ let name = "bonfire_data_edges"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_edges"; rev = "bb581f89e1a03cd3a74766676c3eebb2d56cee58"; @@ -1032,11 +1036,11 @@ let name = "bonfire_data_identity"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_identity"; - rev = "7669b0ae06b208b5ec3a57df326dddb67ef1f235"; - hash = "sha256-86QyFJnl2IiUohQjvsphx26seCr8JAqEANLkIMJVLzg="; + rev = "36aa64242c394b4be0d723ecd7f316a15b1f7153"; + hash = "sha256-qz4yR5U8laM9fHhEPvAaHDRWFr7XMx/jnE4dI31Ut9g="; }; beamDeps = [ @@ -1058,7 +1062,7 @@ let name = "bonfire_data_shared_user"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_shared_user"; rev = "dafbbe2ea65bb55599d774ef0f8a375179ac81b0"; @@ -1081,11 +1085,11 @@ let name = "bonfire_data_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_social"; - rev = "28ecca1f105d9e7c4ef27e2f37e932688e9d093d"; - hash = "sha256-nN4BPk9GDtH6fuOw9tYoI6wxpJ1QqiijWY8sEGwOkqw="; + rev = "c5519acf075fba09d5b346d4fbcf37a84490e280"; + hash = "sha256-+KLdFX8eCYroMErTR4deMRIF0uee2uJxx4lvrXbBrEc="; }; beamDeps = [ @@ -1109,7 +1113,7 @@ let name = "bonfire_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ecto"; rev = "fd567fd674b286400d457415698f089027118751"; @@ -1132,18 +1136,17 @@ let name = "bonfire_editor_milkdown"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_editor_milkdown"; - rev = "997efdd3117c5226e46f5fbdcda061d83d65ac29"; - hash = "sha256-dkUj3V2HrArP+C9eqAHZVJAcsVQ4M1hIKGzsfdjhX+0="; + rev = "4538ae4299c9230d4a1ea7471f6f950b85e9e44c"; + hash = "sha256-kS/C15pY+7h7LPL1CquB5rCXjTknpasgLByWcBrM3p0="; }; beamDeps = [ bonfire_common bonfire_ui_common surface - untangle ]; }; in @@ -1157,7 +1160,7 @@ let name = "bonfire_epics"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_epics"; rev = "365fc195158b33d19aa386ceb7d0b1e25237049a"; @@ -1181,16 +1184,15 @@ let name = "bonfire_fail"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_fail"; - rev = "80282fcdad3bdf8b4cdce347bc344aa5776c697d"; - hash = "sha256-/vWb6RP3l1oR5AM+mzvEFhgHgj81uBRGSIHJbjNvU44="; + rev = "aafe63500650901a8cddae8dd719bbd8853b57c4"; + hash = "sha256-DjcQoISAaYo3dws0FiZFy1puWlXeILJH0epqy1f7Gzs="; }; beamDeps = [ bonfire_common - untangle ]; }; in @@ -1204,11 +1206,11 @@ let name = "bonfire_federate_activitypub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_federate_activitypub"; - rev = "303a306ffe4ceff179ca2704d8fb40c8096bbe73"; - hash = "sha256-8lg7CKmQ0SZh0LNvCo0OdWtvdmXbMllP2Sb/2QS05oM="; + rev = "71350787dfbdcb9df188c364819ba30d8f0d8c3d"; + hash = "sha256-EXv0Uibfd8mpWG51BXROinYqpgrOqKNikyo8iz6CtbA="; }; beamDeps = [ @@ -1223,8 +1225,6 @@ let telemetry_metrics telemetry_poller oban - untangle - needle bonfire_boundaries ]; }; @@ -1239,11 +1239,11 @@ let name = "bonfire_files"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_files"; - rev = "8d87719850fa810b478e4ce41a6f619c91673407"; - hash = "sha256-KWL2pWsq81SQg0b83ANyl5p+Avoa8yY/zCpa0xSEhAI="; + rev = "a576c540cdc7057c1230ea39b814a04dbaedb578"; + hash = "sha256-39r0zzR4wLj0aTHWAUDTwovWzB588hCYvMsWE09j2ho="; }; beamDeps = [ @@ -1259,11 +1259,11 @@ let mogrify hackney sweet_xml - untangle - needle sizeable faviconic bonfire_api_graphql + image + evision ex_aws_s3 blurhash ]; @@ -1279,11 +1279,11 @@ let name = "bonfire_geolocate"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_geolocate"; - rev = "a3a379f05d46a69617a3f9461a11312b7bc6bf26"; - hash = "sha256-NUEOiHWtZPEBrROLashbP0xNoHqtYl5udCj6LIdmOUc="; + rev = "c80090b1d708dbdb38af0de9fb19387f17c34ef8"; + hash = "sha256-yNBqBbXk24EPkWM1Dn3cfoD+CVTGDkJFuiRwX3CyP7U="; }; beamDeps = [ @@ -1296,8 +1296,6 @@ let geocoder geo_postgis astro - untangle - needle tz_world absinthe bonfire_api_graphql @@ -1315,11 +1313,11 @@ let name = "bonfire_invite_links"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_invite_links"; - rev = "78456f3007b8508025a21f5937e7cbeeb15123d7"; - hash = "sha256-5GA7aPgjCAMYo0scnjIrYYJ3c3IK959j3EXYDi2Re5k="; + rev = "8f8a1a0ea989b63133bb405c1b2d7e35e25c0e4f"; + hash = "sha256-bsQbcE0ZEuambAwdFa12ha7hNswwzM5tCCuss+cVpsY="; }; beamDeps = [ @@ -1327,8 +1325,6 @@ let bonfire_ui_common faker jason - untangle - needle ]; }; in @@ -1342,7 +1338,7 @@ let name = "bonfire_mailer"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_mailer"; rev = "a056c38298ac6cbc8c76d7a1e3b44e1ae4d925c3"; @@ -1381,11 +1377,11 @@ let name = "bonfire_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_me"; - rev = "619855fe0d08e58b0dad5fccdd48e60d00a8534e"; - hash = "sha256-KcZ6d3/77Gk8G3beTEXzXZoEJnTxM1ShNwM7jtUqzj4="; + rev = "a54ab60b5edd5e8e9f9a5bb85c72f78a9dd77756"; + hash = "sha256-qopbMZv7NQQttFOYVk4Ol5CaA2ujG26gpXyWvdzvLSU="; }; beamDeps = [ @@ -1397,15 +1393,11 @@ let bonfire_data_identity bonfire_data_social bonfire_boundaries - needle_ulid faker telemetry telemetry_metrics telemetry_poller floki - untangle - needle - arrows bonfire_data_shared_user bonfire_api_graphql bonfire_files @@ -1424,11 +1416,11 @@ let name = "bonfire_messages"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_messages"; - rev = "ab4eb86dcf40d55229b0c4ed7f8cfe236a23deb3"; - hash = "sha256-ReJoXIqlUgiyjuypNgQ+GY4DZRjOZtbpaI6PTPjKmtA="; + rev = "8eca3cc16b929f7774982ce2106c7979f9c1c6d2"; + hash = "sha256-wz3qnMxopwmoVEc3cvDVyZH70Fc3A+ecWzQBZDLCh7A="; }; beamDeps = [ @@ -1439,11 +1431,7 @@ let bonfire_data_social verbs faker - exto jason - untangle - needle - arrows bonfire_me bonfire_api_graphql absinthe @@ -1460,11 +1448,11 @@ let name = "bonfire_notify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_notify"; - rev = "fd4aae794c2e55d89230081f834a401f298ee6eb"; - hash = "sha256-RIOXeeSWQyRerRzyfPo7rObkvwx2N/5aCn9xF9OA5Oc="; + rev = "2d7e77dbcce279eb6e252bda1c12dbf07915fd54"; + hash = "sha256-KGuUCm6ci39lEsE64soGb/cxqVtwgyinHZKPuII6ZPQ="; }; beamDeps = [ @@ -1474,7 +1462,6 @@ let bonfire_me ecto_sql faker - exto gettext jason postgrex @@ -1495,11 +1482,11 @@ let name = "bonfire_open_id"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_open_id"; - rev = "0600d8999cab2d9da1620252b29096385d791e7d"; - hash = "sha256-VQaAoCPWjdQ0DRtYR3tOr/8kjbK672t1hJz2zcdsyYs="; + rev = "d093e45723dadfd4cd52447d67ae04cc0ea1061e"; + hash = "sha256-9n/ryHCahqxM40fYgAqlHLfW2omdF9oH3rjvuS0Psso="; }; beamDeps = [ @@ -1510,13 +1497,40 @@ let jason boruta openid_connect - untangle plug_crypto ]; }; in drv; + bonfire_open_science = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "bonfire_open_science"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "bonfire_open_science"; + rev = "2d8433a05b24f1a8bbda4492af11b9c92d1b2041"; + hash = "sha256-OUPXnhifv5CcA2gZGcWJkaYQciC2Qa+WPS8I/CYCamQ="; + }; + + beamDeps = [ + bonfire_common + bonfire_ui_common + faker + jason + untangle + needle + oban + ]; + }; + in + drv; + bonfire_poll = let version = "0.0.1"; @@ -1525,11 +1539,11 @@ let name = "bonfire_poll"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_poll"; - rev = "c1f1325ff530544182b8f18cb5085ba38ed84569"; - hash = "sha256-W4zQOZIA1qkpoJrPt5oqE+H5eGjG+AD3ZxMIvBktMUE="; + rev = "3c278dd6b9ba61aa060b2b0f9255ce1188f281fd"; + hash = "sha256-x9lamOOVSqhfaNsCynI2WMtYbbPfTL3YBIz/047xYhc="; }; beamDeps = [ @@ -1540,8 +1554,6 @@ let bonfire_boundaries faker jason - untangle - needle bonfire_api_graphql ]; }; @@ -1556,11 +1568,11 @@ let name = "bonfire_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_posts"; - rev = "cec2cfa197104381994d939d1b840f6575de86a9"; - hash = "sha256-Ap2VP45y+0Tg4UBZPB7L+jTPz7/YX5otSgOtOAgspA4="; + rev = "aaf72809110e7905adf686994b33338c836fea11"; + hash = "sha256-24SdzRl6/ldKfJjR3N7U1u42/XuOaLWGbPtofDysqzY="; }; beamDeps = [ @@ -1571,11 +1583,7 @@ let bonfire_data_social verbs faker - exto jason - untangle - needle - arrows bonfire_me bonfire_api_graphql absinthe @@ -1592,11 +1600,11 @@ let name = "bonfire_search"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_search"; - rev = "db01050deb6e2c8327abf6aae6261f251fdecc65"; - hash = "sha256-3BFzYZ5UTRQQUTkcGy0VurES6klC6Z98Rt/c+2NRSP8="; + rev = "b504eeb1ec2f310f54a1138629bd059b2ca0c9c5"; + hash = "sha256-Boi/apoBkLJShHjgL9fhsZIer71EDfpQ9eGcRQRlidI="; }; beamDeps = [ @@ -1626,11 +1634,11 @@ let name = "bonfire_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social"; - rev = "eefc35323d8c47d483499c7ad8a6155d626aefd4"; - hash = "sha256-Q5fxZEho290g7PYrM0l1FZqx+o2w+1TwNRS3iwsFKO4="; + rev = "e11dc455f400eb63f042a6eac0fc57900aa6f032"; + hash = "sha256-Vkm+ErRKQuv2UgJgsa8jV6Gmc7E9VVZWoFi2o6s83+4="; }; beamDeps = [ @@ -1642,11 +1650,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows uniq lazy_html typed_ecto_schema @@ -1668,11 +1672,11 @@ let name = "bonfire_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social_graph"; - rev = "9f1e0931bb4f5f60a6075aa15d8264f52e631748"; - hash = "sha256-SiIcEgOcfSImcqZE3dShPGbYUJWQS4xDS1+M0cupSM8="; + rev = "d8ef6eeab4f94ea19b567ccf6836f06766b778e2"; + hash = "sha256-IlEo5n+x4f/7pawQ0ouqR/uetn56EDIjIBhC5YM2bT0="; }; beamDeps = [ @@ -1684,11 +1688,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows boltx bonfire_me bonfire_api_graphql @@ -1706,11 +1706,11 @@ let name = "bonfire_tag"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_tag"; - rev = "ea6013e4860ad99b15297e6c25a017e1df21383e"; - hash = "sha256-Gqyorbu+bsJlgEIH02vH2byUztoXMKyyyhPLy0Vdolc="; + rev = "9b5e9adee00c034ff322c39df285f8cd022af7fa"; + hash = "sha256-CWAC2+9FjTBV7Y+rh5QmHR4sMuVhtJYy6q40awP0TbA="; }; beamDeps = [ @@ -1723,9 +1723,6 @@ let telemetry_metrics telemetry_poller html_entities - untangle - needle - arrows absinthe bonfire_api_graphql ]; @@ -1741,11 +1738,11 @@ let name = "bonfire_ui_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_boundaries"; - rev = "cef727db1ff6d404333a36b1387bb735c4de95b5"; - hash = "sha256-b1evzYjhkI7j7k7x9PQTUZRv4XPTbB7oyfuJnBFSaRw="; + rev = "ffc4268abd8e73a7eccaf48a176c13101d0435ae"; + hash = "sha256-NisAYdn8D87pAzg45uCBo5yPrSrnBhOKB+fvWCKveUk="; }; beamDeps = [ @@ -1754,8 +1751,6 @@ let bonfire_ui_common faker jason - untangle - needle ]; }; in @@ -1769,11 +1764,11 @@ let name = "bonfire_ui_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_common"; - rev = "ee63255b1f8bd46a22ad777965ca8b34656f70d6"; - hash = "sha256-fuFEywcnnnNBCakxfZM5H9D79oua/HOlUIhlL9ZIUgI="; + rev = "e08304fb0f3fa4d1bae81b035da0767ce096ed38"; + hash = "sha256-IjpobM/1F4yRSHi8OzFD7x/do2t184dtPsaxx3Jc3wY="; }; beamDeps = [ @@ -1781,8 +1776,6 @@ let phoenix_gon bonfire_fail iconify_ex - arrows - untangle jason surface surface_form_helpers @@ -1825,11 +1818,11 @@ let name = "bonfire_ui_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_me"; - rev = "bd1daa89b776d59e785898c92081be5e9a5655cd"; - hash = "sha256-Yzx2k97k+wXIrz8QSaJtJbPuh90HxBX2QmLeJMpcFPY="; + rev = "697c36ec0c5799bb5636aefbb87bfc9d1175ace7"; + hash = "sha256-b1IPY/wGzyHBoSeLeTgyqm8kHmFZRiCukJEqE7zo78M="; }; beamDeps = [ @@ -1849,9 +1842,6 @@ let surface phoenix_live_view phoenix - untangle - needle - arrows ]; }; in @@ -1865,11 +1855,11 @@ let name = "bonfire_ui_messages"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_messages"; - rev = "33809925108ec85b7fd0317cf6c6dcab09d6cab6"; - hash = "sha256-O2CeVvGGq0ziGR6AtOq67SQm0lst76ZasHnD83A4dwQ="; + rev = "0b54af39248eade43651c75b4ff350e9b7594a86"; + hash = "sha256-z8+aPVTiGNIslLpZM6CeOC9e2pwT5fHlKFAn32ZihSo="; }; beamDeps = [ @@ -1883,8 +1873,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1899,11 +1887,11 @@ let name = "bonfire_ui_moderation"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_moderation"; - rev = "ca39af91e466c9399b20e5d2256ed457501dc914"; - hash = "sha256-/VU6aGLvz3HOc6RHGSakpOLeSIR1cydOS8LeO9O1cx4="; + rev = "0d4de56a8224eadb8d446070e33193a6977894bc"; + hash = "sha256-RJpt+zzRMS3FsZohBmRh6yL60gLTWnrgPkGUCHrg9sk="; }; beamDeps = [ @@ -1916,8 +1904,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1932,11 +1918,11 @@ let name = "bonfire_ui_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_posts"; - rev = "89f6e22315ff9c815e0d9dd408aee5dba5cc2ec6"; - hash = "sha256-6o5ZyCfzexkKZb79xSSwlB2v1G8e+lD+qU7PJd2sKAw="; + rev = "ca4c8e69c0afcc7420cec6396c28032032fd0c21"; + hash = "sha256-VMEF23uBNVqfZ18mW+jHcLNDBr0YlX4r+bUxY398+k4="; }; beamDeps = [ @@ -1949,8 +1935,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1965,11 +1949,11 @@ let name = "bonfire_ui_reactions"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_reactions"; - rev = "5fe5549d45b4363aa827f036922592198587cc70"; - hash = "sha256-1KCsulgA5eML7wASjBY6fHvmwbsh42sB7T8nZvQmolI="; + rev = "35c4ffacf1ae6caad42ee5d380d623b3d2160e24"; + hash = "sha256-eprlvDVihYmvHedJ9mqUH15uBW080kuIqTgnPNTidxQ="; }; beamDeps = [ @@ -1983,8 +1967,6 @@ let recase exdiff surface - untangle - arrows bonfire_tag ]; }; @@ -1999,11 +1981,11 @@ let name = "bonfire_ui_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social"; - rev = "c0309c59c5e8cf0ea5bbd9f1810c9c0264a56943"; - hash = "sha256-5nK5I56TkRbyvjtNKF+PeGI2SK7fKF+achbaBCKnUkI="; + rev = "3613c14b2cab1b90db943dff62720194dea7031f"; + hash = "sha256-7t7/ZinP0PG7OTzz7cCWhy4NbZtg9UmFz/pltoML2h8="; }; beamDeps = [ @@ -2017,8 +1999,6 @@ let recase exdiff surface - untangle - arrows floki bonfire_ui_me bonfire_tag @@ -2035,11 +2015,11 @@ let name = "bonfire_ui_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social_graph"; - rev = "5f803b189b1f646e6e5028fceecdcfbe4de01d15"; - hash = "sha256-+JiclgT24Ya4+6v0NITULDf9LQBX5+WHhSqJKTLJfUc="; + rev = "f26ac9a9d43442188bb1d4d86fa2e59fe07e97a5"; + hash = "sha256-SmzS0CZrAzPYjWzQJEhqjkyCSwsn4N9n1bbotzlc4H8="; }; beamDeps = [ @@ -2051,8 +2031,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -2283,6 +2261,23 @@ let in drv; + complex = + let + version = "0.6.0"; + drv = buildMix { + inherit version; + name = "complex"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "complex"; + sha256 = "0a5fa95580dcaf30fcd60fe1aaf24327c0fe401e98c24d892e172e79498269f9"; + }; + }; + in + drv; + cors_plug = let version = "3.0.3"; @@ -2442,7 +2437,7 @@ let db_connection = let - version = "2.8.1"; + version = "2.9.0"; drv = buildMix { inherit version; name = "db_connection"; @@ -2451,7 +2446,7 @@ let src = fetchHex { inherit version; pkg = "db_connection"; - sha256 = "a61a3d489b239d76f326e03b98794fb8e45168396c925ef25feb405ed09da8fd"; + sha256 = "17d502eacaf61829db98facf6f20808ed33da6ccf495354a41e64fe42f9c509c"; }; beamDeps = [ @@ -2514,17 +2509,17 @@ let deps_nix = let - version = "2.6.1"; + version = "2.6.2"; drv = buildMix { inherit version; name = "deps_nix"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "code-supply"; repo = "deps_nix"; - rev = "fa52c3f8d9050d62597543e84e1b3627d51f4e1e"; - hash = "sha256-V7RQ91vttNPBKzrsncHNwm5MEqi0lOR/69GS76IAlms="; + rev = "03cf8b9ab2f89f02c6d6ff26b335650cb56dd52f"; + hash = "sha256-gWK/hGZutWt6C4NLdQsuBWVDIiQvgp/EHfXmfPDfMR4="; }; beamDeps = [ @@ -2646,11 +2641,11 @@ let name = "ecto_materialized_path"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_materialized_path"; - rev = "5400b058d7ddd24379db3662c29b51d0cec82756"; - hash = "sha256-RSvgcL7X5Gvlej5axsl8WLltGHzaMcRfdiEPUlufcas="; + rev = "8497780e069511862109b3a1d34b090513bd37b9"; + hash = "sha256-kszDYDevW3Fl2iumY8FS7sD+gMGGHfJzU5Fr2kQb8n0="; }; beamDeps = [ @@ -2714,7 +2709,7 @@ let name = "ecto_shorts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_shorts"; rev = "34ac78036b249aec833ae357f69195e46306f817"; @@ -2730,17 +2725,17 @@ let ecto_sparkles = let - version = "0.2.1"; + version = "0.3.0"; drv = buildMix { inherit version; name = "ecto_sparkles"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_sparkles"; - rev = "542fa562aa6d03689ea4119896f5c20224dcd724"; - hash = "sha256-ETKbMd6y8Wa1XZq1EPDktN6rtMie/PKUIJKchxGNLmk="; + rev = "37dad3d1458067dcf9ff1bad9584487e6cde88ac"; + hash = "sha256-iwGPDg/0sN7BLWhrCgJvkr4O9zDyo54LKOQlRlCxtuY="; }; beamDeps = [ @@ -2758,7 +2753,7 @@ let ecto_sql = let - version = "3.13.2"; + version = "3.13.4"; drv = buildMix { inherit version; name = "ecto_sql"; @@ -2767,7 +2762,7 @@ let src = fetchHex { inherit version; pkg = "ecto_sql"; - sha256 = "539274ab0ecf1a0078a6a72ef3465629e4d6018a3028095dc90f60a19c371717"; + sha256 = "2b38cf0749ca4d1c5a8bcbff79bbe15446861ca12a61f9fba604486cb6b62a14"; }; beamDeps = [ @@ -2854,6 +2849,122 @@ let in drv; + ember = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "ember"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ember"; + rev = "815e48ad5ed7f0310287f98aff8a2fde16994f55"; + hash = "sha256-qDkVxXnpclxOjyVEo3xkT4XhQw1HceiT0vNvRzCSh3E="; + }; + + beamDeps = [ + bonfire_common + bonfire_ui_common + activity_pub + bonfire_mailer + bonfire_epics + bonfire_ecto + bonfire_data_assort + bonfire_boundaries + bonfire_ui_boundaries + bonfire_federate_activitypub + bonfire_data_access_control + bonfire_data_activity_pub + bonfire_data_identity + bonfire_data_social + bonfire_data_edges + bonfire_editor_milkdown + bonfire_me + bonfire_ui_me + bonfire_social + bonfire_social_graph + bonfire_posts + bonfire_ui_social + bonfire_ui_social_graph + bonfire_ui_posts + bonfire_ui_moderation + bonfire_tag + bonfire_classify + bonfire_notify + ecto_sparkles + needle + needle_uid + needle_ulid + ex_ulid + untangle + entrepot + entrepot_ecto + nodeinfo + paginator + voodoo + arrows + ex_cldr + surface + phoenix + phoenix_live_view + phoenix_view + plug_crypto + plug_cowboy + cowboy + bandit + orion + corsica + ecto + ecto_sql + postgrex + ecto_psql_extras + db_connection + ex_aws_s3 + ex_marcel + req + finch + httpoison + jason + poison + timex + solid + mime + oban + sourceror + owl + mogrify + cachex + sizeable + geo + recase + emote + uniq + rustler_precompiled + decimal + floki + faker + gettext + text + text_corpus_udhr + hackney + opentelemetry_process_propagator + opentelemetry_exporter + opentelemetry_semantic_conventions + telemetry_metrics + telemetry + telemetry_poller + sentry + oban_web + absinthe + bonfire_api_graphql + absinthe_client + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + emote = let version = "0.1.1"; @@ -2883,7 +2994,7 @@ let name = "entrepot"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot"; rev = "c75704d8b4b76dbd2277b52822fa77ec8dc207aa"; @@ -2906,7 +3017,7 @@ let name = "entrepot_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot_ecto"; rev = "5ea4af9af6b648e2cf58a2ceb2eb8e9c36c2b226"; @@ -2955,6 +3066,29 @@ let in drv; + evision = + let + version = "0.2.14"; + drv = buildMix { + inherit version; + name = "evision"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "evision"; + sha256 = "630714395f2c242e488944b4c9c75a5de96cbb95d3cbb69f0525bdb3e0a88775"; + }; + + beamDeps = [ + castore + elixir_make + nx + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + ex2ms = let version = "1.7.0"; @@ -2974,7 +3108,7 @@ let ex_aws = let - version = "2.6.0"; + version = "2.6.1"; drv = buildMix { inherit version; name = "ex_aws"; @@ -2983,7 +3117,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws"; - sha256 = "30729ee9cbaacda674a4e4260d74206fa89bcd712267c4eaf42a0fc34592c0b3"; + sha256 = "67842a08c90a1d9a09dbe4ac05754175c7ca253abe4912987c759395d4bd9d26"; }; beamDeps = [ @@ -3000,7 +3134,7 @@ let ex_aws_s3 = let - version = "2.5.8"; + version = "2.5.9"; drv = buildMix { inherit version; name = "ex_aws_s3"; @@ -3009,7 +3143,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws_s3"; - sha256 = "84e512ca2e0ae6a6c497036dff06d4493ffb422cfe476acc811d7c337c16691c"; + sha256 = "a480d2bb2da64610014021629800e1e9457ca5e4a62f6775bffd963360c2bf90"; }; beamDeps = [ @@ -3068,7 +3202,7 @@ let ex_cldr_calendars = let - version = "2.4.0"; + version = "2.4.1"; drv = buildMix { inherit version; name = "ex_cldr_calendars"; @@ -3077,7 +3211,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_calendars"; - sha256 = "bd89cc96124120fe94d3d1ca069afcfcb3c0e874514493f5ed541211511d55fb"; + sha256 = "e29b2b186ce2832cc0da1574944cf206dd221da13b3da98c80da62d6ab71b343"; }; beamDeps = [ @@ -3115,7 +3249,7 @@ let ex_cldr_dates_times = let - version = "2.25.1"; + version = "2.25.3"; drv = buildMix { inherit version; name = "ex_cldr_dates_times"; @@ -3124,7 +3258,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_dates_times"; - sha256 = "b41fc2dcd22b2671345e8cefcfad403c62453241bccb86bbdada3da5c1aee97b"; + sha256 = "e44a45f6acbba600f1c99fd9e6e8345ff462953760ff42422bc16092a1d34e8d"; }; beamDeps = [ @@ -3207,7 +3341,7 @@ let ex_cldr_numbers = let - version = "2.36.0"; + version = "2.37.0"; drv = buildMix { inherit version; name = "ex_cldr_numbers"; @@ -3216,7 +3350,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_numbers"; - sha256 = "17640b8daf2580a0a11317a720a26079e774d4c36f939d82f4e9f7075269897d"; + sha256 = "adc011aad34ab545e1d53ae248891479efcd25ba51f662822ec7c5083d0122f8"; }; beamDeps = [ @@ -3303,7 +3437,7 @@ let ex_cldr_units = let - version = "3.20.0"; + version = "3.20.1"; drv = buildMix { inherit version; name = "ex_cldr_units"; @@ -3312,7 +3446,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_units"; - sha256 = "eb93f99005f8d3f1b1b12c85a45323937350e11d3e79f8375ab51e2ff44392f2"; + sha256 = "879af22563b06570f16c28bed3decaadc0c1233906f4516b2d5d28e2bbbadee0"; }; beamDeps = [ @@ -3326,6 +3460,24 @@ let in drv; + ex_confusables = + let + version = "0.1.1"; + drv = buildMix { + inherit version; + name = "ex_confusables"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ex_confusables"; + rev = "72826ede5b66ca0a1d1cdeb0c55085061a928ccb"; + hash = "sha256-K57eAhRSwH/FNWNusikrGwGm3DZpdPoCC2d71xzap8g="; + }; + }; + in + drv; + ex_doc = let version = "0.38.4"; @@ -3369,7 +3521,7 @@ let ex_json_schema = let - version = "0.11.1"; + version = "0.11.2"; drv = buildMix { inherit version; name = "ex_json_schema"; @@ -3378,7 +3530,7 @@ let src = fetchHex { inherit version; pkg = "ex_json_schema"; - sha256 = "32d651a575a6ce2fd613f140b0fef8dd0acc7cf8e8bcd29a3a1be5c945700dd5"; + sha256 = "395f4aaf32ea0a14d861b16695e7bc8a1b5d841e0fd374d25aef9701bf8da825"; }; beamDeps = [ @@ -3454,7 +3606,7 @@ let name = "ex_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ex_ulid"; rev = "b07e0410b9d683385de081cfd5af0e3225b270f9"; @@ -3489,7 +3641,7 @@ let name = "exkismet"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tcitworld"; repo = "exkismet"; rev = "68830454608d315f69d5fe1061ac1bf31c1a856e"; @@ -3566,7 +3718,7 @@ let fast_ngram = let - version = "1.2.0"; + version = "1.2.2"; drv = buildMix { inherit version; name = "fast_ngram"; @@ -3575,7 +3727,7 @@ let src = fetchHex { inherit version; pkg = "fast_ngram"; - sha256 = "90c949c5b00314d8117a5bf2fbf6a05ef945ce4cad66a47bc26f8d9ec30dc1bd"; + sha256 = "68b1be5be2564c77236acb0ef35b3b2343da3d47fed274a429389a8efc83021f"; }; }; in @@ -3644,7 +3796,7 @@ let finch = let - version = "0.20.0"; + version = "0.21.0"; drv = buildMix { inherit version; name = "finch"; @@ -3653,7 +3805,7 @@ let src = fetchHex { inherit version; pkg = "finch"; - sha256 = "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"; + sha256 = "87dc6e169794cb2570f75841a19da99cfde834249568f2a5b121b809588a4377"; }; beamDeps = [ @@ -3730,11 +3882,11 @@ let name = "forecastr"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "forecastr"; - rev = "96b97b3acac6b7b9185bcca9e1b69cf9256673ca"; - hash = "sha256-miMkI2DXBcAFtVsAGXTybuxUypuZE+ZD2vOHiJw+4qw="; + rev = "7d63ee684f5f559a24f41058c91d601996eb1f03"; + hash = "sha256-WFPIGge06w6OZqwR6UZZ4yozKLhYgxeO65TJs4FzB48="; }; beamDeps = [ @@ -4088,7 +4240,7 @@ let name = "http_signatures"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "http_signatures"; rev = "276839e90e8d2fb17d415502c6c5f0e3f744e88f"; @@ -4125,29 +4277,28 @@ let iconify_ex = let - version = "0.6.1"; + version = "0.7.2"; drv = buildMix { inherit version; name = "iconify_ex"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { - owner = "bonfire-networks"; - repo = "iconify_ex"; - rev = "7c299c21582f70bf1c16b0c0a53f0e3c56ef76a1"; - hash = "sha256-k2FEXRsRiMGhNWL2GtKFHWFVIIGouWgaIUwtTwfStug="; + src = fetchHex { + inherit version; + pkg = "iconify_ex"; + sha256 = "5efa322d905d27c988d7d6ba24af63862045e856e09b134c4ba083c5e235e552"; }; beamDeps = [ + arrows emote + floki jason - phoenix_live_view - surface phoenix_live_favicon + phoenix_live_view recase - arrows + surface untangle - floki ]; }; in @@ -4200,6 +4351,35 @@ let in drv; + image = + let + version = "0.62.1"; + drv = buildMix { + inherit version; + name = "image"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "image"; + sha256 = "5a5a7acaf68cfaed8932d478b95152cd7d84071442cac558c59f2d31427e91ab"; + }; + + beamDeps = [ + evision + jason + nx + phoenix_html + plug + req + rustler + sweet_xml + vix + ]; + }; + in + drv; + jason = let version = "1.4.4"; @@ -4301,13 +4481,13 @@ let lazy_html = let - version = "0.1.8"; + version = "0.1.10"; drv = buildMix { inherit version; name = "lazy_html"; appConfigPath = ./config; - nativeBuildInputs = with pkgs; [ + nativeBuildInputs = [ cmake lexbor ]; @@ -4315,7 +4495,7 @@ let src = fetchHex { inherit version; pkg = "lazy_html"; - sha256 = "0d8167d930b704feb94b41414ca7f5779dff9bca7fcf619fcef18de138f08736"; + sha256 = "50f67e5faa09d45a99c1ddf3fac004f051997877dc8974c5797bb5ccd8e27058"; }; beamDeps = [ @@ -4335,7 +4515,7 @@ let name = "linkify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "linkify"; rev = "a8c14b67616e63326f901b25f80147a9dbaffd6b"; @@ -4481,7 +4661,7 @@ let makeup_erlang = let - version = "1.0.2"; + version = "1.0.3"; drv = buildMix { inherit version; name = "makeup_erlang"; @@ -4490,7 +4670,7 @@ let src = fetchHex { inherit version; pkg = "makeup_erlang"; - sha256 = "af33ff7ef368d5893e4a267933e7744e46ce3cf1f61e2dccf53a111ed3aa3727"; + sha256 = "953297c02582a33411ac6208f2c6e55f0e870df7f80da724ed613f10e6706afd"; }; beamDeps = [ @@ -4764,7 +4944,7 @@ let mjml = let - version = "5.2.0"; + version = "5.3.0"; drv = buildMix { inherit version; name = "mjml"; @@ -4773,7 +4953,7 @@ let src = fetchHex { inherit version; pkg = "mjml"; - sha256 = "bf39d2e0041f1f08afd07694239be39a8c173b00649e3463c2bd959473092c2a"; + sha256 = "58b90a298366daac55314ecd9531711ac16516e1d4b943a24d4b9d1f57e43918"; }; beamDeps = [ @@ -4819,7 +4999,7 @@ let mua = let - version = "0.2.5"; + version = "0.2.6"; drv = buildMix { inherit version; name = "mua"; @@ -4828,7 +5008,7 @@ let src = fetchHex { inherit version; pkg = "mua"; - sha256 = "0e2b18024d0db8943a68e84fb5e2253d3225c8f61d8387cbfc581d66e34d8493"; + sha256 = "c8bd1417dc18208eed3a3e0f1b847930e7b649e3e71165d2934f3b1ba62b3c18"; }; beamDeps = [ @@ -4840,7 +5020,7 @@ let nebulex = let - version = "2.6.5"; + version = "2.6.6"; drv = buildMix { inherit version; name = "nebulex"; @@ -4849,7 +5029,7 @@ let src = fetchHex { inherit version; pkg = "nebulex"; - sha256 = "4eb4092058ba53289cb4d5a1b109de6fd094883dfc84a1c2f2ccc57e61a24935"; + sha256 = "8cbf531af6fe407383b6ba410a43a19319af47804929d8a8d1975a780b9952df"; }; beamDeps = [ @@ -4863,17 +5043,17 @@ let needle = let - version = "0.8.0"; + version = "0.9.0"; drv = buildMix { inherit version; name = "needle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle"; - rev = "f8dfa30265e0d1b6e2a31dc0688fdbce36044a3b"; - hash = "sha256-GAfThwv//AqGBahzp8f1A70g5rKDdNX1WHvucfae6Ww="; + rev = "abde6de21bae3d2867fac88ef12af7edd65e6558"; + hash = "sha256-4vOOS2MEE16F2Oo/6d8EJGFxEMjQddS7Yolmt7Pfaoo="; }; beamDeps = [ @@ -4889,17 +5069,17 @@ let needle_uid = let - version = "0.0.1"; + version = "0.0.2"; drv = buildMix { inherit version; name = "needle_uid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_uid"; - rev = "3ec02ce42d96498db286a619a31a40eda2df7fa7"; - hash = "sha256-jf6PNnv74hx4GKQgmdThY1Sn4yet4DIPkeN4yVk6scw="; + rev = "d001d6915795a22b5a2d481b51475f922b0a672e"; + hash = "sha256-bpXkf3QRlnAP8B96NRuTn8hJaB8Uv4EjvqW1TMjz0ts="; }; beamDeps = [ @@ -4913,17 +5093,17 @@ let needle_ulid = let - version = "0.4.0"; + version = "0.5.0"; drv = buildMix { inherit version; name = "needle_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_ulid"; - rev = "c663d2b3fc698b81220c05af221c8433b8049f53"; - hash = "sha256-oXOb6mlhE2mAYpgJ1Pa4sCktOlEXhbtUnV9YncuS7v4="; + rev = "2f6350540553beba295788c2893b5e85237e0ca6"; + hash = "sha256-c934dtx0h/s2D+W8/p+XT6pspPkUaqffqNhO5kwWKpc="; }; beamDeps = [ @@ -5029,7 +5209,7 @@ let name = "nodeinfo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "nodeinfo"; rev = "77a9dcc45c706e53ba38d7db7d0b2de1e8c082a6"; @@ -5047,6 +5227,28 @@ let in drv; + nx = + let + version = "0.10.0"; + drv = buildMix { + inherit version; + name = "nx"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "nx"; + sha256 = "3db8892c124aeee091df0e6fbf8e5bf1b81f502eb0d4f5ba63e6378ebcae7da4"; + }; + + beamDeps = [ + complex + telemetry + ]; + }; + in + drv; + oban = let version = "2.20.2"; @@ -5072,9 +5274,92 @@ let in drv; + oban_met = + let + version = "1.0.5"; + drv = buildMix { + inherit version; + name = "oban_met"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_met"; + sha256 = "64664d50805bbfd3903aeada1f3c39634652a87844797ee400b0bcc95a28f5ea"; + }; + + beamDeps = [ + oban + ]; + }; + in + drv; + + oban_web = + let + version = "2.11.6"; + drv = buildMix { + inherit version; + name = "oban_web"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_web"; + sha256 = "576d94b705688c313694c2c114ca21aa0f8f2ad1b9ca45c052c5ba316d3e8d10"; + }; + + beamDeps = [ + jason + oban + oban_met + phoenix + phoenix_html + phoenix_live_view + phoenix_pubsub + ]; + }; + in + drv; + + open_science = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "open_science"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "open_science"; + rev = "aada2ae4c81a5fb9e1ae56ec081f3852f63f82a8"; + hash = "sha256-Pq9ohmGyfLqoRY7KY358Qto4Hqh+IQpc4qEASsfu0ZI="; + }; + + beamDeps = [ + social + ember + bonfire_open_science + absinthe + eqrcode + geo_postgis + geo + phoenix + phoenix_live_view + owl + httpoison + poison + hackney + rustler_precompiled + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + openid_connect = let - version = "1.0.0"; + version = "1.0.1"; drv = buildMix { inherit version; name = "openid_connect"; @@ -5083,7 +5368,7 @@ let src = fetchHex { inherit version; pkg = "openid_connect"; - sha256 = "1abc2009fad37321996b64ac4b36d8113b309b697707c0774ed6d3dbad9a5005"; + sha256 = "91aa3af230150439004fe4f8c938e71a8789ce4ff4c66d9df31aaa004786f2b2"; }; beamDeps = [ @@ -5265,11 +5550,11 @@ let name = "paginator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "paginator"; - rev = "faa9909568c86b74838ef5d036fecb003ea77c1f"; - hash = "sha256-wDsBGnGV4wqI02YBlZGlBEffKIMHU/ANtgzoKIWj+nU="; + rev = "6bf2e271079c04ac566f7f1c53cf8f4fd466c3ca"; + hash = "sha256-JeuPJFmH5OuMK5iYwdIAO85VYRXWuGb/fF93YEggI/E="; }; beamDeps = [ @@ -5383,7 +5668,7 @@ let phoenix_ecto = let - version = "4.7.0"; + version = "4.6.6"; drv = buildMix { inherit version; name = "phoenix_ecto"; @@ -5392,7 +5677,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_ecto"; - sha256 = "1d75011e4254cb4ddf823e81823a9629559a1be93b4321a6a5f11a5306fbf4cc"; + sha256 = "d9893776b626cf87c3b2ddeb5a7dadbf2407733b09a3dadb8c3e9f9052bb84b2"; }; beamDeps = [ @@ -5413,7 +5698,7 @@ let name = "phoenix_gon"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "phoenix_gon"; rev = "47db70596e42077f67b4b7a1df158322e65ee0ed"; @@ -5543,7 +5828,7 @@ let phoenix_live_view = let - version = "1.1.18"; + version = "1.1.24"; drv = buildMix { inherit version; name = "phoenix_live_view"; @@ -5552,7 +5837,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_live_view"; - sha256 = "f189b759595feff0420e9a1d544396397f9cf9e2d5a8cb98ba5b6cab01927da0"; + sha256 = "0c724e6c65f197841cac49d73be4e0f9b93a7711eaa52d2d4d1b9f859c329267"; }; beamDeps = [ @@ -5676,7 +5961,7 @@ let plug_cowboy = let - version = "2.7.5"; + version = "2.8.0"; drv = buildMix { inherit version; name = "plug_cowboy"; @@ -5685,7 +5970,7 @@ let src = fetchHex { inherit version; pkg = "plug_cowboy"; - sha256 = "20884bf58a90ff5a5663420f5d2c368e9e15ed1ad5e911daf0916ea3c57f77ac"; + sha256 = "9cbfaaf17463334ca31aed38ea7e08a68ee37cabc077b1e9be6d2fb68e0171d0"; }; beamDeps = [ @@ -5743,7 +6028,7 @@ let name = "plug_http_validator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "plug_http_validator"; rev = "dbc277f8a328bc44107174fb1770b1376337697a"; @@ -5934,7 +6219,7 @@ let req = let - version = "0.5.16"; + version = "0.5.17"; drv = buildMix { inherit version; name = "req"; @@ -5943,7 +6228,7 @@ let src = fetchHex { inherit version; pkg = "req"; - sha256 = "974a7a27982b9b791df84e8f6687d21483795882a7840e8309abdbe08bb06f09"; + sha256 = "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"; }; beamDeps = [ @@ -6003,7 +6288,7 @@ let rustler_precompiled = let - version = "0.8.3"; + version = "0.8.4"; drv = buildMix { inherit version; name = "rustler_precompiled"; @@ -6012,7 +6297,7 @@ let src = fetchHex { inherit version; pkg = "rustler_precompiled"; - sha256 = "c23f5f33cb6608542de4d04faf0f0291458c352a4648e4d28d17ee1098cddcc4"; + sha256 = "3b33d99b540b15f142ba47944f7a163a25069f6d608783c321029bc1ffb09514"; }; beamDeps = [ @@ -6160,6 +6445,59 @@ let in drv; + social = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "social"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "social"; + rev = "b48bf9d88630d44561ad7aff611487d8f1381714"; + hash = "sha256-F5s4z6u4NqE+UuHhrP73ClHS0KzdRWFZhaglFuCAh2g="; + }; + + beamDeps = [ + ember + bonfire_messages + bonfire_ui_messages + bonfire_ui_reactions + bonfire_classify + bonfire_search + bonfire_invite_links + bonfire_data_shared_user + bonfire_api_graphql + bonfire_open_id + bonfire_poll + bonfire_geolocate + mfm_parser + forecastr + activity_pub + ecto_sparkles + needle + needle_uid + needle_ulid + ex_ulid + absinthe + eqrcode + geo_postgis + geo + phoenix + phoenix_live_view + owl + httpoison + poison + hackney + rustler_precompiled + igniter + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + solid = let version = "0.18.0"; @@ -6200,7 +6538,7 @@ let spitfire = let - version = "0.2.1"; + version = "0.3.7"; drv = buildMix { inherit version; name = "spitfire"; @@ -6209,7 +6547,7 @@ let src = fetchHex { inherit version; pkg = "spitfire"; - sha256 = "6eeed75054a38341b2e1814d41bb0a250564092358de2669fdb57ff88141d91b"; + sha256 = "798ff97db02477b05fa3db8e2810cebda6ed5d90c6de6b21aa65abd577599744"; }; }; in @@ -6251,7 +6589,7 @@ let surface = let - version = "0.12.1"; + version = "0.12.2"; drv = buildMix { inherit version; name = "surface"; @@ -6260,7 +6598,7 @@ let src = fetchHex { inherit version; pkg = "surface"; - sha256 = "133242252537f9c41533388607301f3d01755a338482e4288f42343dc20cd413"; + sha256 = "1fdce26fc6a078c1f6ab42cabd9457966cb4319cf0614c74abec763342cd041a"; }; beamDeps = [ @@ -6313,7 +6651,7 @@ let swoosh = let - version = "1.19.8"; + version = "1.20.0"; drv = buildMix { inherit version; name = "swoosh"; @@ -6322,7 +6660,7 @@ let src = fetchHex { inherit version; pkg = "swoosh"; - sha256 = "d7503c2daf0f9899afd8eba9923eeddef4b62e70816e1d3b6766e4d6c60e94ad"; + sha256 = "13e610f709bae54851d68afb6862882aa646e5c974bf49e3bf5edd84a73cf213"; }; beamDeps = [ @@ -6596,7 +6934,7 @@ let name = "twinkle_star"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "twinkle_star"; rev = "476f464e38c5409438246ca15e42e44b527ca257"; @@ -6686,7 +7024,7 @@ let name = "unfurl"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "unfurl"; rev = "9e750913d852197b97b30568c55ad4fd000946b9"; @@ -6763,17 +7101,17 @@ let untangle = let - version = "0.3.3"; + version = "0.4.0"; drv = buildMix { inherit version; name = "untangle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "untangle"; - rev = "00c4aea4f8261bd9030a1585c60601b1a43cb5d9"; - hash = "sha256-RB3r3YOlHTzdylN+fwjnXpoOe/7QjKQ0sqHsEEPY/vk="; + rev = "b6d2a3b2687ca9392c6524fb01c2e43cd27418ab"; + hash = "sha256-qNMU1xylUx/KAH3TBs8ve+puyFDwQh0oZsxOpX8bVkM="; }; beamDeps = [ @@ -6792,7 +7130,7 @@ let name = "verbs"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "shannonwells"; repo = "verbs_ex"; rev = "afa4693964dae0d9aceb60a73f1766c6d4f68d25"; @@ -6802,6 +7140,35 @@ let in drv; + vix = + let + version = "0.38.0"; + drv = buildMix { + inherit version; + name = "vix"; + appConfigPath = ./config; + + VIX_COMPILATION_MODE = "PLATFORM_PROVIDED_LIBVIPS"; + + nativeBuildInputs = [ + pkg-config + vips + ]; + + src = fetchHex { + inherit version; + pkg = "vix"; + sha256 = "dca58f654922fa678d5df8e028317483d9c0f8acb2e2714076a8468695687aa7"; + }; + + beamDeps = [ + cc_precompiler + elixir_make + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + voodoo = let version = "0.1.0"; @@ -6810,7 +7177,7 @@ let name = "voodoo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "voodoo"; rev = "cc2d61300554edc52f933f10dcf77a046a5751e2"; @@ -6826,7 +7193,7 @@ let waffle = let - version = "1.1.9"; + version = "1.1.10"; drv = buildMix { inherit version; name = "waffle"; @@ -6835,7 +7202,7 @@ let src = fetchHex { inherit version; pkg = "waffle"; - sha256 = "307c63cfdfb4624e7c423868a128ccfcb0e5291ae73a9deecb3a10b7a3eb277c"; + sha256 = "859ba6377b78f0a51bc9596227b194f26241efbbd408bd217450c22b0f359cc4"; }; beamDeps = [ diff --git a/pkgs/by-name/bonfire/deps/ex_cldr/open_science/fetchFromGitHub.hash b/pkgs/by-name/bonfire/extensions/open_science/ex_cldr/fetchFromGitHub.hash similarity index 100% rename from pkgs/by-name/bonfire/deps/ex_cldr/open_science/fetchFromGitHub.hash rename to pkgs/by-name/bonfire/extensions/open_science/ex_cldr/fetchFromGitHub.hash diff --git a/pkgs/by-name/bonfire/extensions/open_science/iconify_ex/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/open_science/iconify_ex/yarnOfflineCache.hash new file mode 100644 index 000000000..16c6bb83a --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/open_science/iconify_ex/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-XeWWGCwLyoyr46DOXx2V2M/BgWEx83wRUm9bU2lnRYI= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/mdex/open_science/Cargo.lock b/pkgs/by-name/bonfire/extensions/open_science/mdex/Cargo.lock similarity index 100% rename from pkgs/by-name/bonfire/deps/mdex/open_science/Cargo.lock rename to pkgs/by-name/bonfire/extensions/open_science/mdex/Cargo.lock diff --git a/pkgs/by-name/bonfire/deps/mjml/social/Cargo.lock b/pkgs/by-name/bonfire/extensions/open_science/mjml/Cargo.lock similarity index 63% rename from pkgs/by-name/bonfire/deps/mjml/social/Cargo.lock rename to pkgs/by-name/bonfire/extensions/open_science/mjml/Cargo.lock index abcc256d6..6ba912061 100644 --- a/pkgs/by-name/bonfire/deps/mjml/social/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/open_science/mjml/Cargo.lock @@ -71,26 +71,26 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "libloading" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", - "windows-targets", + "windows-link", ] [[package]] name = "mjml_nif" -version = "5.2.0" +version = "5.3.0" dependencies = [ "mrml", "rustler", @@ -98,9 +98,9 @@ dependencies = [ [[package]] name = "mrml" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9daf3c183141de1d3d2db6f275536c70ebfb87b11ed4b0c709b1103d1c9d3ede" +checksum = "8f2d4de127b05e0abf5bfe406ca8c766bb16e9150b040ff1525bccc20ee7c132" dependencies = [ "enum-as-inner", "htmlparser", @@ -142,9 +142,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustler" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3fe55230a9c379733dd38ee67d4072fa5c558b2e22b76b0e7f924390456e003" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -154,9 +154,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3b8de901ae61418e2036245d28e41ef58080d04f40b68430471ae36a4e84ed" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -184,18 +184,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", @@ -209,65 +209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" diff --git a/pkgs/by-name/bonfire/deps/autumn/social/Cargo.lock b/pkgs/by-name/bonfire/extensions/social/autumn/Cargo.lock similarity index 83% rename from pkgs/by-name/bonfire/deps/autumn/social/Cargo.lock rename to pkgs/by-name/bonfire/extensions/social/autumn/Cargo.lock index 1a9e8be77..89f95b8a0 100644 --- a/pkgs/by-name/bonfire/deps/autumn/social/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/social/autumn/Cargo.lock @@ -69,16 +69,15 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "autumnus" -version = "0.7.8" +version = "0.8.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c1fde8ded97480fce6fb7284ec21a5d0fcd62ade3e77770fe5c8c717dd7348" +checksum = "af0d8dd045538962cebd3f7b975320338140fb2c74aea771a0a09ffdd2f6f362" dependencies = [ "anyhow", "cc", "clap", "derive_builder", "glob", - "lazy_static", "prettyplease", "proc-macro2", "quote", @@ -87,9 +86,13 @@ dependencies = [ "rustler", "serde", "serde_json", + "smol_str", + "streaming-iterator", "strum", "syn", + "tempfile", "termcolor", + "thiserror", "tree-sitter", "tree-sitter-asm", "tree-sitter-bash", @@ -145,9 +148,26 @@ name = "autumnus_nif" version = "0.1.0" dependencies = [ "autumnus", + "once_cell", + "parking_lot", "rustler", ] +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "borsh" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +dependencies = [ + "cfg_aliases", +] + [[package]] name = "cc" version = "1.2.45" @@ -164,6 +184,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clap" version = "4.5.51" @@ -313,6 +339,22 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + [[package]] name = "find-msvc-tools" version = "0.1.4" @@ -325,6 +367,18 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "glob" version = "0.3.3" @@ -381,33 +435,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "lazy_static" -version = "1.5.0" +name = "libc" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.8.9" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", "windows-link", ] +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "memchr" version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + [[package]] name = "once_cell_polyfill" version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -436,6 +534,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rayon" version = "1.11.0" @@ -456,6 +560,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + [[package]] name = "regex" version = "1.12.2" @@ -491,11 +604,24 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "rustler" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb867bb35b291ef105abbe0a0d04bd4d7af372e023d08845698687bc254f222b" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -505,9 +631,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.37.0" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90993223c5ac0fb580ff966fb9477289c4e8a610a2f4639912a2639c5e7b5095" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -528,6 +654,12 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "serde" version = "1.0.228" @@ -578,6 +710,22 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smol_str" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f7a918bd2a9951d18ee6e48f076843e8e73a9a5d22cf05bcd4b7a81bdd04e17" +dependencies = [ + "borsh", + "serde_core", +] + [[package]] name = "streaming-iterator" version = "0.1.9" @@ -622,6 +770,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -677,9 +838,9 @@ dependencies = [ [[package]] name = "tree-sitter-bash" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871b0606e667e98a1237ebdc1b0d7056e0aebfdc3141d12b399865d4cb6ed8a6" +checksum = "9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062" dependencies = [ "cc", "tree-sitter-language", @@ -767,9 +928,9 @@ dependencies = [ [[package]] name = "tree-sitter-elm" -version = "5.8.0" +version = "5.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accee95d95c001e53f5ab1a1168f1ed1c6ec763a17fb48b43acf5bf4ff9e3423" +checksum = "23840259bfc74d3fc7638047002703bac8624f4969fd73226d7ed516a1b91e9c" dependencies = [ "cc", "tree-sitter-language", @@ -909,15 +1070,15 @@ dependencies = [ [[package]] name = "tree-sitter-language" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8" +checksum = "4ae62f7eae5eb549c71b76658648b72cc6111f2d87d24a1e31fa907f4943e3ce" [[package]] name = "tree-sitter-lua" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb9adf0965fec58e7660cbb3a059dbb12ebeec9459e6dcbae3db004739641e" +checksum = "ea992f4164d83f371ef1239ae178c4d4596c296c09055e9a48bb02a2760403af" dependencies = [ "cc", "tree-sitter-language", @@ -965,9 +1126,9 @@ dependencies = [ [[package]] name = "tree-sitter-powershell" -version = "0.25.9" +version = "0.25.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0e37101b110badaf99aa40460915a8797ceba15fc0ed22773280377a8dffb6" +checksum = "415ec6251d133d26b4f62c60721149fe36c315334f47812450187d6ea59cffdf" dependencies = [ "cc", "tree-sitter-language", @@ -975,9 +1136,9 @@ dependencies = [ [[package]] name = "tree-sitter-proto" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fa4bcb3d87081d2d2741f80425f534d9892e4bd5362037d64357a823391119" +checksum = "2e410ccb5fa3cbd6bf7b8e512ecf7ad9d5254395b822bfe9f751b50fa978f31c" dependencies = [ "cc", "tree-sitter-language", @@ -1141,6 +1302,15 @@ version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "winapi-util" version = "0.1.11" @@ -1164,3 +1334,9 @@ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" diff --git a/pkgs/by-name/bonfire/extensions/social/bonfire_editor_milkdown/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/social/bonfire_editor_milkdown/yarnOfflineCache.hash new file mode 100644 index 000000000..08e2a34d2 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/social/bonfire_editor_milkdown/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-u+8td3ZsrUxfprirdc4qrNXofdCkH2w41HtXMESkiPg= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/bonfire_geolocate/social/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/social/bonfire_geolocate/yarnOfflineCache.hash similarity index 100% rename from pkgs/by-name/bonfire/deps/bonfire_geolocate/social/yarnOfflineCache.hash rename to pkgs/by-name/bonfire/extensions/social/bonfire_geolocate/yarnOfflineCache.hash diff --git a/pkgs/by-name/bonfire/deps/bonfire_ui_common/social/missingHashes.json b/pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/missingHashes.json similarity index 100% rename from pkgs/by-name/bonfire/deps/bonfire_ui_common/social/missingHashes.json rename to pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/missingHashes.json diff --git a/pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/yarnBerryOfflineCache.hash b/pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/yarnBerryOfflineCache.hash new file mode 100644 index 000000000..56abc4b20 --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/social/bonfire_ui_common/yarnBerryOfflineCache.hash @@ -0,0 +1 @@ +sha256-XbZDLzvQFAj3fRH5ViWYNwQR08TZjdYQ9e3pmGWsgjw= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/extensions/social/deps.nix b/pkgs/by-name/bonfire/extensions/social/deps.nix index 50742913c..eaec840f1 100644 --- a/pkgs/by-name/bonfire/extensions/social/deps.nix +++ b/pkgs/by-name/bonfire/extensions/social/deps.nix @@ -1,9 +1,15 @@ { - pkgs, lib, beamPackages, + cmake, + extend, + lexbor, + fetchFromGitHub, overrides ? (x: y: { }), overrideFenixOverlay ? null, + pkg-config, + vips, + writeText, }: let @@ -12,7 +18,7 @@ let workarounds = { portCompiler = _unusedArgs: old: { - buildPlugins = [ pkgs.beamPackages.pc ]; + buildPlugins = [ beamPackages.pc ]; }; rustlerPrecompiled = @@ -22,13 +28,13 @@ let }: old: let - extendedPkgs = pkgs.extend fenixOverlay; + extendedPkgs = extend fenixOverlay; fenixOverlay = if overrideFenixOverlay == null then import "${ fetchTarball { - url = "https://github.com/nix-community/fenix/archive/056c9393c821a4df356df6ce7f14c722dc8717ec.tar.gz"; - sha256 = "sha256:1cdfh6nj81gjmn689snigidyq7w98gd8hkl5rvhly6xj7vyppmnd"; + url = "https://github.com/nix-community/fenix/archive/6399553b7a300c77e7f07342904eb696a5b6bf9d.tar.gz"; + sha256 = "sha256-C6tT7K1Lx6VsYw1BY5S3OavtapUvEnDQtmQB5DSgbCc="; } }/overlay.nix" else @@ -118,7 +124,7 @@ let ''; preBuild = '' - install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${pkgs.lexbor}/lib/liblexbor_static.a + install -Dm644 -t _build/c/third_party/lexbor/$LEXBOR_GIT_SHA/build ${lexbor}/lib/liblexbor_static.a ''; }; }; @@ -137,8 +143,8 @@ let { name = "rustlerPrecompiled"; toolchain = { - name = "nightly-2024-11-01"; - sha256 = "sha256-wq7bZ1/IlmmLkSa3GUJgK17dTWcKyf5A+ndS9yRwB88="; + name = "nightly-2025-06-23"; + sha256 = "sha256-UAoZcxg3iWtS+2n8TFNfANFt/GmkuOMDf7QAE0fRxeA="; }; } ]; @@ -203,7 +209,7 @@ let name = "absinthe_client"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "absinthe_client"; rev = "ceeb7c3bb8ac5348c399653a06eaaee3bbd47d8f"; @@ -247,7 +253,7 @@ let absinthe_phoenix = let - version = "2.0.3"; + version = "2.0.4"; drv = buildMix { inherit version; name = "absinthe_phoenix"; @@ -256,7 +262,7 @@ let src = fetchHex { inherit version; pkg = "absinthe_phoenix"; - sha256 = "caffaea03c17ea7419fe07e4bc04c2399c47f0d8736900623dbf4749a826fd2c"; + sha256 = "66617ee63b725256ca16264364148b10b19e2ecb177488cd6353584f2e6c1cf3"; }; beamDeps = [ @@ -317,7 +323,7 @@ let acceptor_pool = let - version = "1.0.0"; + version = "1.0.1"; drv = buildRebar3 { inherit version; name = "acceptor_pool"; @@ -325,7 +331,7 @@ let src = fetchHex { inherit version; pkg = "acceptor_pool"; - sha256 = "0cbcd83fdc8b9ad2eee2067ef8b91a14858a5883cb7cd800e6fcd5803e158788"; + sha256 = "f172f3d74513e8edd445c257d596fc84dbdd56d2c6fa287434269648ae5a421e"; }; }; in @@ -356,11 +362,11 @@ let name = "activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "activity_pub"; - rev = "27ac328376d396afdb1e7916a388db1a004994f7"; - hash = "sha256-DT5h5UzIRXFnAdsums4yXnUIS01aundsP3ySvLLKUGI="; + rev = "9d4225455501a0c4c7fa7c9ef210f0763314aaa5"; + hash = "sha256-9jtjjjAXGSI2KH8xdnuHgqaaq7x16ZAnmZEzmzG9KEs="; }; beamDeps = [ @@ -386,6 +392,7 @@ let needle_uid arrows untangle + ex_confusables ]; }; in @@ -455,7 +462,7 @@ let autumn = let - version = "0.5.7"; + version = "0.6.0"; drv = buildMix { inherit version; name = "autumn"; @@ -464,7 +471,7 @@ let src = fetchHex { inherit version; pkg = "autumn"; - sha256 = "d272bfddeeea863420a8eb994d42af219ca5391191dd765bf045fbacf56a28d1"; + sha256 = "d9f7bad90b462e2e3ae3ce3a6d0dcd128230fec2a276cba0af18ce26165b54ce"; }; beamDeps = [ @@ -593,7 +600,7 @@ let bamboo_ses = let - version = "0.4.6"; + version = "0.4.7"; drv = buildMix { inherit version; name = "bamboo_ses"; @@ -602,7 +609,7 @@ let src = fetchHex { inherit version; pkg = "bamboo_ses"; - sha256 = "9b81498cc0b05bc3caaf36a9b161ddc61124ab294e8f9057b9790b14a9683bf2"; + sha256 = "dadfec5b2dadc92957771d57241c8ffff3dd76031160eea0732ab8831c90f9c0"; }; beamDeps = [ @@ -660,7 +667,7 @@ let bandit = let - version = "1.10.0"; + version = "1.10.3"; drv = buildMix { inherit version; name = "bandit"; @@ -669,7 +676,7 @@ let src = fetchHex { inherit version; pkg = "bandit"; - sha256 = "43ebceb7060a4d8273e47d83e703d01b112198624ba0826980caa3f5091243c4"; + sha256 = "99a52d909c48db65ca598e1962797659e3c0f1d06e825a50c3d75b74a5e2db18"; }; beamDeps = [ @@ -774,11 +781,11 @@ let name = "bonfire_api_graphql"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_api_graphql"; - rev = "dc60e7742a27f632e98107de8b8eab27c22e21ef"; - hash = "sha256-zKnv69mXy42YgBHevTbVtuExk0njxiyTFJBcNJVHBKE="; + rev = "f9b1a0a8211929881a4528127d20f7e91d4faee5"; + hash = "sha256-Q+EwwX+aVgecDr4L3wFX8q6RPVwT6bkU73T6rQQvGrU="; }; beamDeps = [ @@ -808,11 +815,11 @@ let name = "bonfire_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_boundaries"; - rev = "151f043f17e084a18e19724356c5abdc775e066c"; - hash = "sha256-BZ9MsaFD+i4D8Amblgy0FzacwJM5Ts8q9FpjAjvD2vs="; + rev = "0110138b286b858f3d78116c709c5ac39a69801b"; + hash = "sha256-hYqt9VlR9F4Oc+nHV/tuR0D+5DNRw0zqDjfBjeyZuWY="; }; beamDeps = [ @@ -822,7 +829,6 @@ let faker jason scribe - needle ecto_vista igniter absinthe @@ -840,11 +846,11 @@ let name = "bonfire_classify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_classify"; - rev = "2e64a5d516d1ea2945f5c3cc3dc572e4fd0bfd04"; - hash = "sha256-c2CHBZYLecC8VEJiZwW9aq2xf9dElgcI8yaCVSAc1Mc="; + rev = "49d90c72b0ab9a3410b65f0f84717ad585692a15"; + hash = "sha256-P6PBiaVfksyqDglCE/efEg4FNsoIFYF/U9jZ7uVO784="; }; beamDeps = [ @@ -854,7 +860,6 @@ let jason telemetry_metrics telemetry_poller - needle absinthe bonfire_api_graphql bonfire_search @@ -872,11 +877,11 @@ let name = "bonfire_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_common"; - rev = "40c8fcb152da35a9ddda73863f2f26ecd9aec86c"; - hash = "sha256-KhRyou7oCaTSya4NRKJAi+dfeQgsmrx0wvhuNK9IbdE="; + rev = "552fd8dc5f7ade5245ecb600098064059e640011"; + hash = "sha256-c0ozKNvINLa0nAaKyHh8MFDLwMp2v36yWcRXNTxfjDs="; }; beamDeps = [ @@ -884,12 +889,11 @@ let paginator ecto_shorts exkismet - needle_uid - needle arrows untangle ecto_sparkles ecto_sql + needle needle_ulid postgrex ex_cldr @@ -942,11 +946,11 @@ let name = "bonfire_data_access_control"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_access_control"; - rev = "9994601d8256aaf3cd35aabdeded94f2366b84ea"; - hash = "sha256-z1cLKd8zZxmaPaVzH4UsWpZ4VmXYvzxMwOuvWyga/fc="; + rev = "12a5b4a9b8a173384ae04b79e19930ed6ce45710"; + hash = "sha256-0xlmoMMKHmE2JN2EPWyHszn3T6eSB6cL3hyVQkIl6uY="; }; beamDeps = [ @@ -964,11 +968,11 @@ let name = "bonfire_data_activity_pub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_activity_pub"; - rev = "3cf9cc7db3fc229c6949ee3fb415aa5524633daa"; - hash = "sha256-PS9w5D1kY95S1WVSJi+JDfrQc6txW1Xd0ud9KgWyzfU="; + rev = "036c263305560fc7eae88942422b373d18d37e3f"; + hash = "sha256-k31nGnBsNJKb/LMHGGTtgkfgG5RtS/p3AbCttZvJfDs="; }; beamDeps = [ @@ -987,7 +991,7 @@ let name = "bonfire_data_assort"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_assort"; rev = "e3457b7048eb659c226a89142edaeb19f31fcb25"; @@ -1010,7 +1014,7 @@ let name = "bonfire_data_edges"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_edges"; rev = "bb581f89e1a03cd3a74766676c3eebb2d56cee58"; @@ -1032,11 +1036,11 @@ let name = "bonfire_data_identity"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_identity"; - rev = "7669b0ae06b208b5ec3a57df326dddb67ef1f235"; - hash = "sha256-86QyFJnl2IiUohQjvsphx26seCr8JAqEANLkIMJVLzg="; + rev = "36aa64242c394b4be0d723ecd7f316a15b1f7153"; + hash = "sha256-qz4yR5U8laM9fHhEPvAaHDRWFr7XMx/jnE4dI31Ut9g="; }; beamDeps = [ @@ -1058,7 +1062,7 @@ let name = "bonfire_data_shared_user"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_shared_user"; rev = "dafbbe2ea65bb55599d774ef0f8a375179ac81b0"; @@ -1081,11 +1085,11 @@ let name = "bonfire_data_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_data_social"; - rev = "28ecca1f105d9e7c4ef27e2f37e932688e9d093d"; - hash = "sha256-nN4BPk9GDtH6fuOw9tYoI6wxpJ1QqiijWY8sEGwOkqw="; + rev = "c5519acf075fba09d5b346d4fbcf37a84490e280"; + hash = "sha256-+KLdFX8eCYroMErTR4deMRIF0uee2uJxx4lvrXbBrEc="; }; beamDeps = [ @@ -1109,7 +1113,7 @@ let name = "bonfire_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ecto"; rev = "fd567fd674b286400d457415698f089027118751"; @@ -1132,18 +1136,17 @@ let name = "bonfire_editor_milkdown"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_editor_milkdown"; - rev = "997efdd3117c5226e46f5fbdcda061d83d65ac29"; - hash = "sha256-dkUj3V2HrArP+C9eqAHZVJAcsVQ4M1hIKGzsfdjhX+0="; + rev = "4538ae4299c9230d4a1ea7471f6f950b85e9e44c"; + hash = "sha256-kS/C15pY+7h7LPL1CquB5rCXjTknpasgLByWcBrM3p0="; }; beamDeps = [ bonfire_common bonfire_ui_common surface - untangle ]; }; in @@ -1157,7 +1160,7 @@ let name = "bonfire_epics"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_epics"; rev = "365fc195158b33d19aa386ceb7d0b1e25237049a"; @@ -1181,16 +1184,15 @@ let name = "bonfire_fail"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_fail"; - rev = "80282fcdad3bdf8b4cdce347bc344aa5776c697d"; - hash = "sha256-/vWb6RP3l1oR5AM+mzvEFhgHgj81uBRGSIHJbjNvU44="; + rev = "aafe63500650901a8cddae8dd719bbd8853b57c4"; + hash = "sha256-DjcQoISAaYo3dws0FiZFy1puWlXeILJH0epqy1f7Gzs="; }; beamDeps = [ bonfire_common - untangle ]; }; in @@ -1204,11 +1206,11 @@ let name = "bonfire_federate_activitypub"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_federate_activitypub"; - rev = "303a306ffe4ceff179ca2704d8fb40c8096bbe73"; - hash = "sha256-8lg7CKmQ0SZh0LNvCo0OdWtvdmXbMllP2Sb/2QS05oM="; + rev = "71350787dfbdcb9df188c364819ba30d8f0d8c3d"; + hash = "sha256-EXv0Uibfd8mpWG51BXROinYqpgrOqKNikyo8iz6CtbA="; }; beamDeps = [ @@ -1223,8 +1225,6 @@ let telemetry_metrics telemetry_poller oban - untangle - needle bonfire_boundaries ]; }; @@ -1239,11 +1239,11 @@ let name = "bonfire_files"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_files"; - rev = "8d87719850fa810b478e4ce41a6f619c91673407"; - hash = "sha256-KWL2pWsq81SQg0b83ANyl5p+Avoa8yY/zCpa0xSEhAI="; + rev = "a576c540cdc7057c1230ea39b814a04dbaedb578"; + hash = "sha256-39r0zzR4wLj0aTHWAUDTwovWzB588hCYvMsWE09j2ho="; }; beamDeps = [ @@ -1259,11 +1259,11 @@ let mogrify hackney sweet_xml - untangle - needle sizeable faviconic bonfire_api_graphql + image + evision ex_aws_s3 blurhash ]; @@ -1279,11 +1279,11 @@ let name = "bonfire_geolocate"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_geolocate"; - rev = "a3a379f05d46a69617a3f9461a11312b7bc6bf26"; - hash = "sha256-NUEOiHWtZPEBrROLashbP0xNoHqtYl5udCj6LIdmOUc="; + rev = "c80090b1d708dbdb38af0de9fb19387f17c34ef8"; + hash = "sha256-yNBqBbXk24EPkWM1Dn3cfoD+CVTGDkJFuiRwX3CyP7U="; }; beamDeps = [ @@ -1296,8 +1296,6 @@ let geocoder geo_postgis astro - untangle - needle tz_world absinthe bonfire_api_graphql @@ -1315,11 +1313,11 @@ let name = "bonfire_invite_links"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_invite_links"; - rev = "78456f3007b8508025a21f5937e7cbeeb15123d7"; - hash = "sha256-5GA7aPgjCAMYo0scnjIrYYJ3c3IK959j3EXYDi2Re5k="; + rev = "8f8a1a0ea989b63133bb405c1b2d7e35e25c0e4f"; + hash = "sha256-bsQbcE0ZEuambAwdFa12ha7hNswwzM5tCCuss+cVpsY="; }; beamDeps = [ @@ -1327,8 +1325,6 @@ let bonfire_ui_common faker jason - untangle - needle ]; }; in @@ -1342,7 +1338,7 @@ let name = "bonfire_mailer"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_mailer"; rev = "a056c38298ac6cbc8c76d7a1e3b44e1ae4d925c3"; @@ -1381,11 +1377,11 @@ let name = "bonfire_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_me"; - rev = "619855fe0d08e58b0dad5fccdd48e60d00a8534e"; - hash = "sha256-KcZ6d3/77Gk8G3beTEXzXZoEJnTxM1ShNwM7jtUqzj4="; + rev = "a54ab60b5edd5e8e9f9a5bb85c72f78a9dd77756"; + hash = "sha256-qopbMZv7NQQttFOYVk4Ol5CaA2ujG26gpXyWvdzvLSU="; }; beamDeps = [ @@ -1397,15 +1393,11 @@ let bonfire_data_identity bonfire_data_social bonfire_boundaries - needle_ulid faker telemetry telemetry_metrics telemetry_poller floki - untangle - needle - arrows bonfire_data_shared_user bonfire_api_graphql bonfire_files @@ -1424,11 +1416,11 @@ let name = "bonfire_messages"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_messages"; - rev = "ab4eb86dcf40d55229b0c4ed7f8cfe236a23deb3"; - hash = "sha256-ReJoXIqlUgiyjuypNgQ+GY4DZRjOZtbpaI6PTPjKmtA="; + rev = "8eca3cc16b929f7774982ce2106c7979f9c1c6d2"; + hash = "sha256-wz3qnMxopwmoVEc3cvDVyZH70Fc3A+ecWzQBZDLCh7A="; }; beamDeps = [ @@ -1439,11 +1431,7 @@ let bonfire_data_social verbs faker - exto jason - untangle - needle - arrows bonfire_me bonfire_api_graphql absinthe @@ -1460,11 +1448,11 @@ let name = "bonfire_notify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_notify"; - rev = "fd4aae794c2e55d89230081f834a401f298ee6eb"; - hash = "sha256-RIOXeeSWQyRerRzyfPo7rObkvwx2N/5aCn9xF9OA5Oc="; + rev = "2d7e77dbcce279eb6e252bda1c12dbf07915fd54"; + hash = "sha256-KGuUCm6ci39lEsE64soGb/cxqVtwgyinHZKPuII6ZPQ="; }; beamDeps = [ @@ -1474,7 +1462,6 @@ let bonfire_me ecto_sql faker - exto gettext jason postgrex @@ -1495,11 +1482,11 @@ let name = "bonfire_open_id"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_open_id"; - rev = "0600d8999cab2d9da1620252b29096385d791e7d"; - hash = "sha256-VQaAoCPWjdQ0DRtYR3tOr/8kjbK672t1hJz2zcdsyYs="; + rev = "d093e45723dadfd4cd52447d67ae04cc0ea1061e"; + hash = "sha256-9n/ryHCahqxM40fYgAqlHLfW2omdF9oH3rjvuS0Psso="; }; beamDeps = [ @@ -1510,7 +1497,6 @@ let jason boruta openid_connect - untangle plug_crypto ]; }; @@ -1525,11 +1511,11 @@ let name = "bonfire_poll"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_poll"; - rev = "c1f1325ff530544182b8f18cb5085ba38ed84569"; - hash = "sha256-W4zQOZIA1qkpoJrPt5oqE+H5eGjG+AD3ZxMIvBktMUE="; + rev = "3c278dd6b9ba61aa060b2b0f9255ce1188f281fd"; + hash = "sha256-x9lamOOVSqhfaNsCynI2WMtYbbPfTL3YBIz/047xYhc="; }; beamDeps = [ @@ -1540,8 +1526,6 @@ let bonfire_boundaries faker jason - untangle - needle bonfire_api_graphql ]; }; @@ -1556,11 +1540,11 @@ let name = "bonfire_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_posts"; - rev = "cec2cfa197104381994d939d1b840f6575de86a9"; - hash = "sha256-Ap2VP45y+0Tg4UBZPB7L+jTPz7/YX5otSgOtOAgspA4="; + rev = "aaf72809110e7905adf686994b33338c836fea11"; + hash = "sha256-24SdzRl6/ldKfJjR3N7U1u42/XuOaLWGbPtofDysqzY="; }; beamDeps = [ @@ -1571,11 +1555,7 @@ let bonfire_data_social verbs faker - exto jason - untangle - needle - arrows bonfire_me bonfire_api_graphql absinthe @@ -1592,11 +1572,11 @@ let name = "bonfire_search"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_search"; - rev = "db01050deb6e2c8327abf6aae6261f251fdecc65"; - hash = "sha256-3BFzYZ5UTRQQUTkcGy0VurES6klC6Z98Rt/c+2NRSP8="; + rev = "b504eeb1ec2f310f54a1138629bd059b2ca0c9c5"; + hash = "sha256-Boi/apoBkLJShHjgL9fhsZIer71EDfpQ9eGcRQRlidI="; }; beamDeps = [ @@ -1626,11 +1606,11 @@ let name = "bonfire_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social"; - rev = "eefc35323d8c47d483499c7ad8a6155d626aefd4"; - hash = "sha256-Q5fxZEho290g7PYrM0l1FZqx+o2w+1TwNRS3iwsFKO4="; + rev = "e11dc455f400eb63f042a6eac0fc57900aa6f032"; + hash = "sha256-Vkm+ErRKQuv2UgJgsa8jV6Gmc7E9VVZWoFi2o6s83+4="; }; beamDeps = [ @@ -1642,11 +1622,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows uniq lazy_html typed_ecto_schema @@ -1668,11 +1644,11 @@ let name = "bonfire_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_social_graph"; - rev = "9f1e0931bb4f5f60a6075aa15d8264f52e631748"; - hash = "sha256-SiIcEgOcfSImcqZE3dShPGbYUJWQS4xDS1+M0cupSM8="; + rev = "d8ef6eeab4f94ea19b567ccf6836f06766b778e2"; + hash = "sha256-IlEo5n+x4f/7pawQ0ouqR/uetn56EDIjIBhC5YM2bT0="; }; beamDeps = [ @@ -1684,11 +1660,7 @@ let verbs nimble_csv faker - exto jason - untangle - needle - arrows boltx bonfire_me bonfire_api_graphql @@ -1706,11 +1678,11 @@ let name = "bonfire_tag"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_tag"; - rev = "ea6013e4860ad99b15297e6c25a017e1df21383e"; - hash = "sha256-Gqyorbu+bsJlgEIH02vH2byUztoXMKyyyhPLy0Vdolc="; + rev = "9b5e9adee00c034ff322c39df285f8cd022af7fa"; + hash = "sha256-CWAC2+9FjTBV7Y+rh5QmHR4sMuVhtJYy6q40awP0TbA="; }; beamDeps = [ @@ -1723,9 +1695,6 @@ let telemetry_metrics telemetry_poller html_entities - untangle - needle - arrows absinthe bonfire_api_graphql ]; @@ -1741,11 +1710,11 @@ let name = "bonfire_ui_boundaries"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_boundaries"; - rev = "cef727db1ff6d404333a36b1387bb735c4de95b5"; - hash = "sha256-b1evzYjhkI7j7k7x9PQTUZRv4XPTbB7oyfuJnBFSaRw="; + rev = "ffc4268abd8e73a7eccaf48a176c13101d0435ae"; + hash = "sha256-NisAYdn8D87pAzg45uCBo5yPrSrnBhOKB+fvWCKveUk="; }; beamDeps = [ @@ -1754,8 +1723,6 @@ let bonfire_ui_common faker jason - untangle - needle ]; }; in @@ -1769,11 +1736,11 @@ let name = "bonfire_ui_common"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_common"; - rev = "ee63255b1f8bd46a22ad777965ca8b34656f70d6"; - hash = "sha256-fuFEywcnnnNBCakxfZM5H9D79oua/HOlUIhlL9ZIUgI="; + rev = "e08304fb0f3fa4d1bae81b035da0767ce096ed38"; + hash = "sha256-IjpobM/1F4yRSHi8OzFD7x/do2t184dtPsaxx3Jc3wY="; }; beamDeps = [ @@ -1781,8 +1748,6 @@ let phoenix_gon bonfire_fail iconify_ex - arrows - untangle jason surface surface_form_helpers @@ -1825,11 +1790,11 @@ let name = "bonfire_ui_me"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_me"; - rev = "bd1daa89b776d59e785898c92081be5e9a5655cd"; - hash = "sha256-Yzx2k97k+wXIrz8QSaJtJbPuh90HxBX2QmLeJMpcFPY="; + rev = "697c36ec0c5799bb5636aefbb87bfc9d1175ace7"; + hash = "sha256-b1IPY/wGzyHBoSeLeTgyqm8kHmFZRiCukJEqE7zo78M="; }; beamDeps = [ @@ -1849,9 +1814,6 @@ let surface phoenix_live_view phoenix - untangle - needle - arrows ]; }; in @@ -1865,11 +1827,11 @@ let name = "bonfire_ui_messages"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_messages"; - rev = "33809925108ec85b7fd0317cf6c6dcab09d6cab6"; - hash = "sha256-O2CeVvGGq0ziGR6AtOq67SQm0lst76ZasHnD83A4dwQ="; + rev = "0b54af39248eade43651c75b4ff350e9b7594a86"; + hash = "sha256-z8+aPVTiGNIslLpZM6CeOC9e2pwT5fHlKFAn32ZihSo="; }; beamDeps = [ @@ -1883,8 +1845,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1899,11 +1859,11 @@ let name = "bonfire_ui_moderation"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_moderation"; - rev = "ca39af91e466c9399b20e5d2256ed457501dc914"; - hash = "sha256-/VU6aGLvz3HOc6RHGSakpOLeSIR1cydOS8LeO9O1cx4="; + rev = "0d4de56a8224eadb8d446070e33193a6977894bc"; + hash = "sha256-RJpt+zzRMS3FsZohBmRh6yL60gLTWnrgPkGUCHrg9sk="; }; beamDeps = [ @@ -1916,8 +1876,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1932,11 +1890,11 @@ let name = "bonfire_ui_posts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_posts"; - rev = "89f6e22315ff9c815e0d9dd408aee5dba5cc2ec6"; - hash = "sha256-6o5ZyCfzexkKZb79xSSwlB2v1G8e+lD+qU7PJd2sKAw="; + rev = "ca4c8e69c0afcc7420cec6396c28032032fd0c21"; + hash = "sha256-VMEF23uBNVqfZ18mW+jHcLNDBr0YlX4r+bUxY398+k4="; }; beamDeps = [ @@ -1949,8 +1907,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -1965,11 +1921,11 @@ let name = "bonfire_ui_reactions"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_reactions"; - rev = "5fe5549d45b4363aa827f036922592198587cc70"; - hash = "sha256-1KCsulgA5eML7wASjBY6fHvmwbsh42sB7T8nZvQmolI="; + rev = "35c4ffacf1ae6caad42ee5d380d623b3d2160e24"; + hash = "sha256-eprlvDVihYmvHedJ9mqUH15uBW080kuIqTgnPNTidxQ="; }; beamDeps = [ @@ -1983,8 +1939,6 @@ let recase exdiff surface - untangle - arrows bonfire_tag ]; }; @@ -1999,11 +1953,11 @@ let name = "bonfire_ui_social"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social"; - rev = "c0309c59c5e8cf0ea5bbd9f1810c9c0264a56943"; - hash = "sha256-5nK5I56TkRbyvjtNKF+PeGI2SK7fKF+achbaBCKnUkI="; + rev = "3613c14b2cab1b90db943dff62720194dea7031f"; + hash = "sha256-7t7/ZinP0PG7OTzz7cCWhy4NbZtg9UmFz/pltoML2h8="; }; beamDeps = [ @@ -2017,8 +1971,6 @@ let recase exdiff surface - untangle - arrows floki bonfire_ui_me bonfire_tag @@ -2035,11 +1987,11 @@ let name = "bonfire_ui_social_graph"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "bonfire_ui_social_graph"; - rev = "5f803b189b1f646e6e5028fceecdcfbe4de01d15"; - hash = "sha256-+JiclgT24Ya4+6v0NITULDf9LQBX5+WHhSqJKTLJfUc="; + rev = "f26ac9a9d43442188bb1d4d86fa2e59fe07e97a5"; + hash = "sha256-SmzS0CZrAzPYjWzQJEhqjkyCSwsn4N9n1bbotzlc4H8="; }; beamDeps = [ @@ -2051,8 +2003,6 @@ let jason recase exdiff - untangle - arrows bonfire_tag ]; }; @@ -2283,6 +2233,23 @@ let in drv; + complex = + let + version = "0.6.0"; + drv = buildMix { + inherit version; + name = "complex"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "complex"; + sha256 = "0a5fa95580dcaf30fcd60fe1aaf24327c0fe401e98c24d892e172e79498269f9"; + }; + }; + in + drv; + cors_plug = let version = "3.0.3"; @@ -2442,7 +2409,7 @@ let db_connection = let - version = "2.8.1"; + version = "2.9.0"; drv = buildMix { inherit version; name = "db_connection"; @@ -2451,7 +2418,7 @@ let src = fetchHex { inherit version; pkg = "db_connection"; - sha256 = "a61a3d489b239d76f326e03b98794fb8e45168396c925ef25feb405ed09da8fd"; + sha256 = "17d502eacaf61829db98facf6f20808ed33da6ccf495354a41e64fe42f9c509c"; }; beamDeps = [ @@ -2514,17 +2481,17 @@ let deps_nix = let - version = "2.6.1"; + version = "2.6.2"; drv = buildMix { inherit version; name = "deps_nix"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "code-supply"; repo = "deps_nix"; - rev = "fa52c3f8d9050d62597543e84e1b3627d51f4e1e"; - hash = "sha256-V7RQ91vttNPBKzrsncHNwm5MEqi0lOR/69GS76IAlms="; + rev = "03cf8b9ab2f89f02c6d6ff26b335650cb56dd52f"; + hash = "sha256-gWK/hGZutWt6C4NLdQsuBWVDIiQvgp/EHfXmfPDfMR4="; }; beamDeps = [ @@ -2646,11 +2613,11 @@ let name = "ecto_materialized_path"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_materialized_path"; - rev = "5400b058d7ddd24379db3662c29b51d0cec82756"; - hash = "sha256-RSvgcL7X5Gvlej5axsl8WLltGHzaMcRfdiEPUlufcas="; + rev = "8497780e069511862109b3a1d34b090513bd37b9"; + hash = "sha256-kszDYDevW3Fl2iumY8FS7sD+gMGGHfJzU5Fr2kQb8n0="; }; beamDeps = [ @@ -2714,7 +2681,7 @@ let name = "ecto_shorts"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_shorts"; rev = "34ac78036b249aec833ae357f69195e46306f817"; @@ -2730,17 +2697,17 @@ let ecto_sparkles = let - version = "0.2.1"; + version = "0.3.0"; drv = buildMix { inherit version; name = "ecto_sparkles"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ecto_sparkles"; - rev = "542fa562aa6d03689ea4119896f5c20224dcd724"; - hash = "sha256-ETKbMd6y8Wa1XZq1EPDktN6rtMie/PKUIJKchxGNLmk="; + rev = "37dad3d1458067dcf9ff1bad9584487e6cde88ac"; + hash = "sha256-iwGPDg/0sN7BLWhrCgJvkr4O9zDyo54LKOQlRlCxtuY="; }; beamDeps = [ @@ -2758,7 +2725,7 @@ let ecto_sql = let - version = "3.13.2"; + version = "3.13.4"; drv = buildMix { inherit version; name = "ecto_sql"; @@ -2767,7 +2734,7 @@ let src = fetchHex { inherit version; pkg = "ecto_sql"; - sha256 = "539274ab0ecf1a0078a6a72ef3465629e4d6018a3028095dc90f60a19c371717"; + sha256 = "2b38cf0749ca4d1c5a8bcbff79bbe15446861ca12a61f9fba604486cb6b62a14"; }; beamDeps = [ @@ -2854,6 +2821,122 @@ let in drv; + ember = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "ember"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ember"; + rev = "815e48ad5ed7f0310287f98aff8a2fde16994f55"; + hash = "sha256-qDkVxXnpclxOjyVEo3xkT4XhQw1HceiT0vNvRzCSh3E="; + }; + + beamDeps = [ + bonfire_common + bonfire_ui_common + activity_pub + bonfire_mailer + bonfire_epics + bonfire_ecto + bonfire_data_assort + bonfire_boundaries + bonfire_ui_boundaries + bonfire_federate_activitypub + bonfire_data_access_control + bonfire_data_activity_pub + bonfire_data_identity + bonfire_data_social + bonfire_data_edges + bonfire_editor_milkdown + bonfire_me + bonfire_ui_me + bonfire_social + bonfire_social_graph + bonfire_posts + bonfire_ui_social + bonfire_ui_social_graph + bonfire_ui_posts + bonfire_ui_moderation + bonfire_tag + bonfire_classify + bonfire_notify + ecto_sparkles + needle + needle_uid + needle_ulid + ex_ulid + untangle + entrepot + entrepot_ecto + nodeinfo + paginator + voodoo + arrows + ex_cldr + surface + phoenix + phoenix_live_view + phoenix_view + plug_crypto + plug_cowboy + cowboy + bandit + orion + corsica + ecto + ecto_sql + postgrex + ecto_psql_extras + db_connection + ex_aws_s3 + ex_marcel + req + finch + httpoison + jason + poison + timex + solid + mime + oban + sourceror + owl + mogrify + cachex + sizeable + geo + recase + emote + uniq + rustler_precompiled + decimal + floki + faker + gettext + text + text_corpus_udhr + hackney + opentelemetry_process_propagator + opentelemetry_exporter + opentelemetry_semantic_conventions + telemetry_metrics + telemetry + telemetry_poller + sentry + oban_web + absinthe + bonfire_api_graphql + absinthe_client + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + emote = let version = "0.1.1"; @@ -2883,7 +2966,7 @@ let name = "entrepot"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot"; rev = "c75704d8b4b76dbd2277b52822fa77ec8dc207aa"; @@ -2906,7 +2989,7 @@ let name = "entrepot_ecto"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "entrepot_ecto"; rev = "5ea4af9af6b648e2cf58a2ceb2eb8e9c36c2b226"; @@ -2955,6 +3038,29 @@ let in drv; + evision = + let + version = "0.2.14"; + drv = buildMix { + inherit version; + name = "evision"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "evision"; + sha256 = "630714395f2c242e488944b4c9c75a5de96cbb95d3cbb69f0525bdb3e0a88775"; + }; + + beamDeps = [ + castore + elixir_make + nx + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + ex2ms = let version = "1.7.0"; @@ -2974,7 +3080,7 @@ let ex_aws = let - version = "2.6.0"; + version = "2.6.1"; drv = buildMix { inherit version; name = "ex_aws"; @@ -2983,7 +3089,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws"; - sha256 = "30729ee9cbaacda674a4e4260d74206fa89bcd712267c4eaf42a0fc34592c0b3"; + sha256 = "67842a08c90a1d9a09dbe4ac05754175c7ca253abe4912987c759395d4bd9d26"; }; beamDeps = [ @@ -3000,7 +3106,7 @@ let ex_aws_s3 = let - version = "2.5.8"; + version = "2.5.9"; drv = buildMix { inherit version; name = "ex_aws_s3"; @@ -3009,7 +3115,7 @@ let src = fetchHex { inherit version; pkg = "ex_aws_s3"; - sha256 = "84e512ca2e0ae6a6c497036dff06d4493ffb422cfe476acc811d7c337c16691c"; + sha256 = "a480d2bb2da64610014021629800e1e9457ca5e4a62f6775bffd963360c2bf90"; }; beamDeps = [ @@ -3068,7 +3174,7 @@ let ex_cldr_calendars = let - version = "2.4.0"; + version = "2.4.1"; drv = buildMix { inherit version; name = "ex_cldr_calendars"; @@ -3077,7 +3183,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_calendars"; - sha256 = "bd89cc96124120fe94d3d1ca069afcfcb3c0e874514493f5ed541211511d55fb"; + sha256 = "e29b2b186ce2832cc0da1574944cf206dd221da13b3da98c80da62d6ab71b343"; }; beamDeps = [ @@ -3115,7 +3221,7 @@ let ex_cldr_dates_times = let - version = "2.25.1"; + version = "2.25.3"; drv = buildMix { inherit version; name = "ex_cldr_dates_times"; @@ -3124,7 +3230,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_dates_times"; - sha256 = "b41fc2dcd22b2671345e8cefcfad403c62453241bccb86bbdada3da5c1aee97b"; + sha256 = "e44a45f6acbba600f1c99fd9e6e8345ff462953760ff42422bc16092a1d34e8d"; }; beamDeps = [ @@ -3207,7 +3313,7 @@ let ex_cldr_numbers = let - version = "2.36.0"; + version = "2.37.0"; drv = buildMix { inherit version; name = "ex_cldr_numbers"; @@ -3216,7 +3322,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_numbers"; - sha256 = "17640b8daf2580a0a11317a720a26079e774d4c36f939d82f4e9f7075269897d"; + sha256 = "adc011aad34ab545e1d53ae248891479efcd25ba51f662822ec7c5083d0122f8"; }; beamDeps = [ @@ -3303,7 +3409,7 @@ let ex_cldr_units = let - version = "3.20.0"; + version = "3.20.1"; drv = buildMix { inherit version; name = "ex_cldr_units"; @@ -3312,7 +3418,7 @@ let src = fetchHex { inherit version; pkg = "ex_cldr_units"; - sha256 = "eb93f99005f8d3f1b1b12c85a45323937350e11d3e79f8375ab51e2ff44392f2"; + sha256 = "879af22563b06570f16c28bed3decaadc0c1233906f4516b2d5d28e2bbbadee0"; }; beamDeps = [ @@ -3326,6 +3432,24 @@ let in drv; + ex_confusables = + let + version = "0.1.1"; + drv = buildMix { + inherit version; + name = "ex_confusables"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "ex_confusables"; + rev = "72826ede5b66ca0a1d1cdeb0c55085061a928ccb"; + hash = "sha256-K57eAhRSwH/FNWNusikrGwGm3DZpdPoCC2d71xzap8g="; + }; + }; + in + drv; + ex_doc = let version = "0.38.4"; @@ -3369,7 +3493,7 @@ let ex_json_schema = let - version = "0.11.1"; + version = "0.11.2"; drv = buildMix { inherit version; name = "ex_json_schema"; @@ -3378,7 +3502,7 @@ let src = fetchHex { inherit version; pkg = "ex_json_schema"; - sha256 = "32d651a575a6ce2fd613f140b0fef8dd0acc7cf8e8bcd29a3a1be5c945700dd5"; + sha256 = "395f4aaf32ea0a14d861b16695e7bc8a1b5d841e0fd374d25aef9701bf8da825"; }; beamDeps = [ @@ -3454,7 +3578,7 @@ let name = "ex_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "ex_ulid"; rev = "b07e0410b9d683385de081cfd5af0e3225b270f9"; @@ -3489,7 +3613,7 @@ let name = "exkismet"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "tcitworld"; repo = "exkismet"; rev = "68830454608d315f69d5fe1061ac1bf31c1a856e"; @@ -3566,7 +3690,7 @@ let fast_ngram = let - version = "1.2.0"; + version = "1.2.2"; drv = buildMix { inherit version; name = "fast_ngram"; @@ -3575,7 +3699,7 @@ let src = fetchHex { inherit version; pkg = "fast_ngram"; - sha256 = "90c949c5b00314d8117a5bf2fbf6a05ef945ce4cad66a47bc26f8d9ec30dc1bd"; + sha256 = "68b1be5be2564c77236acb0ef35b3b2343da3d47fed274a429389a8efc83021f"; }; }; in @@ -3644,7 +3768,7 @@ let finch = let - version = "0.20.0"; + version = "0.21.0"; drv = buildMix { inherit version; name = "finch"; @@ -3653,7 +3777,7 @@ let src = fetchHex { inherit version; pkg = "finch"; - sha256 = "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"; + sha256 = "87dc6e169794cb2570f75841a19da99cfde834249568f2a5b121b809588a4377"; }; beamDeps = [ @@ -3730,11 +3854,11 @@ let name = "forecastr"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "forecastr"; - rev = "96b97b3acac6b7b9185bcca9e1b69cf9256673ca"; - hash = "sha256-miMkI2DXBcAFtVsAGXTybuxUypuZE+ZD2vOHiJw+4qw="; + rev = "7d63ee684f5f559a24f41058c91d601996eb1f03"; + hash = "sha256-WFPIGge06w6OZqwR6UZZ4yozKLhYgxeO65TJs4FzB48="; }; beamDeps = [ @@ -4088,7 +4212,7 @@ let name = "http_signatures"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "http_signatures"; rev = "276839e90e8d2fb17d415502c6c5f0e3f744e88f"; @@ -4125,29 +4249,28 @@ let iconify_ex = let - version = "0.6.1"; + version = "0.7.2"; drv = buildMix { inherit version; name = "iconify_ex"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { - owner = "bonfire-networks"; - repo = "iconify_ex"; - rev = "7c299c21582f70bf1c16b0c0a53f0e3c56ef76a1"; - hash = "sha256-k2FEXRsRiMGhNWL2GtKFHWFVIIGouWgaIUwtTwfStug="; + src = fetchHex { + inherit version; + pkg = "iconify_ex"; + sha256 = "5efa322d905d27c988d7d6ba24af63862045e856e09b134c4ba083c5e235e552"; }; beamDeps = [ + arrows emote + floki jason - phoenix_live_view - surface phoenix_live_favicon + phoenix_live_view recase - arrows + surface untangle - floki ]; }; in @@ -4200,6 +4323,35 @@ let in drv; + image = + let + version = "0.62.1"; + drv = buildMix { + inherit version; + name = "image"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "image"; + sha256 = "5a5a7acaf68cfaed8932d478b95152cd7d84071442cac558c59f2d31427e91ab"; + }; + + beamDeps = [ + evision + jason + nx + phoenix_html + plug + req + rustler + sweet_xml + vix + ]; + }; + in + drv; + jason = let version = "1.4.4"; @@ -4301,13 +4453,13 @@ let lazy_html = let - version = "0.1.8"; + version = "0.1.10"; drv = buildMix { inherit version; name = "lazy_html"; appConfigPath = ./config; - nativeBuildInputs = with pkgs; [ + nativeBuildInputs = [ cmake lexbor ]; @@ -4315,7 +4467,7 @@ let src = fetchHex { inherit version; pkg = "lazy_html"; - sha256 = "0d8167d930b704feb94b41414ca7f5779dff9bca7fcf619fcef18de138f08736"; + sha256 = "50f67e5faa09d45a99c1ddf3fac004f051997877dc8974c5797bb5ccd8e27058"; }; beamDeps = [ @@ -4335,7 +4487,7 @@ let name = "linkify"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "linkify"; rev = "a8c14b67616e63326f901b25f80147a9dbaffd6b"; @@ -4481,7 +4633,7 @@ let makeup_erlang = let - version = "1.0.2"; + version = "1.0.3"; drv = buildMix { inherit version; name = "makeup_erlang"; @@ -4490,7 +4642,7 @@ let src = fetchHex { inherit version; pkg = "makeup_erlang"; - sha256 = "af33ff7ef368d5893e4a267933e7744e46ce3cf1f61e2dccf53a111ed3aa3727"; + sha256 = "953297c02582a33411ac6208f2c6e55f0e870df7f80da724ed613f10e6706afd"; }; beamDeps = [ @@ -4764,7 +4916,7 @@ let mjml = let - version = "5.2.0"; + version = "5.3.0"; drv = buildMix { inherit version; name = "mjml"; @@ -4773,7 +4925,7 @@ let src = fetchHex { inherit version; pkg = "mjml"; - sha256 = "bf39d2e0041f1f08afd07694239be39a8c173b00649e3463c2bd959473092c2a"; + sha256 = "58b90a298366daac55314ecd9531711ac16516e1d4b943a24d4b9d1f57e43918"; }; beamDeps = [ @@ -4819,7 +4971,7 @@ let mua = let - version = "0.2.5"; + version = "0.2.6"; drv = buildMix { inherit version; name = "mua"; @@ -4828,7 +4980,7 @@ let src = fetchHex { inherit version; pkg = "mua"; - sha256 = "0e2b18024d0db8943a68e84fb5e2253d3225c8f61d8387cbfc581d66e34d8493"; + sha256 = "c8bd1417dc18208eed3a3e0f1b847930e7b649e3e71165d2934f3b1ba62b3c18"; }; beamDeps = [ @@ -4840,7 +4992,7 @@ let nebulex = let - version = "2.6.5"; + version = "2.6.6"; drv = buildMix { inherit version; name = "nebulex"; @@ -4849,7 +5001,7 @@ let src = fetchHex { inherit version; pkg = "nebulex"; - sha256 = "4eb4092058ba53289cb4d5a1b109de6fd094883dfc84a1c2f2ccc57e61a24935"; + sha256 = "8cbf531af6fe407383b6ba410a43a19319af47804929d8a8d1975a780b9952df"; }; beamDeps = [ @@ -4863,17 +5015,17 @@ let needle = let - version = "0.8.0"; + version = "0.9.0"; drv = buildMix { inherit version; name = "needle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle"; - rev = "f8dfa30265e0d1b6e2a31dc0688fdbce36044a3b"; - hash = "sha256-GAfThwv//AqGBahzp8f1A70g5rKDdNX1WHvucfae6Ww="; + rev = "abde6de21bae3d2867fac88ef12af7edd65e6558"; + hash = "sha256-4vOOS2MEE16F2Oo/6d8EJGFxEMjQddS7Yolmt7Pfaoo="; }; beamDeps = [ @@ -4889,17 +5041,17 @@ let needle_uid = let - version = "0.0.1"; + version = "0.0.2"; drv = buildMix { inherit version; name = "needle_uid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_uid"; - rev = "3ec02ce42d96498db286a619a31a40eda2df7fa7"; - hash = "sha256-jf6PNnv74hx4GKQgmdThY1Sn4yet4DIPkeN4yVk6scw="; + rev = "d001d6915795a22b5a2d481b51475f922b0a672e"; + hash = "sha256-bpXkf3QRlnAP8B96NRuTn8hJaB8Uv4EjvqW1TMjz0ts="; }; beamDeps = [ @@ -4913,17 +5065,17 @@ let needle_ulid = let - version = "0.4.0"; + version = "0.5.0"; drv = buildMix { inherit version; name = "needle_ulid"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "needle_ulid"; - rev = "c663d2b3fc698b81220c05af221c8433b8049f53"; - hash = "sha256-oXOb6mlhE2mAYpgJ1Pa4sCktOlEXhbtUnV9YncuS7v4="; + rev = "2f6350540553beba295788c2893b5e85237e0ca6"; + hash = "sha256-c934dtx0h/s2D+W8/p+XT6pspPkUaqffqNhO5kwWKpc="; }; beamDeps = [ @@ -5029,7 +5181,7 @@ let name = "nodeinfo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "nodeinfo"; rev = "77a9dcc45c706e53ba38d7db7d0b2de1e8c082a6"; @@ -5047,6 +5199,28 @@ let in drv; + nx = + let + version = "0.10.0"; + drv = buildMix { + inherit version; + name = "nx"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "nx"; + sha256 = "3db8892c124aeee091df0e6fbf8e5bf1b81f502eb0d4f5ba63e6378ebcae7da4"; + }; + + beamDeps = [ + complex + telemetry + ]; + }; + in + drv; + oban = let version = "2.20.2"; @@ -5072,9 +5246,57 @@ let in drv; + oban_met = + let + version = "1.0.5"; + drv = buildMix { + inherit version; + name = "oban_met"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_met"; + sha256 = "64664d50805bbfd3903aeada1f3c39634652a87844797ee400b0bcc95a28f5ea"; + }; + + beamDeps = [ + oban + ]; + }; + in + drv; + + oban_web = + let + version = "2.11.6"; + drv = buildMix { + inherit version; + name = "oban_web"; + appConfigPath = ./config; + + src = fetchHex { + inherit version; + pkg = "oban_web"; + sha256 = "576d94b705688c313694c2c114ca21aa0f8f2ad1b9ca45c052c5ba316d3e8d10"; + }; + + beamDeps = [ + jason + oban + oban_met + phoenix + phoenix_html + phoenix_live_view + phoenix_pubsub + ]; + }; + in + drv; + openid_connect = let - version = "1.0.0"; + version = "1.0.1"; drv = buildMix { inherit version; name = "openid_connect"; @@ -5083,7 +5305,7 @@ let src = fetchHex { inherit version; pkg = "openid_connect"; - sha256 = "1abc2009fad37321996b64ac4b36d8113b309b697707c0774ed6d3dbad9a5005"; + sha256 = "91aa3af230150439004fe4f8c938e71a8789ce4ff4c66d9df31aaa004786f2b2"; }; beamDeps = [ @@ -5265,11 +5487,11 @@ let name = "paginator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "paginator"; - rev = "faa9909568c86b74838ef5d036fecb003ea77c1f"; - hash = "sha256-wDsBGnGV4wqI02YBlZGlBEffKIMHU/ANtgzoKIWj+nU="; + rev = "6bf2e271079c04ac566f7f1c53cf8f4fd466c3ca"; + hash = "sha256-JeuPJFmH5OuMK5iYwdIAO85VYRXWuGb/fF93YEggI/E="; }; beamDeps = [ @@ -5383,7 +5605,7 @@ let phoenix_ecto = let - version = "4.7.0"; + version = "4.6.6"; drv = buildMix { inherit version; name = "phoenix_ecto"; @@ -5392,7 +5614,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_ecto"; - sha256 = "1d75011e4254cb4ddf823e81823a9629559a1be93b4321a6a5f11a5306fbf4cc"; + sha256 = "d9893776b626cf87c3b2ddeb5a7dadbf2407733b09a3dadb8c3e9f9052bb84b2"; }; beamDeps = [ @@ -5413,7 +5635,7 @@ let name = "phoenix_gon"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "phoenix_gon"; rev = "47db70596e42077f67b4b7a1df158322e65ee0ed"; @@ -5543,7 +5765,7 @@ let phoenix_live_view = let - version = "1.1.18"; + version = "1.1.24"; drv = buildMix { inherit version; name = "phoenix_live_view"; @@ -5552,7 +5774,7 @@ let src = fetchHex { inherit version; pkg = "phoenix_live_view"; - sha256 = "f189b759595feff0420e9a1d544396397f9cf9e2d5a8cb98ba5b6cab01927da0"; + sha256 = "0c724e6c65f197841cac49d73be4e0f9b93a7711eaa52d2d4d1b9f859c329267"; }; beamDeps = [ @@ -5676,7 +5898,7 @@ let plug_cowboy = let - version = "2.7.5"; + version = "2.8.0"; drv = buildMix { inherit version; name = "plug_cowboy"; @@ -5685,7 +5907,7 @@ let src = fetchHex { inherit version; pkg = "plug_cowboy"; - sha256 = "20884bf58a90ff5a5663420f5d2c368e9e15ed1ad5e911daf0916ea3c57f77ac"; + sha256 = "9cbfaaf17463334ca31aed38ea7e08a68ee37cabc077b1e9be6d2fb68e0171d0"; }; beamDeps = [ @@ -5743,7 +5965,7 @@ let name = "plug_http_validator"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "plug_http_validator"; rev = "dbc277f8a328bc44107174fb1770b1376337697a"; @@ -5934,7 +6156,7 @@ let req = let - version = "0.5.16"; + version = "0.5.17"; drv = buildMix { inherit version; name = "req"; @@ -5943,7 +6165,7 @@ let src = fetchHex { inherit version; pkg = "req"; - sha256 = "974a7a27982b9b791df84e8f6687d21483795882a7840e8309abdbe08bb06f09"; + sha256 = "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"; }; beamDeps = [ @@ -6003,7 +6225,7 @@ let rustler_precompiled = let - version = "0.8.3"; + version = "0.8.4"; drv = buildMix { inherit version; name = "rustler_precompiled"; @@ -6012,7 +6234,7 @@ let src = fetchHex { inherit version; pkg = "rustler_precompiled"; - sha256 = "c23f5f33cb6608542de4d04faf0f0291458c352a4648e4d28d17ee1098cddcc4"; + sha256 = "3b33d99b540b15f142ba47944f7a163a25069f6d608783c321029bc1ffb09514"; }; beamDeps = [ @@ -6160,6 +6382,59 @@ let in drv; + social = + let + version = "0.0.1"; + drv = buildMix { + inherit version; + name = "social"; + appConfigPath = ./config; + + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "social"; + rev = "b48bf9d88630d44561ad7aff611487d8f1381714"; + hash = "sha256-F5s4z6u4NqE+UuHhrP73ClHS0KzdRWFZhaglFuCAh2g="; + }; + + beamDeps = [ + ember + bonfire_messages + bonfire_ui_messages + bonfire_ui_reactions + bonfire_classify + bonfire_search + bonfire_invite_links + bonfire_data_shared_user + bonfire_api_graphql + bonfire_open_id + bonfire_poll + bonfire_geolocate + mfm_parser + forecastr + activity_pub + ecto_sparkles + needle + needle_uid + needle_ulid + ex_ulid + absinthe + eqrcode + geo_postgis + geo + phoenix + phoenix_live_view + owl + httpoison + poison + hackney + rustler_precompiled + igniter + ]; + }; + in + drv.override (workarounds.rustlerPrecompiled { } drv); + solid = let version = "0.18.0"; @@ -6200,7 +6475,7 @@ let spitfire = let - version = "0.2.1"; + version = "0.3.7"; drv = buildMix { inherit version; name = "spitfire"; @@ -6209,7 +6484,7 @@ let src = fetchHex { inherit version; pkg = "spitfire"; - sha256 = "6eeed75054a38341b2e1814d41bb0a250564092358de2669fdb57ff88141d91b"; + sha256 = "798ff97db02477b05fa3db8e2810cebda6ed5d90c6de6b21aa65abd577599744"; }; }; in @@ -6251,7 +6526,7 @@ let surface = let - version = "0.12.1"; + version = "0.12.2"; drv = buildMix { inherit version; name = "surface"; @@ -6260,7 +6535,7 @@ let src = fetchHex { inherit version; pkg = "surface"; - sha256 = "133242252537f9c41533388607301f3d01755a338482e4288f42343dc20cd413"; + sha256 = "1fdce26fc6a078c1f6ab42cabd9457966cb4319cf0614c74abec763342cd041a"; }; beamDeps = [ @@ -6313,7 +6588,7 @@ let swoosh = let - version = "1.19.8"; + version = "1.20.0"; drv = buildMix { inherit version; name = "swoosh"; @@ -6322,7 +6597,7 @@ let src = fetchHex { inherit version; pkg = "swoosh"; - sha256 = "d7503c2daf0f9899afd8eba9923eeddef4b62e70816e1d3b6766e4d6c60e94ad"; + sha256 = "13e610f709bae54851d68afb6862882aa646e5c974bf49e3bf5edd84a73cf213"; }; beamDeps = [ @@ -6596,7 +6871,7 @@ let name = "twinkle_star"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "twinkle_star"; rev = "476f464e38c5409438246ca15e42e44b527ca257"; @@ -6686,7 +6961,7 @@ let name = "unfurl"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "unfurl"; rev = "9e750913d852197b97b30568c55ad4fd000946b9"; @@ -6763,17 +7038,17 @@ let untangle = let - version = "0.3.3"; + version = "0.4.0"; drv = buildMix { inherit version; name = "untangle"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "untangle"; - rev = "00c4aea4f8261bd9030a1585c60601b1a43cb5d9"; - hash = "sha256-RB3r3YOlHTzdylN+fwjnXpoOe/7QjKQ0sqHsEEPY/vk="; + rev = "b6d2a3b2687ca9392c6524fb01c2e43cd27418ab"; + hash = "sha256-qNMU1xylUx/KAH3TBs8ve+puyFDwQh0oZsxOpX8bVkM="; }; beamDeps = [ @@ -6792,7 +7067,7 @@ let name = "verbs"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "shannonwells"; repo = "verbs_ex"; rev = "afa4693964dae0d9aceb60a73f1766c6d4f68d25"; @@ -6802,6 +7077,35 @@ let in drv; + vix = + let + version = "0.38.0"; + drv = buildMix { + inherit version; + name = "vix"; + appConfigPath = ./config; + + VIX_COMPILATION_MODE = "PLATFORM_PROVIDED_LIBVIPS"; + + nativeBuildInputs = [ + pkg-config + vips + ]; + + src = fetchHex { + inherit version; + pkg = "vix"; + sha256 = "dca58f654922fa678d5df8e028317483d9c0f8acb2e2714076a8468695687aa7"; + }; + + beamDeps = [ + cc_precompiler + elixir_make + ]; + }; + in + drv.override (workarounds.elixirMake { } drv); + voodoo = let version = "0.1.0"; @@ -6810,7 +7114,7 @@ let name = "voodoo"; appConfigPath = ./config; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "bonfire-networks"; repo = "voodoo"; rev = "cc2d61300554edc52f933f10dcf77a046a5751e2"; @@ -6826,7 +7130,7 @@ let waffle = let - version = "1.1.9"; + version = "1.1.10"; drv = buildMix { inherit version; name = "waffle"; @@ -6835,7 +7139,7 @@ let src = fetchHex { inherit version; pkg = "waffle"; - sha256 = "307c63cfdfb4624e7c423868a128ccfcb0e5291ae73a9deecb3a10b7a3eb277c"; + sha256 = "859ba6377b78f0a51bc9596227b194f26241efbbd408bd217450c22b0f359cc4"; }; beamDeps = [ diff --git a/pkgs/by-name/bonfire/deps/ex_cldr/social/fetchFromGitHub.hash b/pkgs/by-name/bonfire/extensions/social/ex_cldr/fetchFromGitHub.hash similarity index 100% rename from pkgs/by-name/bonfire/deps/ex_cldr/social/fetchFromGitHub.hash rename to pkgs/by-name/bonfire/extensions/social/ex_cldr/fetchFromGitHub.hash diff --git a/pkgs/by-name/bonfire/extensions/social/fetchFromGitHub.nix b/pkgs/by-name/bonfire/extensions/social/fetchFromGitHub.nix index 96245632a..a99af24f9 100644 --- a/pkgs/by-name/bonfire/extensions/social/fetchFromGitHub.nix +++ b/pkgs/by-name/bonfire/extensions/social/fetchFromGitHub.nix @@ -2,6 +2,6 @@ fetchFromGitHub { owner = "bonfire-networks"; repo = "social"; - rev = "13e8bb4c74515a866705e0d186cb8b510ccf04ce"; - hash = "sha256-WswNXQ0V5K+7nN9F7LamhK6uKpRCDp1795k9cFQhZ3Q="; + rev = "b48bf9d88630d44561ad7aff611487d8f1381714"; + hash = "sha256-F5s4z6u4NqE+UuHhrP73ClHS0KzdRWFZhaglFuCAh2g="; } diff --git a/pkgs/by-name/bonfire/extensions/social/iconify_ex/yarnOfflineCache.hash b/pkgs/by-name/bonfire/extensions/social/iconify_ex/yarnOfflineCache.hash new file mode 100644 index 000000000..16c6bb83a --- /dev/null +++ b/pkgs/by-name/bonfire/extensions/social/iconify_ex/yarnOfflineCache.hash @@ -0,0 +1 @@ +sha256-XeWWGCwLyoyr46DOXx2V2M/BgWEx83wRUm9bU2lnRYI= \ No newline at end of file diff --git a/pkgs/by-name/bonfire/deps/mdex/social/Cargo.lock b/pkgs/by-name/bonfire/extensions/social/mdex/Cargo.lock similarity index 100% rename from pkgs/by-name/bonfire/deps/mdex/social/Cargo.lock rename to pkgs/by-name/bonfire/extensions/social/mdex/Cargo.lock diff --git a/pkgs/by-name/bonfire/deps/mjml/ember/Cargo.lock b/pkgs/by-name/bonfire/extensions/social/mjml/Cargo.lock similarity index 63% rename from pkgs/by-name/bonfire/deps/mjml/ember/Cargo.lock rename to pkgs/by-name/bonfire/extensions/social/mjml/Cargo.lock index abcc256d6..6ba912061 100644 --- a/pkgs/by-name/bonfire/deps/mjml/ember/Cargo.lock +++ b/pkgs/by-name/bonfire/extensions/social/mjml/Cargo.lock @@ -71,26 +71,26 @@ dependencies = [ [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "libloading" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" dependencies = [ "cfg-if", - "windows-targets", + "windows-link", ] [[package]] name = "mjml_nif" -version = "5.2.0" +version = "5.3.0" dependencies = [ "mrml", "rustler", @@ -98,9 +98,9 @@ dependencies = [ [[package]] name = "mrml" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9daf3c183141de1d3d2db6f275536c70ebfb87b11ed4b0c709b1103d1c9d3ede" +checksum = "8f2d4de127b05e0abf5bfe406ca8c766bb16e9150b040ff1525bccc20ee7c132" dependencies = [ "enum-as-inner", "htmlparser", @@ -142,9 +142,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustler" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3fe55230a9c379733dd38ee67d4072fa5c558b2e22b76b0e7f924390456e003" +checksum = "a5c708d8b686a8d426681908369f835af90349f7ebb92ab87ddf14a851efd556" dependencies = [ "inventory", "libloading", @@ -154,9 +154,9 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.36.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3b8de901ae61418e2036245d28e41ef58080d04f40b68430471ae36a4e84ed" +checksum = "da3f478ec72581782a7dd62a5adb406aa076af7cedd7de63fa3676c927eb216a" dependencies = [ "heck", "inventory", @@ -184,18 +184,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", @@ -209,65 +209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" diff --git a/pkgs/by-name/bonfire/generic.nix b/pkgs/by-name/bonfire/generic.nix index 7952280c5..e1fdc251e 100644 --- a/pkgs/by-name/bonfire/generic.nix +++ b/pkgs/by-name/bonfire/generic.nix @@ -1,23 +1,23 @@ { - _experimental-update-script-combinators, beam, bonfire, callPackage, + callPackages, cmake, fetchFromGitHub, fetchYarnDeps, - gitUpdater, + just, lexbor, lib, + nix, nodejs, - pkgs, + nurl, + runCommandLocal, + rustPlatform, + writeShellApplication, yarn, yarn-berry_4, yarnConfigHook, - rustPlatform, - writeShellApplication, - nix, - nurl, ... }: let @@ -29,44 +29,34 @@ let ); in beamPkgs.mixRelease (finalAttrs: { - pname = "bonfire-${finalAttrs.passthru.env.FLAVOUR}"; - # Explanation: unstable version which includes fixes from: - # https://github.com/bonfire-networks/bonfire-app/issues/1637 - version = "1.0.1-beta.11"; - src = fetchFromGitHub { - owner = "bonfire-networks"; - repo = "bonfire-app"; - tag = "v${finalAttrs.version}"; - hash = "sha256-4OA4XccVQrovTDY5rp6/P/w12iIrIEMkjfkPq9E9eAI="; - }; + pname = "bonfire-${finalAttrs.env.FLAVOUR}"; inherit (finalAttrs.passthru.beamPackages) erlang elixir; - passthru = { - env = { - FLAVOUR = "ember"; + env = { + FLAVOUR = "ember"; - WITH_IMAGE_VIX = "true"; - WITH_GIT_DEPS = "1"; - WITH_FORKS = "0"; - WITH_DOCKER = "no"; + WITH_IMAGE_VIX = "1"; + WITH_GIT_DEPS = "1"; + WITH_FORKS = "0"; + WITH_DOCKER = "no"; - # Explanation: from justfile's _ext-migrations-copy - MIX_OS_DEPS_COMPILE_PARTITION_COUNT = "1"; + # Explanation: from justfile's _ext-migrations-copy + MIX_OS_DEPS_COMPILE_PARTITION_COUNT = "1"; - # Remark: somehow lib/api/graphql_masto_adapter.ex - # has become extremely slow to compile. - # Issue: https://github.com/bonfire-networks/bonfire-app/issues/1730 - WITH_API_GRAPHQL = "1"; + # Remark: somehow lib/api/graphql_masto_adapter.ex + # has become extremely slow to compile. + # Issue: https://github.com/bonfire-networks/bonfire-app/issues/1730 + WITH_API_GRAPHQL = "1"; - # ToDo(functional/completeness): support this? - #WITH_XMPP = "1"; + # ToDo(functional/completeness): support this? + #WITH_XMPP = "1"; - # Explanation: config/bonfire_common.exs - # uses this to set :rustler_precompiled, force_build_all - # which is needed to let nix provision Rust libraries. - RUSTLER_BUILD_ALL = "true"; - }; - - deps = ./extensions + "/${finalAttrs.passthru.env.FLAVOUR}/deps.nix"; + # Explanation: config/bonfire_common.exs + # uses this to set :rustler_precompiled, force_build_all + # which is needed to let nix provision Rust libraries. + RUSTLER_BUILD_ALL = "true"; + }; + passthru = { + deps = ./extensions + "/${finalAttrs.env.FLAVOUR}/deps.nix"; # Explanation: it's not possible to use deps_nix's Rust support in NGIpkgs # because its way to set `src` requires --allow-import-from-derivation overrideAttrsRust = nativeDir: finalRust: previousRust: { @@ -84,6 +74,8 @@ beamPkgs.mixRelease (finalAttrs: { ''; passthru = previousRust.passthru // { inherit nativeDir; + # Explanation: this is where `nativeDir` is found + # but it cannot be used when import-from-derivation are disallowed. #nativeDir = with builtins; head (attrNames (readDir "${previousRust.src}/native")); native = rustPlatform.buildRustPackage { pname = "${previousRust.passthru.packageName}-native"; @@ -91,25 +83,24 @@ beamPkgs.mixRelease (finalAttrs: { src = "${previousRust.src}/native/${finalRust.passthru.nativeDir}"; cargoLock = { lockFile = - ./deps + "/${previousRust.passthru.packageName}/${finalAttrs.passthru.env.FLAVOUR}/Cargo.lock"; + ./extensions + "/${finalAttrs.env.FLAVOUR}/${previousRust.passthru.packageName}/Cargo.lock"; }; nativeBuildInputs = [ cmake ]; doCheck = false; }; - updateScript = writeShellApplication { + updateScript = lib.getExe (writeShellApplication { name = "${previousRust.passthru.packageName}-update"; text = '' set -eux install -Dm660 "${finalRust.src}/native/${finalRust.passthru.nativeDir}/Cargo.lock" \ - 'pkgs/by-name/bonfire/deps/${previousRust.passthru.packageName}/${finalAttrs.passthru.env.FLAVOUR}/Cargo.lock' + 'pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${previousRust.passthru.packageName}/Cargo.lock' ''; - }; + }); }; }; - mixNixDeps = import finalAttrs.passthru.deps { - inherit lib pkgs; + mixNixDeps = callPackages finalAttrs.passthru.deps { inherit (finalAttrs.passthru) beamPackages; overrides = finalMixPkgs: previousMixPkgs: @@ -173,18 +164,24 @@ beamPkgs.mixRelease (finalAttrs: { EOF ''; }); - bonfire_ui_common = previousMixPkgs.bonfire_ui_common.overrideAttrs ( - finalAttrs: previousMixPkg: { - postPatch = - previousMixPkg.postPatch or "" - + lib.concatStringsSep "\n" [ - # Explanation: remove a dangling symlink pointing out of the repo… - '' - rm priv/static - '' - ]; - } - ); + bonfire_ui_common = previousMixPkgs.bonfire_ui_common.overrideAttrs (previousMixPkg: { + postPatch = + previousMixPkg.postPatch or "" + + lib.concatStringsSep "\n" [ + # Explanation: remove a dangling symlink pointing out of the repo… + '' + rm priv/static + + test $(readlink assets/static/assets/ap_c2s_client) = extensions/bonfire_ui_common/assets/static/tauri/assets/ap_c2s_client + ln -fs ../tauri/assets/ap_c2s_client/ \ + assets/static/assets/ap_c2s_client + + # ToDo(maint/update): adapt when fixed upstream + test $(readlink assets/static/assets/openmls) = /Users/me/Code/Bonfire/openmls/openmls-wasm/pkg + rm assets/static/assets/openmls + '' + ]; + }); bonfire_ui_me = previousMixPkgs.bonfire_ui_me.overrideAttrs (previousMixPkg: { # Explanation: missing dependency in upstream's deps.hex… postPatch = previousMixPkg.postPatch or "" + '' @@ -201,7 +198,7 @@ beamPkgs.mixRelease (finalAttrs: { owner = "elixir-cldr"; repo = "cldr"; rev = "v${previousMixPkg.version}"; - hash = lib.readFile (./deps + "/ex_cldr/${finalAttrs.passthru.env.FLAVOUR}/fetchFromGitHub.hash"); + hash = lib.readFile (./extensions + "/${finalAttrs.env.FLAVOUR}/ex_cldr/fetchFromGitHub.hash"); }; postInstall = previousMixPkg.postInstall or "" + '' cp $src/priv/cldr/locales/* $out/lib/erlang/lib/ex_cldr-${previousMixPkg.version}/priv/cldr/locales/ @@ -210,29 +207,27 @@ beamPkgs.mixRelease (finalAttrs: { # Description: update pkgs/by-name/bonfire/deps/ex_cldr/hash # Explanation: fetchFromGitHub is used instead of fetchHex # to let nix provision locales instead of mix. - updateScript = writeShellApplication { + updateScript = lib.getExe (writeShellApplication { name = "ex_cldr-update"; runtimeInputs = [ nurl ]; text = '' - mkdir -p pkgs/by-name/bonfire/deps/ex_cldr/${finalAttrs.passthru.env.FLAVOUR}/ + mkdir -p pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/ex_cldr/ nurl --hash --expr 'let NGIpkgs = import ./. {}; in - NGIpkgs.bonfire.${finalAttrs.passthru.env.FLAVOUR}.passthru.mixNixDeps.ex_cldr.src.overrideAttrs (previousMixPkg: + NGIpkgs.bonfire.${finalAttrs.env.FLAVOUR}.passthru.mixNixDeps.ex_cldr.src.overrideAttrs (previousMixPkg: { nativeBuildInputs = previousMixPkg.nativeBuildInputs or [] ++ [ NGIpkgs.pkgs.cacert ]; }) - ' >pkgs/by-name/bonfire/deps/ex_cldr/${finalAttrs.passthru.env.FLAVOUR}/fetchFromGitHub.hash + ' >pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/ex_cldr/fetchFromGitHub.hash ''; - }; + }); }; }); - iconify_ex = previousMixPkgs.iconify_ex.overrideAttrs ( - finalAttrs: previousMixPkg: { - # Explanation: make iconify.ex look for its assets - # in $out/assets/… instead of /build/source/assets/…. - postPatch = previousMixPkg.postPatch or "" + '' - substituteInPlace lib/iconify.ex \ - --replace-fail 'File.cwd!()' "\"$out\"" - ''; - } - ); + iconify_ex = previousMixPkgs.iconify_ex.overrideAttrs (previousMixPkg: { + # Explanation: make iconify.ex look for its assets + # in $out/assets/… instead of /build/source/assets/…. + postPatch = previousMixPkgs.postPatch or "" + '' + substituteInPlace lib/iconify.ex \ + --replace-fail 'File.cwd!()' "\"$out\"" + ''; + }); # Relevant: https://github.com/code-supply/deps_nix/pull/33 lazy_html = previousMixPkgs.lazy_html.overrideAttrs (previousMixPkg: { # Explanation: somehow `mix compile --no-deps-check` @@ -271,62 +266,75 @@ beamPkgs.mixRelease (finalAttrs: { } // lib.optionalAttrs (previousMixPkgs ? "evision") { evision = (callPackage deps/evision.nix { } finalMixPkgs previousMixPkgs).evision; + } + # Explanation: deps_nix wrongly detect rustler_precompiled is needed for flavours + # and since it requires import-from-derivation, + # they have to be removed from `preConfigure`. + // lib.optionalAttrs (previousMixPkgs ? "ember") { + ember = previousMixPkgs.ember.overrideAttrs { preConfigure = ""; }; + } + // lib.optionalAttrs (previousMixPkgs ? "social") { + social = previousMixPkgs.social.overrideAttrs { preConfigure = ""; }; + } + // lib.optionalAttrs (previousMixPkgs ? "open_science") { + open_science = previousMixPkgs.open_science.overrideAttrs { preConfigure = ""; }; }; }; + # Description: extensions used by `FLAVOUR` + # computed by a closure over their dependencies. flavour-extensions = ( let - urlAsKey = lib.map (ext: ext // { key = ext.url; }); + # Explanation: `src` may not exist yet due to + urlAsKey = lib.map (ext: ext // { key = ext.name; }); in builtins.genericClosure { startSet = urlAsKey [ - finalAttrs.passthru.extensions.${finalAttrs.passthru.env.FLAVOUR} + finalAttrs.passthru.extensions.${finalAttrs.env.FLAVOUR} ]; - operator = ext: urlAsKey ext.passthru.extensions; + operator = ext: urlAsKey ext.deps; } ); extensions = { - community = callPackage extensions/community/fetchFromGitHub.nix { } // { - passthru = { - extensions = with finalAttrs.passthru.extensions; [ - social - ]; - }; + community = { + name = "community"; + src = callPackage extensions/community/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ + social + ]; }; - cooperation = callPackage extensions/cooperation/fetchFromGitHub.nix { } // { - passthru = { - extensions = with finalAttrs.passthru.extensions; [ - ember - ]; - }; + cooperation = { + name = "cooperation"; + src = callPackage extensions/cooperation/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ + ember + ]; }; coordination = { - community = callPackage extensions/coordination/fetchFromGitHub.nix { } // { - passthru = { - extensions = with finalAttrs.passthru.extensions; [ - community - ]; - }; - }; + name = "coordination"; + src = callPackage extensions/coordination/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ + community + ]; }; - ember = callPackage extensions/ember/fetchFromGitHub.nix { } // { - passthru = { - extensions = [ ]; - }; + ember = { + name = "ember"; + src = callPackage extensions/ember/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ ]; }; - open_science = callPackage extensions/open_science/fetchFromGitHub.nix { } // { - passthru = { - extensions = with finalAttrs.passthru.extensions; [ - social - ]; - }; + open_science = { + name = "open_science"; + src = callPackage extensions/open_science/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ + social + ]; }; - social = callPackage extensions/social/fetchFromGitHub.nix { } // { - passthru = { - extensions = with finalAttrs.passthru.extensions; [ - ember - ]; - }; + social = { + name = "social"; + src = callPackage extensions/social/fetchFromGitHub.nix { }; + deps = with finalAttrs.passthru.extensions; [ + ember + ]; }; }; @@ -340,20 +348,20 @@ beamPkgs.mixRelease (finalAttrs: { (pname: { package = fetchYarnDeps { name = "${pname}-yarn-deps"; - yarnLock = "${finalAttrs.passthru.mixNixDeps.${pname}.src}/assets/yarn.lock"; - hash = lib.readFile (./deps + "/${pname}/${finalAttrs.passthru.env.FLAVOUR}/yarnOfflineCache.hash"); + yarnLock = "${finalAttrs.passthru.mixNixDeps.${pname}}/src/assets/yarn.lock"; + hash = lib.readFile (./extensions + "/${finalAttrs.env.FLAVOUR}/${pname}/yarnOfflineCache.hash"); }; - updateScript = writeShellApplication { + updateScript = lib.getExe (writeShellApplication { name = "${pname}-update"; runtimeInputs = [ nurl ]; text = '' set -eux - mkdir -p "pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}/" + mkdir -p "pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}/" nurl --hash --expr 'let NGIpkgs = import ./. {}; in - NGIpkgs.bonfire.${finalAttrs.passthru.env.FLAVOUR}.yarnOfflineCaches.${pname}.package - ' >'pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}/yarnOfflineCache.hash' + NGIpkgs.bonfire.${finalAttrs.env.FLAVOUR}.yarnOfflineCaches.${pname}.package + ' >'pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}/yarnOfflineCache.hash' ''; - }; + }); }); yarn-berry = yarn-berry_4; yarnBerryOfflineCaches = @@ -362,15 +370,17 @@ beamPkgs.mixRelease (finalAttrs: { "bonfire_ui_common" ]) (pname: { + package = finalAttrs.passthru.yarn-berry.fetchYarnBerryDeps { name = "${pname}-yarn-deps"; - yarnLock = "${finalAttrs.passthru.mixNixDeps.${pname}.src}/assets/yarn.lock"; + yarnLock = "${finalAttrs.passthru.mixNixDeps.${pname}}/src/assets/yarn.lock"; hash = lib.readFile ( - ./deps + "/${pname}/${finalAttrs.passthru.env.FLAVOUR}/yarnBerryOfflineCache.hash" + ./extensions + "/${finalAttrs.env.FLAVOUR}/${pname}/yarnBerryOfflineCache.hash" ); - missingHashes = ./deps + "/${pname}/${finalAttrs.passthru.env.FLAVOUR}/missingHashes.json"; + missingHashes = ./extensions + "/${finalAttrs.env.FLAVOUR}/${pname}/missingHashes.json"; }; - updateScript = writeShellApplication { + + updateScript = lib.getExe (writeShellApplication { name = "${pname}-update"; runtimeInputs = [ nix @@ -379,60 +389,69 @@ beamPkgs.mixRelease (finalAttrs: { ]; text = '' set -eux - mkdir -p "pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}/" - touch "pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}"/{yarnBerryOfflineCache.hash,missingHashes.json} + mkdir -p "pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}/" + touch "pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}"/{yarnBerryOfflineCache.hash,missingHashes.json} nix -L --extra-experimental-features "nix-command" build --no-link -f . \ - "bonfire.${finalAttrs.passthru.env.FLAVOUR}.passthru.mixNixDeps.${pname}.src" + "bonfire.${finalAttrs.env.FLAVOUR}.passthru.mixNixDeps.${pname}.src" yarnLock=$(nix -L --extra-experimental-features "nix-command" eval --raw -f . \ - "bonfire.${finalAttrs.passthru.env.FLAVOUR}.yarnBerryOfflineCaches.${pname}.package.yarnLock") + "bonfire.${finalAttrs.env.FLAVOUR}.yarnBerryOfflineCaches.${pname}.package.yarnLock") yarn-berry-fetcher missing-hashes "$yarnLock" \ - >"pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}/missingHashes.json" + >"pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}/missingHashes.json" nurl --expr "let NGIpkgs = import ./. {}; in - NGIpkgs.bonfire.${finalAttrs.passthru.env.FLAVOUR}.yarnBerryOfflineCaches.${pname}.package - " --hash >"pkgs/by-name/bonfire/deps/${pname}/${finalAttrs.passthru.env.FLAVOUR}/yarnBerryOfflineCache.hash" + NGIpkgs.bonfire.${finalAttrs.env.FLAVOUR}.yarnBerryOfflineCaches.${pname}.package + " --hash >"pkgs/by-name/bonfire/extensions/${finalAttrs.env.FLAVOUR}/${pname}/yarnBerryOfflineCache.hash" ''; - }; + }); + }); # Warning(maint/update): bonfire having a huge dependency closure, # expect a lot of downloads during several minutes. - update = callPackage ./update.nix { - bonfire = bonfire.${finalAttrs.passthru.env.FLAVOUR}; - }; - # Explanation: updates to be run after mmixNixDeps has been updated. - updateScripts = writeShellApplication { - name = "${finalAttrs.pname}-update"; - text = '' - set -x - '' - + lib.concatStringsSep "\n" ( - (lib.concatAttrValues ( - lib.mapAttrs (name: pkg: lib.optional (pkg ? "updateScript") (lib.getExe pkg.updateScript)) ( - with finalAttrs.passthru; mixNixDeps // yarnOfflineCaches // yarnBerryOfflineCaches - ) - )) - ); - }; - - updateScript = _experimental-update-script-combinators.sequence ([ - (gitUpdater { - rev-prefix = "v"; - }) - { - command = [ (lib.getExe finalAttrs.passthru.update.script) ]; - supportedFeatures = [ "silent" ]; + # Besides, bonfire_social takes about one hour to update + # because deps_nix needs to compile when updating… + # and bonfire_social is notoriously slow to compile due to its GraphQL implementation. + # Issue: https://github.com/bonfire-networks/bonfire-app/issues/1730 + update = + callPackage ./update.nix { + bonfire = bonfire.${finalAttrs.env.FLAVOUR}; } - ]); + // { + after-mixNixDeps = writeShellApplication { + name = "${finalAttrs.pname}-update"; + text = '' + set -x + '' + + lib.concatLines ( + lib.concatMap + ( + pkgs: + lib.concatAttrValues ( + lib.mapAttrs (name: pkg: lib.optional (pkg ? "updateScript") pkg.updateScript) pkgs + ) + ) + ( + with finalAttrs.passthru; + # The order matters because `mixNixDeps`'s packages + # can be used by the packages in yarn caches. + [ + mixNixDeps + yarnOfflineCaches + yarnBerryOfflineCaches + ] + ) + ); + }; + }; # Explanation: to build its Erlang config (config/) # and some JavaScript imports (**/deps.hooks.js) - # bonfire-app overlays symlinks from bonfire-app, ember and ${finalAttrs.passthru.env.FLAVOUR}. + # bonfire-app overlays symlinks from bonfire-app, ember and ${finalAttrs.env.FLAVOUR}. bonfire-setup = - pkgs.runCommandLocal "bonfire-setup" + runCommandLocal "bonfire-setup" { inherit (finalAttrs) src; nativeBuildInputs = [ - pkgs.just + just ]; } ( @@ -461,19 +480,19 @@ beamPkgs.mixRelease (finalAttrs: { mkdir extensions '' (lib.concatMapStringsSep "\n" (ext: '' - cp --no-preserve=mode -r ${ext} extensions/${ext.repo} - mkdir -p extensions/${ext.repo}/assets/hooks + cp --no-preserve=mode -r ${ext.src} extensions/${ext.src.repo} + mkdir -p extensions/${ext.src.repo}/assets/hooks '') finalAttrs.passthru.flavour-extensions) '' cp --no-preserve=mode -r ${finalAttrs.src}/config . cp --no-preserve=mode -rs ${finalAttrs.src}/justfile . - just flavour_make_symlinks ${finalAttrs.passthru.env.FLAVOUR} + just flavour_make_symlinks ${finalAttrs.env.FLAVOUR} '' # Explanation: from: just _flavour_install '' - $SHELL extensions/${finalAttrs.passthru.env.FLAVOUR}/install.sh --yes + $SHELL extensions/${finalAttrs.env.FLAVOUR}/install.sh --yes '' # Explanation: unsymlink config/config.exs to modify it @@ -534,7 +553,7 @@ beamPkgs.mixRelease (finalAttrs: { # Explanation: inherit the environment variables # from bonfire because they're used in appConfigPath. - env = finalAttrs.passthru.env // previousArgs.env or { }; + env = finalAttrs.env // previousArgs.env or { }; inherit (finalAttrs) mixEnv; postConfigure = previousArgs.postConfigure or "" + '' cp --no-preserve=mode -r ${finalAttrs.passthru.bonfire-setup}/extensions . @@ -603,15 +622,16 @@ beamPkgs.mixRelease (finalAttrs: { ]; # Note: `preBuild` will not be used when updating, - # hence it works to have finalAttrs.passthru.mixNixDeps.${dep}.src + # hence it works to have finalAttrs.passthru.mixNixDeps.${dep} # in there because `deps.nix` will be updated by then. preBuild = lib.concatStringsSep "\n" [ # Explanation: those yarn assets are not real libraries, # they can only be built in bonfire-app. + # Note that /src is used instead of .src to be sure to have any patch applied. (lib.concatMapStringsSep "\n" (dep: '' rm -rf deps/${dep} cp --no-preserve=mode -r \ - ${finalAttrs.passthru.mixNixDeps.${dep}.src} \ + ${finalAttrs.passthru.mixNixDeps.${dep}}/src \ deps/${dep} pushd deps/${dep}/assets yarnOfflineCache="${finalAttrs.passthru.yarnOfflineCaches.${dep}.package}" \ @@ -621,10 +641,11 @@ beamPkgs.mixRelease (finalAttrs: { '') (lib.attrNames finalAttrs.passthru.yarnOfflineCaches)) # Explanation: same but for yarn-berry assets. + # Note that /src is used instead of .src to be sure to have any patch applied. (lib.concatMapStringsSep "\n" (dep: '' rm -rf deps/${dep} cp --no-preserve=mode -r \ - ${finalAttrs.passthru.mixNixDeps.${dep}.src} \ + ${finalAttrs.passthru.mixNixDeps.${dep}}/src \ deps/${dep} pushd deps/${dep}/assets yarnOfflineCache="${finalAttrs.passthru.yarnBerryOfflineCaches.${dep}.package}" \ @@ -635,7 +656,7 @@ beamPkgs.mixRelease (finalAttrs: { '') (lib.attrNames finalAttrs.passthru.yarnBerryOfflineCaches)) # Explanation: call lib/mix/tasks/sync_themes.ex - # See: justfile#_flavour_install ${finalAttrs.passthru.env.FLAVOUR} + # See: justfile#_flavour_install ${finalAttrs.env.FLAVOUR} '' mix bonfire.sync_themes '' diff --git a/pkgs/by-name/bonfire/package.nix b/pkgs/by-name/bonfire/package.nix index 2f051a3d5..0254989a1 100644 --- a/pkgs/by-name/bonfire/package.nix +++ b/pkgs/by-name/bonfire/package.nix @@ -1,26 +1,111 @@ -{ lib, callPackage }: +{ + _experimental-update-script-combinators, + callPackage, + fetchFromGitHub, + fetchpatch2, + gitMinimal, + gitUpdater, + lib, + writeText, + writeShellApplication, +}: let generic = callPackage ./generic.nix { }; + flavours = [ + # FixMe(+completeness): enable when fixed upstream. + # Issue: https://github.com/bonfire-networks/bonfire-app/issues/1737 + #"community" + # FixMe(+completeness): generate deps.nix + #"cooperation" + #"coordination" + "ember" + "open_science" + "social" + ]; in + lib.recurseIntoAttrs ( - lib.genAttrs - [ - # FixMe(+completeness): enable when fixed upstream. - # Issue: https://github.com/bonfire-networks/bonfire-app/issues/1737 - #"community" - # FixMe(+completeness): generate deps.nix - #"cooperation" - #"coordination" - "ember" - "open_science" - "social" - ] - ( + lib.makeExtensible ( + finalFlavours: + lib.genAttrs flavours ( flavour: - generic.overrideAttrs (previousAttrs: { - passthru = lib.recursiveUpdate previousAttrs.passthru { - env.FLAVOUR = flavour; - }; - }) + generic.overrideAttrs ( + finalAttrs: previousAttrs: { + pname = "bonfire"; + version = "1.0.2-alpha.32"; + src = fetchFromGitHub { + owner = "bonfire-networks"; + repo = "bonfire-app"; + tag = "v${finalAttrs.version}"; + hash = "sha256-+C7Ts7MuDR6GwZ/G16GZw1E5VO2snTBb4tcffdC6GK4="; + }; + + patches = [ + # ToDo(maint/update): remove when merged upstream + # PR: https://github.com/bonfire-networks/bonfire-app/pull/1821 + (fetchpatch2 { + name = "fix-vix"; + url = "https://github.com/bonfire-networks/bonfire-app/commit/98d38c339f467ed43f7572ae36cd2ca905927efe.patch"; + hash = "sha256-7W7CYdP02F/aFa1+hT0FHNngywrO6hTg1/Nw441bd5A="; + }) + ]; + + env = previousAttrs.env or { } // { + FLAVOUR = flavour; + }; + } + ) ) + // { + update = + (writeText "${finalFlavours.ember.pname}-${finalFlavours.ember.version}" '' + This package only exists to provide a location for an `updateScript` + updating `src` only once before calling each flavour's `update.script`. + '').overrideAttrs + { + # Let `update-source-version` find where to update `version` and `hash`. + pos = builtins.unsafeGetAttrPos "src" finalFlavours.ember; + passthru = { + inherit (finalFlavours.ember) src; + updateScript = _experimental-update-script-combinators.sequence [ + (gitUpdater { rev-prefix = "v"; }) + { + command = lib.getExe (writeShellApplication { + name = "bonfire-update-flavours"; + runtimeInputs = [ + gitMinimal + ]; + text = lib.concatLines [ + # Avoid a costly update if `gitUpdater` has not modified this file. + '' + if git diff --exit-code -- pkgs/by-name/bonfire/package.nix; then + exit 0 + fi + '' + # Clean everything to begin with to avoid leftovers. + '' + rm -rf pkgs/by-name/bonfire/extensions/*/ + mkdir -p pkgs/by-name/bonfire/extensions/ + '' + # Updating all flavours using the same `src` set by `gitUpdater` + # to avoid any flavour ending up using a `src` no longer matching + # the files generated in pkgs/by-name/bonfire/extensions/${flavour}/, + # which can happen when upstream releases a new version + # during the update of a flavour, + # which is likely since each flavour update takes roughly one hour. + (lib.concatMapStringsSep "\n" ( + flavour: + lib.optionalString (!(finalFlavours.${flavour}.meta.broken or false)) '' + ${lib.getExe finalFlavours.${flavour}.passthru.update.script} + '' + ) flavours) + ]; + }); + supportedFeatures = [ "silent" ]; + } + ]; + }; + }; + } + ) ) diff --git a/pkgs/by-name/bonfire/update.nix b/pkgs/by-name/bonfire/update.nix index 699cbe97a..9b0f9c728 100644 --- a/pkgs/by-name/bonfire/update.nix +++ b/pkgs/by-name/bonfire/update.nix @@ -8,12 +8,12 @@ callPackage, }: let - FLAVOUR = bonfire.passthru.env.FLAVOUR; + FLAVOUR = bonfire.FLAVOUR; in # Documentation: manuals/Contributor/How_to/update/pkgs/bonfire.md { script = writeShellApplication { - name = "bonfire-update"; + name = "bonfire-update-${FLAVOUR}"; runtimeInputs = [ bonfire.passthru.yarn-berry.yarn-berry-fetcher coreutils @@ -29,35 +29,37 @@ in # Explanation: updating the extensions # must come before updating the dependencies in `deps.nix`, # which uses the extensions. - (lib.concatMapStringsSep "\n" (flavour: '' - mkdir -p pkgs/by-name/bonfire/extensions/${flavour} + (lib.concatMapStringsSep "\n" (ext: '' + mkdir -p pkgs/by-name/bonfire/extensions/${ext.name} { - echo "{fetchFromGitHub, ...}:" - nurl https://github.com/bonfire-networks/${flavour} - } >pkgs/by-name/bonfire/extensions/${flavour}/fetchFromGitHub.nix - '') (lib.map (ext: ext.repo) bonfire.passthru.flavour-extensions)) + echo "{ fetchFromGitHub, ... }:" + nurl https://github.com/bonfire-networks/${ext.name} + echo + } >pkgs/by-name/bonfire/extensions/${ext.name}/fetchFromGitHub.nix + '') bonfire.passthru.flavour-extensions) - # Description: update pkgs/by-name/bonfire/${FLAVOUR}/deps.nix + # Description: update pkgs/by-name/bonfire/extensions/${FLAVOUR}/deps.nix # using deps_nix. # bash '' deps=$( nix -L --show-trace --extra-experimental-features "nix-command" \ build \ + --rebuild \ --option sandbox relaxed \ --no-link --print-out-paths \ - --repair \ - --refresh \ -f . \ bonfire.${FLAVOUR}.passthru.update.package ) cp -f "$deps" pkgs/by-name/bonfire/extensions/${FLAVOUR}/deps.nix '' - # Description: update Rust and Yarn dependencies depending on `deps.nix`. + # Description: update Rust and Yarn dependencies depending on `deps.nix` for `FLAVOUR`, + # but not for the extensions that `FLAVOUR` depends on. + # This must currently be done when considering those extensions as a flavour themselves. '' nix --extra-experimental-features "nix-command" -L run \ - -f . bonfire.${FLAVOUR}.updateScripts + -f . bonfire.${FLAVOUR}.update.after-mixNixDeps '' ]; }; diff --git a/profiles/pkgs/development/beam-modules/build-mix.nix b/profiles/pkgs/development/beam-modules/build-mix.nix index 25a60e8b8..b88aeffd3 100644 --- a/profiles/pkgs/development/beam-modules/build-mix.nix +++ b/profiles/pkgs/development/beam-modules/build-mix.nix @@ -51,7 +51,7 @@ lib.extendMkDerivation { # A config directory that is considered for all the dependencies of an app, typically in $src/config/ # This was initially added, as some of Mobilizon's dependencies need to access the config at build time. appConfigPath ? finalAttrs.appConfigPath or null, - env ? { }, + env ? finalAttrs.env or { }, ... }@previousAttrs: #assert finalAttrs.appConfigPath != null -> finalAttrs.removeConfig; @@ -60,7 +60,7 @@ lib.extendMkDerivation { name = "${name}-${finalAttrs.version}"; inherit version src; - env = env // { + env = { ERL_COMPILER_OPTIONS = let options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ]; @@ -73,7 +73,8 @@ lib.extendMkDerivation { MIX_DEBUG = if enableDebugInfo then 1 else 0; MIX_ENV = mixEnv; MIX_TARGET = mixTarget; - }; + } + // previousAttrs.env or { }; __darwinAllowLocalNetworking = true; @@ -84,6 +85,7 @@ lib.extendMkDerivation { addToSearchPath ERL_LIBS "$1/lib/erlang/lib" ''; + # Remark: patchPhase will be applied to $out/src postUnpack = '' mkdir -p $out cp -r $sourceRoot $out/src diff --git a/profiles/pkgs/development/beam-modules/mix-release.nix b/profiles/pkgs/development/beam-modules/mix-release.nix index 5eb73ffb4..8abc5c285 100644 --- a/profiles/pkgs/development/beam-modules/mix-release.nix +++ b/profiles/pkgs/development/beam-modules/mix-release.nix @@ -33,46 +33,46 @@ lib.extendMkDerivation { finalAttrs: { pname, - version, - src, - nativeBuildInputs ? [ ], - buildInputs ? [ ], - meta ? { }, - enableDebugInfo ? false, - mixEnv ? "prod", - mixTarget ? "host", - compileFlags ? [ ], + version ? finalAttrs.version or "0", + src ? finalAttrs.src or null, + nativeBuildInputs ? finalAttrs.nativeBuildInputs or [ ], + buildInputs ? finalAttrs.buildInputs or [ ], + meta ? finalAttrs.meta or { }, + enableDebugInfo ? finalAttrs.enableDebugInfo or false, + mixEnv ? finalAttrs.mixEnv or "prod", + mixTarget ? finalAttrs.mixTarget or "host", + compileFlags ? finalAttrs.compileFlags or [ ], # Build a particular named release. # see https://hexdocs.pm/mix/1.12/Mix.Tasks.Release.html#content - mixReleaseName ? "", + mixReleaseName ? finalAttrs.mixReleaseName or "", # If set, the given escript binary will be copied to the output # instead of the release - escriptBinName ? null, + escriptBinName ? finalAttrs.escriptBinName or null, # Options to be passed to the Erlang compiler. As documented in the reference # manual, these must be valid Erlang terms. They will be turned into an # erlang list and set as the ERL_COMPILER_OPTIONS environment variable. # See https://www.erlang.org/doc/man/compile - erlangCompilerOptions ? [ ], + erlangCompilerOptions ? finalAttrs.erlangCompilerOptions or [ ], # Deterministic Erlang builds remove full system paths from debug information # among other things to keep builds more reproducible. See their docs for more: # https://www.erlang.org/doc/man/compile - erlangDeterministicBuilds ? true, + erlangDeterministicBuilds ? finalAttrs.erlangDeterministicBuilds or true, # Mix dependencies provided as a fixed output derivation - mixFodDeps ? null, + mixFodDeps ? finalAttrs.mixFodDeps or null, # Mix dependencies generated by mix2nix # # This assumes each dependency is built by buildMix or buildRebar3. Each # dependency needs to have a setup hook to add the lib path to $ERL_LIBS. # This is how Mix finds dependencies. - mixNixDeps ? { }, + mixNixDeps ? finalAttrs.mixNixDeps or { }, - elixir ? inputs.elixir, - erlang ? inputs.erlang, - hex ? (inputs.hex.override { inherit elixir; }), + elixir ? finalAttrs.elixir or inputs.elixir, + erlang ? finalAttrs.erlang or inputs.erlang, + hex ? finalAttrs.hex or (inputs.hex.override { inherit elixir; }), # Remove releases/COOKIE # @@ -87,14 +87,15 @@ lib.extendMkDerivation { # # You can always specify a custom cookie by using RELEASE_COOKIE environment # variable, regardless of the value of this attr. - removeCookie ? true, + removeCookie ? finalAttrs.removeCookie or true, # This reduces closure size, but can lead to some hard to understand runtime # errors, so use with caution. See e.g. # https://github.com/whitfin/cachex/issues/205 # https://framagit.org/framasoft/mobilizon/-/issues/1169 - stripDebug ? false, - passthru ? { }, + stripDebug ? finalAttrs.stripDebug or false, + passthru ? finalAttrs.passthru or { }, + env ? finalAttrs.env or { }, ... }@initAttrs: @@ -119,7 +120,7 @@ lib.extendMkDerivation { { #inherit (initAttrs) passthru; nativeBuildInputs = - nativeBuildInputs + (initAttrs.nativeBuildInputs or [ ]) ++ # Erlang/Elixir deps [ @@ -141,7 +142,7 @@ lib.extendMkDerivation { makeWrapper ]; - buildInputs = buildInputs ++ lib.optionals (escriptBinName != null) [ erlang ]; + buildInputs = (initAttrs.buildInputs or [ ]) ++ lib.optionals (escriptBinName != null) [ erlang ]; env = { MIX_ENV = mixEnv; @@ -162,7 +163,8 @@ lib.extendMkDerivation { LANG = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "C"; LC_CTYPE = if stdenv.hostPlatform.isLinux then "C.UTF-8" else "UTF-8"; - }; + } + // initAttrs.env or { }; __darwinAllowLocalNetworking = true; diff --git a/projects/Bonfire/services/bonfire/tests/basic.nix b/projects/Bonfire/services/bonfire/tests/basic.nix index 37a2e4aad..3dbaac544 100644 --- a/projects/Bonfire/services/bonfire/tests/basic.nix +++ b/projects/Bonfire/services/bonfire/tests/basic.nix @@ -32,7 +32,7 @@ interactive = { # HowTo(maint/debug): - # nix -L run -f . hydrated-projects.Bonfire.nixos.tests.basic.driverInteractive + # nix -L run -f . projects.Bonfire.tests.basic.driverInteractive # python> start_all() # ssh -o User=root vsock/3 sshBackdoor.enable = true; @@ -43,7 +43,7 @@ networking.firewall.allowedTCPPorts = [ 80 ]; virtualisation.forwardPorts = [ # HowTo(maint/debug): - # nix -L run -f . hydrated-projects.Bonfire.nixos.tests.basic.driverInteractive + # nix -L run -f . projects.Bonfire.tests.basic.driverInteractive # python> start_all() # firefox http://localhost:4000 { From 6b094c6070a285758f225791fc31876f605ff443 Mon Sep 17 00:00:00 2001 From: eljamm Date: Tue, 31 Mar 2026 15:31:49 +0200 Subject: [PATCH 34/35] pkgs(bonfire): vendor vix fix patch because the current patch has a hash mismatch, given the PR was probably not merged at the time this was introduced. --- pkgs/by-name/bonfire/fix-vix.patch | 54 ++++++++++++++++++++++++++++++ pkgs/by-name/bonfire/package.nix | 7 +--- 2 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 pkgs/by-name/bonfire/fix-vix.patch diff --git a/pkgs/by-name/bonfire/fix-vix.patch b/pkgs/by-name/bonfire/fix-vix.patch new file mode 100644 index 000000000..74dbe0fa4 --- /dev/null +++ b/pkgs/by-name/bonfire/fix-vix.patch @@ -0,0 +1,54 @@ +From 98d38c339f467ed43f7572ae36cd2ca905927efe Mon Sep 17 00:00:00 2001 +From: Julien Moutinho +Date: Mon, 23 Feb 2026 03:52:40 +0100 +Subject: [PATCH] build/fix(vix): update vix-0.35.0 -> vix-0.38.0 + +```console +$ MIX_ENV=prod WITH_IMAGE_VIX=1 WITH_GIT_DEPS=1 mix deps.update vix +``` + +Issue: https://github.com/akash-akya/vix/issues/206 +--- + mix.lock | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/mix.lock b/mix.lock +index bf40bbec778..959a26d2254 100644 +--- a/mix.lock ++++ b/mix.lock +@@ -26,7 +26,7 @@ + "bamboo_ses": {:hex, :bamboo_ses, "0.4.7", "85d09e43ceb80acbe374bbeb4103d5540fd528d55897004ebc120d7ea72efbb2", [:mix], [{:bamboo, "~> 2.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:ex_aws, "~> 2.4", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:gen_smtp, "~> 1.2", [hex: :gen_smtp, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dadfec5b2dadc92957771d57241c8ffff3dd76031160eea0732ab8831c90f9c0"}, + "bamboo_smtp": {:hex, :bamboo_smtp, "4.2.2", "e9f57a2300df9cb496c48751bd7668a86a2b89aa2e79ccaa34e0c46a5f64c3ae", [:mix], [{:bamboo, "~> 2.2.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:gen_smtp, "~> 1.2.0", [hex: :gen_smtp, repo: "hexpm", optional: false]}], "hexpm", "28cac2ec8adaae02aed663bf68163992891a3b44cfd7ada0bebe3e09bed7207f"}, + "bamboo_sparkpost": {:hex, :bamboo_sparkpost, "2.0.0", "8617642e438340186da422b7f1ec25663d1c8fa869ecaf3e5ba2524131a1b5f0", [:mix], [{:bamboo, "~> 2.0", [hex: :bamboo, repo: "hexpm", optional: false]}], "hexpm", "a89a1c29e122270e50c53c77e091d885c40bebb689f8904572c38b299649bebf"}, +- "bandit": {:hex, :bandit, "1.10.2", "d15ea32eb853b5b42b965b24221eb045462b2ba9aff9a0bda71157c06338cbff", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "27b2a61b647914b1726c2ced3601473be5f7aa6bb468564a688646a689b3ee45"}, ++ "bandit": {:hex, :bandit, "1.10.3", "1e5d168fa79ec8de2860d1b4d878d97d4fbbe2fdbe7b0a7d9315a4359d1d4bb9", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "99a52d909c48db65ca598e1962797659e3c0f1d06e825a50c3d75b74a5e2db18"}, + "basic_auth": {:hex, :basic_auth, "2.2.5", "ec2c934e4943b63cfc7d6b01c6f3fa51ade2a518ca36c9c0caee18a90bf98c4e", [:mix], [{:plug, "~> 0.14 or ~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "8b5f067bcfe48d7dc02d43c18ad9e9b54e630c2da720667ac8ed46979b54b7cb"}, + "beam_file": {:hex, :beam_file, "0.6.4", "73660f76330e6b29be2b8ae3779b30cb67a7803cde88a21e3e74371130eed4d4", [:mix], [], "hexpm", "3f295dba08a68360903e86be4f183d7fb70f762ee37ee176438dde23ea494431"}, + "benchee": {:hex, :benchee, "1.5.0", "4d812c31d54b0ec0167e91278e7de3f596324a78a096fd3d0bea68bb0c513b10", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}, {:statistex, "~> 1.1", [hex: :statistex, repo: "hexpm", optional: false]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "5b075393aea81b8ae74eadd1c28b1d87e8a63696c649d8293db7c4df3eb67535"}, +@@ -251,7 +251,7 @@ + "mogrify": {:hex, :mogrify, "0.9.3", "238c782f00271dace01369ad35ae2e9dd020feee3443b9299ea5ea6bed559841", [:mix], [], "hexpm", "0189b1e1de27455f2b9ae8cf88239cefd23d38de9276eb5add7159aea51731e6"}, + "mox": {:hex, :mox, "1.2.0", "a2cd96b4b80a3883e3100a221e8adc1b98e4c3a332a8fc434c39526babafd5b3", [:mix], [{:nimble_ownership, "~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}], "hexpm", "c7b92b3cc69ee24a7eeeaf944cd7be22013c52fcb580c1f33f50845ec821089a"}, + "mua": {:hex, :mua, "0.2.6", "e7b05ade4eed6c99a6fecdd8b7f160c8bfcb78432583fdb0fc04d41a72908bee", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "c8bd1417dc18208eed3a3e0f1b847930e7b649e3e71165d2934f3b1ba62b3c18"}, +- "nebulex": {:hex, :nebulex, "2.6.5", "b1caa82ef46e9cf8c28f170b432c6938747741ab5d84b2c944277180b8ad8695", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.1", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "4eb4092058ba53289cb4d5a1b109de6fd094883dfc84a1c2f2ccc57e61a24935"}, ++ "nebulex": {:hex, :nebulex, "2.6.6", "677e27fcfa89eaa085d9509d5e066f305f98c1b2264ce6676eaca6fb08d4939e", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.1", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "8cbf531af6fe407383b6ba410a43a19319af47804929d8a8d1975a780b9952df"}, + "needle": {:git, "https://github.com/bonfire-networks/needle", "abde6de21bae3d2867fac88ef12af7edd65e6558", []}, + "needle_uid": {:git, "https://github.com/bonfire-networks/needle_uid", "d001d6915795a22b5a2d481b51475f922b0a672e", []}, + "needle_ulid": {:git, "https://github.com/bonfire-networks/needle_ulid", "2f6350540553beba295788c2893b5e85237e0ca6", []}, +@@ -342,7 +342,7 @@ + "social": {:git, "https://github.com/bonfire-networks/social", "b48bf9d88630d44561ad7aff611487d8f1381714", []}, + "solid": {:hex, :solid, "0.18.0", "6b20770ab046b0f202bae7454f84013392a93000c719383306eac7514400de7e", [:mix], [{:nimble_parsec, "~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7704681c11c880308fe1337acf7690083f884076b612d38b7dccb5a1bd016068"}, + "sourceror": {:hex, :sourceror, "1.6.0", "9907884e1449a4bd7dbaabe95088ed4d9a09c3c791fb0103964e6316bc9448a7", [:mix], [], "hexpm", "e90aef8c82dacf32c89c8ef83d1416fc343cd3e5556773eeffd2c1e3f991f699"}, +- "spitfire": {:hex, :spitfire, "0.3.6", "47b96c7ec7c7dde23516c8bec9431d4c2d576acea33e740104911623af10beaf", [:mix], [], "hexpm", "a649e9393c06b0474e1584ffbfeb6527703c3101a883335f75fb521dc10f5929"}, ++ "spitfire": {:hex, :spitfire, "0.3.7", "d6051f94f554d33d038ab3c1d7e017293ae30429cc6b267b08cb6ad69e35e9a3", [:mix], [], "hexpm", "798ff97db02477b05fa3db8e2810cebda6ed5d90c6de6b21aa65abd577599744"}, + "sql": {:hex, :sql, "0.4.0", "4a092eab88a5346a87dff7116d3e48ef129b8f59a77c3431d620a9375bcc7bbd", [:mix], [{:unicode_set, "~> 1.0", [hex: :unicode_set, repo: "hexpm", optional: false]}], "hexpm", "f11dab48f43d746add1967cca515317e813c9267edf682ca79e92fda28930348"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, + "statistex": {:hex, :statistex, "1.1.0", "7fec1eb2f580a0d2c1a05ed27396a084ab064a40cfc84246dbfb0c72a5c761e5", [:mix], [], "hexpm", "f5950ea26ad43246ba2cce54324ac394a4e7408fdcf98b8e230f503a0cba9cf5"}, +@@ -382,7 +382,7 @@ + "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm", "c790593b4c3b601f5dc2378baae7efaf5b3d73c4c6456ba85759905be792f2ac"}, + "verbs": {:git, "https://github.com/shannonwells/verbs_ex", "afa4693964dae0d9aceb60a73f1766c6d4f68d25", []}, + "versioce": {:hex, :versioce, "2.0.0", "a31b5e7b744d0d4a3694dd6fe4c0ee403e969631789e73cbd2a3367246404948", [:mix], [{:git_cli, "~> 0.3.0", [hex: :git_cli, repo: "hexpm", optional: true]}], "hexpm", "b2112ce621cd40fe23ad957a3dd82bccfdfa33c9a7f1e710a44b75ae772186cc"}, +- "vix": {:hex, :vix, "0.35.0", "f6319b715e3b072e53eba456a21af5f2ff010a7a7b19b884600ea98a0609b18c", [:make, :mix], [{:cc_precompiler, "~> 0.1.4 or ~> 0.2", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.7.3 or ~> 0.8", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:kino, "~> 0.7", [hex: :kino, repo: "hexpm", optional: true]}], "hexpm", "a3e80067a89d0631b6cf2b93594e03c1b303a2c7cddbbdd28040750d521984e5"}, ++ "vix": {:hex, :vix, "0.38.0", "77529ee4f6ced339c3d5f90a9eacf306f5b7109d3d1b5e3ef391a984ad404f75", [], [{:cc_precompiler, "~> 0.1.4 or ~> 0.2", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.7.3 or ~> 0.8", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:kino, "~> 0.7", [hex: :kino, repo: "hexpm", optional: true]}], "hexpm", "dca58f654922fa678d5df8e028317483d9c0f8acb2e2714076a8468695687aa7"}, + "voodoo": {:git, "https://github.com/bonfire-networks/voodoo", "cc2d61300554edc52f933f10dcf77a046a5751e2", []}, + "waffle": {:hex, :waffle, "1.1.10", "0f847ed6f95349af258a90f0f70ffea02b3d3729c4eb78f6fae7bf776e91779e", [:mix], [{:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:ex_aws_s3, "~> 2.1", [hex: :ex_aws_s3, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "859ba6377b78f0a51bc9596227b194f26241efbbd408bd217450c22b0f359cc4"}, + "wallaby": {:hex, :wallaby, "0.30.12", "1736bad495b222053a04307e22075bf3a38e7978363294d1eacdea1417bbb208", [:mix], [{:ecto_sql, ">= 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}, {:httpoison, "~> 0.12 or ~> 1.0 or ~> 2.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix_ecto, ">= 3.0.0", [hex: :phoenix_ecto, repo: "hexpm", optional: true]}, {:web_driver_client, "~> 0.2.0", [hex: :web_driver_client, repo: "hexpm", optional: false]}], "hexpm", "03b33244213b53af7c7e354a6ce129b1ffec9c57cac613eb76543f1fd46fcf70"}, diff --git a/pkgs/by-name/bonfire/package.nix b/pkgs/by-name/bonfire/package.nix index 0254989a1..7fa353dd1 100644 --- a/pkgs/by-name/bonfire/package.nix +++ b/pkgs/by-name/bonfire/package.nix @@ -2,7 +2,6 @@ _experimental-update-script-combinators, callPackage, fetchFromGitHub, - fetchpatch2, gitMinimal, gitUpdater, lib, @@ -43,11 +42,7 @@ lib.recurseIntoAttrs ( patches = [ # ToDo(maint/update): remove when merged upstream # PR: https://github.com/bonfire-networks/bonfire-app/pull/1821 - (fetchpatch2 { - name = "fix-vix"; - url = "https://github.com/bonfire-networks/bonfire-app/commit/98d38c339f467ed43f7572ae36cd2ca905927efe.patch"; - hash = "sha256-7W7CYdP02F/aFa1+hT0FHNngywrO6hTg1/Nw441bd5A="; - }) + ./fix-vix.patch ]; env = previousAttrs.env or { } // { From e2e92eabe2eaf6469f2317a737889257ddabd091 Mon Sep 17 00:00:00 2001 From: eljamm Date: Tue, 31 Mar 2026 19:08:24 +0200 Subject: [PATCH 35/35] pkgs(bonfire): pin protobuf to version 32 --- pkgs/by-name/bonfire/deps/evision/opencv.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/bonfire/deps/evision/opencv.nix b/pkgs/by-name/bonfire/deps/evision/opencv.nix index 2b91c85b7..dae3c42f1 100644 --- a/pkgs/by-name/bonfire/deps/evision/opencv.nix +++ b/pkgs/by-name/bonfire/deps/evision/opencv.nix @@ -4,6 +4,7 @@ fetchpatch2, python3, python3Packages, + protobuf_32, enableContrib ? true, enableCuda ? false, apply_patch_py, @@ -14,6 +15,7 @@ let in (python3Packages.opencv4.override { inherit enableContrib; + protobuf = protobuf_32; # Explanation: match CMAKE_OPENCV_IMG_CODER_SELECTION in evision/Makefile enableEXR = true; enableJPEG = true;