Hi, Here's an update bring lang/ecl to latest release. In addition to the update it adds c++ flavor to the port as was requested by Jake. I haven't done work with FLAVORS in a while so I'd appreciate a review for those parts.
Timo diff /usr/ports path + /usr/ports commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - faaa11b4dbc16d8cf051921e0e8d262d13283ea5 file + lang/ecl/Makefile --- lang/ecl/Makefile +++ lang/ecl/Makefile @@ -1,12 +1,10 @@ COMMENT = embeddable common-lisp CATEGORIES = lang -V = 24.5.10 +V = 26.5.5 DISTNAME = ecl-$V -SHARED_LIBS += ecl 9.0 +SHARED_LIBS += ecl 10.0 -REVISION = 2 - HOMEPAGE = https://common-lisp.net/project/ecl/ MAINTAINER = Timo Myyra <[email protected]> @@ -17,8 +15,19 @@ PERMIT_PACKAGE = Yes SITES = ${HOMEPAGE}static/files/release/ -COMPILER = base-clang ports-gcc +FLAVORS = c++ +FLAVOR ?= + +.if ${FLAVOR} == "c++" +COMPILER_LANGS = c c++ +CONFIGURE_ARGS += --with-cxx \ + --disable-c99complex +WANTLIB += ${COMPILER_LIBCXX} +.else COMPILER_LANGS = c +.endif + +COMPILER = base-clang ports-gcc USE_GMAKE = Yes CONFIGURE_STYLE = gnu TEST_TARGET = check commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - 7ffc5613868aded8f23f6a54fb88ec4702121d42 file + lang/ecl/distinfo --- lang/ecl/distinfo +++ lang/ecl/distinfo @@ -1,2 +1,2 @@ -SHA256 (ecl-24.5.10.tgz) = 5Opluxhh4OSVOGv6i8ZzvQFOltPPnZHpA4+RQ1y+Yis= -SIZE (ecl-24.5.10.tgz) = 8130112 +SHA256 (ecl-26.5.5.tgz) = oBpbzajFtz5Z3aNJT9E+X+xdtqodrXgsPMO7V/FjNDU= +SIZE (ecl-26.5.5.tgz) = 7488598 commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - 81b9b487e02d80b6492785bb8b94945ba2c7ceef file + lang/ecl/patches/patch-src_Makefile_in --- lang/ecl/patches/patch-src_Makefile_in +++ lang/ecl/patches/patch-src_Makefile_in @@ -1,13 +1,10 @@ Index: src/Makefile.in --- src/Makefile.in.orig +++ src/Makefile.in -@@ -201,29 +201,13 @@ install: - $(INSTALL_DATA) ecl/$$i $(DESTDIR)$(includedir)/ecl/$$i; \ - done - $(INSTALL_SCRIPT) bin/ecl-config $(DESTDIR)$(bindir) -- for i in build-stamp help.doc TAGS ; do \ -- $(INSTALL_DATA) $$i $(DESTDIR)$(ecldir); \ -- done +@@ -207,26 +207,12 @@ install: + if [ -f target-info.lsp ]; then \ + $(INSTALL_DATA) target-info.lsp $(DESTDIR)$(ecldir); \ + fi - for i in $(LSP_LIBRARIES) $(LIBRARIES); do \ - if test -s $$i ; then \ - if echo $$i | grep dll; then \ @@ -23,7 +20,6 @@ Index: src/Makefile.in - $(LN_S) @SONAME3@ @SONAME1@ && \ - $(LN_S) @SONAME3@ @SONAME@ ) \ - fi -+ $(INSTALL_DATA) help.doc $(DESTDIR)$(ecldir) + ${INSTALL_LIBRARY} libecl.so $(DESTDIR)$(libdir)/$(LSP_LIBRARIES) $(INSTALL_PROGRAM) c/$(DPP) $(DESTDIR)$(ecldir) $(INSTALL_PROGRAM) $(ECL_MIN) $(DESTDIR)$(ecldir) commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - e1807c313d07f9c2ab8994ccd9f5b77fc902d69e file + /dev/null --- lang/ecl/patches/patch-src_cmp_cmpbackend-cxx_cmpbackend-cxx_lsp +++ /dev/null @@ -1,16 +0,0 @@ -Index: src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp ---- src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp.orig -+++ src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp -@@ -278,11 +278,7 @@ the environment variable TMPDIR to a different value." - - (defun ecl-library-directory () - "Finds the directory in which the ECL core library was installed." -- (cond ((and *ecl-library-directory* -- (probe-file (merge-pathnames (compile-file-pathname "ecl" :type -- #+dlopen :shared-library -- #-dlopen :static-library) -- *ecl-library-directory*))) -+ (cond (*ecl-library-directory* - *ecl-library-directory*) - ((probe-file "SYS:BUILD-STAMP") - (setf *ecl-library-directory* (namestring (translate-logical-pathname "SYS:")))) commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - a34da916ea76fd11f71294ee8da054c771baecc3 file + lang/ecl/patches/patch-src_compile_lsp_in --- lang/ecl/patches/patch-src_compile_lsp_in +++ lang/ecl/patches/patch-src_compile_lsp_in @@ -1,7 +1,7 @@ Index: src/compile.lsp.in --- src/compile.lsp.in.orig +++ src/compile.lsp.in -@@ -91,21 +91,21 @@ +@@ -118,21 +118,21 @@ (setf c::*ld-libs* "@LIBPREFIX@ecl.@LIBEXT@ @CORE_LIBS@ @FASL_LIBS@ @LIBS@") #+(and :wants-dlopen (not nonstop)) (setf c::*ld-libs* @@ -30,7 +30,7 @@ Index: src/compile.lsp.in ;;; ;;; * Avoid name clashes with user supplied code. -@@ -199,7 +199,7 @@ +@@ -226,7 +226,7 @@ (si::pathname-translations "SYS" '(("**;*.*.*" "@ecldir\@/**/*.*"))) #+WANTS-CMP commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - 39cf972c83c67b58f1ddc475cafee45d1d6d980c file + lang/ecl/patches/patch-src_configure --- lang/ecl/patches/patch-src_configure +++ lang/ecl/patches/patch-src_configure @@ -1,26 +1,21 @@ Index: src/configure --- src/configure.orig +++ src/configure -@@ -6194,7 +6194,7 @@ LSP_FEATURES="(cons :android ${LSP_FEATURES})" +@@ -6234,7 +6234,7 @@ LSP_FEATURES="${LSP_FEATURES} :bsd" BUNDLE_LDFLAGS="-shared ${LDFLAGS}" ECL_LDRPATH="-Wl,--rpath,~A" - GC_CFLAGS="-DGC_PTHREAD_SIGMASK_NEEDED" clibs="-lpthread ${clibs}" + clibs="-lpthread ${clibs}" - SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.SOVERSION" + SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.${ECLLIB_VERSION}" SONAME_LDFLAGS="-Wl,-soname,SONAME" - ;; - solaris*) -@@ -11339,7 +11339,7 @@ if test ${enable_shared} = "yes"; then + LSP_FEATURES="${LSP_FEATURES} :unix" +@@ -11644,7 +11644,7 @@ if test ${enable_shared} = "yes"; then + printf "%s\n" "#define ENABLE_DLOPEN 1" >>confdefs.h - LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}" + LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}.${ECLLIB_VERSION}" - LSP_FEATURES="(cons :wants-dlopen ${LSP_FEATURES})" -@@ -12859,4 +12859,3 @@ fi - - - for i in $srcdir/c/*/; do mkdir -p c/`basename $i`; done -- + COMPILATION_FEATURES=":wants-dlopen ${COMPILATION_FEATURES}" commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - db61500429aee192f663d0cfdd502c76a3089cf4 file + lang/ecl/patches/patch-src_h_config-internal_h_in --- lang/ecl/patches/patch-src_h_config-internal_h_in +++ lang/ecl/patches/patch-src_h_config-internal_h_in @@ -3,7 +3,7 @@ Define FILE_CNT() macro on OpenBSD (FILE is opaque) Index: src/h/config-internal.h.in --- src/h/config-internal.h.in.orig +++ src/h/config-internal.h.in -@@ -178,6 +178,9 @@ +@@ -175,6 +175,9 @@ #endif #undef FILE_CNT @@ -11,5 +11,5 @@ Index: src/h/config-internal.h.in +# define FILE_CNT(fp) (__freadahead((fp))) +#endif #if @ECL_FILE_CNT@ == 1 - # define FILE_CNT(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr) - #endif + # include <stdio_ext.h> + # define FILE_CNT(fp) (__freadahead((fp))) commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - aad0a62dbf3d52e6d76fa84aebffac352ebb7a3a file + lang/ecl/patches/patch-src_tests_Makefile_in --- lang/ecl/patches/patch-src_tests_Makefile_in +++ lang/ecl/patches/patch-src_tests_Makefile_in @@ -5,7 +5,7 @@ Index: src/tests/Makefile.in # vim: set filetype=makefile tabstop=8 shiftwidth=4 expandtab: ECL=@prefix@/@bindir@/ecl@EXEEXT@ --SHELL=/bin/bash -o pipefail +-SHELL=/usr/bin/env bash -o pipefail +SHELL=/bin/ksh -o pipefail .PHONY: all check ansi-test commit - f57415501cafaff42b2d48aa9d86fcb70d743d31 blob - 7bec784cc855ed0a5bc4f9f048c66feaf8307289 file + lang/ecl/pkg/PLIST --- lang/ecl/pkg/PLIST +++ lang/ecl/pkg/PLIST @@ -23,6 +23,7 @@ include/ecl/impl/math_fenv.h include/ecl/impl/math_fenv_msvc.h include/ecl/internal.h include/ecl/legacy.h +include/ecl/nucleus.h include/ecl/number.h include/ecl/object.h include/ecl/page.h @@ -32,7 +33,9 @@ include/ecl/threads.h lib/ecl/ lib/ecl/COPYING lib/ecl/LICENSE +lib/ecl/TAGS @bin lib/ecl/asdf.fas +lib/ecl/build-stamp lib/ecl/cmp.asd @bin lib/ecl/cmp.fas lib/ecl/deflate.asd
