diff options
Diffstat (limited to 'dev-scheme/guile')
20 files changed, 813 insertions, 0 deletions
diff --git a/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest new file mode 100644 index 000000000000..561e67d5b378 --- /dev/null +++ b/dev-scheme/guile/Manifest @@ -0,0 +1,23 @@ +AUX 50guile-gentoo.el 38 BLAKE2B e96c6cf48d1522d89450e11d339c76210c672377208b56951791b83c6ef22b2c872d313084e199dd5d7b533a99106a87dbc7f15b5ee6126f71bf5f2e84165ffa SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5 +AUX guile-1.8.8-fix_guile-config.patch 494 BLAKE2B e7cf0fe161b83e0561c0eac26889c407ed7fba41a79944a1fe060881e31217c40554f1bcc708940102b80dbf27edf3ba8de58850889bb9e3707166e04195f01d SHA512 3ef2bcb31d5b80dfa2f23b8802b98af713230e59aafe773ca3fd847fbdc7759ebb2d19cead1b6b362a6fa504dfff0c2036d5359aa82b601d664eb2a49a98c970 +AUX guile-1.8.8-gcc46.patch 1004 BLAKE2B 6680d9f6a5207078dac634d4504c0b4b7502a2f49dac089d8f5251d8d8cdcc37e408d0f446389ad0fc908ce7ea801ae3c1af59d7b03dd19f3ce7d1175e97ea68 SHA512 0ace93548dde387c344e13f083d79227cd09506e0cf58ac0892f25c43bfcefe9071e83912b921fba120262884fa92aaabe4d07f8337d89b6da73f0f2c077dcfa +AUX guile-1.8.8-gcc5.patch 575 BLAKE2B a8766ca3eaf808ad4547312a11d203422be21e647a0b089c5709e5f747e6c5136a80dc521c118506086b4a7808aa3301e315420262923604a2bf5819a6d637ef SHA512 844a585679f8d1cbdbe9c4c7c5feb21ebca095a522d75db264c0f4c244153a1435a01647955fc98a0743fec48aeac28c1570dbce78bfd026544addba945a1cee +AUX guile-1.8.8-gtexinfo-5.patch 460 BLAKE2B 895480608683caf27dda3d4e92b4c82ecde1a6d27e9e37de445fdf9665cbb432759d75b5cb0340ed9a15d2c3175b48647989bdaebe659c1a1104c221bb43c07e SHA512 19185a96bb6dcf7f1cac1908633d65d8cb673148469553cce4099256d05a94688834a61ddc0a18957f9fe253fffb2821817b4b29a4a604e8c152debb6e3323a6 +AUX guile-1.8.8-makeinfo-5.patch 2361 BLAKE2B 3720979563cba33c9d5058d070717e6c433b1c1e3e0e41a34d83179f1c2ae5bb5cb8a1a445d0da52f714aea18418d492a482d1dcf11ffe689c092a50d8f0191a SHA512 a69ed6cf2fd87c6f3d61cc914eed960fcdebaa151778b1ecf04f1774e6dddf07d17bf90fb3243a08e8c231e391843201d0ba26debedef33199d8dd75f8cbcd09 +AUX guile-1.8.8-mkdir-mask.patch 1300 BLAKE2B 941f4fdeafc769fe6d41b2303f7dc3f7972d5c40cae6c09bf1532171827ac3e284bf812276e0d9b7c276fe8312b306fcef9010b69d3d2dd5d13593e11be904e0 SHA512 e02fa50af16fb545b26560064cc7adb19caf523691dfb22044c1e01fe9c98c42804c3d13ac28d65cb61bf7667fb0f1d4aa703949cea321d382b871abd083454e +AUX guile-1.8.8-readline.patch 953 BLAKE2B e08c20d919b3659f8f4b2bcee26b12d43f2b942c1b12859cacb5ab813fe2aa8790b29cbb694b9c75851d28a7c96e3296345d8c2261175ce6b71a4bd65eec6f1a SHA512 e86e6e7f035f9ff9d541b44987d7cb0e5a1f80f62b7b4a112dc933f5831b90a33b506c6601165e957a3973c38ca56d0e84eafaa76c78ae5db26d7887669f1443 +AUX guile-1.8.8-sandbox.patch 514 BLAKE2B d47f7a6ffc4e67cec738e963ff2ec7c3bfa600992cb49eee6fff248d340811695905a02907ddb8444b6a1d6c8541af1824b0348bbf8230f4e3dba6d4317dad32 SHA512 6786c4c8254ebf0dbfe69402f4781151fcecec0fad8b282b831cb0300721ef22b8c11d4feecbe30643e3783d488c53e3f1158c0b0c76f6beda15fd7c0d6515db +AUX guile-1.8.8-tinfo.patch 450 BLAKE2B 0dcf1728e30034f1e612d666b07cdbf2147dbbe8151a23479d1519f4bc55a0fcf83c37e545592c2a2fb7c7426f026ae3fac0f08d3a36248cd8b27c3d9ae8a618 SHA512 0ea33680a57b1adb0821bd00cd73955e8c2fd5f31c4bd20a291c3e4fbb6a3dd9e2f4977b135f05fa3e2b65b1f5e0f5253db642e7b0b0fcd2e78ff8b6dd1cf37a +AUX guile-2-snarf.patch 1274 BLAKE2B e9efdd1e14560579131ecff748add4f97de730678e6f766681be72f95bf99ab36edd8bc7279701084d13f3fa762968af814760bcf9b8778c73c956c282bb3c93 SHA512 49d015b08d0bcf5d27aa43d4a595b2ccb4366dffe0f5d159162c8c7747fb9fdbe84056a737f3c81a6e39281d91109bfa4aa98c85dd0e757c17ab668a1dd46f24 +AUX guile-2.0.14-darwin.patch 1026 BLAKE2B 9193732cfb74931f7bf8e9b55c5c9dd2621ef6271c8d18190e0ed94d90decde85272f271bbbe7d3c4dd0dd509e51fae3f7f0af42872a0b9ebb87396c9e69a9d2 SHA512 151d19f171656105d87336f81dd8c34273d07a3e88aa03ac5ca8d640c79ab317a90ef06097858bf627e4666fba747faea45237c73e7bc6462d19d8f0d1904d53 +AUX guile-2.0.14-ia64-fix-crash-thread-context-switch.patch 2426 BLAKE2B 5b2073a3780794e9466d8e5434ab98a91a821408ab792abbfaf61d09c95e113b99746b0da850115b4534bda00b1313cef5bb9b08c90c8bf9a04c81b1eb78faa3 SHA512 082f98ac4ee2f40dd3762006bf5c43022088b2286c9a8d63ae9e234d3c8527f3afcfba8076e0c8578e7fbed257294db6ce1a4513661b89f821579dc121d449ae +AUX guile-2.2.3-gentoo-sandbox.patch 361 BLAKE2B 997d4cec108f302f34b42c59c78d420c858f964b8587bed523d95fadedbf9981dd9c196934299413db9c23e940a4b88e798e4fff65cdea1507968494338313ba SHA512 450f44cbd2b3f0c7c02963c35e58e8d0e4a7192239993215b69713d8a1109692ab1e153efe685c27681069477a56e7bc52b34ebd8717a2c8695be8c6b8abe673 +DIST guile-1.8.8.tar.gz 3956654 BLAKE2B 4820d635ac2c57526c0c03f3e0e6e4ac4276533ea8db15e6d1b759c33edec094a1a4bdc3e09ccae61f1b271d63565063746feea242a90c18cd575775444a42ef SHA512 ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0 +DIST guile-2.0.13.tar.gz 7808173 BLAKE2B e1d59356173b54595512c0322ac596ccf46f5668467f3ccc59ba9fdf41bb0b035827da173175e9389448cabef05997fb170baf2897ac4a9dddc4064d6af2b53b SHA512 79fd5fda5064331eb687934ec3eaf07943f5b23bd05fbce23ab5ee3698864250b33746e33b8f074692b56f7b428dac42ed5d3f5b9dc17d171aa6dfadc1625b00 +DIST guile-2.0.14.tar.gz 7823099 BLAKE2B e7fa5a4ca19dc4adfcc151350b0ed4e211b8470b0d12f65451697a818c3139a4a5992a019bd213114748230cb15ec755d1af70d42b901230854915c0ee7b05de SHA512 d69c9bdf589fedcc227f3203012f6ed11c327cef3a0147d8e016fe276abecdb4272625efe1d0c7aa68219fe8f29bbced44089a4b479e4eafe01976c6b2b83633 +DIST guile-2.2.3.tar.gz 17266587 BLAKE2B 68751b881bca53e7ab04038483aa8c5a689978d1017e4c944a8142e301e2e13d5ffd2aba73f7b0aa27efd84d068558b96a88452d1e0b79dc04db1921e22a621d SHA512 31df17d28177badf63e1eb0d0d64e6a4d2abe64d4d5e69d8ff33a24dfb10abd25109ea9abfa86f5ff303b43665eb5b8127927f683f3b16139c5b3dc99f06f6fd +EBUILD guile-1.8.8-r3.ebuild 3106 BLAKE2B 1f080be08e9d7f69292edfc990466c5c89bd8d312889f798c23c9f29e4d3a689c62288aa669cf09111ae639680bcfb38e509a79cfc44b5151be33b6e433d35d1 SHA512 e83ecd2c5939e940a0b7203bb9e1cdb0e38dac1533d3652155fcfbaaa5009cc243859c800214e4aa0512efba87ccaa08f451fda236dfa3cf7f26897b1f9cfcb8 +EBUILD guile-2.0.13-r2.ebuild 2107 BLAKE2B 1bb3fbed942d57a410549298d16e933c1daaa0c06d167e53ed8ccd6c1b584ffd72bfba09ba066053497b561977514585612d83d3f46784521dbe04140e6f73f2 SHA512 ba403bede09718d687930d77d8bec64cd16c93531de0234fc4b4fcd2711b97cde63af1b5d1c7a65dbd7619cca94b4923388ac85528ee6fba0615a10f1addd8e8 +EBUILD guile-2.0.14-r3.ebuild 2243 BLAKE2B 55335cd62d01e3054d24e92258c8c18fae754fa143d8f2b07c38a543344c24ee50a03f9a12b6978c86ce9fd369a666380c759ffac34714dc68dd439cac0af0d4 SHA512 0a2f1c77ac08995c1a60596c634178795c9c3bac2140bf3aa131cc1d89dc2230483b7b05e7afed220217904e3eee488201069cdd4a6181a5e0aa6e6ce8fa7947 +EBUILD guile-2.2.3.ebuild 2016 BLAKE2B 2ae8537a627d4880c93f7a317de57c001685bb1cdc7a07aed1c2b81e01b11b029ee364b0ccc28893ce23236ad7a48fdc1aec8738a7ffc5bf10ac5f77ab867393 SHA512 ddeb74589c283bcd2d767c2670ec57f9d67477f3dbdbb8dcc40dfa8c68c5de7f73616f03e979b2292e91cff4fb05e89b33f319e42387006a120d2199054a7da1 +MISC metadata.xml 1040 BLAKE2B ea7db45fc50b1b17b90948224837643278741aa84fe75e7d3fa3716711060f8aef189124d4491238aa0a72c4e0364d940fcf5d38fb4a178ff0ac7c7039138751 SHA512 6c44b82f0c361f23d377e34fd88249c4e601b215c1bb183afb8cac27bf105b314d5138877b05bf3144a3c60f5b240e4e76ca3fabf151e1182cc913825a093cf3 diff --git a/dev-scheme/guile/files/50guile-gentoo.el b/dev-scheme/guile/files/50guile-gentoo.el new file mode 100644 index 000000000000..431f7e90ae73 --- /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 000000000000..2b04426ebd96 --- /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 000000000000..b06a0e59eb14 --- /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-gcc5.patch b/dev-scheme/guile/files/guile-1.8.8-gcc5.patch new file mode 100644 index 000000000000..742ea0ba9de2 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-gcc5.patch @@ -0,0 +1,15 @@ +Preprocessor changes in GCC 5 cause guile-snarf to output garbage. + +https://bugs.gentoo.org/560736 + +--- a/libguile/guile-snarf.in ++++ b/libguile/guile-snarf.in +@@ -50,7 +50,7 @@ + ## Apparently, AIX's preprocessor is unhappy if you try to #include an + ## empty file. + echo "/* cpp arguments: $@ */" ; +- ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true ++ ${cpp} -P -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true + grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/" + } + diff --git a/dev-scheme/guile/files/guile-1.8.8-gtexinfo-5.patch b/dev-scheme/guile/files/guile-1.8.8-gtexinfo-5.patch new file mode 100644 index 000000000000..d7fbda15c101 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-gtexinfo-5.patch @@ -0,0 +1,15 @@ +$NetBSD: patch-doc_tutorial_guile-tut.texi,v 1.1 2013/11/30 07:06:25 dsainty Exp $
+
+Compatibility with gtexinfo 5.2
+
+--- doc/tutorial/guile-tut.texi 2010-12-14 06:24:39.000000000 +1300
++++ doc/tutorial/guile-tut.texi 2013-11-30 19:44:28.304575529 +1300
+@@ -446,7 +446,7 @@
+ Schemer} from that list.}
+
+
+-@subsection Hello World
++@section Hello World
+ @cindex hello world
+
+ Our first program is the typical Scheme "hello world" program. Put the
\ No newline at end of file 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 000000000000..9f3a02c18c65 --- /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 <cyp@fulax.fr> +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-mkdir-mask.patch b/dev-scheme/guile/files/guile-1.8.8-mkdir-mask.patch new file mode 100644 index 000000000000..7d1c703835f1 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-mkdir-mask.patch @@ -0,0 +1,35 @@ +--- a/libguile/filesys.c 2016-11-05 15:03:52.131894648 +0100 ++++ b/libguile/filesys.c 2016-11-05 15:07:13.275894481 +0100 +@@ -791,24 +791,18 @@ + SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0, + (SCM path, SCM mode), + "Create a new directory named by @var{path}. If @var{mode} is omitted\n" +- "then the permissions of the directory file are set using the current\n" +- "umask. Otherwise they are set to the decimal value specified with\n" +- "@var{mode}. The return value is unspecified.") ++ "then the permissions of the directory are set to @code{#o777}\n" ++ "masked with the current umask (@pxref{Processes, @code{umask}}).\n" ++ "Otherwise they are set to the value specified with @var{mode}.\n" ++ "The return value is unspecified.") + #define FUNC_NAME s_scm_mkdir + { + int rv; +- mode_t mask; ++ mode_t c_mode; + +- if (SCM_UNBNDP (mode)) +- { +- mask = umask (0); +- umask (mask); +- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, 0777 ^ mask)); +- } +- else +- { +- STRING_SYSCALL (path, c_path, rv = mkdir (c_path, scm_to_uint (mode))); +- } ++ c_mode = SCM_UNBNDP (mode) ? 0777 : scm_to_uint (mode); ++ ++ STRING_SYSCALL (path, c_path, rv = mkdir (c_path, c_mode)); + if (rv != 0) + SCM_SYSERROR; + return SCM_UNSPECIFIED; diff --git a/dev-scheme/guile/files/guile-1.8.8-readline.patch b/dev-scheme/guile/files/guile-1.8.8-readline.patch new file mode 100644 index 000000000000..68f64c528a4b --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-readline.patch @@ -0,0 +1,34 @@ +Make guile-readline optional + +https://bugs.gentoo.org/392553 + +--- a/Makefile.am ++++ b/Makefile.am +@@ -24,7 +24,7 @@ + # + AUTOMAKE_OPTIONS = 1.10 + +-SUBDIRS = oop libguile ice-9 guile-config guile-readline emacs \ ++SUBDIRS = oop libguile ice-9 guile-config @GUILE_READLINE@ emacs \ + scripts srfi doc examples test-suite benchmark-suite lang am + + bin_SCRIPTS = guile-tools +--- a/configure.in ++++ b/configure.in +@@ -57,7 +57,15 @@ AH_TOP(/*GUILE_CONFIGURE_COPYRIGHT*/) + # + #-------------------------------------------------------------------- + +-AC_CONFIG_SUBDIRS(guile-readline) ++GUILE_READLINE= ++AC_ARG_ENABLE([readline], ++ [AS_HELP_STRING([--disable-readline], ++ [disable building guile-readline])], ++ if test "x$enable_readline" != xno; then ++ AC_CONFIG_SUBDIRS([guile-readline]) ++ GUILE_READLINE="guile-readline" ++ fi) ++AC_SUBST([GUILE_READLINE]) + + #-------------------------------------------------------------------- + diff --git a/dev-scheme/guile/files/guile-1.8.8-sandbox.patch b/dev-scheme/guile/files/guile-1.8.8-sandbox.patch new file mode 100644 index 000000000000..70d752fdae97 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-sandbox.patch @@ -0,0 +1,15 @@ +Prevent sandbox violation when installing + +https://bugs.gentoo.org/521546 + +--- a/guile-config/Makefile.am ++++ b/guile-config/Makefile.am +@@ -39,8 +39,3 @@ guile-config: guile-config.in ${top_builddir}/libguile/libpath.h + -e s:@-GUILE_VERSION-@:${GUILE_VERSION}: + chmod +x guile-config.tmp + mv guile-config.tmp guile-config +- +-## Get rid of any copies of the configuration script under the old +-## name, so people don't end up running ancient copies of it. +-install-exec-local: +- rm -f ${bindir}/build-guile diff --git a/dev-scheme/guile/files/guile-1.8.8-tinfo.patch b/dev-scheme/guile/files/guile-1.8.8-tinfo.patch new file mode 100644 index 000000000000..6c4d0116246e --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-tinfo.patch @@ -0,0 +1,15 @@ +With ncurses[tinfo] tgoto will be in libtinfo + +https://bugs.gentoo.org/539316 + +--- a/guile-readline/configure.in ++++ b/guile-readline/configure.in +@@ -33,7 +33,7 @@ if test "$MINGW32" = "yes" ; then + fi + AC_SUBST(EXTRA_DEFS) + +-for termlib in ncurses curses termcap terminfo termlib ; do ++for termlib in ncurses curses termcap terminfo termlib tinfo ; do + AC_CHECK_LIB(${termlib}, tgoto, + [LIBS="-l${termlib} $LIBS"; break]) + done diff --git a/dev-scheme/guile/files/guile-2-snarf.patch b/dev-scheme/guile/files/guile-2-snarf.patch new file mode 100644 index 000000000000..c6ab5cd48cd6 --- /dev/null +++ b/dev-scheme/guile/files/guile-2-snarf.patch @@ -0,0 +1,47 @@ +From f775ab3654357fcaad294b95efb0b1c16de1eda8 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Sun, 19 Feb 2017 22:58:40 +0000 +Subject: guile-snarf: skip -g* arguments to avoid build failure + +* libguile/guile-snarf.in: skip -g* arguments to avoid failure on + -ggdb3. + +Bug: https://bugs.gentoo.org/608190 +Bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25803 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + libguile/guile-snarf.in | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +diff --git a/libguile/guile-snarf.in b/libguile/guile-snarf.in +index 47bbc04..22dc1d3 100644 +--- a/libguile/guile-snarf.in ++++ b/libguile/guile-snarf.in +@@ -95,10 +95,22 @@ if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi + + trap "rm -rf $tempdir" 0 1 2 15 + ++# filter out -g* flags from commandline ++# as some flags like -ggdb3 cause CPP ++ ++cpp_args="" ++for arg in "$@" ++do ++ case "$arg" in ++ -g*) ;; # skip debug flag ++ *) cpp_args="$cpp_args $arg" ;; ++ esac ++done ++ + if [ ! "$outfile" = "-" ] ; then +- modern_snarf "$@" > $outfile ++ modern_snarf $cpp_args > $outfile + else +- modern_snarf "$@" ++ modern_snarf $cpp_args + fi + + # zonk outfile if errors occurred +-- +cgit v1.0-41-gc330 + diff --git a/dev-scheme/guile/files/guile-2.0.14-darwin.patch b/dev-scheme/guile/files/guile-2.0.14-darwin.patch new file mode 100644 index 000000000000..17741ae352c2 --- /dev/null +++ b/dev-scheme/guile/files/guile-2.0.14-darwin.patch @@ -0,0 +1,38 @@ +fix compilation on Darwin + +https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23 +https://bugs.gentoo.org/show_bug.cgi?id=612338 + +--- guile-2.0.14/libguile/filesys.c ++++ guile-2.0.14/libguile/filesys.c +@@ -1486,6 +1486,9 @@ + mode_bits = scm_i_mode_bits (mode); + } + ++#ifdef __APPLE__ ++ open_flags &= O_APPEND|O_SHLOCK|O_EXLOCK|O_CLOEXEC; ++#endif + SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags)); + if (rv == -1) + SCM_SYSERROR; +--- guile-2.0.14/libguile/stime.c ++++ guile-2.0.14/libguile/stime.c +@@ -830,6 +830,10 @@ + + #ifdef HAVE_POSIX_CPUTIME + { ++#ifdef __APPLE__ ++ if (clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &posix_run_time_base) == 0) ++ get_internal_run_time = get_internal_run_time_posix_timer; ++#else + clockid_t dummy; + + /* Only use the _POSIX_CPUTIME clock if it's going to work across +@@ -839,6 +843,7 @@ + get_internal_run_time = get_internal_run_time_posix_timer; + else + errno = 0; ++#endif + } + #endif /* HAVE_POSIX_CPUTIME */ + #endif /* HAVE_CLOCKTIME */ diff --git a/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch b/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch new file mode 100644 index 000000000000..c2f136ddd104 --- /dev/null +++ b/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch @@ -0,0 +1,63 @@ +From f92888853439a8ded221f3423865c78de2a96a14 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Sun, 5 Nov 2017 09:30:45 +0000 +Subject: ia64: Fix crash in thread context switch. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes <https://bugs.gnu.org/29151> and <https://bugs.gentoo.org/613986>. + +Backtrace looks like that: + + Program terminated with signal SIGSEGV, Segmentation fault. + #0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372 + 372 t->pending_rbs_continuation->backing_store, + [Current thread is 1 (Thread 0x2000000000049340 (LWP 8190))] + (gdb) bt + #0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372 + #1 0x2000000000148e00 in scm_c_abort (vm=0x60000000000edea0, tag=0x6000000000795ba0, n=0, argv=0x60000fffff7f0ce0, cookie=-1) at control.c:239 + #2 0x2000000000149070 in scm_at_abort (tag=0x6000000000795ba0, args=0x304) at control.c:258 + (gdb) print t + $2 = (scm_i_thread *) 0x6000000000068000 + (gdb) print t->pending_rbs_continuation + $3 = (scm_t_contregs *) 0xffeb + +The problem here is the value of 't->pending_rbs_continuation' pointer. +It's supposed to poin to a register stack pointer or be NULL if not yet +backed up. + +The problem is it is never initialized to NULL at creation time and +contained garbage on stack. Sometimes people are lucky and have zeros +on stack and guile works. But sometimes there is something and guile +crashes. + +The fix is trivial: initialize 'pending_rbs_continuation = NULL' +at thread registration time (the same way other threads are registered). + +Reported-by: Matt Turner + +* libguile/threads.c (guilify_self_1): Initialize pending_rbs_continuation +to avoid crash on ia64. + +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +Signed-off-by: Ludovic Courtès <ludo@gnu.org> +--- + libguile/threads.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libguile/threads.c b/libguile/threads.c +index 9ceb5b8..770f62c 100644 +--- a/libguile/threads.c ++++ b/libguile/threads.c +@@ -395,6 +395,7 @@ guilify_self_1 (struct GC_stack_base *base, int needs_unregister) + t.base = base->mem_base; + #ifdef __ia64__ + t.register_backing_store_base = base->reg_base; ++ t.pending_rbs_continuation = 0; + #endif + t.continuation_root = SCM_EOL; + t.continuation_base = t.base; +-- +cgit v1.0-41-gc330 + diff --git a/dev-scheme/guile/files/guile-2.2.3-gentoo-sandbox.patch b/dev-scheme/guile/files/guile-2.2.3-gentoo-sandbox.patch new file mode 100644 index 000000000000..1cded2d2c924 --- /dev/null +++ b/dev-scheme/guile/files/guile-2.2.3-gentoo-sandbox.patch @@ -0,0 +1,10 @@ +diff --git a/test-suite/standalone/test-out-of-memory b/test-suite/standalone/test-out-of-memory +index 2216512..0ed6079 100755 +--- a/test-suite/standalone/test-out-of-memory ++++ b/test-suite/standalone/test-out-of-memory +@@ -5,2 +5,5 @@ exec guile -q -s "$0" "$@" + ++; Gentoo's sandbox does not handle OOM gracefully ++(exit 77) ++ + (unless (defined? 'setrlimit) diff --git a/dev-scheme/guile/guile-1.8.8-r3.ebuild b/dev-scheme/guile/guile-1.8.8-r3.ebuild new file mode 100644 index 000000000000..c2740abb37d5 --- /dev/null +++ b/dev-scheme/guile/guile-1.8.8-r3.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils autotools flag-o-matic elisp-common + +DESCRIPTION="Scheme interpreter" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" + +LICENSE="LGPL-2.1" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="debug debug-freelist debug-malloc +deprecated discouraged emacs networking nls readline +regex +threads" + +RESTRICT="!regex? ( test )" + +RDEPEND=" + >=dev-libs/gmp-4.1:0= + dev-libs/libltdl:0= + sys-devel/gettext + sys-libs/ncurses:0= + emacs? ( virtual/emacs ) + readline? ( sys-libs/readline:0= )" +DEPEND="${RDEPEND} + sys-apps/texinfo + sys-devel/libtool" + +# 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/8" +MAJOR="1.8" + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_guile-config.patch" \ + "${FILESDIR}/${P}-gcc46.patch" \ + "${FILESDIR}/${P}-gcc5.patch" \ + "${FILESDIR}/${P}-makeinfo-5.patch" \ + "${FILESDIR}/${P}-gtexinfo-5.patch" \ + "${FILESDIR}/${P}-readline.patch" \ + "${FILESDIR}/${P}-tinfo.patch" \ + "${FILESDIR}/${P}-sandbox.patch" \ + "${FILESDIR}/${P}-mkdir-mask.patch" + + sed \ + -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g" \ + -e "/AM_PROG_CC_STDC/d" \ + -i guile-readline/configure.in || die + + epatch_user + + mv "${S}"/configure.{in,ac} || die + mv "${S}"/guile-readline/configure.{in,ac} || die + + 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 readline) \ + $(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 + + # 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 || die + elisp-compile *.el || die + fi +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS + + # texmacs needs this, closing bug #23493 + dodir /etc/env.d + echo "GUILE_LOAD_PATH=\"${EPREFIX}/usr/share/guile/${MAJOR}\"" > "${ED}"/etc/env.d/50guile || die + + # 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() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-scheme/guile/guile-2.0.13-r2.ebuild b/dev-scheme/guile/guile-2.0.13-r2.ebuild new file mode 100644 index 000000000000..037cc1595b2b --- /dev/null +++ b/dev-scheme/guile/guile-2.0.13-r2.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit flag-o-matic autotools + +DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +LICENSE="LGPL-3+" +IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls +# emacs useflag removal not working + +# workaround for bug 596322 +REQUIRED_USE="regex" + +RDEPEND=" + >=dev-libs/boehm-gc-7.0:=[threads?] + dev-libs/gmp:= + virtual/libffi + dev-libs/libltdl:= + dev-libs/libunistring:0= + sys-devel/libtool + sys-libs/ncurses:0= + sys-libs/readline:0=" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-apps/texinfo + sys-devel/gettext" + +SLOT="12/22" # subslot is soname version +MAJOR="2.0" + +DOCS=( GUILE-VERSION HACKING README ) + +PATCHES=( "${FILESDIR}/${PN}-2-snarf.patch" ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # see bug #178499 + filter-flags -ftree-vectorize + + econf \ + --disable-error-on-warning \ + --disable-rpath \ + --enable-posix \ + --without-libgmp-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libltdl-prefix \ + --without-libreadline-prefix \ + --without-libunistring-prefix \ + $(use_enable debug guile-debug) \ + $(use_enable debug-malloc) \ + $(use_enable deprecated) \ + $(use_enable networking) \ + $(use_enable nls) \ + $(use_enable regex) \ + $(use_with threads) +} + +src_install() { + default + + # From Novell + # https://bugzilla.novell.com/show_bug.cgi?id=874028#c0 + dodir /usr/share/gdb/auto-load/$(get_libdir) + mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die + + # necessary for registering slib, see bug 206896 + keepdir /usr/share/guile/site + + # Dark magic necessary for some deps + dosym libguile-2.0.so /usr/$(get_libdir)/libguile.so +} diff --git a/dev-scheme/guile/guile-2.0.14-r3.ebuild b/dev-scheme/guile/guile-2.0.14-r3.ebuild new file mode 100644 index 000000000000..7e73e36e14d0 --- /dev/null +++ b/dev-scheme/guile/guile-2.0.14-r3.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit flag-o-matic autotools ltprune + +DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +LICENSE="LGPL-3+" +IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls +# emacs useflag removal not working + +# workaround for bug 596322 +REQUIRED_USE="regex" + +RDEPEND=" + >=dev-libs/boehm-gc-7.0:=[threads?] + dev-libs/gmp:= + virtual/libffi + dev-libs/libltdl:= + dev-libs/libunistring:0= + sys-devel/libtool + sys-libs/ncurses:0= + sys-libs/readline:0=" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-apps/texinfo + sys-devel/gettext" + +SLOT="12/22" # subslot is soname version +MAJOR="2.0" + +DOCS=( GUILE-VERSION HACKING README ) + +PATCHES=( + "${FILESDIR}/${PN}-2-snarf.patch" + "${FILESDIR}/${P}-darwin.patch" + "${FILESDIR}/${P}-ia64-fix-crash-thread-context-switch.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # see bug #178499 + filter-flags -ftree-vectorize + + econf \ + --disable-error-on-warning \ + --disable-rpath \ + --disable-static \ + --enable-posix \ + --without-libgmp-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libltdl-prefix \ + --without-libreadline-prefix \ + --without-libunistring-prefix \ + $(use_enable debug guile-debug) \ + $(use_enable debug-malloc) \ + $(use_enable deprecated) \ + $(use_enable networking) \ + $(use_enable nls) \ + $(use_enable regex) \ + $(use_with threads) +} + +src_install() { + default + prune_libtool_files + + # From Novell + # https://bugzilla.novell.com/show_bug.cgi?id=874028#c0 + dodir /usr/share/gdb/auto-load/$(get_libdir) + mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die + + # necessary for registering slib, see bug 206896 + keepdir /usr/share/guile/site + + # Dark magic necessary for some deps + dosym libguile-2.0.so /usr/$(get_libdir)/libguile.so +} diff --git a/dev-scheme/guile/guile-2.2.3.ebuild b/dev-scheme/guile/guile-2.2.3.ebuild new file mode 100644 index 000000000000..895f6d9e02bc --- /dev/null +++ b/dev-scheme/guile/guile-2.2.3.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic + +MAJOR="2.2" +DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.gz" + +LICENSE="LGPL-3+" +SLOT="12/2.2-1" # libguile-2.2.so.1 => 2.2-1 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls +REQUIRED_USE="regex" # workaround for bug 596322 +RESTRICT="strip" + +RDEPEND=" + >=dev-libs/boehm-gc-7.0:=[threads?] + dev-libs/gmp:= + virtual/libffi + dev-libs/libltdl:= + dev-libs/libunistring:0= + sys-devel/libtool + sys-libs/ncurses:0= + sys-libs/readline:0=" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-apps/texinfo + sys-devel/gettext" + +PATCHES=( "${FILESDIR}/${P}-gentoo-sandbox.patch" ) +DOCS=( GUILE-VERSION HACKING README ) + +src_configure() { + # see bug #178499 + filter-flags -ftree-vectorize + + econf \ + --disable-error-on-warning \ + --disable-rpath \ + --disable-static \ + --enable-posix \ + --without-libgmp-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libltdl-prefix \ + --without-libreadline-prefix \ + --without-libunistring-prefix \ + $(use_enable debug guile-debug) \ + $(use_enable debug-malloc) \ + $(use_enable deprecated) \ + $(use_enable networking) \ + $(use_enable nls) \ + $(use_enable regex) \ + $(use_with threads) +} + +src_install() { + default + + # From Novell + # https://bugzilla.novell.com/show_bug.cgi?id=874028#c0 + dodir /usr/share/gdb/auto-load/$(get_libdir) + mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die + + # necessary for registering slib, see bug 206896 + keepdir /usr/share/guile/site + + find "${D}" -name '*.la' -delete || die +} diff --git a/dev-scheme/guile/metadata.xml b/dev-scheme/guile/metadata.xml new file mode 100644 index 000000000000..02c7884936bb --- /dev/null +++ b/dev-scheme/guile/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>scheme@gentoo.org</email> + <name>Gentoo Scheme Project</name> + </maintainer> + <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> |