summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-02-08 00:05:04 +0000
committerSam James <sam@gentoo.org>2022-02-08 00:05:04 +0000
commitaffe702e32d1e6d460cf3b28322d9c070357b7f9 (patch)
tree1f6d06aa11a5ba4cf5190fb39217c0130d506103 /x11-misc/lineakd
parentdev-python/typish: Keyword 1.9.3 s390, #831852 (diff)
downloadgentoo-affe702e32d1e6d460cf3b28322d9c070357b7f9.tar.gz
gentoo-affe702e32d1e6d460cf3b28322d9c070357b7f9.tar.bz2
gentoo-affe702e32d1e6d460cf3b28322d9c070357b7f9.zip
x11-misc/lineakd: fix libdl linkage, other modernisation
- Port to EAPI 8 - Try to fixup build system (avoid Bashism, fix libdl linkage, ensure correct library/LDFLAGS ordering) Closes: https://bugs.gentoo.org/722372 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-misc/lineakd')
-rw-r--r--x11-misc/lineakd/files/lineakd-0.9.0-automake-linking-libdl.patch58
-rw-r--r--x11-misc/lineakd/lineakd-0.9.0-r2.ebuild65
-rw-r--r--x11-misc/lineakd/lineakd-0.9.0-r3.ebuild40
3 files changed, 145 insertions, 18 deletions
diff --git a/x11-misc/lineakd/files/lineakd-0.9.0-automake-linking-libdl.patch b/x11-misc/lineakd/files/lineakd-0.9.0-automake-linking-libdl.patch
new file mode 100644
index 000000000000..a3587e42426f
--- /dev/null
+++ b/x11-misc/lineakd/files/lineakd-0.9.0-automake-linking-libdl.patch
@@ -0,0 +1,58 @@
+* configure.in change from Debian to fix autoreconf: https://sources.debian.org/src/lineakd/1%253A0.9-6/debian/patches/005_configure_in.diff/#L19
+* Rest is to fix libdl linkage (and general LDFLAGS issues): https://bugs.gentoo.org/722372
+--- a/configure.in
++++ b/configure.in
+@@ -28,10 +28,12 @@
+
+ dnl Process this file with autoconf to produce a configure script.
+
+-AC_INIT(acinclude.m4) dnl a source file from your sub dir
+-
++AC_INIT
+ dnl This is so we can use kde-common
+ AC_CONFIG_AUX_DIR(admin)
++AC_CONFIG_MACRO_DIR([m4])
++
++LT_INIT
+
+ dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
+ unset CDPATH
+
+--- a/configure.in
++++ b/configure.in
+@@ -81,7 +81,7 @@ KDE_PROG_LIBTOOL
+
+ dnl activate the next macro call for DLOPEN tests and setting LIBDL
+ dnl (n.b. KDE_MISC_TESTS does the same to you, so use either this or the next one)
+-dnl KDE_CHECK_DLOPEN
++KDE_CHECK_DLOPEN
+
+ dnl activate the next macro call for some additional tests
+ dnl (compat, crypt, socket, nsl, dlopen, ...)
+
+--- a/lineak/Makefile.am
++++ b/lineak/Makefile.am
+@@ -19,8 +19,8 @@ liblineak_la_SOURCES = pluginmanager.cpp globals.cpp displayctrl.cpp xmgr.cpp cd
+ # liblineak_la_LDFLAGS = -version-info 8:0:8 $(all_libraries); \
+ #fi;
+
+-liblineak_la_LIBADD = -lX11 -lXext $(X_LIBS) -lXt -lSM -lICE -L/usr/X11R6/lib
+-liblineak_la_LDFLAGS = -version-info 8:0:8 $(all_libraries) -L/usr/X11R6/lib @X_LIBS@ @X_PRE_LIBS@ -lpthread
++liblineak_la_LIBADD = -lX11 -lXext $(X_LIBS) -lXt -lSM -lICE -L/usr/X11R6/lib $(all_libraries) @X_LIBS@ @X_PRE_LIBS@ $(PTHREAD_LIBS) @LIBDL@
++liblineak_la_LDFLAGS = -version-info 8:0:8
+
+ lineak_HEADERS = configdirectives.h configloader.h definitions.h defloader.h lconfig.h lconfigdata.h ldef.h lobject.h lkbd.h lkey.h lbutton.h loader.h msgpasser.h saver.h lcommand.h lockctrl.h lineak_util_functions.h lineak_core_functions.h cdromctrl.h xmgr.h displayctrl.h plugin_definitions.h commandexec.h pluginmanager.h
+
+--- a/lineakd/Makefile.am
++++ b/lineakd/Makefile.am
+@@ -1,8 +1,8 @@
+ bin_PROGRAMS = lineakd
+
+ lineakd_SOURCES = lineakd_core_functions.cpp cmdprefs.cpp main.cpp
+-lineakd_LDADD = -lpthread -llineak -lXext -lX11 -ldl
+-lineakd_LDFLAGS = -rdynamic -L../lineak $(all_libraries) @X_LIBS@ @X_PRE_LIBS@
++lineakd_LDADD = -llineak -lXext -lX11 $(PTHREAD_LIBS) @LIBDL@ $(all_libraries) @X_LIBS@ @X_PRE_LIBS@
++lineakd_LDFLAGS = -rdynamic -L../lineak
+
+ EXTRA_DIST = main.cpp eakprocs.h cmdprefs.cpp cmdprefs.h lineakkb.def lineakd.1.bz2 OLDCODE lineakd_core_functions.h lineakd_core_functions.cpp
+
diff --git a/x11-misc/lineakd/lineakd-0.9.0-r2.ebuild b/x11-misc/lineakd/lineakd-0.9.0-r2.ebuild
new file mode 100644
index 000000000000..82ba727c0440
--- /dev/null
+++ b/x11-misc/lineakd/lineakd-0.9.0-r2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P=${P/.0/}
+DESCRIPTION="Linux support for Easy Access and Internet Keyboards"
+HOMEPAGE="http://lineak.sourceforge.net"
+SRC_URI="mirror://sourceforge/lineak/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE="debug"
+
+RDEPEND="x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ x11-libs/libxkbfile
+ x11-libs/libXt
+ x11-libs/libXtst"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc43.patch
+ "${FILESDIR}"/${P}-DELL-XPS-M1330-XOrg-1_5.patch
+ "${FILESDIR}"/${P}-automake-linking-libdl.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # admin/lineakd.m4.in contains Bashisms but fixes it causes a confusing
+ # autotools avalanche, so workaround it with CONFIG_SHELL as bash.
+ CONFIG_SHELL="${BROOT}/bin/bash" econf \
+ $(use_enable debug) \
+ --with-x
+}
+
+src_install() {
+ sed -i -e 's:$(DESTDIR)${DESTDIR}:$(DESTDIR):' lineakd/Makefile || die
+
+ dodir /usr/share/man/man8
+
+ emake -j1 DESTDIR="${D}" install
+
+ dodoc AUTHORS README TODO
+
+ keepdir /usr/$(get_libdir)/lineakd/plugins
+
+ insinto /etc/lineak
+ doins lineakd.conf.example lineakd.conf.kde.example
+
+ find "${ED}"/usr/share/man -name '*.bz2' -exec bunzip2 {} \; || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/x11-misc/lineakd/lineakd-0.9.0-r3.ebuild b/x11-misc/lineakd/lineakd-0.9.0-r3.ebuild
index 00a75e407fb0..8f2fca9f6c7c 100644
--- a/x11-misc/lineakd/lineakd-0.9.0-r3.ebuild
+++ b/x11-misc/lineakd/lineakd-0.9.0-r3.ebuild
@@ -1,49 +1,53 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit multilib
+EAPI=8
-MY_P=${P/.0/}
+inherit autotools
+MY_P=${P/.0/}
DESCRIPTION="Linux support for Easy Access and Internet Keyboards"
HOMEPAGE="http://lineak.sourceforge.net"
SRC_URI="mirror://sourceforge/lineak/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="debug"
-RDEPEND="
- x11-libs/libICE
+RDEPEND="x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
- x11-libs/libXext
-"
-DEPEND="
- ${RDEPEND}
+ x11-libs/libXext"
+DEPEND="${RDEPEND}
x11-base/xorg-proto
x11-libs/libxkbfile
x11-libs/libXt
- x11-libs/libXtst
-"
+ x11-libs/libXtst"
-S=${WORKDIR}/${MY_P}
PATCHES=(
"${FILESDIR}"/${P}-gcc43.patch
"${FILESDIR}"/${P}-DELL-XPS-M1330-XOrg-1_5.patch
+ "${FILESDIR}"/${P}-automake-linking-libdl.patch
)
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
src_configure() {
- econf \
+ # admin/lineakd.m4.in contains Bashisms but fixes it causes a confusing
+ # autotools avalanche, so workaround it with CONFIG_SHELL as bash.
+ CONFIG_SHELL="${BROOT}/bin/bash" econf \
$(use_enable debug) \
- --with-x \
- --disable-static
+ --with-x
}
src_install() {
- sed -i -e 's:$(DESTDIR)${DESTDIR}:$(DESTDIR):' lineakd/Makefile
+ sed -i -e 's:$(DESTDIR)${DESTDIR}:$(DESTDIR):' lineakd/Makefile || die
dodir /usr/share/man/man8