Aurelien Larcher
2017-11-02 70a0a1b397d875e5e83fde93f7edaacdfcd7019b
clisp: update gcc patch and fix build
2 files added
1 files modified
1 files renamed
124 ■■■■■ changed files
components/runtime/clisp/Makefile 4 ●●● patch | view | raw | blame | history
components/runtime/clisp/patches/gcc-opt-flags.patch 14 ●●●● patch | view | raw | blame | history
components/runtime/clisp/patches/linking-paths.patch 90 ●●●●● patch | view | raw | blame | history
components/runtime/clisp/patches/modules_readline_readline.patch 16 ●●●●● patch | view | raw | blame | history
components/runtime/clisp/Makefile
@@ -27,7 +27,7 @@
COMPONENT_NAME=        clisp
COMPONENT_VERSION=    2.49
COMPONENT_REVISION=    2
COMPONENT_REVISION=    3
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_PROJECT_URL=    http://clisp.cons.org/
COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.bz2
@@ -67,6 +67,8 @@
CONFIGURE_OPTIONS += --srcdir=$(SOURCE_DIR)
CONFIGURE_OPTIONS += --with-libsigsegv-prefix=$(CONFIGURE_PREFIX)
CONFIGURE_OPTIONS += --with-libreadline-prefix=$(CONFIGURE_PREFIX)
# Workaround invalid configure guess
CONFIGURE_OPTIONS += gl_cv_func_mbrtowc_retval=yes
# For now keep ASLR disabled for clisp (the default); build may core dump with ASLR
# ASLR_MODE = $(ASLR_DISABLE)
components/runtime/clisp/patches/gcc-opt-flags.patch
File was renamed from components/runtime/clisp/patches/gcc53.patch
@@ -1,3 +1,9 @@
Optimization flags should be set otherwise:
_CODE_ALIGNMENT is wrong. &QUOTE = 0x8090a56.
Add -falign-functions=4 to CFLAGS in the Makefile.
--- src/intparam.c.1    2016-05-13 14:08:54.137339146 +0300
+++ src/intparam.c    2016-05-13 14:09:01.660360716 +0300
@@ -8,7 +8,6 @@
@@ -15,7 +21,7 @@
     case "$XCC_GCC_VERSION" in
       # gcc 2.7 introduced an annoying warning, but gcc 2.8 has a workaround:
-      2.[8-9]* | 3.* | 4.* | egcs-2.*)
+      2.[8-9]* | 3.* | 4.* | 5.* | egcs-2.*)
+      2.[8-9]* | 3.* | 4.* | 5.* | 6.* | 7.* | egcs-2.*)
         XCFLAGS=$XCFLAGS' -Wno-sign-compare -Wno-format-nonliteral'
         ;;
       * ) ;;
@@ -24,7 +30,7 @@
     case "$XCC_GCC_VERSION" in
       # g++ 3.4 introduced an annoying warning, but has a workaround:
-      3.[4-9]* | 4.*)
+      3.[4-9]* | 4.* | 5.*)
+      3.[4-9]* | 4.* | 5.* | 6.* | 7.*)
         XCFLAGS=$XCFLAGS' -Wno-invalid-offsetof'
         ;;
       * ) ;;
@@ -33,7 +39,7 @@
             # also fixed through the specs file of some Linux distributions).
             XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations -fno-strength-reduce' ;;
-          2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | egcs-2.*)
+          2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | 5.* | egcs-2.*)
+          2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | 5.* | 6.* | 7.*| egcs-2.*)
             XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations' ;;
           * )
             XCFLAGS=$XCFLAGS' -O' ;;
@@ -42,7 +48,7 @@
   fi # !DEBUGGING
   case "$XCC_GCC_VERSION" in
-    3* | 4*)
+    3* | 4* | 5*)
+    3* | 4* | 5* | 6* | 7*)
       # When not optimizing on linux, or with Apple's gcc 4 on MacOS X,
       # or with GCC 4 when "gcc -Os" is used:
       #   C_CODE_ALIGNMENT is wrong. &EVAL-WHEN = 0x806D512
