Blog: 2024-08-27

From razwiki
Jump to navigation Jump to search

Got some interest in downloading planck clojurescript repl, as a more approachable runtime for a command line lisp editor that's not emacs. Anyways... elisp isn't that bad as a language really. But I got stuck on installing planck from source, I guess cause I don't have a `jar` command.

Here's what I tried to do to make it not have all these weird errors

planck $ git diff
diff --git a/script/get-closure-library b/script/get-closure-library
index aeedb61..b745168 100755
--- a/script/get-closure-library
+++ b/script/get-closure-library
@@ -14,7 +14,7 @@ if [ ! -f $output ]; then
     mkdir -p planck-cljs/lib/closure
     cd planck-cljs/lib/closure
     curl --retry 3 -LO -s https://repo1.maven.org/maven2/org/clojure/google-closure-library/$GCL_RELEASE/google-closure-library-$GCL_RELEASE.jar || { echo "Download failed."; exit 1; }
-    jar xf google-closure-library-$GCL_RELEASE.jar
+    jar xf google-closure-library-$GCL_RELEASE.jar || exit 1
     rm google-closure-library-$GCL_RELEASE.jar
     cd ..
     mkdir -p third_party/closure
planck $ 

The weird errors in question looked like

planck $ ./script/build
Creating an optimized build, using build cache to speed up build.
Specifying --fast skips optimizations and takes less than two minutes.
Fetching Google Closure Compiler...
Fetching Google Closure Library...
script/get-closure-library: line 17: jar: command not found
script/get-closure-library: line 23: jar: command not found
script/get-closure-library: line 37: cd: planck-cljs/lib/closure/goog: No such file or directory
script/get-closure-library: line 64: cd: planck-cljs/lib/third_party/closure/goog: No such file or directory
find: ‘./var/spool/cron/crontabs’: Permission denied
find: ‘./var/spool/cups’: Permission denied
find: ‘./var/spool/rsyslog’: Permission denied
find: ‘./var/spool/postfix/bounce’: Permission denied

Ok it wasn't erroring out when I was missing the `jar` command. I'm missing the jar command cause I did a weird java install to /opt with a single symlink for `java`. Better to add that whole java directory to my PATH:

# ~/.profile
...
export JAVA_HOME=/opt/java/jdk-20+36
export PATH="$JAVA_HOME/bin:$PATH"

Here's my whole .profile, since I don't track this in version control anyways...

# source "$HOME/.cargo/env"
export EDITOR='vim'
export BROWSER='firefox'
export PAGER='less'
export SUDO_EDITOR=/usr/bin/vi
export DENO_INSTALL="/home/razzi/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"

# Make firefox use wayland rather than xwayland to see if it improves scrolling.
export MOZ_ENABLE_WAYLAND=1

export RIPGREP_CONFIG_PATH=$HOME/.rgrc

export JAVA_HOME=/opt/java/jdk-20+36
export PATH="$JAVA_HOME/bin:$PATH"

# Disable venvs in prompt for poetry
export VIRTUAL_ENV_DISABLE_PROMPT=1
export LC_ALL=C.UTF-8

# Disable vim x integration
export SESSION_MANAGER=''

export GEM_HOME="$HOME/.ruby"

A bit messy and I kept all the stuff above it, commented out

---

Also realized that script/build wasn't being searched by rg. The cause was my global gitignore!

planck $ rg --debug GCC_R script/
...
DEBUG|ignore::walk|/usr/share/cargo/registry/ignore-0.4.18/src/walk.rs:1741: ignoring script/build: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/razzi/.gitignore_global"), original: "build", actual: "**/build", is_whitelist: false, is_only_dir: false })))

Also realized my `git untracked-files` doesn't work :/


planck $ git untracked-files
<no output>

Back into the coding mix, bugs abound!

---

Alright it was confusion on my part - I thought "untracked files" but really what I was looking for was ignored files. Which are a sort of untracked file, but for that I use `git ignored`.