Index: head/lang/ccl/Makefile =================================================================== --- head/lang/ccl/Makefile (revision 549604) +++ head/lang/ccl/Makefile (revision 549605) @@ -1,67 +1,68 @@ # $FreeBSD$ PORTNAME= ccl DISTVERSIONPREFIX= v DISTVERSION= 1.12 +PORTREVISION= 1 CATEGORIES= lang lisp MASTER_SITES+= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/v${PORTVERSION}/:bootstrap DISTFILES= freebsdx86.tar.gz:bootstrap DIST_SUBDIR= ${PORTNAME}/${DISTVERSIONPREFIX}${PORTVERSION} EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= olgeni@FreeBSD.org COMMENT= Clozure CL is a free Common Lisp implementation LICENSE= LGPL21 ONLY_FOR_ARCHS= amd64 USE_GITHUB= yes GH_ACCOUNT= Clozure CCL_DIRECTORY= ${PREFIX}/lib/ccl # the following files will not be installed EXCLUDE= cocoa-ide lisp-kernel scripts fx86cl fx86cl.image USE_ASDF= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include .if ${OSVERSION} < 1200000 IGNORE= does not build on FreeBSD < 12.0 .endif LISP_ARCH= x8664 FX86CL= fx86cl64 SUB_LIST+= CCL_DIRECTORY="${CCL_DIRECTORY}" \ FX86CL="${FX86CL}" SUB_FILES= ccl.sh post-extract: @cd ${WRKSRC} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/freebsdx86.tar.gz post-patch: @${SED} -i '' -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/tools/asdf.lisp @${SED} -i '' -e 's|%%TAG%%|v${PORTVERSION}|' ${WRKSRC}/lisp-kernel/freebsdx86*/Makefile @${FIND} ${WRKSRC} -name .svn -or -name .cvsignore -or -name "*.orig" \ | ${XARGS} ${RM} -r do-build: @${RM} ${WRKSRC}/fx86cl ${WRKSRC}/fx86cl64 @cd ${WRKSRC}/lisp-kernel/freebsd${LISP_ARCH} && ${MAKE} && ${RM} *.o @cd ${WRKSRC} && ${ECHO_CMD} | ${SETENV} -u CCL_DEFAULT_DIRECTORY ./${FX86CL} --no-init --batch --quiet \ --eval "(ccl:rebuild-ccl :full t)" \ --eval "(quit)" do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/lib/ccl ${CP} -r ${WRKSRC}/* ${STAGEDIR}${CCL_DIRECTORY} @for i in ${EXCLUDE}; do \ ${RM} -r ${STAGEDIR}${CCL_DIRECTORY}/$${i}; \ done ${INSTALL_SCRIPT} ${WRKDIR}/ccl.sh ${STAGEDIR}${PREFIX}/bin/ccl .include Index: head/lang/ccl/files/patch-lisp-kernel_area.h =================================================================== --- head/lang/ccl/files/patch-lisp-kernel_area.h (nonexistent) +++ head/lang/ccl/files/patch-lisp-kernel_area.h (revision 549605) @@ -0,0 +1,11 @@ +--- lisp-kernel/area.h.orig 2020-04-19 21:32:56 UTC ++++ lisp-kernel/area.h +@@ -108,7 +108,7 @@ Boolean grow_dynamic_area(natural); + Boolean shrink_dynamic_area(natural); + + /* serialize add_area/remove_area, and also the tcr queue */ +-void *tcr_area_lock; ++extern void *tcr_area_lock; + + #define reserved_area ((area *)(all_areas)) + #define active_dynamic_area ((area *)(reserved_area->succ)) Property changes on: head/lang/ccl/files/patch-lisp-kernel_area.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/ccl/files/patch-lisp-kernel_gc-common.c =================================================================== --- head/lang/ccl/files/patch-lisp-kernel_gc-common.c (nonexistent) +++ head/lang/ccl/files/patch-lisp-kernel_gc-common.c (revision 549605) @@ -0,0 +1,12 @@ +--- lisp-kernel/gc-common.c.orig 2020-04-19 21:32:56 UTC ++++ lisp-kernel/gc-common.c +@@ -24,6 +24,9 @@ + #include + #include + ++LispObj *GCrelocptr, *global_reloctab; ++LispObj GCfirstunmarked; ++ + #ifndef WINDOWS + #include + #endif Property changes on: head/lang/ccl/files/patch-lisp-kernel_gc-common.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/ccl/files/patch-lisp-kernel_gc.h =================================================================== --- head/lang/ccl/files/patch-lisp-kernel_gc.h (nonexistent) +++ head/lang/ccl/files/patch-lisp-kernel_gc.h (revision 549605) @@ -0,0 +1,66 @@ +--- lisp-kernel/gc.h.orig 2020-04-19 21:32:56 UTC ++++ lisp-kernel/gc.h +@@ -62,8 +62,8 @@ + extern LispObj GCarealow, GCareadynamiclow; + extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area; + extern bitvector GCmarkbits, GCdynamic_markbits,managed_static_refbits,global_refidx,dynamic_refidx,managed_static_refidx; +-LispObj *global_reloctab, *GCrelocptr; +-LispObj GCfirstunmarked; ++extern LispObj *global_reloctab, *GCrelocptr; ++extern LispObj GCfirstunmarked; + + extern natural lisp_heap_gc_threshold; + extern natural lisp_heap_notify_threshold; +@@ -83,7 +83,7 @@ void gc(TCR *, signed_natural); + int change_hons_area_size(TCR *, signed_natural); + void delete_protected_area(protected_area_ptr); + Boolean egc_control(Boolean, BytePtr); +-Boolean free_segments_zero_filled_by_OS; ++extern Boolean free_segments_zero_filled_by_OS; + Boolean new_heap_segment(ExceptionInformation *, natural, Boolean , TCR *, Boolean *); + void platform_new_heap_segment(ExceptionInformation *, TCR*, BytePtr, BytePtr); + /* an type representing 1/4 of a natural word */ +@@ -153,19 +153,19 @@ void report_paging_info_delta(FILE*, paging_info *, pa + #define GC_TRAP_FUNCTION_FREEZE 129 + #define GC_TRAP_FUNCTION_THAW 130 + +-Boolean GCDebug, GCverbose, just_purified_p; +-bitvector GCmarkbits, GCdynamic_markbits; +-LispObj GCarealow, GCareadynamiclow; +-natural GCndnodes_in_area, GCndynamic_dnodes_in_area; +-LispObj GCweakvll,GCdwsweakvll; +-LispObj GCephemeral_low; +-natural GCn_ephemeral_dnodes; +-natural GCstack_limit; ++extern Boolean GCDebug, GCverbose, just_purified_p; ++extern bitvector GCmarkbits, GCdynamic_markbits; ++extern LispObj GCarealow, GCareadynamiclow; ++extern natural GCndnodes_in_area, GCndynamic_dnodes_in_area; ++extern LispObj GCweakvll,GCdwsweakvll; ++extern LispObj GCephemeral_low; ++extern natural GCn_ephemeral_dnodes; ++extern natural GCstack_limit; + + #if WORD_SIZE == 64 +-unsigned short *_one_bits; ++extern unsigned short *_one_bits; + #else +-const unsigned char _one_bits[256]; ++extern const unsigned char _one_bits[256]; + #endif + + #define one_bits(x) _one_bits[x] +@@ -195,11 +195,11 @@ void gc(TCR *, signed_natural); + /* backend-interface */ + + typedef void (*weak_mark_fun) (LispObj); +-weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv; ++extern weak_mark_fun mark_weak_htabv, dws_mark_weak_htabv; + + typedef void (*weak_process_fun)(void); + +-weak_process_fun markhtabvs; ++extern weak_process_fun markhtabvs; + + + #define hash_table_vector_header_count (sizeof(hash_table_vector_header)/sizeof(LispObj)) Property changes on: head/lang/ccl/files/patch-lisp-kernel_gc.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/ccl/files/patch-lisp-kernel_pmcl-kernel.c =================================================================== --- head/lang/ccl/files/patch-lisp-kernel_pmcl-kernel.c (nonexistent) +++ head/lang/ccl/files/patch-lisp-kernel_pmcl-kernel.c (revision 549605) @@ -0,0 +1,11 @@ +--- lisp-kernel/pmcl-kernel.c.orig 2020-04-19 21:32:56 UTC ++++ lisp-kernel/pmcl-kernel.c +@@ -151,7 +151,7 @@ wperror(char* message) + + LispObj lisp_nil = (LispObj) 0; + bitvector global_mark_ref_bits = NULL, dynamic_mark_ref_bits = NULL, relocatable_mark_ref_bits = NULL, global_refidx = NULL, dynamic_refidx = NULL,managed_static_refidx = NULL; +- ++void *tcr_area_lock; + + /* These are all "persistent" : they're initialized when + subprims are first loaded and should never change. */ Property changes on: head/lang/ccl/files/patch-lisp-kernel_pmcl-kernel.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/ccl/files/patch-lisp-kernel_threads.h =================================================================== --- head/lang/ccl/files/patch-lisp-kernel_threads.h (nonexistent) +++ head/lang/ccl/files/patch-lisp-kernel_threads.h (revision 549605) @@ -0,0 +1,11 @@ +--- lisp-kernel/threads.h.orig 2020-04-19 21:32:56 UTC ++++ lisp-kernel/threads.h +@@ -187,7 +187,7 @@ void tsd_set(LispObj, void *); + void *tsd_get(LispObj); + TCR *new_tcr(natural, natural); + void thread_init_tcr(TCR *tcr, void *stack_base, natural stack_size); +-TCR *initial_thread_tcr; ++extern TCR *initial_thread_tcr; + + #define DEFAULT_THREAD_STACK_SIZE ((size_t) -1) + #define MINIMAL_THREAD_STACK_SIZE ((size_t) 0) Property changes on: head/lang/ccl/files/patch-lisp-kernel_threads.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property