blob: 9fb47346044df16cebe56a37a541f41961a602ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit udev
DESCRIPTION="Library to drive several displays with built-in controllers or display modules"
HOMEPAGE="http://serdisplib.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 x86"
IUSE="threads tools"
# Define the list of valid lcd devices.
IUSE_LCD_DEVICES=(
acoolsdcm ddusbt directgfx displaylink framebuffer glcd2usb
goldelox i2c ks0108 l4m lc7981 lh155 nokcol pcd8544
remote rs232 sed133x sed153x sed156x ssdoled stv8105 t6963
)
# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'
IUSE+=" $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) "
REQUIRED_USE+="
|| ( $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) )
lcd_devices_framebuffer? ( threads )
"
# Specific drivers will need some features to be enabled
RDEPEND="
media-libs/gd[jpeg,png,tiff]
lcd_devices_acoolsdcm? ( virtual/libusb:1 )
lcd_devices_directgfx? ( media-libs/libsdl )
lcd_devices_displaylink? ( x11-libs/libdlo )
lcd_devices_glcd2usb? ( virtual/libusb:1 )
"
DEPEND="${RDEPEND}"
DOCS=( "AUTHORS" "BUGS" "DOCS" "HISTORY" "PINOUTS" "README" "TODO" )
PATCHES=( "${FILESDIR}/use-destdir.patch" "${FILESDIR}/disable-static-build.patch" )
src_prepare() {
default
# Fix Makefile, as it will fail, when USE="tools" is not set
if ! use tools; then
sed -i -e '/$(INSTALL_PROGRAM) $(PROGRAMS)/d' src/Makefile.in || die
fi
# Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
sed -i -e '/@LDFLAGS@/d' serdisplib.pc.in || die
}
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 use_usb="--disable-libusb"
if use lcd_devices_acoolsdcm || use lcd_devices_glcd2usb; then
use_usb="--enable-libusb"
fi
local myeconfargs=(
$(use_enable lcd_devices_directgfx libSDL)
$(use_enable lcd_devices_displaylink deprecated)
$(use_enable lcd_devices_displaylink libdlo)
$(use_enable lcd_devices_remote experimental)
$(use_enable threads pthread)
$(use_enable tools)
${use_usb}
--disable-dynloading
--disable-statictools
--with-drivers="${myeconfargs_lcd_devices#,}"
)
econf "${myeconfargs[@]}"
}
src_install() {
default
udev_dorules 90-libserdisp.rules
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}
|