diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2020-05-11 23:52:03 +0200 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2020-05-11 23:53:54 +0200 |
commit | 49ac6b2067ef13ec331862fb25937ee5f0128749 (patch) | |
tree | e989cbf4d13d1feeae31b8761978777b4a3333fd /app-misc/lcdproc | |
parent | app-misc/transfolio: drop old version (diff) | |
download | gentoo-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.patch | 25 | ||||
-rw-r--r-- | app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild | 233 |
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 +} |