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)) else ifneq (,$(filter $(I),admin ci))
docker build . -f docker/$(I)/Dockerfile -t riju:$(I) docker build . -f docker/$(I)/Dockerfile -t riju:$(I)
else 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 endif
.PHONY: script .PHONY: script
@ -43,6 +43,10 @@ script:
.PHONY: scripts .PHONY: scripts
scripts: scripts:
@: $${L}
node tools/make-foreach.js --types script L=$(L)
.PHONY: all-scripts
node tools/make-foreach.js --pkgs script node tools/make-foreach.js --pkgs script
.PHONY: pkg .PHONY: pkg
@ -53,12 +57,23 @@ pkg:
cd $(BUILD)/src && pkg="$(PWD)/$(BUILD)/pkg" ../build.bash cd $(BUILD)/src && pkg="$(PWD)/$(BUILD)/pkg" ../build.bash
fakeroot dpkg-deb --build $(BUILD)/pkg $(BUILD)/$(DEB) fakeroot dpkg-deb --build $(BUILD)/pkg $(BUILD)/$(DEB)
.PHONY: pkgs
pkgs:
@: $${L}
node tools/make-foreach.js --types pkg L=$(L)
.PHONY: repkg .PHONY: repkg
repkg: repkg:
@: $${L} $${T} @: $${L} $${T}
make script L=$(L) T=$(T)
make shell I=packaging CMD="make pkg 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) 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 ### Manipulate artifacts inside Docker
VOLUME_MOUNT ?= $(PWD) VOLUME_MOUNT ?= $(PWD)
@ -172,7 +187,7 @@ upload:
@: $${L} $${T} $${S3_BUCKET} @: $${L} $${T} $${S3_BUCKET}
aws s3 rm --recursive $(S3_HASH) aws s3 rm --recursive $(S3_HASH)
aws s3 cp $(BUILD)/$(DEB) $(S3_DEB) 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 .PHONY: publish
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 export DEBIAN_FRONTEND=noninteractive
dpkg --add-architecture i386
apt-get update apt-get update
(yes || true) | unminimize (yes || true) | unminimize
apt-get install -y curl gnupg lsb-release apt-get install -y curl gnupg lsb-release
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - # Ceylon
curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - 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_ver="$(lsb_release -rs)"
ubuntu_name="$(lsb_release -cs)" 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 tee -a /etc/apt/sources.list.d/custom.list >/dev/null <<EOF
deb https://deb.nodesource.com/${node_repo} ${ubuntu_name} main # Ceylon
deb https://dl.yarnpkg.com/debian/ stable main 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 EOF
apt-get update apt-get update

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -12,6 +12,10 @@ aliases:
- "pokeball" - "pokeball"
name: "Pikachu" name: "Pikachu"
install:
pip:
- pikalang
main: "main.pokeball" main: "main.pokeball"
template: | template: |
pi pi pi pi pi pi pi pi pi pi pika pipi pi pi pi pi pi pi pi pipi pi pi 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" name: "Pug"
monacoLang: pug monacoLang: pug
install:
riju:
- prettier
npm:
- pug-cli
main: "main.pug" main: "main.pug"
template: | template: |
html html

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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