diff --git a/flake.lock b/flake.lock index 68d6eb5..14956f4 100644 --- a/flake.lock +++ b/flake.lock @@ -64,6 +64,42 @@ "type": "github" } }, + "javafx-base": { + "flake": false, + "locked": { + "narHash": "sha256-96fttJUts/rFwKB7u5G8NWkK2NjJ3a6eIKbe1RTWkmM=", + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-base/25/javafx-base-25-linux.jar" + }, + "original": { + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-base/25/javafx-base-25-linux.jar" + } + }, + "javafx-controls": { + "flake": false, + "locked": { + "narHash": "sha256-2Cdc2/hPOjJmQidDjXu9vnlwAuawLn0cg/tLhzFfkUs=", + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-controls/25/javafx-controls-25-linux.jar" + }, + "original": { + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-controls/25/javafx-controls-25-linux.jar" + } + }, + "javafx-graphics": { + "flake": false, + "locked": { + "narHash": "sha256-w01IhRAQzcfTvwkqIQkjrI8ZPXT0VTEeijfzbqp3G0k=", + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-graphics/25/javafx-graphics-25-linux.jar" + }, + "original": { + "type": "file", + "url": "https://repo.maven.apache.org/maven2/org/openjfx/javafx-graphics/25/javafx-graphics-25-linux.jar" + } + }, "jlibghostty": { "inputs": { "ghostty": "ghostty", @@ -129,6 +165,9 @@ }, "root": { "inputs": { + "javafx-base": "javafx-base", + "javafx-controls": "javafx-controls", + "javafx-graphics": "javafx-graphics", "jlibghostty": "jlibghostty", "jtoml-all": "jtoml-all", "nixpkgs": "nixpkgs_2" diff --git a/flake.nix b/flake.nix index 53a392d..b9ad6cf 100644 --- a/flake.nix +++ b/flake.nix @@ -57,10 +57,14 @@ buildPhase = '' runHook preBuild - mkdir -p build/classes build/native-image + mkdir -p build/classes build/native-image build/lib build/javafx-modules find src/main/java -name '*.java' | sort > build/sources.txt - javafx_module_path="${javafx-base}:${javafx-controls}:${javafx-graphics}" + ln -s ${jtoml-all} build/lib/jtoml-all.jar + ln -s ${javafx-base} build/javafx-modules/javafx-base.jar + ln -s ${javafx-controls} build/javafx-modules/javafx-controls.jar + ln -s ${javafx-graphics} build/javafx-modules/javafx-graphics.jar + javafx_module_path="build/javafx-modules" jlib_classpath="$( find ${jlib}/maven -type f -name '*.jar' \ @@ -69,13 +73,13 @@ | sort \ | paste -sd: - )" - app_classpath="build/classes:${jtoml-all}:$jlib_classpath:${javafx-base}:${javafx-controls}:${javafx-graphics}" + app_classpath="build/classes:build/lib/jtoml-all.jar:$jlib_classpath:build/javafx-modules/javafx-base.jar:build/javafx-modules/javafx-controls.jar:build/javafx-modules/javafx-graphics.jar" javac \ --release 25 \ --module-path "$javafx_module_path" \ --add-modules javafx.controls,javafx.graphics \ - -cp "${jtoml-all}:$jlib_classpath" \ + -cp "build/lib/jtoml-all.jar:$jlib_classpath" \ -d build/classes \ @build/sources.txt