diff options
author | Hans de Graaff <graaff@gentoo.org> | 2014-11-10 18:30:26 +0000 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2014-11-10 18:30:26 +0000 |
commit | 08630d3bb68d80ce34971ab834b721f0127ceed3 (patch) | |
tree | 070587d792e562d27f3b44b196ac4eaa444306a6 /dev-lang | |
parent | Don't install spurious COPYING files. Remove previous snapshot. (diff) | |
download | historical-08630d3bb68d80ce34971ab834b721f0127ceed3.tar.gz historical-08630d3bb68d80ce34971ab834b721f0127ceed3.tar.bz2 historical-08630d3bb68d80ce34971ab834b721f0127ceed3.zip |
Add sse2 patch backported by Ted Marston from the 2.1.x version, and make the patch conditional on USE=sse2 for both the 2.0 and 2.1 series. Bug 526876.
Package-Manager: portage-2.2.8-r2/cvs/Linux x86_64
Manifest-Sign-Key: 0x8883FA56A308A8D7!
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ruby/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lang/ruby/Manifest | 22 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-2.0.0_p594-r1.ebuild | 230 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-2.1.4-r1.ebuild | 231 |
4 files changed, 478 insertions, 15 deletions
diff --git a/dev-lang/ruby/ChangeLog b/dev-lang/ruby/ChangeLog index f03f8d579b07..35f532454fa6 100644 --- a/dev-lang/ruby/ChangeLog +++ b/dev-lang/ruby/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-lang/ruby # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.677 2014/11/10 10:47:22 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.678 2014/11/10 18:30:19 graaff Exp $ + +*ruby-2.1.4-r1 (10 Nov 2014) +*ruby-2.0.0_p594-r1 (10 Nov 2014) + + 10 Nov 2014; Hans de Graaff <graaff@gentoo.org> +ruby-2.0.0_p594-r1.ebuild, + +ruby-2.1.4-r1.ebuild: + Add sse2 patch backported by Ted Marston from the 2.1.x version, and make the + patch conditional on USE=sse2 for both the 2.0 and 2.1 series. Bug 526876. 10 Nov 2014; Agostino Sarubbo <ago@gentoo.org> ruby-1.9.3_p550.ebuild, ruby-2.0.0_p594.ebuild: diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index e5d6c5e18eab..247da0d3052d 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -17,9 +17,11 @@ DIST ruby-patches-1.9.3_p550.tar.bz2 2154 SHA256 c1c40f2b1f186a05774fd15c3566d72 DIST ruby-patches-2.0.0_p353.tar.bz2 1929 SHA256 4feee409319dbcac7525fb9c1c76c36888a62ee0623c117ae532bf765845f0f9 SHA512 95cf20e26e43a1515843d74c558e3344ae33b7383362c1742a115c1b3e6d09e1ed947df8ab7fee6275e96c920bd0ef880647da70165ddccd40d0995ff43aae64 WHIRLPOOL 869055dd0e14af0dc285a11d95a891ab4686e1d16960d46728ddf680eee58d42570f64d058b88d30805b732b082c354a36dac5a816a7ce5f3034d1b22237aa5a DIST ruby-patches-2.0.0_p481.tar.bz2 2525 SHA256 9842526b161105af36bf67d22ad578a5c4f82bd1feaf78eee72e674df594d997 SHA512 6c844bd7930ee0d6b62759f5217508f5267c857ed1ff0fc857d6077c17ecb5733d949aa9154fa22e51f8f973719749360a6b821832f2e59c37e65c080fa0c292 WHIRLPOOL 2c302058886d9bc06a5e5febd54e2419a362ca141dd18f70bf7d4c4be65484fc95c9cd432717f6f97f5949f7cf69bb9f5df6e99ae94e14df1802a6f9244a2a7a DIST ruby-patches-2.0.0_p576.tar.bz2 2525 SHA256 9842526b161105af36bf67d22ad578a5c4f82bd1feaf78eee72e674df594d997 SHA512 6c844bd7930ee0d6b62759f5217508f5267c857ed1ff0fc857d6077c17ecb5733d949aa9154fa22e51f8f973719749360a6b821832f2e59c37e65c080fa0c292 WHIRLPOOL 2c302058886d9bc06a5e5febd54e2419a362ca141dd18f70bf7d4c4be65484fc95c9cd432717f6f97f5949f7cf69bb9f5df6e99ae94e14df1802a6f9244a2a7a +DIST ruby-patches-2.0.0_p594-r1.tar.bz2 2947 SHA256 dc173fe94af215fd2c1823f46140e4f11892dec59ce55b10ffad26b622bb6e4e SHA512 423a4fddfc8d7fd4f5b041989da343bc96ce0c3f22a448cab8cec47d4c458f4deeb83b167a0a3ae71d3be57df9b41151d1cafadd191bd3d3e9b08b32732e36cd WHIRLPOOL 9c728e95cf01abdb48afc2ff008dc73d341096b253c664297b6780b32821c1ec406c388ce5860b5dd2ce2de862fb80b2ae45d03750045aaf13c371743f97c92e DIST ruby-patches-2.0.0_p594.tar.bz2 2525 SHA256 9842526b161105af36bf67d22ad578a5c4f82bd1feaf78eee72e674df594d997 SHA512 6c844bd7930ee0d6b62759f5217508f5267c857ed1ff0fc857d6077c17ecb5733d949aa9154fa22e51f8f973719749360a6b821832f2e59c37e65c080fa0c292 WHIRLPOOL 2c302058886d9bc06a5e5febd54e2419a362ca141dd18f70bf7d4c4be65484fc95c9cd432717f6f97f5949f7cf69bb9f5df6e99ae94e14df1802a6f9244a2a7a DIST ruby-patches-2.1.2.tar.bz2 2237 SHA256 785c1682ef146d45ae9748c20792fb27de89b32afa84e2463c39e72b226b9ca4 SHA512 73df725134d12f437a9505d8345be8b55887e9b6b75ffaf2e983f375d0e5aff9fcd25624d8df79919256340e097bcf90e8656cb36073f55a00d0e00354fc40d2 WHIRLPOOL cc7d9968a58c9eddb881cf3830dd9c9532c0267c45f802733aa55f6d5c410f78a226e4e5916215bde4c2765b08a93661d5633579cbbd1830dcce89908ac88e94 DIST ruby-patches-2.1.3.tar.bz2 2310 SHA256 1743dc0cec0adc1a0b5d90b0ed7908f888b8251b7a414049a57e6e32e01e4ad6 SHA512 b695621d210a7afc6704dd480bf3e7fc559174ebf240d2287338d60537ba45e5bf0f5defac6b254064d4b28077e2b97ef23b7eadc1bfa1a6bf2c616e828f937c WHIRLPOOL e9fde062fc04e4e22aec2dc55250f9007c64b07c7d03875b4073c19af9cfb0ae735d6dcb2b65bd1465a457cf0ff0602866600b5af1d520df3efc8a418763ab5b +DIST ruby-patches-2.1.4-r1.tar.bz2 2310 SHA256 1743dc0cec0adc1a0b5d90b0ed7908f888b8251b7a414049a57e6e32e01e4ad6 SHA512 b695621d210a7afc6704dd480bf3e7fc559174ebf240d2287338d60537ba45e5bf0f5defac6b254064d4b28077e2b97ef23b7eadc1bfa1a6bf2c616e828f937c WHIRLPOOL e9fde062fc04e4e22aec2dc55250f9007c64b07c7d03875b4073c19af9cfb0ae735d6dcb2b65bd1465a457cf0ff0602866600b5af1d520df3efc8a418763ab5b DIST ruby-patches-2.1.4.tar.bz2 2310 SHA256 1743dc0cec0adc1a0b5d90b0ed7908f888b8251b7a414049a57e6e32e01e4ad6 SHA512 b695621d210a7afc6704dd480bf3e7fc559174ebf240d2287338d60537ba45e5bf0f5defac6b254064d4b28077e2b97ef23b7eadc1bfa1a6bf2c616e828f937c WHIRLPOOL e9fde062fc04e4e22aec2dc55250f9007c64b07c7d03875b4073c19af9cfb0ae735d6dcb2b65bd1465a457cf0ff0602866600b5af1d520df3efc8a418763ab5b EBUILD ruby-1.9.3_p484.ebuild 6125 SHA256 34b0d6bc3ecd8b5517bb3a478a1b7948e3908ab959b3259986fdecf7ebf070c5 SHA512 153a01aa0843d548ccf90ced39cb0d331fcfec8c433b86b2d20debf06c6d7a500568e47398669356342cf4f612b059a3ab869b5eb333fadc8a2d65c235c448e2 WHIRLPOOL aab05acdf893b0d44a5ca4e2402aa8810b353571ff3009ee9ee2f37e326c07218601164c540f408d3f8ff4cb429029ced67454106de6dd8864a3be3eaed68286 EBUILD ruby-1.9.3_p547.ebuild 6157 SHA256 33561cc00decb6e8f952c3c576b410ac74949f7739689cbc3dc0e36404023675 SHA512 7abac4e16422933f4dbdc3c8b0f034aab8ddd2323ad7a8a8ea6d8697504285b27142b5166c9db28203a02be749099d45b9dee97e68d44774cde5f6772ca5ba62 WHIRLPOOL 459fa67789521f27d3330da536bd4a77f26e7be545ce45952778c156da5ed3cfb7c182acf19604d6eae5056efd0f3c509cfe4044623778e21b3902c013506cdc @@ -27,26 +29,18 @@ EBUILD ruby-1.9.3_p550.ebuild 6159 SHA256 5adef6c46ea70b247521fc91d9e28204ce60c7 EBUILD ruby-2.0.0_p353.ebuild 6505 SHA256 dd29cdfec77df7e0d811375d6e52deb0e3a9b9a118ab272fd869dab48e82b430 SHA512 7a3e163f81e99646f1eb30605b37a98ea639d4af0525dcd7d103ef816957369b4cfa831555005748b084c029f3f11876b090fd5e329d68055877a6b7bac4da76 WHIRLPOOL 725734370ef5cb4f5fe870e8649bfe759ad94029fef88a33c04e487ae3f7e9573fd873a17691ef6c5069d3f1f5d82dccab177b6093bba4028855863895bd7e1c EBUILD ruby-2.0.0_p481.ebuild 6359 SHA256 95025a622d9ba6841d8eccae12cb73962d12c9db7063c143cea170a27e022304 SHA512 9569446c66d934534ee041a6f578ee0d6c3778a7347d87dcd281c4be4f7ba90d9021137c67d5a0334485c8e89a1b4cc9ddcb1dcd7e8a29a4acbc0908887b649e WHIRLPOOL 3a06a4d5a21478854c16564cef952b64f239627af0b58fc77fdae63706e8023f3e87fa4ffc0722e699c804eb1d5aa2160946fc898cdb544943a97f287a792965 EBUILD ruby-2.0.0_p576.ebuild 6369 SHA256 ae60b61814260b422a0b9ae6975ba48a53aa5314f7b518b13abba082a5996c26 SHA512 c62672b91842f9e24b518bf3d0f0ff90bd4943cd9515f4ea863eb981b104abe9bcd21a4beaaaa910a1c37b6511d59b71e4e51b753cbb1f08319d8355e2f61d7d WHIRLPOOL 6476211aeaac939e9cf208154f802a24004ae1fb4f57a53ec26f866c5e5ad689a1dee3d2bd3bbc670857c7f3aee470d5d8b999326464e071f197856fb22f5e15 +EBUILD ruby-2.0.0_p594-r1.ebuild 6484 SHA256 18cebc82a1f2bb1e23fe62fdb0549e5d5b7a00d156888f6d6e2423285f2192f6 SHA512 8de97b7e63027a176195ed9bda04f82e82bc6096b84a387a1c636ff677e0c641c4990ad7418e8c6dc90e3497bf2dc200ac56994068aa63e15a40d9a8bb78946f WHIRLPOOL 19a607cbed861310bfe3054b158c5b2f530aa6aaf4fd998044742b99eef4346e365c1015bcdbf2ad6012afe4acb04a532a9d99f3a747500865c1f817e27104c3 EBUILD ruby-2.0.0_p594.ebuild 6359 SHA256 94073079ff1832445ff1a13f5b89f83f0d66c120faa946d078bdb77648baf68d SHA512 8fb04d867a42c8c267677a44983daa1967ed33ca34f4ea153981933426ea641071ae7f8f6f04f58b0ac92b1f1b9bb85033a4012827559f9aa78fdb44757029cc WHIRLPOOL 10d1186308027bdaedd7b2ef5b72d19433668b4373076133fe534b3f44fd21ec790283c26789e5aa706eab561556d995c1409b5b61e4241206217f948475cf05 EBUILD ruby-2.1.2.ebuild 6413 SHA256 dd9b5262aeb99daae4c6b118f14634111c62d23ae24a360d2f703b0d2426dfee SHA512 445109c83d7be28de25f565538fc314ed76feeaaf74bba9b34850d059b9a853ddc505e7682a689d196d5d0e0f47239cad83b1f3470a5f6e28348cc3251f3b17d WHIRLPOOL 871140dab3da4f30901096bcc663828363fee3b275716f7b4e88d3e76de951b1707aa62151bdcaf4fc24e43090ce68e136be72f2c2f2d958d7f7c8ea25528cf5 EBUILD ruby-2.1.3.ebuild 6413 SHA256 5a735563d5c024f2b6974c39da1c565f09324d5bd0ba2d9786f77039152043ae SHA512 465bfe7e74849a09ee958918e5dfa7614c164a24e557692d34e711973b84f07ac2b8f760f5775d4d8d28a906c13765032a6ffbece5f506e9b96d0db04b773750 WHIRLPOOL 70bd33eab95d4835b1cca0fc99b452b996279f0467f8d67c1b1cb1b00f239411462a674f8ccf9b6e1ae5436f74a54faeeae4a2df171888806e19fc8583b5b48a +EBUILD ruby-2.1.4-r1.ebuild 6528 SHA256 92f2be25f8a22ac2750d5ad019f18abd653adebf30cfce0105eead557908060d SHA512 a94245ab21ad361c01b67dfc794404667d923bb9522c632e3f5b96e9fc50051951e43b9050cae8a2945c2c18678137a7dc4e0ff6f1bbced1459c7bb085ce1bcc WHIRLPOOL 57f91412482fa0a30f169089df9307eb7b5bfa34607aa10661d2385a420d816688bd246d7789a6fb5df907a224b28520f1169f5df9bd66a183f3f00d76fa77f4 EBUILD ruby-2.1.4.ebuild 6412 SHA256 a42f9c7089fd48df5f5ff0d0ca6696350f0ab8320bad0c2746140f16a62e46c5 SHA512 6de495b26f1e503f26c17b867a77c7501da8035c8e9e8e9c44a0a1e6738f62f287bbefa0a432287fc3bafc8b1d7045b6038d81fc077c482314d67c22e4931823 WHIRLPOOL 0aec2a90247656fef17081938bad7be83cbe43b39c339fb92048bdf5f9268f7c6676433e217470daaf237e102c9c986bad22b9853ab5314e4557fa13fb4eb5ac -MISC ChangeLog 101391 SHA256 32d475da7109c1ee0fabeda3aeb3e070770002e32b6b5aeb2f54c4c460cbb90e SHA512 6d13d9dd42fba0cd63199fa6a5ef3c0a90920026555a71bf4d74ca6facffb45346c9ce2b8c240e82961a8b0ee647db423a1c86d5f3ab01571702e09e0fd5cc7e WHIRLPOOL 74281a2ae6048b7f235a496a3c3712f98b1fccb1931545538ad53d782fb6eeb06cc076b26ab21e4b3f7f48b969449538a304b1657765026e39ac5124c6b614e6 +MISC ChangeLog 101719 SHA256 20b8edc82095e3f7a463e22657e787e14e2e5b71d015ed8550276973e1d98b2e SHA512 f3174980faad692425b1a7a9e555e29b93930136ea43d475886bdcb20136f36a330384995b2d2fe3cbb53b22072c14b0c60a6bc3dea1a0acc498f65a84d94020 WHIRLPOOL 4bbae0c7657cbae872676a2e0527b36377d3944cbd85cbb615527166197647228dd0327e9d7e59babc6fba564a210d3299c50adec2cf611d005be289d65c2526 MISC metadata.xml 992 SHA256 dd9e9c8252fc245f4f3c75c901e84faaceebcc1025742244871e49e7090d8a86 SHA512 7894c050d0b4dd875cd380e5db759ad7ed8c23edfff79accb169f4cbb185aed9b65c0d81e1cea3c53ef8f639423614a48de5265b069ec1ea11ef41498b1cd4f4 WHIRLPOOL e651f88aea9f39d9dcd9e6e5547699ec06568c99737948e7bee1554bdb6c45defbd7f98e435ad7c31305763e078d904b14aa14ddce084cd9c5b83dacd47c0402 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUYJe7AAoJELp701BxlEWfxEEP/3gquSr6NH8YjCb4/QheVsKj -Gv0+/yLPbPHf3LHEJyqkhvNL4TdmH3Hwd7DTA/TT0oLgAiqbMWlsq/OydGcJ7Egn -R09qu3NGOrEpEZvIxHPgO6+8i36P5uNz1CW62ZRc9j/zMRogGpbdNA4rX2IVmu5m -zZY1hxM9K19qEZqMbwzEBWr8+Dx1s0y5ZmO7PVXWz1Z2X9Re3mzHOzuBRwBpExPP -jpbWgMSAhIxX6QzChsKM1mfBJwXnNNErpdqkllBauk10eIL9aDZpwhEl88yYDwRI -uUpD1bBIoTJwPOaxCePSB1sFUFXVBxtPUCFIzG4pjAVbTaoa/BaqZsbHHnpzas8l -3F7+4CgnvDWyZx5+gSBx3aFGI4o8FzxlroUkssUutw5OkSXsaPWAqFp8cWc5lufO -ukKPVjDArEq+HXiQGoHv2hB4w2sJ1jSF2etza1E1hF2mPpVGUn14btl5w46OAyBS -7VTUjAjsDjUSQ97n4l3CStQxk57ZSiWlFxQZkGvZfcTzpjGxM5qRW2hgfrR1fXpB -IILqKcOjzB2HReHXHVm5wr+ZzpO+S3leWV5fuTpBwfcgj97GgsWNl1etYxWSn1+w -bdMDvhTSWsWJVAzaO2wjUYc1vaub2waJ7svwjmsH4MNBkeIcMHFwF7kFzuz2D2US -esqhNFnbE5udLBJtDI6D -=Z25j +iF4EAREIAAYFAlRhBEIACgkQiIP6VqMIqNfGjgD/Rd6s0tAU0yts+QKXiObC7bpZ +ZgKGN3WNSezEajyGpLoA/1G3orNhl3pAaxXoIYIg6AzkmbwsIrfncrqOMb/E+YJf +=uv4K -----END PGP SIGNATURE----- diff --git a/dev-lang/ruby/ruby-2.0.0_p594-r1.ebuild b/dev-lang/ruby/ruby-2.0.0_p594-r1.ebuild new file mode 100644 index 000000000000..acea8e160cf8 --- /dev/null +++ b/dev-lang/ruby/ruby-2.0.0_p594-r1.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-2.0.0_p594-r1.ebuild,v 1.1 2014/11/10 18:30:19 graaff Exp $ + +EAPI=5 + +#PATCHSET=1 + +inherit autotools eutils flag-o-matic multilib versionator + +RUBYPL=$(get_version_component_range 4) + +MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}" +S=${WORKDIR}/${MY_P} + +SLOT=$(get_version_component_range 1-2) +MY_SUFFIX=$(delete_version_separator 1 ${SLOT}) +RUBYVERSION=2.0.0 + +if [[ -n ${PATCHSET} ]]; then + if [[ ${PVR} == ${PV} ]]; then + PATCHSET="${PV}-r0.${PATCHSET}" + else + PATCHSET="${PVR}.${PATCHSET}" + fi +else + PATCHSET="${PVR}" +fi + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="http://www.ruby-lang.org/" +SRC_URI="mirror://ruby/2.0/${MY_P}.tar.xz + http://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline sse2" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + ssl? ( dev-libs/openssl ) + socks5? ( >=net-proxy/dante-1.1.13 ) + ncurses? ( sys-libs/ncurses ) + readline? ( sys-libs/readline ) + dev-libs/libyaml + virtual/libffi + sys-libs/zlib + >=app-admin/eselect-ruby-20100402 + !<dev-ruby/rdoc-3.9.4 + !<dev-ruby/rubygems-1.8.10-r1" + +DEPEND="${RDEPEND}" +PDEPEND=" + virtual/rubygems:ruby20 + >=dev-ruby/json-1.7.7[ruby_targets_ruby20] + >=dev-ruby/rake-0.9.6[ruby_targets_ruby20] + rdoc? ( >=dev-ruby/rdoc-4.0.0[ruby_targets_ruby20] ) + xemacs? ( app-xemacs/ruby-modes )" + +src_prepare() { + if use sse2 ; then + excluded_patches="012_no_forced_sse2.patch" + fi + + EPATCH_EXCLUDE="${excluded_patches}" EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ + epatch "${WORKDIR}/patches" + + # We can no longer unbundle all of rake because rubygems now depends + # on this. We leave the actual rake code around to bootstrap + # rubygems, but remove the bits that would cause a file collision. + einfo "Unbundling gems..." + cd "$S" + rm -r \ + {bin,lib}/rake lib/rake.rb man/rake.1 \ + bin/gem || die "removal failed" + + # Fix a hardcoded lib path in configure script + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \ + configure.in || die "sed failed" + + eautoreconf +} + +src_configure() { + local myconf= + + # The Tk module can no longer be built because the module code is no + # longer compatible with newer stable versions. + # https://bugs.gentoo.org/show_bug.cgi?id=500894 + local modules="tk" + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + # SuperH needs this + use sh && append-flags -mieee + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use readline ; then + modules="${modules},readline" + fi + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use ncurses ; then + modules="${modules},curses" + fi + + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --docdir=${EPREFIX}/usr/share/doc/${P} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --with-out-ext="${modules}" \ + $(use_enable socks5 socks) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable debug) \ + ${myconf} \ + --enable-option-checking=no \ + || die "econf failed" +} + +src_compile() { + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed" +} + +src_test() { + emake -j1 V=1 test || die "make test failed" + + elog "Ruby's make test has been run. Ruby also ships with a make check" + elog "that cannot be run until after ruby has been installed." + elog + if use rubytests; then + elog "You have enabled rubytests, so they will be installed to" + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other" + elog "than root, and you must place them into a writeable directory." + elog "Then call: " + elog + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" + else + elog "Enable the rubytests USE flag to install the make check tests" + fi +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + rm -rf ext/json || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + export LD_LIBRARY_PATH RUBYLIB + + emake V=1 DESTDIR="${D}" install || die "make install failed" + + # Remove installed rubygems copy + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + make DESTDIR="${D}" install-doc || die "make install-doc failed" + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r sample + fi + + dodoc ChangeLog NEWS doc/NEWS* README* || die + + if use rubytests; then + pushd test + insinto /usr/share/${PN}-${SLOT}/test + doins -r . + popd + fi +} + +pkg_postinst() { + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(19|20|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-2.1.4-r1.ebuild b/dev-lang/ruby/ruby-2.1.4-r1.ebuild new file mode 100644 index 000000000000..7fb5c76a0721 --- /dev/null +++ b/dev-lang/ruby/ruby-2.1.4-r1.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-2.1.4-r1.ebuild,v 1.1 2014/11/10 18:30:19 graaff Exp $ + +EAPI=5 + +#PATCHSET=1 + +inherit autotools eutils flag-o-matic multilib versionator + +RUBYPL=$(get_version_component_range 4) + +MY_P="${PN}-$(get_version_component_range 1-3)" +#MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}" +S=${WORKDIR}/${MY_P} + +SLOT=$(get_version_component_range 1-2) +MY_SUFFIX=$(delete_version_separator 1 ${SLOT}) +RUBYVERSION=2.1.0 + +if [[ -n ${PATCHSET} ]]; then + if [[ ${PVR} == ${PV} ]]; then + PATCHSET="${PV}-r0.${PATCHSET}" + else + PATCHSET="${PVR}.${PATCHSET}" + fi +else + PATCHSET="${PVR}" +fi + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="http://www.ruby-lang.org/" +SRC_URI="mirror://ruby/2.1/${MY_P}.tar.xz + http://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline sse2" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( sys-libs/gdbm ) + ssl? ( dev-libs/openssl ) + socks5? ( >=net-proxy/dante-1.1.13 ) + ncurses? ( sys-libs/ncurses ) + readline? ( sys-libs/readline ) + dev-libs/libyaml + virtual/libffi + sys-libs/zlib + >=app-admin/eselect-ruby-20131227 + !<dev-ruby/rdoc-3.9.4 + !<dev-ruby/rubygems-1.8.10-r1" + +DEPEND="${RDEPEND}" +PDEPEND=" + virtual/rubygems:ruby21 + >=dev-ruby/json-1.8.1[ruby_targets_ruby21] + >=dev-ruby/rake-0.9.6[ruby_targets_ruby21] + rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21] ) + xemacs? ( app-xemacs/ruby-modes )" + +src_prepare() { + if use sse2 ; then + excluded_patches="012_no_forced_sse2.patch" + fi + + EPATCH_EXCLUDE="${excluded_patches}" EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ + epatch "${WORKDIR}/patches" + + # We can no longer unbundle all of rake because rubygems now depends + # on this. We leave the actual rake code around to bootstrap + # rubygems, but remove the bits that would cause a file collision. + einfo "Unbundling gems..." + cd "$S" + rm -r \ + {bin,lib}/rake lib/rake.rb man/rake.1 \ + bin/gem || die "removal failed" + + # Fix a hardcoded lib path in configure script + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \ + configure.in || die "sed failed" + + eautoreconf +} + +src_configure() { + local myconf= + + # The Tk module can no longer be built because the module code is no + # longer compatible with newer stable versions. + # https://bugs.gentoo.org/show_bug.cgi?id=500894 + local modules="tk" + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + # SuperH needs this + use sh && append-flags -mieee + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use readline ; then + modules="${modules},readline" + fi + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use ncurses ; then + modules="${modules},curses" + fi + + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --docdir=${EPREFIX}/usr/share/doc/${P} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --with-out-ext="${modules}" \ + $(use_enable socks5 socks) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable debug) \ + ${myconf} \ + --enable-option-checking=no \ + || die "econf failed" +} + +src_compile() { + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed" +} + +src_test() { + emake -j1 V=1 test || die "make test failed" + + elog "Ruby's make test has been run. Ruby also ships with a make check" + elog "that cannot be run until after ruby has been installed." + elog + if use rubytests; then + elog "You have enabled rubytests, so they will be installed to" + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other" + elog "than root, and you must place them into a writeable directory." + elog "Then call: " + elog + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" + else + elog "Enable the rubytests USE flag to install the make check tests" + fi +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + rm -rf ext/json || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + export LD_LIBRARY_PATH RUBYLIB + + emake V=1 DESTDIR="${D}" install || die "make install failed" + + # Remove installed rubygems copy + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + make DESTDIR="${D}" install-doc || die "make install-doc failed" + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r sample + fi + + dodoc ChangeLog NEWS doc/NEWS* README* || die + + if use rubytests; then + pushd test + insinto /usr/share/${PN}-${SLOT}/test + doins -r . + popd + fi +} + +pkg_postinst() { + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(19|20|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} |