File fontconfig-2.13.93-links-destdir-support.patch of Package mingw32-fontconfig
--- fontconfig-2.13.93/conf.d/link_confs.py.orig 2022-03-22 20:24:16.679427773 +0100
+++ fontconfig-2.13.93/conf.d/link_confs.py 2022-03-22 20:24:29.447397982 +0100
@@ -3,6 +3,7 @@
import os
import sys
import argparse
+import platform
if __name__=='__main__':
parser = argparse.ArgumentParser()
@@ -11,7 +12,14 @@
parser.add_argument('links', nargs='+')
args = parser.parse_args()
- confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
+ if os.path.isabs(args.confpath):
+ destdir = os.environ.get('DESTDIR')
+ if destdir:
+ confpath = os.path.join(destdir, args.confpath[1:])
+ else:
+ confpath = args.confpath
+ else:
+ confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
if not os.path.exists(confpath):
os.makedirs(confpath)
@@ -20,14 +28,16 @@
src = os.path.join(args.availpath, link)
dst = os.path.join(confpath, link)
try:
+ os.remove(dst)
+ except FileNotFoundError:
+ pass
+ try:
os.symlink(src, dst)
except NotImplementedError:
# Not supported on this version of Windows
break
except OSError as e:
# Symlink privileges are not available
- if len(e.args) == 1 and 'privilege' in e.args[0]:
+ if platform.system().lower() == 'windows' and e.winerror == 1314:
break
raise
- except FileExistsError:
- pass