diff options
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | 0001.patch | 108 | ||||
-rw-r--r-- | 0002.patch | 35 | ||||
-rw-r--r-- | 0003.patch | 24 | ||||
-rw-r--r-- | 0004.patch | 24 | ||||
-rw-r--r-- | PKGBUILD | 91 | ||||
-rw-r--r-- | method.patch | 15 |
7 files changed, 65 insertions, 252 deletions
@@ -1,24 +1,18 @@ pkgbase = ccl pkgdesc = A Common Lisp implementation. - pkgver = 1.12 - pkgrel = 1 + pkgver = 1.12.2 + pkgrel = 4 url = http://ccl.clozure.com arch = x86_64 license = Apache + makedepends = m4 provides = common-lisp provides = ccl conflicts = ccl-bin conflicts = ccl-git - source = https://github.com/Clozure/ccl/releases/download/v1.12/ccl-1.12-linuxx86.tar.gz - source = 0001.patch - source = 0002.patch - source = 0003.patch - source = 0004.patch - sha256sums = 84a95aaf1d1abafba586e9ff079343b04fe374b98b38ed24d830f1fb7ed4ab34 - sha256sums = 173f5ce2b7f72ea4b91b798d812d851d4d240e2e470d0942235cf5908d8555ec - sha256sums = 65deb1b12ceb15dad11a5db9f1e3f83ebb2db99820cf93da63765bd7c5fddf86 - sha256sums = 3032b1bc0516318fc030588c2bfde017dff8493d064985be2546ac723035e1d6 - sha256sums = 688d33fb905ed96761f73f65181027c1d00dfc6e0e9c086b3520bbd3c1c3eb19 + source = https://github.com/Clozure/ccl/releases/download/v1.12.2/ccl-1.12.2-linuxx86.tar.gz + source = method.patch + sha256sums = a94fda3daf26ce8c3d08e0db0e6e9907995acc10e0f8aad2125790b93eaa1556 + sha256sums = f565300c8cd80776d197fbe503864f22ecd2d7ee172880edac7f237cd7b23864 pkgname = ccl - diff --git a/0001.patch b/0001.patch deleted file mode 100644 index aff213bffc94..000000000000 --- a/0001.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 185dc1a00e7492f8be98e5f93b561758423595f1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C4=81nis=20D=C5=BEeri=C5=86=C5=A1?= - <smuglispweenie@gmail.com> -Date: Sat, 23 May 2020 16:18:32 +0300 -Subject: [PATCH 1/4] Move global variable definitions to .c files - - - 100.0% lisp-kernel/ -diff --git a/lisp-kernel/area.h b/lisp-kernel/area.h -index 1ae46aa4..3e74e8db 100644 ---- a/lisp-kernel/area.h -+++ b/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)) -diff --git a/lisp-kernel/gc-common.c b/lisp-kernel/gc-common.c -index 5a00264b..9f3b7b33 100644 ---- a/lisp-kernel/gc-common.c -+++ b/lisp-kernel/gc-common.c -@@ -92,6 +92,7 @@ LispObj GCarealow = 0, GCareadynamiclow = 0; - natural GCndnodes_in_area = 0, GCndynamic_dnodes_in_area = 0; - LispObj GCweakvll = (LispObj)NULL; - LispObj GCdwsweakvll = (LispObj)NULL; -+LispObj GCfirstunmarked = (LispObj) NULL; - LispObj GCephemeral_low = 0; - natural GCn_ephemeral_dnodes = 0; - natural GCstack_limit = 0; -diff --git a/lisp-kernel/gc.h b/lisp-kernel/gc.h -index 0aa31ba6..acc9e184 100644 ---- a/lisp-kernel/gc.h -+++ b/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; -@@ -153,19 +153,19 @@ void report_paging_info_delta(FILE*, paging_info *, paging_info *); - #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,10 @@ 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)) -diff --git a/lisp-kernel/pmcl-kernel.c b/lisp-kernel/pmcl-kernel.c -index f348b2b1..5aa9c04a 100644 ---- a/lisp-kernel/pmcl-kernel.c -+++ b/lisp-kernel/pmcl-kernel.c -@@ -151,6 +151,8 @@ 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; -+LispObj *global_reloctab = (LispObj) NULL, *GCrelocptr = (LispObj) NULL; -+void *tcr_area_lock = NULL; - - - /* These are all "persistent" : they're initialized when --- -2.27.0 - diff --git a/0002.patch b/0002.patch deleted file mode 100644 index cf4604001f44..000000000000 --- a/0002.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 997de91062d1f152d0c3b322a1e3694243e4a403 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C4=81nis=20D=C5=BEeri=C5=86=C5=A1?= - <smuglispweenie@gmail.com> -Date: Sat, 23 May 2020 16:19:26 +0300 -Subject: [PATCH 2/4] Remove unused variables - - - 100.0% lisp-kernel/ -diff --git a/lisp-kernel/gc.h b/lisp-kernel/gc.h -index acc9e184..58a4f227 100644 ---- a/lisp-kernel/gc.h -+++ b/lisp-kernel/gc.h -@@ -83,7 +83,6 @@ 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; - 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 */ -diff --git a/lisp-kernel/threads.h b/lisp-kernel/threads.h -index 4a79fa21..06da1227 100644 ---- a/lisp-kernel/threads.h -+++ b/lisp-kernel/threads.h -@@ -187,7 +187,6 @@ 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; - - #define DEFAULT_THREAD_STACK_SIZE ((size_t) -1) - #define MINIMAL_THREAD_STACK_SIZE ((size_t) 0) --- -2.27.0 - diff --git a/0003.patch b/0003.patch deleted file mode 100644 index 4d7f2ae12534..000000000000 --- a/0003.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 622c8612301e8a95cab91279155bfb04410f2f44 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C4=81nis=20D=C5=BEeri=C5=86=C5=A1?= - <smuglispweenie@gmail.com> -Date: Tue, 26 May 2020 11:49:26 +0300 -Subject: [PATCH 3/4] Don't introduce new warnings - - - 100.0% lisp-kernel/ -diff --git a/lisp-kernel/pmcl-kernel.c b/lisp-kernel/pmcl-kernel.c -index 5aa9c04a..e474716a 100644 ---- a/lisp-kernel/pmcl-kernel.c -+++ b/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; --LispObj *global_reloctab = (LispObj) NULL, *GCrelocptr = (LispObj) NULL; -+LispObj *global_reloctab = (LispObj) 0, *GCrelocptr = (LispObj) 0; - void *tcr_area_lock = NULL; - - --- -2.27.0 - diff --git a/0004.patch b/0004.patch deleted file mode 100644 index 1d2251c29f42..000000000000 --- a/0004.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 3c9756847a3995331181214753a6e9a2bd48c416 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C4=81nis=20D=C5=BEeri=C5=86=C5=A1?= - <smuglispweenie@gmail.com> -Date: Wed, 27 May 2020 15:03:00 +0300 -Subject: [PATCH 4/4] Get rid of the warnings properly - - - 100.0% lisp-kernel/ -diff --git a/lisp-kernel/pmcl-kernel.c b/lisp-kernel/pmcl-kernel.c -index e474716a..e65e3c38 100644 ---- a/lisp-kernel/pmcl-kernel.c -+++ b/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; --LispObj *global_reloctab = (LispObj) 0, *GCrelocptr = (LispObj) 0; -+LispObj *global_reloctab = (LispObj*) 0, *GCrelocptr = (LispObj*) 0; - void *tcr_area_lock = NULL; - - --- -2.27.0 - @@ -1,33 +1,23 @@ -# Maintainer: Nicolas Martyanoff <khaelin@gmail.com> +# Maintainer: Tarn W. Burton <twburton@gmail.com> +# Contributor: Nicolas Martyanoff <khaelin@gmail.com> pkgname=ccl -pkgver=1.12 -pkgrel=1 +pkgver=1.12.2 +pkgrel=4 pkgdesc="A Common Lisp implementation." arch=("x86_64") +makedepends=("m4") url="http://ccl.clozure.com" license=("Apache") provides=("common-lisp" "ccl") conflicts=("ccl-bin" "ccl-git") - source=("https://github.com/Clozure/ccl/releases/download/v${pkgver}/ccl-${pkgver}-linuxx86.tar.gz" - "0001.patch" - "0002.patch" - "0003.patch" - "0004.patch") - -sha256sums=('84a95aaf1d1abafba586e9ff079343b04fe374b98b38ed24d830f1fb7ed4ab34' - '173f5ce2b7f72ea4b91b798d812d851d4d240e2e470d0942235cf5908d8555ec' - '65deb1b12ceb15dad11a5db9f1e3f83ebb2db99820cf93da63765bd7c5fddf86' - '3032b1bc0516318fc030588c2bfde017dff8493d064985be2546ac723035e1d6' - '688d33fb905ed96761f73f65181027c1d00dfc6e0e9c086b3520bbd3c1c3eb19') + "method.patch") +sha256sums=('a94fda3daf26ce8c3d08e0db0e6e9907995acc10e0f8aad2125790b93eaa1556' + 'f565300c8cd80776d197fbe503864f22ecd2d7ee172880edac7f237cd7b23864') prepare() { - cd "$pkgname" - patch --forward --strip=1 --input="${srcdir}/0001.patch" - patch --forward --strip=1 --input="${srcdir}/0002.patch" - patch --forward --strip=1 --input="${srcdir}/0003.patch" - patch --forward --strip=1 --input="${srcdir}/0004.patch" + patch --directory="$srcdir/$pkgname" --forward --strip=1 --input=../method.patch } build() { @@ -38,36 +28,45 @@ build() { echo "(ccl:rebuild-ccl :clean t)" | ./lx86cl64 --no-init --quiet --batch } +function install_dir() { + src=$1 + shift + dest=$1 + shift + find $src -type f -not -name "*.o" -print | while read path_ + do + if [ $(type -P "$path_") ] ; then + mode=755 + else + mode=644 + fi + install -TDm $mode "$path_" "${dest}/$(realpath --relative-to=$src $path_)" + done +} + package() { cd "$srcdir/$pkgname" usrdir="$pkgdir/usr" + libdir="$usrdir/lib/ccl" - libdir="$usrdir/lib/$pkgname" - install -d $libdir - cp -a bin/ $libdir/ - cp -a cocoa-ide/ $libdir/ - cp -a compiler/ $libdir/ - cp -a level-0/ $libdir/ - cp -a level-1/ $libdir/ - cp -a lib/ $libdir/ - cp -a library/ $libdir/ - cp -a lisp-kernel/ $libdir/ - cp -a mac-ui/ $libdir/ - cp -a objc-bridge/ $libdir/ - cp -a tools/ $libdir/ - cp -a x86-headers64/ $libdir/ - cp -a xdump/ $libdir/ - cp lx86cl64 $libdir/ - cp lx86cl64.image $libdir/ - - exampledir="$usrdir/share/$pkgname" - install -d $exampledir - cp -a examples $exampledir - - docdir="$usrdir/share/doc/$pkgname" - install -d $docdir - cp -a doc/* $docdir + install_dir bin "$libdir/bin" + install_dir cocoa-ide "$libdir/cocoa-ide" + install_dir compiler "$libdir/compiler" + install_dir level-0 "$libdir/level-0" + install_dir level-1 "$libdir/level-1" + install_dir lib "$libdir/lib" + install_dir library "$libdir/library" + install_dir lisp-kernel "$libdir/lisp-kernel" + install_dir mac-ui "$libdir/mac-ui" + install_dir objc-bridge "$libdir/objc-bridge" + install_dir tools "$libdir/tools" + install_dir x86-headers64 "$libdir/x86-headers64" + install_dir xdump "$libdir/xdump" + install -Dm 755 -t $libdir lx86cl64 + install -Dm 644 -t $libdir lx86cl64.image + install_dir examples "$usrdir/share/ccl/examples" + install_dir doc "$usrdir/share/doc/ccl" bindir="$usrdir/bin" install -d $bindir @@ -76,8 +75,4 @@ package() { exec /usr/lib/$pkgname/lx86cl64 "\$@" EOF chmod +x "$bindir/ccl" - - find $usrdir -type d -name .svn | xargs rm -rf - find $libdir -name \*.o -delete } - diff --git a/method.patch b/method.patch new file mode 100644 index 000000000000..c4aeafe9b5ae --- /dev/null +++ b/method.patch @@ -0,0 +1,15 @@ +diff --unified --recursive --text ccl/lib/method-combination.lisp ccl.new/lib/method-combination.lisp +--- ccl/lib/method-combination.lisp 2023-08-08 23:20:12.000000000 -0400 ++++ ccl.new/lib/method-combination.lisp 2024-05-29 07:08:15.094772121 -0400 +@@ -570,10 +570,7 @@ + (:arguments + (when args-specified? (error ":ARGUMENTS specified twice")) + (setq arguments (cdr (pop forms)) +- args-specified? t) +- (do ((args arguments (cdr args))) +- ((null args)) +- (setf (car args) (require-type (car args) 'symbol)))) ++ args-specified? t)) + (:generic-function + (when gf-symbol-specified? (error ":GENERIC-FUNCTION specified twice")) + (setq generic-fn-symbol |