commit:     a61833f5e6dc1fba864725db8285d008eb797f12
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  3 21:36:27 2021 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun Jan  3 21:45:38 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a61833f5

app-misc/graphlcd-base: fix compilation with vnc

Closes: https://bugs.gentoo.org/762934
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 .../files/graphlcd-base-2.0.0-libvncserver.patch   | 17 ++++
 .../graphlcd-base/graphlcd-base-2.0.0-r2.ebuild    | 94 ++++++++++++++++++++++
 2 files changed, 111 insertions(+)

diff --git 
a/app-misc/graphlcd-base/files/graphlcd-base-2.0.0-libvncserver.patch 
b/app-misc/graphlcd-base/files/graphlcd-base-2.0.0-libvncserver.patch
new file mode 100644
index 00000000000..37b9c214098
--- /dev/null
+++ b/app-misc/graphlcd-base/files/graphlcd-base-2.0.0-libvncserver.patch
@@ -0,0 +1,17 @@
+--- a/glcddrivers/Makefile
++++ b/glcddrivers/Makefile
+@@ -43,11 +43,11 @@
+ endif
+ 
+ ifeq ($(HAVE_DRIVER_VNCSERVER), 1)
+-ifeq ($(shell libvncserver-config --version >/dev/null && echo 1), 1)
++ifeq ($(shell pkg-config --exists libvncserver && echo 1), 1)
+     DEFINES += -DHAVE_DRIVER_VNCSERVER
+     OBJS += vncserver.o
+-    INCLUDES += $(shell libvncserver-config --cflags)
+-    LIBS += $(shell libvncserver-config --libs)
++    INCLUDES += $(shell pkg-config --cflags libvncserver)
++    LIBS += $(shell pkg-config --libs libvncserver)
+ endif
+ endif
+ 

diff --git a/app-misc/graphlcd-base/graphlcd-base-2.0.0-r2.ebuild 
b/app-misc/graphlcd-base/graphlcd-base-2.0.0-r2.ebuild
new file mode 100644
index 00000000000..433f4f93638
--- /dev/null
+++ b/app-misc/graphlcd-base/graphlcd-base-2.0.0-r2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit optfeature toolchain-funcs udev
+
+DESCRIPTION="Contains the lowlevel lcd drivers for GraphLCD"
+HOMEPAGE="https://projects.vdr-developer.org/projects/graphlcd-base";
+SRC_URI="https://projects.vdr-developer.org/git/${PN}.git/snapshot/${P}.tar.bz2";
+
+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 )
+       lcd_devices_ax206dpf? ( virtual/libusb:0 )
+       lcd_devices_picolcd_256x64? ( virtual/libusb:0 )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( "HISTORY" "README" "TODO" "docs/." )
+
+PATCHES=(
+       "${FILESDIR}/${P}-libvncserver.patch"
+       "${FILESDIR}/${P}-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
+
+       # Fix newer GCC version with the Futaba MDM166A lcd driver
+       sed -e "s:0xff7f0004:(int) 0xff7f0004:" -i glcddrivers/futabaMDM166A.c 
|| die
+
+       tc-export CC CXX
+}
+
+src_configure() {
+       # Build optional drivers
+       if use lcd_devices_ax206dpf; then
+               sed -e "78s:#::" -i Make.config || die
+       fi
+       if use lcd_devices_picolcd_256x64; then
+               sed -e "81s:#::" -i Make.config || die
+       fi
+       if ! use lcd_devices_vnc; then
+               sed -e "72s:1:0:" -i Make.config || die
+       fi
+
+       # Build optional features
+       if ! use freetype; then
+               sed -e "59s: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
+       fi
+       if use imagemagick; then
+               sed -e "68s:#::" -i Make.config || die
+       fi
+}
+
+src_install() {
+       emake DESTDIR="${D}" UDEVRULESDIR="/lib/udev/rules.d" install
+
+       einstalldocs
+}
+
+pkg_postinst() {
+       udev_reload
+
+       optfeature "supporting the logitech g15 keyboard lcd." 
app-misc/g15daemon
+}
+
+pkg_postrm() {
+       udev_reload
+}

Reply via email to