From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Beffa Subject: [PATCH] glib-or-gtk-build-system: new build-system Date: Mon, 6 Oct 2014 18:43:04 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c36436d205190504c3c6f7 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52115) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbBNR-0004ft-Cw for guix-devel@gnu.org; Mon, 06 Oct 2014 12:43:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XbBNK-0001VD-W1 for guix-devel@gnu.org; Mon, 06 Oct 2014 12:43:13 -0400 Received: from mail-lb0-x233.google.com ([2a00:1450:4010:c04::233]:39161) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbBNK-0001SQ-C0 for guix-devel@gnu.org; Mon, 06 Oct 2014 12:43:06 -0400 Received: by mail-lb0-f179.google.com with SMTP id l4so4510726lbv.24 for ; Mon, 06 Oct 2014 09:43:04 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --001a11c36436d205190504c3c6f7 Content-Type: text/plain; charset=UTF-8 Please find attached a new build system for applications making use of glib or gtk+. It uses wrappers as previously discussed on this list. I've successfully tested it with three packages: emacs, libcanberra and gtk+. Currently it is implemented as a separate build-system inheriting from the gnu-build-system. Essentially it adds 2 phases to the latter. IMO, it would make sense to make those 2 phases part of the gnu-build-system and enable them with the help of flags. Regards, Fede --001a11c36436d205190504c3c6f7 Content-Type: text/x-patch; charset=UTF-8; name="0001-glib-or-gtk-build-system-new-build-system.patch" Content-Disposition: attachment; filename="0001-glib-or-gtk-build-system-new-build-system.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i0y1pxf50 RnJvbSBkY2I3ZGM0NTFlYWMyMWUyNGU2OTcyZmE0YzFhNDUyNGE3NjU4YWYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWRlcmljbyBCZWZmYSA8YmVmZmFAZmJlbmdpbmVlcmluZy5j aD4KRGF0ZTogTW9uLCA2IE9jdCAyMDE0IDE1OjQ5OjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Z2xpYi1vci1ndGstYnVpbGQtc3lzdGVtOiBuZXcgYnVpbGQtc3lzdGVtCgoqIGd1aXgvYnVpbGQt c3lzdGVtL2dsaWItb3ItZ3RrLnNjbSwgZ3VpeC9idWlsZC9nbGliLW9yLWd0ay1idWlsZC1zeXN0 ZW0uc2NtOgogIEFkZCBpbml0aWFsIHZlcnNpb24gb2YgYSBuZXcgYnVpbGQtc3lzdGVtIGNhbGxl ZCAnZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtJy4KLS0tCiBndWl4L2J1aWxkLXN5c3RlbS9nbGli LW9yLWd0ay5zY20gICAgICAgfCAxNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGd1aXgvYnVpbGQvZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtLnNjbSB8IDEyMyArKysrKysrKysr KysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjg4IGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBndWl4L2J1aWxkLXN5c3RlbS9nbGliLW9yLWd0ay5zY20KIGNyZWF0ZSBt b2RlIDEwMDY0NCBndWl4L2J1aWxkL2dsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbS5zY20KCmRpZmYg LS1naXQgYS9ndWl4L2J1aWxkLXN5c3RlbS9nbGliLW9yLWd0ay5zY20gYi9ndWl4L2J1aWxkLXN5 c3RlbS9nbGliLW9yLWd0ay5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MDRjYjZhZgotLS0gL2Rldi9udWxsCisrKyBiL2d1aXgvYnVpbGQtc3lzdGVtL2dsaWItb3ItZ3Rr LnNjbQpAQCAtMCwwICsxLDE2NSBAQAorOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2th Z2UgbWFuYWdlbWVudCBmb3IgR05VCis7OzsgQ29weXJpZ2h0IMKpIDIwMTMsIDIwMTQgTHVkb3Zp YyBDb3VydMOocyA8bHVkb0BnbnUub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDEzIEN5cmlsIFJv ZWxhbmR0IDx0aXBlY2FtbEBnbWFpbC5jb20+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMTQgRmVkZXJp Y28gQmVmZmEgPGJlZmZhQGZiZW5naW5lZXJpbmcuY2g+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMg cGFydCBvZiBHTlUgR3VpeC4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdAorOzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7Owor Ozs7IEdOVSBHdWl4IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsIGJ1dAorOzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBH TlUgR3VpeC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKwor KGRlZmluZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdsaWItb3ItZ3RrKQorICAjOnVzZS1t b2R1bGUgKGd1aXggc3RvcmUpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKKyAgIzp1c2Ut bW9kdWxlIChndWl4IGRlcml2YXRpb25zKQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lz dGVtKQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKKyAgIzp1c2UtbW9k dWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGljZS05IG1hdGNoKQorICAjOmV4 cG9ydCAoZ2xpYi1vci1ndGstYnVpbGQKKyAgICAgICAgICAgIGdsaWItb3ItZ3RrLWJ1aWxkLXN5 c3RlbSkpCisKKzs7IENvbW1lbnRhcnk6Cis7OworOzsgVGhpcyBidWlsZCBzeXN0ZW0gaXMgYW4g ZXh0ZW5zaW9uIG9mIHRoZSAnZ251LWJ1aWxkLXN5c3RlbScuICBJdAorOzsgYWNjb21vZGF0ZXMg dGhlIG5lZWRzIG9mIGFwcGxpY2F0aW9ucyBtYWtpbmcgdXNlIG9mIGdsaWIgb3IgZ3RrKyAod2l0 aCAib3IiCis7OyB0byBiZSBpbnRlcnByZXRlZCBpbiB0aGUgbWF0aGVtYXRpY2FsIHNlbnNlKS4g IFRoaXMgaXMgYWNoaWV2ZWQgYnkgYWRkaW5nCis7OyB0d28gcGhhc2VzIHJ1biBhZnRlciB0aGUg J2luc3RhbGwnIHBoYXNlOgorOzsKKzs7ICdnbGliLW9yLWd0ay13cmFwJyBwaGFzZToKKzs7IAor OzsgYSkgVGhpcyBwaGFzZSBsb29rcyBmb3IgR1NldHRpbmdzIHNjaGVtYXMgYnkgdmVyaWZ5aW5n IHRoZSBleGlzdGVuY2Ugb2YKKzs7IHBhdGggImRhdGFkaXIvZ2xpYi0yLjAvc2NoZW1hcyIgaW4g YWxsIGlucHV0IHBhY2thZ2VzLiAgSWYgdGhlIHBhdGggaXMKKzs7IGZvdW5kIGluIGFueSBwYWNr YWdlLCB0aGVuIGFsbCBwcm9ncmFtcyBpbiAib3V0L2JpbiIgYXJlIHdyYXBwZWQgaW4gc2NyaXB0 cworOzsgd2hlcmUgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlICJYREdfREFUQV9ESVJTIiBpcyBz ZXQgYW5kIHBvaW50cyB0byB0aGUKKzs7IGxpc3Qgb2YgZm91bmQgc2NoZW1hcyBkaXJlY3Rvcmll cy4KKzs7Cis7OyBiKSBMb29rcyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiAibGliZGlyL2d0ay0zLjAi IGRpcmVjdG9yaWVzIGluIGFsbCBpbnB1dAorOzsgcGFja2FnZXMuICBJZiBhbnkgaXMgZm91bmQs IHRoZW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlICJHVEtfUEFUSCIgaXMKKzs7IHN1aXRhYmx5 IHNldCBhbmQgYWRkZWQgdG8gdGhlIHdyYXBwZXJzLiAgVGhlIHZhcmlhYmxlICJHVEtfUEFUSCIg aGFzIGJlZW4KKzs7IHByZWZlcnJlZCBvdmVyICJHVEtfRVhFX1BSRUZJWCIgYmVjYXVzZSB0aGUg bGF0dGVyIGNhbiBvbmx5IHBvaW50IHRvIGEKKzs7IHNpbmdsZSBkaXJlY3RvcnksIHdoaWxlIHdl IG1heSBuZWVkIHRvIHBvaW50IHRvIHNldmVyYWwgb25lcy4KKzs7Cis7OyAnZ2xpYi1vci1ndGst Y29tcGlsZS1zY2hlbWFzJyBwaGFzZToKKzs7IAorOzsgTG9va3MgZm9yIHRoZSBwcmVzZW5jZSBv ZiAib3V0L3NoYXJlL2dsaWItMi4wL3NjaGVtYXMiLiAgSWYgdGhhdCBkaXJlY3RvcnkKKzs7IGV4 aXN0cyBhbmQgZG9lcyBub3QgaW5jbHVkZSBhIGZpbGUgbmFtZWQgImdzY2hlbWFzLmNvbXBpbGVk IiwgdGhlbgorOzsgImdsaWItY29tcGlsZS1zY2hlbWFzIiBpcyBydW4gaW4gdGhhdCBkaXJlY3Rv cnkuCis7OworOzsgQ29kZToKKworKGRlZmluZSAlZGVmYXVsdC1tb2R1bGVzCisgIDs7IEJ1aWxk LXNpZGUgbW9kdWxlcyBtYWRlIGF2YWlsYWJsZSBpbiB0aGUgYnVpbGQgZW52aXJvbm1lbnQuCisg ICcoKGd1aXggYnVpbGQgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQorICAgIChndWl4IGJ1aWxk IHV0aWxzKSkpCisKKyhkZWZpbmUgJWRlZmF1bHQtaW1wb3J0ZWQtbW9kdWxlcworICA7OyBCdWls ZC1zaWRlIG1vZHVsZXMgaW1wb3J0ZWQgYW5kIHVzZWQgYnkgZGVmYXVsdC4KKyAgJygoZ3VpeCBi dWlsZCBnbnUtYnVpbGQtc3lzdGVtKQorICAgIChndWl4IGJ1aWxkIGdsaWItb3ItZ3RrLWJ1aWxk LXN5c3RlbSkKKyAgICAoZ3VpeCBidWlsZCB1dGlscykpKQorCisoZGVmaW5lIChkZWZhdWx0LWds aWIpCisgICJSZXR1cm4gdGhlIGRlZmF1bHQgZ2xpYiBwYWNrYWdlIGZyb20gd2hpY2ggd2UgdXNl CitcImdsaWItY29tcGlsZS1zY2hlbWFzXCIuIgorICA7OyBEbyBub3QgdXNlIGBAJyB0byBhdm9p ZCBpbnRyb2R1Y2luZyBjaXJjdWxhciBkZXBlbmRlbmNpZXMuCisgIChsZXQgKChtb2R1bGUgKHJl c29sdmUtaW50ZXJmYWNlICcoZ251IHBhY2thZ2VzIGdsaWIpKSkpCisgICAgKG1vZHVsZS1yZWYg bW9kdWxlICdnbGliKSkpCisKKyhkZWZpbmUqIChnbGliLW9yLWd0ay1idWlsZCBzdG9yZSBuYW1l IHNvdXJjZSBpbnB1dHMKKyAgICAgICAgICAgICAgICAgICAgICM6a2V5IChndWlsZSAjZikKKyAg ICAgICAgICAgICAgICAgICAgIChvdXRwdXRzICcoIm91dCIpKQorICAgICAgICAgICAgICAgICAg ICAgKHNlYXJjaC1wYXRocyAnKCkpCisgICAgICAgICAgICAgICAgICAgICAoY29uZmlndXJlLWZs YWdzICcnKCkpCisgICAgICAgICAgICAgICAgICAgICAobWFrZS1mbGFncyAnJygpKQorICAgICAg ICAgICAgICAgICAgICAgKGdsaWIgKGRlZmF1bHQtZ2xpYikpCisgICAgICAgICAgICAgICAgICAg ICAob3V0LW9mLXNvdXJjZT8gI3QpCisgICAgICAgICAgICAgICAgICAgICAodGVzdHM/ICN0KQor ICAgICAgICAgICAgICAgICAgICAgKHRlc3QtdGFyZ2V0ICJjaGVjayIpCisgICAgICAgICAgICAg ICAgICAgICAocGFyYWxsZWwtYnVpbGQ/ICN0KSAKKyAgICAgICAgICAgICAgICAgICAgIChwYXJh bGxlbC10ZXN0cz8gI3QpCisgICAgICAgICAgICAgICAgICAgICAocGF0Y2gtc2hlYmFuZ3M/ICN0 KQorICAgICAgICAgICAgICAgICAgICAgKHN0cmlwLWJpbmFyaWVzPyAjdCkKKyAgICAgICAgICAg ICAgICAgICAgIChzdHJpcC1mbGFncyAnJygiLS1zdHJpcC1kZWJ1ZyIpKQorICAgICAgICAgICAg ICAgICAgICAgKHN0cmlwLWRpcmVjdG9yaWVzICcnKCJsaWIiICJsaWI2NCIgImxpYmV4ZWMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbiIgInNiaW4iKSkK KyAgICAgICAgICAgICAgICAgICAgIChwaGFzZXMgJyhAIChndWl4IGJ1aWxkIGdsaWItb3ItZ3Rr LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzdGFuZGFy ZC1waGFzZXMpKQorICAgICAgICAgICAgICAgICAgICAgKHN5c3RlbSAoJWN1cnJlbnQtc3lzdGVt KSkKKyAgICAgICAgICAgICAgICAgICAgIChpbXBvcnRlZC1tb2R1bGVzICVkZWZhdWx0LWltcG9y dGVkLW1vZHVsZXMpCisgICAgICAgICAgICAgICAgICAgICAobW9kdWxlcyAlZGVmYXVsdC1tb2R1 bGVzKQorICAgICAgICAgICAgICAgICAgICAgYWxsb3dlZC1yZWZlcmVuY2VzKQorICAiQnVpbGQg U09VUkNFIHdpdGggSU5QVVRTLiAgU2VlIEdOVS1CVUlMRCBmb3IgbW9yZSBkZXRhaWxzLiIKKyAg KGRlZmluZSBidWlsZGVyCisgICAgYChiZWdpbgorICAgICAgICh1c2UtbW9kdWxlcyAsQG1vZHVs ZXMpCisgICAgICAgKGdsaWItb3ItZ3RrLWJ1aWxkICM6c291cmNlICwoaWYgKGRlcml2YXRpb24/ IHNvdXJjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi0+ b3V0cHV0LXBhdGggc291cmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNv dXJjZSkKKyAgICAgICAgICAgICAgICAgICAgIzpzeXN0ZW0gLHN5c3RlbQorICAgICAgICAgICAg ICAgICAgICAjOm91dHB1dHMgJW91dHB1dHMKKyAgICAgICAgICAgICAgICAgICAgIzppbnB1dHMg JWJ1aWxkLWlucHV0cworICAgICAgICAgICAgICAgICAgICAjOnNlYXJjaC1wYXRocyAnLChtYXAg c2VhcmNoLXBhdGgtc3BlY2lmaWNhdGlvbi0+c2V4cAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFwcGVuZCBzZWFyY2gtcGF0aHMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYXJkLXNlYXJjaC1wYXRocykp KQorICAgICAgICAgICAgICAgICAgICAjOnBoYXNlcyAscGhhc2VzCisgICAgICAgICAgICAgICAg ICAgICM6Y29uZmlndXJlLWZsYWdzICxjb25maWd1cmUtZmxhZ3MKKyAgICAgICAgICAgICAgICAg ICAgIzptYWtlLWZsYWdzICxtYWtlLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICM6b3V0LW9m LXNvdXJjZT8gLG91dC1vZi1zb3VyY2U/CisgICAgICAgICAgICAgICAgICAgICM6dGVzdHM/ICx0 ZXN0cz8KKyAgICAgICAgICAgICAgICAgICAgIzp0ZXN0LXRhcmdldCAsdGVzdC10YXJnZXQKKyAg ICAgICAgICAgICAgICAgICAgIzpwYXJhbGxlbC1idWlsZD8gLHBhcmFsbGVsLWJ1aWxkPworICAg ICAgICAgICAgICAgICAgICAjOnBhcmFsbGVsLXRlc3RzPyAscGFyYWxsZWwtdGVzdHM/CisgICAg ICAgICAgICAgICAgICAgICM6cGF0Y2gtc2hlYmFuZ3M/ICxwYXRjaC1zaGViYW5ncz8KKyAgICAg ICAgICAgICAgICAgICAgIzpzdHJpcC1iaW5hcmllcz8gLHN0cmlwLWJpbmFyaWVzPworICAgICAg ICAgICAgICAgICAgICAjOnN0cmlwLWZsYWdzICxzdHJpcC1mbGFncworICAgICAgICAgICAgICAg ICAgICAjOnN0cmlwLWRpcmVjdG9yaWVzICxzdHJpcC1kaXJlY3RvcmllcykpKQorCisgIChkZWZp bmUgZ3VpbGUtZm9yLWJ1aWxkCisgICAgKG1hdGNoIGd1aWxlCisgICAgICAoKD8gcGFja2FnZT8p CisgICAgICAgKHBhY2thZ2UtZGVyaXZhdGlvbiBzdG9yZSBndWlsZSBzeXN0ZW0pKQorICAgICAg KChhbmQgKD8gc3RyaW5nPykgKD8gZGVyaXZhdGlvbi1wYXRoPykpCisgICAgICAgZ3VpbGUpCisg ICAgICAoI2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgdGhlIGRl ZmF1bHQKKyAgICAgICAobGV0KiAoKGRpc3RybyAocmVzb2x2ZS1pbnRlcmZhY2UgJyhnbnUgcGFj a2FnZXMgY29tbWVuY2VtZW50KSkpCisgICAgICAgICAgICAgIChndWlsZSAgKG1vZHVsZS1yZWYg ZGlzdHJvICdndWlsZS1maW5hbCkpKQorICAgICAgICAgKHBhY2thZ2UtZGVyaXZhdGlvbiBzdG9y ZSBndWlsZSBzeXN0ZW0pKSkpKQorCisgIChsZXQgKChnbGliIChwYWNrYWdlLWRlcml2YXRpb24g c3RvcmUgZ2xpYiBzeXN0ZW0pKSkgIAorICAgIChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9u IHN0b3JlIG5hbWUgYnVpbGRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 c3lzdGVtIHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aW5wdXRz CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgsQChpZiBzb3VyY2UKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKCJzb3VyY2UiICxzb3VyY2Up KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBpbnB1dHMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ozsgd2UgbmVlZCBnbGliLWNvbXBpbGUtc2NoZW1hcworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJnbGliIiAsZ2xpYiAiYmluIikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgS2Vl cCB0aGUgc3RhbmRhcmQgaW5wdXRzIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7OyBgZ251LWJ1aWxkLXN5c3RlbScuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChzdGFuZGFyZC1pbnB1dHMgc3lzdGVtKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOm1vZHVs ZXMgaW1wb3J0ZWQtbW9kdWxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 b3V0cHV0cyBvdXRwdXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpndWls ZS1mb3ItYnVpbGQgZ3VpbGUtZm9yLWJ1aWxkKSkpCisKKyhkZWZpbmUgZ2xpYi1vci1ndGstYnVp bGQtc3lzdGVtCisgIChidWlsZC1zeXN0ZW0gKG5hbWUgJ2dsaWItb3ItZ3RrKQorICAgICAgICAg ICAgICAgIChkZXNjcmlwdGlvbgorICAgICAgICAgICAgICAgICAiVGhlIEdOVSBCdWlsZCBTeXN0 ZW3igJRpLmUuLCAuL2NvbmZpZ3VyZSAmJiBtYWtlICYmIG1ha2UKK2luc3RhbGwsIGF1Z21lbnRl ZCB3aXRoIGRlZmluaXRpb24gb2Ygc3VpdGFibGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBn bGliCithbmQgZ3RrKyBpbiBwcm9ncmFtIHdyYXBwZXJzLiIpCisgICAgICAgICAgICAgICAgKGJ1 aWxkIGdsaWItb3ItZ3RrLWJ1aWxkKSkpCmRpZmYgLS1naXQgYS9ndWl4L2J1aWxkL2dsaWItb3It Z3RrLWJ1aWxkLXN5c3RlbS5zY20gYi9ndWl4L2J1aWxkL2dsaWItb3ItZ3RrLWJ1aWxkLXN5c3Rl bS5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYzYjU5MwotLS0gL2Rl di9udWxsCisrKyBiL2d1aXgvYnVpbGQvZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtLnNjbQpAQCAt MCwwICsxLDEyMyBAQAorOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdl bWVudCBmb3IgR05VCis7OzsgQ29weXJpZ2h0IMKpIDIwMTQgRmVkZXJpY28gQmVmZmEgPGJlZmZh QGZiZW5naW5lZXJpbmcuY2g+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3Vp eC4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor Ozs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdOVSBHdWl4IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorOzs7 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKzs7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKzs7OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworKGRlZmluZS1tb2R1bGUg KGd1aXggYnVpbGQgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQorICAjOnVzZS1tb2R1bGUgKChn dWl4IGJ1aWxkIGdudS1idWlsZC1zeXN0ZW0pICM6cHJlZml4IGdudTopCisgICM6dXNlLW1vZHVs ZSAoZ3VpeCBidWlsZCB1dGlscykKKyAgIzp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKKyAgIzp1 c2UtbW9kdWxlIChpY2UtOSByZWdleCkKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKKyAg IzpleHBvcnQgKCVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgICAgIGdsaWItb3ItZ3RrLWJ1aWxk KSkKKworOzsgQ29tbWVudGFyeToKKzs7Cis7OyBCdWlsZGVyLXNpZGUgY29kZSBvZiB0aGUgc3Rh bmRhcmQgZ2xpYi1vci1ndGsgYnVpbGQgcHJvY2VkdXJlLgorOzsKKzs7IENvZGU6CisKKyhkZWZp bmUgKHJlbC1wYXRoLWV4aXN0cz8gcGF0aCByZWwtcGF0aCkKKyAgKGRpcmVjdG9yeS1leGlzdHM/ IChzdHJpbmctYXBwZW5kIHBhdGggcmVsLXBhdGgpKSkKKworKGRlZmluZSAoZ3RrLW1vZHVsZS1k aXJzIGlucHV0cykKKyAgIkNoZWNrIGZvciB0aGUgZXhpc3RlbmNlIG9mIFwibGliZGlyL2d0ay12 LjBcIiBpbiBJTlBVVFMuICBSZXR1cm4gYSBsaXN0Cit3aXRoIGFsbCBmb3VuZCBwYXRoZXMuICBJ ZiBub25lIGlzIGZvdW5kIHJldHVybiBhbiBlbXB0eSBsaXN0LiIKKyAgKGxldCogKCh2ZXJzaW9u IAorICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICJndGtcXCstMyIgCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG9yIChhc3NvYy1yZWYgaW5wdXRzICJndGsrIikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiBpbnB1dHMgInNvdXJjZSIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJndGsrLTMiKSkgOyB3ZSBkZWZhdWx0IHRvIHZlcnNp b24gMworICAgICAgICAgICAgICAiMy4wIgorICAgICAgICAgICAgICAiMi4wIikpCisgICAgICAg ICAoZ3RrLW1vZHVsZQorICAgICAgICAgIChsYW1iZGEgKGlucHV0IHByZXYpCisgICAgICAgICAg ICAobGV0KiAoKGluIChtYXRjaCBpbnB1dAorICAgICAgICAgICAgICAgICAgICAgICAgICgoXyAu IGRpcikgZGlyKQorICAgICAgICAgICAgICAgICAgICAgICAgIChfICIiKSkpCisgICAgICAgICAg ICAgICAgICAgKGxpYmRpciAKKyAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgaW4g Ii9saWIvZ3RrLSIgdmVyc2lvbikpKQorICAgICAgICAgICAgICAoaWYgKGRpcmVjdG9yeS1leGlz dHM/IGxpYmRpcikKKyAgICAgICAgICAgICAgICAgIChjb25zIGxpYmRpciBwcmV2KQorICAgICAg ICAgICAgICAgICAgcHJldikpKSkpCisgICAgKGZvbGQgZ3RrLW1vZHVsZSAnKCkgaW5wdXRzKSkp CisKKyhkZWZpbmUgKGdsaWItc2NoZW1hcyBpbnB1dCBwcmV2KQorICAobGV0KiAoKGluIChtYXRj aCBpbnB1dAorICAgICAgICAgICAgICAgKChfIC4gZGlyKSBkaXIpCisgICAgICAgICAgICAgICAo XyAiIikpKQorICAgICAgICAgKGRhdGFkaXIgKHN0cmluZy1hcHBlbmQgaW4gIi9zaGFyZSIpKSkK KyAgICAoaWYgKHJlbC1wYXRoLWV4aXN0cz8gZGF0YWRpciAiL2dsaWItMi4wL3NjaGVtYXMiKQor ICAgICAgICAoY29ucyBkYXRhZGlyIHByZXYpCisgICAgICAgIHByZXYpKSkKKworKGRlZmluZSAo c2NoZW1hcy1kaXJzIGlucHV0cykKKyAgIkNoZWNrIGZvciB0aGUgZXhpc3RlbmNlIG9mIFwiZGF0 YWRpci9nbGliLTIuMC9zY2hlbWFzXCIgaW4gSU5QVVRTLiAgUmV0dXJuCithIGxpc3Qgd2l0aCBh bGwgZm91bmQgcGF0aGVzLiAgSWYgbm9uZSBpcyBmb3VuZCByZXR1cm4gYW4gZW1wdHkgbGlzdC4i CisgIChmb2xkIGdsaWItc2NoZW1hcyAnKCkgaW5wdXRzKSkKKworKGRlZmluZSogKHdyYXAtYWxs LXByb2dyYW1zICM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgIklt cGxlbWVudCBwaGFzZSBcImdsaWItb3ItZ3RrLXdyYXBcIjogbG9vayBmb3IgR1NldHRpbmdzIHNj aGVtYXMgYW5kCitndGsrLXYuMCBsaWJyYXJpZXMgYW5kIGNyZWF0ZSB3cmFwcGVycyB3aXRoIHN1 aXRhYmx5IHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKK2lmIGZvdW5kLiIKKyAgKGxldCogKChv dXQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKKyAgICAgICAgIChiaW5kaXIgKHN0cmluZy1h cHBlbmQgb3V0ICIvYmluIikpCisgICAgICAgICAoYmluLWxpc3QgKGZpbmQtZmlsZXMgYmluZGly ICIuKiIpKQorICAgICAgICAgKHNjaGVtYXMgKHNjaGVtYXMtZGlycyAoYWNvbnMgIm91dCIgb3V0 IGlucHV0cykpKQorICAgICAgICAgKHNjaGVtYXMtZW52LXZhciAKKyAgICAgICAgICAoaWYgKG5v dCAobnVsbD8gc2NoZW1hcykpCisgICAgICAgICAgICAgIGAoIlhER19EQVRBX0RJUlMiICI6IiBw cmVmaXggLHNjaGVtYXMpCisgICAgICAgICAgICAgICNmKSkKKyAgICAgICAgIChndGstbW9kLWRp cnMgKGd0ay1tb2R1bGUtZGlycyAoYWNvbnMgIm91dCIgb3V0IGlucHV0cykpKQorICAgICAgICAg KGd0ay1tb2QtZW52LXZhciAKKyAgICAgICAgICAoaWYgKG5vdCAobnVsbD8gZ3RrLW1vZC1kaXJz KSkKKyAgICAgICAgICAgICAgYCgiR1RLX1BBVEgiICI6IiBwcmVmaXggLGd0ay1tb2QtZGlycykK KyAgICAgICAgICAgICAgI2YpKSkKKyAgICAoY29uZAorICAgICAoKGFuZCBzY2hlbWFzLWVudi12 YXIgZ3RrLW1vZC1lbnYtdmFyKQorICAgICAgKG1hcCAobGFtYmRhIChwcm9nKSAKKyAgICAgICAg ICAgICAod3JhcC1wcm9ncmFtIHByb2cgc2NoZW1hcy1lbnYtdmFyIGd0ay1tb2QtZW52LXZhcikp CisgICAgICAgICAgIGJpbi1saXN0KSkKKyAgICAgKHNjaGVtYXMtZW52LXZhcgorICAgICAgKG1h cCAobGFtYmRhIChwcm9nKSAod3JhcC1wcm9ncmFtIHByb2cgc2NoZW1hcy1lbnYtdmFyKSkgYmlu LWxpc3QpKQorICAgICAoZ3RrLW1vZC1lbnYtdmFyCisgICAgICAobWFwIChsYW1iZGEgKHByb2cp ICh3cmFwLXByb2dyYW0gcHJvZyBndGstbW9kLWVudi12YXIpKSBiaW4tbGlzdCkpKSkpCisKKyhk ZWZpbmUqIChjb21waWxlLWdsaWItc2NoZW1hcyAjOmtleSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93 LW90aGVyLWtleXMpCisgICJJbXBsZW1lbnQgcGhhc2UgXCJnbGliLW9yLWd0ay1jb21waWxlLXNj aGVtYXNcIjogY29tcGlsZSBcImdsaWJcIiBzY2hlbWFzCitpZiBuZWVkZWQuIgorICAobGV0KiAo KG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKQorICAgICAgICAgKHNjaGVtYXNkaXIgKHN0 cmluZy1hcHBlbmQgb3V0ICIvc2hhcmUvZ2xpYi0yLjAvc2NoZW1hcyIpKSkKKyAgICAoaWYgKGFu ZCAoZGlyZWN0b3J5LWV4aXN0cz8gc2NoZW1hc2RpcikKKyAgICAgICAgICAgICAobm90IChmaWxl LWV4aXN0cz8gCisgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgc2NoZW1hc2RpciAi L2dzY2hlbWFzLmNvbXBpbGVkIikpKSkKKyAgICAgICAgKHN5c3RlbSogImdsaWItY29tcGlsZS1z Y2hlbWFzIiBzY2hlbWFzZGlyKQorICAgICAgICAjdCkpKQorCisoZGVmaW5lICVzdGFuZGFyZC1w aGFzZXMKKyAgKGFsaXN0LWNvbnMtYWZ0ZXIKKyAgICdpbnN0YWxsICdnbGliLW9yLWd0ay13cmFw IHdyYXAtYWxsLXByb2dyYW1zIAorICAgKGFsaXN0LWNvbnMtYWZ0ZXIgCisgICAgJ2luc3RhbGwg J2dsaWItb3ItZ3RrLWNvbXBpbGUtc2NoZW1hcyBjb21waWxlLWdsaWItc2NoZW1hcyAKKyAgICBn bnU6JXN0YW5kYXJkLXBoYXNlcykpKQorCisoZGVmaW5lKiAoZ2xpYi1vci1ndGstYnVpbGQgIzpr ZXkgaW5wdXRzIChwaGFzZXMgJXN0YW5kYXJkLXBoYXNlcykKKyAgICAgICAgICAgICAgICAgICAg ICAjOmFsbG93LW90aGVyLWtleXMgIzpyZXN0IGFyZ3MpCisgICJCdWlsZCB0aGUgZ2l2ZW4gcGFj a2FnZSwgYXBwbHlpbmcgYWxsIG9mIFBIQVNFUyBpbiBvcmRlci4iCisgIChhcHBseSBnbnU6Z251 LWJ1aWxkICM6aW5wdXRzIGlucHV0cyAjOnBoYXNlcyBwaGFzZXMgYXJncykpCisKKzs7OyBnbGli LW9yLWd0ay1idWlsZC1zeXN0ZW0uc2NtIGVuZHMgaGVyZQotLSAKMS44LjQKCg== --001a11c36436d205190504c3c6f7--