diff --git a/srcpkgs/crystal/template b/srcpkgs/crystal/template index f606c1c1bcf..300c40cada7 100644 --- a/srcpkgs/crystal/template +++ b/srcpkgs/crystal/template @@ -1,9 +1,10 @@ # Template file for 'crystal' pkgname=crystal -version=0.24.0 +version=0.24.1 revision=1 +_shardsversion=0.7.2 hostmakedepends="crystal-bin git llvm" -makedepends="libxml2-devel" +makedepends="libxml2-devel libyaml-devel" depends="gc-devel libatomic_ops pcre-devel libevent-devel libyaml-devel libxml2-devel gmp-devel libressl-devel llvm gcc" checkdepends="readline-devel libyaml-devel gmp-devel libressl-devel" @@ -11,10 +12,13 @@ short_desc="The Crystal Programming Language" maintainer="lvmbdv " license="Apache-2.0" homepage="https://crystal-lang.org/" -distfiles="https://github.com/crystal-lang/crystal/archive/${version}.tar.gz" -checksum=c34f4326ee576f60b8960e331aae8d5265a12b30707582e1f5c6c6032d364a80 +distfiles="https://github.com/crystal-lang/crystal/archive/v${version}.tar.gz +https://github.com/crystal-lang/shards/archive/v${_shardsversion}.tar.gz" +checksum="4999a4d2a9ffc7bfbea8351b97057c3a135c2091cbd518e5c22ea7f5392b67d8 +97a3681e74d2fdcba0575f6906f4ba0aefc709a2eb672c7289c63176ff4f3be2" conflicts="crystal-bin" nocross="FIXME: someone needs to sort out the llvm --cxxflags for cross building" +_crystalflags="--release --no-debug --progress" post_extract() { # Check for libtls to determine if libssl is coming from LibreSSL, as suggested by Vaelatern @@ -27,11 +31,17 @@ post_extract() { } do_build() { - make ${makejobs} release=1 FLAGS="--release --no-debug" \ + if [ -z ${disable_parallel_build} ] && [ -n ${XBPS_MAKEJOBS} ]; then + _crystalflags="${_crystalflags} --threads ${makejobs:2:4}" + fi + make ${makejobs} release=1 FLAGS="${_crystalflags}" \ CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal" \ CRYSTAL_CONFIG_VERSION="${version}" \ CRYSTAL_CACHE_DIR="/tmp/crystal" - make ${makejobs} doc CRYSTAL_CACHE_DIR="/tmp/crystal" + make ${makejobs} docs CRYSTAL_CACHE_DIR="/tmp/crystal" + + cd ${XBPS_BUILDDIR}/shards-${_shardsversion}/ + ${wrksrc}/bin/crystal build ${_crystalflags} -o bin/shards src/shards.cr } do_check() { @@ -39,6 +49,9 @@ do_check() { CRYSTAL_CONFIG_VERSION="${version}" \ CRYSTAL_CACHE_DIR="/tmp/crystal" \ PATH=".build:$PATH" + + cd ${XBPS_BUILDDIR}/shards-${_shardsversion}/ + make test CRYSTAL_BIN="${wrksrc}/bin/crystal" } do_install() { @@ -48,6 +61,7 @@ do_install() { vmkdir /usr/share/doc/crystal/api vmkdir /usr/share/bash-completion/completions/crystal vmkdir /usr/share/zsh/site-functions/_crystal + vmkdir /usr/share/licenses/shards vcopy etc/completion.bash /usr/share/bash-completion/completions/crystal vcopy etc/completion.zsh /usr/share/zsh/site-functions/_crystal @@ -57,4 +71,6 @@ do_install() { vbin .build/crystal crystal vlicense LICENSE vman man/crystal.1 + vbin ${XBPS_BUILDDIR}/shards-${_shardsversion}/bin/shards + cp ${XBPS_BUILDDIR}/shards-${_shardsversion}/LICENSE ${DESTDIR}/usr/share/licenses/shards }