<pre style='margin:0'>
Andrew Stromnov (stromnov) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3b638333319932f15d738f6da50e10d92f3f7264">https://github.com/macports/macports-ports/commit/3b638333319932f15d738f6da50e10d92f3f7264</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 3b638333319 py-magic: update patchfile
</span>3b638333319 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3b638333319932f15d738f6da50e10d92f3f7264
</span>Author: Andrey Stromnov <stromnov@macports.org>
AuthorDate: Fri Mar 19 19:45:28 2021 +0300

<span style='display:block; white-space:pre;color:#404040;'>    py-magic: update patchfile
</span>---
 python/py-magic/files/magic_loader.py | 37 +++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-magic/files/magic_loader.py b/python/py-magic/files/magic_loader.py
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b95c07f54bc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-magic/files/magic_loader.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,37 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import ctypes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import glob
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+def load_lib():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  libmagic = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  # Let's try to find magic or magic1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  dll = ctypes.util.find_library('magic') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        or ctypes.util.find_library('magic1') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        or ctypes.util.find_library('cygmagic-1') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        or ctypes.util.find_library('libmagic-1') \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        or ctypes.util.find_library('msys-magic-1')  # for MSYS2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  # necessary because find_library returns None if it doesn't find the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if dll:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      libmagic = ctypes.CDLL(dll)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if not libmagic or not libmagic._name:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      windows_dlls = ['magic1.dll', 'cygmagic-1.dll', 'libmagic-1.dll', 'msys-magic-1.dll']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      platform_to_lib = {'darwin': ['__PREFIX__/lib/libmagic.dylib'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        'win32': windows_dlls,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        'cygwin': windows_dlls,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        'linux': ['libmagic.so.1'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        # fallback for some Linuxes (e.g. Alpine) where library search does not work # flake8:noqa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      platform = 'linux' if sys.platform.startswith('linux') else sys.platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      for dll in platform_to_lib.get(platform, []):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              libmagic = ctypes.CDLL(dll)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          except OSError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if not libmagic or not libmagic._name:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      # It is better to raise an ImportError since we are importing magic module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      raise ImportError('failed to find libmagic.  Check your installation')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return libmagic
</span></pre><pre style='margin:0'>

</pre>