From e0108c256ccb141eced4639646652dc55ecc127e Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 00:22:10 +0100 Subject: [PATCH 1/8] ecl: add package for embeddable common lisp Fixes #183 --- packages/ecl/build.sh | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 packages/ecl/build.sh diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh new file mode 100644 index 000000000..f2e433c82 --- /dev/null +++ b/packages/ecl/build.sh @@ -0,0 +1,48 @@ +TERMUX_PKG_HOMEPAGE=https://common-lisp.net/project/ecl/ +TERMUX_PKG_DESCRIPTION="ECL (Embeddable Common Lisp) is an interpreter of the Common Lisp language." +TERMUX_PKG_LICENSE="LGPL-2.0" +TERMUX_PKG_VERSION="20.4.24" +TERMUX_PKG_REVISION=1 +TERMUX_PKG_SRCURL=https://common-lisp.net/project/ecl/static/files/release/ecl-${TERMUX_PKG_VERSION}.tgz +TERMUX_PKG_SHA256=670838edf258a936b522fdb620da336de7e575aa0d27e34841727252726d0f07 +TERMUX_PKG_DEPENDS="libandroid-support" +TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_NO_STATICSPLIT=true +TERMUX_PKG_BLACKLISTED_ARCHES="i686,x86_64" +TERMUX_PKG_HAS_DEBUG=false + +# See https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/INSTALL +# for upstream cross build guide. + +# ECL needs itself during build, so we need to build it for the host first. +termux_step_host_build() { + srcdir=$TERMUX_PKG_SRCDIR/src + hostprefix=$TERMUX_PKG_HOSTBUILD_DIR/prefix + mkdir hostprefix + $srcdir/configure --prefix=$hostprefix --srcdir=$srcdir --disable-c99complex + make + make install +} + +termux_step_configure() { + # Copy cross_config for target architecture. + case $TERMUX_ARCH in + aarch64) crossconfig=android-arm64 ;; + arm) crossconfig=android-arm ;; + *) termux_error_exit "Unsupported arch: $TERMUX_ARCH" ;; + esac + crossconfig="$TERMUX_PKG_SRCDIR/src/util/$crossconfig.cross_config" + export ECL_TO_RUN=$TERMUX_PKG_HOSTBUILD_DIR/prefix/bin/ecl + + # Boehm GC is not compatible with ld.gold linker, use ld.bfd instead. + export LDFLAGS="$LDFLAGS -fuse-ld=bfd" + + srcdir=$TERMUX_PKG_SRCDIR/src + $srcdir/configure \ + --srcdir=$srcdir \ + --prefix=$TERMUX_PREFIX \ + --host=$TERMUX_HOST_PLATFORM \ + --with-cross-config=$crossconfig \ + --disable-c99complex \ + --enable-gmp=builtin +} From 10ef80024fbdfd4b0b3e0cb3c27d536899b5badb Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 01:01:18 +0100 Subject: [PATCH 2/8] ecl: use system libgmp --- packages/ecl/build.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index f2e433c82..8dc7c0cc9 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -5,10 +5,10 @@ TERMUX_PKG_VERSION="20.4.24" TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://common-lisp.net/project/ecl/static/files/release/ecl-${TERMUX_PKG_VERSION}.tgz TERMUX_PKG_SHA256=670838edf258a936b522fdb620da336de7e575aa0d27e34841727252726d0f07 -TERMUX_PKG_DEPENDS="libandroid-support" +TERMUX_PKG_DEPENDS="libandroid-support, libgmp" TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_NO_STATICSPLIT=true -TERMUX_PKG_BLACKLISTED_ARCHES="i686,x86_64" +TERMUX_PKG_BLACKLISTED_ARCHES="i686, x86_64" TERMUX_PKG_HAS_DEBUG=false # See https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/INSTALL @@ -42,7 +42,8 @@ termux_step_configure() { --srcdir=$srcdir \ --prefix=$TERMUX_PREFIX \ --host=$TERMUX_HOST_PLATFORM \ + --build=$TERMUX_BUILD_TUPLE \ --with-cross-config=$crossconfig \ --disable-c99complex \ - --enable-gmp=builtin + --enable-gmp=system } From b0deef524616a200b698006e04a264e0d7abf7bd Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 01:01:55 +0100 Subject: [PATCH 3/8] ecl: use included libgc --- packages/ecl/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index 8dc7c0cc9..acfc781d7 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -45,5 +45,6 @@ termux_step_configure() { --build=$TERMUX_BUILD_TUPLE \ --with-cross-config=$crossconfig \ --disable-c99complex \ - --enable-gmp=system + --enable-gmp=system \ + --enable-boehm=included } From 2952df3c72ea191faf6b8b74049e8575540b33b5 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 01:02:13 +0100 Subject: [PATCH 4/8] ecl: add dependency on libffi --- packages/ecl/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index acfc781d7..29c999684 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -5,7 +5,7 @@ TERMUX_PKG_VERSION="20.4.24" TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://common-lisp.net/project/ecl/static/files/release/ecl-${TERMUX_PKG_VERSION}.tgz TERMUX_PKG_SHA256=670838edf258a936b522fdb620da336de7e575aa0d27e34841727252726d0f07 -TERMUX_PKG_DEPENDS="libandroid-support, libgmp" +TERMUX_PKG_DEPENDS="libandroid-support, libgmp, libffi" TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_NO_STATICSPLIT=true TERMUX_PKG_BLACKLISTED_ARCHES="i686, x86_64" From 3900bbe8a8101f3d75ce3ad4087fedb68c5c09be Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 01:03:55 +0100 Subject: [PATCH 5/8] ecl: fix indentation --- packages/ecl/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index 29c999684..6a33d592a 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -46,5 +46,5 @@ termux_step_configure() { --with-cross-config=$crossconfig \ --disable-c99complex \ --enable-gmp=system \ - --enable-boehm=included + --enable-boehm=included } From 5cabafdf70e417e1b24516d856b877a1735b7520 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 02:25:09 +0100 Subject: [PATCH 6/8] ecl: use system libgc --- packages/ecl/build.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index 6a33d592a..b5e289ea0 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -5,7 +5,7 @@ TERMUX_PKG_VERSION="20.4.24" TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://common-lisp.net/project/ecl/static/files/release/ecl-${TERMUX_PKG_VERSION}.tgz TERMUX_PKG_SHA256=670838edf258a936b522fdb620da336de7e575aa0d27e34841727252726d0f07 -TERMUX_PKG_DEPENDS="libandroid-support, libgmp, libffi" +TERMUX_PKG_DEPENDS="libandroid-support, libgmp, libgc, libffi" TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_NO_STATICSPLIT=true TERMUX_PKG_BLACKLISTED_ARCHES="i686, x86_64" @@ -34,9 +34,6 @@ termux_step_configure() { crossconfig="$TERMUX_PKG_SRCDIR/src/util/$crossconfig.cross_config" export ECL_TO_RUN=$TERMUX_PKG_HOSTBUILD_DIR/prefix/bin/ecl - # Boehm GC is not compatible with ld.gold linker, use ld.bfd instead. - export LDFLAGS="$LDFLAGS -fuse-ld=bfd" - srcdir=$TERMUX_PKG_SRCDIR/src $srcdir/configure \ --srcdir=$srcdir \ @@ -46,5 +43,5 @@ termux_step_configure() { --with-cross-config=$crossconfig \ --disable-c99complex \ --enable-gmp=system \ - --enable-boehm=included + --enable-boehm=system } From beb1ef82e2ec9e0f23748990be029b0a6e07b1aa Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 02:45:52 +0100 Subject: [PATCH 7/8] ecl: fix typo --- packages/ecl/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index b5e289ea0..92748dfdd 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -18,7 +18,7 @@ TERMUX_PKG_HAS_DEBUG=false termux_step_host_build() { srcdir=$TERMUX_PKG_SRCDIR/src hostprefix=$TERMUX_PKG_HOSTBUILD_DIR/prefix - mkdir hostprefix + mkdir $hostprefix $srcdir/configure --prefix=$hostprefix --srcdir=$srcdir --disable-c99complex make make install From e6260ac9ca3376598e34bd2594aaa30635acc7b9 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 26 Nov 2020 10:05:43 +0100 Subject: [PATCH 8/8] ecl: remove revision --- packages/ecl/build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/ecl/build.sh b/packages/ecl/build.sh index 92748dfdd..87dab3469 100644 --- a/packages/ecl/build.sh +++ b/packages/ecl/build.sh @@ -2,7 +2,6 @@ TERMUX_PKG_HOMEPAGE=https://common-lisp.net/project/ecl/ TERMUX_PKG_DESCRIPTION="ECL (Embeddable Common Lisp) is an interpreter of the Common Lisp language." TERMUX_PKG_LICENSE="LGPL-2.0" TERMUX_PKG_VERSION="20.4.24" -TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://common-lisp.net/project/ecl/static/files/release/ecl-${TERMUX_PKG_VERSION}.tgz TERMUX_PKG_SHA256=670838edf258a936b522fdb620da336de7e575aa0d27e34841727252726d0f07 TERMUX_PKG_DEPENDS="libandroid-support, libgmp, libgc, libffi"