Almost all languages working in new system

This commit is contained in:
Radon Rosborough 2021-01-11 22:17:09 -08:00
parent f013f7e26c
commit f7b0b43551
45 changed files with 456 additions and 145 deletions

View File

@ -39,28 +39,42 @@ EOF
packages=" packages="
# compilation tools
clang
g++
gcc
make
# base languages
nodejs
ocaml
perl
python3
ruby
# package managers
opam
python3-pip
yarn
# packaging tools
apt-file apt-file
dctrl-tools dctrl-tools
fakeroot fakeroot
unzip
# basic utilities
git git
jq jq
less less
make
man man
moreutils moreutils
nodejs
opam
perl
python3-pip
ripgrep ripgrep
ruby
strace strace
sudo sudo
tmux tmux
tree tree
unzip
vim vim
yarn
" "

View File

@ -92,21 +92,40 @@ libicu="$(grep-aptavail -wF Package 'libicu[0-9]+' -s Package -n | head -n1)"
packages=" packages="
apt-file # compilation tools
less
clang clang
g++
gcc
make
# base languages
nodejs
ocaml
perl
python3
ruby
# project tools
yarn
# packaging tools
apt-file
dctrl-tools
# basic utilities
less
git git
jq jq
${libicu}
make make
man man
nodejs
ripgrep ripgrep
strace strace
sudo sudo
tmux tmux
vim vim
yarn
# shared dependencies
${libicu}
" "

View File

@ -1,4 +1,4 @@
id: "아희" id: "aheui"
aliases: aliases:
- "aheui" - "aheui"
- "aheuis" - "aheuis"
@ -11,8 +11,19 @@ aliases:
- "rsaheui" - "rsaheui"
- "as3aheui" - "as3aheui"
- "raheui" - "raheui"
- "아희"
name: "아희" name: "아희"
install:
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/aheui/caheui.git
pushd caheui
make
cp aheui "${pkg}/usr/local/bin/"
popd
main: "main.aheui" main: "main.aheui"
template: | template: |
밤밣따빠밣밟따뿌 밤밣따빠밣밟따뿌

View File

@ -7,7 +7,6 @@ install:
prepare: prepare:
apt: apt:
- cargo - cargo
- clang
- cmake - cmake
- libssl-dev - libssl-dev
- pkg-config - pkg-config
@ -20,8 +19,6 @@ install:
# error: unrecognized command-line option -Wnewline-eof. # error: unrecognized command-line option -Wnewline-eof.
CC=/usr/bin/clang CXX=/usr/bin/clang++ llvmenv build-entry -G Makefile -j$(nproc) 10.0.0 CC=/usr/bin/clang CXX=/usr/bin/clang++ llvmenv build-entry -G Makefile -j$(nproc) 10.0.0
llvmenv global 10.0.0 llvmenv global 10.0.0
apt:
- gcc
manual: | manual: |
git clone https://github.com/jfecher/ante.git git clone https://github.com/jfecher/ante.git
pushd ante pushd ante

View File

@ -2,8 +2,6 @@ id: "antecards"
name: "Ante (Cards)" name: "Ante (Cards)"
install: install:
apt:
- ruby
manual: | manual: |
wget https://github.com/michaeldv/ante/raw/master/ante.rb wget https://github.com/michaeldv/ante/raw/master/ante.rb
chmod +x ante.rb chmod +x ante.rb

View File

@ -26,11 +26,6 @@ info:
usage: [] usage: []
install: install:
prepare:
apt:
- clang
apt:
- python3
scripts: scripts:
binary-to-text: | binary-to-text: |
#!/usr/bin/env python3 #!/usr/bin/env python3

View File

@ -27,7 +27,6 @@ info:
install: install:
apt: apt:
- beef - beef
- python3
scripts: scripts:
brainf: | brainf: |
#!/usr/bin/env python3 #!/usr/bin/env python3

View File

@ -27,8 +27,6 @@ info:
usage: [] usage: []
install: install:
apt:
- gcc
manual: | manual: |
install -d "${pkg}/opt/clean" install -d "${pkg}/opt/clean"
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -1,7 +1,7 @@
id: "emacs" id: "emacslisp"
aliases: aliases:
- "emacslisp"
- "elisp" - "elisp"
- "emacs"
- "gnuemacs" - "gnuemacs"
- "xemacs" - "xemacs"
- "ielm" - "ielm"

