summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/graphlcd-base')
-rw-r--r--app-misc/graphlcd-base/files/graphlcd-base-2.0.3-clang.patch63
-rw-r--r--app-misc/graphlcd-base/files/graphlcd-base-2.0.3-cpp.patch501
-rw-r--r--app-misc/graphlcd-base/files/graphlcd-base-2.0.3-imagemagick7.patch338
-rw-r--r--app-misc/graphlcd-base/files/graphlcd-base-2.0.3-musl.patch31
-rw-r--r--app-misc/graphlcd-base/graphlcd-base-2.0.3-r3.ebuild (renamed from app-misc/graphlcd-base/graphlcd-base-2.0.3.ebuild)40
5 files changed, 958 insertions, 15 deletions
diff --git a/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-clang.patch b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-clang.patch
new file mode 100644
index 000000000000..1a946a15cdc8
--- /dev/null
+++ b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-clang.patch
@@ -0,0 +1,63 @@
+From 6af42cb2d86aa8a86d25a61900cf664f50c4a41d Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conikost@gentoo.org>
+Date: Tue, 8 Nov 2022 22:31:38 +0100
+Subject: [PATCH] Drop Clang handling
+
+This drops the specific Clang handling, as it breaks linking with newer
+Clang versions. Instead, CC and CXX should be used as it is and clang++
+invoked.
+
+Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
+---
+ Make.config | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/Make.config b/Make.config
+index 4f90b4c..852e4da 100644
+--- a/Make.config
++++ b/Make.config
+@@ -12,18 +12,6 @@ CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual
+ #CXXFLAGS ?= -g -ggdb -O0 -Wall -Woverloaded-virtual
+ CXXFLAGS += -MMD -MP
+
+-# CXX set to clang++: force clang
+-ifeq ($(CXX),clang++)
+- CXX = clang
+-endif
+-
+-# set CXXEXTRA according to compiler that is used
+-ifeq ($(CXX),clang)
+- CXXEXTRA = -x c++ -Qunused-arguments
+-else
+- CXXEXTRA =
+-endif
+-
+ #LDFLAGS ?= -g -ggdb -O0
+
+ LDCONFIG = ldconfig
+From 0eee30128b40426f9b3c56cfefb3defc8a2ca923 Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conikost@gentoo.org>
+Date: Tue, 8 Nov 2022 22:48:26 +0100
+Subject: [PATCH] Add -std=c++2b to CXXFLAGS
+
+This fixes a warning, when using a newer clang version:
+extformats.cpp:26:2: warning: use of a '#elifdef' directive is a C++2b extension [-Wc++2b-extensions]
+
+Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
+---
+ Make.config | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Make.config b/Make.config
+index 852e4da..7cd4ae7 100644
+--- a/Make.config
++++ b/Make.config
+@@ -10,7 +10,7 @@ CXX ?= g++
+
+ CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual
+ #CXXFLAGS ?= -g -ggdb -O0 -Wall -Woverloaded-virtual
+-CXXFLAGS += -MMD -MP
++CXXFLAGS += -MMD -MP -std=c++2b
+
+ #LDFLAGS ?= -g -ggdb -O0
+
diff --git a/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-cpp.patch b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-cpp.patch
new file mode 100644
index 000000000000..6da1cb042ad4
--- /dev/null
+++ b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-cpp.patch
@@ -0,0 +1,501 @@
+From e301ff5d0d20a22270c26cd394fd1856ea600586 Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conikost@gentoo.org>
+Date: Tue, 8 Nov 2022 22:29:58 +0100
+Subject: [PATCH] Rename c files to cpp
+
+This fixes a warning with clang:
+warning: treating 'c' input as 'c++' when in C++ mode,
+this behavior is deprecated [-Wdeprecated]
+
+Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
+---
+ glcddrivers/Makefile | 2 +-
+ glcddrivers/{avrctl.c => avrctl.cpp} | 0
+ glcddrivers/{ax206dpf.c => ax206dpf.cpp} | 0
+ glcddrivers/{common.c => common.cpp} | 0
+ glcddrivers/{config.c => config.cpp} | 0
+ glcddrivers/{dm140gink.c => dm140gink.cpp} | 0
+ glcddrivers/{driver.c => driver.cpp} | 0
+ glcddrivers/{drivers.c => drivers.cpp} | 0
+ glcddrivers/{framebuffer.c => framebuffer.cpp} | 0
+ glcddrivers/{futabaMDM166A.c => futabaMDM166A.cpp} | 0
+ glcddrivers/{g15daemon.c => g15daemon.cpp} | 0
+ glcddrivers/{gu126x64D-K610A4.c => gu126x64D-K610A4.cpp} | 0
+ glcddrivers/{gu140x32f.c => gu140x32f.cpp} | 0
+ glcddrivers/{gu256x64-372.c => gu256x64-372.cpp} | 0
+ glcddrivers/{gu256x64-3900.c => gu256x64-3900.cpp} | 0
+ glcddrivers/{hd61830.c => hd61830.cpp} | 0
+ glcddrivers/{ili9341.c => ili9341.cpp} | 0
+ glcddrivers/{image.c => image.cpp} | 0
+ glcddrivers/{ks0108.c => ks0108.cpp} | 0
+ glcddrivers/{network.c => network.cpp} | 0
+ glcddrivers/{noritake800.c => noritake800.cpp} | 0
+ glcddrivers/{picoLCD_256x64.c => picoLCD_256x64.cpp} | 0
+ glcddrivers/{port.c => port.cpp} | 0
+ glcddrivers/{sed1330.c => sed1330.cpp} | 0
+ glcddrivers/{sed1520.c => sed1520.cpp} | 0
+ glcddrivers/{serdisp.c => serdisp.cpp} | 0
+ glcddrivers/{simlcd.c => simlcd.cpp} | 0
+ glcddrivers/{ssd1306.c => ssd1306.cpp} | 0
+ glcddrivers/{st7565r-reel.c => st7565r-reel.cpp} | 0
+ glcddrivers/{t6963c.c => t6963c.cpp} | 0
+ glcddrivers/{usbserlcd.c => usbserlcd.cpp} | 0
+ glcddrivers/{vncserver.c => vncserver.cpp} | 0
+ glcdgraphics/Makefile | 2 +-
+ glcdgraphics/{bitmap.c => bitmap.cpp} | 0
+ glcdgraphics/{common.c => common.cpp} | 0
+ glcdgraphics/{extformats.c => extformats.cpp} | 0
+ glcdgraphics/{font.c => font.cpp} | 0
+ glcdgraphics/{glcd.c => glcd.cpp} | 0
+ glcdgraphics/{image.c => image.cpp} | 0
+ glcdgraphics/{imagefile.c => imagefile.cpp} | 0
+ glcdgraphics/{pbm.c => pbm.cpp} | 0
+ glcdskin/Makefile | 2 +-
+ glcdskin/{cache.c => cache.cpp} | 0
+ glcdskin/{config.c => config.cpp} | 0
+ glcdskin/{display.c => display.cpp} | 0
+ glcdskin/{font.c => font.cpp} | 0
+ glcdskin/{function.c => function.cpp} | 0
+ glcdskin/{object.c => object.cpp} | 0
+ glcdskin/{parser.c => parser.cpp} | 0
+ glcdskin/{skin.c => skin.cpp} | 0
+ glcdskin/{string.c => string.cpp} | 0
+ glcdskin/{type.c => type.cpp} | 0
+ glcdskin/{variable.c => variable.cpp} | 0
+ glcdskin/{xml.c => xml.cpp} | 0
+ tools/convpic/Makefile | 2 +-
+ tools/convpic/{convpic.c => convpic.cpp} | 0
+ tools/crtfont/Makefile | 2 +-
+ tools/crtfont/{crtfont.c => crtfont.cpp} | 0
+ tools/genfont/Makefile | 2 +-
+ tools/genfont/{genfont.c => genfont.cpp} | 0
+ tools/lcdtestpattern/Makefile | 2 +-
+ tools/lcdtestpattern/{lcdtestpattern.c => lcdtestpattern.cpp} | 0
+ tools/showpic/Makefile | 2 +-
+ tools/showpic/{showpic.c => showpic.cpp} | 0
+ tools/showtext/Makefile | 2 +-
+ tools/showtext/{showtext.c => showtext.cpp} | 0
+ tools/skintest/Makefile | 2 +-
+ tools/skintest/{skintest.c => skintest.cpp} | 0
+ 68 files changed, 10 insertions(+), 10 deletions(-)
+ rename glcddrivers/{avrctl.c => avrctl.cpp} (100%)
+ rename glcddrivers/{ax206dpf.c => ax206dpf.cpp} (100%)
+ rename glcddrivers/{common.c => common.cpp} (100%)
+ rename glcddrivers/{config.c => config.cpp} (100%)
+ rename glcddrivers/{dm140gink.c => dm140gink.cpp} (100%)
+ rename glcddrivers/{driver.c => driver.cpp} (100%)
+ rename glcddrivers/{drivers.c => drivers.cpp} (100%)
+ rename glcddrivers/{framebuffer.c => framebuffer.cpp} (100%)
+ rename glcddrivers/{futabaMDM166A.c => futabaMDM166A.cpp} (100%)
+ rename glcddrivers/{g15daemon.c => g15daemon.cpp} (100%)
+ rename glcddrivers/{gu126x64D-K610A4.c => gu126x64D-K610A4.cpp} (100%)
+ rename glcddrivers/{gu140x32f.c => gu140x32f.cpp} (100%)
+ rename glcddrivers/{gu256x64-372.c => gu256x64-372.cpp} (100%)
+ rename glcddrivers/{gu256x64-3900.c => gu256x64-3900.cpp} (100%)
+ rename glcddrivers/{hd61830.c => hd61830.cpp} (100%)
+ rename glcddrivers/{ili9341.c => ili9341.cpp} (100%)
+ rename glcddrivers/{image.c => image.cpp} (100%)
+ rename glcddrivers/{ks0108.c => ks0108.cpp} (100%)
+ rename glcddrivers/{network.c => network.cpp} (100%)
+ rename glcddrivers/{noritake800.c => noritake800.cpp} (100%)
+ rename glcddrivers/{picoLCD_256x64.c => picoLCD_256x64.cpp} (100%)
+ rename glcddrivers/{port.c => port.cpp} (100%)
+ rename glcddrivers/{sed1330.c => sed1330.cpp} (100%)
+ rename glcddrivers/{sed1520.c => sed1520.cpp} (100%)
+ rename glcddrivers/{serdisp.c => serdisp.cpp} (100%)
+ rename glcddrivers/{simlcd.c => simlcd.cpp} (100%)
+ rename glcddrivers/{ssd1306.c => ssd1306.cpp} (100%)
+ rename glcddrivers/{st7565r-reel.c => st7565r-reel.cpp} (100%)
+ rename glcddrivers/{t6963c.c => t6963c.cpp} (100%)
+ rename glcddrivers/{usbserlcd.c => usbserlcd.cpp} (100%)
+ rename glcddrivers/{vncserver.c => vncserver.cpp} (100%)
+ rename glcdgraphics/{bitmap.c => bitmap.cpp} (100%)
+ rename glcdgraphics/{common.c => common.cpp} (100%)
+ rename glcdgraphics/{extformats.c => extformats.cpp} (100%)
+ rename glcdgraphics/{font.c => font.cpp} (100%)
+ rename glcdgraphics/{glcd.c => glcd.cpp} (100%)
+ rename glcdgraphics/{image.c => image.cpp} (100%)
+ rename glcdgraphics/{imagefile.c => imagefile.cpp} (100%)
+ rename glcdgraphics/{pbm.c => pbm.cpp} (100%)
+ rename glcdskin/{cache.c => cache.cpp} (100%)
+ rename glcdskin/{config.c => config.cpp} (100%)
+ rename glcdskin/{display.c => display.cpp} (100%)
+ rename glcdskin/{font.c => font.cpp} (100%)
+ rename glcdskin/{function.c => function.cpp} (100%)
+ rename glcdskin/{object.c => object.cpp} (100%)
+ rename glcdskin/{parser.c => parser.cpp} (100%)
+ rename glcdskin/{skin.c => skin.cpp} (100%)
+ rename glcdskin/{string.c => string.cpp} (100%)
+ rename glcdskin/{type.c => type.cpp} (100%)
+ rename glcdskin/{variable.c => variable.cpp} (100%)
+ rename glcdskin/{xml.c => xml.cpp} (100%)
+ rename tools/convpic/{convpic.c => convpic.cpp} (100%)
+ rename tools/crtfont/{crtfont.c => crtfont.cpp} (100%)
+ rename tools/genfont/{genfont.c => genfont.cpp} (100%)
+ rename tools/lcdtestpattern/{lcdtestpattern.c => lcdtestpattern.cpp} (100%)
+ rename tools/showpic/{showpic.c => showpic.cpp} (100%)
+ rename tools/showtext/{showtext.c => showtext.cpp} (100%)
+ rename tools/skintest/{skintest.c => skintest.cpp} (100%)
+
+diff --git a/glcddrivers/Makefile b/glcddrivers/Makefile
+index 49d0ee7..4672984 100644
+--- a/glcddrivers/Makefile
++++ b/glcddrivers/Makefile
+@@ -65,7 +65,7 @@ endif
+
+ ### Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/glcddrivers/avrctl.c b/glcddrivers/avrctl.cpp
+similarity index 100%
+rename from glcddrivers/avrctl.c
+rename to glcddrivers/avrctl.cpp
+diff --git a/glcddrivers/ax206dpf.c b/glcddrivers/ax206dpf.cpp
+similarity index 100%
+rename from glcddrivers/ax206dpf.c
+rename to glcddrivers/ax206dpf.cpp
+diff --git a/glcddrivers/common.c b/glcddrivers/common.cpp
+similarity index 100%
+rename from glcddrivers/common.c
+rename to glcddrivers/common.cpp
+diff --git a/glcddrivers/config.c b/glcddrivers/config.cpp
+similarity index 100%
+rename from glcddrivers/config.c
+rename to glcddrivers/config.cpp
+diff --git a/glcddrivers/dm140gink.c b/glcddrivers/dm140gink.cpp
+similarity index 100%
+rename from glcddrivers/dm140gink.c
+rename to glcddrivers/dm140gink.cpp
+diff --git a/glcddrivers/driver.c b/glcddrivers/driver.cpp
+similarity index 100%
+rename from glcddrivers/driver.c
+rename to glcddrivers/driver.cpp
+diff --git a/glcddrivers/drivers.c b/glcddrivers/drivers.cpp
+similarity index 100%
+rename from glcddrivers/drivers.c
+rename to glcddrivers/drivers.cpp
+diff --git a/glcddrivers/framebuffer.c b/glcddrivers/framebuffer.cpp
+similarity index 100%
+rename from glcddrivers/framebuffer.c
+rename to glcddrivers/framebuffer.cpp
+diff --git a/glcddrivers/futabaMDM166A.c b/glcddrivers/futabaMDM166A.cpp
+similarity index 100%
+rename from glcddrivers/futabaMDM166A.c
+rename to glcddrivers/futabaMDM166A.cpp
+diff --git a/glcddrivers/g15daemon.c b/glcddrivers/g15daemon.cpp
+similarity index 100%
+rename from glcddrivers/g15daemon.c
+rename to glcddrivers/g15daemon.cpp
+diff --git a/glcddrivers/gu126x64D-K610A4.c b/glcddrivers/gu126x64D-K610A4.cpp
+similarity index 100%
+rename from glcddrivers/gu126x64D-K610A4.c
+rename to glcddrivers/gu126x64D-K610A4.cpp
+diff --git a/glcddrivers/gu140x32f.c b/glcddrivers/gu140x32f.cpp
+similarity index 100%
+rename from glcddrivers/gu140x32f.c
+rename to glcddrivers/gu140x32f.cpp
+diff --git a/glcddrivers/gu256x64-372.c b/glcddrivers/gu256x64-372.cpp
+similarity index 100%
+rename from glcddrivers/gu256x64-372.c
+rename to glcddrivers/gu256x64-372.cpp
+diff --git a/glcddrivers/gu256x64-3900.c b/glcddrivers/gu256x64-3900.cpp
+similarity index 100%
+rename from glcddrivers/gu256x64-3900.c
+rename to glcddrivers/gu256x64-3900.cpp
+diff --git a/glcddrivers/hd61830.c b/glcddrivers/hd61830.cpp
+similarity index 100%
+rename from glcddrivers/hd61830.c
+rename to glcddrivers/hd61830.cpp
+diff --git a/glcddrivers/ili9341.c b/glcddrivers/ili9341.cpp
+similarity index 100%
+rename from glcddrivers/ili9341.c
+rename to glcddrivers/ili9341.cpp
+diff --git a/glcddrivers/image.c b/glcddrivers/image.cpp
+similarity index 100%
+rename from glcddrivers/image.c
+rename to glcddrivers/image.cpp
+diff --git a/glcddrivers/ks0108.c b/glcddrivers/ks0108.cpp
+similarity index 100%
+rename from glcddrivers/ks0108.c
+rename to glcddrivers/ks0108.cpp
+diff --git a/glcddrivers/network.c b/glcddrivers/network.cpp
+similarity index 100%
+rename from glcddrivers/network.c
+rename to glcddrivers/network.cpp
+diff --git a/glcddrivers/noritake800.c b/glcddrivers/noritake800.cpp
+similarity index 100%
+rename from glcddrivers/noritake800.c
+rename to glcddrivers/noritake800.cpp
+diff --git a/glcddrivers/picoLCD_256x64.c b/glcddrivers/picoLCD_256x64.cpp
+similarity index 100%
+rename from glcddrivers/picoLCD_256x64.c
+rename to glcddrivers/picoLCD_256x64.cpp
+diff --git a/glcddrivers/port.c b/glcddrivers/port.cpp
+similarity index 100%
+rename from glcddrivers/port.c
+rename to glcddrivers/port.cpp
+diff --git a/glcddrivers/sed1330.c b/glcddrivers/sed1330.cpp
+similarity index 100%
+rename from glcddrivers/sed1330.c
+rename to glcddrivers/sed1330.cpp
+diff --git a/glcddrivers/sed1520.c b/glcddrivers/sed1520.cpp
+similarity index 100%
+rename from glcddrivers/sed1520.c
+rename to glcddrivers/sed1520.cpp
+diff --git a/glcddrivers/serdisp.c b/glcddrivers/serdisp.cpp
+similarity index 100%
+rename from glcddrivers/serdisp.c
+rename to glcddrivers/serdisp.cpp
+diff --git a/glcddrivers/simlcd.c b/glcddrivers/simlcd.cpp
+similarity index 100%
+rename from glcddrivers/simlcd.c
+rename to glcddrivers/simlcd.cpp
+diff --git a/glcddrivers/ssd1306.c b/glcddrivers/ssd1306.cpp
+similarity index 100%
+rename from glcddrivers/ssd1306.c
+rename to glcddrivers/ssd1306.cpp
+diff --git a/glcddrivers/st7565r-reel.c b/glcddrivers/st7565r-reel.cpp
+similarity index 100%
+rename from glcddrivers/st7565r-reel.c
+rename to glcddrivers/st7565r-reel.cpp
+diff --git a/glcddrivers/t6963c.c b/glcddrivers/t6963c.cpp
+similarity index 100%
+rename from glcddrivers/t6963c.c
+rename to glcddrivers/t6963c.cpp
+diff --git a/glcddrivers/usbserlcd.c b/glcddrivers/usbserlcd.cpp
+similarity index 100%
+rename from glcddrivers/usbserlcd.c
+rename to glcddrivers/usbserlcd.cpp
+diff --git a/glcddrivers/vncserver.c b/glcddrivers/vncserver.cpp
+similarity index 100%
+rename from glcddrivers/vncserver.c
+rename to glcddrivers/vncserver.cpp
+diff --git a/glcdgraphics/Makefile b/glcdgraphics/Makefile
+index 92e2847..7638732 100644
+--- a/glcdgraphics/Makefile
++++ b/glcdgraphics/Makefile
+@@ -32,7 +32,7 @@ HEADERS = bitmap.h font.h glcd.h image.h imagefile.h pbm.h extformats.h
+
+ ### Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/glcdgraphics/bitmap.c b/glcdgraphics/bitmap.cpp
+similarity index 100%
+rename from glcdgraphics/bitmap.c
+rename to glcdgraphics/bitmap.cpp
+diff --git a/glcdgraphics/common.c b/glcdgraphics/common.cpp
+similarity index 100%
+rename from glcdgraphics/common.c
+rename to glcdgraphics/common.cpp
+diff --git a/glcdgraphics/extformats.c b/glcdgraphics/extformats.cpp
+similarity index 100%
+rename from glcdgraphics/extformats.c
+rename to glcdgraphics/extformats.cpp
+diff --git a/glcdgraphics/font.c b/glcdgraphics/font.cpp
+similarity index 100%
+rename from glcdgraphics/font.c
+rename to glcdgraphics/font.cpp
+diff --git a/glcdgraphics/glcd.c b/glcdgraphics/glcd.cpp
+similarity index 100%
+rename from glcdgraphics/glcd.c
+rename to glcdgraphics/glcd.cpp
+diff --git a/glcdgraphics/image.c b/glcdgraphics/image.cpp
+similarity index 100%
+rename from glcdgraphics/image.c
+rename to glcdgraphics/image.cpp
+diff --git a/glcdgraphics/imagefile.c b/glcdgraphics/imagefile.cpp
+similarity index 100%
+rename from glcdgraphics/imagefile.c
+rename to glcdgraphics/imagefile.cpp
+diff --git a/glcdgraphics/pbm.c b/glcdgraphics/pbm.cpp
+similarity index 100%
+rename from glcdgraphics/pbm.c
+rename to glcdgraphics/pbm.cpp
+diff --git a/glcdskin/Makefile b/glcdskin/Makefile
+index ec63d30..b0adc5c 100644
+--- a/glcdskin/Makefile
++++ b/glcdskin/Makefile
+@@ -29,7 +29,7 @@ endif
+
+ ### Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -I.. -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/glcdskin/cache.c b/glcdskin/cache.cpp
+similarity index 100%
+rename from glcdskin/cache.c
+rename to glcdskin/cache.cpp
+diff --git a/glcdskin/config.c b/glcdskin/config.cpp
+similarity index 100%
+rename from glcdskin/config.c
+rename to glcdskin/config.cpp
+diff --git a/glcdskin/display.c b/glcdskin/display.cpp
+similarity index 100%
+rename from glcdskin/display.c
+rename to glcdskin/display.cpp
+diff --git a/glcdskin/font.c b/glcdskin/font.cpp
+similarity index 100%
+rename from glcdskin/font.c
+rename to glcdskin/font.cpp
+diff --git a/glcdskin/function.c b/glcdskin/function.cpp
+similarity index 100%
+rename from glcdskin/function.c
+rename to glcdskin/function.cpp
+diff --git a/glcdskin/object.c b/glcdskin/object.cpp
+similarity index 100%
+rename from glcdskin/object.c
+rename to glcdskin/object.cpp
+diff --git a/glcdskin/parser.c b/glcdskin/parser.cpp
+similarity index 100%
+rename from glcdskin/parser.c
+rename to glcdskin/parser.cpp
+diff --git a/glcdskin/skin.c b/glcdskin/skin.cpp
+similarity index 100%
+rename from glcdskin/skin.c
+rename to glcdskin/skin.cpp
+diff --git a/glcdskin/string.c b/glcdskin/string.cpp
+similarity index 100%
+rename from glcdskin/string.c
+rename to glcdskin/string.cpp
+diff --git a/glcdskin/type.c b/glcdskin/type.cpp
+similarity index 100%
+rename from glcdskin/type.c
+rename to glcdskin/type.cpp
+diff --git a/glcdskin/variable.c b/glcdskin/variable.cpp
+similarity index 100%
+rename from glcdskin/variable.c
+rename to glcdskin/variable.cpp
+diff --git a/glcdskin/xml.c b/glcdskin/xml.cpp
+similarity index 100%
+rename from glcdskin/xml.c
+rename to glcdskin/xml.cpp
+diff --git a/tools/convpic/Makefile b/tools/convpic/Makefile
+index eb91742..1abbcb2 100644
+--- a/tools/convpic/Makefile
++++ b/tools/convpic/Makefile
+@@ -17,7 +17,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/convpic/convpic.c b/tools/convpic/convpic.cpp
+similarity index 100%
+rename from tools/convpic/convpic.c
+rename to tools/convpic/convpic.cpp
+diff --git a/tools/crtfont/Makefile b/tools/crtfont/Makefile
+index 614c135..0e4f51a 100644
+--- a/tools/crtfont/Makefile
++++ b/tools/crtfont/Makefile
+@@ -16,7 +16,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/crtfont/crtfont.c b/tools/crtfont/crtfont.cpp
+similarity index 100%
+rename from tools/crtfont/crtfont.c
+rename to tools/crtfont/crtfont.cpp
+diff --git a/tools/genfont/Makefile b/tools/genfont/Makefile
+index 1a68ad0..b79eb72 100644
+--- a/tools/genfont/Makefile
++++ b/tools/genfont/Makefile
+@@ -19,7 +19,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/genfont/genfont.c b/tools/genfont/genfont.cpp
+similarity index 100%
+rename from tools/genfont/genfont.c
+rename to tools/genfont/genfont.cpp
+diff --git a/tools/lcdtestpattern/Makefile b/tools/lcdtestpattern/Makefile
+index 29fe792..d219ff9 100644
+--- a/tools/lcdtestpattern/Makefile
++++ b/tools/lcdtestpattern/Makefile
+@@ -17,7 +17,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/lcdtestpattern/lcdtestpattern.c b/tools/lcdtestpattern/lcdtestpattern.cpp
+similarity index 100%
+rename from tools/lcdtestpattern/lcdtestpattern.c
+rename to tools/lcdtestpattern/lcdtestpattern.cpp
+diff --git a/tools/showpic/Makefile b/tools/showpic/Makefile
+index 967ecf9..660c5d1 100644
+--- a/tools/showpic/Makefile
++++ b/tools/showpic/Makefile
+@@ -17,7 +17,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/showpic/showpic.c b/tools/showpic/showpic.cpp
+similarity index 100%
+rename from tools/showpic/showpic.c
+rename to tools/showpic/showpic.cpp
+diff --git a/tools/showtext/Makefile b/tools/showtext/Makefile
+index 20b3381..d4692b8 100644
+--- a/tools/showtext/Makefile
++++ b/tools/showtext/Makefile
+@@ -17,7 +17,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/showtext/showtext.c b/tools/showtext/showtext.cpp
+similarity index 100%
+rename from tools/showtext/showtext.c
+rename to tools/showtext/showtext.cpp
+diff --git a/tools/skintest/Makefile b/tools/skintest/Makefile
+index 0c0f43e..634fc61 100644
+--- a/tools/skintest/Makefile
++++ b/tools/skintest/Makefile
+@@ -17,7 +17,7 @@ all: $(PRGNAME)
+
+ # Implicit rules:
+
+-%.o: %.c
++%.o: %.cpp
+ $(CXX) $(CXXEXTRA) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
+
+ # Dependencies:
+diff --git a/tools/skintest/skintest.c b/tools/skintest/skintest.cpp
+similarity index 100%
+rename from tools/skintest/skintest.c
+rename to tools/skintest/skintest.cpp
diff --git a/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-imagemagick7.patch b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-imagemagick7.patch
new file mode 100644
index 000000000000..f75b895e27e8
--- /dev/null
+++ b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-imagemagick7.patch
@@ -0,0 +1,338 @@
+From 5863f4aae667bce9242fe63f1afbd5b16ee23f1e Mon Sep 17 00:00:00 2001
+From: Manuel Reimer <manuel.reimer@gmx.de>
+Date: Sun, 17 Jul 2022 19:19:31 +0200
+Subject: [PATCH] Update ImageMagick library name
+
+ImageMagick++.pc was deleted back in 2012
+https://github.com/ImageMagick/ImageMagick/commit/ae2846b1c8c016382febb54ddea432f1aba57296
+---
+ glcdgraphics/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glcdgraphics/Makefile b/glcdgraphics/Makefile
+index 9d74477..cfb50de 100644
+--- a/glcdgraphics/Makefile
++++ b/glcdgraphics/Makefile
+@@ -49,8 +49,8 @@ endif
+ # two ifdef/endif are used because older installations may not support 'else ifdef'
+ ifeq ($(IMAGELIB), imagemagick)
+ DEFINES += -DHAVE_IMAGEMAGICK
+- INCLUDES += $(shell pkg-config --cflags ImageMagick++)
+- LIBS += $(shell pkg-config --libs ImageMagick++)
++ INCLUDES += $(shell pkg-config --cflags Magick++)
++ LIBS += $(shell pkg-config --libs Magick++)
+ endif
+ ifeq ($(IMAGELIB), graphicsmagick)
+ DEFINES += -DHAVE_IMAGEMAGICK # yep, really HAVE_IMAGEMAGICK here
+From 93108089cc05ffabc18d81ebc97d39feb7f2c56e Mon Sep 17 00:00:00 2001
+From: Manuel Reimer <manuel.reimer@gmx.de>
+Date: Sun, 24 Jul 2022 19:20:30 +0200
+Subject: [PATCH] Add ImageMagick 7 support. Fixes #3
+
+---
+ glcdgraphics/Makefile | 13 ++-
+ glcdgraphics/extformats.c | 186 ++++++++++++++++++--------------------
+ 2 files changed, 95 insertions(+), 104 deletions(-)
+
+diff --git a/glcdgraphics/Makefile b/glcdgraphics/Makefile
+index cfb50de..92e2847 100644
+--- a/glcdgraphics/Makefile
++++ b/glcdgraphics/Makefile
+@@ -12,6 +12,7 @@ ifdef HAVE_GRAPHICSMAGICK
+ endif
+ ifdef HAVE_IMAGEMAGICK
+ IMAGELIB = imagemagick
++ HAVE_IMAGEMAGICK_7 = $(shell pkg-config --atleast-version=7.0.0 MagickWand && echo true)
+ endif
+
+
+@@ -49,13 +50,17 @@ endif
+ # two ifdef/endif are used because older installations may not support 'else ifdef'
+ ifeq ($(IMAGELIB), imagemagick)
+ DEFINES += -DHAVE_IMAGEMAGICK
+- INCLUDES += $(shell pkg-config --cflags Magick++)
+- LIBS += $(shell pkg-config --libs Magick++)
++ INCLUDES += $(shell pkg-config --cflags MagickWand)
++ LIBS += $(shell pkg-config --libs MagickWand)
++ ifeq ($(HAVE_IMAGEMAGICK_7), true)
++ DEFINES += -DHAVE_IMAGEMAGICK_7
++ endif
+ endif
++
+ ifeq ($(IMAGELIB), graphicsmagick)
+ DEFINES += -DHAVE_IMAGEMAGICK # yep, really HAVE_IMAGEMAGICK here
+- INCLUDES += $(shell pkg-config --cflags GraphicsMagick++)
+- LIBS += $(shell pkg-config --libs GraphicsMagick++)
++ INCLUDES += $(shell pkg-config --cflags GraphicsMagickWand)
++ LIBS += $(shell pkg-config --libs GraphicsMagickWand)
+ endif
+
+
+diff --git a/glcdgraphics/extformats.cpp b/glcdgraphics/extformats.cpp
+index 5734fce..90441e6 100644
+--- a/glcdgraphics/extformats.cpp
++++ b/glcdgraphics/extformats.cpp
+@@ -21,11 +21,10 @@
+ #include "extformats.h"
+ #include "image.h"
+
+-#ifdef HAVE_IMAGEMAGICK
+-#include <Magick++.h>
+-//#elif defined(HAVE_IMLIB2)
+-//#include "quantize.h"
+-//#include <Imlib2.h>
++#ifdef HAVE_IMAGEMAGICK_7
++ #include <MagickWand/MagickWand.h>
++#elifdef HAVE_IMAGEMAGICK
++ #include <wand/magick_wand.h>
+ #endif
+
+
+@@ -37,9 +36,11 @@ using namespace std;
+
+ cExtFormatFile::cExtFormatFile()
+ {
+-#ifdef HAVE_IMAGEMAGICK
+- Magick::InitializeMagick(NULL);
+-#endif
++#ifdef HAVE_IMAGEMAGICK_7
++ MagickWandGenesis();
++#elifdef HAVE_IMAGEMAGICK
++ InitializeMagick(NULL);
++#endif
+ }
+
+ cExtFormatFile::~cExtFormatFile()
+@@ -56,118 +57,103 @@ bool cExtFormatFile::Load(cImage & image, const string & fileName)
+ bool cExtFormatFile::LoadScaled(cImage & image, const string & fileName, uint16_t & scalew, uint16_t & scaleh)
+ {
+ #ifdef HAVE_IMAGEMAGICK
+- std::vector<Magick::Image> extimages;
+- try {
+- uint16_t width = 0;
+- uint16_t height = 0;
+- //uint16_t count;
+- uint32_t delay;
+-
+- std::vector<Magick::Image>::iterator it;
+- readImages(&extimages, fileName);
+- if (extimages.size() == 0) {
+- syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s' (cExtFormatFile::LoadScaled)", fileName.c_str());
+- return false;
+- }
++ MagickWand* mw = NewMagickWand();
+
+- delay = (uint32_t)(extimages[0].animationDelay() * 10);
++ uint16_t width = 0;
++ uint16_t height = 0;
++ uint32_t delay;
++
++ if (MagickReadImage(mw, fileName.c_str()) == MagickFalse) {
++ syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s' (cExtFormatFile::LoadScaled)", fileName.c_str());
++ return false;
++ }
+
+- image.Clear();
+- image.SetDelay(delay);
++ delay = (uint32_t)(MagickGetImageDelay(mw) * 10);
+
+- bool firstImage = true;
++ image.Clear();
++ image.SetDelay(delay);
+
+- for (it = extimages.begin(); it != extimages.end(); ++it) {
+- bool ignoreImage = false;
++ for (unsigned long imageindex = 0; imageindex < MagickGetNumberImages(mw); imageindex++) {
+
+- //(*it).quantizeColorSpace( Magick::RGBColorspace );
+- //(*it).quantizeColors( 256*256*256 /*colors*/ );
+- //(*it).quantize();
++#ifdef HAVE_IMAGEMAGICK_7
++ MagickSetIteratorIndex(mw, imageindex);
++#else
++ MagickSetImageIndex(mw, imageindex);
++#endif
+
+- if (firstImage) {
+- width = (uint16_t)((*it).columns());
+- height = (uint16_t)((*it).rows());
+- firstImage = false;
++ bool ignoreImage = false;
+
+- // one out of scalew/h == 0 ? -> auto aspect ratio
+- if (scalew && ! scaleh) {
+- scaleh = (uint16_t)( ((uint32_t)scalew * (uint32_t)height) / (uint32_t)width );
+- } else if (!scalew && scaleh) {
+- scalew = (uint16_t)( ((uint32_t)scaleh * (uint32_t)width) / (uint32_t)height );
+- }
++ if (imageindex == 0) { // If first image
++ width = (uint16_t)MagickGetImageWidth(mw);
++ height = (uint16_t)MagickGetImageHeight(mw);
+
+- // scale image
+- if (scalew && ! (scalew == width && scaleh == height)) {
+- (*it).sample(Magick::Geometry(scalew, scaleh));
+- width = scalew;
+- height = scaleh;
+- } else {
+- // not scaled => reset to 0
+- scalew = 0;
+- scaleh = 0;
+- }
++ // one out of scalew/h == 0 ? -> auto aspect ratio
++ if (scalew && ! scaleh) {
++ scaleh = (uint16_t)( ((uint32_t)scalew * (uint32_t)height) / (uint32_t)width );
++ } else if (!scalew && scaleh) {
++ scalew = (uint16_t)( ((uint32_t)scaleh * (uint32_t)width) / (uint32_t)height );
++ }
+
+- image.SetWidth(width);
+- image.SetHeight(height);
++ // scale image
++ if (scalew && ! (scalew == width && scaleh == height)) {
++ MagickSampleImage(mw, scalew, scaleh);
++ width = scalew;
++ height = scaleh;
+ } else {
+- if (scalew && scaleh) {
+- (*it).sample(Magick::Geometry(scalew, scaleh));
+- } else
+- if ( (width != (uint16_t)((*it).columns())) || (height != (uint16_t)((*it).rows())) ) {
+- ignoreImage = true;
+- }
++ // not scaled => reset to 0
++ scalew = 0;
++ scaleh = 0;
+ }
+
+- if (! ignoreImage) {
+- /*
+- if ((*it).depth() > 8) {
+- esyslog("ERROR: text2skin: More than 8bpp images are not supported");
+- return false;
+- }
+- */
+- uint32_t * bmpdata = new uint32_t[height * width];
+- //Dprintf("this image has %d colors\n", (*it).totalColors());
++ image.SetWidth(width);
++ image.SetHeight(height);
++ } else {
++ if (scalew && scaleh) {
++ MagickSampleImage(mw, scalew, scaleh);
++ } else
++ if ( (width != (uint16_t)MagickGetImageWidth(mw)) || (height != (uint16_t)MagickGetImageHeight(mw)) ) {
++ ignoreImage = true;
++ }
++ }
+
+- bool isMatte = (*it).matte();
+- //bool isMonochrome = ((*it).totalColors() <= 2) ? true : false;
+- const Magick::PixelPacket *pix = (*it).getConstPixels(0, 0, (int)width, (int)height);
++ if (! ignoreImage) {
++ uint32_t * bmpdata = new uint32_t[height * width];
++
++#ifdef HAVE_IMAGEMAGICK_7
++ unsigned int status = MagickExportImagePixels(mw, 0, 0, width, height, "BGRA", CharPixel, (unsigned char*)bmpdata);
++#else
++ unsigned int status = MagickGetImagePixels(mw, 0, 0, width, height, "BGRA", CharPixel, (unsigned char*)bmpdata);
++#endif
++
++ if (status == MagickFalse) {
++ syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s' (cExtFormatFile::LoadScaled): MagickGetImagePixels", fileName.c_str());
++ return false;
++ }
+
++#ifdef HAVE_IMAGEMAGICK_7
++ bool isMatte = (MagickGetImageAlphaChannel(mw) == MagickTrue);
++#else
++ bool isMatte = (MagickGetImageMatte(mw) == MagickTrue);
++#endif
++
++ // Give all transparent pixels our defined transparent color
++ if (isMatte) {
+ for (int iy = 0; iy < (int)height; ++iy) {
+ for (int ix = 0; ix < (int)width; ++ix) {
+- if ( isMatte && Magick::Color::scaleQuantumToDouble(pix->opacity) * 255 == 255 ) {
+- bmpdata[iy*width+ix] = cColor::Transparent;
+- } else {
+- bmpdata[iy*width+ix] = (uint32_t)(
+- (uint32_t(255 - (Magick::Color::scaleQuantumToDouble(pix->opacity) * 255)) << 24) |
+- (uint32_t( Magick::Color::scaleQuantumToDouble(pix->red) * 255) << 16) |
+- (uint32_t( Magick::Color::scaleQuantumToDouble(pix->green) * 255) << 8) |
+- uint32_t( Magick::Color::scaleQuantumToDouble(pix->blue) * 255)
+- );
+- //if ( isMonochrome ) { // if is monochrome: exchange black and white
+- // uint32_t c = bmpdata[iy*width+ix];
+- // switch(c) {
+- // case cColor::White: c = cColor::Black; break;
+- // case cColor::Black: c = cColor::White; break;
+- // }
+- // bmpdata[iy*width+ix] = c;
+- //}
+- }
+- ++pix;
++ uint32_t* pixel = &bmpdata[ix+iy*width];
++ uint8_t alpha = *pixel >> 24;
++ if (alpha == 0)
++ *pixel = cColor::Transparent;
+ }
+ }
+- cBitmap * b = new cBitmap(width, height, bmpdata);
+- //b->SetMonochrome(isMonochrome);
+- image.AddBitmap(b);
+- delete[] bmpdata;
+- bmpdata = NULL;
+ }
++
++ cBitmap * b = new cBitmap(width, height, bmpdata);
++ //b->SetMonochrome(isMonochrome);
++ image.AddBitmap(b);
++ delete[] bmpdata;
++ bmpdata = NULL;
+ }
+- } catch (Magick::Exception &e) {
+- syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s': %s (cExtFormatFile::LoadScaled)", fileName.c_str(), e.what());
+- return false;
+- } catch (...) {
+- syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s': Unknown exception caught (cExtFormatFile::LoadScaled)", fileName.c_str());
+- return false;
+ }
+ return true;
+ #else
+From ad6496557a817a57cb29f2247ffaeaaa71168c72 Mon Sep 17 00:00:00 2001
+From: Manuel Reimer <manuel.reimer@gmx.de>
+Date: Sun, 24 Jul 2022 19:39:59 +0200
+Subject: [PATCH] Add cleanup for MagickWand
+
+---
+ glcdgraphics/extformats.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/glcdgraphics/extformats.cpp b/glcdgraphics/extformats.cpp
+index 90441e6..79d14da 100644
+--- a/glcdgraphics/extformats.cpp
++++ b/glcdgraphics/extformats.cpp
+@@ -65,6 +65,7 @@ bool cExtFormatFile::LoadScaled(cImage & image, const string & fileName, uint16_
+
+ if (MagickReadImage(mw, fileName.c_str()) == MagickFalse) {
+ syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s' (cExtFormatFile::LoadScaled)", fileName.c_str());
++ DestroyMagickWand(mw);
+ return false;
+ }
+
+@@ -127,6 +128,7 @@ bool cExtFormatFile::LoadScaled(cImage & image, const string & fileName, uint16_
+
+ if (status == MagickFalse) {
+ syslog(LOG_ERR, "glcdgraphics: Couldn't load '%s' (cExtFormatFile::LoadScaled): MagickGetImagePixels", fileName.c_str());
++ DestroyMagickWand(mw);
+ return false;
+ }
+
+@@ -155,6 +157,7 @@ bool cExtFormatFile::LoadScaled(cImage & image, const string & fileName, uint16_
+ bmpdata = NULL;
+ }
+ }
++ DestroyMagickWand(mw);
+ return true;
+ #else
+ return false;
diff --git a/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-musl.patch b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-musl.patch
new file mode 100644
index 000000000000..927d48071520
--- /dev/null
+++ b/app-misc/graphlcd-base/files/graphlcd-base-2.0.3-musl.patch
@@ -0,0 +1,31 @@
+From dd01f3be61f4d3e7078e06b759a890dcf33c2268 Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conikost@gentoo.org>
+Date: Thu, 10 Nov 2022 23:53:40 +0100
+Subject: [PATCH] Fix compilation with >=GCC-12 and Musl
+
+This will fix a compiling failure:
+g++ -O2 -pipe -MMD -MP -MMD -MP -fPIC -I.. -c -D_GNU_SOURCE skin.c
+In file included from config.c:2:
+type.h:48:17: error: expected ')' before 'Number'
+ 48 | cType(time_t Number): mType(number), mNumber(Number), mUpdateIn(0) {}
+ | ~ ^~~~~~~
+ | )
+
+Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
+---
+ glcdskin/type.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/glcdskin/type.h b/glcdskin/type.h
+index 4d54de8..350fa5f 100644
+--- a/glcdskin/type.h
++++ b/glcdskin/type.h
+@@ -19,6 +19,8 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+
++#include <time.h>
++
+ namespace GLCD
+ {
+
diff --git a/app-misc/graphlcd-base/graphlcd-base-2.0.3.ebuild b/app-misc/graphlcd-base/graphlcd-base-2.0.3-r3.ebuild
index 428b379d979a..785f2ca47f73 100644
--- a/app-misc/graphlcd-base/graphlcd-base-2.0.3.ebuild
+++ b/app-misc/graphlcd-base/graphlcd-base-2.0.3-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,15 +13,16 @@ KEYWORDS="amd64 x86"
SLOT="0"
LICENSE="GPL-2"
IUSE="fontconfig freetype graphicsmagick imagemagick lcd_devices_ax206dpf lcd_devices_picolcd_256x64 lcd_devices_vnc"
-REQUIRED_USE="?? ( graphicsmagick imagemagick )"
RDEPEND="
dev-libs/libhid
net-libs/libvncserver
freetype? ( media-libs/freetype:2= )
fontconfig? ( media-libs/fontconfig:1.0= )
- graphicsmagick? ( media-gfx/graphicsmagick:0/1.3[cxx] )
- imagemagick? ( <media-gfx/imagemagick-7 )
+ imagemagick? (
+ !graphicsmagick? ( media-gfx/imagemagick:= )
+ graphicsmagick? ( media-gfx/graphicsmagick:0/1.3[cxx] )
+ )
lcd_devices_ax206dpf? ( virtual/libusb:0 )
lcd_devices_picolcd_256x64? ( virtual/libusb:0 )
"
@@ -32,15 +33,22 @@ BDEPEND="virtual/pkgconfig"
DOCS=( "HISTORY" "README" "TODO" "docs/." )
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.3-clang.patch"
+ "${FILESDIR}/${PN}-2.0.3-cpp.patch"
+ "${FILESDIR}/${PN}-2.0.3-imagemagick7.patch"
+ "${FILESDIR}/${PN}-2.0.3-musl.patch"
+)
+
src_prepare() {
default
# Change '/usr/local/' to '/usr'
# Change '/usr/lib' to '/usr/$(get_libdir)'
- sed -e "34s:/usr/local:/usr:" -e "37s:/lib:/$(get_libdir):" -i Make.config || die
+ sed -e "22s:/usr/local:/usr:" -e "25s:/lib:/$(get_libdir):" -i Make.config || die
# Fix newer GCC version with the Futaba MDM166A lcd driver
- sed -e "s:0xff7f0004:(int) 0xff7f0004:" -i glcddrivers/futabaMDM166A.c || die
+ sed -e "s:0xff7f0004:(int) 0xff7f0004:" -i glcddrivers/futabaMDM166A.cpp || die
tc-export CC CXX
}
@@ -48,27 +56,29 @@ src_prepare() {
src_configure() {
# Build optional drivers
if use lcd_devices_ax206dpf; then
- sed -e "78s:#::" -i Make.config || die
+ sed -e "66s:#::" -i Make.config || die
fi
if use lcd_devices_picolcd_256x64; then
- sed -e "81s:#::" -i Make.config || die
+ sed -e "69s:#::" -i Make.config || die
fi
if ! use lcd_devices_vnc; then
- sed -e "72s:1:0:" -i Make.config || die
+ sed -e "60s:1:0:" -i Make.config || die
fi
# Build optional features
if ! use freetype; then
- sed -e "59s:HAVE:#HAVE:" -i Make.config || die
+ sed -e "47s:HAVE:#HAVE:" -i Make.config || die
fi
if ! use fontconfig; then
- sed -e "62s:HAVE:#HAVE:" -i Make.config || die
- fi
- if use graphicsmagick; then
- sed -e "69s:#::" -i Make.config || die
+ sed -e "50s:HAVE:#HAVE:" -i Make.config || die
fi
+
if use imagemagick; then
- sed -e "68s:#::" -i Make.config || die
+ if use graphicsmagick; then
+ sed -e "57s:#::" -i Make.config || die
+ else
+ sed -e "56s:#::" -i Make.config || die
+ fi
fi
}