From eae113e695266d6c5dafba4de88889f249e161e5 Mon Sep 17 00:00:00 2001 From: Common Lisp at Google Date: Sun, 4 Jul 2021 21:20:02 -0700 Subject: [PATCH] Start using the md5 code that gets updated when SBCL internals warrant. PiperOrigin-RevId: 383064830 --- sbcl.lisp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sbcl.lisp b/sbcl.lisp index eae44df..8eae989 100644 --- a/sbcl.lisp +++ b/sbcl.lisp @@ -13,7 +13,19 @@ (eval-when (:compile-toplevel :load-toplevel :execute) ;; MD5 pulls in SB-ROTATE-BYTE which makes it impossible ;; to compile either of those from fresh upstream sources without some magic. - (require :sb-md5)) + (require :sb-md5) + ;; Avoid ever recompiling the github MD5 because it unportably uses SBCL internals, + ;; and in attempting to address the PR (https://github.com/pmai/md5/issues/3) + ;; the author caused some new style-warnings to be generated. + ;; We don't need to keep chasing problems; just use the contrib module as if it were + ;; named MD5. You might think that this rename step should be done when building + ;; the SBCL contrib module, but that would completely remove the ability to build and + ;; test the upstream MD5, at least until it becomes a thin shim. + ;; Whereas anything built with the bazel build rule needs MD5 because of this + ;; file per se needing it; and weird problems crop up when attempting to define + ;; //third_party/lisp/md5 in such a way that a package rename occurs when and + ;; only when that lisp_library() is loaded. So do it now, which always works. + (rename-package "SB-MD5" "SB-MD5" '("MD5"))) (defpackage #:bazel.sbcl (:use #:common-lisp #:sb-thread #:sb-alien #:bazel.utils)