feat: Use GraalVM to beat Clojure startup times
Required a patch[1] to spec-dict. Something about GraalVM initialisation and
Clojure files without packages (i.e. single-level namespaced files). I don't
know!
[1]: 531d629b7f
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"lock-version": 4,
|
||||
"git-deps": [],
|
||||
"git-deps": [
|
||||
{
|
||||
"lib": "com.github.msyds/spec-dict",
|
||||
"url": "https://github.com/msyds/spec-dict.git",
|
||||
"rev": "531d629b7f05f37232261cf9e8927a4b5915714f",
|
||||
"git-dir": "https/github.com/msyds/spec-dict",
|
||||
"hash": "sha256-5hMdPsB8OhOCtByPZS+CHXzVLq0H+OBKKnXec21xwmg="
|
||||
}
|
||||
],
|
||||
"mvn-deps": [
|
||||
{
|
||||
"mvn-path": "babashka/fs/0.5.24/fs-0.5.24.jar",
|
||||
@@ -42,26 +50,6 @@
|
||||
"mvn-repo": "https://repo.clojars.org/",
|
||||
"hash": "sha256-eUGmk2TB2JzLpi2p+Ge//udJO7t/o339YCaPNt7KFek="
|
||||
},
|
||||
{
|
||||
"mvn-path": "clojure-lanterna/clojure-lanterna/0.9.7/clojure-lanterna-0.9.7.jar",
|
||||
"mvn-repo": "https://repo.clojars.org/",
|
||||
"hash": "sha256-rv2Pp1B4p64VdjzXBdJskFzPrK6gVZAL7JfWDfHQikU="
|
||||
},
|
||||
{
|
||||
"mvn-path": "clojure-lanterna/clojure-lanterna/0.9.7/clojure-lanterna-0.9.7.pom",
|
||||
"mvn-repo": "https://repo.clojars.org/",
|
||||
"hash": "sha256-a1fotCBLdq5aa6ioMIMvLowMJfVYMx4P2oJSj9VS3Cc="
|
||||
},
|
||||
{
|
||||
"mvn-path": "com/googlecode/lanterna/lanterna/2.1.7/lanterna-2.1.7.jar",
|
||||
"mvn-repo": "https://repo1.maven.org/maven2/",
|
||||
"hash": "sha256-Xr24XNnqvVTsGf+MoESc23RZWc6NTDGSWbs5rOS3hhg="
|
||||
},
|
||||
{
|
||||
"mvn-path": "com/googlecode/lanterna/lanterna/2.1.7/lanterna-2.1.7.pom",
|
||||
"mvn-repo": "https://repo1.maven.org/maven2/",
|
||||
"hash": "sha256-INQIUi0aEHp7mBvoD0f7t3c2NmMtqZS8/VlJb5JKW/4="
|
||||
},
|
||||
{
|
||||
"mvn-path": "com/kohlschutter/junixsocket/junixsocket-common/2.3.2/junixsocket-common-2.3.2.jar",
|
||||
"mvn-repo": "https://repo1.maven.org/maven2/",
|
||||
@@ -296,21 +284,6 @@
|
||||
"mvn-path": "org/clojure/spec.alpha/0.5.238/spec.alpha-0.5.238.pom",
|
||||
"mvn-repo": "https://repo1.maven.org/maven2/",
|
||||
"hash": "sha256-PLp+DcwIXEzpLd3/6iJhJP+sF4vnm9A3m1suMKlpy+o="
|
||||
},
|
||||
{
|
||||
"mvn-path": "org/sonatype/oss/oss-parent/7/oss-parent-7.pom",
|
||||
"mvn-repo": "https://repo1.maven.org/maven2/",
|
||||
"hash": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
{
|
||||
"mvn-path": "spec-dict/spec-dict/0.2.1/spec-dict-0.2.1.jar",
|
||||
"mvn-repo": "https://repo.clojars.org/",
|
||||
"hash": "sha256-a9AvVMvRL/4FoSLQLDjQBMutDIpwWEc7V5wrnjqAp34="
|
||||
},
|
||||
{
|
||||
"mvn-path": "spec-dict/spec-dict/0.2.1/spec-dict-0.2.1.pom",
|
||||
"mvn-repo": "https://repo.clojars.org/",
|
||||
"hash": "sha256-pTMOUp6WJneXHxP97KYVULX+Yqn04DJR2uvkXlxxRUQ="
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
babashka/fs {:mvn/version "0.5.24"}
|
||||
org.clojure/clojure {:mvn/version "1.12.0"}
|
||||
org.clojure/core.match {:mvn/version "1.1.0"}
|
||||
spec-dict/spec-dict {:mvn/version "0.2.1"}}
|
||||
com.github.msyds/spec-dict
|
||||
{:git/sha "531d629b7f05f37232261cf9e8927a4b5915714f"}}
|
||||
:paths ["src"]
|
||||
:aliases
|
||||
{:cider
|
||||
|
||||
@@ -35,7 +35,22 @@
|
||||
'';
|
||||
};
|
||||
in {
|
||||
packages.default = sydnix;
|
||||
packages.default = clj-nix.lib.mkCljApp {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
modules = [
|
||||
{
|
||||
name = "msyds/sydnix";
|
||||
version = "1.0";
|
||||
main-ns = "sydnix.main";
|
||||
projectSrc = ./.;
|
||||
|
||||
nativeImage = {
|
||||
enable = true;
|
||||
};
|
||||
# customJdk.enable = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(ns asciidoc.types
|
||||
(:require
|
||||
[clojure.spec.alpha :as s]
|
||||
[spec-dict :refer [->opt dict]]))
|
||||
[spec-dict.main :refer [->opt dict]]))
|
||||
|
||||
(defn- make-block-arguments [req opt]
|
||||
(let [args (dict req
|
||||
|
||||
Reference in New Issue
Block a user