On Mon, Aug 12 2024, Sebastien Marie wrote:

> Hi,
>
> Just some comments.
>
> Timo Myyrä <timo.my...@bittivirhe.fi> writes:
>
>> Hi,
>>
>> Here's a bit long overdue update for the ECL port.
>> Lightly tested on amd64.
>>
>> timo
>>
>> diff /usr/ports
>> commit - 91c62197c95d894e5fecbb4866735eb37d9ec02a
>> path + /usr/ports
>> blob - 5d1ff4982781db1ed5fc9dfa5c1fb5c2680b06af
>> file + lang/ecl/Makefile
>> --- lang/ecl/Makefile
>> +++ lang/ecl/Makefile
>> @@ -1,9 +1,9 @@
>>  COMMENT =   embeddable common-lisp
>>  CATEGORIES =        lang
>>  
>> -V =         21.2.1
>> +V =         24.5.10
>>  DISTNAME =  ecl-$V
>> -SHARED_LIBS +=      ecl     8.0
>> +SHARED_LIBS +=      ecl     9.0
>>  
>>  REVISION =  0
>
> REVISION should be removed
>
>
> And the regress doesn't work anymore: ecl use explicitly /bin/bash for
> testing.
>
> So I also have:
>
> -TEST_DEPENDS = ${BASE_PKGPATH}
> +TEST_DEPENDS = ${FULLPKGNAME}:${BUILD_PKGPATH} \
> +               shells/bash
>
> And a patch for src/tests/Makefile.in
>
> blob - /dev/null
> file + lang/ecl/patches/patch-src_tests_Makefile_in (mode 644)
> --- /dev/null
> +++ lang/ecl/patches/patch-src_tests_Makefile_in
> @@ -0,0 +1,12 @@
> +Index: src/tests/Makefile.in
> +--- src/tests/Makefile.in.orig
> ++++ src/tests/Makefile.in
> +@@ -2,7 +2,7 @@
> + # vim: set filetype=makefile tabstop=8 shiftwidth=4 expandtab:
> +
> + ECL=@prefix@/@bindir@/ecl@EXEEXT@
> +-SHELL=/bin/bash -o pipefail
> ++SHELL=bash -o pipefail
> +
> + .PHONY: all check ansi-test
> +
>
>
> Thanks.

Here is an updated diff which drops REVISION and uses /bin/ksh for the
regression tests. Note that tests fail with "Signals delivery fails
constantly at GC #x" error. This is fixed by devel/boehm-gc update send
earlier.

Timo

diff /usr/ports
commit - 8e4b8dff34f8c8a46b16f8f5f305a301d14bbf3d
path + /usr/ports
blob - 5d1ff4982781db1ed5fc9dfa5c1fb5c2680b06af
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 =            24.5.10
 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>
 
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-24.5.10.tgz) = 5Opluxhh4OSVOGv6i8ZzvQFOltPPnZHpA4+RQ1y+Yis=
+SIZE (ecl-24.5.10.tgz) = 8130112
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 - 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,41 @@
 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@")
+@@ -91,21 +91,21 @@
+ (setf c::*ld-libs* "@LIBPREFIX@ecl.@LIBEXT@ @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@"
++      "-L. -lecl @LDFLAGS@"
        c::*ld-bundle-flags*
--      "@BUNDLE_LDFLAGS@ @LDFLAGS@ @SHAREDPREFIX@ecl.@SHAREDEXT@ @FASL_LIBS@ 
@LIBS@")
-+      "@BUNDLE_LDFLAGS@ @LDFLAGS@ -L. -lecl @FASL_LIBS@ @LIBS@")
+-      "@BUNDLE_LDFLAGS@ @LDFLAGS@"
++      "@BUNDLE_LDFLAGS@ -L. -lecl @LDFLAGS@"
+       c::*ld-program-flags*
+-      "@PROGRAM_LDFLAGS@ @LDFLAGS@")
++      "@PROGRAM_LDFLAGS@ -L. -lecl @LDFLAGS@")
  ;;; 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@"
++      "@LDFLAGS@ -Wld=-L.,-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@ -Wld=-L.,-lecl")
  
  ;;;
  ;;; * Avoid name clashes with user supplied code.
+@@ -199,7 +199,7 @@
+ (si::pathname-translations "SYS" '(("**;*.*.*" "@ecldir\@/**/*.*")))
+ 
+ #+WANTS-CMP
+-(build-module "cmp" +cmp-module-files+ 
++(build-module "cmp" +cmp-module-files+
+               :dir "build:@ECL_CMPDIR@;" :prefix "CMP"
+               :builtin #+:BUILTIN-CMP t #-:BUILTIN-CMP nil)
+ 
blob - 92f3a072896154a44addbc12977a4174daf41491
file + lang/ecl/patches/patch-src_configure
--- lang/ecl/patches/patch-src_configure
+++ lang/ecl/patches/patch-src_configure
@@ -1,21 +1,26 @@
 Index: src/configure
 --- src/configure.orig
 +++ src/configure
-@@ -5240,7 +5240,7 @@ LSP_FEATURES="(cons :android ${LSP_FEATURES})"
+@@ -6194,7 +6194,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
+@@ -11339,7 +11339,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}"
  
  
  LSP_FEATURES="(cons :wants-dlopen ${LSP_FEATURES})"
+@@ -12859,4 +12859,3 @@ fi
+ 
+ 
+ for i in $srcdir/c/*/; do mkdir -p c/`basename $i`; done
+-
blob - /dev/null
file + lang/ecl/patches/patch-src_tests_Makefile_in (mode 644)
--- /dev/null
+++ lang/ecl/patches/patch-src_tests_Makefile_in
@@ -0,0 +1,12 @@
+Index: src/tests/Makefile.in
+--- src/tests/Makefile.in.orig
++++ src/tests/Makefile.in
+@@ -2,7 +2,7 @@
+ # vim: set filetype=makefile tabstop=8 shiftwidth=4 expandtab:
+ 
+ ECL=@prefix@/@bindir@/ecl@EXEEXT@
+-SHELL=/bin/bash -o pipefail
++SHELL=/bin/ksh -o pipefail
+ 
+ .PHONY: all check ansi-test
+ 
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