summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/crystal/Manifest3
-rw-r--r--dev-lang/crystal/crystal-0.30.1.ebuild123
2 files changed, 126 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 3f331e5e01bf..1a98a93bcc58 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -7,3 +7,6 @@ DIST crystal-0.29.0.tar.gz 2122890 BLAKE2B 17ef4c3c07d326b73bb015a1cd9207c716630
DIST crystal-0.30.0-1-linux-i686.tar.gz 31962470 BLAKE2B e913122b8e6fa472b7766c865916a8d6d588fccf1ad85f2c5a7b31334cb5631773e7672eb8fdd1c9bfbefa720b7bef6ea8884e225a29be2a8d8203fa1e2e3455 SHA512 84fd9d66355d069e02805d2f8cc3544ecc90bf6bbbf27b0e5df133264507396cef378f4238e28aff8fc9c8c21cd938d687d11b1924d2530cf5c95b1078eb772b
DIST crystal-0.30.0-1-linux-x86_64.tar.gz 30157495 BLAKE2B b7e684242f90b7dc0bc93bb2c90e255c65554bfc514616cff645578f1d0956cb9f61262294d3399618bf50c4828e6e83fabd09515d3b7268cbcd96952cba58a4 SHA512 34e5a70ce2305b492bad57cdbcf77603e46052d89cb3b92012cb546ec22af9dbc80c91963b1725e6e1095548e43da766d39fefc2bee827e194d889ccd20c044f
DIST crystal-0.30.0.tar.gz 2151397 BLAKE2B 8b32d12e6f45d18c5ef23dce0520d7669076295324bcb100e0120779c986ecf9081a23207eaa3696b661dd566c37aada1644d2b5acf2e5ddf447be11b8dabe8a SHA512 9c3da09b8ed57d1fd6942350cefe3be7cf6f1ab32a86329c0eda24138e30f44b822161b8eb3bca057bd8e7b0a47fefbe566af1284f486643080a967c1cb79483
+DIST crystal-0.30.1-1-linux-i686.tar.gz 31972575 BLAKE2B 75350799d836110448f56a7b0f49ad27fdeef0f1da169cc15b411482649538e48c3895b169a1deb4c5691f97329ad70a126396425fd096f0dbd83db7e989e4b2 SHA512 9ede9ed7522a82270d91c316b9b98d8ab2d497def2432b99e2d2f21175e978b5b984df92c9637b4600ef27b6e84bd7bc7a5a1b227b17538804a1bc52dabdf84a
+DIST crystal-0.30.1-1-linux-x86_64.tar.gz 30166159 BLAKE2B b58e69f9f00e15c3b6e7e259179903f6f210f463c89b8d50a99b1a7d413092585afddf94cac3a461c041c3d91301aac8e61dbab37282a29f781a34367a1d9ddb SHA512 31f06163951fb6ede70eb41f6047c96a74293754bba360b428bf162b1661eed47f8b426327f074f3523ae16b073e8ae5f5e0e6b36ebf83031fa5a0b414b41648
+DIST crystal-0.30.1.tar.gz 2153037 BLAKE2B e5cb2d49688aba75f684ea9fea7e6b0e85eb124f55bf00472595ba83bedd50a8042c5b3c40358254c3fdec3bce2f351ca5e6d385a7841d33f44b934844fd89b1 SHA512 62ddb0dc45385d52d7fdd593f85ec4bef2451aa9a48aabe0115ffe8cfe820e6665b2d51d097339fe931d8599bb6c62c7ddfcaae36a199db0726df4e246af6eab
diff --git a/dev-lang/crystal/crystal-0.30.1.ebuild b/dev-lang/crystal/crystal-0.30.1.ebuild
new file mode 100644
index 000000000000..cebd1d37ade4
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.30.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=${PV}-1
+BV_AMD64=${BV}-linux-x86_64
+BV_X86=${BV}-linux-i686
+
+DESCRIPTION="The Crystal Programming Language"
+HOMEPAGE="https://crystal-lang.org"
+SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
+ amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
+ x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
+
+RESTRICT=test # not stable for day-to-day runs
+
+LLVM_MAX_SLOT=8
+
+# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
+DEPEND="
+ sys-devel/llvm:${LLVM_MAX_SLOT}
+ dev-libs/boehm-gc[static-libs,threads]
+ dev-libs/libatomic_ops
+ dev-libs/libevent
+ dev-libs/libpcre
+ sys-libs/libunwind
+ dev-libs/pcl
+ dev-libs/gmp:0
+"
+RDEPEND="${DEPEND}
+ xml? ( dev-libs/libxml2 )
+ yaml? ( dev-libs/libyaml )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.27.1-verbose.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
+ "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
+ #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
+ "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
+ "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
+ "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
+ "${FILESDIR}"/${PN}-0.29.0-no-usr-lib.patch
+)
+
+src_prepare() {
+ default
+
+ use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
+}
+
+src_compile() {
+ local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
+ if [[ ! -d ${bootstrap_path} ]]; then
+ eerror "Binary tarball does not contain expected directory:"
+ die "'${bootstrap_path}' path does not exist."
+ fi
+
+ emake \
+ $(usex debug "" release=1) \
+ progress=true \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ PATH="${bootstrap_path}:${PATH}" \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+ use doc && emake docs
+}
+
+src_test() {
+ # EXTRA_SPEC_FLAGS is useful to debug individual tests
+ # as part of full build:
+ # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
+ emake spec \
+ $(usex debug "" release=1) \
+ progress=true \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ \
+ "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
+}
+
+src_install() {
+ insinto /usr/$(get_libdir)/crystal
+ doins -r src/.
+ dobin .build/crystal
+
+ insinto /usr/share/zsh/site-functions
+ newins etc/completion.zsh _crystal
+
+ use examples && dodoc -r samples
+
+ if use doc ; then
+ docinto api
+ dodoc -r docs/.
+ fi
+
+ newbashcomp etc/completion.bash ${PN}
+}