On 12/06/2020 00:23, Ken Brown via Cygwin-apps wrote:
On 6/11/2020 5:39 PM, Jon Turney wrote:
[...]
--- shlibs.py~ 2018-02-11 23:15:03.000000000 +0000
+++ shlibs.py 2020-06-11 22:28:07.901294700 +0100
@@ -62,7 +62,7 @@
if platform.system() == 'Darwin':
pattern = "([^\s]*lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
elif platform.platform().startswith('CYGWIN'):
- pattern = "([^\s]*cyg*%s[^A-Za-z0-9_][^\s\(\)]*)"
+ pattern = "([^\s]*cyg%s[-.0-9]*\.[^\s\(\)]*)"
return re.compile(pattern % re.escape(library_name))
But this all seems very fragile though, so I'm not sure if that's the
right way to fix this.
(This 'if cygwin' case is coming from gobject-introspection package in
[1], it's not in upstream)
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/gobject-introspection.git;a=blob;f=1.46.0-cygwin.patch;h=a03271ea17e0d167eba7627ddf5d4303bbde9871;hb=4e3b8bd140db78ee35f29ee3d07ff3715416e259#l93
Thanks, Jon! Just as your mail came in, I was staring at the regex for
harfbuzz-gobject in shlibs.py, trying to understand why it wasn't
matched. It never occurred to me that the cygharfbuzz-gobject-0.dll
line in the ldd output was being used to match the regex for harfbuzz
rather than the one for harfbuzz-gobject. What a mess.
Yeah, I went around in circles on that a few times myself :)