sys-boot/grub:0 - use pkg-config to determine ncurses libs, bug 550132
authorIan Stakenvicius <axs@gentoo.org>
Thu, 17 Dec 2015 17:13:57 +0000 (12:13 -0500)
committerIan Stakenvicius <axs@gentoo.org>
Fri, 18 Dec 2015 20:42:31 +0000 (15:42 -0500)
When ncurses is built with USE=tinfo, additional libs are needed due to --as-needed
linking that are not included in the current AC_CHECK_LIB based config, nor would
be easily detectable without pkg-config.

Package-Manager: portage-2.2.24

sys-boot/grub/files/grub-0.97-ncurses-pkgconfig.patch [new file with mode: 0644]
sys-boot/grub/grub-0.97-r17.ebuild

diff --git a/sys-boot/grub/files/grub-0.97-ncurses-pkgconfig.patch b/sys-boot/grub/files/grub-0.97-ncurses-pkgconfig.patch
new file mode 100644 (file)
index 0000000..d62e434
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/configure.ac     2015-12-17 11:09:56.807893315 -0500
++++ b/configure.ac     2015-12-17 11:11:06.697570856 -0500
+@@ -234,10 +234,14 @@
+ 
+ # Unless the user specify --without-curses, check for curses.
+ if test "x$with_curses" != "xno"; then
++  PKG_CHECK_MODULES([NCURSES],[ncurses],[
++    AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])
++    GRUB_LIBS="$GRUB_LIBS $NCURSES_LIBS"
++  ],[
+   AC_CHECK_LIB(ncurses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lncurses"
+   AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])],
+     [AC_CHECK_LIB(curses, wgetch, [GRUB_LIBS="$GRUB_LIBS -lcurses"
+-       AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])])
++       AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have a curses library])])])])
+ fi
+ 
+ AC_SUBST(GRUB_LIBS)
index 3b19b8e36c9b674c23b95d6aabe3ccface39027d..790e6b256bed6e97c1ddc5448d2192af68ccbcd9 100644 (file)
@@ -36,6 +36,7 @@ IUSE="custom-cflags ncurses netboot static"
 LIB_DEPEND="ncurses? ( >=sys-libs/ncurses-5.9-r3:0[static-libs(+),abi_x86_32(-)] )"
 RDEPEND="!static? ( ${LIB_DEPEND//[static-libs(+),/=[} )"
 DEPEND="${RDEPEND}
+       virtual/pkgconfig
        static? ( ${LIB_DEPEND} )"
 
 pkg_setup() {
@@ -69,6 +70,7 @@ src_prepare() {
        EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
        # bug 564890, 566638
        epatch "${FILESDIR}"/grub-0.97-Add-esp-to-list-of-clobbered-registers.patch
+       epatch "${FILESDIR}"/grub-0.97-ncurses-pkgconfig.patch
 
        rm -f "${S}"/aclocal.m4 # seems to keep bug 418287 away
        eautoreconf