summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-devel/make/files/make-4.2.1-guile-2.2.patch320
-rw-r--r--sys-devel/make/make-4.2.1-r3.ebuild58
2 files changed, 378 insertions, 0 deletions
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
+}