nandi/frqpublic Fork 0
95d91a2
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Make ../common a dependency rather than a path

tools.deps has deprecated :paths that leave the project, so every
`just flutter-desktop` opened with a warning about ../common. :local/root
is what it deprecated them in favour of; common/ gets a deps.edn of its
own to be pointed at, and the cljd-deps stub — which fabricated an empty
../common for the classpath — now puts that file in it too, since an
empty directory no longer resolves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nandi committed 2026-09-12T07:35:04-07:00 Browse files
95d91a2 parent: 3ee0b5b
added common/deps.edn +9 -0
new file mode 100644
@@ -0,0 +1,9 @@
1+{;; This directory is a dependency rather than a source path, and only because
2+ ;; tools.deps has deprecated `:paths` that leave the project: `../common` in
3+ ;; flutter/deps.edn warned on every build. `:local/root` is the supported way
4+ ;; to say the same thing, and it needs a deps.edn here to point at.
5+ ;;
6+ ;; Nothing else: the deps of the two halves that compile this belong to those
7+ ;; halves. `.` is the whole directory, so frq.clock, frq.store and frq.io land
8+ ;; on the classpath exactly as they did.
9+ :paths ["."]}
new file mode 100644
@@ -0,0 +1,9 @@
1+{;; This directory is a dependency rather than a source path, and only because
2+ ;; tools.deps has deprecated `:paths` that leave the project: `../common` in
3+ ;; flutter/deps.edn warned on every build. `:local/root` is the supported way
4+ ;; to say the same thing, and it needs a deps.edn here to point at.
5+ ;;
6+ ;; Nothing else: the deps of the two halves that compile this belong to those
7+ ;; halves. `.` is the whole directory, so frq.clock, frq.store and frq.io land
8+ ;; on the classpath exactly as they did.
9+ :paths ["."]}
modified flake.nix +5 -3
@@ -521,11 +521,13 @@
521521 export SSL_CERT_FILE="${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
522522 mkdir -p "$HOME" "$PUB_CACHE" "$GITLIBS" "$cache/m2"
523523
524- # The stub: our dependency files, nothing of our source. `:paths`
525- # still names ../common, so that has to exist for tools.deps to
526- # build a classpath — empty is enough.
524+ # The stub: our dependency files, nothing of our source.
525+ # ../common is a :local/root dependency now, so it has to exist
526+ # *and* carry a deps.edn for tools.deps to resolve — an empty
527+ # directory with that one file in it is enough.
527528 proj="$NIX_BUILD_TOP/stub"
528529 mkdir -p "$proj/src/stub" "$NIX_BUILD_TOP/common"
530+ cp ${./common/deps.edn} "$NIX_BUILD_TOP/common/deps.edn"
529531 cp ${./flutter/deps.edn} "$proj/deps.edn"
530532 cp ${./flutter/pubspec.yaml} "$proj/pubspec.yaml"
531533 chmod u+w "$proj/deps.edn" "$proj/pubspec.yaml"
@@ -521,11 +521,13 @@
521 export SSL_CERT_FILE="${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"521 export SSL_CERT_FILE="${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
522 mkdir -p "$HOME" "$PUB_CACHE" "$GITLIBS" "$cache/m2"522 mkdir -p "$HOME" "$PUB_CACHE" "$GITLIBS" "$cache/m2"
523 523
524- # The stub: our dependency files, nothing of our source. `:paths`524+ # The stub: our dependency files, nothing of our source.
525- # still names ../common, so that has to exist for tools.deps to525+ # ../common is a :local/root dependency now, so it has to exist
526- # build a classpath — empty is enough.526+ # *and* carry a deps.edn for tools.deps to resolve — an empty
527+ # directory with that one file in it is enough.
527 proj="$NIX_BUILD_TOP/stub"528 proj="$NIX_BUILD_TOP/stub"
528 mkdir -p "$proj/src/stub" "$NIX_BUILD_TOP/common"529 mkdir -p "$proj/src/stub" "$NIX_BUILD_TOP/common"
530+ cp ${./common/deps.edn} "$NIX_BUILD_TOP/common/deps.edn"
529 cp ${./flutter/deps.edn} "$proj/deps.edn"531 cp ${./flutter/deps.edn} "$proj/deps.edn"
530 cp ${./flutter/pubspec.yaml} "$proj/pubspec.yaml"532 cp ${./flutter/pubspec.yaml} "$proj/pubspec.yaml"
531 chmod u+w "$proj/deps.edn" "$proj/pubspec.yaml"533 chmod u+w "$proj/deps.edn" "$proj/pubspec.yaml"
modified flutter/deps.edn +7 -2
@@ -4,9 +4,14 @@
44 ;; everything shared is .cljc and everything jolt-only stays .clj: the
55 ;; extension is the boundary, enforced by the compiler rather than by
66 ;; convention.
7- :paths ["src" "../common"]
7+ :paths ["src"]
88
9- :deps {tensegritics/clojuredart
9+ ;; `../common` is a dependency and not a path: tools.deps deprecated `:paths`
10+ ;; pointing outside the project, and `:local/root` is what it deprecated them
11+ ;; in favour of. common/deps.edn puts the same directory on the classpath.
12+ :deps {frq/common {:local/root "../common"}
13+
14+ tensegritics/clojuredart
1015 {:git/url "https://github.com/Tensegritics/ClojureDart.git"
1116 ;; ClojureDart HEAD as of 2026-09-12. It has no releases; a sha is
1217 ;; the only pin there is.
@@ -4,9 +4,14 @@
4 ;; everything shared is .cljc and everything jolt-only stays .clj: the4 ;; everything shared is .cljc and everything jolt-only stays .clj: the
5 ;; extension is the boundary, enforced by the compiler rather than by5 ;; extension is the boundary, enforced by the compiler rather than by
6 ;; convention.6 ;; convention.
7- :paths ["src" "../common"]7+ :paths ["src"]
8 8
9- :deps {tensegritics/clojuredart9+ ;; `../common` is a dependency and not a path: tools.deps deprecated `:paths`
10+ ;; pointing outside the project, and `:local/root` is what it deprecated them
11+ ;; in favour of. common/deps.edn puts the same directory on the classpath.
12+ :deps {frq/common {:local/root "../common"}
13+
14+ tensegritics/clojuredart
10 {:git/url "https://github.com/Tensegritics/ClojureDart.git"15 {:git/url "https://github.com/Tensegritics/ClojureDart.git"
11 ;; ClojureDart HEAD as of 2026-09-12. It has no releases; a sha is16 ;; ClojureDart HEAD as of 2026-09-12. It has no releases; a sha is
12 ;; the only pin there is.17 ;; the only pin there is.