Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] ecl: use system libbi; add target arch *.conf
@ 2020-04-25 18:53 pullmoll
  2020-04-25 18:58 ` [PR PATCH] [Updated] " pullmoll
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: pullmoll @ 2020-04-25 18:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 328 bytes --]

There is a new pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages ecl
https://github.com/void-linux/void-packages/pull/21340

ecl: use system libbi; add target arch *.conf


A patch file from https://github.com/void-linux/void-packages/pull/21340.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ecl-21340.patch --]
[-- Type: text/x-diff, Size: 32078 bytes --]

From 493fc90f7e4cb97d54c8dd219b478f7f2d635a37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sat, 25 Apr 2020 20:48:39 +0200
Subject: [PATCH] ecl: use system libbi; 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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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..404b242b772
--- /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 ECL_FE_UNDERFLOW 0
++#endif
++#if !defined(FE_INVALID)
++#define ECL_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 <knusbaum+void@sdf.org>"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] ecl: use system libbi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
@ 2020-04-25 18:58 ` pullmoll
  2020-04-25 19:03 ` pullmoll
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-25 18:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 333 bytes --]

There is an updated pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages ecl
https://github.com/void-linux/void-packages/pull/21340

ecl: use system libbi; add target arch *.conf


A patch file from https://github.com/void-linux/void-packages/pull/21340.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ecl-21340.patch --]
[-- Type: text/x-diff, Size: 32070 bytes --]

From 387ccae3231aeabefdbcdf1b9a8e81eef69b14d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Sat, 25 Apr 2020 20:48:39 +0200
Subject: [PATCH] ecl: use system libbi; 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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <knusbaum+void@sdf.org>"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] ecl: use system libbi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
  2020-04-25 18:58 ` [PR PATCH] [Updated] " pullmoll
@ 2020-04-25 19:03 ` pullmoll
  2020-04-25 19:17 ` [PR PATCH] [Updated] ecl: use system libffi; " pullmoll
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-25 19:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 333 bytes --]

There is an updated pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages ecl
https://github.com/void-linux/void-packages/pull/21340

ecl: use system libbi; add target arch *.conf


A patch file from https://github.com/void-linux/void-packages/pull/21340.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ecl-21340.patch --]
[-- Type: text/x-diff, Size: 32071 bytes --]

From 6dc36cfe05b824d9e77ce42897d19479dc5bbf63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <knusbaum+void@sdf.org>"

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
  2020-04-25 18:58 ` [PR PATCH] [Updated] " pullmoll
  2020-04-25 19:03 ` pullmoll
@ 2020-04-25 19:17 ` pullmoll
  2020-04-25 19:37 ` pullmoll
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-25 19:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 334 bytes --]

There is an updated pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages ecl
https://github.com/void-linux/void-packages/pull/21340

ecl: use system libffi; add target arch *.conf


A patch file from https://github.com/void-linux/void-packages/pull/21340.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ecl-21340.patch --]
[-- Type: text/x-diff, Size: 32449 bytes --]

From 3d88f82f539c19cee3bc3557598913f41d08f20b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
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                        | 13 ++-
 17 files changed, 877 insertions(+), 10 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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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..e259e42249c 100644
--- a/srcpkgs/ecl/template
+++ b/srcpkgs/ecl/template
@@ -1,13 +1,14 @@
 # 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"
+short_desc="Common-Lisp interpreter as described in the X3J13 Ansi specification"
 maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
 license="LGPL-2.1-or-later"
 homepage="https://common-lisp.net/project/ecl/"
@@ -19,7 +20,3 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" ecl"
 	configure_args+=" --with-cross-config=${XBPS_SRCPKGDIR}/ecl/files/${XBPS_TARGET_MACHINE}.conf"
 fi
