fix to build libmatheval with guile@2.0: (#8680)
* fix to build libmatheval with guile@2.0: * fixed formatting issues * fixed formatting issues2 * fixed check for autoreconf and renaming of configure.in * fixed force_autoreconf * now patching configure, which is hopefully more robust * minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval) * minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
This commit is contained in:
parent
2386ce4995
commit
eecef8d4a7
3 changed files with 224 additions and 0 deletions
197
var/spack/repos/builtin/packages/libmatheval/guile-2.0.patch
Normal file
197
var/spack/repos/builtin/packages/libmatheval/guile-2.0.patch
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
--- libmatheval-1.1.11-v/configure 2018-07-13 11:16:19.115719477 +0200
|
||||||
|
+++ libmatheval-1.1.11/configure 2018-07-13 11:33:07.914093005 +0200
|
||||||
|
@@ -640,6 +640,7 @@
|
||||||
|
GUILE_CFLAGS
|
||||||
|
GUILE_TOOLS
|
||||||
|
GUILE_CONFIG
|
||||||
|
+GUILE_EFFECTIVE_VERSION
|
||||||
|
GUILE
|
||||||
|
AUTOM4TE
|
||||||
|
YFLAGS
|
||||||
|
@@ -4831,21 +4832,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
# Check whether --with-gnu-ld was given.
|
||||||
|
if test "${with_gnu_ld+set}" = set; then :
|
||||||
|
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
|
||||||
|
@@ -12267,8 +12253,9 @@
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
+# start patch
|
||||||
|
|
||||||
|
-
|
||||||
|
+CPPFLAGS="$GUILE_CFLAGS -DSCM_ENABLE_DEPRECATED=0 $CPPFLAGS"
|
||||||
|
ac_fn_c_check_type "$LINENO" "scm_t_bits" "ac_cv_type_scm_t_bits" "#include <libguile.h>
|
||||||
|
"
|
||||||
|
if test "x$ac_cv_type_scm_t_bits" = xyes; then :
|
||||||
|
@@ -12276,14 +12263,15 @@
|
||||||
|
$as_echo "#define HAVE_SCM_T_BITS 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
-
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_c_define_gsubr in -lguile" >&5
|
||||||
|
-$as_echo_n "checking for scm_c_define_gsubr in -lguile... " >&6; }
|
||||||
|
-if ${ac_cv_lib_guile_scm_c_define_gsubr+:} false; then :
|
||||||
|
+GUILE_EFFECTIVE_VERSION=2.0
|
||||||
|
+as_ac_Lib=`$as_echo "ac_cv_lib_guile-$GUILE_EFFECTIVE_VERSION''_scm_c_define_gsubr" | $as_tr_sh`
|
||||||
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_c_define_gsubr in -lguile-$GUILE_EFFECTIVE_VERSION" >&5
|
||||||
|
+$as_echo_n "checking for scm_c_define_gsubr in -lguile-$GUILE_EFFECTIVE_VERSION... " >&6; }
|
||||||
|
+if eval \${$as_ac_Lib+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
-LIBS="-lguile $GUILE_LDFLAGS $LIBS"
|
||||||
|
+LIBS="-lguile-$GUILE_EFFECTIVE_VERSION $GUILE_LDFLAGS $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
@@ -12303,29 +12291,31 @@
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
- ac_cv_lib_guile_scm_c_define_gsubr=yes
|
||||||
|
+ eval "$as_ac_Lib=yes"
|
||||||
|
else
|
||||||
|
- ac_cv_lib_guile_scm_c_define_gsubr=no
|
||||||
|
+ eval "$as_ac_Lib=no"
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_guile_scm_c_define_gsubr" >&5
|
||||||
|
-$as_echo "$ac_cv_lib_guile_scm_c_define_gsubr" >&6; }
|
||||||
|
-if test "x$ac_cv_lib_guile_scm_c_define_gsubr" = xyes; then :
|
||||||
|
+eval ac_res=\$$as_ac_Lib
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
+$as_echo "$ac_res" >&6; }
|
||||||
|
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_SCM_C_DEFINE_GSUBR 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_make_gsubr in -lguile" >&5
|
||||||
|
-$as_echo_n "checking for scm_make_gsubr in -lguile... " >&6; }
|
||||||
|
-if ${ac_cv_lib_guile_scm_make_gsubr+:} false; then :
|
||||||
|
+as_ac_Lib=`$as_echo "ac_cv_lib_guile-$GUILE_EFFECTIVE_VERSION''_scm_make_gsubr" | $as_tr_sh`
|
||||||
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_make_gsubr in -lguile-$GUILE_EFFECTIVE_VERSION" >&5
|
||||||
|
+$as_echo_n "checking for scm_make_gsubr in -lguile-$GUILE_EFFECTIVE_VERSION... " >&6; }
|
||||||
|
+if eval \${$as_ac_Lib+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
-LIBS="-lguile $GUILE_LDFLAGS $LIBS"
|
||||||
|
+LIBS="-lguile-$GUILE_EFFECTIVE_VERSION $GUILE_LDFLAGS $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
@@ -12345,29 +12335,31 @@
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
- ac_cv_lib_guile_scm_make_gsubr=yes
|
||||||
|
+ eval "$as_ac_Lib=yes"
|
||||||
|
else
|
||||||
|
- ac_cv_lib_guile_scm_make_gsubr=no
|
||||||
|
+ eval "$as_ac_Lib=no"
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_guile_scm_make_gsubr" >&5
|
||||||
|
-$as_echo "$ac_cv_lib_guile_scm_make_gsubr" >&6; }
|
||||||
|
-if test "x$ac_cv_lib_guile_scm_make_gsubr" = xyes; then :
|
||||||
|
+eval ac_res=\$$as_ac_Lib
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
+$as_echo "$ac_res" >&6; }
|
||||||
|
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_SCM_MAKE_GSUBR 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_num2dbl in -lguile" >&5
|
||||||
|
-$as_echo_n "checking for scm_num2dbl in -lguile... " >&6; }
|
||||||
|
-if ${ac_cv_lib_guile_scm_num2dbl+:} false; then :
|
||||||
|
+as_ac_Lib=`$as_echo "ac_cv_lib_guile-$GUILE_EFFECTIVE_VERSION''_scm_num2dbl" | $as_tr_sh`
|
||||||
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for scm_num2dbl in -lguile-$GUILE_EFFECTIVE_VERSION" >&5
|
||||||
|
+$as_echo_n "checking for scm_num2dbl in -lguile-$GUILE_EFFECTIVE_VERSION... " >&6; }
|
||||||
|
+if eval \${$as_ac_Lib+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
-LIBS="-lguile $GUILE_LDFLAGS $LIBS"
|
||||||
|
+LIBS="-lguile-$GUILE_EFFECTIVE_VERSION $GUILE_LDFLAGS $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
@@ -12387,22 +12379,25 @@
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
- ac_cv_lib_guile_scm_num2dbl=yes
|
||||||
|
+ eval "$as_ac_Lib=yes"
|
||||||
|
else
|
||||||
|
- ac_cv_lib_guile_scm_num2dbl=no
|
||||||
|
+ eval "$as_ac_Lib=no"
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_guile_scm_num2dbl" >&5
|
||||||
|
-$as_echo "$ac_cv_lib_guile_scm_num2dbl" >&6; }
|
||||||
|
-if test "x$ac_cv_lib_guile_scm_num2dbl" = xyes; then :
|
||||||
|
+eval ac_res=\$$as_ac_Lib
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
+$as_echo "$ac_res" >&6; }
|
||||||
|
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_SCM_NUM2DBL 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
+# end patch
|
||||||
|
+# end patch
|
||||||
|
|
||||||
|
ac_config_files="$ac_config_files Makefile doc/Makefile lib/Makefile"
|
||||||
|
|
||||||
|
--- libmatheval-1.1.11-v/tests/matheval.c.bak 2018-07-13 12:43:21.718862366 +0200
|
||||||
|
+++ libmatheval-1.1.11/tests/matheval.c 2018-07-13 12:46:34.162597100 +0200
|
||||||
|
@@ -51,7 +51,7 @@
|
||||||
|
|
||||||
|
/* Guile interface for libmatheval library. Procedures below are simple
|
||||||
|
* wrappers for corresponding libmatheval procedures. */
|
||||||
|
-static scm_sizet evaluator_destroy_scm(SCM evaluator_smob);
|
||||||
|
+static size_t evaluator_destroy_scm(SCM evaluator_smob);
|
||||||
|
static SCM evaluator_create_scm(SCM string);
|
||||||
|
static SCM evaluator_evaluate_scm(SCM evaluator_smob, SCM count,
|
||||||
|
SCM names, SCM values);
|
||||||
|
@@ -122,7 +122,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapper for evaluator_destroy() procedure from libmatheval library. */
|
||||||
|
-static scm_sizet
|
||||||
|
+static size_t
|
||||||
|
evaluator_destroy_scm(SCM evaluator_smob)
|
||||||
|
{
|
||||||
|
SCM_ASSERT((SCM_NIMP(evaluator_smob)
|
20
var/spack/repos/builtin/packages/libmatheval/guile-2.2.patch
Normal file
20
var/spack/repos/builtin/packages/libmatheval/guile-2.2.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- libmatheval-1.1.11/Makefile.in.orig 2018-07-13 17:42:03.426339145 +0200
|
||||||
|
+++ libmatheval-1.1.11/Makefile.in 2018-07-13 17:42:24.190310979 +0200
|
||||||
|
@@ -316,7 +316,7 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config.h.in \
|
||||||
|
config.log config.status stamp-h.in $(AUX_DIST)
|
||||||
|
|
||||||
|
-SUBDIRS = doc lib tests
|
||||||
|
+SUBDIRS = doc lib
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = libmatheval.pc
|
||||||
|
all: config.h
|
||||||
|
@@ -863,7 +863,7 @@
|
||||||
|
.PHONY: beauty dist-hook
|
||||||
|
|
||||||
|
beauty:
|
||||||
|
- -for dir in lib tests; do cd $$dir; $(MAKE) $@; cd ..; done
|
||||||
|
+ -for dir in lib ; do cd $$dir; $(MAKE) $@; cd ..; done
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
for file in $(AUX_DIST); do \
|
|
@ -40,3 +40,10 @@ class Libmatheval(AutotoolsPackage):
|
||||||
|
|
||||||
# Only needed for unit tests, but configure crashes without it
|
# Only needed for unit tests, but configure crashes without it
|
||||||
depends_on('guile', type='build')
|
depends_on('guile', type='build')
|
||||||
|
|
||||||
|
# guile 2.0 provides a deprecated interface for the unit test using guile
|
||||||
|
patch('guile-2.0.patch', when='^guile@2.0')
|
||||||
|
|
||||||
|
# guile 2.2 does not support deprecated functions any longer
|
||||||
|
# the patch skips the unit tests
|
||||||
|
patch('guile-2.2.patch', when='^guile@2.2:')
|
||||||
|
|
Loading…
Reference in a new issue