From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from re-prd-fep-043.btinternet.com (mailomta12-re.btinternet.com [213.120.69.105]) by sourceware.org (Postfix) with ESMTPS id 3AA0F384F037 for ; Sun, 4 Dec 2022 14:55:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3AA0F384F037 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=dronecode.org.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=dronecode.org.uk Received: from re-prd-rgout-004.btmx-prd.synchronoss.net ([10.2.54.7]) by re-prd-fep-043.btinternet.com with ESMTP id <20221204145552.QXAQ21016.re-prd-fep-043.btinternet.com@re-prd-rgout-004.btmx-prd.synchronoss.net>; Sun, 4 Dec 2022 14:55:52 +0000 Authentication-Results: btinternet.com; auth=pass (PLAIN) smtp.auth=jonturney@btinternet.com; bimi=skipped X-SNCR-Rigid: 613A901C459114D1 X-Originating-IP: [81.153.98.246] X-OWM-Source-IP: 81.153.98.246 (GB) X-OWM-Env-Sender: jonturney@btinternet.com X-VadeSecure-score: verdict=clean score=0/300, class=clean X-RazorGate-Vade: gggruggvucftvghtrhhoucdtuddrgedvhedruddvgdejudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemuceutffkvffkuffjvffgnffgvefqofdpqfgfvfenuceurghilhhouhhtmecufedtudenucenucfjughrpegtkfffgggfuffvfhfhjgesmhdtreertdefjeenucfhrhhomheplfhonhcuvfhurhhnvgihuceojhhonhdrthhurhhnvgihsegurhhonhgvtghouggvrdhorhhgrdhukheqnecuggftrfgrthhtvghrnheptdejteeludfgvdfgheegkeekgeeliefgheetteelhfehiedtteejjedvfefhffdvnecuffhomhgrihhnpehphihprgdrihhonecukfhppeekuddrudehfedrleekrddvgeeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehhvghloheplgduledvrdduieekrddurddutdeingdpihhnvghtpeekuddrudehfedrleekrddvgeeipdhmrghilhhfrhhomhepjhhonhdrthhurhhnvgihsegurhhonhgvtghouggvrdhorhhgrdhukhdpnhgspghrtghpthhtohepvddprhgtphhtthhopegrtggvsehsvgiinhgrmhdrtgiipdhrtghpthhtoheptgihghifihhnqdgrphhpshestgihghifihhnrdgtohhm X-RazorGate-Vade-Verdict: clean 0 X-RazorGate-Vade-Classification: clean Received: from [192.168.1.106] (81.153.98.246) by re-prd-rgout-004.btmx-prd.synchronoss.net (5.8.716.04) (authenticated as jonturney@btinternet.com) id 613A901C459114D1; Sun, 4 Dec 2022 14:55:52 +0000 Content-Type: multipart/mixed; boundary="------------FGkQxZqrDUyJ9r7chm5HIVdc" Message-ID: Date: Sun, 4 Dec 2022 14:55:52 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: cygclass python-wheel setup.cfg-only projects Content-Language: en-GB To: "cygwin-apps@cygwin.com" , Libor Ukropec References: From: Jon Turney In-Reply-To: X-Spam-Status: No, score=-1198.1 required=5.0 tests=BAYES_00,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------FGkQxZqrDUyJ9r7chm5HIVdc Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 02/12/2022 12:10, Jon Turney wrote: > On 01/12/2022 22:20, Libor Ukropec wrote: >> Hello, >> >> I have question to cygclass python-wheel. It seems that setup.py is >> being omited in some python packages (here I faced it in the >> python-fasteners) and as described here: >> https://setuptools.pypa.io/en/latest/setuptools.html , chapter >> "setup.cfg-only projects" >> >>  > If setup.py is missing from the project directory when a PEP 517 >> build is invoked, >>  > setuptools emulates a dummy setup.py file containing only a >> setuptools.setup() call. >> >> Currently the cyglass requires the setup.py being present, otherwise >> it throws error "No Python Distutils module detected" >> >> IMHO would be nice if the cygclass handle this case. Or should I >> create a patch that inserts empty setup.py module instead? > > Yeah, it seems this is definitely something that needs updating in > cygport, so thanks for pointing that out. > > It's fairly straightforward to drop the check at [1], or perhaps it's > more appropriate to change it to check for either setup.py or setup.cfg? > > But then we want to run 'python -msetuptools.launch setup.py > bdist_wheel' to build the wheel. > > In a very quick bit of research, it' seems the modern equivalent would > be something like 'python -m build --wheel', but we don't seem to have a > python-build package? The other alternative seems to be 'pip wheel' Attached is a cygport patch which uses that for the setup.py-less case. (possibly we could use it in all cases, but I'm being conservative with this change) > I'm not very familiar with the evolving state of python packaging, so I > think I may need a bit of help getting this right! --------------FGkQxZqrDUyJ9r7chm5HIVdc Content-Type: text/plain; charset=UTF-8; name="0001-python-wheel-Handle-projects-without-a-setup.py.patch" Content-Disposition: attachment; filename*0="0001-python-wheel-Handle-projects-without-a-setup.py.patch" Content-Transfer-Encoding: base64 RnJvbSBhNDRiMmU5NzAyOTNiMzQwNjJkYTYxODQ0ZjcwNzFmYWU3MGEyMzBjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gVHVybmV5IDxqb24udHVybmV5QGRyb25lY29k ZS5vcmcudWs+CkRhdGU6IEZyaSwgMiBEZWMgMjAyMiAxMTo1MDozMyArMDAwMApTdWJqZWN0 OiBbUEFUQ0ggY3lncG9ydF0gcHl0aG9uLXdoZWVsOiBIYW5kbGUgcHJvamVjdHMgd2l0aG91 dCBhIHNldHVwLnB5CgpTaW5jZSBzZXR1cHRvb2xzIDQwLjkuMCwgcHJvamVjdHMgY2FuIGhh dmUganVzdCBhIHNldHVwLmNmZywgYW5kIGEKZGVmYXVsdCBzZXR1cC5weSBpcyBlbXVsYXRl ZC4KClJhdGhlciB0aGFuIHNldHVwdG9vbHMsIHVzZSAncGlwIHdoZWVsJyB0byBidWlsZCB0 aGUgd2hlZWwuCgpOb3RlOiBwb3NzaWJseSBjb3VsZCB1c2UgcHlwYSBidWlsZCBtb2R1bGUg dG8gZG8gdGhlIGJ1aWxkLCBidXQgd2UgbmVlZApwaXAgZm9yIHRoZSBpbnN0YWxsIGFueWhv dz8KLS0tCiBjeWdjbGFzcy9weXRob24td2hlZWwuY3lnY2xhc3MgfCAyOCArKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY3lnY2xhc3MvcHl0aG9uLXdoZWVsLmN5 Z2NsYXNzIGIvY3lnY2xhc3MvcHl0aG9uLXdoZWVsLmN5Z2NsYXNzCmluZGV4IGI2ZWQ2OGIu LjRkOTc5NDUgMTAwNjQ0Ci0tLSBhL2N5Z2NsYXNzL3B5dGhvbi13aGVlbC5jeWdjbGFzcwor KysgYi9jeWdjbGFzcy9weXRob24td2hlZWwuY3lnY2xhc3MKQEAgLTI0LDkgKzI0LDEwIEBA CiAjKioqKmgqIEN5Z2NsYXNzZXMvcHl0aG9uLXdoZWVsLmN5Z2NsYXNzCiAjICBERVNDUklQ VElPTgogIyAgV2hlZWxzIGFyZSB0aGUgbmV3IHN0YW5kYXJkIGZvciBpbnN0YWxsaW5nIFB5 dGhvbiBsaWJyYXJpZXMgYW5kIHByb2dyYW1zLgotIyAgVGhlIGJ1aWxkIGlzIGRlZmluZWQg YnkgYSBzZXR1cC5weSBmaWxlIGluIHRoZSB0b3Agc291cmNlIGRpcmVjdG9yeSwgd2hpY2gK LSMgIGNvbnRyb2xzIHRoZSBpbnN0YWxsYXRpb24gb2YgZmlsZXMgYW5kIHRoZSBidWlsZGlu ZyBvZiBDIFB5dGhvbiBleHRlbnNpb25zLgotIyAgTWFueSBzdWNoIHBhY2thZ2VzIGFyZSBo b3N0ZWQgb24gdGhlIFB5dGhvbiBQYWNrYWdlIEluZGV4IChQeVBJKS4KKyMgIFRoZSBidWls ZCBpcyBkZWZpbmVkIGJ5IGEgUEVQIDUxNyBjb25mb3JtYW50IHNvdXJjZSB0cmVlLCBvciBi eSBhIHRvcC1sZXZlbAorIyAgc2V0dXAucHkgZmlsZSwgd2hpY2ggY29udHJvbHMgdGhlIGlu c3RhbGxhdGlvbiBvZiBmaWxlcyBhbmQgdGhlIGJ1aWxkaW5nIG9mIEMKKyMgIFB5dGhvbiBl eHRlbnNpb25zLiAgTWFueSBzdWNoIHBhY2thZ2VzIGFyZSBob3N0ZWQgb24gdGhlIFB5dGhv biBQYWNrYWdlIEluZGV4CisjICAoUHlQSSkuCiAjCiAjICBUaGlzIGN5Z2NsYXNzIGhhbmRs ZXMgdGhlIGJ1aWxkaW5nIG9mIHdoZWVsLWJhc2VkIFB5dGhvbiBtb2R1bGUgcGFja2FnZXMK ICMgIGZvciBtdWx0aXBsZSBQeXRob24gdmVyc2lvbnMgc2ltdWx0YW5lb3VzbHkuCkBAIC0x NDgsMjMgKzE0OSwyOCBAQCBmaQogIyAgU1lOT1BTSVMKICMgIHB5dGhvbl93aGVlbF9jb21w aWxlIFtPUFRJT05TXQogIyAgREVTQ1JJUFRJT04KLSMgIFJ1bnMgdGhlIHNldHVwLnB5ICdi ZGlzdF93aGVlbCcgY29tbWFuZCwgdG8gd2hpY2ggYW55IGFyZ3VtZW50cyBhcmUgcGFzc2Vk LgotIyoqKioKKyMgIFJ1bnMgJ3BpcCB3aGVlbCcsIG9yIHRoZSBzZXR1cC5weSAnYmRpc3Rf d2hlZWwnIGNvbW1hbmQsIHRvIHdoaWNoIGFueQorIyAgYXJndW1lbnRzIGFyZSBwYXNzZWQu ICAqKioqCiBweXRob25fd2hlZWxfY29tcGlsZSgpIHsKIAlsb2NhbCB2ZXIKIAotCWlmIFsg ISAtZSBzZXR1cC5weSBdCisJaWYgWyAhIC1lIHNldHVwLnB5IF0gJiYgWyAhIC1lIHNldHVw LmNmZyBdCiAJdGhlbgotCQllcnJvciAiTm8gUHl0aG9uIERpc3R1dGlscyBtb2R1bGUgZGV0 ZWN0ZWQiCisJCWVycm9yICJObyBQeXRob24gRGlzdHV0aWxzIG1vZHVsZSBkZXRlY3RlZCBp biBzb3VyY2UgdHJlZSIKIAlmaQogCiAJZm9yIHZlciBpbiAke1BZVEhPTl9XSEVFTF9WRVJT SU9OUy8vOi8gfQogCWRvCiAJCVsgISAtZCBidWlsZC9saWIgXSB8fCBmaW5kIGJ1aWxkL2xp YiAtZGVsZXRlCi0JCSMgc2V0dXB0b29scy5sYXVuY2ggaW1wb3J0cyBzZXR1cHRvb2xzIGhv b2tzIHJlZ2FyZGxlcyBvZiBzZXR1cC5weQogCQlpZiBbICEgLWYgZGlzdC8qLXB5Mi5weTMq LW5vbmUtYW55LndobCAtYSAhIC1mIGRpc3QvKnB5JHt2ZXI6MDoxfS1ub25lLWFueS53aGwg XQogCQl0aGVuCi0JCQkvdXNyL2Jpbi9weXRob24ke3Zlcn0gLW1zZXR1cHRvb2xzLmxhdW5j aCBzZXR1cC5weSBiZGlzdF93aGVlbCAiJHtAfSIgfHwgZXJyb3IgInNldHVwLnB5IGJkaXN0 X3doZWVsIGZhaWxlZCIKKwkJCWlmIFsgISAtZSBzZXR1cC5weSBdCisJCQl0aGVuCisJCQkJ cGlwJHt2ZXJ9IHdoZWVsIC0tbm8tZGVwcyAtdyBkaXN0IC4gfHwgZXJyb3IgInBpcCR7dmVy fSB3aGVlbCBmYWlsZWQiCisJCQllbHNlCisJCQkJIyBzZXR1cHRvb2xzLmxhdW5jaCBpbXBv cnRzIHNldHVwdG9vbHMgaG9va3MgcmVnYXJkbGVzIG9mIHNldHVwLnB5CisJCQkJL3Vzci9i aW4vcHl0aG9uJHt2ZXJ9IC1tc2V0dXB0b29scy5sYXVuY2ggc2V0dXAucHkgYmRpc3Rfd2hl ZWwgIiR7QH0iIHx8IGVycm9yICJzZXR1cC5weSBiZGlzdF93aGVlbCBmYWlsZWQiCisJCQlm aQogCQlmaQogCWRvbmUKIH0KQEAgLTE3OCw5ICsxODQsOSBAQCBweXRob25fd2hlZWxfY29t cGlsZSgpIHsKIHB5dGhvbl93aGVlbF9pbnN0YWxsKCkgewogCWxvY2FsIHZlciB3aGwKIAot CWlmIFsgISAtZSBzZXR1cC5weSBdCisJaWYgWyAhIC1lIHNldHVwLnB5IF0gJiYgWyAhIC1l IHNldHVwLmNmZyBdCiAJdGhlbgotCQllcnJvciAiTm8gUHl0aG9uIERpc3R1dGlscyBtb2R1 bGUgZGV0ZWN0ZWQiCisJCWVycm9yICJObyBQeXRob24gRGlzdHV0aWxzIG1vZHVsZSBkZXRl Y3RlZCBpbiBzb3VyY2UgdHJlZSIKIAlmaQogCiAJZm9yIHZlciBpbiAke1BZVEhPTl9XSEVF TF9WRVJTSU9OUy8vOi8gfQotLSAKMi4zOC4xCgo= --------------FGkQxZqrDUyJ9r7chm5HIVdc--