fontconfig: compile with meson
[feed/packages.git] / utils / fontconfig / patches / 010-Handle-absolute-sysconfdir-when-installing-symlinks.patch
diff --git a/utils/fontconfig/patches/010-Handle-absolute-sysconfdir-when-installing-symlinks.patch b/utils/fontconfig/patches/010-Handle-absolute-sysconfdir-when-installing-symlinks.patch
new file mode 100644 (file)
index 0000000..e937c95
--- /dev/null
@@ -0,0 +1,32 @@
+From 4e42925096e97f4a6c9d09f475de7eb54a226668 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Thu, 3 Dec 2020 21:04:26 +0100
+Subject: [PATCH] Handle absolute sysconfdir when installing symlinks
+
+sysconfdir defaults to /etc when the prefix is set to /usr. But joining
+MESON_INSTALL_DESTDIR_PREFIX and sysconfdir when the latter is an
+absoulte path, results in sysconfdir only. Which might lead to an error
+during install because /etc/fonts/conf.d/ might already exist from an
+pre-existing fontconfig installation.
+---
+ conf.d/link_confs.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/conf.d/link_confs.py
++++ b/conf.d/link_confs.py
+@@ -11,7 +11,14 @@ if __name__=='__main__':
+     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)