Sebastien Marie <[email protected]> writes:
> Hi Menche,
>
> First, it should help if you Cc the maintainer too.
>
> Timo posted a preview update for rc1. Any reason to not starting from
> his diff ? https://marc.info/?l=openbsd-ports&m=153417784922634&w=2
>
> Regarding your diff, comments inlined.
>
> On Fri, Nov 09, 2018 at 08:43:32PM -0800, Menche wrote:
>> Hello,
>>
>> This updates lang/chicken to version 5.0.0. Note that two patch files
>> were removed: core/patches/patch-csc_scm and
>> core/patches/patch-eval_scm.
>>
>> Index: core/patches/patch-defaults_make
>> ===================================================================
>> RCS file: /cvs/ports/lang/chicken/core/patches/patch-defaults_make,v
>> retrieving revision 1.3
>> diff -u -p -u -p -r1.3 patch-defaults_make
>> --- core/patches/patch-defaults_make 27 Aug 2015 22:40:33
>> -0000 1.3 +++ core/patches/patch-defaults_make 8 Nov 2018
>> 22:01:15 -0000 @@ -1,7 +1,15 @@
>> -$OpenBSD: patch-defaults_make,v 1.3 2015/08/27 22:40:33 juanfra Exp $
>> ---- defaults.make.orig Thu Aug 27 19:08:10 2015
>> -+++ defaults.make Thu Aug 27 19:09:56 2015
>> -@@ -42,9 +42,9 @@ LIBDIR ?= $(PREFIX)/lib
>> +--- defaults.make.orig Wed Nov 7 10:02:01 2018
>> ++++ defaults.make Wed Nov 7 21:32:16 2018
>> +@@ -27,7 +27,7 @@
>> +
>> + # basic parameters
>> +
>> +-BINARYVERSION = 9
>> ++BINARYVERSION = $(LIBchicken_VERSION)
>> + STACKDIRECTION ?= 1
>> + CROSS_CHICKEN ?= 0
>> +
>
> I am unsure using LIBchicken_VERSION for BINARYVERSION definition will
> work well.
>
> From the PLIST point of vue, BINARYVERSION definition means:
>
>> -lib/chicken/8/
>> +lib/chicken/6.0/
>
> But for chicken code, it defined C_BINARY_VERSION from BINARYVERSION,
> and it expects as several place that C_BINARY_VERSION is a C integer:
>
> eval.scm
> 900:(define-foreign-variable binary-version int "C_BINARY_VERSION")
> 1121: (number->string binary-version))
>
> egg-environment.scm
> 44:(define binary-version (foreign-value "C_BINARY_VERSION" int))
> 91: (string-append default-libdir "/chicken/" (number->string
> binary-version)))
> 94: (string-append default-runlibdir "/chicken/" (number->string
> binary-version)))
>
> library.scm
> 6469:(define-foreign-variable binary-version int "C_BINARY_VERSION")
>
> Having '6.0' could not work as expected as it will be truncated.
>
>> Index: core/patches/patch-eval_scm
>> ===================================================================
>> RCS file: core/patches/patch-eval_scm
>> diff -N core/patches/patch-eval_scm
>> --- core/patches/patch-eval_scm 27 Aug 2015 22:40:33
>> -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000
>> @@ -1,13 +0,0 @@
>> -$OpenBSD: patch-eval_scm,v 1.3 2015/08/27 22:40:33 juanfra Exp $
>> ---- eval.scm.orig Tue Aug 4 21:46:22 2015
>> -+++ eval.scm Thu Aug 27 19:07:56 2015
>> -@@ -1068,8 +1068,7 @@
>> - (if uses-soname?
>> - (string-append
>> - ##sys#load-library-extension
>> -- "."
>> -- (number->string binary-version))
>> -+ ".${LIBchicken_VERSION}")
>> - ##sys#load-library-extension)))
>> - (define complete
>> - (cut ##sys#string-append <> ext))
>
> Timo version has a proper diff for eval.scm that resolve the
> BINARYVERSION stuff while keeping the use of LIBchicken_VERSION for the
> library name.
>
>
>> Index: core/pkg/PLIST
>> ===================================================================
>> RCS file: /cvs/ports/lang/chicken/core/pkg/PLIST,v
>> retrieving revision 1.4
>> diff -u -p -u -p -r1.4 PLIST
>> --- core/pkg/PLIST 4 Sep 2018 12:46:14 -0000 1.4
>> +++ core/pkg/PLIST 8 Nov 2018 22:01:15 -0000
>> @@ -12,33 +12,54 @@ include/chicken/
>> include/chicken/chicken-config.h
>> include/chicken/chicken.h
>> lib/chicken/
>> -lib/chicken/8/
>> -lib/chicken/8/chicken.import.so
>> -lib/chicken/8/csi.import.so
>> -lib/chicken/8/data-structures.import.so
>> [...]
>
> I think it could help if Makefile manages BINARYVERSION with SUBST_VARS.
> It could make PLIST changes more smooth as the base directory will not
> change anymore.
>
> Something like:
>
> BINARYVERSION = 9
> SUBST_VARS += BINARYVERSION
>
> PLIST will be:
>> lib/chicken/
>> lib/chicken/${BINARYVERSION}/
>> lib/chicken/${BINARYVERSION}/chicken.import.so
>> lib/chicken/${BINARYVERSION}/csi.import.so
>> lib/chicken/${BINARYVERSION}/data-structures.import.so
>
> But maybe it is overkill ? No strong opinion.
>
> Thanks.
Yeah, the binary version setting is wrong in above. For example minor patch
updates would require all eggs to be reinstalled.
Here's revised patch from my RC diff. I added the SUBST_VARS stuff to ease the
plist changes. Tested slightly on amd64.
Noted that this still conflicts with lang/mono:
Warning: chicken-5.0.0 conflicts with mono-5.14.0.177
(lang/mono):/usr/local/bin/csc /usr/local/bin/csi
As chicken predates the lang/mono I'd say mono port should be fixed to resolve
the conflict.
Timo
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/chicken/Makefile.inc,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile.inc
--- Makefile.inc 18 Dec 2017 01:45:10 -0000 1.12
+++ Makefile.inc 10 Nov 2018 08:26:39 -0000
@@ -2,15 +2,15 @@
COMMENT= practical and portable Scheme system
-V= 4.13.0
+V= 5.0.0
DISTNAME= chicken-${V}
MAINTAINER= Timo Myyra <[email protected]>
CATEGORIES= lang
-HOMEPAGE= http://www.call-cc.org/
-MASTER_SITES=
http://code.call-cc.org/releases/${V:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/
+HOMEPAGE= https://www.call-cc.org/
+MASTER_SITES=
https://code.call-cc.org/releases/${V:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/
# BSD
PERMIT_PACKAGE_CDROM= Yes
@@ -26,6 +26,9 @@ MAKE_FLAGS+= PLATFORM=bsd C_COMPILER="${
MAKE_FILE= GNUmakefile
FAKE_FLAGS= PREFIX=${TRUEPREFIX}
+
+BINARYVERSION= 9
+SUBST_VARS+= BINARYVERSION
# Based on param.h:MACHINE_STACK_GROWS_UP
pre-build:
Index: bootstrap/distinfo
===================================================================
RCS file: /cvs/ports/lang/chicken/bootstrap/distinfo,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 distinfo
--- bootstrap/distinfo 18 Dec 2017 01:45:10 -0000 1.6
+++ bootstrap/distinfo 10 Nov 2018 08:26:39 -0000
@@ -1,2 +1,2 @@
-SHA256 (chicken-4.13.0.tar.gz) = rdVJYZoxNj1mCLOeDPDmi51eb/KnGbVpHd66VyKcbEM=
-SIZE (chicken-4.13.0.tar.gz) = 4244358
+SHA256 (chicken-5.0.0.tar.gz) = qLlLuUxdakNIzt113DNKyAkkvNmnp6PWr1Eh5X72ZZU=
+SIZE (chicken-5.0.0.tar.gz) = 4003976
Index: core/Makefile
===================================================================
RCS file: /cvs/ports/lang/chicken/core/Makefile,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 Makefile
--- core/Makefile 4 Sep 2018 12:46:14 -0000 1.12
+++ core/Makefile 10 Nov 2018 08:26:39 -0000
@@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.12 2018/09/04 12:46:14 espie Exp $
-SHARED_LIBS= chicken 5.1 # 8
+SHARED_LIBS= chicken 6.0 # 9
TEST_TARGET= check
TEST_DEPENDS= ${BUILD_PKGPATH}
-REVISION= 0
MAKE_FLAGS+= CHICKEN=${LOCALBASE}/libexec/chicken-bootstrap \
LIBchicken_VERSION="${LIBchicken_VERSION}"
Index: core/distinfo
===================================================================
RCS file: /cvs/ports/lang/chicken/core/distinfo,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 distinfo
--- core/distinfo 18 Dec 2017 01:45:10 -0000 1.6
+++ core/distinfo 10 Nov 2018 08:26:39 -0000
@@ -1,2 +1,2 @@
-SHA256 (chicken-4.13.0.tar.gz) = rdVJYZoxNj1mCLOeDPDmi51eb/KnGbVpHd66VyKcbEM=
-SIZE (chicken-4.13.0.tar.gz) = 4244358
+SHA256 (chicken-5.0.0.tar.gz) = qLlLuUxdakNIzt113DNKyAkkvNmnp6PWr1Eh5X72ZZU=
+SIZE (chicken-5.0.0.tar.gz) = 4003976
Index: core/patches/patch-csc_scm
===================================================================
RCS file: core/patches/patch-csc_scm
diff -N core/patches/patch-csc_scm
--- core/patches/patch-csc_scm 20 Aug 2016 08:56:19 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-csc_scm,v 1.4 2016/08/20 08:56:19 jasper Exp $
---- csc.scm.orig Sat May 28 14:48:08 2016
-+++ csc.scm Mon Aug 15 07:51:43 2016
-@@ -990,9 +990,7 @@ EOF
- dynamic-libchicken
- (cond (osx "dylib")
- ((or mingw cygwin) "dll")
-- (else (string-append
-- "so."
-- (number->string BINARY_VERSION)))))))
-+ (else "so.${LIBchicken_VERSION}")))))
- (copy-files lib targetdir)))
-
- (define (copy-files from to)
Index: core/patches/patch-eval_scm
===================================================================
RCS file: /cvs/ports/lang/chicken/core/patches/patch-eval_scm,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-eval_scm
--- core/patches/patch-eval_scm 27 Aug 2015 22:40:33 -0000 1.3
+++ core/patches/patch-eval_scm 10 Nov 2018 08:26:39 -0000
@@ -1,13 +1,14 @@
$OpenBSD: patch-eval_scm,v 1.3 2015/08/27 22:40:33 juanfra Exp $
---- eval.scm.orig Tue Aug 4 21:46:22 2015
-+++ eval.scm Thu Aug 27 19:07:56 2015
-@@ -1068,8 +1068,7 @@
+Index: eval.scm
+--- eval.scm.orig
++++ eval.scm
+@@ -1117,8 +1117,7 @@
(if uses-soname?
(string-append
- ##sys#load-library-extension
+ load-library-extension
- "."
- (number->string binary-version))
+ ".${LIBchicken_VERSION}")
- ##sys#load-library-extension)))
+ load-library-extension)))
(define complete
(cut ##sys#string-append <> ext))
Index: core/patches/patch-rules_make
===================================================================
RCS file: /cvs/ports/lang/chicken/core/patches/patch-rules_make,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-rules_make
--- core/patches/patch-rules_make 8 Jun 2016 01:24:45 -0000 1.3
+++ core/patches/patch-rules_make 10 Nov 2018 08:26:39 -0000
@@ -1,8 +1,9 @@
$OpenBSD: patch-rules_make,v 1.3 2016/06/08 01:24:45 juanfra Exp $
disable DESTDIR check so chicken-install will run
---- rules.make.orig Wed Apr 6 07:01:56 2016
-+++ rules.make Wed Apr 6 07:02:34 2016
-@@ -214,7 +214,7 @@ $(foreach obj, $(ALWAYS_STATIC_UTILITY_PROGRAM_OBJECTS
+Index: rules.make
+--- rules.make.orig
++++ rules.make
+@@ -186,7 +186,7 @@ $(foreach obj, $(UTILITY_PROGRAM_OBJECTS_1),\
libs: $(TARGETLIBS)
Index: core/pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/chicken/core/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 PLIST
--- core/pkg/PLIST 4 Sep 2018 12:46:14 -0000 1.4
+++ core/pkg/PLIST 10 Nov 2018 08:26:39 -0000
@@ -1,6 +1,6 @@
@comment $OpenBSD: PLIST,v 1.4 2018/09/04 12:46:14 espie Exp $
@bin bin/chicken
-@bin bin/chicken-bug
+@bin bin/chicken-do
@bin bin/chicken-install
@bin bin/chicken-profile
@bin bin/chicken-status
@@ -12,33 +12,54 @@ include/chicken/
include/chicken/chicken-config.h
include/chicken/chicken.h
lib/chicken/
-lib/chicken/8/
-lib/chicken/8/chicken.import.so
-lib/chicken/8/csi.import.so
-lib/chicken/8/data-structures.import.so
-lib/chicken/8/extras.import.so
-lib/chicken/8/files.import.so
-lib/chicken/8/foreign.import.so
-lib/chicken/8/irregex.import.so
-lib/chicken/8/lolevel.import.so
-lib/chicken/8/ports.import.so
-lib/chicken/8/posix.import.so
-lib/chicken/8/setup-api.import.so
-lib/chicken/8/setup-api.so
-lib/chicken/8/setup-download.import.so
-lib/chicken/8/setup-download.so
-lib/chicken/8/srfi-1.import.so
-lib/chicken/8/srfi-13.import.so
-lib/chicken/8/srfi-14.import.so
-lib/chicken/8/srfi-18.import.so
-lib/chicken/8/srfi-4.import.so
-lib/chicken/8/srfi-69.import.so
-lib/chicken/8/tcp.import.so
-lib/chicken/8/types.db
-lib/chicken/8/utils.import.so
+lib/chicken/${BINARYVERSION}/
+lib/chicken/${BINARYVERSION}/chicken.base.import.so
+lib/chicken/${BINARYVERSION}/chicken.bitwise.import.so
+lib/chicken/${BINARYVERSION}/chicken.blob.import.so
+lib/chicken/${BINARYVERSION}/chicken.compiler.user-pass.import.so
+lib/chicken/${BINARYVERSION}/chicken.condition.import.so
+lib/chicken/${BINARYVERSION}/chicken.continuation.import.so
+lib/chicken/${BINARYVERSION}/chicken.csi.import.so
+lib/chicken/${BINARYVERSION}/chicken.errno.import.so
+lib/chicken/${BINARYVERSION}/chicken.eval.import.so
+lib/chicken/${BINARYVERSION}/chicken.file.import.so
+lib/chicken/${BINARYVERSION}/chicken.file.posix.import.so
+lib/chicken/${BINARYVERSION}/chicken.fixnum.import.so
+lib/chicken/${BINARYVERSION}/chicken.flonum.import.so
+lib/chicken/${BINARYVERSION}/chicken.foreign.import.so
+lib/chicken/${BINARYVERSION}/chicken.format.import.so
+lib/chicken/${BINARYVERSION}/chicken.gc.import.so
+lib/chicken/${BINARYVERSION}/chicken.internal.import.so
+lib/chicken/${BINARYVERSION}/chicken.io.import.so
+lib/chicken/${BINARYVERSION}/chicken.irregex.import.so
+lib/chicken/${BINARYVERSION}/chicken.keyword.import.so
+lib/chicken/${BINARYVERSION}/chicken.load.import.so
+lib/chicken/${BINARYVERSION}/chicken.locative.import.so
+lib/chicken/${BINARYVERSION}/chicken.memory.import.so
+lib/chicken/${BINARYVERSION}/chicken.memory.representation.import.so
+lib/chicken/${BINARYVERSION}/chicken.pathname.import.so
+lib/chicken/${BINARYVERSION}/chicken.platform.import.so
+lib/chicken/${BINARYVERSION}/chicken.plist.import.so
+lib/chicken/${BINARYVERSION}/chicken.port.import.so
+lib/chicken/${BINARYVERSION}/chicken.pretty-print.import.so
+lib/chicken/${BINARYVERSION}/chicken.process-context.import.so
+lib/chicken/${BINARYVERSION}/chicken.process-context.posix.import.so
+lib/chicken/${BINARYVERSION}/chicken.process.import.so
+lib/chicken/${BINARYVERSION}/chicken.process.signal.import.so
+lib/chicken/${BINARYVERSION}/chicken.random.import.so
+lib/chicken/${BINARYVERSION}/chicken.read-syntax.import.so
+lib/chicken/${BINARYVERSION}/chicken.repl.import.so
+lib/chicken/${BINARYVERSION}/chicken.sort.import.so
+lib/chicken/${BINARYVERSION}/chicken.string.import.so
+lib/chicken/${BINARYVERSION}/chicken.syntax.import.so
+lib/chicken/${BINARYVERSION}/chicken.tcp.import.so
+lib/chicken/${BINARYVERSION}/chicken.time.import.so
+lib/chicken/${BINARYVERSION}/chicken.time.posix.import.so
+lib/chicken/${BINARYVERSION}/srfi-4.import.so
+lib/chicken/${BINARYVERSION}/types.db
lib/libchicken.a
@lib lib/libchicken.so.${LIBchicken_VERSION}
-@man man/man1/chicken-bug.1
+@man man/man1/chicken-do.1
@man man/man1/chicken-install.1
@man man/man1/chicken-profile.1
@man man/man1/chicken-status.1
@@ -51,62 +72,81 @@ share/chicken/
share/chicken/feathers.tcl
share/chicken/setup.defaults
share/doc/chicken/
+share/doc/chicken/DEPRECATED
share/doc/chicken/LICENSE
share/doc/chicken/README
share/doc/chicken/manual/
share/doc/chicken/manual/Accessing external objects.html
share/doc/chicken/manual/Acknowledgements.html
-share/doc/chicken/manual/Basic mode of operation.html
share/doc/chicken/manual/Bibliography.html
share/doc/chicken/manual/Bugs and limitations.html
share/doc/chicken/manual/C interface.html
-share/doc/chicken/manual/Callbacks.html
share/doc/chicken/manual/Cross development.html
share/doc/chicken/manual/Data representation.html
share/doc/chicken/manual/Debugging.html
share/doc/chicken/manual/Declarations.html
share/doc/chicken/manual/Deployment.html
share/doc/chicken/manual/Deviations from the standard.html
+share/doc/chicken/manual/Egg specification format.html
share/doc/chicken/manual/Embedding.html
-share/doc/chicken/manual/Exceptions.html
+share/doc/chicken/manual/Extension tools.html
share/doc/chicken/manual/Extensions to the standard.html
share/doc/chicken/manual/Extensions.html
share/doc/chicken/manual/Foreign type specifiers.html
share/doc/chicken/manual/Getting started.html
+share/doc/chicken/manual/Included modules.html
share/doc/chicken/manual/Interface to external functions and variables.html
-share/doc/chicken/manual/Locations.html
-share/doc/chicken/manual/Macros.html
+share/doc/chicken/manual/Module (chicken base).html
+share/doc/chicken/manual/Module (chicken bitwise).html
+share/doc/chicken/manual/Module (chicken blob).html
+share/doc/chicken/manual/Module (chicken condition).html
+share/doc/chicken/manual/Module (chicken continuation).html
+share/doc/chicken/manual/Module (chicken csi).html
+share/doc/chicken/manual/Module (chicken errno).html
+share/doc/chicken/manual/Module (chicken eval).html
+share/doc/chicken/manual/Module (chicken file posix).html
+share/doc/chicken/manual/Module (chicken file).html
+share/doc/chicken/manual/Module (chicken fixnum).html
+share/doc/chicken/manual/Module (chicken flonum).html
+share/doc/chicken/manual/Module (chicken foreign).html
+share/doc/chicken/manual/Module (chicken format).html
+share/doc/chicken/manual/Module (chicken gc).html
+share/doc/chicken/manual/Module (chicken io).html
+share/doc/chicken/manual/Module (chicken irregex).html
+share/doc/chicken/manual/Module (chicken keyword).html
+share/doc/chicken/manual/Module (chicken load).html
+share/doc/chicken/manual/Module (chicken locative).html
+share/doc/chicken/manual/Module (chicken memory representation).html
+share/doc/chicken/manual/Module (chicken memory).html
+share/doc/chicken/manual/Module (chicken module).html
+share/doc/chicken/manual/Module (chicken pathname).html
+share/doc/chicken/manual/Module (chicken platform).html
+share/doc/chicken/manual/Module (chicken plist).html
+share/doc/chicken/manual/Module (chicken port).html
+share/doc/chicken/manual/Module (chicken pretty-print).html
+share/doc/chicken/manual/Module (chicken process signal).html
+share/doc/chicken/manual/Module (chicken process).html
+share/doc/chicken/manual/Module (chicken process-context posix).html
+share/doc/chicken/manual/Module (chicken process-context).html
+share/doc/chicken/manual/Module (chicken random).html
+share/doc/chicken/manual/Module (chicken read-syntax).html
+share/doc/chicken/manual/Module (chicken repl).html
+share/doc/chicken/manual/Module (chicken sort).html
+share/doc/chicken/manual/Module (chicken string).html
+share/doc/chicken/manual/Module (chicken syntax).html
+share/doc/chicken/manual/Module (chicken tcp).html
+share/doc/chicken/manual/Module (chicken time posix).html
+share/doc/chicken/manual/Module (chicken time).html
+share/doc/chicken/manual/Module (chicken type).html
+share/doc/chicken/manual/Module r4rs.html
+share/doc/chicken/manual/Module r5rs.html
+share/doc/chicken/manual/Module scheme.html
+share/doc/chicken/manual/Module srfi-4.html
share/doc/chicken/manual/Modules.html
-share/doc/chicken/manual/Non-standard macros and special forms.html
-share/doc/chicken/manual/Non-standard read syntax.html
-share/doc/chicken/manual/Other support procedures.html
-share/doc/chicken/manual/Parameters.html
-share/doc/chicken/manual/Supported language.html
-share/doc/chicken/manual/The R5RS standard.html
share/doc/chicken/manual/The User's Manual.html
share/doc/chicken/manual/Types.html
-share/doc/chicken/manual/Unit data-structures.html
-share/doc/chicken/manual/Unit eval.html
-share/doc/chicken/manual/Unit expand.html
-share/doc/chicken/manual/Unit extras.html
-share/doc/chicken/manual/Unit files.html
-share/doc/chicken/manual/Unit irregex.html
-share/doc/chicken/manual/Unit library.html
-share/doc/chicken/manual/Unit lolevel.html
-share/doc/chicken/manual/Unit ports.html
-share/doc/chicken/manual/Unit posix.html
-share/doc/chicken/manual/Unit srfi-1.html
-share/doc/chicken/manual/Unit srfi-13.html
-share/doc/chicken/manual/Unit srfi-14.html
-share/doc/chicken/manual/Unit srfi-18.html
-share/doc/chicken/manual/Unit srfi-4.html
-share/doc/chicken/manual/Unit srfi-69.html
-share/doc/chicken/manual/Unit tcp.html
-share/doc/chicken/manual/Unit utils.html
+share/doc/chicken/manual/Units and linking model.html
share/doc/chicken/manual/Using the compiler.html
share/doc/chicken/manual/Using the interpreter.html
-share/doc/chicken/manual/chicken.png
-share/doc/chicken/manual/faq.html
-share/doc/chicken/manual/index.html
share/doc/chicken/manual/manual.css
share/doc/pkg-readmes/${PKGSTEM}