package.mk/recipes/crystal/Makefile

47 lines
1.8 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

name = crystal
version = 1.7.1
release = 0
URL = https://github.com/crystal-lang/crystal/archive/$(version).tar.gz
build-dependencies = llvm-15-dev
dependencies = libyaml libevent pcre llvm-15 libressl
SYSCONF ?= ../../
include $(SYSCONF)/package.mk
build_custom:
cd $(bdir) ; \
make release=1 \
FLAGS="--release --no-debug" \
CRYSTAL_PATH="$(pwd)/src" \
CRYSTAL_CONFIG_VERSION="$(version)" \
CRYSTAL_CONFIG_PATH="lib:$(PREFIX)/lib/crystal" \
CRYSTAL_CACHE_DIR="/tmp/crystal" \
LLVM_CONFIG=$(PREFIX)/bin/llvm-config ; \
make docs CRYSTAL_CACHE_DIR="$(TMP)/crystal"
fake_root_install_custom:
@mkdir -p "$(pkg_fake_root_dir)/$(PREFIX)/bin"
@mkdir -p "$(pkg_fake_root_dir)/$(PREFIX)/lib"
@mkdir -p "$(pkg_fake_root_dir)/$(PREFIX)/share/man/man1"
$(Q)install -m755 "$(bdir)/bin/crystal" "$(pkg_fake_root_dir)/$(PREFIX)/bin/crystal"
$(Q)cp -r $(bdir)/src "$(pkg_fake_root_dir)/$(PREFIX)/lib/crystal"
$(Q)rm -rf $(pkg_fake_root_dir)/$(PREFIX)/lib/crystal/ext/sigfault.*
$(Q)rm -rf $(pkg_fake_root_dir)/$(PREFIX)/lib/crystal/llvm/ext/llvm_ext.o
$(Q)mkdir -p "$(pkg_fake_root_dir)/$(PREFIX)/share/doc/crystal"
$(Q)cp -r $(bdir)/docs "$(pkg_fake_root_dir)/$(PREFIX)/share/doc/crystal/api"
$(Q)cp -r $(bdir)/samples "$(pkg_fake_root_dir)/$(PREFIX)/share/doc/crystal/"
$(Q)install -m644 $(bdir)/man/crystal.1 "$(pkg_fake_root_dir)/$(PREFIX)/share/man/man1/"
@# Well probably want those at some point… in due time, and in splits.
@#install -m644 etc/completion.bash "$(pkg_fake_root_dir)/$(PREFIX)/share/bash-completion/completions/crystal"
@#install -m644 etc/completion.zsh "$(pkg_fake_root_dir)/$(PREFIX)/share/zsh/site-functions/_crystal"
create_custom: build-env configure build_custom fake_root_install_custom packages clean_working_dir
all: create_custom