29
langs/ezhil.yaml Normal file
View File

@ -0,0 +1,29 @@
id: "ezhil"
aliases:
- "ezhili"
- "ezhuthi"
- "tamil"
- "எழில்"
name: "எழில்"
install:
manual: |
install -d "${pkg}/opt/ezhil"
install -d "${pkg}/usr/local/bin"
wget https://github.com/raxod502/riju-cdn/releases/download/ezhil-2017.08.19/ezhil.tar.gz
tar -xf ezhil.tar.gz -C "${pkg}/opt/ezhil" --strip-components=2
cp "${pkg}/opt/ezhil/ezhili" "${pkg}/opt/ezhil/ezhuthi/"
ln -s /opt/ezhil/ezhuthi/ezhili "${pkg}/usr/local/bin/"
repl: |
ezhili
main: "main.n"
template: |
பதிப்பி "வணக்கம், உலகமே!"
run: |
ezhili main.n; ezhili
hello: |
வணக்கம், உலகமே!

View File

@ -4,8 +4,6 @@ aliases:
name: "FALSE" name: "FALSE"
install: install:
apt:
- ruby
manual: | manual: |
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -1,6 +1,6 @@
id: "><>" id: "fishlang"
aliases: aliases:
- "fishlang" - "><>"
name: "><>" name: "><>"
install: install:
@ -9,7 +9,7 @@ install:
sed -i 's:^#!.*:#!/usr/bin/env python3:' fish.py sed -i 's:^#!.*:#!/usr/bin/env python3:' fish.py
chmod +x fish.py chmod +x fish.py
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"
mv fish.py "${pkg}/usr/local/bin/fish-lang" cp fish.py "${pkg}/usr/local/bin/fish-lang"
info: info:
year: 2009 year: 2009

View File

@ -4,8 +4,6 @@ aliases:
name: "GolfScript" name: "GolfScript"
install: install:
apt:
- ruby
manual: | manual: |
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -2,8 +2,6 @@ id: "grass"
name: "Grass" name: "Grass"
install: install:
apt:
- ruby
manual: | manual: |
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -8,7 +8,6 @@ install:
prepare: prepare:
apt: apt:
- chezscheme - chezscheme
- gcc
apt: apt:
- chezscheme - chezscheme
manual: | manual: |

View File

@ -2,9 +2,6 @@ id: "lazyk"
name: "Lazy K" name: "Lazy K"
install: install:
prepare:
apt:
- gcc
manual: | manual: |
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -8,7 +8,6 @@ install:
prepare: prepare:
apt: apt:
- cmake - cmake
- python3
manual: | manual: |
git clone https://github.com/justinmeza/lci.git git clone https://github.com/justinmeza/lci.git
pushd lci pushd lci

View File

@ -4,9 +4,6 @@ aliases:
name: "Malbolge" name: "Malbolge"
install: install:
prepare:
apt:
- clang
manual: | manual: |
install -d "${pkg}/usr/local/bin" install -d "${pkg}/usr/local/bin"

View File

@ -6,7 +6,6 @@ name: "Oberon"
install: install:
prepare: prepare:
apt: apt:
- clang
- libgc-dev - libgc-dev
apt: apt:
- libgc-dev - libgc-dev

View File

@ -7,7 +7,6 @@ name: "Objective-C++"
install: install:
apt: apt:
- gcc
- gnustep-devel - gnustep-devel
- gobjc++ - gobjc++
- clang-format - clang-format

View File

@ -7,7 +7,6 @@ monacoLang: objective-c
install: install:
apt: apt:
- gcc
- gnustep-devel - gnustep-devel
- clang-format - clang-format
- clangd - clangd

59
langs/qalb.yaml Normal file
View File

@ -0,0 +1,59 @@
id: "qalb"
aliases:
- "قلب"
name: "قلب"
install:
scripts:
qalb: |
#!/usr/bin/env node
const fs = require("fs");
const repl = require("repl");
const args = process.argv.slice(2);
if (args.length > 1) {
console.error("usage: repl.js [FILE]");
process.exit(1);
}
const program = args.length === 1 ? fs.readFileSync(args[0], "utf-8") : null;
eval(fs.readFileSync("/opt/qalb/qlb.js", "utf-8"));
eval(fs.readFileSync("/opt/qalb/parser.js", "utf-8"));
eval(fs.readFileSync("/opt/qalb/primitives.js", "utf-8"));
Qlb.init({console});
if (program !== null) {
Qlb.execute(program);
}
repl.start({prompt: "قلب> ", eval: (cmd, context, filename, callback) => callback(null, Qlb.execute(cmd))});
manual: |
install -d "${pkg}/opt/qalb"
git clone https://github.com/nasser/---.git qalb
pushd qalb
cp public/qlb/*.js "${pkg}/opt/qalb/"
popd
repl: |
qalb
input: |
(ضرب ١٢٣ ٢٣٤)
main: "main.qalb"
template: |
(قول "مرحبا يا عالم")
run: |
qalb main.qalb
hello: |
مرحبا يا عالم
scope:
code: |
(حدد خ (ضرب ١٢٣ ٢٣٤))
input: |
خ

24
langs/rapira.yaml Normal file
View File

@ -0,0 +1,24 @@
id: "rapira"
aliases:
- "rap"
- "rerap"
- "rerap2"
- "рапира"
name: "Рапира"
install:
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/freeduke33/rerap2.git
pushd rerap2
make
cp rapira "${pkg}/usr/local/bin/"
popd
main: "main.rap"
template: |
вывод: "Hello, world!"
run: |
rapira main.rap

View File

@ -4,29 +4,81 @@ aliases:
name: "SageMath" name: "SageMath"
install: install:
prepare:
apt:
# This list was produced by running ./configure and seeing what
# packages it told me to install.
- cmake
- coinor-cbc
- coinor-libcbc-dev
- curl
- fflas-ffpack
- flintqs
- gfan
- glpk-utils
- lcalc
- libboost-dev
- libbraiding-dev
- libcdd-dev
- libcdd-tools
- libcurl4-openssl-dev
- libfile-slurp-perl
- libfreetype6-dev
- libgd-dev
- libgiac-dev
- libgivaro-dev
- libglpk-dev
- libgsl-dev
- libiml-dev
- libisl-dev
- libjson-perl
- liblfunction-dev
- liblrcalc-dev
- libm4rie-dev
- libmongodb-perl
- libmpfi-dev
- libnauty-dev
- libpcre3-dev
- libperl-dev
- libplanarity-dev
- libppl-dev
- librw-dev
- libssl-dev
- libsuitesparse-dev
- libsvg-perl
- libsymmetrica2-dev
- libterm-readkey-perl
- libterm-readline-gnu-perl
- libterm-readline-gnu-perl
- libxml-libxslt-perl
- libxml-writer-perl
- libxml2-dev
- libzmq3-dev
- libzn-poly-dev
- nauty
- ninja-build
- openssl
- palp
- pandoc
- pari-gp2c
- planarity
- ppl-dev
- r-base-dev
- r-cran-lattice
- sympow
- tachyon
- xcas
- yasm
manual: | manual: |
sudo tee -a /etc/apt/sources.list.d/focal.list >/dev/null <<EOF file="$(curl -fsSL https://mirrors.mit.edu/sage/src/index.html | grep -Eo 'sage-[0-9.]+\.tar\.gz' | sort -rV | head -n1)"
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main universe wget "https://mirrors.mit.edu/sage/src/${file}" -O sage.tar.gz
EOF mkdir sage
tar -xf sage.tar.gz -C sage --strip-components=1
sudo apt-get update pushd sage
./configure --prefix="${pkg}/usr/local"
for name in libflint-2.5.2 libgsl23 sagemath sagemath-common; do make
apt-get download "${name}" popd
mv "${name}"_*.deb "${name}.deb"
done
deb:
- sagemath.deb
- sagemath-common.deb
- libflint-2.5.2.deb
- libgsl23.deb
depends:
strip:
- sagemath-common
- libflint-2.5.2
- libgsl23
unpin:
- libgslcblas0
repl: | repl: |
sage sage

View File

@ -2,8 +2,23 @@ id: "slick"
name: "Slick" name: "Slick"
install: install:
opam: prepare:
- dune apt:
- libgmp-dev
opam:
- dune
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/kwshi/slick.git
pushd slick
deps="$(dune external-lib-deps src --display=quiet | grep -F - | sed 's/- //; s/\..*//')"
opam init -n --disable-sandboxing
opam switch create .
opam install --switch . ${deps} menhir -y
opam exec --switch . dune build
cp _build/default/src/exe/main.exe "${pkg}/usr/local/bin/slick"
popd
repl: | repl: |
slick slick

View File

@ -9,6 +9,17 @@ install:
prepare: prepare:
apt: apt:
- m4 - m4
manual: |
install -d "${pkg}/usr/local/bin"
file="$(curl -sSL ftp://ftp.snobol4.org/snobol/ | grep -Eo 'snobol4-.*\.tar\.gz' | sort -rV | head -n1)"
wget "ftp://ftp.snobol4.org/snobol/${file}" -O snobol.tar.gz
mkdir snobol
tar -xf snobol.tar.gz -C snobol --strip-components=1
pushd snobol
make snobol4
cp snobol4 "${pkg}/usr/local/bin/"
popd
repl: | repl: |
snobol4 snobol4

View File

@ -9,6 +9,8 @@ monacoLang: sql
install: install:
apt: apt:
- sqlite - sqlite
riju:
- sqls
repl: | repl: |
sqlite3 sqlite3

View File

@ -4,6 +4,16 @@ aliases:
- "asq" - "asq"
name: "Subleq" name: "Subleq"
install:
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/davidar/subleq.git
pushd subleq/src
make sq
cp sq "${pkg}/usr/local/bin/"
popd
main: "main.sq" main: "main.sq"
template: | template: |
12 12 3 12 12 3

View File

@ -7,6 +7,15 @@ monacoLang: swift
install: install:
apt: apt:
- libpython2.7 - libpython2.7
manual: |
install -d "${pkg}/opt/swift"
install -d "${pkg}/usr/local/bin"
ver="$(latest_release apple/swift | grep -Eo '[0-9.]+')"
wget "https://swift.org/builds/swift-${ver}-release/ubuntu2004/swift-${ver}-RELEASE/swift-${ver}-RELEASE-ubuntu20.04.tar.gz" -O swift.tar.gz
tar -xf swift.tar.gz -C "${pkg}/opt/swift" --strip-components=2
ln -s /opt/swift/bin/swiftc "${pkg}/usr/local/bin/swiftc"
ln -s /opt/swift/bin/sourcekit-lsp "${pkg}/usr/local/bin/sourcekit-lsp"
main: "main.swift" main: "main.swift"
template: | template: |

View File

@ -1,12 +1,44 @@
id: "tabloid" id: "tabloid"
name: "Tabloid" name: "Tabloid"
install:
scripts:
tabloid: |
#!/usr/bin/env node
const fs = require("fs");
const args = process.argv.slice(2);
if (args.length !== 1) {
console.error("usage: run.js FILE");
process.exit(1);
}
const lang = require("/opt/tabloid/lang");
const program = fs.readFileSync(args[0], "utf-8");
const tokens = lang.tokenize(program);
const parser = new lang.Parser(tokens);
const ast = parser.parse();
const runtime = { print: (s) => console.log(s.toString().toUpperCase() + "!") };
const env = new lang.Environment(runtime);
env.run(ast);
manual: |
install -d "${pkg}/opt/tabloid"
pushd "${pkg}/opt/tabloid"
wget https://github.com/thesephist/tabloid/raw/master/static/js/lang.js
cat <<"EOF" >> lang.js
module.exports = { tokenize, Parser, Environment };
EOF
popd
main: "main.tabloid" main: "main.tabloid"
template: | template: |
YOU WON'T WANT TO MISS "Hello, world" YOU WON'T WANT TO MISS "Hello, world"
PLEASE LIKE AND SUBSCRIBE PLEASE LIKE AND SUBSCRIBE
run: | run: |
node /opt/tabloid/run.js main.tabloid tabloid main.tabloid
hello: | hello: |
HELLO, WORLD! HELLO, WORLD!

View File

@ -3,6 +3,29 @@ aliases:
- "mung" - "mung"
name: "TECO" name: "TECO"
install:
scripts:
teco-encode: |
#!/usr/bin/env -S python3 -u
import re
import sys
for line in sys.stdin:
line = re.sub(r"\^(.)", lambda m: chr(ord(m.group(1)) ^ 0b1000000), line)
line = line.replace("$", chr(27))
print(line, end="")
manual: |
install -d "${pkg}/usr/local/bin"
git clone https://github.com/blakemcbride/TECOC.git
pushd TECOC/src
make -f makefile.linux
cp tecoc "${pkg}/usr/local/bin/tecoc"
ln -s /usr/local/bin/tecoc "${pkg}/usr/local/bin/teco"
ln -s /usr/local/bin/tecoc "${pkg}/usr/local/bin/mung"
popd
repl: | repl: |
teco teco
input: "123*234=\x1b\x1b" input: "123*234=\x1b\x1b"

