pantry/projects/deno.land/package.yml
2023-01-26 20:42:47 -05:00

49 lines
1.4 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"
build:
script: |
# https://github.com/denoland/deno/issues/15596 -- reported fixed in 1.25.3
if test {{ version.major }} -eq 1 -a {{ version.minor }} -eq 25 -a {{ version.patch }} -lt 3; then
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
fi
# FIXME: until we unblock rust-lang.org>1.65.0, we need a feature flag
# to compile deno.land
git apply props/unzip_option_feature.diff
cargo build --release
mkdir -p "{{ prefix }}"/bin
mv target/release/deno "{{ prefix }}"/bin
dependencies:
git-scm.org: 2 # to build tinycc
rust-lang.org: 1
rust-lang.org/cargo: ^0.65
llvm.org: '>=13' # macOS/aarch64 requires this (FIXME only dep where needed)
curl.se: '*' # required to download v8 (python is another option)
tea.xyz/gx/make: '*' # required to build the libffi parts
test:
script: deno --version