diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2021-03-27 08:05:07 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2021-03-27 08:18:12 +0000 |
commit | bfacb3784e77c58b1a389b44445bc140506cbce8 (patch) | |
tree | f110d942ffb19cbbd0027002c2933b1887ee3c99 /dev-lang/crystal | |
parent | dev-java/hamcrest-library: removed obsolete 1.3-r1 (diff) | |
download | gentoo-bfacb3784e77c58b1a389b44445bc140506cbce8.tar.gz gentoo-bfacb3784e77c58b1a389b44445bc140506cbce8.tar.bz2 gentoo-bfacb3784e77c58b1a389b44445bc140506cbce8.zip |
dev-lang/crystal: bump up to 1.0.0
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r-- | dev-lang/crystal/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/crystal/crystal-1.0.0.ebuild | 123 |
2 files changed, 126 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 13edd604cfce..9a65895eeea3 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -1,3 +1,6 @@ DIST crystal-0.36.1-1-linux-i686.tar.gz 30873747 BLAKE2B 43cde4b61d2947012e860df02563316a801c0a0762881ad8d7f5fd328da4bf5be6ad5411724dedf9ec2b743bd202ef5341d860cfe209f1973f483ac86e0fd155 SHA512 f291ee3ed387577c173b9ee897fb7d8059f1a7a754ecc5f2c54cbcb34ab324914bc201a12f3a89b53e21d77c30342e9ba69a0ca885f2a8df512844bdc3754de6 DIST crystal-0.36.1-1-linux-x86_64.tar.gz 28360836 BLAKE2B ee9fef20c252ae0efbaafae3426b384318cd141669ce929f723dfa9e6fd9485961c46c948a3aae2fcb2780b92b759fb74e0a4aeec45e198ee9541b0a959072cd SHA512 12389aee0bf863606a620e9e5a1600081aef3be5eef091f592d000f00e9925cbd36cc2e55485c4d295b3a2fcde033425eb2b225a92fd2b49b2e3f18b2b38510f DIST crystal-0.36.1.tar.gz 2413747 BLAKE2B 19b78217a37394b163859a536fddcd93e201209dae55713743a459414a48eae38458c28fa17e1ac6e8d361ccdc498a23026ee83c7c2a744f9d51c55bd6e5f0d8 SHA512 86ce295aed0cb601820c727615fffe6816bee0e98e5d91c912f43354448d59f449a6ffb895f5914b3e6564f72f35a50880cec4513826068a2e3e470b4f06048b +DIST crystal-1.0.0-1-linux-i686.tar.gz 30753871 BLAKE2B 247d8327c001ef8e847d981ab771964faa90b5acb1dc1336288b4c401cd039bb259e22945aabae73b6e23cf6babec288a25e4490a860e9a6c5cc8076afb2e7d3 SHA512 36f48fbc44f254588b449c6c80dd47e8152e1e31785ce0111dcd4da9eed57c12aac7427807f4a60d86a9841726e197a6d08582438bffcc4ed16eaad35e6ea886 +DIST crystal-1.0.0-1-linux-x86_64.tar.gz 28189455 BLAKE2B 8313d201e8b8363f3f5025ab2bf2d44a981ca7185686474aa677d38986428b54e9d28fef01e12205ab58db67b516a043582a9965f31972bfa2ece5ff8bd640a0 SHA512 bbfe5010d2e620a58b25a3f7133f0f15c212ed085f020bbb8da39aca882d89c077068343fe182995ec09b436daaf8d252db232bf7fe3af087a5ab0728e0a758f +DIST crystal-1.0.0.tar.gz 2435212 BLAKE2B 3204162abae8ef2e3e7a7a294f001b3906562c17121bb3646c1d1bac0d7b98433c77d9c8101bae9b3041996794784b8fce5dd3dfded33a27c8d229bc3b557c0c SHA512 aa56eb0131aecad15bebc6ef0ce2f34f0992a8362441dd662a518ddbc5e3818762c1c7228bc5b06aafdb8815e59d791654add9da8ba9a47a6a4fd34f6b039a8b diff --git a/dev-lang/crystal/crystal-1.0.0.ebuild b/dev-lang/crystal/crystal-1.0.0.ebuild new file mode 100644 index 000000000000..03283fb4e71d --- /dev/null +++ b/dev-lang/crystal/crystal-1.0.0.ebuild @@ -0,0 +1,123 @@ +# 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) \ + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \ + \ + 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) \ + LLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \ + \ + 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} +} |