summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-09-02 10:53:10 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2018-09-02 11:53:24 +0100
commitd3dd554487c3b4517f5e7c4b6cfdb12fe1b19c0f (patch)
treef4d7a6431f6f39312f01db44e0981470cc377e2f /dev-lang
parentnet-dns/ddclient: bump to version 3.9.0 (diff)
downloadgentoo-d3dd554487c3b4517f5e7c4b6cfdb12fe1b19c0f.tar.gz
gentoo-d3dd554487c3b4517f5e7c4b6cfdb12fe1b19c0f.tar.bz2
gentoo-d3dd554487c3b4517f5e7c4b6cfdb12fe1b19c0f.zip
dev-lang/crystal: bump up to 0.26.1
Package-Manager: Portage-2.3.48, Repoman-2.3.10
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/crystal/Manifest3
-rw-r--r--dev-lang/crystal/crystal-0.26.1.ebuild106
-rw-r--r--dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-network-sandbox-3.patch26
-rw-r--r--dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-sandbox.patch22
4 files changed, 157 insertions, 0 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 7eda964d98ea..048601841588 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -6,4 +6,7 @@ DIST crystal-0.24.2.tar.gz 1745462 BLAKE2B 8f3d5cf9e274558a5622aae44c6f7d54d0b30
DIST crystal-0.25.0.tar.gz 1957613 BLAKE2B 4c2467e39a9bc6745b74c00f755490a2f726e775c2a0d15562af27d2a6771c95c44f79e6b59ad45f61a59566529854d75c980c55a6886538fa98663879477258 SHA512 20f2864919c7710e5aee8112e1c6ab54a2e50b244ac63d374edfed41ab659b11c062f76dbfc38e763a08bdbea9e0a39f3b5cac5e00bf453be3a31d3b0a023917
DIST crystal-0.25.1-1-linux-i686.tar.gz 39882213 BLAKE2B 35d0045a72ced6ba7348105c9b88e564f85b075af78decd52c40b47b338cd1c7c1b01565430f9aa21251cfd1266041268e037eb616a24475acfa22b1b8ae1448 SHA512 79601b6c586184e064798c4daca3de77f7c81fbc4d0062a558824533f9272f04899c0041b17dce072757f20f7940c99303c6ff1143448b6452e8216ca4bb43dd
DIST crystal-0.25.1-1-linux-x86_64.tar.gz 38004788 BLAKE2B 580ccad2227e6467c4c61ce9adf4aeb99c55f694c71a02b9d959c31deba66e428f5c5e7d920dd42d01524ccaef04b9eae3b068f2c6ff16414fa3fd36f462414f SHA512 ec33781b767f8f9f0a6d00f73109fbe9d683a23fca9cc8b462acda3eb024fc970d0daf8c36fb2239297f77510d2e3f544f58ec1cf53d08ea856bc6307f81d1dd
+DIST crystal-0.26.0-1-linux-i686.tar.gz 39814913 BLAKE2B 8c73e33b52a7c5d9ae24ead5d5adbd038f63fc76f904b20ec8dc4da1b1ed6f53283970b06ec7af7ecac7f58c55dc911fe56bcb9897a44a86fc88deb43249a5af SHA512 f0ba602a07b608ac7b3c0f841cbcc70b44d42ce87f405ce9d1a09df7b8c1764e13bca9471b2499a51d22cebc8228e949086893fd3c946d17e7b36ae4e8ac4f75
+DIST crystal-0.26.0-1-linux-x86_64.tar.gz 37986465 BLAKE2B dc8e05519653f82d09d8bd3a84fedd9f4720880bc61a110709643850bbcfa95738292cca8168a8c5c550abe9b178ce28fd59321c66862a1cc81007cc1cb22223 SHA512 c252d2d585fe49c755397b8f8c7965c855e8f8102598b34a83cc6e5ae821a22f3dccce8b7787dd0f00fa39fad3d2dffc23c6105c9cefe525da7855550c790ab2
DIST crystal-0.26.0.tar.gz 1992091 BLAKE2B dfc96e3e9a71dbec07235a982bbb34ea81bb3adbb39f6c8f8c9bb855ac97e5faf4d47d4a78901317798941b84117399aeee6af53c6c06ae21b9504ca617a2899 SHA512 45a62a2496d477cd72666e98b36bdcbfff958a8f5f0e71f04101f2ba72fc87117d53c8c098a72edb55e9be192b68b73529d5f76e4c660033332ed6e88a372519
+DIST crystal-0.26.1.tar.gz 1994987 BLAKE2B 2292fbdf119e181313000e035802581ae206083aa5c9651a01e131d74e701ea75dc713b44274769decfc9f0f300d8fc2e6c24a94f60380b79c3cdb1a10e73369 SHA512 5e020b0f262f9bedaaae60010f669d7987a77d3416bf0dd057e29eb11adbe8fceb1c4f55a822e623d32e302a01ccc99218d2c3fe474d4ce0dde4312c196ccfa6
diff --git a/dev-lang/crystal/crystal-0.26.1.ebuild b/dev-lang/crystal/crystal-0.26.1.ebuild
new file mode 100644
index 000000000000..d02b47f0788e
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.26.1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=0.26.0
+BV_AMD64=${BV}-1-linux-x86_64
+BV_X86=${BV}-1-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"
+
+LLVM_MAX_SLOT=6
+
+# 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.25.0-verbose.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
+ "${FILESDIR}"/${PN}-0.24.2-gentoo-tests-network-sandbox.patch
+ "${FILESDIR}"/${PN}-0.26.0-gentoo-tests-network-sandbox-2.patch
+ "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
+)
+
+src_prepare() {
+ default
+
+ use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
+}
+
+src_compile() {
+ emake \
+ $(usex debug "" release=1) \
+ progress=true \
+ stats=1 \
+ threads=$(makeopts_jobs) \
+ verbose=1 \
+ \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ AR=$(tc-getAR) \
+ \
+ PATH="${WORKDIR}"/${PN}-${BV}/bin:"${PATH}" \
+ CRYSTAL_PATH=src \
+ CRYSTAL_CONFIG_VERSION=${PV} \
+ CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
+ use doc && emake docs
+}
+
+src_test() {
+ 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}
+}
+
+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}
+}
diff --git a/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-network-sandbox-3.patch b/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-network-sandbox-3.patch
new file mode 100644
index 000000000000..eb1b84ce618c
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-network-sandbox-3.patch
@@ -0,0 +1,26 @@
+diff --git a/spec/std/http/server/server_spec.cr b/spec/std/http/server/server_spec.cr
+index 9de0c3f..59882db 100644
+--- a/spec/std/http/server/server_spec.cr
++++ b/spec/std/http/server/server_spec.cr
+@@ -400,7 +400,9 @@ module HTTP
+ end
+
+ describe "#bind_tls" do
+- it "binds SSL server context" do
++ # gentoo's FEATURES=network-sandbox blocks external network:
++ # connect: Connection timed out (Errno)
++ pending "binds SSL server context" do
+ server = Server.new do |context|
+ context.response.puts "Test Server (#{context.request.headers["Host"]?})"
+ context.response.close
+@@ -512,7 +514,9 @@ module HTTP
+ end
+ {% end %}
+
+- it "handles exception during SSL handshake (#6577)" do
++ # gentoo's FEATURES=network-sandbox blocks external network:
++ # connect: Connection timed out (Errno)
++ pending "handles exception during SSL handshake (#6577)" do
+ server = SilentErrorHTTPServer.new do |context|
+ context.response.print "ok"
+ context.response.close
diff --git a/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-sandbox.patch b/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-sandbox.patch
new file mode 100644
index 000000000000..cab165c39059
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.26.1-gentoo-tests-sandbox.patch
@@ -0,0 +1,22 @@
+--- a/spec/std/file_spec.cr
++++ b/spec/std/file_spec.cr
+@@ -1164,3 +1164,4 @@ describe "File" do
+ # TODO: there is no file which is reliably unwritable on windows
+- pending_win32 "raises if file cannot be accessed" do
++ # On linux(or sandbox?) it's "Permission denied", not "Operation not permitted"
++ pending "raises if file cannot be accessed" do
+ expect_raises Errno, "Operation not permitted" do
+--- a/spec/std/process_spec.cr
++++ b/spec/std/process_spec.cr
+@@ -135,3 +135,4 @@ describe Process do
+ describe "environ" do
+- it "clears the environment" do
++ #gentoo's sandbox keeps sandbox environment
++ pending "clears the environment" do
+ value = Process.run("env", clear_env: true) do |proc|
+@@ -142,3 +143,4 @@ describe Process do
+
+- it "sets an environment variable" do
++ #gentoo's sandbox keeps sandbox environment
++ pending "sets an environment variable" do
+ env = {"FOO" => "bar"}