Add not-ocamlfind
[fedora-ocaml-rebuild.git] / Goalfile
index abbf7c9..bb8ec16 100644 (file)
--- a/Goalfile
+++ b/Goalfile
@@ -4,13 +4,19 @@ include "fedora.gl"
 
 let fedora-dir = "%HOME/d/fedora"
 
-let fedora-branch = "master"
-#let fedora-branch = "f32"
-let fedora-tag = "f34-build-side-28234"
+let fedora-branch = "rawhide"
+#let fedora-branch = "f34"
+let fedora-tag = "f40-build-side-75060"
 
 # The magic string that must appear in %changelog when the
 # package has been rebuilt.
-let fedora-rebuild-name = "OCaml 4.11.0 rebuild"
+let fedora-rebuild-name = "OCaml 5.1 rebuild for Fedora 40"
+
+# %fedora-retry-failed:
+# If set to 1 then failed builds are retried automatically.
+# If set to 0 then failed builds must be manually restarted.
+# Normally you want this to be 0.
+let fedora-retry-failed = "1"
 
 # Packages that are ignored, which means they are treated as if
 # they have been rebuilt.
@@ -21,30 +27,35 @@ let fedora-ignored = [
 # All OCaml-related source package names
 let packages = [
     "ocaml-alcotest",
-    "ocaml-ancient",
     "ocaml-astring",
+    "ocaml-atd",
     "ocaml-augeas",
     "ocaml-autoconf",
     "ocaml-base",
     "ocaml-base64",
     "ocaml-benchmark",
+    "ocaml-bigarray-compat",
     "ocaml-biniou",
     "ocaml-bin-prot",
     "ocaml-bisect-ppx",
+    "ocaml-bos",
     "ocaml-cairo",
     "ocaml-calendar",
+    "ocaml-camlbz2",
     "ocaml-camlidl",
     "ocaml-camlimages",
+    "ocaml-camlp-streams",
     "ocaml-camlp5",
+    "ocaml-camlp5-buildscripts",
     "ocaml-camomile",
-    "ocaml-charinfo-width",
-    "ocaml-cil",
     "ocaml-cinaps",
     "ocaml-cmdliner",
     "ocaml-compiler-libs-janestreet",
     "ocaml-cppo",
     "ocaml-cryptokit",
+    "ocaml-csexp",
     "ocaml-csv",
+    "ocaml-ctypes",
     "ocaml-cudf",
     "ocaml-curl",
     "ocaml-curses",
@@ -57,13 +68,15 @@ let packages = [
     "ocaml-facile",
     "ocaml-fieldslib",
     "ocaml-fileutils",
-    "ocaml-findlib",
+    "ocaml-findlib", "not-ocamlfind",
     "ocaml-fmt",
     "ocaml-fpath",
     "ocaml-gen",
     "ocaml-gettext",
+    "ocaml-graphics",
     "ocaml-gsl",
     "ocamlify",
+    "ocaml-integers",
     "ocaml-jane-street-headers",
     "ocaml-jst-config",
     "ocaml-lablgl",
@@ -73,23 +86,23 @@ let packages = [
     "ocaml-lacaml",
     "ocaml-lambda-term",
     "ocaml-libvirt",
+    "ocaml-logs",
+    "ocaml-luv",
     "ocaml-lwt",
-    "ocaml-lwt-log",
     "ocaml-markup",
     "ocaml-mccs",
+    "ocaml-mdx",
     "ocaml-menhir",
     "ocaml-merlin",
     "ocaml-mew",
     "ocaml-mew-vi",
-    "ocaml-migrate-parsetree",
     "ocaml-mlgmpidl",
     "ocaml-mlmpfr",
-    "ocaml-mmap",
+    "ocaml-mtime",
     "ocamlmod",
     "ocaml-mysql",
     "ocaml-newt",
     "ocaml-num",
-    "ocaml-oasis",
     "ocaml-obuild",
     "ocaml-ocamlbuild",
     "ocaml-ocamlgraph",
@@ -99,13 +112,18 @@ let packages = [
     "ocaml-ocplib-simplex",
     "ocaml-octavius",
     "ocaml-odoc",
+    # To be retired after 5.1, now merged into ocaml-odoc
+    #"ocaml-odoc-parser",
     "ocaml-omake",
     "ocaml-opam-file-format",
     "ocaml-ounit",
+    "ocaml-parmap",
     "ocaml-parsexp",
     "ocaml-pcre",
+    "ocaml-pcre2",
     "ocaml-perl4caml",
     "ocaml-postgresql",
+    "ocaml-pp",
     "ocaml-ppx-assert",
     "ocaml-ppx-base",
     "ocaml-ppx-cold",
@@ -113,50 +131,57 @@ let packages = [
     "ocaml-ppx-custom-printf",
     "ocaml-ppx-derivers",
     "ocaml-ppx-deriving",
+    "ocaml-ppx-deriving-yaml",
     "ocaml-ppx-deriving-yojson",
     "ocaml-ppx-enumerate",
+    "ocaml-ppx-expect",
     "ocaml-ppx-fields-conv",
-    "ocaml-ppxfind",
+    "ocaml-ppx-globalize",
     "ocaml-ppx-hash",
     "ocaml-ppx-here",
+    "ocaml-ppx-import",
     "ocaml-ppx-inline-test",
     "ocaml-ppx-js-style",
+    "ocaml-ppx-let",
     "ocaml-ppxlib",
     "ocaml-ppx-optcomp",
     "ocaml-ppx-sexp-conv",
-    "ocaml-ppx-tools",
-    "ocaml-ppx-tools-versioned",
+    "ocaml-ppx-stable-witness",
     "ocaml-ppx-variants-conv",
     "ocaml-psmt2-frontend",
     "ocaml-ptmap",
+    "ocaml-pyml",
     "ocaml-qcheck",
     "ocaml-qtest",
     "ocaml-re",
     "ocaml-react",
     "ocaml-res",
     "ocaml-result",
-    "ocaml-rope",
+    "ocaml-rresult",
     "ocaml-SDL",
     "ocaml-sedlex",
-    "ocaml-seq",
     "ocaml-sexplib",
     "ocaml-sexplib0",
     "ocaml-sha",
     "ocaml-sqlite",
     "ocaml-ssl",
-    "ocaml-stdint",
+    "ocaml-stdcompat",
     "ocaml-stdio",
     "ocaml-time-now",
     "ocaml-topkg",
-    "ocaml-tplib",
     "ocaml-trie",
     "ocaml-tyxml",
-    "ocaml-uuidm",
+    "ocaml-uucd",
+    "ocaml-uucp",
+    "ocaml-uunf",
+    "ocaml-uuseg",
     "ocaml-uutf",
     "ocaml-variantslib",
+    "ocaml-version",
     "ocaml-xml-light",
     "ocaml-xmlm",
     "ocaml-xmlrpc-light",
+    "ocaml-yaml",
     "ocaml-yojson",
     "ocaml-zarith",
     "ocaml-zed",
@@ -167,27 +192,30 @@ let packages = [
     "apron",
     "brltty",
     "coccinelle",
+    "coq",
+    "emacs-common-tuareg",
+    "flocq",
+    "frama-c",
+    "gappalib-coq",
+    "guestfs-tools",
     "graphviz",
     "haxe",
     "hevea",
     "hivex",
-    "laby",
     "libguestfs",
     "libnbd",
     "opam",
+    "planets",
     "plplot",
+    "prooftree",
+    "supermin",
+    "swig",
     "utop",
     "virt-top",
     "virt-v2v",
     "why3",
     "z3",
-
-    # For Coq:
-    "coq",
-    "frama-c",
-    "gappalib-coq",
     "zenon",
-    "flocq",
 
     # Causes a cyclic dependency between libnbd <-> nbdkit.  We need
     # to fix this in goals itself, but in the meantime disable nbdkit
@@ -195,13 +223,27 @@ let packages = [
     #"nbdkit",
 ]
 
+# Get the list of source packages.
 pure function get-source-packages () returning strings = {
     cd %fedora-dir
-    for f in %packages; do
-        if [ -f $f/%fedora-branch/$f.spec ]; then
-            echo "$f"
+    for pkg in %packages; do
+        spec=$pkg/%fedora-branch/$pkg.spec
+        if [ -f $spec ]; then
+            # Check that the spec file excludes i686.
+            # Only implement this check for ocaml-* packages, as the
+            # other packages are more complicated.
+            if [[ "$spec" =~ ^ocaml ]] &&
+               ! rpmspec -P $spec | grep -sq 'ExcludeArch:.*i386' ; then
+                echo "ERROR: $pkg does not ExcludeArch: %%{ix86}" >&2
+                exit 1
+            fi
+            # OK to rebuild this package.
+            echo "$pkg"
+        elif [ -f $pkg/%fedora-branch/dead.package ]; then
+            echo "WARNING: $pkg: is a dead package, ignored" >&2
         else
-            echo "$f: package is not checked out locally" >&2
+            echo "ERROR: $pkg: package is not checked out locally" >&2
+            # This does NOT exit the script, why???
             exit 1
         fi
     done