--- a/src/Pure/Admin/component_cygwin.scala Tue Jul 11 11:37:23 2023 +0200
+++ b/src/Pure/Admin/component_cygwin.scala Tue Jul 11 11:59:05 2023 +0200
@@ -10,7 +10,7 @@
object Component_Cygwin {
val default_mirror: String = "https://isabelle.sketis.net/cygwin_2022"
- val packages: List[String] = List("curl", "libgmp-devel", "nano", "openssh")
+ val packages: List[String] = List("curl", "libgmp-devel", "nano", "openssh", "perl", "rlwrap")
def build_cygwin(
target_dir: Path = Path.current,
--- a/src/Pure/Tools/docker_build.scala Tue Jul 11 11:37:23 2023 +0200
+++ b/src/Pure/Tools/docker_build.scala Tue Jul 11 11:59:05 2023 +0200
@@ -15,7 +15,7 @@
private val Isabelle_Name = """^.*?(Isabelle[^/\\:]+)_linux(?:_arm)?\.tar\.gz$""".r
val packages: List[String] =
- List("curl", "less", "libfontconfig1", "libgomp1", "openssh-client", "pwgen")
+ List("curl", "less", "libfontconfig1", "libgomp1", "openssh-client", "perl", "pwgen", "rlwrap")
val package_collections: Map[String, List[String]] =
Map("X11" -> List("libx11-6", "libxext6", "libxrender1", "libxtst6", "libxi6"),
@@ -71,8 +71,8 @@
else "COPY Isabelle.tar.gz .") + """
RUN tar xzf Isabelle.tar.gz && \
mv """ + isabelle_name + """ Isabelle && \
- sed -i -e 's,ISABELLE_HOME_USER=.*,ISABELLE_HOME_USER="\$USER_HOME/.isabelle",g;' Isabelle/etc/settings && \
- sed -i -e 's,ISABELLE_LOGIC=.*,ISABELLE_LOGIC=""" + logic + """,g;' Isabelle/etc/settings && \
+ perl -pi -e 's,ISABELLE_HOME_USER=.*,ISABELLE_HOME_USER="\$USER_HOME/.isabelle",g;' Isabelle/etc/settings && \
+ perl -pi -e 's,ISABELLE_LOGIC=.*,ISABELLE_LOGIC=""" + logic + """,g;' Isabelle/etc/settings && \
Isabelle/bin/isabelle build -o system_heaps -b """ + logic + """ && \
rm Isabelle.tar.gz""" + (if (entrypoint) """