diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-15 20:41:49 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-15 20:41:49 -0700 |
commit | c4ecc5719262bd9e360a21418826dbe1fa35f4b2 (patch) | |
tree | c1c9704d42a74308e6d2ef328beacf597ecfd363 /src/property/os.lisp | |
parent | 430da99796663587de2ade6c4d7afe1a7e5a0f1a (diff) | |
download | consfigurator-c4ecc5719262bd9e360a21418826dbe1fa35f4b2.tar.gz |
add OS:TYPECASE
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/os.lisp')
-rw-r--r-- | src/property/os.lisp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/property/os.lisp b/src/property/os.lisp index e4f3e65..6a23e97 100644 --- a/src/property/os.lisp +++ b/src/property/os.lisp @@ -77,6 +77,18 @@ :arch architecture)))) +;;;; Property combinators + +;; TODO should move OS-TYPECASE* here, once figure out API for property +;; combinator helper macros +(defmacro typecase (&rest cases) + `(consfigurator::os-typecase* + ,@(loop for case in cases + collect `',(intern (symbol-name (car case)) + (find-package :consfigurator.property.os)) + collect (cadr case)))) + + ;;;; Utilities (defun required (type) @@ -90,7 +102,7 @@ Used in property :HOSTATTRS subroutines." (defun supports-arch-p (os arch) "Can binaries of type ARCH run on OS?" - (typecase os + (cl:typecase os (debian (or (eq (linux-architecture os) arch) (member arch (assoc (linux-architecture os) '((:amd64 :i386) |