dep: add asdf to make ql-deps; git pull if dir

For #58, add $(QLDIR)/adsf recipe

Also added make function to pull instead of clone if local-projects dir already exists
This commit is contained in:
WillForan 2024-08-31 14:48:18 -04:00 committed by vindarel
parent cb82bf4f69
commit 064c9d41e0

View file

@ -2,38 +2,57 @@ LISP ?= sbcl
all: build
# can use bespoke dir like 'QLDIR=~/nostandard/local-projects make'
QLDIR ?= $(HOME)/quicklisp/local-projects
# make will exit early if git clone errors b/c dir already exists
define git-clone-pull =
if test -d $(QLDIR)/$(notdir $1); then cd $(QLDIR)/$(notdir $1) && git pull; else git clone $1 $(QLDIR)/$(notdir $1); fi
endef
$(QLDIR)/asdf:
# 2024-08: building with older asdf fails
# unrecognized define-package keyword :LOCAL-NICKNAMES
# https://github.com/ciel-lang/CIEL/issues/58
mkdir -p $(QLDIR)
cd $(QLDIR) && \
curl -sL https://asdf.common-lisp.dev/archives/asdf-3.3.5.tar.gz | \
tar -xvzf - && \
mv asdf-3.3.5 asdf
# Install some Quicklisp dependencies.
ql-deps:
ql-deps: $(QLDIR)/asdf
# 2023-11: The symbol SB-INT:TRULY-DYNAMIC-EXTENT is absent since at least
# SBCL v2.3.10, which was required in older versions of cl-environments
# and cl-form-types.
# See issue https://github.com/ciel-lang/CIEL/issues/38
# This has been fixed upstream, not yet in Quicklisp
git clone https://github.com/alex-gutev/cl-environments ~/quicklisp/local-projects/cl-environments
git clone https://github.com/alex-gutev/cl-form-types ~/quicklisp/local-projects/cl-form-types
$(call git-clone-pull,https://github.com/alex-gutev/cl-environments)
$(call git-clone-pull,https://github.com/alex-gutev/cl-form-types)
# 2024-08: Moira needs moira/light, added <2023-11-23 Thu>, not on Quicklisp…
# moira/light doesn't depend on Osicat.
git clone https://github.com/ruricolist/moira/ ~/quicklisp/local-projects/moira
$(call git-clone-pull,https://github.com/ruricolist/moira)
# 2024-08: simple progress bar, not in Quicklisp.
git clone https://github.com/vindarel/progressons ~/quicklisp/local-projects/progressons
$(call git-clone-pull,https://github.com/vindarel/progressons)
# termp, little utility
git clone https://github.com/vindarel/termp ~/quicklisp/local-projects/termp
$(call git-clone-pull,https://github.com/vindarel/termp)
# 2024-08: not in Quicklisp
git clone https://github.com/lisp-maintainers/file-finder ~/quicklisp/local-projects/file-finder
$(call git-clone-pull,https://github.com/lisp-maintainers/file-finder)
# <2024-08-30> error with SBCL: Lock on package SB-DI violated…
# fixed https://github.com/Shinmera/dissect/issues/18 on March, 2024 (not in Quicklisp…)
git clone https://github.com/Shinmera/dissect/ ~/quicklisp/local-projects/dissect
$(call git-clone-pull,https://github.com/Shinmera/dissect)
# fix fset on latest SBCL
# "Lock on package SB-EXT violated when interning ONCE-ONLY while in package FSET"
# see https://github.com/slburson/fset/pull/46
git clone https://gitlab.common-lisp.net/misc-extensions/misc-extensions ~/quicklisp/local-projects/misc-extensions
git clone https://github.com/slburson/fset/ ~/quicklisp/local-projects/fset
$(call git-clone-pull,https://gitlab.common-lisp.net/misc-extensions/misc-extensions)
$(call git-clone-pull,https://github.com/slburson/fset)
# Install some system dependencies.
debian-deps: