Configure more package managers

This commit is contained in:
Radon Rosborough 2021-01-02 15:41:37 -08:00
parent d782cc1fb5
commit 6450df047f
46 changed files with 252 additions and 17 deletions

View File

@ -31,7 +31,7 @@ ifeq ($(I),composite)
else ifneq (,$(filter $(I),admin ci))
docker build . -f docker/$(I)/Dockerfile -t riju:$(I)
else
docker build . -f docker/$(I)/Dockerfile -t riju:$(I) --label riju.image-hash=$(shell node tools/hash-dockerfile.js $(I))
hash="$$(node tools/hash-dockerfile.js $(I) | grep .)"; docker build . -f docker/$(I)/Dockerfile -t riju:$(I) --label riju.image-hash="$${hash}"
endif
.PHONY: script
@ -43,6 +43,10 @@ script:
.PHONY: scripts
scripts:
@: $${L}
node tools/make-foreach.js --types script L=$(L)
.PHONY: all-scripts
node tools/make-foreach.js --pkgs script
.PHONY: pkg
@ -53,12 +57,23 @@ pkg:
cd $(BUILD)/src && pkg="$(PWD)/$(BUILD)/pkg" ../build.bash
fakeroot dpkg-deb --build $(BUILD)/pkg $(BUILD)/$(DEB)
.PHONY: pkgs
pkgs:
@: $${L}
node tools/make-foreach.js --types pkg L=$(L)
.PHONY: repkg
repkg:
@: $${L} $${T}
make script L=$(L) T=$(T)
make shell I=packaging CMD="make pkg L=$(L) T=$(T)"
ctr="$$(docker container ls -f label="riju-install-target=yes" -l -q)"; test "$${ctr}" || (echo "no valid container is live"; exit 1); docker exec "$${ctr}" make install L=$(L) T=$(T)
.PHONY: repkgs
repkgs:
@: $${L}
node tools/make-foreach.js --types repkg L=$(L)
### Manipulate artifacts inside Docker
VOLUME_MOUNT ?= $(PWD)
@ -172,7 +187,7 @@ upload:
@: $${L} $${T} $${S3_BUCKET}
aws s3 rm --recursive $(S3_HASH)
aws s3 cp $(BUILD)/$(DEB) $(S3_DEB)
aws s3 cp - $(S3_HASH)/$(shell dpkg-deb -f $(BUILD)/$(DEB) Riju-Script-Hash) < /dev/null
hash="$$(dpkg-deb -f $(BUILD)/$(DEB) Riju-Script-Hash | grep .)"; aws s3 cp - "$(S3_HASH)/$${hash}" < /dev/null
.PHONY: publish
publish:

5
deps/prettier.yaml vendored Normal file
View File

@ -0,0 +1,5 @@
id: "prettier"
install:
npm:
- prettier

5
deps/sass.yaml vendored Normal file
View File

@ -0,0 +1,5 @@
id: "sass"
install:
npm:
- sass

View File

@ -10,22 +10,61 @@ pushd /tmp
export DEBIAN_FRONTEND=noninteractive
dpkg --add-architecture i386
apt-get update
(yes || true) | unminimize
apt-get install -y curl gnupg lsb-release
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
# Ceylon
curl -fsSL https://downloads.ceylon-lang.org/apt/ceylon-debian-repo.gpg.key | apt-key add -
# Crystal
curl -fsSL https://keybase.io/crystal/pgp_keys.asc | apt-key add -
# Dart
curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
# Hack
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B4112585D386EB94
# Node.js
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
# R
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
# Yarn
curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
ubuntu_ver="$(lsb_release -rs)"
ubuntu_name="$(lsb_release -cs)"
node_repo="$(curl -sS https://deb.nodesource.com/setup_current.x | grep NODEREPO= | grep -Eo 'node_[0-9]+\.x' | head -n1)"
cran_repo="$(curl -fsSL https://cran.r-project.org/bin/linux/ubuntu/ | grep '<tr>' | grep "${ubuntu_name}" | grep -Eo 'cran[0-9]+' | head -n1)"
node_repo="$(curl -fsSL https://deb.nodesource.com/setup_current.x | grep NODEREPO= | grep -Eo 'node_[0-9]+\.x' | head -n1)"
tee -a /etc/apt/sources.list.d/custom.list >/dev/null <<EOF
deb https://deb.nodesource.com/${node_repo} ${ubuntu_name} main
deb https://dl.yarnpkg.com/debian/ stable main
# Ceylon
deb [arch=amd64] https://downloads.ceylon-lang.org/apt/ unstable main
# Crystal
deb [arch=amd64] https://dist.crystal-lang.org/apt crystal main
# Dart
deb [arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main
# Hack
deb [arch=amd64] https://dl.hhvm.com/ubuntu ${ubuntu_name} main
# Node.js
deb [arch=amd64] https://deb.nodesource.com/${node_repo} ${ubuntu_name} main
# R
deb [arch=amd64] https://cloud.r-project.org/bin/linux/ubuntu ${ubuntu_name}-${cran_repo} main
# Yarn
deb [arch=amd64] https://dl.yarnpkg.com/debian/ stable main
EOF
apt-get update

View File

@ -23,6 +23,8 @@ info:
install:
apt:
- asciidoc
riju:
- prettier
main: "main.adoc"
template: |

View File

@ -27,6 +27,8 @@ info:
install:
apt:
- bash
npm:
- bash-language-server
repl: |
bash --rcfile /dev/null

View File

@ -3,6 +3,11 @@ aliases:
- "be"
name: "Befunge"
install:
npm:
- befunge93
- prompt-sync
info:
impl: "amicloud Befunge-93"
version: "Befunge-93"

View File

@ -3,6 +3,10 @@ aliases:
- "by"
name: "Bython"
install:
pip:
- bython
main: "main.by"
template: |
print("Hello, world!")

View File

@ -20,6 +20,9 @@ info:
paradigm: imperative
usage: []
install:
cpan: Acme::Chef
main: "main.chef"
template: |
Hello World Cake with Chocolate Sauce.

View File

@ -31,6 +31,10 @@ info:
- oo
usage: []
install:
npm:
- lumo-cljs
repl: |
lumo -r
input: |

View File

@ -30,6 +30,10 @@ info:
- imperative
usage: []
install:
npm:
- coffeescript
repl: |
coffee

View File

@ -22,6 +22,12 @@ info:
paradigm: []
usage: []
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -5,6 +5,10 @@ aliases:
- "wow"
name: "Dogescript"
install:
npm:
- dogescript
repl: |
dogescript

View File

@ -3,6 +3,12 @@ aliases:
- "doku"
name: "DokuWiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -1,6 +1,11 @@
id: "elm"
name: "Elm"
install:
npm:
- "@kachkaev/run-elm"
- "@elm-tooling/elm-language-server"
repl: |
elm repl

View File

@ -12,6 +12,8 @@ name: "FORTRAN"
install:
apt:
- flang
pip:
- fortran-language-server
main: "main.f"
template: |2

View File

@ -1,6 +1,10 @@
id: "hy"
name: "Hy"
install:
pip:
- hy
repl: |
hy
input: |

View File

@ -14,6 +14,8 @@ install:
apt:
- nodejs
- yarn
riju:
- prettier
repl: |
node

View File

@ -4,6 +4,12 @@ aliases:
name: "Less"
monacoLang: less
install:
riju:
- prettier
npm:
- less
main: "main.less"
template: |
body:before {

View File

@ -4,6 +4,10 @@ aliases:
- "ls"
name: "LiveScript"
install:
npm:
- livescript
repl: |
lsc
input: |

View File

@ -12,6 +12,12 @@ aliases:
name: "Markdown"
monacoLang: markdown
install:
apt:
- pandoc
riju:
- prettier
main: "main.md"
template: |
Hello, world!

View File

@ -3,6 +3,12 @@ aliases:
- "media"
name: "MediaWiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -2,11 +2,11 @@ id: "ocaml"
name: "OCaml"
install:
build:
apt:
- opam
apt:
- ocaml
opam:
- ocamlformat
- ocaml-lsp-server: "https://github.com/ocaml/ocaml-lsp.git"
repl: |
ocaml

View File

@ -3,6 +3,12 @@ aliases:
- "orgmode"
name: "Org"
install:
apt:
- pandoc
riju:
- prettier
main: "main.org"
template: |
Hello, world!

View File

@ -8,6 +8,9 @@ monacoLang: perl
install:
apt:
- perl
cpan:
- Devel::REPL
- Perl::Tidy
repl: |
re.pl

View File

@ -7,6 +7,8 @@ monacoLang: php
install:
apt:
- php
npm:
- intelephense
repl: |
php -a

View File

@ -12,6 +12,10 @@ aliases:
- "pokeball"
name: "Pikachu"
install:
pip:
- pikalang
main: "main.pokeball"
template: |
pi pi pi pi pi pi pi pi pi pi pika pipi pi pi pi pi pi pi pi pipi pi pi

View File

@ -2,6 +2,12 @@ id: "pug"
name: "Pug"
monacoLang: pug
install:
riju:
- prettier
npm:
- pug-cli
main: "main.pug"
template: |
html

View File

@ -7,6 +7,9 @@ name: "PureScript"
install:
apt:
- libtinfo5
npm:
- purescript
- spago
setup: |
shopt -s dotglob; cp -R /opt/purescript/project-template/* "$PWD/"

View File

@ -7,6 +7,12 @@ aliases:
- "bucklescript"
name: "ReasonML"
install:
npm:
- bs-platform
opam:
- reason
main: "main.re"
template: |
print_string("Hello, world!\n");

View File

@ -4,6 +4,12 @@ aliases:
name: "reStructuredText"
monacoLang: restructuredtext
install:
apt:
- pandoc
riju:
- prettier
main: "main.rst"
template: |
Hello, world!

View File

@ -16,6 +16,12 @@ aliases:
- "manual"
name: "roff"
install:
apt:
- pandoc
riju:
- prettier
main: "main.roff"
template: |
.PP

View File

@ -8,6 +8,9 @@ monacoLang: ruby
install:
apt:
- ruby
gem:
- rufo
- solargraph
repl: |
irb
@ -16,14 +19,12 @@ main: "main.rb"
template: |
puts "Hello, world!"
suffix: |
require 'irb'
IRB.setup(ARGV[0], argv: [])
workspace = IRB::WorkSpace.new(binding)
binding_irb = IRB::Irb.new(workspace)
binding_irb.run(IRB.conf)
run: |
ruby main.rb

View File

@ -1,6 +1,10 @@
id: "sass"
name: "Sass"
install:
riju:
- sass
main: "main.sass"
template: |
body:before

View File

@ -2,6 +2,11 @@ id: "scss"
name: "SCSS"
monacoLang: scss
install:
riju:
- sass
- prettier
main: "main.scss"
template: |
body:before {

View File

@ -3,6 +3,10 @@ aliases:
- "spl"
name: "Shakespeare"
install:
pip:
- shakespearelang
repl: |
shakespeare console
input: |
@ -104,7 +108,6 @@ template: |
[Exeunt]
suffix: |
[A pause]
run: |

View File

@ -1,6 +1,10 @@
id: "slick"
name: "Slick"
install:
opam:
- dune
repl: |
slick
input: |

View File

@ -1,6 +1,12 @@
id: "textile"
name: "Textile"
install:
apt:
- pandoc
riju:
- prettier
main: "main.textile"
template: |
Hello, world!

View File

@ -3,6 +3,12 @@ aliases:
- "tiki"
name: "Tiki Wiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -1,6 +1,12 @@
id: "twiki"
name: "TWiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -6,6 +6,13 @@ aliases:
name: "TypeScript"
monacoLang: typescript
install:
riju:
- prettier
npm:
- typescript
- ts-node
repl: |
ts-node

View File

@ -7,6 +7,8 @@ name: "Vimscript"
install:
apt:
- vim
npm:
- vim-language-server
repl: |
vim

View File

@ -1,6 +1,12 @@
id: "vimwiki"
name: "Vimwiki"
install:
apt:
- pandoc
riju:
- prettier
main: "main.txt"
template: |
Hello, world!

View File

@ -3,6 +3,10 @@ aliases:
- "ws"
name: "Whitespace"
install:
pip:
- whitespace
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"

View File

@ -10,10 +10,8 @@ aliases:
name: "Wolfram Language"
install:
build:
apt:
- python3
- python3-dev
pip:
- Mathics3
repl: |
mathics

View File

@ -7,6 +7,8 @@ monacoLang: yaml
install:
apt:
- jq
riju:
- prettier
main: "main.yaml"
template: |