commit:     5afc3c3f86bba087cd1542759f21a0d5814bebd6
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 16 08:47:10 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Mar 16 08:47:10 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5afc3c3f

sys-devel/make: Revbump to support guile-2.2 wih USE="guile"

Thanks-to: Benda Xu <heroxbd <AT> gentoo.org>
Closes: https://bugs.gentoo.org/650608
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-devel/make/files/make-4.2.1-guile-2.2.patch | 320 ++++++++++++++++++++++++
 sys-devel/make/make-4.2.1-r3.ebuild             |  58 +++++
 2 files changed, 378 insertions(+)

diff --git a/sys-devel/make/files/make-4.2.1-guile-2.2.patch 
b/sys-devel/make/files/make-4.2.1-guile-2.2.patch
new file mode 100644
index 00000000000..b7f9eb50b78
--- /dev/null
+++ b/sys-devel/make/files/make-4.2.1-guile-2.2.patch
@@ -0,0 +1,320 @@
+https://git.savannah.gnu.org/cgit/make.git/commit/?id=fbf71ec25a5986d9003ac16ee9e23675feac9053
+https://bugs.gentoo.org/650608
+
+--- make-4.2.1/configure       2016-06-11 01:03:21.000000000 +0200
++++ make-4.2.1/configure       2016-06-11 01:03:21.000000000 +0200
+@@ -9694,6 +9694,15 @@
+ 
+ # See if the user wants to add (or not) GNU Guile support
+ 
++# Check whether --with-guile was given.
++if test "${with_guile+set}" = set; then :
++  withval=$with_guile;
++fi
++
++
++# Annoyingly, each version of Guile comes with it's own PC file so we have to
++# specify them as individual packages.  Ugh.
++
+ 
+ 
+ 
+@@ -9814,75 +9823,25 @@
+       fi
+ fi
+ 
+-# Check whether --with-guile was given.
+-if test "${with_guile+set}" = set; then :
+-  withval=$with_guile;
+-fi
+-
+-
+-# For some strange reason, at least on Ubuntu, each version of Guile
+-# comes with it's own PC file so we have to specify them as individual
+-# packages.  Ugh.
+ if test "x$with_guile" != xno; then :
+-
+-pkg_failed=no
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+-$as_echo_n "checking for GUILE... " >&6; }
+-
+-if test -n "$GUILE_CFLAGS"; then
+-    pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+- elif test -n "$PKG_CONFIG"; then
+-    if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-2.0\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-2.0") 2>&5
+-  ac_status=$?
+-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; }; then
+-  pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-2.0" 2>/dev/null`
+-                    test "x$?" != "x0" && pkg_failed=yes
+-else
+-  pkg_failed=yes
+-fi
+- else
+-    pkg_failed=untried
+-fi
+-if test -n "$GUILE_LIBS"; then
+-    pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+- elif test -n "$PKG_CONFIG"; then
++   guile_versions="2.2 2.0 1.8"
++  guile_version=no
++  have_guile=no
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU Guile" >&5
++$as_echo_n "checking for GNU Guile... " >&6; }
++  for v in $guile_versions; do
+     if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-2.0\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-2.0") 2>&5
++    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-\$v\""; } >&5
++  ($PKG_CONFIG --exists --print-errors "guile-$v") 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+-  pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-2.0" 2>/dev/null`
+-                    test "x$?" != "x0" && pkg_failed=yes
+-else
+-  pkg_failed=yes
++  guile_version=$v; have_guile=yes; break
+ fi
+- else
+-    pkg_failed=untried
+-fi
+-
+-
+-
+-if test $pkg_failed = yes; then
+-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-
+-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+-        _pkg_short_errors_supported=yes
+-else
+-        _pkg_short_errors_supported=no
+-fi
+-        if test $_pkg_short_errors_supported = yes; then
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "guile-2.0" 2>&1`
+-        else
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"guile-2.0" 2>&1`
+-        fi
+-      # Put the nasty error message in config.log where it belongs
+-      echo "$GUILE_PKG_ERRORS" >&5
+-
++  done
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $guile_version" >&5
++$as_echo "$guile_version" >&6; }
++  if test "$have_guile" = yes; then
+ 
+ pkg_failed=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+@@ -9892,12 +9851,12 @@
+     pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+  elif test -n "$PKG_CONFIG"; then
+     if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-1.8\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
++    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-\$guile_version\""; } >&5
++  ($PKG_CONFIG --exists --print-errors "guile-$guile_version") 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+-  pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-1.8" 2>/dev/null`
++  pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-$guile_version" 
2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+@@ -9909,12 +9868,12 @@
+     pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+  elif test -n "$PKG_CONFIG"; then
+     if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-1.8\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
++    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-\$guile_version\""; } >&5
++  ($PKG_CONFIG --exists --print-errors "guile-$guile_version") 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+-  pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-1.8" 2>/dev/null`
++  pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-$guile_version" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+@@ -9935,113 +9894,50 @@
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "guile-1.8" 2>&1`
++              GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "guile-$guile_version" 2>&1`
+         else
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"guile-1.8" 2>&1`
++              GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"guile-$guile_version" 2>&1`
+         fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$GUILE_PKG_ERRORS" >&5
+ 
+-      have_guile=no
+-elif test $pkg_failed = untried; then
+-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-      have_guile=no
+-else
+-      GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+-      GUILE_LIBS=$pkg_cv_GUILE_LIBS
+-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-      have_guile=yes
+-fi
+-elif test $pkg_failed = untried; then
+-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
++      as_fn_error $? "Package requirements (guile-$guile_version) were not 
met:
+ 
+-pkg_failed=no
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+-$as_echo_n "checking for GUILE... " >&6; }
++$GUILE_PKG_ERRORS
+ 
+-if test -n "$GUILE_CFLAGS"; then
+-    pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+- elif test -n "$PKG_CONFIG"; then
+-    if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-1.8\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+-  ac_status=$?
+-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; }; then
+-  pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-1.8" 2>/dev/null`
+-                    test "x$?" != "x0" && pkg_failed=yes
+-else
+-  pkg_failed=yes
+-fi
+- else
+-    pkg_failed=untried
+-fi
+-if test -n "$GUILE_LIBS"; then
+-    pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+- elif test -n "$PKG_CONFIG"; then
+-    if test -n "$PKG_CONFIG" && \
+-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"guile-1.8\""; } >&5
+-  ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+-  ac_status=$?
+-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; }; then
+-  pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-1.8" 2>/dev/null`
+-                    test "x$?" != "x0" && pkg_failed=yes
+-else
+-  pkg_failed=yes
+-fi
+- else
+-    pkg_failed=untried
+-fi
+-
+-
+-
+-if test $pkg_failed = yes; then
+-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-
+-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+-        _pkg_short_errors_supported=yes
+-else
+-        _pkg_short_errors_supported=no
+-fi
+-        if test $_pkg_short_errors_supported = yes; then
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "guile-1.8" 2>&1`
+-        else
+-              GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"guile-1.8" 2>&1`
+-        fi
+-      # Put the nasty error message in config.log where it belongs
+-      echo "$GUILE_PKG_ERRORS" >&5
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
+ 
+-      have_guile=no
++Alternatively, you may set the environment variables GUILE_CFLAGS
++and GUILE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details." "$LINENO" 5
+ elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+-      have_guile=no
+-else
+-      GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+-      GUILE_LIBS=$pkg_cv_GUILE_LIBS
+-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-      have_guile=yes
+-fi
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "The pkg-config script could not be found or is too old.  Make 
sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++Alternatively, you may set the environment variables GUILE_CFLAGS
++and GUILE_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.
++
++To get pkg-config, see <http://pkg-config.freedesktop.org/>.
++See \`config.log' for more details" "$LINENO" 5; }
+ else
+       GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+       GUILE_LIBS=$pkg_cv_GUILE_LIBS
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+-      have_guile=yes
+-fi
+ 
+ fi
+ 
+-if test "$have_guile" = yes; then :
+-
+ $as_echo "#define HAVE_GUILE 1" >>confdefs.h
+ 
++  fi
++
+ fi
+ 
+  if test "$have_guile" = yes; then
+--- make-4.2.1/configure.ac    2016-06-06 14:27:31.000000000 +0200
++++ make-4.2.1/configure.ac    2016-06-06 14:27:31.000000000 +0200
+@@ -160,22 +160,28 @@
+ AC_FUNC_CLOSEDIR_VOID
+ 
+ # See if the user wants to add (or not) GNU Guile support
+-PKG_PROG_PKG_CONFIG
+ AC_ARG_WITH([guile], [AS_HELP_STRING([--with-guile],
+             [Support GNU Guile for embedded scripting])])
+ 
+-# For some strange reason, at least on Ubuntu, each version of Guile
+-# comes with it's own PC file so we have to specify them as individual
+-# packages.  Ugh.
++# Annoyingly, each version of Guile comes with it's own PC file so we have to
++# specify them as individual packages.  Ugh.
++PKG_PROG_PKG_CONFIG
++
+ AS_IF([test "x$with_guile" != xno],
+-[ PKG_CHECK_MODULES([GUILE], [guile-2.0], [have_guile=yes],
+-  [PKG_CHECK_MODULES([GUILE], [guile-1.8], [have_guile=yes],
+-    [have_guile=no])])
++[ guile_versions="2.2 2.0 1.8"
++  guile_version=no
++  have_guile=no
++  AC_MSG_CHECKING([for GNU Guile])
++  for v in $guile_versions; do
++    PKG_CHECK_EXISTS([guile-$v], [guile_version=$v; have_guile=yes; break], 
[])
++  done
++  AC_MSG_RESULT([$guile_version])
++  if test "$have_guile" = yes; then
++    PKG_CHECK_MODULES(GUILE, [guile-$guile_version])
++    AC_DEFINE([HAVE_GUILE], [1], [Embed GNU Guile support])
++  fi
+ ])
+ 
+-AS_IF([test "$have_guile" = yes],
+-      [AC_DEFINE([HAVE_GUILE], [1], [Embed GNU Guile support])])
+-
+ AM_CONDITIONAL([HAVE_GUILE], [test "$have_guile" = yes])
+ 
+ AC_FUNC_GETLOADAVG

diff --git a/sys-devel/make/make-4.2.1-r3.ebuild 
b/sys-devel/make/make-4.2.1-r3.ebuild
new file mode 100644
index 00000000000..ca1d92161ca
--- /dev/null
+++ b/sys-devel/make/make-4.2.1-r3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic
+
+DESCRIPTION="Standard tool to compile source trees"
+HOMEPAGE="https://www.gnu.org/software/make/make.html";
+SRC_URI="mirror://gnu//make/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="guile nls static"
+
+CDEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
+DEPEND="${CDEPEND}
+       nls? ( sys-devel/gettext )"
+RDEPEND="${CDEPEND}
+       nls? ( virtual/libintl )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch
+       "${FILESDIR}"/${PN}-4.2-default-cxx.patch
+       "${FILESDIR}"/${PN}-4.2.1-perl526.patch
+       "${FILESDIR}"/${PN}-4.2.1-glob-internals.patch
+)
+
+src_prepare() {
+       default
+       # These patches require special handling as they modify configure.ac
+       # which in turn triggers maintainer-mode when being applied the
+       # usual way.
+       eapply -Z "${FILESDIR}"/${PN}-4.2.1-glob-v2.patch \
+               "${FILESDIR}"/${P}-guile-2.2.patch
+}
+
+src_configure() {
+       use static && append-ldflags -static
+       local myeconfargs=(
+               --program-prefix=g
+               $(use_with guile)
+               $(use_enable nls)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       dodoc AUTHORS NEWS README*
+       if [[ ${USERLAND} == "GNU" ]] ; then
+               # we install everywhere as 'gmake' but on GNU systems,
+               # symlink 'make' to 'gmake'
+               dosym gmake /usr/bin/make
+               dosym gmake.1 /usr/share/man/man1/make.1
+       fi
+}

Reply via email to