-
-
Notifications
You must be signed in to change notification settings - Fork 19
dep: add asdf to make ql-deps; git pull if dir #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
For ciel-lang#58, add $(QLDIR)/adsf recipe Also added make function to pull instead of clone if local-projects dir already exists
This would pull this version of asdf for all users who run the install command, regardless of their existing asdf version (if any). I wonder if this can be an issue. WDYT everybody? Overall very welcome improvements that I'll merge in, thank you. |
@@ -2,38 +2,57 @@ LISP ?= sbcl | |||
|
|||
all: build | |||
|
|||
# can use bespoke dir like 'QLDIR=~/nostandard/local-projects make' | |||
QLDIR ?= $(HOME)/quicklisp/local-projects |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is not exactly the QL dir but its local-projects directory, I'd change sthg to be more precise.
Yeah, trying to do dependency management in pure Makefile can be a bit of a pain in the patookus. Actually, it may be fine to just do it like this and to have a Makefile.lisp file which does most of the same stuff using UIOP, which would let us do the ASDF version check. That would allow people who have ASDF to use the lisp file and people without it to use this standard Makefile. Or we could just make a smaller lisp script which just outputs a 1 or a 0 depending on whether if a sufficiently up-to-date version of ASDF is installed. |
the script can be: ;; sbcl --script check-asdf-version.lisp
(require 'asdf)
(uiop:format! t "asdf version: ~a~&" (asdf:asdf-version))
(let ((version (asdf:asdf-version)))
(cond
((uiop:version<= version "3.3.4")
(uiop:format! *error-output* "your asdf version is too old.~&")
(uiop:quit 1))
(t
(uiop:quit 0)))) (and oh, without dependencies, stock sbcl scripts run acceptably fast too. 0.10s) |
# Install some Quicklisp dependencies. | ||
ql-deps: | ||
ql-deps: $(QLDIR)/asdf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest that either we remove this automatic target dependency, either we check the asdf version. (I'll accept both, preference for the check).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the automatic download and added a version check.
@WillForan Thanks for the well useful PR. |
ahh sorry I was too slow to help clean it up! |
For #58, add $(QLDIR)/adsf recipe
Also added make function to pull instead of clone if local-projects dir already exists