Gentoo Archives: gentoo-commits

From: Conrad Kostecki <conikost@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/lcdproc/, app-misc/lcdproc/files/
Date: Mon, 11 May 2020 21:54:12
Message-Id: 1589234034.49ac6b2067ef13ec331862fb25937ee5f0128749.conikost@gentoo
1 commit: 49ac6b2067ef13ec331862fb25937ee5f0128749
2 Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 11 21:52:03 2020 +0000
4 Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
5 CommitDate: Mon May 11 21:53:54 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49ac6b20
7
8 app-misc/lcdproc: don't call directly ar
9
10 Closes: https://bugs.gentoo.org/722346
11 Package-Manager: Portage-2.3.99, Repoman-2.3.22
12 Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
13
14 .../lcdproc-0.5.9-respect-users-ldflags.patch | 25 +++
15 app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild | 233 +++++++++++++++++++++
16 2 files changed, 258 insertions(+)
17
18 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
19 new file mode 100644
20 index 00000000000..8b48d004410
21 --- /dev/null
22 +++ b/app-misc/lcdproc/files/lcdproc-0.5.9-respect-users-ldflags.patch
23 @@ -0,0 +1,25 @@
24 +From 28cca1d998fc9a74f16ea00e61c3eaa34017db7c Mon Sep 17 00:00:00 2001
25 +From: Conrad Kostecki <conrad@××××××××.com>
26 +Date: Mon, 11 May 2020 23:43:57 +0200
27 +Subject: [PATCH] Include AM_PROG_AR to use systems AR
28 +
29 +If AM_PROG_AR is not included,
30 +the 'ar' command is directly called.
31 +
32 +Signed-off-by: Conrad Kostecki <conrad@××××××××.com>
33 +---
34 + configure.ac | 1 +
35 + 1 file changed, 1 insertion(+)
36 +
37 +diff --git a/configure.ac b/configure.ac
38 +index 98a2fb1c..53f7bf50 100644
39 +--- a/configure.ac
40 ++++ b/configure.ac
41 +@@ -73,6 +73,7 @@ AC_PROG_CC_STDC
42 + AC_PROG_CPP
43 + AC_PROG_INSTALL
44 + AC_PROG_RANLIB
45 ++AM_PROG_AR
46 + AM_PROG_CC_C_O
47 + AC_PATH_PROG([XMLTO], [xmlto], [no])
48 +
49
50 diff --git a/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild b/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild
51 new file mode 100644
52 index 00000000000..e3149731d12
53 --- /dev/null
54 +++ b/app-misc/lcdproc/lcdproc-0.5.9-r1.ebuild
55 @@ -0,0 +1,233 @@
56 +# Copyright 1999-2020 Gentoo Authors
57 +# Distributed under the terms of the GNU General Public License v2
58 +
59 +EAPI=6
60 +
61 +inherit autotools systemd
62 +
63 +DESCRIPTION="Displays real-time system information from your Linux/*BSD box on a LCD"
64 +HOMEPAGE="http://www.lcdproc.org/"
65 +SRC_URI="
66 + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
67 + https://raw.githubusercontent.com/lcdproc/lcdproc/master/docs/lcdproc-user/drivers/linux_input.docbook
68 +"
69 +
70 +KEYWORDS="amd64 ppc ppc64 x86"
71 +LICENSE="GPL-2"
72 +SLOT="0"
73 +IUSE="debug doc ethlcd extra-charmaps freetype menu nfs png samba test-menu"
74 +REQUIRED_USE="
75 + ethlcd? ( lcd_devices_hd44780 )
76 + freetype? ( lcd_devices_glcd )
77 + png? ( lcd_devices_glcd )
78 +"
79 +
80 +# Define the list of valid lcd devices.
81 +# Some drivers were removed from this list:
82 +# - svga: It needs media-libs/svgalib, which is masked and obsolete.
83 +IUSE_LCD_DEVICES=(
84 + bayrad CFontz CFontzPacket curses CwLnx ea65
85 + EyeboxOne futaba g15 glcd glcdlib glk hd44780 i2500vfd
86 + icp_a106 imon imonlcd IOWarrior irman irtrans
87 + joy lb216 lcdm001 lcterm linux_input lirc lis MD8800 mdm166a
88 + ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD
89 + Olimex_MOD_LCD1x9 picolcd pyramid rawserial
90 + sdeclcd sed1330 sed1520 serialPOS serialVFD
91 + shuttleVFD sli stv5730 SureElec t6963 text
92 + tyan ula200 vlsys_m428 xosd yard2LCD
93 +)
94 +
95 +# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'
96 +REQUIRED_USE+=" || ( "
97 +for LCD_DEVICE in "${IUSE_LCD_DEVICES[@]}"; do
98 + LCD_DEVICE="${LCD_DEVICE,,}"
99 + IUSE+=" lcd_devices_${LCD_DEVICE} "
100 + REQUIRED_USE+=" lcd_devices_${LCD_DEVICE} "
101 +done
102 +REQUIRED_USE+=" ) "
103 +unset LCD_DEVICE
104 +
105 +# Define dependencies for all drivers in 'IUSE_LCD_DEVICES'
106 +DEPEND_LCD_DEVICES="
107 + lcd_devices_cfontz? ( dev-libs/libhid:= )
108 + lcd_devices_cfontzpacket? ( dev-libs/libhid:= )
109 + lcd_devices_cwlnx? ( dev-libs/libhid:= )
110 + lcd_devices_futaba? ( virtual/libusb:1= )
111 + lcd_devices_g15? (
112 + app-misc/g15daemon
113 + dev-libs/libg15render:=
114 + virtual/libusb:0=
115 + )
116 + lcd_devices_glcd? (
117 + app-misc/glcdprocdriver:=
118 + dev-embedded/libftdi:1=
119 + dev-libs/libhid:=
120 + dev-libs/serdisplib:=
121 + virtual/libusb:0=
122 + x11-libs/libX11:=
123 + )
124 + lcd_devices_hd44780? (
125 + dev-embedded/libftdi:1=
126 + dev-libs/libugpio:=
127 + virtual/libusb:0=
128 + )
129 + lcd_devices_i2500vfd? ( dev-embedded/libftdi:1= )
130 + lcd_devices_irman? ( media-libs/libirman:= )
131 + lcd_devices_iowarrior? ( virtual/libusb:0= )
132 + lcd_devices_lirc? ( app-misc/lirc )
133 + lcd_devices_lis? ( dev-embedded/libftdi:1= )
134 + lcd_devices_lb216? ( dev-libs/libhid:= )
135 + lcd_devices_mdm166a? ( dev-libs/libhid:= )
136 + lcd_devices_mtc_s16209x? ( dev-libs/libhid:= )
137 + lcd_devices_mx5000? ( app-misc/mx5000tools )
138 + lcd_devices_noritakevfd? ( dev-libs/libhid:= )
139 + lcd_devices_picolcd? ( virtual/libusb:1= )
140 + lcd_devices_shuttlevfd? ( virtual/libusb:0= )
141 + lcd_devices_ula200? ( dev-embedded/libftdi:1= )
142 + lcd_devices_xosd? (
143 + x11-libs/libX11:=
144 + x11-libs/xosd:=
145 + )
146 +"
147 +
148 +RDEPEND="${DEPEND_LCD_DEVICES}"
149 +DEPEND="
150 + ${RDEPEND}
151 + doc? (
152 + app-doc/doxygen[dot]
153 + app-text/xmlto
154 + )
155 + freetype? ( media-libs/freetype:2= )
156 + nfs? ( net-fs/nfs-utils )
157 + png? ( media-libs/libpng:0= )
158 + samba? ( net-fs/samba )
159 +"
160 +
161 +DOCS=( "CREDITS.md" "TODO" )
162 +
163 +PATCHES=(
164 + "${FILESDIR}/${P}-fix-fno-common-build.patch"
165 + "${FILESDIR}/${P}-fix-parallel-make.patch"
166 + "${FILESDIR}/${P}-respect-users-ldflags.patch"
167 + "${FILESDIR}/${P}-use-freetype2-pkg-config.patch"
168 +)
169 +
170 +src_unpack() {
171 + unpack ${P}.tar.gz
172 +
173 + # Copy missing docbook or the buildung of the lcdproc-user docbook will fail
174 + cp "${DISTDIR}"/linux_input.docbook "${S}"/docs/lcdproc-user/drivers/linux_input.docbook || die
175 +}
176 +
177 +src_prepare() {
178 + default
179 +
180 + # Fix path for modules
181 + sed -e "37s:server/drivers:/usr/$(get_libdir)/lcdproc:" -i LCDd.conf || die
182 +
183 + eautoreconf
184 +}
185 +
186 +src_configure() {
187 + # Enable all users enabled lcd devices
188 + local myeconfargs_lcd_devices
189 + for lcd_device in "${IUSE_LCD_DEVICES[@]}"; do
190 + if use "lcd_devices_${lcd_device,,}"; then
191 + myeconfargs_lcd_devices+=",${lcd_device}"
192 + fi
193 + done
194 +
195 + local enable_ftdi="--disable-libftdi"
196 + if use lcd_devices_glcd || use lcd_devices_hd44780 || use lcd_devices_i2500vfd || use lcd_devices_lis || use lcd_devices_ula200; then
197 + enable_ftdi="--enable-libftdi"
198 + fi
199 +
200 + local enable_hid="--disable-libhid"
201 + 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
202 + enable_hid="--enable-libhid"
203 + fi
204 +
205 + local enable_png="--disable-libpng"
206 + use lcd_devices_glcd && enable_png=""
207 +
208 + local enable_usb0="--disable-libusb"
209 + 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
210 + enable_usb0="--enable-libusb"
211 + fi
212 +
213 + local enable_usb1="--disable-libusb-1-0"
214 + if use lcd_devices_futaba || use lcd_devices_picolcd; then
215 + enable_usb1="--enable-libusb-1-0"
216 + fi
217 +
218 + local enable_x11="--disable-libX11"
219 + use lcd_devices_glcd && enable_x11="--enable-libX11"
220 +
221 + local myeconfargs=(
222 + --enable-drivers="${myeconfargs_lcd_devices#,}"
223 + $(use_enable debug)
224 + $(use_enable doc doxygen)
225 + $(use_enable doc dot)
226 + $(use_enable doc html-dox)
227 + $(use_enable doc latex-dox)
228 + $(use_enable ethlcd)
229 + $(use_enable extra-charmaps)
230 + $(use_enable freetype)
231 + $(use_enable menu lcdproc-menus)
232 + $(use_enable nfs stat-nfs)
233 + $(use_enable samba stat-smbfs)
234 + $(use_enable test-menu testmenus)
235 + ${enable_ftdi}
236 + ${enable_hid}
237 + ${enable_png}
238 + ${enable_usb0}
239 + ${enable_usb1}
240 + ${enable_x11}
241 + --with-lcdport="13666"
242 + --with-pidfile-dir="/run"
243 + --without-included-getopt
244 + )
245 +
246 + econf "${myeconfargs[@]}"
247 +}
248 +
249 +src_compile() {
250 + default
251 +
252 + if use doc; then
253 + emake dox
254 +
255 + local docbook
256 + for docbook in lcdproc-user lcdproc-dev; do
257 + cd "${S}"/docs/"${docbook}" || die
258 + xmlto html "${docbook}".docbook || die
259 + done
260 + fi
261 +}
262 +
263 +src_install() {
264 + default
265 +
266 + # Move example clients from '/usr/bin' into '/usr/share/lcdproc/clients'
267 + rm -f "${ED%/}"/usr/bin/{fortune,lcdident,lcdmetar,iosock,tail,x11amp}.pl || die
268 + insinto /usr/share/lcdproc/clients
269 + doins clients/examples/*.pl clients/metar/*.pl
270 +
271 + newinitd "${FILESDIR}"/LCDd.initd LCDd
272 + newinitd "${FILESDIR}"/lcdexec.initd lcdexec
273 + newinitd "${FILESDIR}"/lcdproc.initd lcdproc
274 +
275 + systemd_dounit "${FILESDIR}"/LCDd.service
276 + systemd_dounit "${FILESDIR}"/lcdexec.service
277 + systemd_dounit "${FILESDIR}"/lcdproc.service
278 +
279 + if use doc; then
280 + dodoc -r docs/html
281 +
282 + local docbook
283 + for docbook in lcdproc-user lcdproc-dev; do
284 + docinto "${docbook}"
285 + dodoc docs/"${docbook}"/*.html
286 + done
287 + fi
288 +}