Sun Mar 3 13:36:43 2019 UTC ()
dwm: fix build with older fontconfig
From and thanks to <maya> for patching it in x11/dmenu!
(leot)
diff -r1.16 -r1.17 pkgsrc/wm/dwm/distinfo
diff -r0 -r1.1 pkgsrc/wm/dwm/patches/patch-drw.c
--- pkgsrc/wm/dwm/distinfo 2019/02/03 22:03:41 1.16
+++ pkgsrc/wm/dwm/distinfo 2019/03/03 13:36:43 1.17
| @@ -1,6 +1,7 @@ | | | @@ -1,6 +1,7 @@ |
1 | $NetBSD: distinfo,v 1.16 2019/02/03 22:03:41 leot Exp $ | | 1 | $NetBSD: distinfo,v 1.17 2019/03/03 13:36:43 leot Exp $ |
2 | | | 2 | |
3 | SHA1 (dwm-6.2.tar.gz) = 3b73a7830b060f46cb9165ea951be7c08f6eae33 | | 3 | SHA1 (dwm-6.2.tar.gz) = 3b73a7830b060f46cb9165ea951be7c08f6eae33 |
4 | RMD160 (dwm-6.2.tar.gz) = 4b105f6a032f6e5db916b876c421f16e5f5ab6dc | | 4 | RMD160 (dwm-6.2.tar.gz) = 4b105f6a032f6e5db916b876c421f16e5f5ab6dc |
5 | SHA512 (dwm-6.2.tar.gz) = 01abcab954e5b7c20d011e6fd9c28025271fea2e85610c928812f7c6a09f99d7f9e93d11ffc2d6a7aca894b3fa7e507c6c2fe5f26ff5ddcfc650a9bbaaa41e06 | | 5 | SHA512 (dwm-6.2.tar.gz) = 01abcab954e5b7c20d011e6fd9c28025271fea2e85610c928812f7c6a09f99d7f9e93d11ffc2d6a7aca894b3fa7e507c6c2fe5f26ff5ddcfc650a9bbaaa41e06 |
6 | Size (dwm-6.2.tar.gz) = 25273 bytes | | 6 | Size (dwm-6.2.tar.gz) = 25273 bytes |
| | | 7 | SHA1 (patch-drw.c) = c391b7ac6f60cce02d63c09c8cfb23ec5d3d46ef |
$NetBSD: patch-drw.c,v 1.1 2019/03/03 13:36:43 leot Exp $
Workaround FC_COLOR not being available on fontconfig < 2.11.91
(NetBSD-8.0)
This is mostly code to reject colored fonts, so ifdef'ing it out is safe.
--- drw.c.orig 2019-02-02 12:55:02.000000000 +0000
+++ drw.c
@@ -139,11 +139,13 @@ xfont_create(Drw *drw, const char *fontn
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
* and lots more all over the internet.
*/
+#ifdef FC_COLOR
FcBool iscol;
if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
XftFontClose(drw->dpy, xfont);
return NULL;
}
+#endif
font = ecalloc(1, sizeof(Fnt));
font->xfont = xfont;
@@ -350,7 +352,9 @@ drw_text(Drw *drw, int x, int y, unsigne
fcpattern = FcPatternDuplicate(drw->fonts->pattern);
FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset);
FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue);
+#ifdef FC_COLOR
FcPatternAddBool(fcpattern, FC_COLOR, FcFalse);
+#endif
FcConfigSubstitute(NULL, fcpattern, FcMatchPattern);
FcDefaultSubstitute(fcpattern);