From 6dc36cfe05b824d9e77ce42897d19479dc5bbf63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Sat, 25 Apr 2020 20:48:39 +0200 Subject: [PATCH] ecl: use system libffi; add target arch *.conf --- srcpkgs/ecl/files/aarch64-musl.conf | 2 +- srcpkgs/ecl/files/aarch64.conf | 2 +- srcpkgs/ecl/files/armv5tel-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/armv5tel.conf | 63 +++++++++++++ srcpkgs/ecl/files/mips-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/mipsel-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/mipselhf-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/mipshf-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc64-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc64.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc64le-musl.conf | 63 +++++++++++++ srcpkgs/ecl/files/ppc64le.conf | 63 +++++++++++++ srcpkgs/ecl/patches/fix-libffi-system.patch | 15 ++++ srcpkgs/ecl/patches/fix-math_fenv_h.patch | 99 +++++++++++++++++++++ srcpkgs/ecl/template | 7 +- 17 files changed, 876 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/ecl/files/armv5tel-musl.conf create mode 100644 srcpkgs/ecl/files/armv5tel.conf create mode 100644 srcpkgs/ecl/files/mips-musl.conf create mode 100644 srcpkgs/ecl/files/mipsel-musl.conf create mode 100644 srcpkgs/ecl/files/mipselhf-musl.conf create mode 100644 srcpkgs/ecl/files/mipshf-musl.conf create mode 100644 srcpkgs/ecl/files/ppc-musl.conf create mode 100644 srcpkgs/ecl/files/ppc.conf create mode 100644 srcpkgs/ecl/files/ppc64-musl.conf create mode 100644 srcpkgs/ecl/files/ppc64.conf create mode 100644 srcpkgs/ecl/files/ppc64le-musl.conf create mode 100644 srcpkgs/ecl/files/ppc64le.conf create mode 100644 srcpkgs/ecl/patches/fix-libffi-system.patch create mode 100644 srcpkgs/ecl/patches/fix-math_fenv_h.patch diff --git a/srcpkgs/ecl/files/aarch64-musl.conf b/srcpkgs/ecl/files/aarch64-musl.conf index 120bb1271d4..048053eeb06 100644 --- a/srcpkgs/ecl/files/aarch64-musl.conf +++ b/srcpkgs/ecl/files/aarch64-musl.conf @@ -60,4 +60,4 @@ ECL_WORKING_ENVIRON=yes ### x86_64-unknown-linux-gnu ### By default we assume that ECL can be accessed from some directory in ### the path. -ECL_TO_RUN=/usr/bin/ecl \ No newline at end of file +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/aarch64.conf b/srcpkgs/ecl/files/aarch64.conf index 120bb1271d4..048053eeb06 100644 --- a/srcpkgs/ecl/files/aarch64.conf +++ b/srcpkgs/ecl/files/aarch64.conf @@ -60,4 +60,4 @@ ECL_WORKING_ENVIRON=yes ### x86_64-unknown-linux-gnu ### By default we assume that ECL can be accessed from some directory in ### the path. -ECL_TO_RUN=/usr/bin/ecl \ No newline at end of file +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/armv5tel-musl.conf b/srcpkgs/ecl/files/armv5tel-musl.conf new file mode 100644 index 00000000000..b633337b9ff --- /dev/null +++ b/srcpkgs/ecl/files/armv5tel-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### arm-unknown-linux-musleabi +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### i686-pc-linux-musl +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/armv5tel.conf b/srcpkgs/ecl/files/armv5tel.conf new file mode 100644 index 00000000000..6233550c94d --- /dev/null +++ b/srcpkgs/ecl/files/armv5tel.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### arm-unknown-linux-gnueabi +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### i686-pc-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/mips-musl.conf b/srcpkgs/ecl/files/mips-musl.conf new file mode 100644 index 00000000000..2198241b6ed --- /dev/null +++ b/srcpkgs/ecl/files/mips-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### mips-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/mipsel-musl.conf b/srcpkgs/ecl/files/mipsel-musl.conf new file mode 100644 index 00000000000..0b553b26703 --- /dev/null +++ b/srcpkgs/ecl/files/mipsel-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### mips-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/mipselhf-musl.conf b/srcpkgs/ecl/files/mipselhf-musl.conf new file mode 100644 index 00000000000..0b553b26703 --- /dev/null +++ b/srcpkgs/ecl/files/mipselhf-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### mips-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/mipshf-musl.conf b/srcpkgs/ecl/files/mipshf-musl.conf new file mode 100644 index 00000000000..2198241b6ed --- /dev/null +++ b/srcpkgs/ecl/files/mipshf-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### mips-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc-musl.conf b/srcpkgs/ecl/files/ppc-musl.conf new file mode 100644 index 00000000000..cdca29e1d61 --- /dev/null +++ b/srcpkgs/ecl/files/ppc-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### i686-pc-linux-musl +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc.conf b/srcpkgs/ecl/files/ppc.conf new file mode 100644 index 00000000000..8c5c3d1bb4d --- /dev/null +++ b/srcpkgs/ecl/files/ppc.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=no +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=no +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc-unknown-linux-gnu +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### i686-pc-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc64-musl.conf b/srcpkgs/ecl/files/ppc64-musl.conf new file mode 100644 index 00000000000..9ca80e1ad67 --- /dev/null +++ b/srcpkgs/ecl/files/ppc64-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=uint64_t +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=int64_t +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc64-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-musl +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc64.conf b/srcpkgs/ecl/files/ppc64.conf new file mode 100644 index 00000000000..d87b303d857 --- /dev/null +++ b/srcpkgs/ecl/files/ppc64.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=yes + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=uint64_t +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=int64_t +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc64-unknown-linux-gnu +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc64le-musl.conf b/srcpkgs/ecl/files/ppc64le-musl.conf new file mode 100644 index 00000000000..227c48646a6 --- /dev/null +++ b/srcpkgs/ecl/files/ppc64le-musl.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=uint64_t +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=int64_t +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc64le-unknown-linux-musl +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-musl +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/files/ppc64le.conf b/srcpkgs/ecl/files/ppc64le.conf new file mode 100644 index 00000000000..db66c69082a --- /dev/null +++ b/srcpkgs/ecl/files/ppc64le.conf @@ -0,0 +1,63 @@ +### +### YOU ARE TRYING TO CROSS COMPILE ECL. +### PLEASE FOLLOW THESE INSTRUCTIONS: +### +### 1) Vital information cannot be determined at configuration time +### because we are not able to run test programs. A file called +### +### has been created, that you will have to fill out. Please do +### it before invoking "configure" again. + +### 1.1) Direction of growth of the stack +ECL_STACK_DIR=down + +### 1.2) Choose an integer datatype which is large enough to host a pointer +CL_FIXNUM_TYPE=int +CL_FIXNUM_BITS=32 +CL_FIXNUM_MAX=536870911L +CL_FIXNUM_MIN=-536870912L +CL_INT_BITS=32 +CL_LONG_BITS=32 + +### 1.3) Order of bytes within a word +ECL_BIGENDIAN=no + +### 1.4) What characters signal an end of line. May be LF (Linefeed or \n) +### CR (Carriage return or \r), and CRLF (CR followed by LF). +ECL_NEWLINE=LF + +### 1.5) Can we guess how many characters are available for reading from +### the FILE structure? +### 0 = no +### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr +### 2 = (f)->_r +### 3 = (f)->_cnt +ECL_FILE_CNT=0 + +### +### 1.6) Other integer types (set to 'no' to disable) +### +ECL_STDINT_HEADER="#include " +ECL_UINT8_T=uint8_t +ECL_UINT16_T=uint16_t +ECL_UINT32_T=uint32_t +ECL_UINT64_T=uint64_t +ECL_INT8_T=int8_t +ECL_INT16_T=int16_t +ECL_INT32_T=int32_t +ECL_INT64_T=int64_t +ECL_LONG_LONG_BITS=no + +### +### 1.7) Other features (set to 'no' to disable) +### +ECL_WORKING_ENVIRON=yes + +### 2) To cross-compile ECL so that it runs on the system +### powerpc64le-unknown-linux-gnu +### you need to first compile ECL on the system in which you are building +### the cross-compiled files, that is +### x86_64-unknown-linux-gnu +### By default we assume that ECL can be accessed from some directory in +### the path. +ECL_TO_RUN=/usr/bin/ecl diff --git a/srcpkgs/ecl/patches/fix-libffi-system.patch b/srcpkgs/ecl/patches/fix-libffi-system.patch new file mode 100644 index 00000000000..30d33abc9ab --- /dev/null +++ b/srcpkgs/ecl/patches/fix-libffi-system.patch @@ -0,0 +1,15 @@ +Source: @pullmoll +Upstream: no +Reason: ffitarget.h no longer defines FFI_SYSV for *nix + +--- src/c/ffi.d 2016-12-19 11:25:00.000000000 +0100 ++++ src/c/ffi.d 2020-04-25 13:29:05.385149890 +0200 +@@ -133,8 +133,6 @@ + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, + {@':unix64', FFI_UNIX64}, + #endif + }; diff --git a/srcpkgs/ecl/patches/fix-math_fenv_h.patch b/srcpkgs/ecl/patches/fix-math_fenv_h.patch new file mode 100644 index 00000000000..277af1ae2bf --- /dev/null +++ b/srcpkgs/ecl/patches/fix-math_fenv_h.patch @@ -0,0 +1,99 @@ +Source: @pullmoll +Upstream: no +Reason: Some architectures do not define all of the FE_.. constants + +--- src/h/impl/math_fenv.h 2016-12-19 11:25:00.000000000 +0100 ++++ src/h/impl/math_fenv.h 2020-04-25 15:36:04.984693324 +0200 +@@ -67,8 +67,27 @@ + #endif /* !HAVE_FENV_H */ + + #if defined(HAVE_FENV_H) && !defined(HAVE_FEENABLEEXCEPT) && !defined(ECL_AVOID_FPE_H) +-# define ECL_USED_EXCEPTIONS (FE_DIVBYZERO|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW) +-# define ECL_MATHERR_CLEAR feclearexcept(FE_ALL_EXCEPT) ++#if !defined(FE_DIVBYZERO) ++#define FE_DIVBYZERO 0 ++#endif ++#if !defined(FE_INVALID) ++#define FE_INVALID 0 ++#endif ++#if !defined(FE_OVERFLOW) ++#define FE_OVERFLOW 0 ++#endif ++#if !defined(FE_UNDERFLOW) ++#define FE_UNDERFLOW 0 ++#endif ++#if !defined(FE_INEXACT) ++#define FE_INEXACT 0 ++#endif ++#if !defined(FE_ALL_EXCEPT) ++#define FE_ALL_EXCEPT 0 ++#endif ++ ++# define ECL_USED_EXCEPTIONS (FE_DIVBYZERO|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW) ++# define ECL_MATHERR_CLEAR feclearexcept(FE_ALL_EXCEPT) + # define ECL_MATHERR_TEST do { \ + int bits = fetestexcept(ECL_USED_EXCEPTIONS); \ + unlikely_if (bits) ecl_deliver_fpe(bits); } while(0) +--- src/c/unixint.d 2016-12-19 11:25:00.000000000 +0100 ++++ src/c/unixint.d 2020-04-25 15:57:15.864783964 +0200 +@@ -655,22 +655,36 @@ + #else /* !_MSC_VER */ + # if defined(HAVE_FENV_H) & !defined(ECL_AVOID_FENV_H) + code = fetestexcept(FE_ALL_EXCEPT); ++#if defined(FE_DIVBYZERO) + if (code & FE_DIVBYZERO) { + condition = @'division-by-zero'; + code = FE_DIVBYZERO; +- } else if (code & FE_INVALID) { ++ } else ++#endif ++#if defined(FE_INVALID) ++ if (code & FE_INVALID) { + condition = @'floating-point-invalid-operation'; + code = FE_INVALID; +- } else if (code & FE_OVERFLOW) { ++ } else ++#endif ++#if defined(FE_OVERFLOW) ++ if (code & FE_OVERFLOW) { + condition = @'floating-point-overflow'; + code = FE_OVERFLOW; +- } else if (code & FE_UNDERFLOW) { ++ } else ++#endif ++#if defined(FE_UNDERFLOW) ++ if (code & FE_UNDERFLOW) { + condition = @'floating-point-underflow'; + code = FE_UNDERFLOW; +- } else if (code & FE_INEXACT) { ++ } else ++#endif ++#if defined(FE_INEXACT) ++ if (code & FE_INEXACT) { + condition = @'floating-point-inexact'; + code = FE_INEXACT; + } ++#endif + feclearexcept(FE_ALL_EXCEPT); + # endif + #endif /* !_MSC_VER */ +@@ -1160,7 +1174,19 @@ + { + cl_env_ptr the_env = ecl_process_env(); + #ifndef FE_ALL_EXCEPT ++#if !defined(FE_DIVBYZERO) ++#define FE_DIVBYZERO 0 ++#endif ++#if !defined(FE_OVERFLOW) ++#define FE_OVERFLOW 0 ++#endif ++#if !defined(FE_UNDERFLOW) ++#define FE_UNDERFLOW 0 ++#endif ++#if !defined(FE_INVALID) ++#define FE_INVALID 0 ++#endif + # define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID + #endif + const int all = FE_ALL_EXCEPT; + int bits = 0; diff --git a/srcpkgs/ecl/template b/srcpkgs/ecl/template index 9cf4eccf9da..119c5057b06 100644 --- a/srcpkgs/ecl/template +++ b/srcpkgs/ecl/template @@ -1,11 +1,12 @@ # Template file for 'ecl' pkgname=ecl version=16.1.3 -revision=1 +revision=2 build_style=gnu-configure -configure_args="--enable-gmp=system --enable-boehm=system --enable-libatomic=system" +configure_args="--enable-gmp=system --enable-boehm=system + --enable-libatomic=system --enable-ffi=system" hostmakedepends="pkg-config" -makedepends="gc-devel libatomic_ops-devel gmp-devel" +makedepends="gc-devel libatomic_ops-devel gmp-devel libffi-devel" depends=$makedepends short_desc="A Common-Lisp interpreter as described in the X3J13 Ansi specification" maintainer="Kyle Nusbaum "