summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/serdisplib')
-rw-r--r--dev-libs/serdisplib/Manifest1
-rw-r--r--dev-libs/serdisplib/files/disable-static-build.patch84
-rw-r--r--dev-libs/serdisplib/files/use-destdir.patch84
-rw-r--r--dev-libs/serdisplib/metadata.xml21
-rw-r--r--dev-libs/serdisplib/serdisplib-2.01.ebuild92
5 files changed, 277 insertions, 5 deletions
diff --git a/dev-libs/serdisplib/Manifest b/dev-libs/serdisplib/Manifest
index 7e8e79a35b59..569cc795a748 100644
--- a/dev-libs/serdisplib/Manifest
+++ b/dev-libs/serdisplib/Manifest
@@ -1 +1,2 @@
DIST serdisplib-1.97.9.tar.gz 293190 BLAKE2B f11406acaedb724d51266510d10f5cbae7e3bf1a69e3378ed8a0f8c4551336e3d662eb104ccc938f72821aec3406e1eed27754c990e17940d8dbe7dd8c5d6805 SHA512 ab45202fd1fd85b12f1ebf7a7e1a4575ad363f6faffd45949300840456e26dd521c70b67ff57c32e1ff6c0a9f2668b3be6a653afb57ba6da701fbae6e8db3118
+DIST serdisplib-2.01.tar.gz 472998 BLAKE2B 7ee78703d1d2cb4172e44db443825dd0fb3080284e832c60a102b853a1df6e0812a30a40504b8eb3e5ecda83f57138d78b43c3c40b8e4efabb7071eff7ad1b3e SHA512 0474cce4353edb3640d8432272905859e90efe6140e6791c84e1cb51df7f533734a9c78447d8d8448a70e62dda6d65061bbcc515ee346354825029874ae5e9a9
diff --git a/dev-libs/serdisplib/files/disable-static-build.patch b/dev-libs/serdisplib/files/disable-static-build.patch
new file mode 100644
index 000000000000..6364650a8207
--- /dev/null
+++ b/dev-libs/serdisplib/files/disable-static-build.patch
@@ -0,0 +1,84 @@
+--- a/server/Makefile.in 2018-05-15 21:52:38.966823295 +0200
++++ b/server/Makefile.in 2018-05-15 21:58:27.137821967 +0200
+@@ -83,13 +83,13 @@
+ .c.o:
+ $(CC) $(CFLAGS) $(DEFINES) -c $(INCLUDES) $<
+
+-serdispd: $(LIB_DIR)/$(LIB_STATIC) $(SDISPDOBJECTS)
++serdispd: $(LIB_DIR)/$(LIB_SHARED) $(SDISPDOBJECTS)
+ $(CC) -o $@ $(SDISPDOBJECTS) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+-serdisplearn: $(LIB_DIR)/$(LIB_STATIC) $(SLEARNOBJECTS)
++serdisplearn: $(LIB_DIR)/$(LIB_SHARED) $(SLEARNOBJECTS)
+ $(CC) -o $@ $(SLEARNOBJECTS) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+-serdispproxy: $(LIB_DIR)/$(LIB_STATIC) $(SPROXYOBJECTS)
++serdispproxy: $(LIB_DIR)/$(LIB_SHARED) $(SPROXYOBJECTS)
+ $(CC) -o $@ $(SPROXYOBJECTS) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+
+--- a/src/Makefile.in 2018-05-15 22:09:10.087118208 +0200
++++ b/src/Makefile.in 2018-05-15 22:11:22.224117704 +0200
+@@ -167,7 +167,7 @@
+
+ all: libraries programs
+
+-libraries: library.static library.shared
++libraries: library.shared
+
+ library.static: $(LIB_DIR)/$(LIB_STATIC)
+
+@@ -188,7 +188,7 @@
+ cd $(LIB_DIR) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR)
+ cd $(LIB_DIR) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so
+
+-testserdisp: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
++testserdisp: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
+ $(CC) -o testserdisp $(OBJECTS) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+ clean:
+@@ -198,7 +198,7 @@
+ distclean: clean
+ /bin/rm -f Makefile
+
+-install: $(LIB_DIR)/$(LIB_SHARED) $(LIB_DIR)/$(LIB_STATIC)
++install: $(LIB_DIR)/$(LIB_SHARED)
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
+@@ -206,7 +206,6 @@
+
+ $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir)/
+ $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHARED) $(DESTDIR)$(libdir)/
+- $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STATIC) $(DESTDIR)$(libdir)/
+ list='$(LIB_HEADERFILES)'; \
+ for headerfile in $$list; do \
+ $(INSTALL_DATA) ../include/serdisplib/$$headerfile $(DESTDIR)$(includedir)/serdisplib/ ; \
+--- a/tools/Makefile.in 2018-05-15 21:53:01.042823211 +0200
++++ b/tools/Makefile.in 2018-05-15 21:59:45.142821669 +0200
+@@ -130,19 +130,19 @@
+ .c.o:
+ $(CC) $(CFLAGS) $(DEFINES) -c $(INCLUDES) $<
+
+-multidisplay: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
++multidisplay: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
+ $(CC) -o multidisplay $(OBJ_MULTIDISPLAY) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC) $(EXTRA_LIBS)
+
+-l4m132c_tool: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
++l4m132c_tool: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
+ $(CC) -o l4m132c_tool $(OBJ_L4M132C_TOOL) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+-sdcmegtron_tool: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
++sdcmegtron_tool: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
+ $(CC) -o sdcmegtron_tool $(OBJ_SDCMEGTRON_TOOL) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+-l4m320t_tool: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
+- $(CC) -o l4m320t_tool $(OBJ_L4M320T_TOOL) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
++l4m320t_tool: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
++ $(CC) -o l4m320t_tool $(OBJ_L4M320T_TOOL) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC) $(EXTRA_LIBS)
+
+-touchscreen_tool: $(LIB_DIR)/$(LIB_STATIC) $(OBJECTS)
++touchscreen_tool: $(LIB_DIR)/$(LIB_SHARED) $(OBJECTS)
+ $(CC) -o touchscreen_tool $(OBJ_TOUCHSCREEN_TOOL) $(LIB_SERDISP) $(EXTRA_LIBS_STATIC)
+
+ clean:
diff --git a/dev-libs/serdisplib/files/use-destdir.patch b/dev-libs/serdisplib/files/use-destdir.patch
new file mode 100644
index 000000000000..786d475cdd0f
--- /dev/null
+++ b/dev-libs/serdisplib/files/use-destdir.patch
@@ -0,0 +1,84 @@
+--- a/Makefile.in 2017-02-02 13:37:48.000000000 +0100
++++ b/Makefile.in 2018-05-15 21:52:25.900823345 +0200
+@@ -44,8 +44,8 @@
+ done && test -z "$$fail"
+
+ install:
+- $(top_srcdir)/mkinstalldirs $(libdir)/pkgconfig
+- $(INSTALL_DATA) serdisplib.pc $(libdir)/pkgconfig/
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
++ $(INSTALL_DATA) serdisplib.pc $(DESTDIR)$(libdir)/pkgconfig/
+ @for dir in ${subdirs}; do \
+ (cd $(srcdir) && cd $$dir && $(MAKE) install) \
+ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
+--- a/server/Makefile.in 2013-05-25 12:58:14.000000000 +0200
++++ b/server/Makefile.in 2018-05-15 21:52:38.966823295 +0200
+@@ -104,18 +104,18 @@
+
+
+ install: $(PROGRAMS)
+- $(top_srcdir)/mkinstalldirs $(bindir)
+- $(top_srcdir)/mkinstalldirs $(sbindir)
+- $(top_srcdir)/mkinstalldirs $(sysconfdir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sbindir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
+ list='$(PROGRAMS_SBIN)'; \
+ for prog in $$list; do \
+- $(INSTALL_PROGRAM) $$prog $(sbindir)/ ; \
++ $(INSTALL_PROGRAM) $$prog $(DESTDIR)$(sbindir)/ ; \
+ done
+ list='$(PROGRAMS_BIN)'; \
+ for prog in $$list; do \
+- $(INSTALL_PROGRAM) $$prog $(bindir)/ ; \
++ $(INSTALL_PROGRAM) $$prog $(DESTDIR)$(bindir)/ ; \
+ done
+- $(INSTALL_DATA) examples/serdispd.cfg $(sysconfdir)/
++ $(INSTALL_DATA) examples/serdispd.cfg $(DESTDIR)$(sysconfdir)/
+
+
+ uninstall:
+--- a/src/Makefile.in 2017-02-02 13:37:48.000000000 +0100
++++ b/src/Makefile.in 2018-05-15 21:52:56.268823229 +0200
+@@ -199,20 +199,20 @@
+ /bin/rm -f Makefile
+
+ install: $(LIB_DIR)/$(LIB_SHARED) $(LIB_DIR)/$(LIB_STATIC)
+- $(top_srcdir)/mkinstalldirs $(bindir)
+- $(top_srcdir)/mkinstalldirs $(libdir)
+- $(top_srcdir)/mkinstalldirs $(includedir)
+- $(top_srcdir)/mkinstalldirs $(includedir)/serdisplib
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
++ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir)/serdisplib
+
+- $(INSTALL_PROGRAM) $(PROGRAMS) $(bindir)/
+- $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHARED) $(libdir)/
+- $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STATIC) $(libdir)/
++ $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir)/
++ $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHARED) $(DESTDIR)$(libdir)/
++ $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STATIC) $(DESTDIR)$(libdir)/
+ list='$(LIB_HEADERFILES)'; \
+ for headerfile in $$list; do \
+- $(INSTALL_DATA) ../include/serdisplib/$$headerfile $(includedir)/serdisplib/ ; \
++ $(INSTALL_DATA) ../include/serdisplib/$$headerfile $(DESTDIR)$(includedir)/serdisplib/ ; \
+ done
+- cd $(libdir) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR)
+- cd $(libdir) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so
++ cd $(DESTDIR)$(libdir) && $(LN_S) -f $(LIB_SHARED) lib$(LIB_NAME).so.$(VERSION_MAJOR)
++ cd $(DESTDIR)$(libdir) && $(LN_S) -f lib$(LIB_NAME).so.$(VERSION_MAJOR) lib$(LIB_NAME).so
+
+ uninstall:
+ -/bin/rm -f $(libdir)/libserdisp*
+--- a/tools/Makefile.in 2014-03-30 09:13:59.000000000 +0200
++++ b/tools/Makefile.in 2018-05-15 21:53:01.042823211 +0200
+@@ -155,7 +155,7 @@
+ install: $(PROGRAMS)
+ list='$(PROGRAMS)'; \
+ for prog in $$list; do \
+- $(INSTALL_PROGRAM) $$prog $(bindir)/ ; \
++ $(INSTALL_PROGRAM) $$prog $(DESTDIR)$(bindir)/ ; \
+ done
+
+ uninstall: $(PROGRAMS)
diff --git a/dev-libs/serdisplib/metadata.xml b/dev-libs/serdisplib/metadata.xml
index a117a1166efe..74d9cf8a6041 100644
--- a/dev-libs/serdisplib/metadata.xml
+++ b/dev-libs/serdisplib/metadata.xml
@@ -1,12 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- Library to drive displays with built-in controllers connected to
- a parallel port (and serial port for i2c-displays).
- </longdescription>
+ <maintainer type="person">
+ <email>ck+gentoo@bl4ckb0x.de</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
+ <bugs-to>https://sourceforge.net/p/serdisplib/bugs/</bugs-to>
<remote-id type="sourceforge">serdisplib</remote-id>
</upstream>
+ <longdescription>
+ Serdisplib is a library to drive serial displays with built-in controllers,
+ parallel driven displays and USB driven displays. OLED displays are also supported.
+ </longdescription>
+ <use>
+ <flag name="tools">Build optional tools.</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/serdisplib/serdisplib-2.01.ebuild b/dev-libs/serdisplib/serdisplib-2.01.ebuild
new file mode 100644
index 000000000000..85de825917ea
--- /dev/null
+++ b/dev-libs/serdisplib/serdisplib-2.01.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~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[@]}) ) "
+
+# 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
+}