-
-post_install() {
-	vlicense COPYING
-}

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Updated] ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (2 preceding siblings ...)
  2020-04-25 19:17 ` [PR PATCH] [Updated] ecl: use system libffi; " pullmoll
@ 2020-04-25 19:37 ` pullmoll
  2020-04-26 21:12 ` pullmoll
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-25 19:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 334 bytes --]

There is an updated pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages ecl
https://github.com/void-linux/void-packages/pull/21340

ecl: use system libffi; add target arch *.conf


A patch file from https://github.com/void-linux/void-packages/pull/21340.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ecl-21340.patch --]
[-- Type: text/x-diff, Size: 32472 bytes --]

From a40af83c4c141e9dca5f03e9cb56c7cdeb728b80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
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 | 16 ++++
 srcpkgs/ecl/patches/fix-math_fenv_h.patch   | 99 +++++++++++++++++++++
 srcpkgs/ecl/template                        | 13 ++-
 17 files changed, 878 insertions(+), 10 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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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 <stdint.h>"
+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..1838e39eaaa
--- /dev/null
+++ b/srcpkgs/ecl/patches/fix-libffi-system.patch
@@ -0,0 +1,16 @@
+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},
++#elif defined(X86_64)
+   {@':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..a4e160c15be 100644
--- a/srcpkgs/ecl/template
+++ b/srcpkgs/ecl/template
@@ -1,13 +1,14 @@
 # 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 --with-dffi=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"
+short_desc="Common-Lisp interpreter as described in the X3J13 Ansi specification"
 maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
 license="LGPL-2.1-or-later"
 homepage="https://common-lisp.net/project/ecl/"
@@ -19,7 +20,3 @@ if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" ecl"
 	configure_args+=" --with-cross-config=${XBPS_SRCPKGDIR}/ecl/files/${XBPS_TARGET_MACHINE}.conf"
 fi
-
-post_install() {
-	vlicense COPYING
-}

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (3 preceding siblings ...)
  2020-04-25 19:37 ` pullmoll
@ 2020-04-26 21:12 ` pullmoll
  2020-04-27 14:30 ` [PR PATCH] [Merged]: " pullmoll
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-26 21:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 212 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-619625653

Comment:
Cannot select anyone in Reviewers.. it spins forever. Ping @knusbaum .

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PR PATCH] [Merged]: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (4 preceding siblings ...)
  2020-04-26 21:12 ` pullmoll
@ 2020-04-27 14:30 ` pullmoll
  2020-04-27 14:37 ` q66
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 14:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

There's a merged pull request on the void-packages repository

ecl: use system libffi; add target arch *.conf
https://github.com/void-linux/void-packages/pull/21340

Description:


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (5 preceding siblings ...)
  2020-04-27 14:30 ` [PR PATCH] [Merged]: " pullmoll
@ 2020-04-27 14:37 ` q66
  2020-04-27 14:41 ` pullmoll
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 14:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 169 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620028024

Comment:
should add x86_64 crossfiles too

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (6 preceding siblings ...)
  2020-04-27 14:37 ` q66
@ 2020-04-27 14:41 ` pullmoll
  2020-04-27 14:43 ` pullmoll
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 14:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 202 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620030367

Comment:
But we don't have a `cross-x86_64-linux-{gnu,musl}` package?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (7 preceding siblings ...)
  2020-04-27 14:41 ` pullmoll
@ 2020-04-27 14:43 ` pullmoll
  2020-04-27 14:44 ` pullmoll
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 14:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620030367

Comment:
But we don't have a `cross-x86_64-linux-gnu` package?
Edit: fixed - we do have `cross-x86_64-linus-musl` but not `-gnu`.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (8 preceding siblings ...)
  2020-04-27 14:43 ` pullmoll
@ 2020-04-27 14:44 ` pullmoll
  2020-04-27 15:52 ` q66
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 14:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620030367

Comment:
But we don't have a `cross-x86_64-linux-gnu` package?
Edit: fixed - we do have `cross-x86_64-linux-musl` but not `-gnu`.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (9 preceding siblings ...)
  2020-04-27 14:44 ` pullmoll
