diff options
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r-- | dev-lang/crystal/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/crystal/crystal-0.36.0.ebuild | 121 |
2 files changed, 125 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 87327aa8e2a5..9071739bc6fa 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -8,5 +8,9 @@ AUX crystal-0.31.0-verbose.patch 701 BLAKE2B 34b74f073edf2979074cfa9042c73945b48 DIST crystal-0.35.1-1-linux-i686.tar.gz 28330633 BLAKE2B 1f393ad53f2643b4514de54192047f549cffa22b14afbf25d9de00bf815378ec65a5049a9eee28753dc13bc9fea40447be109f21b55518a6ed8f06353a0b26e6 SHA512 333c2cdbd40ef65de52c1056e6089628ed83daf1a1e9d5243e876b622545d767077b485003ae7efaedeb7807c03c40e6f356cbdcce4dab2319c1686da120dac0 DIST crystal-0.35.1-1-linux-x86_64.tar.gz 26653426 BLAKE2B a4ab58e784af3cd0298057a35079dfb48c9ca8d56388394377b86d7475d143a07cc3a800cdee3c9af3054d249ac9b87808d86b25747fc8f9322d01f25a3e3dec SHA512 1cceea5742651e2708e19ea49a7a884500d21beec3eaed75fc9e4b82e7dabaa521143b6c576ec48d2f5e27951163fd8c2ae417f46a1847c68f6e91c9b2a9a72a DIST crystal-0.35.1.tar.gz 2349984 BLAKE2B bf9078c949499e3f8469a055908c23335b04f2a58ab323345bdcdf1de70d00cdfe3aae7baf93e5098e21852c59d1cd8a0fb4faa91c9877d7ef2347a5faeaa69c SHA512 0381568330802de5838f8e66600567817b60ba0087bb3cc2b5df2944c5c42779039b606c81e0207bef34082bf25331b590a8140830f65ba4106ae465f717000b +DIST crystal-0.36.0-1-linux-i686.tar.gz 30860920 BLAKE2B c2c9b55a100e65cb3dbefe69782c72a522e71751bcabcfd38f582e010585349f4213464af3fd6c7ddb90ddb7f579e56dc07ed56dc06b7c6bc7ae4b561f1705e6 SHA512 5363cef6622b86cf8786d65926e105a643790cb62bfdd2555df963d83fa06dd55f493e172115c4788fd82cecc477d92fb77b1c0b73f92e23a9378799dedfd64e +DIST crystal-0.36.0-1-linux-x86_64.tar.gz 28383614 BLAKE2B a34e5448395bd079c10504b0f0d7de23fc916c8e0db51bc0b1462e13ec68c7f08eb04e73937756673e11a7100aa5cdd6d2d4aa8d38e145027bf6e4c19cd0bbbe SHA512 49710ba0ceb8aef39971e6731e5ce902274d7ac5f02289df6e1eb7b9bea73b7d6c188547df48e8acc44bc8088a2d3f7579770cdcd2fd118ec672b606ca073b9b +DIST crystal-0.36.0.tar.gz 2411744 BLAKE2B b564199de1cf30a418b6e06ffb2d8045d1dcebe60b58143a0579dcee2eb5c0d514c30a7e7d083ad2f6c8393423dfa3c8bc8bbc2dfdf2d6387d258b1dab7caf66 SHA512 561c5f97a9355a616a42ec9c88853883ee06a6f472918bf5f2714c0dacefa87209b06bc419355da88c3f5248ce713710960e24e0bc8e9eca07ef9c8b970661b8 EBUILD crystal-0.35.1.ebuild 2934 BLAKE2B e5ddc56292fda1b72b86f1f7e0e0d3c926af90424f56240e1dee74579dea85707575e63ebee047981b5b7a9f43fe60b5adc13df9d19ffbc55fe85b92d750702c SHA512 dec89c833518f8e4d55f374c9b22fee5ff0fca89c09330346d1fb908fe57cf8695a7276cafb8d0a1d3a7742b17db4dab0bde407d04292b888398f19c05def882 +EBUILD crystal-0.36.0.ebuild 2934 BLAKE2B 3e9544e66fa9843128ee5a51249b38630fbd40f97e713fb44402fcb712a75d74c1b0b7c0016efdbec67ba566a5a9b68af3abc5a060fb9f391eb636ad1c54e57c SHA512 546f619aa496c9eebab4ccc42c814e0e86cce99fa5d4cd0e53089b306857c38b750f6c2de634ab2403c6823152dd5e195578b4f9f968577b0823c5661d7fbdd7 MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02 diff --git a/dev-lang/crystal/crystal-0.36.0.ebuild b/dev-lang/crystal/crystal-0.36.0.ebuild new file mode 100644 index 000000000000..31b5378f2b33 --- /dev/null +++ b/dev-lang/crystal/crystal-0.36.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2021 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=11 + +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.31.0-verbose.patch + "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.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 +) + +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 + + # crystal uses 'LLVM_TARGETS' to override default list of targets + unset LLVM_TARGETS + 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} +} |