From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch | 350 +++++++++++++++++++ dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch | 346 +++++++++++++++++++ dev-lisp/sbcl/files/bsd-sockets-test.patch | 22 ++ dev-lisp/sbcl/files/concurrency-test-1.2.6.patch | 24 ++ dev-lisp/sbcl/files/concurrency-test-1.3.15.patch | 17 + dev-lisp/sbcl/files/gentoo-fix_install_man.patch | 12 + dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch | 40 +++ ...7-gentoo-fix_nopie_for_hardened_toolchain.patch | 22 ++ dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch | 12 + .../sbcl/files/sbcl-1.2.13-verbose-build.patch | 25 ++ dev-lisp/sbcl/files/sbcl-1.3.11-config.patch | 16 + dev-lisp/sbcl/files/sbcl-1.3.13-config.patch | 32 ++ ...4-gentoo-fix_nopie_for_hardened_toolchain.patch | 17 + ...5-gentoo-fix_nopie_for_hardened_toolchain.patch | 19 + .../files/sbcl-1.3.16-gentoo-fix_install_man.patch | 12 + .../sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch | 363 +++++++++++++++++++ .../sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch | 383 +++++++++++++++++++++ dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch | 29 ++ 18 files changed, 1741 insertions(+) create mode 100644 dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch create mode 100644 dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch create mode 100644 dev-lisp/sbcl/files/bsd-sockets-test.patch create mode 100644 dev-lisp/sbcl/files/concurrency-test-1.2.6.patch create mode 100644 dev-lisp/sbcl/files/concurrency-test-1.3.15.patch create mode 100644 dev-lisp/sbcl/files/gentoo-fix_install_man.patch create mode 100644 dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.11-config.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.13-config.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch create mode 100644 dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch (limited to 'dev-lisp/sbcl/files') diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch new file mode 100644 index 000000000000..88f6fa588cee --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test-1.2.11.patch @@ -0,0 +1,350 @@ +diff -r -U2 sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.2.11.orig/contrib/sb-bsd-sockets/tests.lisp 2015-04-27 20:56:47.000000000 +0600 ++++ sbcl-1.2.11/contrib/sb-bsd-sockets/tests.lisp 2015-04-28 22:27:32.588146072 +0600 +@@ -36,13 +36,13 @@ + ;;; 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) + + (deftest make-inet-socket.smoke +@@ -92,19 +92,19 @@ + t) + +-#-win32 +-(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)) +- (address-family-not-supported () t)) +- t) +- +-#-win32 +-(deftest make-inet6-socket.keyword +- (handler-case +- (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) +- (> (socket-file-descriptor s) 1)) +- (address-family-not-supported () t)) +- t) ++;#-win32 ++;(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)) ++; (address-family-not-supported () t)) ++; t) ++ ++;#-win32 ++;(deftest make-inet6-socket.keyword ++; (handler-case ++; (let ((s (make-instance 'inet6-socket :type :stream :protocol :tcp))) ++; (> (socket-file-descriptor s) 1)) ++; (address-family-not-supported () t)) ++; t) + + (deftest* (non-block-socket) +@@ -114,52 +114,52 @@ + t) + +-(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) +- +-#-win32 +-(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))) +- (address-family-not-supported () t)) +- t) ++;(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) ++ ++;#-win32 ++;(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))) ++; (address-family-not-supported () t)) ++; t) + + (deftest* (simple-sockopt-test) +@@ -228,35 +228,35 @@ + ;;; 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) + + +@@ -373,58 +373,58 @@ + len address port (subseq buf 0 (min 10 len))))))) + +-#+sb-thread +-(deftest interrupt-io +- (let (result) +- (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 +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (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)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+sb-thread ++;(deftest interrupt-io ++; (let (result) ++; (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 ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (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)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) +@@ -485,4 +485,5 @@ + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io)) ++) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch new file mode 100644 index 000000000000..9a4eb151d0ce --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test-1.3.12.patch @@ -0,0 +1,346 @@ +diff -r -U2 sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.3.12.orig/contrib/sb-bsd-sockets/tests.lisp 2016-11-30 04:07:35.000000000 +0700 ++++ sbcl-1.3.12/contrib/sb-bsd-sockets/tests.lisp 2016-12-10 15:56:14.727887603 +0700 +@@ -38,11 +38,11 @@ + #-(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) ++;(deftest get-protocol-by-name/error ++; (handler-case (get-protocol-by-name "nonexistent-protocol") ++; (unknown-protocol () ++; t) ++; (:no-error () ++; nil)) ++; t) + + (deftest make-inet-socket.smoke +@@ -92,19 +92,19 @@ + t) + +-#-win32 +-(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) +- +-#-win32 +-(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) ++;#-win32 ++;(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) ++ ++;#-win32 ++;(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* (non-block-socket) +@@ -114,52 +114,52 @@ + t) + +-(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) +- +-#-win32 +-(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) ++;(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) ++ ++;#-win32 ++;(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) + + (deftest* (simple-sockopt-test) +@@ -228,35 +228,35 @@ + ;;; 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) + + +@@ -373,58 +373,58 @@ + len address port (subseq buf 0 (min 10 len))))))) + +-#+sb-thread +-(deftest interrupt-io +- (let (result) +- (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 +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (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)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+sb-thread ++;(deftest interrupt-io ++; (let (result) ++; (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 ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (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)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) +@@ -485,4 +485,5 @@ + client server (unsigned-byte 8) ,direction))))) + +- (define-shutdown-tests :output) +- (define-shutdown-tests :io)) ++; (define-shutdown-tests :output) ++; (define-shutdown-tests :io)) ++) diff --git a/dev-lisp/sbcl/files/bsd-sockets-test.patch b/dev-lisp/sbcl/files/bsd-sockets-test.patch new file mode 100644 index 000000000000..d08fd8610b89 --- /dev/null +++ b/dev-lisp/sbcl/files/bsd-sockets-test.patch @@ -0,0 +1,22 @@ +diff -r -U1 sbcl-1.1.14.orig/contrib/sb-bsd-sockets/tests.lisp sbcl-1.1.14/contrib/sb-bsd-sockets/tests.lisp +--- sbcl-1.1.14.orig/contrib/sb-bsd-sockets/tests.lisp 2013-11-30 21:28:17.000000000 +0700 ++++ sbcl-1.1.14/contrib/sb-bsd-sockets/tests.lisp 2014-01-11 20:48:22.762700792 +0700 +@@ -31,10 +31,10 @@ + ;;; for unknown protocols... +-#-(and freebsd 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) ++;(deftest get-protocol-by-name/error ++; (handler-case (get-protocol-by-name "nonexistent-protocol") ++; (unknown-protocol () ++; t) ++; (:no-error () ++; nil)) ++; t) + diff --git a/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch b/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch new file mode 100644 index 000000000000..b85fc168ed0e --- /dev/null +++ b/dev-lisp/sbcl/files/concurrency-test-1.2.6.patch @@ -0,0 +1,24 @@ +diff -Nuar a/contrib/sb-concurrency/tests/test-frlock.lisp b/contrib/sb-concurrency/tests/test-frlock.lisp +--- a/contrib/sb-concurrency/tests/test-frlock.lisp 2014-11-29 19:56:58.000000000 +0100 ++++ b/contrib/sb-concurrency/tests/test-frlock.lisp 2014-12-16 23:52:18.569947139 +0100 +@@ -22,9 +22,9 @@ + #+openbsd 0.01 + #-openbsd 0.0001) + +-(defun test-frlocks (&key (reader-count 100) (read-count 1000000) ++(defun test-frlocks (&key (reader-count 50) (read-count 500000) + (outer-read-pause 0) (inner-read-pause 0) +- (writer-count 10) (write-count (/ 1 *minimum-sleep*)) ++ (writer-count 10) (write-count 5000) + (outer-write-pause *minimum-sleep*) (inner-write-pause 0)) + (let ((rw (make-frlock)) + (a 0) +@@ -87,7 +87,7 @@ + #+sb-thread + (deftest* (frlock.1 :fails-on :win32) + (handler-case +- (sb-ext:with-timeout 60 (test-frlocks)) ++ (sb-ext:with-timeout 240 (test-frlocks)) + (sb-ext:timeout (c) + (error "~A" c))) + nil diff --git a/dev-lisp/sbcl/files/concurrency-test-1.3.15.patch b/dev-lisp/sbcl/files/concurrency-test-1.3.15.patch new file mode 100644 index 000000000000..53b5bea06bc1 --- /dev/null +++ b/dev-lisp/sbcl/files/concurrency-test-1.3.15.patch @@ -0,0 +1,17 @@ +diff -r -U2 sbcl-1.3.15.orig/contrib/sb-concurrency/tests/test-frlock.lisp sbcl-1.3.15/contrib/sb-concurrency/tests/test-frlock.lisp +--- sbcl-1.3.15.orig/contrib/sb-concurrency/tests/test-frlock.lisp 2017-02-28 20:51:29.000000000 +0100 ++++ sbcl-1.3.15/contrib/sb-concurrency/tests/test-frlock.lisp 2017-03-02 18:15:41.225284441 +0100 +@@ -25,5 +25,5 @@ + (defun test-frlocks (&key (reader-count 100) (read-count 1000000) + (outer-read-pause 0) (inner-read-pause 0) +- (writer-count 10) (write-count (/ 1 *minimum-sleep*)) ++ (writer-count 10) (write-count 5000) + (outer-write-pause *minimum-sleep*) (inner-write-pause 0)) + (let ((rw (make-frlock)) +@@ -88,5 +88,5 @@ + (deftest* (frlock.1) + (handler-case +- (sb-ext:with-timeout 10 ++ (sb-ext:with-timeout 240 + (test-frlocks #+win32 :outer-write-pause #+win32 t )) + (sb-ext:timeout (c) diff --git a/dev-lisp/sbcl/files/gentoo-fix_install_man.patch b/dev-lisp/sbcl/files/gentoo-fix_install_man.patch new file mode 100644 index 000000000000..87a5f43c0c13 --- /dev/null +++ b/dev-lisp/sbcl/files/gentoo-fix_install_man.patch @@ -0,0 +1,12 @@ +diff --git a/install.sh b/install.sh +index 1400791..ac149c1 100644 +--- a/install.sh ++++ b/install.sh +@@ -106,6 +106,7 @@ echo "Documentation:" + + # man + cp doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1" ++cp doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1" + + # info + for info in doc/manual/*.info diff --git a/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch new file mode 100644 index 000000000000..517208a791e2 --- /dev/null +++ b/dev-lisp/sbcl/files/sb-posix-test-1.2.15.patch @@ -0,0 +1,40 @@ +diff -r -U1 sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp +--- sbcl-1.2.15.orig/contrib/sb-posix/posix-tests.lisp 2015-08-31 00:59:03.000000000 +0600 ++++ sbcl-1.2.15/contrib/sb-posix/posix-tests.lisp 2015-09-22 10:19:20.000000000 +0600 +@@ -169,19 +169,19 @@ + +-(deftest rmdir.error.3 +- (handler-case +- (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir")) +- (sb-posix:syscall-error (c) +- (typep +- (sb-posix:syscall-errno c) +- '(member +- #+(or darwin openbsd) +- #.sb-posix:eisdir +- #+win32 +- #.sb-posix::eacces +- #+win32 +- #.sb-posix::enotempty +- #+sunos +- #.sb-posix::einval +- #-(or darwin openbsd win32 sunos) +- #.sb-posix::ebusy)))) t) ++;(deftest rmdir.error.3 ++; (handler-case ++; (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir")) ++; (sb-posix:syscall-error (c) ++; (typep ++; (sb-posix:syscall-errno c) ++; '(member ++; #+(or darwin openbsd) ++; #.sb-posix:eisdir ++; #+win32 ++; #.sb-posix::eacces ++; #+win32 ++; #.sb-posix::enotempty ++; #+sunos ++; #.sb-posix::einval ++; #-(or darwin openbsd win32 sunos) ++; #.sb-posix::ebusy)))) t) + diff --git a/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch new file mode 100644 index 000000000000..bf03ada518fe --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.1.17-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,22 @@ +--- sbcl-1.1.17-orig/src/runtime/Config.x86-linux 2014-03-31 03:14:22.000000000 +1100 ++++ sbcl-1.1.17/src/runtime/Config.x86-linux 2014-04-28 15:34:59.822482441 +1000 +@@ -27,7 +27,7 @@ + # (You *are* encouraged to design and implement a coherent stable + # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is + # working on one and it would be a nice thing to have.) +-LINKFLAGS += -Wl,--export-dynamic -m32 ++LINKFLAGS += -Wl,--export-dynamic -m32 -nopie + OS_LIBS = -ldl + + ifdef LISP_FEATURE_LARGEFILE +--- sbcl-1.1.17-orig/src/runtime/Config.x86-64-linux 2014-03-31 03:14:22.000000000 +1100 ++++ sbcl-1.1.17/src/runtime/Config.x86-64-linux 2014-04-28 15:35:22.364623003 +1000 +@@ -27,7 +27,7 @@ + # (You *are* encouraged to design and implement a coherent stable + # interface, though.:-| As far as I (WHN 2002-05-19) know, no one is + # working on one and it would be a nice thing to have.) +-LINKFLAGS += -Wl,--export-dynamic ++LINKFLAGS += -Wl,--export-dynamic -nopie + OS_LIBS = -ldl + + ifdef LISP_FEATURE_LARGEFILE diff --git a/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch b/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch new file mode 100644 index 000000000000..850fd5d9dba7 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.2.11-solaris.patch @@ -0,0 +1,12 @@ +diff -r -U2 sbcl-1.2.11.orig/src/runtime/Config.x86-sunos sbcl-1.2.11/src/runtime/Config.x86-sunos +--- sbcl-1.2.11.orig/src/runtime/Config.x86-sunos 2015-04-27 20:56:50.000000000 +0600 ++++ sbcl-1.2.11/src/runtime/Config.x86-sunos 2015-04-28 22:38:01.569103626 +0600 +@@ -12,6 +12,6 @@ + CC=gcc + CFLAGS = -g -O2 -Wall -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DSVR4 -D_REENTRANT -fno-omit-frame-pointer +-NM = nm -xgp +-GREP = ggrep ++NM = nm -t x -p ++GREP = grep + + ASSEM_SRC = x86-assem.S ldso-stubs.S diff --git a/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch b/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch new file mode 100644 index 000000000000..ade4f0868c67 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.2.13-verbose-build.patch @@ -0,0 +1,25 @@ +diff -r -U2 sbcl-1.2.13.orig/make.sh sbcl-1.2.13/make.sh +--- sbcl-1.2.13.orig/make.sh 2015-06-29 01:24:03.000000000 +0600 ++++ sbcl-1.2.13/make.sh 2015-06-29 15:53:04.430927942 +0600 +@@ -25,5 +25,5 @@ + # any --xc-host parameter should be suitable for the host machine + # instead of the target. +-sh make-config.sh "$@" || exit $? ++sh -x make-config.sh "$@" || exit $? + + . output/prefix.def +@@ -70,9 +70,9 @@ + # and the make-target-*.sh scripts will take care of transferring the + # necessary files. +-time sh make-host-1.sh +-time sh make-target-1.sh +-time sh make-host-2.sh +-time sh make-target-2.sh +-time sh make-target-contrib.sh ++time sh -x make-host-1.sh ++time sh -x make-target-1.sh ++time sh -x make-host-2.sh ++time sh -x make-target-2.sh ++time sh -x make-target-contrib.sh + + NCONTRIBS=`find contrib -name Makefile -print | wc -l` diff --git a/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch new file mode 100644 index 000000000000..e23f1e6d9bcb --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.11-config.patch @@ -0,0 +1,16 @@ +diff -r -U2 sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux sbcl-1.3.11/src/runtime/Config.x86-64-linux +--- sbcl-1.3.11.orig/src/runtime/Config.x86-64-linux 2016-10-30 23:28:43.000000000 +0700 ++++ sbcl-1.3.11/src/runtime/Config.x86-64-linux 2016-11-16 23:27:37.248815622 +0700 +@@ -58,12 +58,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + # Nothing to do for after-grovel-headers. + .PHONY: after-grovel-headers diff --git a/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch new file mode 100644 index 000000000000..e20fc07b028d --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.13-config.patch @@ -0,0 +1,32 @@ +diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux sbcl-1.3.13/src/runtime/Config.x86-64-linux +--- sbcl-1.3.13.orig/src/runtime/Config.x86-64-linux 2016-12-31 09:38:30.000000000 +0100 ++++ sbcl-1.3.13/src/runtime/Config.x86-64-linux 2017-02-05 16:11:54.801938872 +0100 +@@ -58,12 +58,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + # Nothing to do for after-grovel-headers. + .PHONY: after-grovel-headers +diff -r -U2 sbcl-1.3.13.orig/src/runtime/Config.x86-linux sbcl-1.3.13/src/runtime/Config.x86-linux +--- sbcl-1.3.13.orig/src/runtime/Config.x86-linux 2016-12-31 09:38:30.000000000 +0100 ++++ sbcl-1.3.13/src/runtime/Config.x86-linux 2017-02-05 16:10:16.882945480 +0100 +@@ -50,12 +50,4 @@ + endif + +-# The following works for Ubuntu 16.10. There must be a better way to +-# do this across various flavors of linux. +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) +-CFLAGS += -fno-pie +-LINKFLAGS += -no-pie +-LDFLAGS += -no-pie +-endif +- + GC_SRC = gencgc.c + diff --git a/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch new file mode 100644 index 000000000000..aa74a2d61354 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.14-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,17 @@ +--- sbcl-1.3.14-orig/src/runtime/GNUmakefile 2017-01-23 06:43:20.000000000 +1100 ++++ sbcl-1.3.14/src/runtime/GNUmakefile 2017-02-28 12:44:37.627161988 +1100 +@@ -40,12 +40,12 @@ + include Config + + # Disable PIE when possible +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),) + CFLAGS += -fno-pie + LINKFLAGS += -no-pie + LDFLAGS += -no-pie + endif +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e -nopie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]nopie'),) + CFLAGS += -fno-pie + LINKFLAGS += -nopie + LDFLAGS += -nopie diff --git a/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch b/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch new file mode 100644 index 000000000000..a3f933097503 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.15-gentoo-fix_nopie_for_hardened_toolchain.patch @@ -0,0 +1,19 @@ +diff -U3 -r sbcl-1.3.15.orig/src/runtime/GNUmakefile sbcl-1.3.15/src/runtime/GNUmakefile +--- sbcl-1.3.15.orig/src/runtime/GNUmakefile 2017-02-28 20:51:29.000000000 +0100 ++++ sbcl-1.3.15/src/runtime/GNUmakefile 2017-03-02 18:22:13.959257937 +0100 +@@ -46,13 +46,13 @@ + include Config + + # Disable PIE when possible +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e no-pie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),) + CFLAGS += -fno-pie + LINKFLAGS += -no-pie + LDFLAGS += -no-pie + __LDFLAGS__ += -no-pie + endif +-ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e nopie),) ++ifneq ($(shell $(CC) -dumpspecs 2>/dev/null | grep -e '[^f]nopie'),) + CFLAGS += -fno-pie + LINKFLAGS += -nopie + LDFLAGS += -nopie diff --git a/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch b/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch new file mode 100644 index 000000000000..5e01b331fac8 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.16-gentoo-fix_install_man.patch @@ -0,0 +1,12 @@ +diff -Nuar a/install.sh b/install.sh +--- a/install.sh 2017-03-27 11:57:34.000000000 +0200 ++++ b/install.sh 2017-04-04 20:21:25.510085555 +0200 +@@ -110,7 +110,7 @@ + CP="cp -f" + + # man +-$CP doc/sbcl.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1" ++$CP doc/sbcl-asdf-install.1 "$BUILD_ROOT$MAN_DIR"/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl-asdf-install.1" + + # info + for info in doc/manual/*.info diff --git a/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch new file mode 100644 index 000000000000..c5a16ae05778 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.3.19-bsd-sockets-test.patch @@ -0,0 +1,363 @@ +diff -Nuar a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp +--- a/contrib/sb-bsd-sockets/tests.lisp 2017-06-28 12:51:14.000000000 +0200 ++++ b/contrib/sb-bsd-sockets/tests.lisp 2017-07-02 17:18:23.862316798 +0200 +@@ -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) + + (when (handler-case (make-instance 'inet-socket + :type :stream +@@ -102,21 +102,21 @@ + (:no-error nil)) + t) + +-#-win32 +-(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) +- +-#-win32 +-(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) ++;#-win32 ++;(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) ++ ++;#-win32 ++;(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,55 +125,55 @@ + (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) +- +-#-win32 +-(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) ++ ++;#-win32 ++;(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) +@@ -241,37 +241,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 +@@ -388,60 +388,60 @@ + (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) +- (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 +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (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)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+(and ipv4-support sb-thread) ++;(deftest interrupt-io ++; (let (result) ++; (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 ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (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)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server ((server-socket-var client-socket-var) &body body) + (let ((listen-socket (gensym "LISTEN-SOCKET"))) +@@ -501,5 +501,6 @@ + (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) ++) diff --git a/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch b/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch new file mode 100644 index 000000000000..d51bdd5c507c --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.4.0-bsd-sockets-test.patch @@ -0,0 +1,383 @@ +diff -Nuar a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp +--- a/contrib/sb-bsd-sockets/tests.lisp 2017-09-30 18:30:58.000000000 +0200 ++++ b/contrib/sb-bsd-sockets/tests.lisp 2017-10-01 18:45:57.132900158 +0200 +@@ -18,11 +18,11 @@ + (equalp (make-inet-address "242.1.211.3") #(242 1 211 3)) + t) + +-#-win32 +-(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) ++;#-win32 ++;(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 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) + + (when (handler-case (make-instance 'inet-socket + :type :stream +@@ -102,21 +102,21 @@ + (:no-error nil)) + t) + +-#-win32 +-(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) +- +-#-win32 +-(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) ++;#-win32 ++;(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) ++ ++;#-win32 ++;(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,55 +125,55 @@ + (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) +- +-#-win32 +-(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) ++ ++;#-win32 ++;(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) +@@ -241,37 +241,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 + +@@ -387,60 +387,60 @@ + (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) +- (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 +- (progn +- (read-char stream) +- (sleep 0.1) +- (sleep 0.1) +- (sleep 0.1))) +- (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)) +- (ok :ok)) +- (socket-close s) +- (sleep 5) +- (sb-thread:interrupt-thread client +- (lambda () (throw 'stop ok))) +- (sleep 5) +- (setf ok :not-ok) +- (write-char #\x stream) +- (close stream) +- (socket-close r)))))) +- (server)) +- result) +- :ok) ++;#+(and ipv4-support sb-thread) ++;(deftest interrupt-io ++; (let (result) ++; (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 ++; (progn ++; (read-char stream) ++; (sleep 0.1) ++; (sleep 0.1) ++; (sleep 0.1))) ++; (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)) ++; (ok :ok)) ++; (socket-close s) ++; (sleep 5) ++; (sb-thread:interrupt-thread client ++; (lambda () (throw 'stop ok))) ++; (sleep 5) ++; (setf ok :not-ok) ++; (write-char #\x stream) ++; (close stream) ++; (socket-close r)))))) ++; (server)) ++; result) ++; :ok) + + (defmacro with-client-and-server (((socket-class &rest common-initargs) + (listen-socket-var &rest listen-address) +@@ -503,8 +503,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) ++) + + #+linux + (deftest abstract.smoke diff --git a/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch b/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch new file mode 100644 index 000000000000..27ad3b0758d4 --- /dev/null +++ b/dev-lisp/sbcl/files/sbcl-1.4.0-verbose-build.patch @@ -0,0 +1,29 @@ +diff -Nuar a/make.sh b/make.sh +--- a/make.sh 2017-09-30 18:30:58.000000000 +0200 ++++ b/make.sh 2017-10-01 18:08:26.742909789 +0200 +@@ -24,7 +24,7 @@ + # thing" when run on the target machine, with the minor caveat that + # any --xc-host parameter should be suitable for the host machine + # instead of the target. +-sh make-config.sh "$@" || exit $? ++sh -x make-config.sh "$@" || exit $? + + . output/prefix.def + . output/build-config +@@ -76,11 +76,11 @@ + $@ + fi + } +-maybetime sh make-host-1.sh +-maybetime sh make-target-1.sh +-maybetime sh make-host-2.sh +-maybetime sh make-target-2.sh +-maybetime sh make-target-contrib.sh ++maybetime sh -x make-host-1.sh ++maybetime sh -x make-target-1.sh ++maybetime sh -x make-host-2.sh ++maybetime sh -x make-target-2.sh ++maybetime sh -x make-target-contrib.sh + + NCONTRIBS=`find contrib -name Makefile -print | wc -l` + NPASSED=`find obj/asdf-cache -name test-passed.test-report -print | wc -l` -- cgit v1.2.3