From fab849d1daed0ba7f2ac497d07985c3dbb692543 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 16 Jun 2019 21:23:20 +0100 Subject: gentoo resync : 16.06.2019 --- dev-lang/crystal/Manifest | 9 +- dev-lang/crystal/crystal-0.29.0-r1.ebuild | 124 +++++++++++++++++++++ dev-lang/crystal/crystal-0.29.0.ebuild | 123 ++++++++++++++++++++ .../files/crystal-0.24.0-verbose-LDFLAGS.patch | 9 -- .../crystal-0.24.2-gentoo-tests-sandbox.patch | 37 ------ ...ystal-0.27.0-gentoo-tests-network-sandbox.patch | 44 -------- .../crystal/files/crystal-0.29.0-no-usr-lib.patch | 14 +++ 7 files changed, 267 insertions(+), 93 deletions(-) create mode 100644 dev-lang/crystal/crystal-0.29.0-r1.ebuild create mode 100644 dev-lang/crystal/crystal-0.29.0.ebuild delete mode 100644 dev-lang/crystal/files/crystal-0.24.0-verbose-LDFLAGS.patch delete mode 100644 dev-lang/crystal/files/crystal-0.24.2-gentoo-tests-sandbox.patch delete mode 100644 dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch create mode 100644 dev-lang/crystal/files/crystal-0.29.0-no-usr-lib.patch (limited to 'dev-lang/crystal') 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| -- cgit v1.2.3