summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2020-05-11 23:52:03 +0200
committerConrad Kostecki <conikost@gentoo.org>2020-05-11 23:53:54 +0200
commit49ac6b2067ef13ec331862fb25937ee5f0128749 (patch)
treee989cbf4d13d1feeae31b8761978777b4a3333fd /app-misc/lcdproc
parentapp-misc/transfolio: drop old version (diff)
downloadgentoo-49ac6b2067ef13ec331862fb25937ee5f0128749.tar.gz
gentoo-49ac6b2067ef13ec331862fb25937ee5f0128749.tar.bz2
gentoo-49ac6b2067ef13ec331862fb25937ee5f0128749.zip
app-misc/lcdproc: don't call directly ar
Closes: https://bugs.gentoo.org/722346 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'app-misc/lcdproc')
-rw-r--r--app-misc/lcdproc/files/lcdproc-0.5.9-respect-users-ldflags.patch25
-rw-r--r--app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild233
2 files changed, 258 insertions, 0 deletions
diff --git a/app-misc/lcdproc/files/lcdproc-0.5.9-respect-users-ldflags.patch b/app-misc/lcdproc/files/lcdproc-0.5.9-respect-users-ldflags.patch
new file mode 100644
index 000000000000..8b48d0044108
--- /dev/null
+++ b/app-misc/lcdproc/files/lcdproc-0.5.9-respect-users-ldflags.patch
@@ -0,0 +1,25 @@
+From 28cca1d998fc9a74f16ea00e61c3eaa34017db7c Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <conrad@kostecki.com>
+Date: Mon, 11 May 2020 23:43:57 +0200
+Subject: [PATCH] Include AM_PROG_AR to use systems AR
+
+If AM_PROG_AR is not included,
+the 'ar' command is directly called.
+
+Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 98a2fb1c..53f7bf50 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,6 +73,7 @@ AC_PROG_CC_STDC
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AM_PROG_AR
+ AM_PROG_CC_C_O
+ AC_PATH_PROG([XMLTO], [xmlto], [no])
+
diff --git a/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild b/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild
new file mode 100644
index 000000000000..e3149731d121
--- /dev/null
+++ b/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools systemd
+
+DESCRIPTION="Displays real-time system information from your Linux/*BSD box on a LCD"
+HOMEPAGE="http://www.lcdproc.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
+ https://raw.githubusercontent.com/lcdproc/lcdproc/master/docs/lcdproc-user/drivers/linux_input.docbook
+"
+
+KEYWORDS="amd64 ppc ppc64 x86"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug doc ethlcd extra-charmaps freetype menu nfs png samba test-menu"
+REQUIRED_USE="
+ ethlcd? ( lcd_devices_hd44780 )
+ freetype? ( lcd_devices_glcd )
+ png? ( lcd_devices_glcd )
+"
+
+# Define the list of valid lcd devices.
+# Some drivers were removed from this list:
+# - svga: It needs media-libs/svgalib, which is masked and obsolete.
+IUSE_LCD_DEVICES=(
+ bayrad CFontz CFontzPacket curses CwLnx ea65
+ EyeboxOne futaba g15 glcd glcdlib glk hd44780 i2500vfd
+ icp_a106 imon imonlcd IOWarrior irman irtrans
+ joy lb216 lcdm001 lcterm linux_input lirc lis MD8800 mdm166a
+ ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD
+ Olimex_MOD_LCD1x9 picolcd pyramid rawserial
+ sdeclcd sed1330 sed1520 serialPOS serialVFD
+ shuttleVFD sli stv5730 SureElec t6963 text
+ tyan ula200 vlsys_m428 xosd yard2LCD
+)
+
+# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'
+REQUIRED_USE+=" || ( "
+for LCD_DEVICE in "${IUSE_LCD_DEVICES[@]}"; do
+ LCD_DEVICE="${LCD_DEVICE,,}"
+ IUSE+=" lcd_devices_${LCD_DEVICE} "
+ REQUIRED_USE+=" lcd_devices_${LCD_DEVICE} "
+done
+REQUIRED_USE+=" ) "
+unset LCD_DEVICE
+
+# Define dependencies for all drivers in 'IUSE_LCD_DEVICES'
+DEPEND_LCD_DEVICES="
+ lcd_devices_cfontz? ( dev-libs/libhid:= )
+ lcd_devices_cfontzpacket? ( dev-libs/libhid:= )
+ lcd_devices_cwlnx? ( dev-libs/libhid:= )
+ lcd_devices_futaba? ( virtual/libusb:1= )
+ lcd_devices_g15? (
+ app-misc/g15daemon
+ dev-libs/libg15render:=
+ virtual/libusb:0=
+ )
+ lcd_devices_glcd? (
+ app-misc/glcdprocdriver:=
+ dev-embedded/libftdi:1=
+ dev-libs/libhid:=
+ dev-libs/serdisplib:=
+ virtual/libusb:0=
+ x11-libs/libX11:=
+ )
+ lcd_devices_hd44780? (
+ dev-embedded/libftdi:1=
+ dev-libs/libugpio:=
+ virtual/libusb:0=
+ )
+ lcd_devices_i2500vfd? ( dev-embedded/libftdi:1= )
+ lcd_devices_irman? ( media-libs/libirman:= )
+ lcd_devices_iowarrior? ( virtual/libusb:0= )
+ lcd_devices_lirc? ( app-misc/lirc )
+ lcd_devices_lis? ( dev-embedded/libftdi:1= )
+ lcd_devices_lb216? ( dev-libs/libhid:= )
+ lcd_devices_mdm166a? ( dev-libs/libhid:= )
+ lcd_devices_mtc_s16209x? ( dev-libs/libhid:= )
+ lcd_devices_mx5000? ( app-misc/mx5000tools )
+ lcd_devices_noritakevfd? ( dev-libs/libhid:= )
+ lcd_devices_picolcd? ( virtual/libusb:1= )
+ lcd_devices_shuttlevfd? ( virtual/libusb:0= )
+ lcd_devices_ula200? ( dev-embedded/libftdi:1= )
+ lcd_devices_xosd? (
+ x11-libs/libX11:=
+ x11-libs/xosd:=
+ )
+"
+
+RDEPEND="${DEPEND_LCD_DEVICES}"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ app-doc/doxygen[dot]
+ app-text/xmlto
+ )
+ freetype? ( media-libs/freetype:2= )
+ nfs? ( net-fs/nfs-utils )
+ png? ( media-libs/libpng:0= )
+ samba? ( net-fs/samba )
+"
+
+DOCS=( "CREDITS.md" "TODO" )
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-fno-common-build.patch"
+ "${FILESDIR}/${P}-fix-parallel-make.patch"
+ "${FILESDIR}/${P}-respect-users-ldflags.patch"
+ "${FILESDIR}/${P}-use-freetype2-pkg-config.patch"
+)
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ # Copy missing docbook or the buildung of the lcdproc-user docbook will fail
+ cp "${DISTDIR}"/linux_input.docbook "${S}"/docs/lcdproc-user/drivers/linux_input.docbook || die
+}
+
+src_prepare() {
+ default
+
+ # Fix path for modules
+ sed -e "37s:server/drivers:/usr/$(get_libdir)/lcdproc:" -i LCDd.conf || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Enable all users enabled lcd devices
+ local myeconfargs_lcd_devices
+ for lcd_device in "${IUSE_LCD_DEVICES[@]}"; do
+ if use "lcd_devices_${lcd_device,,}"; then
+ myeconfargs_lcd_devices+=",${lcd_device}"
+ fi
+ done
+
+ local enable_ftdi="--disable-libftdi"
+ if use lcd_devices_glcd || use lcd_devices_hd44780 || use lcd_devices_i2500vfd || use lcd_devices_lis || use lcd_devices_ula200; then
+ enable_ftdi="--enable-libftdi"
+ fi
+
+ local enable_hid="--disable-libhid"
+ if use lcd_devices_cfontz || use lcd_devices_cfontzpacket || use lcd_devices_cwlnx || use lcd_devices_glcd || use lcd_devices_lb216 || use lcd_devices_mdm166a || use lcd_devices_mtc_s16209x || use lcd_devices_noritakevfd; then
+ enable_hid="--enable-libhid"
+ fi
+
+ local enable_png="--disable-libpng"
+ use lcd_devices_glcd && enable_png=""
+
+ local enable_usb0="--disable-libusb"
+ if use lcd_devices_futaba || use lcd_devices_g15 || use lcd_devices_glcd || use lcd_devices_hd44780 || use lcd_devices_iowarrior || use lcd_devices_picolcd || use lcd_devices_shuttlevfd; then
+ enable_usb0="--enable-libusb"
+ fi
+
+ local enable_usb1="--disable-libusb-1-0"
+ if use lcd_devices_futaba || use lcd_devices_picolcd; then
+ enable_usb1="--enable-libusb-1-0"
+ fi
+
+ local enable_x11="--disable-libX11"
+ use lcd_devices_glcd && enable_x11="--enable-libX11"
+
+ local myeconfargs=(
+ --enable-drivers="${myeconfargs_lcd_devices#,}"
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable doc dot)
+ $(use_enable doc html-dox)
+ $(use_enable doc latex-dox)
+ $(use_enable ethlcd)
+ $(use_enable extra-charmaps)
+ $(use_enable freetype)
+ $(use_enable menu lcdproc-menus)
+ $(use_enable nfs stat-nfs)
+ $(use_enable samba stat-smbfs)
+ $(use_enable test-menu testmenus)
+ ${enable_ftdi}
+ ${enable_hid}
+ ${enable_png}
+ ${enable_usb0}
+ ${enable_usb1}
+ ${enable_x11}
+ --with-lcdport="13666"
+ --with-pidfile-dir="/run"
+ --without-included-getopt
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ emake dox
+
+ local docbook
+ for docbook in lcdproc-user lcdproc-dev; do
+ cd "${S}"/docs/"${docbook}" || die
+ xmlto html "${docbook}".docbook || die
+ done
+ fi
+}
+
+src_install() {
+ default
+
+ # Move example clients from '/usr/bin' into '/usr/share/lcdproc/clients'
+ rm -f "${ED%/}"/usr/bin/{fortune,lcdident,lcdmetar,iosock,tail,x11amp}.pl || die
+ insinto /usr/share/lcdproc/clients
+ doins clients/examples/*.pl clients/metar/*.pl
+
+ newinitd "${FILESDIR}"/LCDd.initd LCDd
+ newinitd "${FILESDIR}"/lcdexec.initd lcdexec
+ newinitd "${FILESDIR}"/lcdproc.initd lcdproc
+
+ systemd_dounit "${FILESDIR}"/LCDd.service
+ systemd_dounit "${FILESDIR}"/lcdexec.service
+ systemd_dounit "${FILESDIR}"/lcdproc.service
+
+ if use doc; then
+ dodoc -r docs/html
+
+ local docbook
+ for docbook in lcdproc-user lcdproc-dev; do
+ docinto "${docbook}"
+ dodoc docs/"${docbook}"/*.html
+ done
+ fi
+}