summaryrefslogtreecommitdiff
path: root/dev-lang/crystal
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-16 21:23:20 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-16 21:23:20 +0100
commitfab849d1daed0ba7f2ac497d07985c3dbb692543 (patch)
tree10baa743a5340b42ad538dd19d48669ccac209b1 /dev-lang/crystal
parent73c318acdaf6f8309d68bd266051e6dd1f1bd787 (diff)
gentoo resync : 16.06.2019
Diffstat (limited to 'dev-lang/crystal')
-rw-r--r--dev-lang/crystal/Manifest9
-rw-r--r--dev-lang/crystal/crystal-0.29.0-r1.ebuild124
-rw-r--r--dev-lang/crystal/crystal-0.29.0.ebuild123
-rw-r--r--dev-lang/crystal/files/crystal-0.24.0-verbose-LDFLAGS.patch9
-rw-r--r--dev-lang/crystal/files/crystal-0.24.2-gentoo-tests-sandbox.patch37
-rw-r--r--dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch44
-rw-r--r--dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch14
7 files changed, 267 insertions, 93 deletions
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 1d0321d19a0f..bc7c0e608932 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -1,7 +1,5 @@
AUX crystal-0.22.0-blocking-stdio-hack.patch 564 BLAKE2B ca388a6e18ef26d03bd0ef25f30a5424dbd814387e832a6f8a1e8f1097f180a4f3393df5c2d733259cb46f0be3e466d2496baa9b9e76eb2e4bb5968882cba513 SHA512 51df3a464efc7b34db970854577d89027177179cb4e72fdf74b6c9ae754749e30c93155bb18a5daf22db78b0f8985ec341092a95435f8de19800c33bca2f983e
-AUX crystal-0.24.0-verbose-LDFLAGS.patch 703 BLAKE2B 3395a7c4bf98280ebef331ec99fbd46bda571b84614e7a71f6cee1b322548dadd363b6b82f3bfd58e034bce5052dab8876a02838ba850d8bbccb25be47c6bb34 SHA512 a009215413e100096cc74088679d603115b80b2d6e59180a466d0f177662376ee6e31e151d2d02a7277d0025e6cd68666e4b1f99b8bf79b50106fed72adb40e1
AUX crystal-0.24.2-gentoo-tests-network-sandbox.patch 1148 BLAKE2B e7b18492381a746b188f4c33cf637a0c40379bc073c3504e10aae06dc62cdaea02e6510078d277f9ec5ffe160a460a3dbab600b2dfd4e22bc253626d9d53384f SHA512 9545fd7555f7e216a654c85b0af0806727644e9dd8e6b716caa13a0f3c3f939eb20e93f97cafb9d3c33b1c1880d7ffb9e10dea3d29195342174849e9e7432d95
-AUX crystal-0.24.2-gentoo-tests-sandbox.patch 1252 BLAKE2B 4f1e41af633cd9bf943a9c016cdf4038e68ec093a1d455fb562cf361774ea8382c853effc65bf4ed57522b270fb2751aa5ec52bab905a7face0509ea505febfb SHA512 57011a0c360a9cf438d0a7da36c48be109279448df0e65fa9cdd61a565436730f71a52c2823468a5ddf17813a3df470d07c58ec4f56c931ffc036111770bb901
AUX crystal-0.25.0-verbose.patch 764 BLAKE2B 9df527f86c2bc2d02c205aa3673dacfb9f9fc6d9178968399d851c9578f8004409750a9867817338d4ae7722180c0e6c3ff5846adcc89b54a8a630d08434b81d SHA512 94ba8ebff0b14d360e1cc3e00f38a58d7e9cb1e20a3b170ad75d5dcec24778f92b4e17f4e865f48b603a56434c057a1d803a433a59b6c5a0a3f666db9861179c
AUX crystal-0.26.0-gentoo-tests-network-sandbox-2.patch 905 BLAKE2B 8e70f71a7a2b7ba78fe4b1d89fe747356384de5f1f9d56c5e9877def5f803491a2065788ede3b77e692abbd0ead74f00166561b961d3696bd3e629dc58656bbf SHA512 399d70e81a3a12d58b01678d63dfa71c27d60b612ba6f1b2ed5e9333e8b4fb030ce7a54cd067f6ae1a3ddfa1e0c48dfd605a1bec60869fe105d51da38f1a9872
AUX crystal-0.26.1-gentoo-tests-network-sandbox-3.patch 1058 BLAKE2B 715639da29dafee6ecfcdf309f3149d9ed6387904bb50d8cb4bfef295c2d675fee78f0a436e4ab0d6a23e1eb94fec6ef9e549cb415f578ca0578792e54d0d759 SHA512 eef5d10dab52726378a8168726e4b757f1b6523defb86b76624c63ce159e43b18b037b1e51f2e5bcd7a8101d4c5adfa3b61aa7be2e9850b642ec26f7989cad3d
@@ -9,10 +7,10 @@ AUX crystal-0.26.1-gentoo-tests-sandbox.patch 943 BLAKE2B 5998c494c55f1039111ed0
AUX crystal-0.27.0-extra-spec-flags.patch 493 BLAKE2B 84270f431db778bfe4b3b9b291278960ad8e7f18a4e519eb38aea55f2777cd5bc183e2a7035b4364586bf69ca3ec40d52dcf0d5e5fcaf04ef91cd3d1efff2000 SHA512 95390bdc9e594bb8496a807287ea8225cfc13a1ad7d49a42c791cb94f641939b0002ec7dcdeb8d62565906c035c40e9e0d744ea7e8f4695dd07b66e5b66327da
AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa
AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2
-AUX crystal-0.27.0-gentoo-tests-network-sandbox.patch 2028 BLAKE2B ed1fa244adc61688cb23e7cc41d64f74d80b8342912b518ac874c1ac07995d8ba2c0d12dcf61740fc2ebfa0c9f3eb9417b40ee91ce115fdac1a64e172dd10cd5 SHA512 82ae83f186f46cbdce5a75b7296af4b01b328f33ab79de067ba1bf3aaf69f569f6d29a3116cc9aea8ad0551ecc8efaba27ca250c9fc0bec92009e61449e1e995
AUX crystal-0.27.0-max-age-0-test.patch 632 BLAKE2B d41416f4045b23d0a9c4e11e525d8537277090ee316d01cab9cce0373b07583b9e80a495c8f4db997fc4f1b15b17c080d590f8cb8b6f454dc1c0d1d48015a127 SHA512 7608cb37850e52af406fab0378f0748af7db9239f878720041d56751ce36e0f5874a79b1a971fdc6f261292d23868e3e35c9ddb0d3c10c2bb987767954a77988
AUX crystal-0.27.0-tcp-server-test.patch 377 BLAKE2B 47e9985c9ecc93483bc0d7e970ebb62648ec5778924d055c345ef2ceadb19f07e23c63767ccd62251df1e63bcaca4cf270730b32f24bfd7a6422939911edfe8a SHA512 7c5f0c97b80bf9cffe0b385a02ea2a8573fa88c174eda49a4adab46376e0ef9c957b16c72ca77386f8b88a98356565a31976113f2a78fa3b7bec85b16b692f58
AUX crystal-0.27.1-verbose.patch 771 BLAKE2B 556cc08a2aac777e4c7a4ac93b8cf5e14c3f2a39977fd2d182862ff4ede15160e68d229f1c02ab07267b868e327eea29c1bfcac85e57dfb88c547f77c3b00c6a SHA512 75390816c5dca49ce12ef6d2f0dd81e7e56ceac41b3389f0459ae26d3de41b51ffa06f083fe75e7e1d9fbc207e5ecee5c4a2722536bf71f9220d527d5558aaa0
+AUX crystal-0.29.0-no-usr-lib.patch 431 BLAKE2B 7fbc7e84f2b9f398204270ce7deec29c78853777abea14c7ff6714123aff4f3fa511761dcbb9f41e36c16d3e280590df0a6b21e9ee0fd86b615292576f735cf1 SHA512 3462556b4176d7781e40aca8dd1831fc39597a3621c10eedb18ddce1a1769a3f8a9fce681644f2d819b4cafce4980af2bbcee77b65a40b8e05da8821cbc2be70
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.1.tar.gz 1994987 BLAKE2B 2292fbdf119e181313000e035802581ae206083aa5c9651a01e131d74e701ea75dc713b44274769decfc9f0f300d8fc2e6c24a94f60380b79c3cdb1a10e73369 SHA512 5e020b0f262f9bedaaae60010f669d7987a77d3416bf0dd057e29eb11adbe8fceb1c4f55a822e623d32e302a01ccc99218d2c3fe474d4ce0dde4312c196ccfa6
@@ -22,7 +20,12 @@ DIST crystal-0.27.2.tar.gz 2061466 BLAKE2B 49f4d2c33412589e7ea131460508a8716d102
DIST crystal-0.28.0-1-linux-i686.tar.gz 31888259 BLAKE2B a2f72a5e05abbcc7f4a6003f22ad059e07de59660f114d8e5d0fa225ac51d2465174c41cc81dd7c561f52832ffd9203a0a1cf5606e8633e36fcecd3899463775 SHA512 bc0fcb199abacc068e907f0e8fc8feeecfda4e5312201b4a6af96e76730df3130f6d9f40141c3182c9e99c0600455124cb33ef60194fb4e47ea3826d7090e755
DIST crystal-0.28.0-1-linux-x86_64.tar.gz 30088308 BLAKE2B e12b0cc9aa5ef354e0f06423a8d3be54ba42eee358cdfd7c6632d5ea08c2ed7e441eb4e162224cf8780bd3ba33e02916f1a7d061a48577d8a4d0eed4578723b3 SHA512 13b7b889ee6d17b905375883baa883fc4d631f6a22c2399aafba1020142e96072670f46584264445b531ece87c6f4b3e89367c62b0c2587c119dd6242ec06762
DIST crystal-0.28.0.tar.gz 2108702 BLAKE2B 75b743c65ae2063ecbcff7514a3fac53ecc0e25866dd91a34368bdb1bf2a72e9b8e9b6c8325f1b0589693efa78c93bd246f1e764569307519375f7d7429bea55 SHA512 ea0d0938fa90db1b8e395e1daf777c36be5366046c1df7764409e14cf490b4e5f502c62a567e1cf1375684fac58afb71ccc39a5d5974eb29ef9bb5be59fa0a10
+DIST crystal-0.29.0-1-linux-i686.tar.gz 31865927 BLAKE2B 1150dd12f4102501bf72a000d6f01e57445966c88de9c9dd2d39e13001067ae97ac3b039db05cb3c02265c3f14fc02b02bc6bd46ad2d4e98da617f668f89176c SHA512 3e3a22b04a5ebd40dfc944c5ba210f230c636634480c836c788db58b4b402b4ce939655a4989ef0ad554fab67d8ecf330d5fd9bd384aad70f78e2dcb16cb2ba6
+DIST crystal-0.29.0-1-linux-x86_64.tar.gz 30069384 BLAKE2B cba30b6337654aba0bd081198f30987891a26fe010ecf82413b9be0d965e14a4d7fade0a9fc496985555fd9b24baa5c1bcc3ae6f4a8b6e9fc82fdc1f1b096614 SHA512 81f1652a1a7b9de20644bebc6d4a31c6d2d4681d29662d733d9a5238f5087fcfc1c3f437fb4b81b0a89d7f29492296c4e65706e2aedcae6e34b1902675d80b9b
+DIST crystal-0.29.0.tar.gz 2122890 BLAKE2B 17ef4c3c07d326b73bb015a1cd9207c716630877da323e79a59dccb026699e48ec5559039dcad391e775f64324ca9eddeb22f053acb12f5019976f94013d039f SHA512 690183878c1d4f8bea2be419238aae78b40fe06fbfef6b23a31162eab8edec726bd5f87b3e39dbb76d5c3b82dde5d0fcb79ed34474bf62d1ea17c0901ff63337
EBUILD crystal-0.26.1.ebuild 2696 BLAKE2B 820ed8d2957bd9b9863115318d3041f3428adfe60295d8fef170cb636a5135492c7abf9ff98fe67a537f3d4289040d61a892fe9074ded3ad1bc306f74327f568 SHA512 1a7f2c3bd31ecc7ea09943dad6b6a506a659dace59382075ab4ea628cf96550e71b4f659f47e7c55da86b9c454ef47a67b3cef1f3f85d23fcc120c6534ae7115
EBUILD crystal-0.27.2.ebuild 3110 BLAKE2B 34c672cb96386852cd05db8e7b2c7df70080af78165be5c7bb18e9003d98f035e0ee88e5534f5e751d3efd1ddd415deaa43aaae05353248fe489db37813d0b3d SHA512 05fc51ef67d0b1fc7e34ac4aeb7bd74e9d48441acf4fa69a078f6235ef5945a7e500b9822d41ae8102bb4c77d6f6b6f03b0a7d9738ea02e136f89946c3ffa7d7
EBUILD crystal-0.28.0.ebuild 3111 BLAKE2B 395b3d382c1578834daef033e091e6f1f2491e8a4df611c1913bba4cc5cefec2c6a5b3981f972e9545358db47e2dbc40fa8a9bac3914389b8b4d2f98a0c5de34 SHA512 1b33728ebab77a8e32016f4415515cd453874ac8504b0cf14d27143a3e8aa8d69c9835f5640e49f1667b229ba9567ecdc75ca95d93052c40c4a2de7800062394
+EBUILD crystal-0.29.0-r1.ebuild 3166 BLAKE2B d09fb79995d6a51241f9a238053a78fd1e14512e052fa60ba31a6365e55e0c2e3dcf44fa7f5aa0e8a07a7b5b9c254237efe73b36bf4d00acb51f084f3a68d446 SHA512 ee488654076f011d7ca5a27542449b8278f3548b9ef90970d3c3557728b16cdea8abb728804d63bbb67aaafcb25750d1f515f5d7cac39620583173d5a6d55788
+EBUILD crystal-0.29.0.ebuild 3121 BLAKE2B bcfb09260c769f9d6cef160f21cb4d755db6adc0430ecc7ac1e79f2e39fd05cb5cb0949359695e468582c29bcc36902cd5e6c98b19baa2d7a88828e745b43ea6 SHA512 9879b43cc977025277b0dcf923435c91188cbd861bc5cdc9338729f1f77dff70460366d5cde7bc7e16c0f9fd0dd4ca3fb4d3f6a6f9efaedf2a1b7892acff98e3
MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02
diff --git a/dev-lang/crystal/crystal-0.29.0-r1.ebuild b/dev-lang/crystal/crystal-0.29.0-r1.ebuild
new file mode 100644
index 000000000000..44419942b726
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.29.0-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=0.29.0-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
+
+# Not compatible with llvm-7 or llvm-8
+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.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}
+}
diff --git a/dev-lang/crystal/crystal-0.29.0.ebuild b/dev-lang/crystal/crystal-0.29.0.ebuild
new file mode 100644
index 000000000000..b40924b3e3fb
--- /dev/null
+++ b/dev-lang/crystal/crystal-0.29.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
+
+BV=0.29.0-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
+
+# Not compatible with llvm-7 or llvm-8
+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.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
+)
+
+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}
+}
diff --git a/dev-lang/crystal/files/crystal-0.24.0-verbose-LDFLAGS.patch b/dev-lang/crystal/files/crystal-0.24.0-verbose-LDFLAGS.patch
deleted file mode 100644
index 3d02a119f858..000000000000
--- a/dev-lang/crystal/files/crystal-0.24.0-verbose-LDFLAGS.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/Makefile b/Makefile
-index eff69e5..5c0c024 100644
---- a/Makefile
-+++ b/Makefile
-@@ -28,3 +28,3 @@ SOURCES := $(shell find src -name '*.cr')
- SPEC_SOURCES := $(shell find spec -name '*.cr')
--FLAGS := $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )
-+FLAGS := $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(verbose),--verbose )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )
- SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )
diff --git a/dev-lang/crystal/files/crystal-0.24.2-gentoo-tests-sandbox.patch b/dev-lang/crystal/files/crystal-0.24.2-gentoo-tests-sandbox.patch
deleted file mode 100644
index 4bd779a834c8..000000000000
--- a/dev-lang/crystal/files/crystal-0.24.2-gentoo-tests-sandbox.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/spec/std/file_spec.cr b/spec/std/file_spec.cr
-index 4a08b7d..cb1b28c 100644
---- a/spec/std/file_spec.cr
-+++ b/spec/std/file_spec.cr
-@@ -1026,7 +1026,8 @@ describe "File" do
- end
- end
-
-- it "raises if file cannot be accessed" do
-+ # On linux it's "Permission denied", not "Operation not permitted"
-+ pending "raises if file cannot be accessed" do
- expect_raises Errno, "Operation not permitted" do
- File.touch("/bin/ls")
- end
-diff --git a/spec/std/process_spec.cr b/spec/std/process_spec.cr
-index 4a36f18..0cd63a8 100644
---- a/spec/std/process_spec.cr
-+++ b/spec/std/process_spec.cr
-@@ -115,14 +115,16 @@ describe Process do
- end
-
- 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|
- proc.output.gets_to_end
- end
- value.should eq("")
- end
-
-- it "sets an environment variable" do
-+ #gentoo's sandbox keeps sandbox environment
-+ pending "sets an environment variable" do
- env = {"FOO" => "bar"}
- value = Process.run("env", clear_env: true, env: env) do |proc|
- proc.output.gets_to_end
diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch
deleted file mode 100644
index 0ba0f18f73d8..000000000000
--- a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/spec/std/socket/tcp_server_spec.cr
-+++ b/spec/std/socket/tcp_server_spec.cr
-@@ -76,13 +76,17 @@ describe TCPServer do
- TCPServer.new("localhost", unused_local_port)
- end
-
-- it "raises when host doesn't exist" do
-+ # gentoo's FEATURES=network-sandbox blocks external network:
-+ # Socket::Error: getaddrinfo: Temporary failure in name resolution
-+ pending "raises when host doesn't exist" do
- expect_raises(Socket::Error, "No address") do
- TCPServer.new("doesnotexist.example.org.", 12345)
- end
- end
-
-- it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
-+ # gentoo's FEATURES=network-sandbox blocks external network:
-+ # Socket::Error: getaddrinfo: Temporary failure in name resolution
-+ pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
- expect_raises(Socket::Error, "No address") do
- TCPServer.new("doesnotexist.example.org.", 0)
- end
---- a/spec/std/socket/tcp_socket_spec.cr
-+++ b/spec/std/socket/tcp_socket_spec.cr
-@@ -56,13 +56,17 @@ describe TCPSocket do
- end
- end
-
-- it "raises when host doesn't exist" do
-+ # gentoo's FEATURES=network-sandbox blocks external network:
-+ # Socket::Error: getaddrinfo: Temporary failure in name resolution
-+ pending "raises when host doesn't exist" do
- expect_raises(Socket::Error, "No address") do
- TCPSocket.new("doesnotexist.example.org.", 12345)
- end
- end
-
-- it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
-+ # gentoo's FEATURES=network-sandbox blocks external network:
-+ # Socket::Error: getaddrinfo: Temporary failure in name resolution
-+ pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
- expect_raises(Socket::Error, "No address") do
- TCPSocket.new("doesnotexist.example.org.", 0)
- end
diff --git a/dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch b/dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch
new file mode 100644
index 000000000000..15f2ac75c099
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch
@@ -0,0 +1,14 @@
+On amd64 linux /usr/lib does not match default 64-bit ABI.
+
+Let's rely on default compiler and linker paths instead.
+--- a/src/compiler/crystal/codegen/link.cr
++++ b/src/compiler/crystal/codegen/link.cr
+@@ -105,7 +105,7 @@ module Crystal
+ end
+
+ private def lib_flags_posix
+- library_path = ["/usr/lib", "/usr/local/lib"]
++ library_path = [] of String
+ has_pkg_config = nil
+
+ String.build do |flags|