mirror of
https://github.com/ivabus/pantry
synced 2024-11-25 18:05:07 +03:00
1b0e36efc1
* fix(deno) closes #5324 * use `cargo install` instead of `cargo build`. * well now
80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
distributable:
|
|
url: https://github.com/denoland/deno/archive/refs/tags/v{{ version }}.tar.gz
|
|
strip-components: 1
|
|
|
|
versions:
|
|
github: denoland/deno
|
|
|
|
provides:
|
|
- bin/deno
|
|
|
|
interprets:
|
|
# extensions: [ts, js] # nodejs.org for now
|
|
extensions: ts
|
|
args: [deno, run]
|
|
|
|
runtime:
|
|
env:
|
|
DENO_NO_UPDATE_CHECK: 'true'
|
|
|
|
companions:
|
|
# denort added in v1.41.0 requires `unzip`
|
|
info-zip.org/unzip: '*'
|
|
|
|
dependencies:
|
|
darwin/x86-64:
|
|
llvm.org: 17 # libunwind
|
|
|
|
build:
|
|
script:
|
|
# https://github.com/denoland/deno/pull/22298
|
|
# deno.land 1.41.0 will currently _not_ run deno compile on linux/aarch64
|
|
# for their first official release, they're using ubuntu 22.04, which means
|
|
# a newer glibc. Patching via the https://github.com/LukeChannings/deno-arm64
|
|
# repo may be possible, but lets not delay the three usable arches for the rare
|
|
# one. Revist this.
|
|
|
|
# Obviously, I'd just skip the test, except everything we _do_ relies on
|
|
# deno compile, so that'd just break the unholy everything out of pkgx.
|
|
- run: test "{{hw.platform}}+{{ hw.arch }}" != "linux+aarch64"
|
|
if: 1.41.0
|
|
|
|
# https://github.com/denoland/deno/issues/15596 -- reported fixed in 1.25.3
|
|
- run: |
|
|
find ext/ffi/tinycc -maxdepth 0 -empty -exec \
|
|
git clone https://github.com/TinyCC/tinycc.git {} \;
|
|
|
|
if test {{ hw.target }} = x86_64-apple-darwin; then
|
|
# our LLVM cannot build with deployment target set to 10.6
|
|
sed -i.bak s/MACOSX_DEPLOYMENT_TARGET/\#/ ext/ffi/tinycc/Makefile
|
|
fi
|
|
if: '>=1.25.0<1.25.4'
|
|
|
|
# change default bindir to ~/.local/bin per our conventions
|
|
- sed -i'' -e 's/home_path.push(".deno")/home_path.push(".local")/' cli/tools/installer.rs
|
|
|
|
- grep home_path cli/tools/installer.rs
|
|
|
|
- cargo install --locked --path cli --root "{{ prefix }}"
|
|
dependencies:
|
|
git-scm.org: 2 # to build tinycc
|
|
rust-lang.org: ^1.70
|
|
rust-lang.org/cargo: ^0
|
|
llvm.org: 17 # macOS/aarch64 requires (FIXME only dep where needed)
|
|
curl.se: '*' # required to download v8 (python is another option)
|
|
cmake.org: ^3 # deno.land>=1.36.1 requires cmake
|
|
protobuf.dev: '*' # deno.land>=1.36.4 requires protoc
|
|
env:
|
|
linux:
|
|
LD: clang
|
|
|
|
test:
|
|
script:
|
|
- deno --version | grep {{version}}
|
|
- mv $FIXTURE test.ts
|
|
- deno install -f test.ts
|
|
- test "$($HOME/.local/bin/test)" = "Hello, world!"
|
|
- deno compile test.ts
|
|
- test "$(./test)" = "Hello, world!"
|
|
fixture: |
|
|
console.log("Hello, world!");
|