View File

@ -8,10 +8,26 @@ name: "TeX"
install: install:
prepare: prepare:
apt: apt:
# Lua 5.4 is the most recent version but seemingly it's not
# supported by luarocks.
- lua5.3
- liblua5.3
- luarocks - luarocks
- $(grep-aptavail -wF Package "liblua[0-9.]+-dev" -a -XF Version "$(grep-aptavail -XF Provides lua -s Version -n | sort -Vr | head -n1)" -s Package -n | head -n1)
apt: apt:
- lua5.3
- texlive-binaries - texlive-binaries
manual: |
install -d "${pkg}/usr/local/bin"
luarocks --tree="${pkg}/opt/digestif" install digestif
cat <<EOF > "${pkg}/usr/local/bin/digestif"
#!/usr/bin/env bash
$(luarocks --tree=/opt/digestif path)
exec /opt/digestif/bin/digestif "\$@"
EOF
chmod +x "${pkg}/usr/local/bin/digestif"
repl: | repl: |
tex tex

View File

@ -1,6 +1,17 @@
id: "thue" id: "thue"
name: "Thue" name: "Thue"
install:
manual: |
install -d "${pkg}/usr/local/bin"
wget "$(curl -sSL https://catseye.tc/distribution/Thue_distribution | grep -Eo 'https://catseye.tc/distfiles/thue-[^"]+\.zip' | head -n1)" -O thue.zip
unzip thue.zip
pushd thue-*
./build.sh
cp bin/thue "${pkg}/usr/local/bin/"
popd
main: "main.thue" main: "main.thue"
template: | template: |
a::=~Hello, world! a::=~Hello, world!

View File

@ -3,6 +3,10 @@ aliases:
- "tom" - "tom"
name: "TOML" name: "TOML"
install:
riju:
- yj
main: "main.toml" main: "main.toml"
template: | template: |
output = "Hello, world!" output = "Hello, world!"

View File

