From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 91407138C9D for ; Tue, 28 Apr 2015 18:24:14 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C57F2E0899; Tue, 28 Apr 2015 18:24:07 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BA73CE083E for ; Tue, 28 Apr 2015 18:24:06 +0000 (UTC) Received: from graaff.local (graaff.xs4all.nl [83.163.136.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: graaff) by smtp.gentoo.org (Postfix) with ESMTPSA id 4DFEC340C37 for ; Tue, 28 Apr 2015 18:24:05 +0000 (UTC) Message-ID: <1430245440.6146.12.camel@gentoo.org> Subject: [gentoo-dev] New ruby-single eclass From: Hans de Graaff To: gentoo-dev Date: Tue, 28 Apr 2015 20:24:00 +0200 Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-otaXjI+EjfYSWdCPeqU0" X-Mailer: Evolution 3.12.11 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 X-Archives-Salt: 95c1879d-dcfe-43e9-b895-46d22197920c X-Archives-Hash: 89b71a2bc66a92c13a994bb47e28b3bd --=-otaXjI+EjfYSWdCPeqU0 Content-Type: multipart/mixed; boundary="=-xdbbnvLwZWA13RFx8duP" --=-xdbbnvLwZWA13RFx8duP Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, The current ruby eclasses work fairly well for ruby-only packages, but support for packages where ruby is only part of the package are not well served. As a start the ruby team proposes the following new eclass, ruby-single.eclass. The purpose of this eclass is to provide support for the case where a working ruby version needs to be accessed via /usr/bin/ruby. Examples of such packages are net-libs/webkit-gtk and sys-block/thin-provisioning-tools. The eclass is loosely modeled after the python-single eclass-r1, although not all the functionality available there can be or has been provided for ruby at the moment. We've tried to keep variable and method names compatible, though. Also contained in this email is a new ruby-utils eclass which contains code factored out of the current ruby-ng eclass, so that it can used by both eclasses. ruby-utils.eclass is not meant to be used in ebuilds. Full example code including an ebuild (app-admin/pwstore) is available in the "ruby" repository. Thanks, Hans --=-xdbbnvLwZWA13RFx8duP Content-Disposition: attachment; filename="ruby-single.eclass" Content-Type: text/plain; name="ruby-single.eclass"; charset="UTF-8" Content-Transfer-Encoding: base64 IyBDb3B5cmlnaHQgMTk5OS0yMDE0IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2VjbGFzcy9weXRob24tc2luZ2xlLXIxLmVjbGFz cyx2IDEuMjYgMjAxNC8wNS8yNiAxNjoxMzozNSBtZ29ybnkgRXhwICQKCiMgQEVDTEFTUzogcnVi eS1zaW5nbGUKIyBATUFJTlRBSU5FUjoKIyBSdWJ5IHRlYW0gPHJ1YnlAZ2VudG9vLm9yZz4KIyBA QVVUSE9SOgojIEF1dGhvcjogSGFucyBkZSBHcmFhZmYgPGdyYWFmZkBnZW50b28ub3JnPgojIEJh c2VkIG9uIHB5dGhvbi1zaW5nbGUtcjEgYnk6IE1pY2hhxYIgR8Ozcm55IDxtZ29ybnlAZ2VudG9v Lm9yZz4KIyBAQkxVUkI6IEFuIGVjbGFzcyBmb3IgUnVieSBwYWNrYWdlcyBub3QgaW5zdGFsbGVk IGZvciBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMuCiMgQERFU0NSSVBUSU9OOgojIEFuIGVjbGFz cyBmb3IgcGFja2FnZXMgd2hpY2ggZG9uJ3Qgc3VwcG9ydCBiZWluZyBpbnN0YWxsZWQgZm9yCiMg bXVsdGlwbGUgUnVieSBpbXBsZW1lbnRhdGlvbnMuIFRoaXMgbW9zdGx5IGluY2x1ZGVzIHJ1Ynkt YmFzZWQKIyBzY3JpcHRzLgoKY2FzZSAiJHtFQVBJOi0wfSIgaW4KCTB8MXwyfDMpCgkJZGllICJV bnN1cHBvcnRlZCBFQVBJPSR7RUFQSTotMH0gKHRvbyBvbGQpIGZvciAke0VDTEFTU30iCgkJOzsK CTR8NSkKCQk7OwoJKikKCQlkaWUgIlVuc3VwcG9ydGVkIEVBUEk9JHtFQVBJfSAodW5rbm93bikg Zm9yICR7RUNMQVNTfSIKCQk7Owplc2FjCgppbmhlcml0IHJ1YnktdXRpbHMKCiMgQEVDTEFTUy1W QVJJQUJMRTogVVNFX1JVQlkKIyBAREVGQVVMVF9VTlNFVAojIEBSRVFVSVJFRAojIEBERVNDUklQ VElPTjoKIyBUaGlzIHZhcmlhYmxlIGNvbnRhaW5zIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2Yg dGFyZ2V0cyAoc2VlIGFib3ZlKSBhIHBhY2thZ2UKIyBpcyBjb21wYXRpYmxlIHRvLiBJdCBtdXN0 IGJlIHNldCBiZWZvcmUgdGhlIGBpbmhlcml0JyBjYWxsLiBUaGVyZSBpcyBubwojIGRlZmF1bHQu IEFsbCBlYnVpbGRzIGFyZSBleHBlY3RlZCB0byBzZXQgdGhpcyB2YXJpYWJsZS4KCgojIEBFQ0xB U1MtVkFSSUFCTEU6IFJVQllfREVQUwojIEBERVNDUklQVElPTjoKIwojIFRoaXMgaXMgYW4gZWNs YXNzLWdlbmVyYXRlZCBSdWJ5IGRlcGVuZGVuY3kgc3RyaW5nIGZvciBhbGwKIyBpbXBsZW1lbnRh dGlvbnMgbGlzdGVkIGluIFVTRV9SVUJZLiBBbnkgb25lIG9mIHRoZSBzdXBwb3J0ZWQgcnVieQoj IHRhcmdldHMgd2lsbCBzYXRpc2Z5IHRoaXMgZGVwZW5kZW5jeS4KIwojIEV4YW1wbGUgdXNlOgoj IEBDT0RFCiMgUkRFUEVORD0iJHtSVUJZX0RFUFN9CiMgICBkZXYtZm9vL215ZGVwIgojIEJERVBF TkQ9IiR7UkRFUEVORH0iCiMgQAojCiMgRXhhbXBsZSB2YWx1ZToKIyBAQ09ERQojIHx8ICggZGV2 LWxhbmcvcnVieToyLjAgZGV2LWxhbmcvcnVieToxLjkgKQojIEBDT0RFCgpfcnVieV9zaW5nbGVf aW1wbGVtZW50YXRpb25zX2RlcGVuZCgpIHsKCWxvY2FsIGRlcGVuZAoJZm9yIF9ydWJ5X2ltcGxl bWVudGF0aW9uIGluICR7UlVCWV9UQVJHRVRTX1BSRUZFUkVOQ0V9OyBkbwoJCWlmIFtbICR7VVNF X1JVQll9ID1+ICR7X3J1YnlfaW1wbGVtZW50YXRpb259IF1dOyB0aGVuCgkJCWRlcGVuZD0iJHtk ZXBlbmR9ICQoX3J1YnlfaW1wbGVtZW50YXRpb25fZGVwZW5kICRfcnVieV9pbXBsZW1lbnRhdGlv bikiCgkJZmkKCWRvbmUKCWVjaG8gInx8ICggJHtkZXBlbmR9ICkiCn0KCl9ydWJ5X3NpbmdsZV9z ZXRfZ2xvYmFscygpIHsKCVJVQllfREVQUz0kKF9ydWJ5X3NpbmdsZV9pbXBsZW1lbnRhdGlvbnNf ZGVwZW5kKQp9Cl9ydWJ5X3NpbmdsZV9zZXRfZ2xvYmFscwo= --=-xdbbnvLwZWA13RFx8duP Content-Disposition: attachment; filename="ruby-utils.eclass" Content-Type: text/plain; name="ruby-utils.eclass"; charset="UTF-8" Content-Transfer-Encoding: base64 IyBDb3B5cmlnaHQgMTk5OS0yMDEzIEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2VjbGFzcy9ydWJ5LW5nLmVjbGFzcyx2IDEuNTMg MjAxMy8xMi8yNiAwNzoxMTo0OCBncmFhZmYgRXhwICQKCiMgQEVDTEFTUzogcnVieS11dGlscy5l Y2xhc3MKIyBATUFJTlRBSU5FUjoKIyBSdWJ5IHRlYW0gPHJ1YnlAZ2VudG9vLm9yZz4KIyBAQVVU SE9SOgojIEF1dGhvcjogSGFucyBkZSBHcmFhZmYgPGdyYWFmZkBnZW50b28ub3JnPgojIEBCTFVS QjogQW4gZWNsYXNzIGZvciBzdXBwb3J0aW5nIHJ1Ynkgc2NyaXB0cyBhbmQgYmluZGluZ3MgaW4g bm9uLXJ1YnkgcGFja2FnZXMKIyBAREVTQ1JJUFRJT046CiMgVGhlIHJ1YnktdXRpbHMgZWNsYXNz IGlzIGRlc2lnbmVkIHRvIGFsbG93IGFuIGVhc2llciBpbnN0YWxsYXRpb24gb2YKIyBSdWJ5IHNj cmlwdHMgYW5kIGJpbmRpbmdzIGZvciBub24tcnVieSBwYWNrYWdlcy4KIwojIFRoaXMgZWNsYXNz IGRvZXMgbm90IHNldCBhbnkgbWV0YWRhdGEgdmFyaWFibGVzIG5vciBleHBvcnQgYW55IHBoYXNl CiMgZnVuY3Rpb25zLiBJdCBjYW4gYmUgaW5oZXJpdGVkIHNhZmVseS4KCgpjYXNlICR7RUFQSX0g aW4KCTB8MXwyKQoJCWRpZSAiVW5zdXBwb3J0ZWQgRUFQST0ke0VBUEl9ICh0b28gb2xkKSBmb3Ig JHtFQ0xBU1N9IiA7OwoJM3w0fDUpIDs7CgkqKQoJCWRpZSAiVW5rbm93biBFQVBJPSR7RUFQSX0g Zm9yICR7RUNMQVNTfSIKZXNhYwoKaWYgW1sgISAke19SVUJZX1VUSUxTfSBdXTsgdGhlbgoKCiMg QEVDTEFTUy1WQVJJQUJMRTogUlVCWV9UQVJHRVRTX1BSRUZFUkVOQ0UKIyBAREVTQ1JJUFRJT046 CiMgVGhpcyB2YXJpYWJsZSBsaXN0cyBhbGwgdGhlIGtub3duIHJ1YnkgdGFyZ2V0cyBpbiBwcmVm ZXJlbmNlIG9mIHVzZSBhcwojIGRldGVybWluZWQgYnkgdGhlIHJ1YnkgdGVhbS4gQnkgdXNpbmcg dGhpcyBvcmRlcmluZyByYXRoZXIgdGhhbiB0aGUKIyBVU0VfUlVCWSBtYW5kYXRlZCBvcmRlcmlu ZyB3ZSBoYXZlIG1vcmUgY29udHJvbCBvdmVyIHdoaWNoIHJ1YnkKIyBpbXBsZW1lbnRhdGlvbiB3 aWxsIGJlIGluc3RhbGxlZCBmaXJzdCAoYW5kIHRodXMgZXNlbGVjdGVkKS4gVGhpcyB3aWxsCiMg cHJvdmlkZSBmb3IgYSBiZXR0ZXIgZmlyc3QgaW5zdGFsbGF0aW9uIGV4cGVyaWVuY2UuCgojIEFs bCBSVUJZX1RBUkdFVFMKUlVCWV9UQVJHRVRTX1BSRUZFUkVOQ0U9InJ1YnkyMCBydWJ5MTkgIgoK IyBBbGwgb3RoZXIgYWN0aXZlIHJ1YnkgdGFyZ2V0cwpSVUJZX1RBUkdFVFNfUFJFRkVSRU5DRSs9 InJ1YnkyMSByYngganJ1YnkgIgoKCl9ydWJ5X2ltcGxlbWVudGF0aW9uX2RlcGVuZCgpIHsKCWxv Y2FsIHJ1Ynlwbj0KCWxvY2FsIHJ1YnlzbG90PQoKCWNhc2UgJDEgaW4KCQlydWJ5MTgpCgkJCXJ1 Ynlwbj0iZGV2LWxhbmcvcnVieSIKCQkJcnVieXNsb3Q9IjoxLjgiCgkJCTs7CgkJcnVieTE5KQoJ CQlydWJ5cG49ImRldi1sYW5nL3J1YnkiCgkJCXJ1YnlzbG90PSI6MS45IgoJCQk7OwoJCXJ1Ynky MCkKCQkJcnVieXBuPSJkZXYtbGFuZy9ydWJ5IgoJCQlydWJ5c2xvdD0iOjIuMCIKCQkJOzsKCQly dWJ5MjEpCgkJCXJ1Ynlwbj0iZGV2LWxhbmcvcnVieSIKCQkJcnVieXNsb3Q9IjoyLjEiCgkJCTs7 CgkJcmVlMTgpCgkJCXJ1Ynlwbj0iZGV2LWxhbmcvcnVieS1lbnRlcnByaXNlIgoJCQlydWJ5c2xv dD0iOjEuOCIKCQkJOzsKCQlqcnVieSkKCQkJcnVieXBuPSJkZXYtamF2YS9qcnVieSIKCQkJcnVi eXNsb3Q9IiIKCQkJOzsKCQlyYngpCgkJCXJ1Ynlwbj0iZGV2LWxhbmcvcnViaW5pdXMiCgkJCXJ1 YnlzbG90PSIiCgkJCTs7CgkJKikgZGllICIkMTogdW5rbm93biBSdWJ5IGltcGxlbWVudGF0aW9u IgoJZXNhYwoKCWVjaG8gIiQyJHtydWJ5cG59JDMke3J1YnlzbG90fSIKfQoKCgpfUlVCWV9VVElM Uz0xCmZpCg== --=-xdbbnvLwZWA13RFx8duP-- --=-otaXjI+EjfYSWdCPeqU0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iF4EABEIAAYFAlU/0EAACgkQiIP6VqMIqNdahwD/WDzloGW/Z2iHdDrExQea8YAZ Bkh/xta95Ubn/ZD2QhkA/iex6BuhIVd7xkMPTLT4VUFP4y8jSpxul7YcyCJPDSXD =A99B -----END PGP SIGNATURE----- --=-otaXjI+EjfYSWdCPeqU0--