diff --git a/pkgs/by-name/ac/actual-server/missing-hashes.json b/pkgs/by-name/ac/actual-server/missing-hashes.json index 70f0d6b4571a..a0d80d456a76 100644 --- a/pkgs/by-name/ac/actual-server/missing-hashes.json +++ b/pkgs/by-name/ac/actual-server/missing-hashes.json @@ -167,6 +167,7 @@ "dmg-license@npm:1.0.11": "36c0a7b030801b91216affa9b2bb00caa345b2327f298accb2263a80a0320ca305f90b99da68007d187c830c543410d58a0a2bbc229e8d169b0e1d1652ff42aa", "glob-hasher-darwin-arm64@npm:1.4.2": "1abc74c6f6c6251b8bea6e412090eff4e4918f3489a371971840ee81534344b9f9e62a610efb98157970fc46561161bf23382c8572578da98a7e884d6fb6853e", "glob-hasher-darwin-x64@npm:1.4.2": "44110045f0b2e0b3abaf4f70f917a3c57b9b0c6ee56e5d02932e1772cc63a36b066fb3bc1e6a275c40978b3b2d2ad62752e899bcd966930d4df8884b1d554764", + "glob-hasher-linux-arm64-gnu@npm:1.4.2": "095332b8a296d3bf2402451d18594a6be0cc0e921ea0e928a49c9678db61bc849a223c80ebd7ba11fb81a491218d994fb9ddab7ee838810b8321dfd9b24b9505", "glob-hasher-linux-x64-gnu@npm:1.4.2": "3c4a12ba68d400ab6a4552793530a631e0a1d5e089202d93cd561e967f2e0c6d1a18bae0ef7c571c2d4b40d6ba56c4573277ba1c37dc351efc582fa88703986b", "glob-hasher-win32-arm64-msvc@npm:1.4.2": "809cd80c3e3e6e7bb82e2fc2ba917ce3ca91287a83faaa7b63cf0a1fcb14c228e974baffb731fa82c34dd8a9236622ab2b5238e21b62f8b0267adaa2da7b4de6", "glob-hasher-win32-x64-msvc@npm:1.4.2": "1ab2a78b788b21754f656cae706fa2e1db34185ffef79a6b85d3f24e169bc01e1faadc6a2588eef5fde5a1fe6ced68acfb815c7b03024c0a746e7c5631b0959e", diff --git a/pkgs/by-name/ac/actual-server/package.nix b/pkgs/by-name/ac/actual-server/package.nix index 670b5343ec26..65403cf8824b 100644 --- a/pkgs/by-name/ac/actual-server/package.nix +++ b/pkgs/by-name/ac/actual-server/package.nix @@ -3,6 +3,7 @@ stdenv, cctools, fetchFromGitHub, + git, jq, makeBinaryWrapper, nodejs_22, @@ -14,13 +15,13 @@ let nodejs = nodejs_22; yarn-berry = yarn-berry_4.override { inherit nodejs; }; - version = "26.5.2"; + version = "26.6.0"; src = fetchFromGitHub { name = "actualbudget-actual-source"; owner = "actualbudget"; repo = "actual"; tag = "v${version}"; - hash = "sha256-bcQAlG9acxTSqOQiSr1pmk4A6yjDWD/QH3AeYtqgAdo="; + hash = "sha256-Ulz3M5z78mJQRr+te7qwVCeULCgEfE17NECSBagbI88="; }; translations = fetchFromGitHub { name = "actualbudget-translations-source"; @@ -28,8 +29,8 @@ let repo = "translations"; # Note to updaters: this repo is not tagged, so just update this to the Git # tip at the time the update is performed. - rev = "1713f1230b8643c39aece866de755976707a4060"; - hash = "sha256-79WpnFsGkpkWA7qm19YQ41TYu5qxXCcecYHNvx3KGQ4="; + rev = "c26df422b50745085191721b1f078664daac947d"; + hash = "sha256-u3EVA8J0VCLPafidGHhDiySB2fQdibntN+6FfErQi70="; }; in @@ -52,6 +53,9 @@ stdenv.mkDerivation (finalAttrs: { (yarn-berry.yarnBerryConfigHook.override { inherit nodejs; }) (python3.withPackages (ps: [ ps.setuptools ])) # Used by node-gyp makeBinaryWrapper + # lage (used by `bin/package-browser`) shells out to `git ls-tree` to + # compute file hashes for its build cache. + git ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cctools @@ -96,6 +100,12 @@ stdenv.mkDerivation (finalAttrs: { export HOME=$(mktemp -d) + # lage hashes source files via `git ls-tree HEAD`, so it needs a repo with + # at least one commit. + git -c init.defaultBranch=main init -q + git add -A + git -c user.email=nix@localhost -c user.name=nix commit -q --allow-empty -m "snapshot" + yarn build:server yarn workspace @actual-app/sync-server build @@ -105,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: { missingHashes = ./missing-hashes.json; offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes patches; - hash = "sha256-yHvnahriFO4Yuuf+NrfHWQhH35T2eHmVOGw8SqP856Y="; + hash = "sha256-lC9+B9agqwVARfMhXSTjb6cBj23PQz+RpZZ700jypF4="; }; pname = "actual-server"; @@ -115,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall mkdir -p $out/{bin,lib,lib/actual/packages/sync-server,lib/actual/packages/desktop-client} - cp -r ./packages/sync-server/build/{app.js,src,migrations,bin} $out/lib/actual/packages/sync-server + cp -r ./packages/sync-server/build/. $out/lib/actual/packages/sync-server/ # sync-server uses package.json to determine version info cp ./packages/sync-server/package.json $out/lib/actual/packages/sync-server # sync-server uses package.json to determine path to web ui. diff --git a/pkgs/by-name/ac/actual-server/yarn-4.14-support.patch b/pkgs/by-name/ac/actual-server/yarn-4.14-support.patch index 4cbf5e46dfa5..bc1a646f3774 100644 --- a/pkgs/by-name/ac/actual-server/yarn-4.14-support.patch +++ b/pkgs/by-name/ac/actual-server/yarn-4.14-support.patch @@ -1,14 +1,17 @@ diff --git a/.yarnrc.yml b/.yarnrc.yml --- a/.yarnrc.yml +++ b/.yarnrc.yml -@@ -6,4 +6,7 @@ enableTransparentWorkspaces: false +@@ -6,8 +6,9 @@ enableTransparentWorkspaces: false nodeLinker: node-modules -yarnPath: .yarn/releases/yarn-4.13.0.cjs +approvedGitRepositories: + - "**" -+ + + # Secure default: don't run postinstall scripts. + # If a new package requires them, add it to dependenciesMeta in package.json. +-enableScripts: false +enableScripts: true diff --git a/yarn.lock b/yarn.lock --- a/yarn.lock