212
|
1
|
;;; bootstrap.lisp --- let 'er rip |
|
2
|
|
|
3
|
;; |
|
4
|
|
|
5
|
;;; Code: |
|
6
|
(in-package :std-user) |
|
7
|
|
|
8
|
(defpkg :infra/bootstrap |
|
9
|
(:use :cl :skel :log :std/named-readtables |
|
10
|
:dat/json :dat/sxp :net/fetch :net/util |
|
11
|
:cli/progress :cli/ansi :cli/ed :cli/prompt |
|
12
|
:cli/shell :std/hash-table :std/alien)) |
|
13
|
(in-package :infra/bootstrap) |
|
14
|
(in-readtable :shell) |
|
15
|
(eval-when (:compile-toplevel) |
|
16
|
(defstruct host name cpus mem os kernel core) |
|
17
|
(defparameter *config-file* #P"config.sxp") |
|
18
|
(defparameter *build-config* (read-sxp-file *config-file*)) |
|
19
|
(defparameter *host-config* (make-host :name (sb-unix:unix-gethostname) :cpus (num-cpus) :mem #+nil (mem-total) 15815828 |
|
20
|
:os "archlinux" :kernel "linux" :core sb-ext:*core-pathname*)) |
|
21
|
(defparameter *env* (let ((table (make-hash-table :test 'equal)) |
|
22
|
(keys (list "CC" "AR" "STASH" "STORE" "DIST" "PACKY_URL" "VC_URL" "PREFIX"))) |
|
23
|
(dolist (k keys table) |
|
24
|
(setf (gethash k table) (sb-posix:getenv k)))))) |
|
25
|
|
|
26
|
(info! "starting bootstrap.lisp") |
|
27
|
(debug! "host:" sb-sys::*machine-version*) |
|
28
|
(trace! "env:" (hash-table-alist *env*)) |
|
29
|
|
|
30
|
;; build-config |
|
31
|
(defun apply-build-config () |
|
32
|
(setf *log-level* :trace)) |
|
33
|
|
|
34
|
;; host-config |