commit:     affe702e32d1e6d460cf3b28322d9c070357b7f9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Feb  8 00:05:04 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb  8 00:05:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=affe702e

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 <AT> gentoo.org>

 .../lineakd-0.9.0-automake-linking-libdl.patch     | 58 ++++++++++++++++++++++
 ...akd-0.9.0-r3.ebuild => lineakd-0.9.0-r2.ebuild} | 38 +++++++-------
 x11-misc/lineakd/lineakd-0.9.0-r3.ebuild           | 40 ++++++++-------
 3 files changed, 101 insertions(+), 35 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-r3.ebuild 
b/x11-misc/lineakd/lineakd-0.9.0-r2.ebuild
similarity index 67%
copy from x11-misc/lineakd/lineakd-0.9.0-r3.ebuild
copy to x11-misc/lineakd/lineakd-0.9.0-r2.ebuild
index 00a75e407fb0..82ba727c0440 100644
--- a/x11-misc/lineakd/lineakd-0.9.0-r3.ebuild
+++ b/x11-misc/lineakd/lineakd-0.9.0-r2.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"
 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
 

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
 

Reply via email to