diff options
author | Rodrigo Rebello <rprebello@gmail.com> | 2017-03-21 00:45:53 -0300 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-03-21 22:51:13 +0100 |
commit | fc741ba9b3c8b5cd602a01f53798ca577a4975dd (patch) | |
tree | b16cb6b425b9e0c6812fa79472a0759395f24091 /package/irssi | |
parent | 8ae1804ff63b7c3af054f6a3a670c07c205f8890 (diff) | |
download | buildroot-fc741ba9b3c8b5cd602a01f53798ca577a4975dd.tar.gz buildroot-fc741ba9b3c8b5cd602a01f53798ca577a4975dd.zip |
irssi: add patch to fix static linking
An upstream change which removed the option to build Irssi without SSL
support (v1.0.0 and later) also eliminated the use of PKG_CHECK_MODULES
to find the OpenSSL library, relying only on a test with AC_CHECK_LIB
for that purpose.
This unfortunately broke static linking since the flag to link with
zlib, used by OpenSSL, is missed completely.
The newly added patch therefore adds PKG_CHECK_MODULES back into the
configure script.
Fixes:
http://autobuild.buildroot.net/results/e8b51f65525246d1205a26859d418393aaebf48c/
http://autobuild.buildroot.net/results/35d952b3b36e295723bf8ed1badb4c9439201822/
http://autobuild.buildroot.net/results/ea8af1458edf3ce0e2b1c444d2ae29ac1e5d2fbf/
[...]
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/irssi')
-rw-r--r-- | package/irssi/0001-Get-back-to-using-pkg-config-to-check-for-OpenSSL.patch | 77 | ||||
-rw-r--r-- | package/irssi/irssi.mk | 3 |
2 files changed, 80 insertions, 0 deletions
diff --git a/package/irssi/0001-Get-back-to-using-pkg-config-to-check-for-OpenSSL.patch b/package/irssi/0001-Get-back-to-using-pkg-config-to-check-for-OpenSSL.patch new file mode 100644 index 0000000000..0ce44f9354 --- /dev/null +++ b/package/irssi/0001-Get-back-to-using-pkg-config-to-check-for-OpenSSL.patch @@ -0,0 +1,77 @@ +From ed0c2c1b9504a99a6dcc3c0f5de3b3a1c0232758 Mon Sep 17 00:00:00 2001 +From: Rodrigo Rebello <rprebello@gmail.com> +Date: Mon, 20 Mar 2017 13:17:42 -0300 +Subject: [PATCH] Get back to using pkg-config to check for OpenSSL + +Commit 6300dfec7 removed the option to disable SSL support from the +configure script since it became a requirement, but it also removed the +use of pkg-config for finding the OpenSSL library and its dependencies. + +This had the unfortunate consequence of breaking the correct detection +of library flags in many static linking scenarios. In some cases, for +example, OpenSSL might have been built with zlib, which requires `-lz` +to be passed to the linker when doing a static link of the irssi +executable. Thus, pkg-config becomes an invaluable tool in such +situations, since no guessing work is needed as the OpenSSL .pc file +provides all the necessary flags. + +So, this patch re-inserts the PKG_CHECK_MODULES macro in the configure +script when looking for OpenSSL. The test using AC_CHECK_LIB remains, +but only as a last resort in case the one using pkg-config fails. + +Also, because the macro AM_PATH_GLIB_2_0 contains an unconditional call +to PKG_PROG_PKG_CONFIG, the OpenSSL checks are moved so that they come +after the Glib ones in order to avoid doubly checking for the pkg-config +binary (PKG_CHECK_MODULES skips that check if it has been performed +before, but PKG_PROG_PKG_CONFIG does not). + +Upstream status: submitted +https://github.com/irssi/irssi/pull/677 + +Signed-off-by: Rodrigo Rebello <rprebello@gmail.com> +--- + configure.ac | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 02b33497..9f191d3f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -231,11 +231,6 @@ if test "x$want_socks" = "xyes"; then + fi + + dnl ** +-dnl ** OpenSSL checks +-dnl ** +-AC_CHECK_LIB([ssl], [SSL_library_init]) +- +-dnl ** + dnl ** fe-text checks + dnl ** + +@@ -276,7 +271,21 @@ if test -z "$GLIB_LIBS"; then + AC_ERROR([GLIB is required to build irssi.]) + fi + +-LIBS="$LIBS $GLIB_LIBS -lssl -lcrypto" ++LIBS="$LIBS $GLIB_LIBS" ++ ++dnl ** ++dnl ** OpenSSL checks ++dnl ** ++PKG_CHECK_MODULES([OPENSSL], [openssl], [ ++ CFLAGS="$CFLAGS $OPENSSL_CFLAGS" ++ LIBS="$LIBS $OPENSSL_LIBS" ++], [ ++ AC_CHECK_LIB([ssl], [SSL_library_init], [ ++ LIBS="$LIBS -lssl -lcrypto" ++ ], [ ++ AC_MSG_ERROR([The OpenSSL library was not found]) ++ ]) ++]) + + dnl ** + dnl ** curses checks +-- +2.11.0 + diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index 7df7bbc445..dfb1e28780 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -13,6 +13,9 @@ IRSSI_LICENSE = GPLv2+ IRSSI_LICENSE_FILES = COPYING IRSSI_DEPENDENCIES = host-pkgconf libglib2 ncurses openssl +# We're patching configure.ac, so we need to autoreconf +IRSSI_AUTORECONF = YES + IRSSI_CONF_OPTS = \ --disable-glibtest \ --with-ncurses=$(STAGING_DIR)/usr \ |