OILS / deps / make-bin.sh View on Github | oils.pub

95 lines, 46 significant
1#!/usr/bin/env bash
2#
3# Usage:
4# deps/make-bin.sh <function name>
5#
6# Examples:
7# deps/make-bin.sh contrib # make symlinks in ../oils.DEPS/bin
8
9set -o nounset
10set -o pipefail
11set -o errexit
12
13# Note: versions are duplicated from build/deps.sh right now
14
15link-relative() {
16 ln -s -f --relative --verbose "$@"
17}
18
19re2c() {
20 local deps_dir=$1
21 link-relative $deps_dir/wedge/re2c/4.3.1/bin/re2c $deps_dir/bin
22 link-relative $deps_dir/wedge/re2c/4.3.1/bin/re2rust $deps_dir/bin
23}
24
25python2() {
26 ### duplicated from Dockerfile.soil-debian-12
27 local deps_dir=$1
28
29 # Make a python2 symlink only, NOT python
30 link-relative $deps_dir/wedge/python2/2.7.18/bin/python $deps_dir/bin/python2
31}
32
33python3() {
34 ### duplicated from Dockerfile.soil-debian-12
35 local deps_dir=$1
36
37 link-relative $deps_dir/wedge/python3/3.10.4/bin/python3 $deps_dir/bin
38}
39
40shells() {
41 ### used in ovm-tarball
42 local deps_dir=$1
43
44 link-relative $deps_dir/wedge/bash/4.4/bin/bash $deps_dir/bin/bash-4.4
45 link-relative $deps_dir/wedge/bash/5.2.21/bin/bash $deps_dir/bin/bash-5.2.21
46 # newer bash 5.2 is the default
47 link-relative $deps_dir/wedge/bash/5.2.21/bin/bash $deps_dir/bin/bash
48
49 # symlink as ash
50 link-relative $deps_dir/wedge/busybox/1.35.0/busybox $deps_dir/bin/ash
51
52 link-relative $deps_dir/wedge/dash/0.5.10.2/bin/dash $deps_dir/bin
53 link-relative $deps_dir/wedge/mksh/R52c/mksh $deps_dir/bin
54 link-relative $deps_dir/wedge/yash/2.49/bin/yash $deps_dir/bin
55
56 link-relative $deps_dir/wedge/zsh/5.1.1/bin/zsh $deps_dir/bin/zsh-5.1.1
57 link-relative $deps_dir/wedge/zsh/5.9/bin/zsh $deps_dir/bin/zsh-5.9
58 # older zsh 5.1.1 is the default
59 link-relative $deps_dir/wedge/zsh/5.1.1/bin/zsh $deps_dir/bin/zsh
60}
61
62contrib() {
63 ### What contributors need to run
64
65 local deps_dir=../oils.DEPS
66
67 mkdir -p $deps_dir/bin
68
69 shells $deps_dir
70 echo
71
72 re2c $deps_dir
73 python2 $deps_dir
74 python3 $deps_dir
75
76 # TODO: can move others
77 #
78 # Right now there are explicit paths in cmark.py and time_.py
79 # - time-helper
80 # - bin/cmark
81 #
82 # - bloaty
83 # - uftrace
84 # - flame graphs, etc.
85}
86
87extra() {
88 # The release process depends on bloaty
89 local deps_dir=../oils.DEPS
90
91 link-relative $deps_dir/wedge/bloaty/1.1/bloaty $deps_dir/bin/bloaty
92 link-relative $deps_dir/wedge/uftrace/0.13/bin/uftrace $deps_dir/bin/uftrace
93}
94
95"$@"