@ -3,8 +3,27 @@ aliases:
- "ucm" - "ucm"
name: "Unison" name: "Unison"
install:
prepare:
apt:
- haskell-stack
manual: |
mkdir -p "${pkg}/opt/unison/skel"
install -d "${pkg}/usr/local/bin"
git clone https://github.com/unisonweb/unison.git
pushd unison
stack build
cp "$(stack exec which unison)" "${pkg}/usr/local/bin/"
popd
pushd "${pkg}/opt/unison/skel"
"${pkg}/usr/local/bin/unison" -codebase . init
LESS="+q" "${pkg}/usr/local/bin/unison" -codebase . <<< 'pull https://github.com/unisonweb/base:.trunk .base'
popd
setup: | setup: |
shopt -s dotglob && cp -R /opt/unison/project-template/* ./ shopt -s dotglob && cp -R /opt/unison/skel/* ./
repl: | repl: |
unison -codebase . unison -codebase .

View File

@ -6,6 +6,32 @@ name: "Unlambda"
install: install:
apt: apt:
- unlambda - unlambda
scripts:
unlambda-repl: |
#!/usr/bin/env python3
import argparse
import readline
import subprocess
parser = argparse.ArgumentParser()
parser.add_argument("file", nargs="?")
args = parser.parse_args()
if args.file:
with open(args.file) as f:
subprocess.run(["unlambda"], input=f.read(), encoding="utf-8")
while True:
try:
code = input("λ> ")
except KeyboardInterrupt:
print("^C")
continue
except EOFError:
print("^D")
break
if not code:
continue
subprocess.run(["unlambda"], input=code, encoding="utf-8")
repl: | repl: |
unlambda-repl unlambda-repl

View File

@ -3,6 +3,20 @@ aliases:
- "vlt" - "vlt"
name: "Velato" name: "Velato"
install:
apt:
- mono-runtime
manual: |
install -d "${pkg}/opt/velato"
install -d "${pkg}/usr/local/bin"
file="$(curl -fsSL http://velato.net/ | grep -Eo 'Velato[0-9_]+.zip')"
wget "http://velato.net/Content/Velato/${file}" -O velato.zip
unzip -d "${pkg}/opt/velato" velato.zip
wget http://www.archduke.org/midi/asc2mid.c
clang asc2mid.c -o "${pkg}/usr/local/bin/asc2mid"
main: "main.asc" main: "main.asc"
template: | template: |
format=1 tracks=2 division=2880 format=1 tracks=2 division=2880

View File

@ -1,7 +1,7 @@
id: "vim" id: "vimscript"
aliases: aliases:
- "vim"
- "viml" - "viml"
- "vimscript"
name: "Vimscript" name: "Vimscript"
install: install:

View File

@ -10,6 +10,7 @@ monacoLang: vb
install: install:
apt: apt:
- mono-vbnc - mono-vbnc
- mono-runtime
main: "main.vb" main: "main.vb"
template: | template: |

View File

@ -8,7 +8,7 @@ install:
- whitespace - whitespace
main: "main.ws" main: "main.ws"
template: "Hello, world \t \t \n\t\n \t\t \t \t\n\t\n \t\t \t\t \n\t\n \t\t \t\t \n\t\n \t\t \t\t\t\t\n\t\n \t \t\t \n\t\n \t \n\t\n \t\t\t \t\t\t\n\t\n \t\t \t\t\t\t\n\t\n \t\t\t \t \n\t\n \t\t \t\t \n\t\n \t\t \t \n\t\n \n\n\n" template: "Hello, world \t \t \n\t\n \t\t \t \t\n\t\n \t\t \t\t \n\t\n \t\t \t\t \n\t\n \t\t \t\t\t\t\n\t\n \t \t\t \n\t\n \t \n\t\n \t\t\t \t\t\t\n\t\n \t\t \t\t\t\t\n\t\n \t\t\t \t \n\t\n \t\t \t\t \n\t\n \t\t \t \n\t\n \n\n"
run: | run: |
whitespace main.ws whitespace main.ws

View File

@ -6,10 +6,6 @@ aliases:
- "x86-64" - "x86-64"
name: "x86" name: "x86"
install:
apt:
- clang
main: "main.S" main: "main.S"
template: |2 template: |2
.text .text

View File

@ -1,19 +0,0 @@
id: "рапира"
aliases:
- "rap"
- "rerap"
- "rerap2"
- "rapira"
name: "Рапира"
install:
prepare:
apt:
- clang
main: "main.rap"
template: |
вывод: "Hello, world!"
run: |
rapira main.rap

View File

@ -1,24 +0,0 @@
id: "قلب"
aliases:
- "qalb"
name: "قلب"
repl: |
node /opt/qalb/repl.js
input: |
(ضرب ١٢٣ ٢٣٤)
main: "main.qalb"
template: |
(قول "مرحبا يا عالم")
run: |
node /opt/qalb/repl.js main.qalb
hello: |
مرحبا يا عالم
scope:
code: |
(حدد خ (ضرب ١٢٣ ٢٣٤))
input: |
خ

View File

@ -1,19 +0,0 @@
id: "எழில்"
aliases:
- "ezhil"
- "ezhili"
- "ezhuthi"
- "tamil"
name: "எழில்"
repl: |
ezhili
main: "main.n"
template: |
பதிப்பி "வணக்கம், உலகமே!"
run: |
ezhili main.n; ezhili
hello: |
வணக்கம், உலகமே!

View File

@ -48,7 +48,7 @@ sudo apt-get update`);
deb, deb,
} = install; } = install;
if (prepare) { if (prepare) {
const { apt, npm, manual } = prepare; const { apt, npm, opam, manual } = prepare;
if (apt && apt.length > 0) { if (apt && apt.length > 0) {
parts.push(`\ parts.push(`\
sudo apt-get install -y ${apt.join(" ")}`); sudo apt-get install -y ${apt.join(" ")}`);
@ -56,6 +56,12 @@ sudo apt-get install -y ${apt.join(" ")}`);
if (npm && npm.length > 0) { if (npm && npm.length > 0) {
parts.push(`\ parts.push(`\
sudo npm install -g ${npm.join(" ")}`); sudo npm install -g ${npm.join(" ")}`);
}
if (opam && opam.length > 0) {
parts.push(`\
sudo opam init -n --disable-sandboxing --root /opt/opam
sudo opam install "${opam.join(" ")}" -y --root /opt/opam
sudo ln -s /opt/opam/default/bin/* /usr/local/bin/`);
} }
if (manual) { if (manual) {
parts.push(manual); parts.push(manual);