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

Reply via email to