changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra / skelfile

changeset 359: 9fc8fc324c10
parent: 0b9c40ef4849
child: f35358f2f4ff
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 25 Aug 2024 00:13:49 -0400
permissions: -rw-r--r--
description: add org-graph-db-init script
1 ;;; skelfile --- infra skelfile -*- mode: skel; -*-
2 :name "infra"
3 :author ("Richard Westhaver" . "richard.westhaver@gmail.com")
4 :version "0.1.0"
5 :description "The Compiler Company Infrastructure"
6 :tags (:infra)
7 :license "MPL"
8 :vc (:hg "https://vc.compiler.company/comp/infra")
9 :include ("pod/skelfile")
10 :components ((:org "readme"))
11 :scripts "scripts"
12 :stash ".stash"
13 :store "/usr/local/share/store"
14 :env (STASH STORE)
15 :rules
16 ((check () #$./check.sh$#)
17  (clean () #$rm -rvf .stash$#)
18  (tmp () #$mkdir -pv .stash/tmp$#)
19  (src () #$mkdir -pv .stash/src$#)
20  (bin () #$mkdir -pv .stash/bin$#)
21  ;; src
22  (repos (src tmp) #$cd .stash/tmp && curl -O https://packy.compiler.company/src/comp.tar.zst && \
23  unzstd comp.tar.zst && tar -xf comp.tar -C ../src && \
24  mv ../src/hg/* ../src/ && rm -rf ../src/hg comp.tar$#)
25  (install-repos-shallow (repos) #$cd .stash/src && mv *.hg /usr/local/src/$#)
26  (home (src) #$hg clone https://vc.compiler.company/comp/home .stash/src/home$#)
27  (core (src) #$hg clone https://vc.compiler.company/comp/core .stash/src/core$#)
28  (packy-repos (src) #$cd .stash/tmp && curl -O https://packy.compiler.company/src/packy.tar.zst && \
29  unzstd packy.tar.zst && tar -xf packy.tar -C ../src/ && \
30  rm -rf packy.tar$#)
31  ;; containers
32  (archlinux () #$podman build -f .stash/src/pod/Containerfile.archlinux . -t localhost/archlinux$#)
33  (alpine () #$podman build -f .stash/src/pod/Containerfile.alpine . -t localhost/alpine$#)
34  (ubuntu () #$podman build -f .stash/src/pod/Containerfile.alpine . -t localhost/alpine$#)
35  (dev () #$podman build -f .stash/src/pod/Containerfile.dev . -t localhost/dev$#)
36  (worker () #$podman build -f .stash/src/pod/Containerfile.worker . -t localhost/worker$#)
37  (operator () #$podman build -f .stash/src/pod/Containerfile.operator . -t localhost/operator$#)
38  (vc () #$podman build -f .stash/src/pod/Containerfile.vc . -t localhost/vc$#)
39  (core () #$podman build -f .stash/src/pod/Containerfile.core . -t localhost/core$#)
40  (containers (archlinux alpine ubuntu dev worker operator vc core))
41  ;; programs
42  (bootstrap () #$./bootstrap.sh$#)
43  (build-emacs (src) #$./scripts/get-emacs.sh$#
44  #$cd .stash/src/emacs && ./autogen.sh$#
45  #$./scripts/build-emacs.sh$#)
46  (build-emacs-mini (src) #$./scripts/get-emacs.sh$#
47  #$cd .stash/src/emacs && ./autogen.sh$#
48  #$./scripts/build-emacs-mini.sh$#)
49  (build-rocksdb (src) #$scripts/get-rocksdb.sh$#
50  #$cd .stash/src/rocksdb && make shared_lib DISABLE_JEMALLOC=1$#)
51  (build-rocksdb-static (src) #$scripts/get-rocksdb.sh$#
52  #$cd .stash/src/rocksdb && make static_lib DISABLE_JEMALLOC=1$#)
53  (build-sbcl (src) #$scripts/get-sbcl.sh$#
54  #$cd .stash/src/sbcl
55  sbcl_rev=$(git rev-parse --short HEAD)
56  echo \""2.4.7:$sbcl_rev"\" > version.lisp-expr &&
57  ./make.sh --dynamic-space-size=8Gb --without-gencgc --with-mark-region-gc --fancy$#)
58  (build-sbcl-docs (sbcl) #$cd .stash/src/sbcl/doc/manual && make$#)
59  (build-sbcl-gencgc (src) #$cd .stash/src/sbcl &&
60  ./make.sh --fancy$#)
61  (build-sbcl-shared () #$cd .stash/src/sbcl && sh make-shared-library.sh$#)
62  (install-quicklisp () #$cd .stash && curl -O https://beta.quicklisp.org/quicklisp.lisp$#
63  #$./scripts/quicklisp-install.sh$#)
64  (build-stumpwm (src) #$./scripts/get-stumpwm.sh$#
65  #$cd .stash/src/stumpwm && ./autogen.sh && ./configure && make$#)
66  (build-nyxt (src) #$./scripts/get-nyxt.sh$#
67  #$cd .stash/src/nyxt && git submodule update --init && make all$#)
68  (build-scryer-prolog (src) #$./scripts/get-scryer-prolog.sh$#
69  #$cd .stash/src/scryer-prolog && cargo build --release$#)
70  (build-tree-sitter (src) #$./scripts/get-tree-sitter.sh$#)
71  (install-tree-sitter (src) #$cd .stash/src/tree-sitter && make install$#)
72  (build-linux () #$mkdir -pv .stash/src/linux$#
73  #$gpg --export autosigner@ torvalds@ gregkh@ > .stash/src/linux/keyring.gpg$#
74  #$./scripts/get-linux.sh $(uname -r | cut -d- -f1) .stash .stash/src/linux/keyring.gpg$#
75  #$cd scripts && unxz .stash/src/linux.tar.xz &&
76  tar -xvf .stash/src/linux.tar $(uname -r | cut -d- -f1)$#
77  #$cd .stash/src/linux && make mrproper -j &&
78  zcat /proc/config.gz > .config && yes N | make localmodconfig$#)
79  (build-xcaddy () #$go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest$#)
80  (build-caddy (xcaddy) #$~/go/bin/xcaddy build --output .stash/bin/caddy --with github.com/mholt/caddy-webdav$#)
81  (install-caddy () #$cp .stash/bin/caddy /usr/local/bin/caddy$#)
82  (build-rust () #$scripts/get-rust.sh$#)
83  (build-rust-docs (rust) #$cd .stash/src/rust && ./x doc$#)
84  (build-ublk () #$scripts/get-ublksrv.sh$#
85  #$cd .stash/src/ublksrv && autoreconf -i && ./configure && make$#)
86  (install-ublk () #$cd .stash/src/ublksrv && make install$#)
87  ;; ref: https://github.com/BLAKE3-team/BLAKE3/tree/master/c#building
88  (build-blake3 () #$scripts/get-blake3.sh$#
89  #$cd .stash/src/blake3/c && gcc -shared -O3 -o libblake3.so blake3.c blake3_dispatch.c blake3_portable.c \
90  blake3_sse2_x86-64_unix.S blake3_sse41_x86-64_unix.S blake3_avx2_x86-64_unix.S \
91  blake3_avx512_x86-64_unix.S$#)
92  (install-blake3 () #$cd .stash/src/blake3/c && cp libblake3.so /usr/local/lib/ && cp blake3.h /usr/local/include/$#)
93  ;; install
94  (install-tree-sitter-langs (src) #$PREFIX=.stash ./scripts/tree-sitter-langs.sh$#)
95  (install-cargo-tools () #$scripts/install-cargo-tools.sh$#)
96  (install-rustup () #$curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y$#)
97  (install-sbcl () #$cd .stash/src/sbcl && INSTALL_ROOT=/usr/local sh install.sh$#)
98  (install-emacs () #$cd .stash/src/emacs && make install$#)
99  (install-rocksdb () #$cd .stash/src/rocksdb && make install-shared &&
100  cp -r include/* /usr/local/include/$#)
101  (install-stumpwm () #$cd .stash/src/stumpwm && make install$#)
102  ;; dist
103  (dist-emacs-mini () #$cd .stash/src/emacs
104  ./make-dist --tar --no-compress --no-info --no-changelog
105  zstd -8 emacs-31.0.50.tar -o "../../emacs-mini.tar.zst"$#)
106  (dist-emacs () #$cd .stash/src/emacs
107  ./make-dist --tar --no-compress
108  zstd -8 emacs-31.0.50.tar -o "../../emacs.tar.zst"$#)
109  (dist-sbcl () #$scripts/dist-sbcl-binary.sh$#)
110  (dist-sbcl-source () #$scripts/dist-sbcl-binary.sh$#)
111  (dist-rocksdb () #$scripts/dist-rocksdb-binary.sh$#)
112  (dist-stumpwm () #$scripts/dist-stumpwm-binary.sh$#)
113  (dist (dist-rocksdb dist-sbcl dist-sbcl-source)))