src/Pure/Tools/phabricator.scala
changeset 81719 6fbda9453c1b
parent 81717 114449035ec6
child 81720 12ecf11f8eab
--- a/src/Pure/Tools/phabricator.scala	Sat Jan 04 16:22:05 2025 +0100
+++ b/src/Pure/Tools/phabricator.scala	Sat Jan 04 20:59:41 2025 +0100
@@ -42,12 +42,24 @@
       // mercurial build packages
       "make", "gcc", "python3", "python3-dev", "python3-docutils")
 
+  val packages_ubuntu_24_04: List[String] =
+    Docker_Build.packages :::
+    List(
+      // https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh 15e6e2adea61
+      "git", "mysql-server", "php", "php-mysql", "php-gd", "php-curl", "php-apcu", "php-cli",
+      "php-json", "php-mbstring",
+      // more packages
+      "php-xml", "php-zip", "python3-pygments", "ssh", "subversion",
+      // mercurial build packages
+      "make", "gcc", "gettext", "python3", "python3-dev", "python3-docutils", "python3-setuptools")
+
   def packages(webserver: Webserver): List[String] = {
     val release = Linux.Release()
     val pkgs =
       if (release.is_ubuntu_20_04) packages_ubuntu_20_04
       else if (release.is_ubuntu_22_04) packages_ubuntu_22_04
-      else error("Bad Linux version: expected Ubuntu 20.04 or 22.04 LTS")
+      else if (release.is_ubuntu_24_04) packages_ubuntu_24_04
+      else error("Bad Linux version: expected Ubuntu 20.04 or 22.04 or 24.04 LTS")
     pkgs ::: webserver.packages()
   }
 
@@ -205,7 +217,8 @@
   def standard_mercurial_source: String = {
     val release = Linux.Release()
     if (release.is_ubuntu_20_04) "https://www.mercurial-scm.org/release/mercurial-3.9.2.tar.gz"
-    else "https://www.mercurial-scm.org/release/mercurial-6.1.4.tar.gz"
+    else if (release.is_ubuntu_22_04) "https://www.mercurial-scm.org/release/mercurial-6.1.4.tar.gz"
+    else "https://www.mercurial-scm.org/release/mercurial-6.8.2.tar.gz"
   }