Separate building stift from installing it (don't copy into ~/.local/bin when building) #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Building stift from a clone and installing it are a single action.
sbcl --script install.lisp(install.lisp):bin/stiftwithasdf:makein a child SBCL, then~/.local/bin(orXDG_BIN_HOME, or a directorynamed on the command line) via
install-file.There is no way to build from a clone without also copying the result into a
PATHdirectory. (Thestift buildcommand itself only writesbin/stift—the coupling lives in the bootstrap script.)
Building should not copy the executable into
~/.local/bin. Building andinstalling should be separate, so one can build
bin/stift— to test it, torebuild in place, or in CI — without touching the user's bin directory.
Possible directions
install.lispbuild-only by default and install only when asked(e.g. a
--install [DIR]flag); orinstall.lispas the one-shot installer but add a documented build-onlypath.
The clone already rebuilds with
stift buildonce stift is installed; the gapis the first build, before stift exists, which today forces an install. Exact
shape to be decided here.
Impact
install.lispand the README "Installing" section.tests/install-test.lispdrivesinstall.lispend to end;tests/build-test.lispcoversstift build.