Skip to content

Conversation

WillForan
Copy link
Contributor

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

Also added make function to pull instead of clone if local-projects dir already exists

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

Also added make function to pull instead of clone if local-projects dir already exists
@vindarel
Copy link
Contributor

vindarel commented Sep 3, 2024

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
Copy link
Contributor

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.

@tmtvl
Copy link

tmtvl commented Sep 3, 2024

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.

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.

@vindarel
Copy link
Contributor

vindarel commented Sep 3, 2024

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
Copy link
Contributor

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).

Copy link
Contributor

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.

@vindarel vindarel merged commit 064c9d4 into ciel-lang:master Sep 4, 2024
@vindarel
Copy link
Contributor

vindarel commented Sep 4, 2024

@WillForan Thanks for the well useful PR.

vindarel added a commit that referenced this pull request Sep 4, 2024
@WillForan
Copy link
Contributor Author

ahh sorry I was too slow to help clean it up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants