Hi, The following diff updates lang/ecl to 23.9.9.
I tested it on amd64, and built reverse-depends using it (math/maxima, math/wxMaxima, net/clic, and lang/sbcl [forcing the use of ecl]). Comments or OK ? -- Sebastien Marie diff /home/semarie/repos/openbsd/ports commit - 774b5ac8593c8e368254a0c7382f33d6cdaeca56 path + /home/semarie/repos/openbsd/ports blob - 744e4fac01aa428f635a2e64735ab4a34982b365 file + lang/ecl/Makefile --- lang/ecl/Makefile +++ lang/ecl/Makefile @@ -1,12 +1,10 @@ COMMENT = embeddable common-lisp CATEGORIES = lang -V = 21.2.1 +V = 23.9.9 DISTNAME = ecl-$V -SHARED_LIBS += ecl 8.0 +SHARED_LIBS += ecl 9.0 -REVISION = 0 - HOMEPAGE = https://common-lisp.net/project/ecl/ MAINTAINER = Timo Myyra <timo.my...@bittivirhe.fi> @@ -44,7 +42,7 @@ LIB_DEPENDS += devel/gmp \ devel/boehm-gc,-atomic \ devel/libffi -TEST_DEPENDS = ${BASE_PKGPATH} +TEST_DEPENDS = ${FULLPKGNAME}:${BUILD_PKGPATH} TEST_ENV = "ECL=${WRKDIST}/build/bin/ecl" \ "TEST_IMAGE=${WRKDIST}/build/bin/ecl" blob - 5da17098084bbc837811a12478849c7eb0b6024e file + lang/ecl/distinfo --- lang/ecl/distinfo +++ lang/ecl/distinfo @@ -1,2 +1,2 @@ -SHA256 (ecl-21.2.1.tgz) = sVp13PhLj2LmhyDMqxOT+WEcB4/NOv3WOaEIbK0BCQA= -SIZE (ecl-21.2.1.tgz) = 7875088 +SHA256 (ecl-23.9.9.tgz) = xRvatMpsEXPdP+nP6XJ7zvuXuwo9ZDS2J8pr2usz+IA= +SIZE (ecl-23.9.9.tgz) = 8129105 blob - a7763bffb61f13d0e7ff85917530a01dd3294ba7 file + lang/ecl/patches/patch-src_Makefile_in --- lang/ecl/patches/patch-src_Makefile_in +++ lang/ecl/patches/patch-src_Makefile_in @@ -1,7 +1,7 @@ Index: src/Makefile.in --- src/Makefile.in.orig +++ src/Makefile.in -@@ -213,29 +213,13 @@ install: +@@ -201,29 +201,13 @@ install: $(INSTALL_DATA) ecl/$$i $(DESTDIR)$(includedir)/ecl/$$i; \ done $(INSTALL_SCRIPT) bin/ecl-config $(DESTDIR)$(bindir) blob - /dev/null file + lang/ecl/patches/patch-src_cmp_cmpbackend-cxx_cmpbackend-cxx_lsp (mode 640) --- /dev/null +++ lang/ecl/patches/patch-src_cmp_cmpbackend-cxx_cmpbackend-cxx_lsp @@ -0,0 +1,16 @@ +Index: src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp +--- src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp.orig ++++ src/cmp/cmpbackend-cxx/cmpbackend-cxx.lsp +@@ -274,11 +274,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:")))) blob - a863e03254c2b802909d695af5cb0e2066962947 file + /dev/null --- lang/ecl/patches/patch-src_cmp_cmpc-wt_lsp +++ /dev/null @@ -1,25 +0,0 @@ -backport https://gitlab.com/embeddable-common-lisp/ecl/-/commit/f3d4cf4b66ab6c3cd8629ab6d0c7f7c50d7fd8a4 - -Index: src/cmp/cmpc-wt.lsp ---- src/cmp/cmpc-wt.lsp.orig -+++ src/cmp/cmpc-wt.lsp -@@ -19,18 +19,7 @@ - (defun wt1 (form) - (cond ((not (floatp form)) - (typecase form -- (INTEGER -- (princ form *compiler-output1*) -- (princ -- (cond ((typep form (rep-type->lisp-type :int)) "") -- ((typep form (rep-type->lisp-type :unsigned-int)) "U") -- ((typep form (rep-type->lisp-type :long)) "L") -- ((typep form (rep-type->lisp-type :unsigned-long)) "UL") -- ((typep form (rep-type->lisp-type :long-long)) "LL") -- ((typep form (rep-type->lisp-type :unsigned-long-long)) "ULL") -- (t (baboon :format-control "wt1: The number ~A doesn't fit any integer type." form))) -- *compiler-output1*)) -- ((or STRING CHARACTER) -+ ((or INTEGER STRING CHARACTER) - (princ form *compiler-output1*)) - (VAR (wt-var form)) - (t (wt-loc form)))) blob - 12ec82db34881b8159569d96e80a0e9649a32f3c file + /dev/null --- lang/ecl/patches/patch-src_cmp_cmploc_lsp +++ /dev/null @@ -1,36 +0,0 @@ -backport https://gitlab.com/embeddable-common-lisp/ecl/-/commit/f3d4cf4b66ab6c3cd8629ab6d0c7f7c50d7fd8a4 - -Index: src/cmp/cmploc.lsp ---- src/cmp/cmploc.lsp.orig -+++ src/cmp/cmploc.lsp -@@ -181,10 +181,30 @@ - (defun wt-temp (temp) - (wt "T" temp)) - -+(defun wt-fixnum (value &optional vv) -+ (declare (ignore vv)) -+ (princ value *compiler-output1*) -+ ;; Specify explicit type suffix as a workaround for MSVC. C99 -+ ;; standard compliant compilers don't need type suffixes and choose -+ ;; the correct type themselves. Note that we cannot savely use -+ ;; anything smaller than a long long here, because we might perform -+ ;; some other computation on the integer constant which could -+ ;; overflow if we use a smaller integer type (overflows in long long -+ ;; computations are taken care of by the compiler before we get to -+ ;; this point). -+ #+msvc (princ (cond ((typep value (rep-type->lisp-type :long-long)) "LL") -+ ((typep value (rep-type->lisp-type :unsigned-long-long)) "ULL") -+ (t (baboon :format-control -+ "wt-fixnum: The number ~A doesn't fit any integer type." -+ value))) -+ *compiler-output1*)) -+ - (defun wt-number (value &optional vv) -+ (declare (ignore vv)) - (wt value)) - - (defun wt-character (value &optional vv) -+ (declare (ignore vv)) - ;; We do not use the '...' format because this creates objects of type - ;; 'char' which have sign problems - (wt value)) blob - de0ed9460bb9ad8243472f0df36eda19d4ff6501 file + /dev/null --- lang/ecl/patches/patch-src_cmp_cmpmain_lsp +++ /dev/null @@ -1,20 +0,0 @@ -Override system library detection to just use *ecl-library-directory*. -The original check fails now that library symlink is removed. - -Index: src/cmp/cmpmain.lsp ---- src/cmp/cmpmain.lsp.orig -+++ src/cmp/cmpmain.lsp -@@ -960,12 +960,7 @@ from the C language code. NIL means \"do not create t - - (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*))) -- *ecl-library-directory*) -+ (cond ((and *ecl-library-directory* *ecl-library-directory*)) - ((probe-file "SYS:BUILD-STAMP") - (setf *ecl-library-directory* (namestring (translate-logical-pathname "SYS:")))) - ((error "Unable to find library directory")))) blob - da8c42c65fdf000191a00817fdcccef3bd834dd5 file + /dev/null --- lang/ecl/patches/patch-src_cmp_cmptables_lsp +++ /dev/null @@ -1,14 +0,0 @@ -backport https://gitlab.com/embeddable-common-lisp/ecl/-/commit/f3d4cf4b66ab6c3cd8629ab6d0c7f7c50d7fd8a4 - -Index: src/cmp/cmptables.lsp ---- src/cmp/cmptables.lsp.orig -+++ src/cmp/cmptables.lsp -@@ -182,7 +182,7 @@ - - (temp . wt-temp) - (lcl . wt-lcl-loc) -- (fixnum-value . wt-number) -+ (fixnum-value . wt-fixnum) - (long-float-value . wt-number) - (double-float-value . wt-number) - (single-float-value . wt-number) blob - b1ed44ccf695851e25a0ef172bc031cabf9204aa 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,29 +1,31 @@ Index: src/compile.lsp.in --- src/compile.lsp.in.orig +++ src/compile.lsp.in -@@ -91,19 +91,19 @@ - "@LDFLAGS@ @LIBPREFIX@ecl.@LIBEXT@ @CORE_LIBS@ @FASL_LIBS@ @LIBS@") +@@ -88,10 +88,10 @@ + c::*ecl-library-directory* "@true_builddir@/") + (setf c::*ld-flags* "@LDFLAGS@") + #-:wants-dlopen +-(setf c::*ld-libs* "@LIBPREFIX@ecl.@LIBEXT@ @CORE_LIBS@ @FASL_LIBS@ @LIBS@") ++(setf c::*ld-libs* "-L. -lecl @CORE_LIBS@ @FASL_LIBS@ @LIBS@") #+(and :wants-dlopen (not nonstop)) - (setf c::*ld-flags* -- "@LDFLAGS@ @SHAREDPREFIX@ecl.@SHAREDEXT@ @LIBS@" -+ "@LDFLAGS@ -L. -lecl @LIBS@" + (setf c::*ld-libs* +- "@SHAREDPREFIX@ecl.@SHAREDEXT@ @LIBS@" ++ "-L. -lecl @LIBS@" c::*ld-shared-flags* -- "@SHARED_LDFLAGS@ @LDFLAGS@ @SHAREDPREFIX@ecl.@SHAREDEXT@ @FASL_LIBS@ @LIBS@" -+ "@SHARED_LDFLAGS@ @LDFLAGS@ -L. -lecl @FASL_LIBS@ @LIBS@" + "@SHARED_LDFLAGS@ @LDFLAGS@" c::*ld-bundle-flags* -- "@BUNDLE_LDFLAGS@ @LDFLAGS@ @SHAREDPREFIX@ecl.@SHAREDEXT@ @FASL_LIBS@ @LIBS@") -+ "@BUNDLE_LDFLAGS@ @LDFLAGS@ -L. -lecl @FASL_LIBS@ @LIBS@") +@@ -99,11 +99,11 @@ ;;; FIXME: The nonstop platform does not support soname #+(and :wants-dlopen nonstop) - (setf c::*ld-flags* -- "@LDFLAGS@ -Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@ @LIBS@" -+ "@LDFLAGS@ -Wld=-L.,-lecl @LIBS@" + (setf c::*ld-libs* +- "-Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@ @LIBS@" ++ "-Wld=-L.,-lecl @LIBS@" c::*ld-shared-flags* -- "@SHARED_LDFLAGS@ @LDFLAGS@ -Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@ @FASL_LIBS@ @LIBS@" -+ "@SHARED_LDFLAGS@ @LDFLAGS@ -Wld=-L.,-lecl @FASL_LIBS@ @LIBS@" +- "@SHARED_LDFLAGS@ @LDFLAGS@ -Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@" ++ "@SHARED_LDFLAGS@ @LDFLAGS@ -W-L.,ld=-lecl" c::*ld-bundle-flags* -- "@BUNDLE_LDFLAGS@ @LDFLAGS@ -Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@ @FASL_LIBS@ @LIBS@") -+ "@BUNDLE_LDFLAGS@ @LDFLAGS@ -Wld=-L.,-lecl @FASL_LIBS@ @LIBS@") +- "@BUNDLE_LDFLAGS@ @LDFLAGS@ -Wld=-l@SHAREDPREFIX@ecl.@SHAREDEXT@") ++ "@BUNDLE_LDFLAGS@ @LDFLAGS@ -W-L.,ld=-lecl") ;;; ;;; * Avoid name clashes with user supplied code. blob - 92f3a072896154a44addbc12977a4174daf41491 file + lang/ecl/patches/patch-src_configure --- lang/ecl/patches/patch-src_configure +++ lang/ecl/patches/patch-src_configure @@ -1,18 +1,18 @@ Index: src/configure --- src/configure.orig +++ src/configure -@@ -5240,7 +5240,7 @@ LSP_FEATURES="(cons :android ${LSP_FEATURES})" +@@ -6064,7 +6064,7 @@ LSP_FEATURES="(cons :android ${LSP_FEATURES})" BUNDLE_LDFLAGS="-shared ${LDFLAGS}" ECL_LDRPATH="-Wl,--rpath,~A" - clibs="-lpthread ${clibs}" + GC_CFLAGS="-DGC_PTHREAD_SIGMASK_NEEDED" clibs="-lpthread ${clibs}" - SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.SOVERSION" + SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.${ECLLIB_VERSION}" SONAME_LDFLAGS="-Wl,-soname,SONAME" ;; solaris*) -@@ -9910,7 +9910,7 @@ if test ${enable_shared} = "yes"; then +@@ -11098,7 +11098,7 @@ if test ${enable_shared} = "yes"; then - $as_echo "#define ENABLE_DLOPEN 1" >>confdefs.h + printf "%s\n" "#define ENABLE_DLOPEN 1" >>confdefs.h - LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}" + LSP_LIBRARIES="${SHAREDPREFIX}ecl.${SHAREDEXT}.${ECLLIB_VERSION}" blob - 6f52b9a35b64e3b2cf2b66dc865d82556417b4fa file + lang/ecl/pkg/PLIST --- lang/ecl/pkg/PLIST +++ lang/ecl/pkg/PLIST @@ -28,6 +28,7 @@ include/ecl/object.h include/ecl/page.h include/ecl/stack-resize.h include/ecl/stacks.h +include/ecl/threads.h lib/ecl/ lib/ecl/COPYING lib/ecl/LICENSE