mirror of
https://github.com/ivabus/pantry
synced 2024-11-22 16:35:07 +03:00
0d68a9ea22
slightly better
80 lines
1.9 KiB
YAML
80 lines
1.9 KiB
YAML
distributable:
|
|
url: https://github.com/crystal-lang/crystal/archive/refs/tags/{{ version }}.tar.gz
|
|
strip-components: 1
|
|
|
|
versions:
|
|
github: crystal-lang/crystal
|
|
|
|
# Crystal is needed to build itself…
|
|
# So we cannot build it from source.
|
|
warnings:
|
|
- vendored
|
|
|
|
platforms:
|
|
- darwin
|
|
- linux/x86-64
|
|
|
|
companions:
|
|
crystal-lang.org/shards: '*'
|
|
|
|
dependencies:
|
|
hboehm.info/gc: ^8
|
|
gnu.org/gmp: ^6
|
|
libevent.org: ^2
|
|
pyyaml.org/libyaml: ^0
|
|
llvm.org: <17
|
|
openssl.org: ^1.1
|
|
pcre.org/v2: ^10
|
|
freedesktop.org/pkg-config: ^0
|
|
sourceware.org/libffi: ^3
|
|
invisible-island.net/ncurses: ^6
|
|
|
|
runtime:
|
|
env:
|
|
CRYSTAL_LINK_FLAGS: -Wl,-rpath,{{pkgx.prefix}}
|
|
CRYSTAL_PATH: ${{prefix}}/lib:$CRYSTAL_PATH
|
|
|
|
build:
|
|
dependencies:
|
|
curl.se: '*'
|
|
gnu.org/make: '*'
|
|
script:
|
|
- run: |
|
|
curl -Lf "https://github.com/crystal-lang/crystal/releases/download/{{version}}/crystal-{{version}}-1-$PLATFORM.tar.gz" | \
|
|
tar --strip-components=1 -zxf -
|
|
working-directory: .bootstrap
|
|
- mkdir -p .build
|
|
- make deps
|
|
- make crystal $ARGS
|
|
- mkdir -p "{{prefix}}/bin"
|
|
- cp .build/crystal "{{prefix}}/bin/crystal.bin"
|
|
- cp props/shim "{{prefix}}/bin/crystal"
|
|
- cp -a src "{{prefix}}/lib"
|
|
env:
|
|
CRYSTAL_LIBRARY_PATH: $LD_LIBRARY_PATH
|
|
PATH: $SRCROOT/.bootstrap/bin:$PATH
|
|
darwin: { PLATFORM: darwin-universal }
|
|
linux/x86-64: { PLATFORM: linux-x86_64 }
|
|
LDFLAGS: -Wl,-rpath,{{pkgx.prefix}}
|
|
ARGS:
|
|
- release=true
|
|
- FLAGS=--no-debug
|
|
- interpreter=true
|
|
- CRYSTAL_CONFIG_PATH=../lib
|
|
linux:
|
|
CC: clang
|
|
CXX: clang++
|
|
LD: clang
|
|
|
|
provides:
|
|
- bin/crystal
|
|
|
|
test:
|
|
fixture: puts {{Crystal::VERSION}}
|
|
env:
|
|
script:
|
|
- cp $FIXTURE test.cr
|
|
- crystal build -o test test.cr
|
|
- test "$(./test)" = "{{version}}"
|
|
- test "$(crystal eval 'puts {{Crystal::VERSION}}')" = "{{version}}"
|
|
- test "$(cat $FIXTURE | crystal eval)" = "{{version}}"
|