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 :)

Reply via email to