commit: 31d586ddded6d32a8134c03e1db5816c26b18e13 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> AuthorDate: Sat Jun 13 23:41:44 2015 +0000 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> CommitDate: Sat Jun 13 23:52:58 2015 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=31d586dd
Revert "dev-scheme/guile: tree version works" This reverts commit 8849de643d2bb28aa34ed52a10ad50eff6d52ce1. This breaks the compilation of autogen-5.18.1 which is the current stable version in the tree. 5.18.4 is okay but still unstable. We can remove the overlay version of guile when 5.81.4 goes stable. See: https://bugs.gentoo.org/show_bug.cgi?id=493464 dev-scheme/guile/Manifest | 8 ++ dev-scheme/guile/files/50guile-gentoo.el | 1 + .../guile/files/guile-1.8.8-fix_guile-config.patch | 14 +++ dev-scheme/guile/files/guile-1.8.8-gcc46.patch | 39 +++++++ .../guile/files/guile-1.8.8-makeinfo-5.patch | 71 +++++++++++++ dev-scheme/guile/files/guile-1.8.8-os_dep.patch | 10 ++ dev-scheme/guile/guile-1.8.8-r99.ebuild | 113 +++++++++++++++++++++ dev-scheme/guile/metadata.xml | 18 ++++ 8 files changed, 274 insertions(+) diff --git a/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest new file mode 100644 index 0000000..8a638ca --- /dev/null +++ b/dev-scheme/guile/Manifest @@ -0,0 +1,8 @@ +AUX 50guile-gentoo.el 38 SHA256 f34ea07a3270a25cce3430e4781df47d9903052c9f3a4ea24efb64b1e63bd115 SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5 WHIRLPOOL cc5e2fd5081f5fb0018e1fa461c0802c7c90891accc55c02c2935dd3d413c5f8941e918af9341040526b037be4c34dab26008dfca91c153c11fca41338f77c14 +AUX guile-1.8.8-fix_guile-config.patch 494 SHA256 08e4d837a663fc27b037e64f8dd89d89ababb3ed13f1e7845109a0f901f3b0c4 SHA512 3ef2bcb31d5b80dfa2f23b8802b98af713230e59aafe773ca3fd847fbdc7759ebb2d19cead1b6b362a6fa504dfff0c2036d5359aa82b601d664eb2a49a98c970 WHIRLPOOL f6ccd01b09a7aab46fab36464ab49539c9dddb954cc2d1ed709074175273df306d8527bae0d3d83f212903693af00fdf087533611ea416036b1c557ebc0fd283 +AUX guile-1.8.8-gcc46.patch 1004 SHA256 9f11b3095ed4aa622a58e3a0805e49f56c258e81c9813c5053cea980cd93948b SHA512 0ace93548dde387c344e13f083d79227cd09506e0cf58ac0892f25c43bfcefe9071e83912b921fba120262884fa92aaabe4d07f8337d89b6da73f0f2c077dcfa WHIRLPOOL cf2ff22da564656387c7a42985d8c4fd004ff411739e1a081f71931c458287bf1166079f5a39b842f7e8b988e62e24e04d541e125340f0256c62b23de602d80b +AUX guile-1.8.8-makeinfo-5.patch 2361 SHA256 f1bfbe27280f6105735a2b4f0cf7883a9a825d4df756b74663112612b7a72438 SHA512 a69ed6cf2fd87c6f3d61cc914eed960fcdebaa151778b1ecf04f1774e6dddf07d17bf90fb3243a08e8c231e391843201d0ba26debedef33199d8dd75f8cbcd09 WHIRLPOOL c392c00f99d68cba17db8f14c68dc153f9cf146a3a6e197c4101959e93eb634a451cf8cdf957216f1c24fafcebf377a93e81682d5c0692506a0dd4c7ac00fa48 +AUX guile-1.8.8-os_dep.patch 440 SHA256 e4b54c94aa2087495dc0b4a93e004cc053e5018bbb556c8ea5b674977ea31a52 SHA512 df1681a3e311de4c3f7d4097ab4f92990d1a36f4f47507e967252039479822be9a82d64d483b0f1025c3ecf0ff070d8c7a30ccc4ef0d19db0895f5b9622019c7 WHIRLPOOL 412b0509fdc78b8bd28ee6236c94ed213c95b1da4a666ac1cfef824746ab7dae5cc10bc159d38070c8a17e3363b8f289f27bb6804f50870936ba939116b88a13 +DIST guile-1.8.8.tar.gz 3956654 SHA256 c3471fed2e72e5b04ad133bbaaf16369e8360283679bcf19800bc1b381024050 SHA512 ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0 WHIRLPOOL 104810030b5dae16805595a5b398e5a7e600771b64b08d5ff686036e2f273dcec3829a16e4cdb1dbb9db5813f2e225476f83e0535a789bc570fc2fc15a76dbe2 +EBUILD guile-1.8.8-r99.ebuild 2887 SHA256 e41d065f3078343f312b15e604b32ebce47be2498741d60ad56892761355085d SHA512 c431c0de268aa5ecdfa86eb910e954cffebe4dc408c8107ebbe6011c64f9250617541a70a07ebbf5bffc86d0ae5025ebb3f470c689f4815c59403ca5bb653cd3 WHIRLPOOL 1e6844b0ee7f5d8a85d039d1a5459051c840363b840ac81785bc6fb5802b58c88efbc8ccf14f0a736f8704fd0b319faf2a01e92115e5b24b03e759e7b36a3111 +MISC metadata.xml 939 SHA256 bec92c2558ecc371364a598a582a19b43dff9a809fe732d150e9b209b76f17ca SHA512 ca2dd2db48025f250b4ddaeea40a6119c00bdbc7c6d8167f274fffa9155ae64083a3ccb1cff272abd3cdfc108f555f9f04beb10532ce7174db50ce96d0a4f1eb WHIRLPOOL 75f94d8db3b573829322c06a6a388775cb9b6302624c345f492a650b6ac644d2a48021b16b436786e138eb8753f9ed3354df4e5944bd92f2a3b7b4819ff91155 diff --git a/dev-scheme/guile/files/50guile-gentoo.el b/dev-scheme/guile/files/50guile-gentoo.el new file mode 100644 index 0000000..431f7e9 --- /dev/null +++ b/dev-scheme/guile/files/50guile-gentoo.el @@ -0,0 +1 @@ +(add-to-list 'load-path "@SITELISP@") diff --git a/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch b/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch new file mode 100644 index 0000000..2b04426 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-fix_guile-config.patch @@ -0,0 +1,14 @@ +diff -ruN 1/configure.in 2/configure.in +--- 1/configure.in 2010-12-13 17:24:39.000000000 +0000 ++++ 2/configure.in 2011-04-29 11:53:39.000000000 +0000 +@@ -1522,8 +1522,8 @@ + ####################################################################### + + dnl Tell guile-config what flags guile users should compile and link with. +-GUILE_LIBS="$LDFLAGS $LIBS" +-GUILE_CFLAGS="$CPPFLAGS $PTHREAD_CFLAGS" ++GUILE_LIBS="$LIBS" ++GUILE_CFLAGS="$PTHREAD_CFLAGS" + AC_SUBST(GUILE_LIBS) + AC_SUBST(GUILE_CFLAGS) + diff --git a/dev-scheme/guile/files/guile-1.8.8-gcc46.patch b/dev-scheme/guile/files/guile-1.8.8-gcc46.patch new file mode 100644 index 0000000..b06a0e5 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-gcc46.patch @@ -0,0 +1,39 @@ +Backported upstream patch to fix SIGSEGV with gcc-4.6 + +http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=62bc1072c19e81bb0f9e42a5034e7ab8c27d3b94 +https://bugs.gentoo.org/show_bug.cgi?id=424475 +--- a/configure.in ++++ b/configure.in +@@ -1199,23 +1199,20 @@ + AC_RUN_IFELSE([AC_LANG_SOURCE( + [AC_INCLUDES_DEFAULT + int +-find_stack_direction () ++find_stack_direction (int *addr, int depth) + { +- static char *addr = 0; +- auto char dummy; +- if (addr == 0) +- { +- addr = &dummy; +- return find_stack_direction (); +- } +- else +- return (&dummy > addr) ? 1 : -1; ++ int dir, dummy = 0; ++ if (! addr) ++ addr = &dummy; ++ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; ++ dir = depth ? find_stack_direction (addr, depth - 1) : 0; ++ return dir + dummy; + } + + int +-main () ++main (int argc, char **argv) + { +- return find_stack_direction () < 0; ++ return find_stack_direction (0, argc + !argv + 20) < 0; + }])], + [SCM_I_GSC_STACK_GROWS_UP=1], + [], diff --git a/dev-scheme/guile/files/guile-1.8.8-makeinfo-5.patch b/dev-scheme/guile/files/guile-1.8.8-makeinfo-5.patch new file mode 100644 index 0000000..9f3a02c --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-makeinfo-5.patch @@ -0,0 +1,71 @@ +From 937da0f2604ea208ec56517c5a41e582f316a246 Mon Sep 17 00:00:00 2001 +From: Cyprien Nicolas <[email protected]> +Date: Thu, 18 Apr 2013 23:45:23 +0200 +Subject: [PATCH] Fix texinfo files for makeinfo-5.1 + +--- + doc/ref/api-options.texi | 2 +- + doc/ref/api-utility.texi | 2 +- + doc/ref/fdl.texi | 2 +- + doc/ref/gh.texi | 4 ++-- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/doc/ref/api-options.texi b/doc/ref/api-options.texi +index 7b7a6e0..6ce7291 100644 +--- a/doc/ref/api-options.texi ++++ b/doc/ref/api-options.texi +@@ -377,9 +377,9 @@ configure @emph{reading}, @emph{printing}, @emph{debugging} or + * User level options interfaces:: + * Reader options:: + * Printing options:: +-* Debugger options:: + * Evaluator options:: + * Evaluator trap options:: ++* Debugger options:: + * Examples of option use:: + @end menu + +diff --git a/doc/ref/api-utility.texi b/doc/ref/api-utility.texi +index 4a90212..9a4f3cc 100644 +--- a/doc/ref/api-utility.texi ++++ b/doc/ref/api-utility.texi +@@ -657,7 +657,7 @@ Return 1 if @var{x} is a Scheme-level hook, 0 otherwise. + @end deftypefn + + +-@subsubsection Handling Scheme-level hooks from C code ++@subsubheading Handling Scheme-level hooks from C code + + Here is an example of how to handle Scheme-level hooks from C code using + the above functions. +diff --git a/doc/ref/fdl.texi b/doc/ref/fdl.texi +index 17fe148..4866055 100644 +--- a/doc/ref/fdl.texi ++++ b/doc/ref/fdl.texi +@@ -408,7 +408,7 @@ as a draft) by the Free Software Foundation. + @end enumerate + + @page +-@appendixsubsec ADDENDUM: How to use this License for your documents ++@appendixsec ADDENDUM: How to use this License for your documents + + To use this License in a document you have written, include a copy of + the License in the document and put the following copyright and +diff --git a/doc/ref/gh.texi b/doc/ref/gh.texi +index 95dfd92..bbd3af1 100644 +--- a/doc/ref/gh.texi ++++ b/doc/ref/gh.texi +@@ -995,8 +995,8 @@ These correspond to the Scheme @code{(cons a b)} and @code{(list l0 l1 + + @deftypefun SCM gh_car (SCM @var{obj}) + @deftypefunx SCM gh_cdr (SCM @var{obj}) +-@dots{} +- ++@deftypefunx SCM gh_c[ad][ad]r (SCM @var{obj}) ++@deftypefunx SCM gh_c[ad][ad][ad]r (SCM @var{obj}) + @deftypefunx SCM gh_c[ad][ad][ad][ad]r (SCM @var{obj}) + These correspond to the Scheme @code{(caadar ls)} procedures etc @dots{} + @end deftypefun +-- +1.8.2.1 + diff --git a/dev-scheme/guile/files/guile-1.8.8-os_dep.patch b/dev-scheme/guile/files/guile-1.8.8-os_dep.patch new file mode 100644 index 0000000..9fab8da --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-os_dep.patch @@ -0,0 +1,10 @@ +--- a/guile-1.8.8/libguile/gc_os_dep.c ++++ b/guile-1.8.8/libguile/gc_os_dep.c +@@ -1472,6 +1472,7 @@ + /* has the right declaration for glibc 2.1. */ + # include <sigcontext.h> + # endif /* 0 == __GLIBC_MINOR__ */ ++# elif 1 + # else /* not 2 <= __GLIBC__ */ + /* libc5 doesn't have <sigcontext.h>: go directly with the kernel */ + /* one. Check LINUX_VERSION_CODE to see which we should reference. */ diff --git a/dev-scheme/guile/guile-1.8.8-r99.ebuild b/dev-scheme/guile/guile-1.8.8-r99.ebuild new file mode 100644 index 0000000..abfa46e --- /dev/null +++ b/dev-scheme/guile/guile-1.8.8-r99.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.8-r1.ebuild,v 1.16 2013/04/24 22:53:08 pchrist Exp $ + +EAPI=3 +inherit eutils autotools flag-o-matic elisp-common + +DESCRIPTION="Scheme interpreter" +HOMEPAGE="http://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" + +LICENSE="LGPL-2.1" +KEYWORDS="amd64 arm ~mips ppc x86" +IUSE="networking +regex discouraged +deprecated emacs nls debug-freelist debug-malloc debug +threads" +RESTRICT="!regex? ( test )" + +DEPEND=" + >=dev-libs/gmp-4.1 + >=sys-devel/libtool-1.5.6 + sys-devel/gettext + emacs? ( virtual/emacs )" +RDEPEND="${DEPEND}" + +# Guile seems to contain some slotting support, /usr/share/guile/ is slotted, +# but there are lots of collisions. Most in /usr/share/libguile. Therefore +# I'm slotting this in the same slot as guile-1.6* for now. +SLOT="12" +MAJOR="1.8" + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_guile-config.patch" \ + "${FILESDIR}/${P}-gcc46.patch" \ + "${FILESDIR}/${P}-os_dep.patch" \ + "${FILESDIR}/${P}-makeinfo-5.patch" + sed \ + -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g" \ + -e "/AM_PROG_CC_STDC/d" \ + -i guile-readline/configure.in + eautoreconf +} + +src_configure() { + # see bug #178499 + filter-flags -ftree-vectorize + + #will fail for me if posix is disabled or without modules -- hkBst + econf \ + --disable-error-on-warning \ + --disable-static \ + --enable-posix \ + $(use_enable networking) \ + $(use_enable regex) \ + $(use deprecated || use_enable discouraged) \ + $(use_enable deprecated) \ + $(use_enable emacs elisp) \ + $(use_enable nls) \ + --disable-rpath \ + $(use_enable debug-freelist) \ + $(use_enable debug-malloc) \ + $(use_enable debug guile-debug) \ + $(use_with threads) \ + --with-modules \ + EMACS=no +} + +src_compile() { + emake || die "make failed" + + # Above we have disabled the build system's Emacs support; + # for USE=emacs we compile (and install) the files manually + if use emacs; then + cd emacs + elisp-compile *.el || die + fi +} + +src_install() { + einstall || die "install failed" + + dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS || die + + # texmacs needs this, closing bug #23493 + dodir /etc/env.d + echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile + + # necessary for registering slib, see bug 206896 + keepdir /usr/share/guile/site + + if use emacs; then + elisp-install ${PN} emacs/*.{el,elc} || die + elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el" || die + fi +} + +pkg_postinst() { + [ "${EROOT}" == "/" ] && pkg_config + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} + +pkg_config() { + if has_version dev-scheme/slib; then + einfo "Registering slib with guile" + install_slib_for_guile + fi +} + +_pkg_prerm() { + rm -f "${EROOT}"/usr/share/guile/site/slibcat +} diff --git a/dev-scheme/guile/metadata.xml b/dev-scheme/guile/metadata.xml new file mode 100644 index 0000000..a3d993d --- /dev/null +++ b/dev-scheme/guile/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>scheme</herd> + <longdescription lang="en"> +Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows programmers to write plug-ins, or modules (there are many names, but the concept is essentially the same) and users to use them to have an application fit their needs. + </longdescription> + <use> + <flag name='debug-freelist'>Include garbage collector freelist debugging + code</flag> + <flag name='debug-malloc'>Include malloc debugging code</flag> + <flag name='deprecated'>Enable deprecated features</flag> + <flag name='discouraged'> (implied by deprecated) enable merely discouraged + features</flag> + <flag name='networking'>Include networking interfaces</flag> + <flag name='regex'> Include regular expression interfaces</flag> + </use> +</pkgmetadata>