@ 2020-04-27 15:52 ` q66
  2020-04-27 15:53 ` q66
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 15:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 162 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620073277

Comment:
we have both musl and gnu

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (10 preceding siblings ...)
  2020-04-27 15:52 ` q66
@ 2020-04-27 15:53 ` q66
  2020-04-27 15:54 ` q66
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 15:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 904 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620073277

Comment:
we have both musl and gnu

```
q66@moca: /home/q66/void-packages$ ls srcpkgs|grep cross-x86_64
lrwxrwxrwx 1 q66 q66   24 Jan 27  2019 cross-i686-w64-mingw32 -> cross-x86_64-w64-mingw32
lrwxrwxrwx 1 q66 q66   24 Apr 23  2019 cross-i686-w64-mingw32-crt -> cross-x86_64-w64-mingw32
drwxr-xr-x 3 q66 q66 4096 Mar 29 18:14 cross-x86_64-linux-gnu
lrwxrwxrwx 1 q66 q66   22 Mar 29 18:14 cross-x86_64-linux-gnu-libc -> cross-x86_64-linux-gnu
drwxrwxr-x 3 q66 q66 4096 Mar 29 07:30 cross-x86_64-linux-musl
lrwxrwxrwx 1 q66 q66   23 Dec  9  2018 cross-x86_64-linux-musl-libc -> cross-x86_64-linux-musl
drwxr-xr-x 2 q66 q66 4096 Mar 15 21:04 cross-x86_64-w64-mingw32
lrwxrwxrwx 1 q66 q66   24 Apr 23  2019 cross-x86_64-w64-mingw32-crt -> cross-x86_64-w64-mingw32
```

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (11 preceding siblings ...)
  2020-04-27 15:53 ` q66
@ 2020-04-27 15:54 ` q66
  2020-04-27 16:05 ` pullmoll
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 15:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1077 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620073277

Comment:
we have both musl and gnu

```
q66@moca: /home/q66/void-packages$ ls srcpkgs|grep cross-x86_64
lrwxrwxrwx 1 q66 q66   24 Jan 27  2019 cross-i686-w64-mingw32 -> cross-x86_64-w64-mingw32
lrwxrwxrwx 1 q66 q66   24 Apr 23  2019 cross-i686-w64-mingw32-crt -> cross-x86_64-w64-mingw32
drwxr-xr-x 3 q66 q66 4096 Mar 29 18:14 cross-x86_64-linux-gnu
lrwxrwxrwx 1 q66 q66   22 Mar 29 18:14 cross-x86_64-linux-gnu-libc -> cross-x86_64-linux-gnu
drwxrwxr-x 3 q66 q66 4096 Mar 29 07:30 cross-x86_64-linux-musl
lrwxrwxrwx 1 q66 q66   23 Dec  9  2018 cross-x86_64-linux-musl-libc -> cross-x86_64-linux-musl
drwxr-xr-x 2 q66 q66 4096 Mar 15 21:04 cross-x86_64-w64-mingw32
lrwxrwxrwx 1 q66 q66   24 Apr 23  2019 cross-x86_64-w64-mingw32-crt -> cross-x86_64-w64-mingw32
q66@moca: /home/q66/void-packages$ ls common/cross-profiles|grep x86
-rw-r--r-- 1 q66 q66 360 Aug  5  2019 x86_64-musl.sh
-rw-r--r-- 1 q66 q66 343 Mar 29 18:11 x86_64.sh
```

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (12 preceding siblings ...)
  2020-04-27 15:54 ` q66
@ 2020-04-27 16:05 ` pullmoll
  2020-04-27 16:20 ` q66
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 16:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620080498

Comment:
Oops.. this addition escaped my attention. The cross file should be the same as then one for musl. Perhaps you can give it a try and add the file or make it a symlink?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (13 preceding siblings ...)
  2020-04-27 16:05 ` pullmoll
@ 2020-04-27 16:20 ` q66
  2020-04-27 16:40 ` pullmoll
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 16:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620088898

Comment:
Is there a difference between any of them for musl? Why have them at all?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (14 preceding siblings ...)
  2020-04-27 16:20 ` q66
@ 2020-04-27 16:40 ` pullmoll
  2020-04-27 16:43 ` pullmoll
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 16:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 486 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620099946

Comment:
I don't think there actually are differences as there's no reference to the _FILEOFFSET_BITS which is or may be 32 for i686, while it's always 64 for i686-musl. That's an anachronism anyway.

So I think we could just remove the `*-musl.conf` files and strip the suffix from the target, i.e. `${XBPS_TARGET_MACHIN%-musl}.conf` in the template.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (15 preceding siblings ...)
  2020-04-27 16:40 ` pullmoll
@ 2020-04-27 16:43 ` pullmoll
  2020-04-27 16:44 ` q66
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 16:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620101435

Comment:
Or even better yet: the files could be generated by the template based on our `$XBPS_...` environment AFAICT. I'll give it a try as soon as I find time for Void again... *busybee*

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (16 preceding siblings ...)
  2020-04-27 16:43 ` pullmoll
@ 2020-04-27 16:44 ` q66
  2020-04-27 16:50 ` pullmoll
  2020-04-27 16:52 ` pullmoll
  19 siblings, 0 replies; 21+ messages in thread
From: q66 @ 2020-04-27 16:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 217 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620102217

Comment:
_FILE_OFFSET_BITS just does not exist on musl, so even when set it makes no diff

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (17 preceding siblings ...)
  2020-04-27 16:44 ` q66
@ 2020-04-27 16:50 ` pullmoll
  2020-04-27 16:52 ` pullmoll
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 16:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 448 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620105006

Comment:
I know, and still some value(s) in depends on this in `common/environment/configure/autoconf_cache/ix86-common`. I remember we had failed cross builds because when the autoconf_cache files are used it is not yet known if `i686` defines `_FILE_OFFSET_BITS=32` or `64`.

Anyway, I can't deal with that now.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ecl: use system libffi; add target arch *.conf
  2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
                   ` (18 preceding siblings ...)
  2020-04-27 16:50 ` pullmoll
@ 2020-04-27 16:52 ` pullmoll
  19 siblings, 0 replies; 21+ messages in thread
From: pullmoll @ 2020-04-27 16:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 558 bytes --]

New comment by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/pull/21340#issuecomment-620105006

Comment:
I know, and still some value(s) depend on this in `common/environment/configure/autoconf_cache/ix86-common`. I remember we had broken cross builds because when the autoconf_cache files are used it is not yet known if `i686` defines `_FILE_OFFSET_BITS=32` or `64`.

One package that comes to mind was python2 which didn't work when cross built for i686 and required a rebuild.

Anyway, I can't deal with that now.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-04-27 16:52 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-25 18:53 [PR PATCH] ecl: use system libbi; add target arch *.conf pullmoll
2020-04-25 18:58 ` [PR PATCH] [Updated] " pullmoll
2020-04-25 19:03 ` pullmoll
2020-04-25 19:17 ` [PR PATCH] [Updated] ecl: use system libffi; " pullmoll
2020-04-25 19:37 ` pullmoll
2020-04-26 21:12 ` pullmoll
2020-04-27 14:30 ` [PR PATCH] [Merged]: " pullmoll
2020-04-27 14:37 ` q66
2020-04-27 14:41 ` pullmoll
2020-04-27 14:43 ` pullmoll
2020-04-27 14:44 ` pullmoll
2020-04-27 15:52 ` q66
2020-04-27 15:53 ` q66
2020-04-27 15:54 ` q66
2020-04-27 16:05 ` pullmoll
2020-04-27 16:20 ` q66
2020-04-27 16:40 ` pullmoll
2020-04-27 16:43 ` pullmoll
2020-04-27 16:44 ` q66
2020-04-27 16:50 ` pullmoll
2020-04-27 16:52 ` pullmoll

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).