summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleot <leot@pkgsrc.org>2019-03-03 13:36:43 +0000
committerleot <leot@pkgsrc.org>2019-03-03 13:36:43 +0000
commit49023087916ac10a3634de5ff770b156d8501dbd (patch)
tree35fc20b221b892859e0e4d5a62a68bed6ef4ff60
parent5531a330eac6b4341d3b90a143290c204b930cae (diff)
downloadpkgsrc-49023087916ac10a3634de5ff770b156d8501dbd.tar.gz
dwm: fix build with older fontconfig
From and thanks to <maya> for patching it in x11/dmenu!
-rw-r--r--wm/dwm/distinfo3
-rw-r--r--wm/dwm/patches/patch-drw.c33
2 files changed, 35 insertions, 1 deletions
diff --git a/wm/dwm/distinfo b/wm/dwm/distinfo
index 298316c9b95..49d13524ea5 100644
--- a/wm/dwm/distinfo
+++ b/wm/dwm/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.16 2019/02/03 22:03:41 leot Exp $
+$NetBSD: distinfo,v 1.17 2019/03/03 13:36:43 leot Exp $
SHA1 (dwm-6.2.tar.gz) = 3b73a7830b060f46cb9165ea951be7c08f6eae33
RMD160 (dwm-6.2.tar.gz) = 4b105f6a032f6e5db916b876c421f16e5f5ab6dc
SHA512 (dwm-6.2.tar.gz) = 01abcab954e5b7c20d011e6fd9c28025271fea2e85610c928812f7c6a09f99d7f9e93d11ffc2d6a7aca894b3fa7e507c6c2fe5f26ff5ddcfc650a9bbaaa41e06
Size (dwm-6.2.tar.gz) = 25273 bytes
+SHA1 (patch-drw.c) = c391b7ac6f60cce02d63c09c8cfb23ec5d3d46ef
diff --git a/wm/dwm/patches/patch-drw.c b/wm/dwm/patches/patch-drw.c
new file mode 100644
index 00000000000..edc73c147de
--- /dev/null
+++ b/wm/dwm/patches/patch-drw.c
@@ -0,0 +1,33 @@
+$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);