summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--0001.patch108
-rw-r--r--0002.patch35
-rw-r--r--0003.patch24
-rw-r--r--0004.patch24
-rw-r--r--PKGBUILD91
-rw-r--r--method.patch15
7 files changed, 65 insertions, 252 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 087ae2c83198..6425ac55d9c3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 4697ed5fb3d6..1168a70ba812 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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