diff options
Diffstat (limited to 'dev-lisp/sbcl')
-rw-r--r-- | dev-lisp/sbcl/Manifest | 12 | ||||
-rw-r--r-- | dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch | 385 | ||||
-rw-r--r-- | dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch | 410 | ||||
-rw-r--r-- | dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch | 410 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.2.9.ebuild | 4 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.3.5.ebuild | 4 | ||||
-rw-r--r-- | dev-lisp/sbcl/sbcl-2.3.6.ebuild | 4 |
7 files changed, 15 insertions, 1214 deletions
diff --git a/dev-lisp/sbcl/Manifest b/dev-lisp/sbcl/Manifest index 6a500928db20..041e7dcb7721 100644 --- a/dev-lisp/sbcl/Manifest +++ b/dev-lisp/sbcl/Manifest @@ -1,10 +1,10 @@ -AUX bsd-sockets-test-2.0.5.patch 16171 BLAKE2B 6b78dbd0eb2cad0503234f3b51c4e1c614ab7e89a477c6fecce8f86130c4b703fe0419bb5a4735e54a490b3a249ccc649311e9c44dffa81789a9a70e35f4a2c6 SHA512 5d84f006db1e2672f530a8d2626c5c52f8c93afcd8e7a54898e8b3ca733d8479c0a1974be8091e011acd93de00e8dc6f491fea65aafd0c18626a68c1080ec692 -AUX bsd-sockets-test-2.3.1.patch 17662 BLAKE2B c3e05c354aedf18b38944973b1929bf954febccb35124bc669e982c85d7013f616d1342c1e4e41f199f52178880b853eef8d38580914c142f6d4b4dde9f5acaa SHA512 1e74a000550be81d7926ed7da206205542f7c0c7f935228f3d9d88c5e98a5de0bfff280f4a8aa9bc0c5f01d098f6296446dad681f04023959d9c5c80558aaf87 -AUX bsd-sockets-test-2.3.6.patch 17692 BLAKE2B 4845b1845f4679493a2e48d5b8e6764b3103b1b1e4e2efac4c5618b2d49da8a82249e708b659885cb9a945b0273b8cf6c521e4edefae50885f27d0892d76f343 SHA512 685e3c8954ed567445384f8dcc8d934cc00830e55618abb2e5de94491d03907ff031f34dc062dd3cac8a50ced75554e0c2c91ff279065f68ef33a754633fb619 AUX concurrency-test-2.0.1.patch 587 BLAKE2B 3c7f73f7efe711f400f830cbd53b6448aeba41e14f4b229b0260d62c494ffdf9ef9687d916aa108035b53065598a8a51c92e086509b2cdabb2f6b2a7acb0b718 SHA512 c1223eda1a6e9e40196bc133a6270c9803195257d39637d4622026503774847eb184879025d9029617e8b36074d81c47820c4474ceabcb45b7734deddeeae8ce AUX etags-2.1.0.patch 347 BLAKE2B 00e55c6b2279bfe8171de31a92a8c2afd4bc13eb2364aadb4f7850bc6078fabdefa21bd238c1d2b9914818b0fff81ad26ed0f1878cbec3f2b2e3fc13518cf908 SHA512 724e97da71176769a78e1eae017d6d9efcf3add4707947d9d2700837b596b7b4f675bfc40e2be35d8be61cb67ac273fdf810ce5b1489202fbdc9be6125fa3a0f AUX sb-posix-test-2.2.9.patch 1303 BLAKE2B 413020d95c80b2a973897f4ba104cabff642c86a1594c9f265a2f5ce9acd662f003ce5ce194091480181262954d64016351d33af7943e8a81ebe11d2bb57ec34 SHA512 83b196051f5f06014d9e0f02f70258852a2872a2cfc24ea3d2bc06a9657635692c613f268b84da4c5ba1a416c5b3ba4a0bf8d007d3b88a1fba1a3bfda7f621d5 AUX verbose-build-2.0.3.patch 1014 BLAKE2B bdd83275e874ad0835caba34f4b97ae16d2537ccb0650aac12f874dc9344fa4b8dd56468ef8c45cca2fe570fff25026f636b2cae294116a23f9bde6523cb9efa SHA512 01b0259d8d19b5c5554bcee54756b60986d623467e3156f4ece3f0ede5d64ec75688d3ac8a41a33e55e3f80c96c3f9184e6ec208621e33fb18397e6f575d4b84 +DIST bsd-sockets-test-2.0.5.patch.gz 3189 BLAKE2B ba4d8af4ae5f3f7e4008632c6603fb74e2419da5f9cf0ccf24c9f2440896fb466332dfa55652f6848f25e0eea76cd696556df0e6d88d0bcb73fcbc8db102ef90 SHA512 2e60db09f435f0f5630aa56a0af208a5b24a27b7c072c17e6a49525ed99d5ed7cdbd78e11511d1dc9b23e14ddca9f9592f625ec33cf98f066151de02565b86ae +DIST bsd-sockets-test-2.3.1.patch.gz 3451 BLAKE2B 3f1499df0346852d3337d741e4f2e99dddc178f8f31d79911ba3206a83f0d56ad86967ed4deccc7c28a3e24e302814db63a1fafe3b88991cfba7a1c40c8b3851 SHA512 bccf0d4a46b6fcfea40a287863e72267717fa6860d8dc3e3e0bd4f616d9b825eec1195f4e88b0650c12c76360e2fc3c7e32930c0319ecae0ab66834be22fca83 +DIST bsd-sockets-test-2.3.6.patch.gz 3459 BLAKE2B f8ee83904a21944f15890c781aa46f66e0e5c5f59b5c03ba78b54fc8c1d4b1d88cae71bbb6f3f88451435eb7a3ab39a7168df047d9684391b46afc644dc9e96c SHA512 baaf803210c00074042d04e12e47919e8e187c8ae3374651a4205aded9d10bec078e5e17e04fcdcb666ab3f4bb1d7195c453b0f1d8b1fc5038e1ac22bf99ca35 DIST sbcl-1.0.28-alpha-linux-binary.tar.bz2 7573824 BLAKE2B ab8e139adb4fbc0ac7b34457c3361b044d04d8d9dedba2008cb19220915900e2d1bf540b617c738145923d74fa28ab7d979fd0d1bf4b9d17c445dfb080731263 SHA512 85ceb4d3bf971777f5444a63cbabd88ccfaf16ed3b3c86cc5ea6cb3fd3189c4cd5a5ebbf785c97366afb7026604ffc34a1129936291deede5993056e158125ab DIST sbcl-1.0.28-sparc-linux-binary.tar.bz2 8032042 BLAKE2B ca4213ef00447d66406d1c752a1653fd628deba0e112f55a5625dad61da30c0be7c60fe4e84e8dcc9d9946db553ad544dc39b28d62124d8e3d6197943efc944a SHA512 cea1ba06f85169fca9fe3026813c6e7e8e8209b874e048b7bd63cb3a1c5bd7c829e8dbb2c486977e190a0390d28e4845938a9e84378f4f2f16f72bf0b6f45c80 DIST sbcl-1.0.47-powerpc-darwin-binary.tar.bz2 8217590 BLAKE2B 68da614df7d27ecf08a21603d4f172344c86e650176d238fe73d7756a626b694e2165b9157e53732730861d085902e5cc893b967073168fe3845cd2621668b87 SHA512 8118de56e448bce7a72b832e661eb4e2687eed675f88f766f7043c843a432e35121d9e6f9da8d22ac690c54bda0d55ecb07728748ce2cdd57320f49b4b812b86 @@ -22,7 +22,7 @@ DIST sbcl-2.3.4-x86-64-linux-binary.tar.bz2 11783208 BLAKE2B 40e77c69a3df7674994 DIST sbcl-2.3.5-source.tar.bz2 7474392 BLAKE2B 0b4f678dccbb18c18d59709aa2ce9facec3ada9f32cf1d398e1686f63615ab82781da68d6b5914294adab88e18501945d57b6d630507e02a8d89351379f769f3 SHA512 89635b6ebd18a481c56bb40b69ef58f13b2e2ebdb6b1244a1eea3b0d9e85dc1659391754b7c8ba533455575e91989889fe41be05314297f8e49bf11170001004 DIST sbcl-2.3.6-source.tar.bz2 7483612 BLAKE2B 92428617b925a1fdd2dc0a5d8af61c2b4353bdc6305a9331fc0c945e9cec4b6119f8db0c7c611d3db82c3868a7635134496c7ba335de393abe9c055ef1ced6e3 SHA512 f71ac11b3f70c77e5b87fced73333a466dfb387bc19170330419d71aea310bc09b9918ea106eb655cb8118b203191716a7b27406bb3557640395189c36e09282 DIST sbcl-2.3.6-x86-64-linux-binary.tar.bz2 11904608 BLAKE2B 240fee1c929b79c311f5708bb72060fc159cbe7f341cec7f98cdb2428e80d0c37f83b9d4fc7822329b794db77553d2c4293a19b3077964b728480cc2f9e9ea8d SHA512 166c348b83f20a8e66f89a22580a000afa1e0b0b14d19332823a8b4e87f9090032cf4a57ae36089eb7ed6c83777335b3823a631e716337e0833d3e84219ea1f4 -EBUILD sbcl-2.2.9.ebuild 8326 BLAKE2B 85b20d42653041d54d0babe92743bb035d71f6689cbdb518c5c8f1f03e74a2bbb2e68829ec0220711fcdd496f9879e4fce2f5703d4da49334f3cd7c8ca17f9f1 SHA512 d39128f56ff61ba21a74b45c634f4c055362a9fe9c903b5699aa0232edf3784e9af23bcaac14ad29b90463f57409755489df3dc3415ed4f4710ca037eb810f7b -EBUILD sbcl-2.3.5.ebuild 8939 BLAKE2B 8cd9db22ecb1b987bde4bfe9d27c841335ee1ca067ec3954af370c6379fc011eae982c6e48775f9a2e2fc78c11bc6789ce4077d55e72d47b0d6ce4b5c175c025 SHA512 6ef8d0e30f5067644b362b298cc82428aee081de3ac3fbbf3ac36621e62da953769a95bb415cbe719eb93bb1f98ede426a000021d5747e631c2d44fa939ce55d -EBUILD sbcl-2.3.6.ebuild 8942 BLAKE2B 9b96de53799d0b52fe1385d025db0b6d497c66247e18809857125e7f69edca85573172c2902bb8fc7d0eb1efd0c72ef24507018b70b2c7d8079e9d76cc76c806 SHA512 cbeaf0dd82b81399afa90d3261a1d81bf23a48b1c11105c71fb2d27ed5173324ed4e4576fcd4000e9234379566db807b9ce8e963d678686a866446f49b55f71c +EBUILD sbcl-2.2.9.ebuild 8435 BLAKE2B 21e1a79791f05c1f22c41bb3c8536ea73a8d7e337eb42c6a4d8feacac726418d58cd42d5cf144f8041dec47b6180d144b34a461e996a577d72f4e6078350dc94 SHA512 2300982e8623290026775c009e422f92779b6a0c338f6f290bf6518f9c046e6908e35fa1e8b3e4b2c87866ee787dcd6fd63155eeea1d5cb7dce6562d869f7eee +EBUILD sbcl-2.3.5.ebuild 9048 BLAKE2B 55316506f5a293853d3c76ada146fd188a90dd0b527e63ebd051e5fc128baaabe9b963d3d4280ae0bd694b63ab36ec0df1693ea54c10d0efb078ecc5f8859242 SHA512 dc6d3801fd96c3ba21a4ba512582ac9930f7abdc2d565dbd8fd9e430926cf872414f1eb4ea9f5d0ae068250ffd5d88c91023527318082bd3a3259e051d3f49f8 +EBUILD sbcl-2.3.6.ebuild 9051 BLAKE2B 69c2fe75a14df83bff342dd2d1eeb51bd27b36be3643ac868778985b470d8d98f1d03f0e9ca71759353a4acde51c5d9f5400b037d3ad1ce333bb58980b2cfe38 SHA512 6bbd21e70f49f9fc20b3829495a85028b7d067acb9b86c06c55830a191240f3814ad70a88619c8b00b32797395e85c40e43b422702f7f797b07e6569246bfecf MISC metadata.xml 1521 BLAKE2B 27bbbc61f17123ff93e75d52b7247152860af2c4a11b97ee2a12910da83011dd27865845f574161756e3573c7dc962b64b8c086a5b48237c32edb042ec277f10 SHA512 68aed1024100ffdb04f1ef2179032eb68223ecc80c79a3b16b9325544942730c04d67b9d43a8ab2df5fe0e95d3ec8d1bdd163672390388260f39bbf69e9c9bcf diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch deleted file mode 100644 index 3226e7539dc4..000000000000 --- a/dev-lisp/sbcl/files/bsd-sockets-test-2.0.5.patch +++ /dev/null @@ -1,385 +0,0 @@ -diff -U3 -r sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp ---- sbcl-2.0.5.orig/contrib/sb-bsd-sockets/tests.lisp 2020-05-31 20:16:48.000000000 +0700 -+++ sbcl-2.0.5/contrib/sb-bsd-sockets/tests.lisp 2020-06-08 18:15:59.750860802 +0700 -@@ -18,16 +18,16 @@ - (equalp (make-inet-address "242.1.211.3") #(242 1 211 3)) - t) - --(deftest make-inet6-address.1 -- (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -- #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -- t) -- --(deftest unparse-inet6-address -- (string= (sb-bsd-sockets::unparse-inet6-address -- (make-inet6-address "fe80::abcd:1234")) -- "fe80::abcd:1234") -- t) -+;(deftest make-inet6-address.1 -+; (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -+; #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -+; t) -+ -+;(deftest unparse-inet6-address -+; (string= (sb-bsd-sockets::unparse-inet6-address -+; (make-inet6-address "fe80::abcd:1234")) -+; "fe80::abcd:1234") -+; t) - - (deftest get-protocol-by-name/tcp - (integerp (get-protocol-by-name "tcp")) -@@ -40,15 +40,15 @@ - ;;; See https://bugs.launchpad.net/sbcl/+bug/659857 - ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR - ;;; for unknown protocols... --#-(and freebsd sb-thread) --#-(and dragonfly sb-thread) --(deftest get-protocol-by-name/error -- (handler-case (get-protocol-by-name "nonexistent-protocol") -- (unknown-protocol () -- t) -- (:no-error () -- nil)) -- t) -+;#-(and freebsd sb-thread) -+;#-(and dragonfly sb-thread) -+;(deftest get-protocol-by-name/error -+; (handler-case (get-protocol-by-name "nonexistent-protocol") -+; (unknown-protocol () -+; t) -+; (:no-error () -+; nil)) -+; t) - - (eval-when (:compile-toplevel :execute) - (when (handler-case (make-instance 'inet-socket -@@ -108,19 +108,19 @@ - (:no-error nil)) - t) - --(deftest make-inet6-socket.smoke -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -- --(deftest make-inet6-socket.keyword -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -+;(deftest make-inet6-socket.smoke -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) -+ -+;(deftest make-inet6-socket.keyword -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) - - #+ipv4-support - (deftest* (non-block-socket) -@@ -129,54 +129,54 @@ - (non-blocking-mode s)) - t) - --#+ipv4-support --(deftest inet-socket-bind -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet-address "127.0.0.1")) -- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (progn -- (socket-bind s1 address 0) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) -- nil) -- (address-in-use-error () t))) -- (socket-close s1) -- (socket-close s2))) -- t) -- --(deftest inet6-socket-bind -- (handler-case -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet6-address "::1")) -- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (handler-case -- (socket-bind s1 address 0) -- (socket-error () -- ;; This may mean no IPv6 support, can't fail a test -- ;; because of that (address-family-not-supported doesn't catch that) -- t) -- (:no-error (x) -- (declare (ignore x)) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) -- nil) -- (address-in-use-error () t)))) -- (socket-close s1) -- (socket-close s2))) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -+;#+ipv4-support -+;(deftest inet-socket-bind -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet-address "127.0.0.1")) -+; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet-socket :type :stream :protocol tcp))) -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (progn -+; (socket-bind s1 address 0) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) -+; nil) -+; (address-in-use-error () t))) -+; (socket-close s1) -+; (socket-close s2))) -+; t) -+ -+;(deftest inet6-socket-bind -+; (handler-case -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet6-address "::1")) -+; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (handler-case -+; (socket-bind s1 address 0) -+; (socket-error () -+; ;; This may mean no IPv6 support, can't fail a test -+; ;; because of that (address-family-not-supported doesn't catch that) -+; t) -+; (:no-error (x) -+; (declare (ignore x)) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) -+; nil) -+; (address-in-use-error () t)))) -+; (socket-close s1) -+; (socket-close s2))) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) - - #+ipv4-support - (deftest* (simple-sockopt-test) -@@ -244,37 +244,37 @@ - ;;; to look at /etc/syslog.conf or local equivalent to find out where - ;;; the message ended up - --#-win32 --(deftest simple-local-client -- (progn -- ;; SunOS (Solaris) and Darwin systems don't have a socket at -- ;; /dev/log. We might also be building in a chroot or -- ;; something, so don't fail this test just because the file is -- ;; unavailable, or if it's a symlink to some weird character -- ;; device. -- (when (block nil -- (handler-bind ((sb-posix:syscall-error -- (lambda (e) -- (declare (ignore e)) -- (return nil)))) -- (sb-posix:s-issock -- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -- (let ((s (make-instance 'local-socket :type :datagram))) -- (format t "Connecting ~A... " s) -- (finish-output) -- (handler-case -- (socket-connect s "/dev/log") -- (sb-bsd-sockets::socket-error () -- (setq s (make-instance 'local-socket :type :stream)) -- (format t "failed~%Retrying with ~A... " s) -- (finish-output) -- (socket-connect s "/dev/log"))) -- (format t "ok.~%") -- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -- (format stream -- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -- t) -- t) -+;#-win32 -+;(deftest simple-local-client -+; (progn -+; ;; SunOS (Solaris) and Darwin systems don't have a socket at -+; ;; /dev/log. We might also be building in a chroot or -+; ;; something, so don't fail this test just because the file is -+; ;; unavailable, or if it's a symlink to some weird character -+; ;; device. -+; (when (block nil -+; (handler-bind ((sb-posix:syscall-error -+; (lambda (e) -+; (declare (ignore e)) -+; (return nil)))) -+; (sb-posix:s-issock -+; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -+; (let ((s (make-instance 'local-socket :type :datagram))) -+; (format t "Connecting ~A... " s) -+; (finish-output) -+; (handler-case -+; (socket-connect s "/dev/log") -+; (sb-bsd-sockets::socket-error () -+; (setq s (make-instance 'local-socket :type :stream)) -+; (format t "failed~%Retrying with ~A... " s) -+; (finish-output) -+; (socket-connect s "/dev/log"))) -+; (format t "ok.~%") -+; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -+; (format stream -+; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -+; t) -+; t) - - ;;; these require that the internet (or bits of it, at least) is available - -@@ -390,59 +390,59 @@ - (format t "Received ~A bytes from ~A:~A - ~A ~%" - len address port (subseq buf 0 (min 10 len))))))) - --#+(and ipv4-support sb-thread) --(deftest interrupt-io -- (let (result -- (sem (sb-thread:make-semaphore))) -- (labels -- ((client (port) -- (setf result -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (socket-connect s #(127 0 0 1) port) -- (let ((stream (socket-make-stream s -- :input t -- :output t -- :buffering :none))) -- (handler-case -- (prog1 -- (catch 'stop -- (sb-thread:signal-semaphore sem) -- (read-char stream)) -- (close stream)) -- (error (c) -- c)))))) -- (server () -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (setf (sockopt-reuse-address s) t) -- (socket-bind s (make-inet-address "127.0.0.1") 0) -- (socket-listen s 5) -- (multiple-value-bind (* port) -- (socket-name s) -- (let* ((client (sb-thread:make-thread -- (lambda () (client port)))) -- (r (socket-accept s)) -- (stream (socket-make-stream r -- :input t -- :output t -- :buffering :none))) -- (socket-close s) -- (sb-thread:wait-on-semaphore sem) -- (sleep 0.1) -- (sb-thread:interrupt-thread client -- (lambda () (throw 'stop :ok))) -- (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -- (setf result :timeout)) -- (write-char #\x stream) -- (close stream) -- (socket-close r) -- (sb-thread:join-thread client :timeout 5)))))) -- (server)) -- result) -- :ok) -+;#+(and ipv4-support sb-thread) -+;(deftest interrupt-io -+; (let (result -+; (sem (sb-thread:make-semaphore))) -+; (labels -+; ((client (port) -+; (setf result -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (socket-connect s #(127 0 0 1) port) -+; (let ((stream (socket-make-stream s -+; :input t -+; :output t -+; :buffering :none))) -+; (handler-case -+; (prog1 -+; (catch 'stop -+; (sb-thread:signal-semaphore sem) -+; (read-char stream)) -+; (close stream)) -+; (error (c) -+; c)))))) -+; (server () -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (setf (sockopt-reuse-address s) t) -+; (socket-bind s (make-inet-address "127.0.0.1") 0) -+; (socket-listen s 5) -+; (multiple-value-bind (* port) -+; (socket-name s) -+; (let* ((client (sb-thread:make-thread -+; (lambda () (client port)))) -+; (r (socket-accept s)) -+; (stream (socket-make-stream r -+; :input t -+; :output t -+; :buffering :none))) -+; (socket-close s) -+; (sb-thread:wait-on-semaphore sem) -+; (sleep 0.1) -+; (sb-thread:interrupt-thread client -+; (lambda () (throw 'stop :ok))) -+; (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -+; (setf result :timeout)) -+; (write-char #\x stream) -+; (close stream) -+; (socket-close r) -+; (sb-thread:join-thread client :timeout 5)))))) -+; (server)) -+; result) -+; :ok) - - (defmacro with-client-and-server (((socket-class &rest common-initargs) - (listen-socket-var &rest listen-address) -@@ -505,8 +505,9 @@ - (define-shutdown-test ,(make-name 'shutdown.client.ub8) - client server (unsigned-byte 8) ,direction))))) - -- (define-shutdown-tests :output) -- (define-shutdown-tests :io)) -+; (define-shutdown-tests :output) -+; (define-shutdown-tests :io) -+) - - (defun poor-persons-random-address () - (let ((base (expt 36 8))) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch deleted file mode 100644 index e4810e991a83..000000000000 --- a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.1.patch +++ /dev/null @@ -1,410 +0,0 @@ -diff -r -U3 sbcl-2.3.1.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.3.1/contrib/sb-bsd-sockets/tests.lisp ---- sbcl-2.3.1.orig/contrib/sb-bsd-sockets/tests.lisp 2023-01-28 18:56:32.000000000 +0700 -+++ sbcl-2.3.1/contrib/sb-bsd-sockets/tests.lisp 2023-02-10 21:10:52.358958490 +0700 -@@ -13,16 +13,16 @@ - (equalp (make-inet-address "242.1.211.3") #(242 1 211 3)) - t) - --(deftest make-inet6-address.1 -- (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -- #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -- t) -- --(deftest unparse-inet6-address -- (string= (sb-bsd-sockets::unparse-inet6-address -- (make-inet6-address "fe80::abcd:1234")) -- "fe80::abcd:1234") -- t) -+;(deftest make-inet6-address.1 -+; (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -+; #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -+; t) -+ -+;(deftest unparse-inet6-address -+; (string= (sb-bsd-sockets::unparse-inet6-address -+; (make-inet6-address "fe80::abcd:1234")) -+; "fe80::abcd:1234") -+; t) - - (deftest get-protocol-by-name/tcp - (integerp (get-protocol-by-name "tcp")) -@@ -35,15 +35,15 @@ - ;;; See https://bugs.launchpad.net/sbcl/+bug/659857 - ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR - ;;; for unknown protocols... --#-(and freebsd sb-thread) --#-(and dragonfly sb-thread) --(deftest get-protocol-by-name/error -- (handler-case (get-protocol-by-name "nonexistent-protocol") -- (unknown-protocol () -- t) -- (:no-error () -- nil)) -- t) -+;#-(and freebsd sb-thread) -+;#-(and dragonfly sb-thread) -+;(deftest get-protocol-by-name/error -+; (handler-case (get-protocol-by-name "nonexistent-protocol") -+; (unknown-protocol () -+; t) -+; (:no-error () -+; nil)) -+; t) - - (eval-when (:compile-toplevel :execute) - (when (handler-case (make-instance 'inet-socket -@@ -104,19 +104,19 @@ - (:no-error nil)) - t) - --(deftest make-inet6-socket.smoke -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -- --(deftest make-inet6-socket.keyword -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -+;(deftest make-inet6-socket.smoke -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) -+ -+;(deftest make-inet6-socket.keyword -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) - - #+ipv4-support - (deftest non-block-socket -@@ -125,67 +125,67 @@ - (non-blocking-mode s)) - t) - --#+ipv4-support --(test-util:with-test (:name :inet-socket-bind) -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet-address "127.0.0.1")) -- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet-socket :type :stream :protocol tcp)) -- (failure) -- (got-addrinuse)) -- (format t "~&::: INFO: made sockets~%") -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (progn -- (socket-bind s1 address 0) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) ; should fail -- nil) -- (address-in-use-error () (setq got-addrinuse t)) -- (condition (c) (setq failure c)))) -- (socket-close s1) -- (socket-close s2)) -- (cond (failure (error "BIND failed with ~A" failure)) -- ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -- --(test-util:with-test (:name :inet6-socket-bind) -- (let ((notsupp) -- (failure) -- (got-addrinuse)) -- (handler-case -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet6-address "::1")) -- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -- (format t "~&::: INFO: made sockets~%") -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (handler-case -- (socket-bind s1 address 0) -- (socket-error () -- ;; This may mean no IPv6 support, can't fail a test -- ;; because of that (address-family-not-supported doesn't catch that) -- t) -- (:no-error (x) -- (declare (ignore x)) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) ; should fail -- nil) -- (address-in-use-error () (setq got-addrinuse t)) -- (condition (c) (setq failure c))))) -- (socket-close s1) -- (socket-close s2))) -- ((or address-family-not-supported protocol-not-supported-error) () -- (setq notsupp t))) -- (cond (notsupp (format t "~&INFO: not supported~%")) -- (failure (error "BIND failed with ~A" failure)) -- ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -+;#+ipv4-support -+;(test-util:with-test (:name :inet-socket-bind) -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet-address "127.0.0.1")) -+; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet-socket :type :stream :protocol tcp)) -+; (failure) -+; (got-addrinuse)) -+; (format t "~&::: INFO: made sockets~%") -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (progn -+; (socket-bind s1 address 0) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) ; should fail -+; nil) -+; (address-in-use-error () (setq got-addrinuse t)) -+; (condition (c) (setq failure c)))) -+; (socket-close s1) -+; (socket-close s2)) -+; (cond (failure (error "BIND failed with ~A" failure)) -+; ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -+ -+;(test-util:with-test (:name :inet6-socket-bind) -+; (let ((notsupp) -+; (failure) -+; (got-addrinuse)) -+; (handler-case -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet6-address "::1")) -+; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -+; (format t "~&::: INFO: made sockets~%") -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (handler-case -+; (socket-bind s1 address 0) -+; (socket-error () -+; ;; This may mean no IPv6 support, can't fail a test -+; ;; because of that (address-family-not-supported doesn't catch that) -+; t) -+; (:no-error (x) -+; (declare (ignore x)) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) ; should fail -+; nil) -+; (address-in-use-error () (setq got-addrinuse t)) -+; (condition (c) (setq failure c))))) -+; (socket-close s1) -+; (socket-close s2))) -+; ((or address-family-not-supported protocol-not-supported-error) () -+; (setq notsupp t))) -+; (cond (notsupp (format t "~&INFO: not supported~%")) -+; (failure (error "BIND failed with ~A" failure)) -+; ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) - - #+ipv4-support - (deftest simple-sockopt-test -@@ -253,37 +253,37 @@ - ;;; to look at /etc/syslog.conf or local equivalent to find out where - ;;; the message ended up - --#-win32 --(deftest simple-local-client -- (progn -- ;; SunOS (Solaris) and Darwin systems don't have a socket at -- ;; /dev/log. We might also be building in a chroot or -- ;; something, so don't fail this test just because the file is -- ;; unavailable, or if it's a symlink to some weird character -- ;; device. -- (when (block nil -- (handler-bind ((sb-posix:syscall-error -- (lambda (e) -- (declare (ignore e)) -- (return nil)))) -- (sb-posix:s-issock -- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -- (let ((s (make-instance 'local-socket :type :datagram))) -- (format t "Connecting ~A... " s) -- (finish-output) -- (handler-case -- (socket-connect s "/dev/log") -- (sb-bsd-sockets::socket-error () -- (setq s (make-instance 'local-socket :type :stream)) -- (format t "failed~%Retrying with ~A... " s) -- (finish-output) -- (socket-connect s "/dev/log"))) -- (format t "ok.~%") -- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -- (format stream -- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -- t) -- t) -+;#-win32 -+;(deftest simple-local-client -+; (progn -+; ;; SunOS (Solaris) and Darwin systems don't have a socket at -+; ;; /dev/log. We might also be building in a chroot or -+; ;; something, so don't fail this test just because the file is -+; ;; unavailable, or if it's a symlink to some weird character -+; ;; device. -+; (when (block nil -+; (handler-bind ((sb-posix:syscall-error -+; (lambda (e) -+; (declare (ignore e)) -+; (return nil)))) -+; (sb-posix:s-issock -+; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -+; (let ((s (make-instance 'local-socket :type :datagram))) -+; (format t "Connecting ~A... " s) -+; (finish-output) -+; (handler-case -+; (socket-connect s "/dev/log") -+; (sb-bsd-sockets::socket-error () -+; (setq s (make-instance 'local-socket :type :stream)) -+; (format t "failed~%Retrying with ~A... " s) -+; (finish-output) -+; (socket-connect s "/dev/log"))) -+; (format t "ok.~%") -+; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -+; (format stream -+; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -+; t) -+; t) - - ;;; these require that the internet (or bits of it, at least) is available - -@@ -428,59 +428,59 @@ - (format t "Received ~A bytes from ~A:~A - ~A ~%" - len address port (subseq buf 0 (min 10 len))))))) - --#+(and ipv4-support sb-thread) --(deftest interrupt-io -- (let (result -- (sem (sb-thread:make-semaphore))) -- (labels -- ((client (port) -- (setf result -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (socket-connect s #(127 0 0 1) port) -- (let ((stream (socket-make-stream s -- :input t -- :output t -- :buffering :none))) -- (handler-case -- (prog1 -- (catch 'stop -- (sb-thread:signal-semaphore sem) -- (read-char stream)) -- (close stream)) -- (error (c) -- c)))))) -- (server () -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (setf (sockopt-reuse-address s) t) -- (socket-bind s (make-inet-address "127.0.0.1") 0) -- (socket-listen s 5) -- (multiple-value-bind (* port) -- (socket-name s) -- (let* ((client (sb-thread:make-thread -- (lambda () (client port)))) -- (r (socket-accept s)) -- (stream (socket-make-stream r -- :input t -- :output t -- :buffering :none))) -- (socket-close s) -- (sb-thread:wait-on-semaphore sem) -- (sleep 0.1) -- (sb-thread:interrupt-thread client -- (lambda () (throw 'stop :ok))) -- (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -- (setf result :timeout)) -- (write-char #\x stream) -- (close stream) -- (socket-close r) -- (sb-thread:join-thread client :timeout 5)))))) -- (server)) -- result) -- :ok) -+;#+(and ipv4-support sb-thread) -+;(deftest interrupt-io -+; (let (result -+; (sem (sb-thread:make-semaphore))) -+; (labels -+; ((client (port) -+; (setf result -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (socket-connect s #(127 0 0 1) port) -+; (let ((stream (socket-make-stream s -+; :input t -+; :output t -+; :buffering :none))) -+; (handler-case -+; (prog1 -+; (catch 'stop -+; (sb-thread:signal-semaphore sem) -+; (read-char stream)) -+; (close stream)) -+; (error (c) -+; c)))))) -+; (server () -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (setf (sockopt-reuse-address s) t) -+; (socket-bind s (make-inet-address "127.0.0.1") 0) -+; (socket-listen s 5) -+; (multiple-value-bind (* port) -+; (socket-name s) -+; (let* ((client (sb-thread:make-thread -+; (lambda () (client port)))) -+; (r (socket-accept s)) -+; (stream (socket-make-stream r -+; :input t -+; :output t -+; :buffering :none))) -+; (socket-close s) -+; (sb-thread:wait-on-semaphore sem) -+; (sleep 0.1) -+; (sb-thread:interrupt-thread client -+; (lambda () (throw 'stop :ok))) -+; (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -+; (setf result :timeout)) -+; (write-char #\x stream) -+; (close stream) -+; (socket-close r) -+; (sb-thread:join-thread client :timeout 5)))))) -+; (server)) -+; result) -+; :ok) - - (defmacro with-client-and-server (((socket-class &rest common-initargs) - (listen-socket-var &rest listen-address) -@@ -543,8 +543,8 @@ - (define-shutdown-test ,(make-name 'shutdown.client.ub8) - client server (unsigned-byte 8) ,direction))))) - -- (define-shutdown-tests :output) -- (define-shutdown-tests :io)) -+; (define-shutdown-tests :output) -+; (define-shutdown-tests :io)) - - (defun poor-persons-random-address () - (let ((base (expt 36 8))) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch b/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch deleted file mode 100644 index 7bf6f8afd797..000000000000 --- a/dev-lisp/sbcl/files/bsd-sockets-test-2.3.6.patch +++ /dev/null @@ -1,410 +0,0 @@ -diff -r -U3 sbcl-2.3.6.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-2.3.6/contrib/sb-bsd-sockets/tests.lisp ---- sbcl-2.3.6.orig/contrib/sb-bsd-sockets/tests.lisp 2023-06-28 13:35:17.000000000 +0700 -+++ sbcl-2.3.6/contrib/sb-bsd-sockets/tests.lisp 2023-07-20 21:14:36.163025437 +0700 -@@ -13,16 +13,16 @@ - (equalp (make-inet-address "242.1.211.3") #(242 1 211 3)) - t) - --(deftest make-inet6-address.1 -- (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -- #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -- t) -- --(deftest unparse-inet6-address -- (string= (sb-bsd-sockets::unparse-inet6-address -- (make-inet6-address "fe80::abcd:1234")) -- "fe80::abcd:1234") -- t) -+;(deftest make-inet6-address.1 -+; (equalp (make-inet6-address "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") -+; #(255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255)) -+; t) -+ -+;(deftest unparse-inet6-address -+; (string= (sb-bsd-sockets::unparse-inet6-address -+; (make-inet6-address "fe80::abcd:1234")) -+; "fe80::abcd:1234") -+; t) - - (deftest get-protocol-by-name/tcp - (integerp (get-protocol-by-name "tcp")) -@@ -35,15 +35,15 @@ - ;;; See https://bugs.launchpad.net/sbcl/+bug/659857 - ;;; Apparently getprotobyname_r on FreeBSD says -1 and EINTR - ;;; for unknown protocols... --#-(and freebsd sb-thread) --#-(and dragonfly sb-thread) --(deftest get-protocol-by-name/error -- (handler-case (get-protocol-by-name "nonexistent-protocol") -- (unknown-protocol () -- t) -- (:no-error () -- nil)) -- t) -+;#-(and freebsd sb-thread) -+;#-(and dragonfly sb-thread) -+;(deftest get-protocol-by-name/error -+; (handler-case (get-protocol-by-name "nonexistent-protocol") -+; (unknown-protocol () -+; t) -+; (:no-error () -+; nil)) -+; t) - - (eval-when (:compile-toplevel :execute) - (when (handler-case (make-instance 'inet-socket -@@ -104,19 +104,19 @@ - (:no-error nil)) - t) - --(deftest make-inet6-socket.smoke -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -- --(deftest make-inet6-socket.keyword -- (handler-case -- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -- (> (socket-file-descriptor s) 1)) -- ((or address-family-not-supported protocol-not-supported-error) () t)) -- t) -+;(deftest make-inet6-socket.smoke -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol (get-protocol-by-name "tcp")))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) -+ -+;(deftest make-inet6-socket.keyword -+; (handler-case -+; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) -+; (> (socket-file-descriptor s) 1)) -+; ((or address-family-not-supported protocol-not-supported-error) () t)) -+; t) - - #+ipv4-support - (deftest non-block-socket -@@ -125,67 +125,67 @@ - (non-blocking-mode s)) - t) - --#+ipv4-support --(test-util:with-test (:name :inet-socket-bind) -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet-address "127.0.0.1")) -- (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet-socket :type :stream :protocol tcp)) -- (failure) -- (got-addrinuse)) -- (format t "~&::: INFO: made sockets~%") -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (progn -- (socket-bind s1 address 0) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) ; should fail -- nil) -- (address-in-use-error () (setq got-addrinuse t)) -- (condition (c) (setq failure c)))) -- (socket-close s1) -- (socket-close s2)) -- (cond (failure (error "BIND failed with ~A" failure)) -- ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -- --(test-util:with-test (:name :inet6-socket-bind) -- (let ((notsupp) -- (failure) -- (got-addrinuse)) -- (handler-case -- (let* ((tcp (get-protocol-by-name "tcp")) -- (address (make-inet6-address "::1")) -- (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -- (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -- (format t "~&::: INFO: made sockets~%") -- (unwind-protect -- ;; Given the functions we've got so far, if you can think of a -- ;; better way to make sure the bind succeeded than trying it -- ;; twice, let me know -- (handler-case -- (socket-bind s1 address 0) -- (socket-error () -- ;; This may mean no IPv6 support, can't fail a test -- ;; because of that (address-family-not-supported doesn't catch that) -- (setf notsupp t)) -- (:no-error (x) -- (declare (ignore x)) -- (handler-case -- (let ((port (nth-value 1 (socket-name s1)))) -- (socket-bind s2 address port) ; should fail -- nil) -- (address-in-use-error () (setq got-addrinuse t)) -- (condition (c) (setq failure c))))) -- (socket-close s1) -- (socket-close s2))) -- ((or address-family-not-supported protocol-not-supported-error) () -- (setq notsupp t))) -- (cond (notsupp (format t "~&INFO: not supported~%")) -- (failure (error "BIND failed with ~A" failure)) -- ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -+;#+ipv4-support -+;(test-util:with-test (:name :inet-socket-bind) -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet-address "127.0.0.1")) -+; (s1 (make-instance 'inet-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet-socket :type :stream :protocol tcp)) -+; (failure) -+; (got-addrinuse)) -+; (format t "~&::: INFO: made sockets~%") -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (progn -+; (socket-bind s1 address 0) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) ; should fail -+; nil) -+; (address-in-use-error () (setq got-addrinuse t)) -+; (condition (c) (setq failure c)))) -+; (socket-close s1) -+; (socket-close s2)) -+; (cond (failure (error "BIND failed with ~A" failure)) -+; ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) -+ -+;(test-util:with-test (:name :inet6-socket-bind) -+; (let ((notsupp) -+; (failure) -+; (got-addrinuse)) -+; (handler-case -+; (let* ((tcp (get-protocol-by-name "tcp")) -+; (address (make-inet6-address "::1")) -+; (s1 (make-instance 'inet6-socket :type :stream :protocol tcp)) -+; (s2 (make-instance 'inet6-socket :type :stream :protocol tcp))) -+; (format t "~&::: INFO: made sockets~%") -+; (unwind-protect -+; ;; Given the functions we've got so far, if you can think of a -+; ;; better way to make sure the bind succeeded than trying it -+; ;; twice, let me know -+; (handler-case -+; (socket-bind s1 address 0) -+; (socket-error () -+; ;; This may mean no IPv6 support, can't fail a test -+; ;; because of that (address-family-not-supported doesn't catch that) -+; (setf notsupp t)) -+; (:no-error (x) -+; (declare (ignore x)) -+; (handler-case -+; (let ((port (nth-value 1 (socket-name s1)))) -+; (socket-bind s2 address port) ; should fail -+; nil) -+; (address-in-use-error () (setq got-addrinuse t)) -+; (condition (c) (setq failure c))))) -+; (socket-close s1) -+; (socket-close s2))) -+; ((or address-family-not-supported protocol-not-supported-error) () -+; (setq notsupp t))) -+; (cond (notsupp (format t "~&INFO: not supported~%")) -+; (failure (error "BIND failed with ~A" failure)) -+; ((not got-addrinuse) (error "Expected ADDRESS-IN-USE err"))))) - - #+ipv4-support - (deftest simple-sockopt-test -@@ -253,37 +253,37 @@ - ;;; to look at /etc/syslog.conf or local equivalent to find out where - ;;; the message ended up - --#-win32 --(deftest simple-local-client -- (progn -- ;; SunOS (Solaris) and Darwin systems don't have a socket at -- ;; /dev/log. We might also be building in a chroot or -- ;; something, so don't fail this test just because the file is -- ;; unavailable, or if it's a symlink to some weird character -- ;; device. -- (when (block nil -- (handler-bind ((sb-posix:syscall-error -- (lambda (e) -- (declare (ignore e)) -- (return nil)))) -- (sb-posix:s-issock -- (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -- (let ((s (make-instance 'local-socket :type :datagram))) -- (format t "Connecting ~A... " s) -- (finish-output) -- (handler-case -- (socket-connect s "/dev/log") -- (sb-bsd-sockets::socket-error () -- (setq s (make-instance 'local-socket :type :stream)) -- (format t "failed~%Retrying with ~A... " s) -- (finish-output) -- (socket-connect s "/dev/log"))) -- (format t "ok.~%") -- (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -- (format stream -- "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -- t) -- t) -+;#-win32 -+;(deftest simple-local-client -+; (progn -+; ;; SunOS (Solaris) and Darwin systems don't have a socket at -+; ;; /dev/log. We might also be building in a chroot or -+; ;; something, so don't fail this test just because the file is -+; ;; unavailable, or if it's a symlink to some weird character -+; ;; device. -+; (when (block nil -+; (handler-bind ((sb-posix:syscall-error -+; (lambda (e) -+; (declare (ignore e)) -+; (return nil)))) -+; (sb-posix:s-issock -+; (sb-posix::stat-mode (sb-posix:stat "/dev/log"))))) -+; (let ((s (make-instance 'local-socket :type :datagram))) -+; (format t "Connecting ~A... " s) -+; (finish-output) -+; (handler-case -+; (socket-connect s "/dev/log") -+; (sb-bsd-sockets::socket-error () -+; (setq s (make-instance 'local-socket :type :stream)) -+; (format t "failed~%Retrying with ~A... " s) -+; (finish-output) -+; (socket-connect s "/dev/log"))) -+; (format t "ok.~%") -+; (let ((stream (socket-make-stream s :input t :output t :buffering :none))) -+; (format stream -+; "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")))) -+; t) -+; t) - - ;;; these require that the internet (or bits of it, at least) is available - -@@ -428,59 +428,59 @@ - (format t "Received ~A bytes from ~A:~A - ~A ~%" - len address port (subseq buf 0 (min 10 len))))))) - --#+(and ipv4-support sb-thread) --(deftest interrupt-io -- (let (result -- (sem (sb-thread:make-semaphore))) -- (labels -- ((client (port) -- (setf result -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (socket-connect s #(127 0 0 1) port) -- (let ((stream (socket-make-stream s -- :input t -- :output t -- :buffering :none))) -- (handler-case -- (prog1 -- (catch 'stop -- (sb-thread:signal-semaphore sem) -- (read-char stream)) -- (close stream)) -- (error (c) -- c)))))) -- (server () -- (let ((s (make-instance 'inet-socket -- :type :stream -- :protocol :tcp))) -- (setf (sockopt-reuse-address s) t) -- (socket-bind s (make-inet-address "127.0.0.1") 0) -- (socket-listen s 5) -- (multiple-value-bind (* port) -- (socket-name s) -- (let* ((client (sb-thread:make-thread -- (lambda () (client port)))) -- (r (socket-accept s)) -- (stream (socket-make-stream r -- :input t -- :output t -- :buffering :none))) -- (socket-close s) -- (sb-thread:wait-on-semaphore sem) -- (sleep 0.1) -- (sb-thread:interrupt-thread client -- (lambda () (throw 'stop :ok))) -- (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -- (setf result :timeout)) -- (write-char #\x stream) -- (close stream) -- (socket-close r) -- (sb-thread:join-thread client :timeout 5)))))) -- (server)) -- result) -- :ok) -+;#+(and ipv4-support sb-thread) -+;(deftest interrupt-io -+; (let (result -+; (sem (sb-thread:make-semaphore))) -+; (labels -+; ((client (port) -+; (setf result -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (socket-connect s #(127 0 0 1) port) -+; (let ((stream (socket-make-stream s -+; :input t -+; :output t -+; :buffering :none))) -+; (handler-case -+; (prog1 -+; (catch 'stop -+; (sb-thread:signal-semaphore sem) -+; (read-char stream)) -+; (close stream)) -+; (error (c) -+; c)))))) -+; (server () -+; (let ((s (make-instance 'inet-socket -+; :type :stream -+; :protocol :tcp))) -+; (setf (sockopt-reuse-address s) t) -+; (socket-bind s (make-inet-address "127.0.0.1") 0) -+; (socket-listen s 5) -+; (multiple-value-bind (* port) -+; (socket-name s) -+; (let* ((client (sb-thread:make-thread -+; (lambda () (client port)))) -+; (r (socket-accept s)) -+; (stream (socket-make-stream r -+; :input t -+; :output t -+; :buffering :none))) -+; (socket-close s) -+; (sb-thread:wait-on-semaphore sem) -+; (sleep 0.1) -+; (sb-thread:interrupt-thread client -+; (lambda () (throw 'stop :ok))) -+; (unless (sb-ext:wait-for (null (sb-thread::thread-interruptions client)) :timeout 5) -+; (setf result :timeout)) -+; (write-char #\x stream) -+; (close stream) -+; (socket-close r) -+; (sb-thread:join-thread client :timeout 5)))))) -+; (server)) -+; result) -+; :ok) - - (defmacro with-client-and-server (((socket-class &rest common-initargs) - (listen-socket-var &rest listen-address) -@@ -543,8 +543,8 @@ - (define-shutdown-test ,(make-name 'shutdown.client.ub8) - client server (unsigned-byte 8) ,direction))))) - -- (define-shutdown-tests :output) -- (define-shutdown-tests :io)) -+; (define-shutdown-tests :output) -+; (define-shutdown-tests :io)) - - (defun poor-persons-random-address () - (let ((base (expt 36 8))) diff --git a/dev-lisp/sbcl/sbcl-2.2.9.ebuild b/dev-lisp/sbcl/sbcl-2.2.9.ebuild index f172b75819cb..50b9982e2bff 100644 --- a/dev-lisp/sbcl/sbcl-2.2.9.ebuild +++ b/dev-lisp/sbcl/sbcl-2.2.9.ebuild @@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp" HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/" +BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.0.5.patch SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2 + https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 ) amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 ) ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 ) @@ -98,7 +100,7 @@ src_prepare() { # bug #468482 eapply "${FILESDIR}"/concurrency-test-2.0.1.patch # bugs #486552, #527666, #517004 - eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch + eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH} # bugs #560276, #561018 eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch # bug #767742 diff --git a/dev-lisp/sbcl/sbcl-2.3.5.ebuild b/dev-lisp/sbcl/sbcl-2.3.5.ebuild index 18bc21c6ccd0..c7debd75d223 100644 --- a/dev-lisp/sbcl/sbcl-2.3.5.ebuild +++ b/dev-lisp/sbcl/sbcl-2.3.5.ebuild @@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp" HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/" +BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.1.patch SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2 + https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz !system-bootstrap? ( x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 ) amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 ) @@ -104,7 +106,7 @@ src_prepare() { # bug #468482 eapply "${FILESDIR}"/concurrency-test-2.0.1.patch # bugs #486552, #527666, #517004 - eapply "${FILESDIR}"/bsd-sockets-test-2.3.1.patch + eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH} # bugs #560276, #561018 eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch # bug #767742 diff --git a/dev-lisp/sbcl/sbcl-2.3.6.ebuild b/dev-lisp/sbcl/sbcl-2.3.6.ebuild index ad3c08648211..c6e523e7eeaf 100644 --- a/dev-lisp/sbcl/sbcl-2.3.6.ebuild +++ b/dev-lisp/sbcl/sbcl-2.3.6.ebuild @@ -22,7 +22,9 @@ BV_SPARC_SOLARIS=1.0.23 DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp" HOMEPAGE="https://www.sbcl.org/ http://sbcl.sourceforge.net/" +BSD_SOCKETS_TEST_PATCH=bsd-sockets-test-2.3.6.patch SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2 + https://dev.gentoo.org/~grozin/${BSD_SOCKETS_TEST_PATCH}.gz !system-bootstrap? ( x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 ) amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 ) @@ -104,7 +106,7 @@ src_prepare() { # bug #468482 eapply "${FILESDIR}"/concurrency-test-2.0.1.patch # bugs #486552, #527666, #517004 - eapply "${FILESDIR}"/bsd-sockets-test-2.3.6.patch + eapply "${WORKDIR}"/${BSD_SOCKETS_TEST_PATCH} # bugs #560276, #561018 eapply "${FILESDIR}"/sb-posix-test-2.2.9.patch # bug #767742 |