components/runtime/clisp/patches/linking-paths.patch
New file
@@ -0,0 +1,90 @@
$NetBSD: patch-src_configure,v 1.2 2014/05/14 11:24:25 jperkin Exp $
Fix shell syntax.
--- src/configure.orig    2010-07-07 17:22:03.000000000 +0000
+++ src/configure
@@ -17045,7 +17045,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }-R$found_dir"
+      LTLIBSIGSEGV="${LTLIBSIGSEGV}${LTLIBSIGSEGV:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
@@ -20036,7 +20036,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
@@ -21458,7 +21458,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
@@ -22136,7 +22136,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBAVCALL="${LTLIBAVCALL}${LTLIBAVCALL:+ }-R$found_dir"
+      LTLIBAVCALL="${LTLIBAVCALL}${LTLIBAVCALL:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
@@ -22650,7 +22650,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBCALLBACK="${LTLIBCALLBACK}${LTLIBCALLBACK:+ }-R$found_dir"
+      LTLIBCALLBACK="${LTLIBCALLBACK}${LTLIBCALLBACK:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
@@ -22898,7 +22898,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cl_cv_have_ffcall" >&5
 $as_echo "$cl_cv_have_ffcall" >&6; }
 if test $cl_use_ffcall = yes -a $cl_cv_have_ffcall = no; then
-  if  "$ac_cv_build" = "$ac_cv_host" ; then host_arg="";
+  if test "$ac_cv_build" = "$ac_cv_host" ; then host_arg="";
   else host_arg=" --host=$ac_cv_host";
   fi
   as_fn_error "despite --with-ffcall, FFCALL was not found
@@ -23566,9 +23566,9 @@ _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-       X_LIBS="$X_LIBS -R$x_libraries"
+       X_LIBS="$X_LIBS ${COMPILER_RPATH_FLAG}$x_libraries"
 else
-  LIBS="$ac_xsave_LIBS -R $x_libraries"
+  LIBS="$ac_xsave_LIBS ${COMPILER_RPATH_FLAG}$x_libraries"
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -23583,7 +23583,7 @@ _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-      X_LIBS="$X_LIBS -R $x_libraries"
+      X_LIBS="$X_LIBS ${COMPILER_RPATH_FLAG}$x_libraries"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
 $as_echo "neither works" >&6; }
@@ -29120,7 +29120,7 @@ fi
   fi
   if test "X$ltrpathdirs" != "X"; then
             for found_dir in $ltrpathdirs; do
-      LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }-R$found_dir"
+      LTLIBREADLINE="${LTLIBREADLINE}${LTLIBREADLINE:+ }${COMPILER_RPATH_FLAG}$found_dir"
     done
   fi
components/runtime/clisp/patches/modules_readline_readline.patch
New file
@@ -0,0 +1,16 @@
$NetBSD: patch-modules_readline_readline.lisp,v 1.2 2016/09/20 14:14:08 wiz Exp $
rl_readline_state changed from int to unsigned long in readline-7.0.
https://sourceforge.net/p/clisp/bugs/688/
--- modules/readline/readline.lisp.orig    2010-01-06 22:18:03.000000000 +0000
+++ modules/readline/readline.lisp
@@ -424,7 +424,7 @@ name in ~/.inputrc. This is preferred wa
    "The version of this incarnation of the readline library, e.g., 0x0402."))
 (def-c-var gnu-readline-p (:name "rl_gnu_readline_p") (:type int)
   (:documentation "True if this is real GNU readline."))
-(def-c-var readline-state (:name "rl_readline_state") (:type int)
+(def-c-var readline-state (:name "rl_readline_state") (:type ulong)
   (:documentation "Flags word encapsulating the current readline state."))
 (def-c-var editing-mode (:name "rl_editing_mode") (:type int)
   (:documentation "Says which editing mode readline is currently using.