diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-16 09:47:10 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-16 09:47:10 +0100 |
commit | 5afc3c3f86bba087cd1542759f21a0d5814bebd6 (patch) | |
tree | deabbf010b4fb27940ae8b1a83df1af0ac997daa /sys-devel | |
parent | sys-devel/make: Removed old. (diff) | |
download | gentoo-5afc3c3f86bba087cd1542759f21a0d5814bebd6.tar.gz gentoo-5afc3c3f86bba087cd1542759f21a0d5814bebd6.tar.bz2 gentoo-5afc3c3f86bba087cd1542759f21a0d5814bebd6.zip |
sys-devel/make: Revbump to support guile-2.2 wih USE="guile"
Thanks-to: Benda Xu <heroxbd@gentoo.org>
Closes: https://bugs.gentoo.org/650608
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-devel')
-rw-r--r-- | sys-devel/make/files/make-4.2.1-guile-2.2.patch | 320 | ||||
-rw-r--r-- | sys-devel/make/make-4.2.1-r3.ebuild | 58 |
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 000000000000..b7f9eb50b786 --- /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 000000000000..ca1d92161ca9 --- /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 +} |