3 (defpackage #:asdf-install-system
6 (in-package #:asdf-install-system)
7 (require 'sb-executable)
9 ;;; this is appalling misuse of asdf. please don't treat it as any
10 ;;; kind of example. this shouldn't be a compile-op, or if it is, should
11 ;;; define output-files properly instead of leaving it be the fasl
12 (defclass exe-file (cl-source-file) ())
13 (defmethod perform :after ((o compile-op) (c exe-file))
14 (sb-executable:make-executable
15 (make-pathname :name "asdf-install"
17 :defaults (component-pathname c))
19 :initial-function "RUN"))
21 (defmethod perform ((o load-op) (c exe-file)) nil)
23 (defsystem asdf-install
24 :depends-on (sb-posix sb-bsd-sockets)
26 :components ((:file "defpackage")
27 (:exe-file "loader" :depends-on ("installer"))
28 (:file "installer" :depends-on ("defpackage"))))
30 (defmethod perform :after ((o load-op) (c (eql (find-system :asdf-install))))
31 (provide 'asdf-install))
33 (defmethod perform ((o test-op) (c (eql (find-system :asdf-install))))