diff --git a/guix-packages/actual-server.scm b/guix-packages/actual-server.scm index e298be8..0194298 100644 --- a/guix-packages/actual-server.scm +++ b/guix-packages/actual-server.scm @@ -3,7 +3,10 @@ (guix build-system node) (guix utils) (guix build-system gnu) - (guix licenses)) + (guix licenses) + (gnu packages) + (gnu packages node) + (gnu packages package-management)) (define-public actual-server (package @@ -13,16 +16,25 @@ (method git-fetch) (uri (git-reference (url "https://github.com/actualbudget/actual-server") - (commit "master"))) ; Use the latest commit on master + (commit "db6b4e4"))) (file-name (git-file-name name version)) - (sha256 (base32 "0h88r7vy8mwpqqx4qg1gkpa4a7vd6wk3mcvc9vqvafcgf4d53rc6")))) ; Placeholder checksum - (build-system node-build-system) - (arguments + (sha256 (base32 "1zk4fas343y2sqskndgmq7ahkxiicqwbfnf9fgbqiqg99b6r08ik")))) + (build-system gnu-build-system) + (inputs + `(("node" ,(specification->package "node@18")))) + (arguments `(#:tests? #f ; Disable tests for simplicity #:phases (modify-phases %standard-phases - (add-after 'install 'yarn-install + (add-before 'configure 'install-yarn (lambda* (#:key inputs outputs #:allow-other-keys) - (invoke "yarn" "install")))))) + (let ((node (assoc-ref inputs "node"))) + (setenv "PATH" (string-append node "/bin:" (getenv "PATH"))) + (invoke "npm" "install" "--global" "yarn")))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((node (assoc-ref inputs "node"))) + (setenv "PATH" (string-append node "/bin:" (getenv "PATH"))) + (invoke "yarn" "install"))))))) (home-page "https://github.com/actualbudget/actual-server") (synopsis "Actual server for budget management") (description "Actual is a local-first personal finance tool.")