let fedora-branch = "rawhide"
#let fedora-branch = "f34"
-let fedora-tag = "f36-build-side-46495"
+let fedora-tag = "f39-build-side-69760"
# The magic string that must appear in %changelog when the
# package has been rebuilt.
-let fedora-rebuild-name = "OCaml 4.13.1 build"
+let fedora-rebuild-name = "OCaml 5.0 rebuild for Fedora 39"
+
+# %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.
# All OCaml-related source package names
let packages = [
"ocaml-alcotest",
- "ocaml-ancient",
"ocaml-astring",
+ # Temporarily disable because python3 flake8 is not installable
+ #"ocaml-atd",
"ocaml-augeas",
"ocaml-autoconf",
"ocaml-base",
"ocaml-camlbz2",
"ocaml-camlidl",
"ocaml-camlimages",
- "ocaml-camlp5",
+ "ocaml-camlp-streams",
+ # Waiting on two dependencies to be reviewed
+ #"ocaml-camlp5",
"ocaml-camomile",
- "ocaml-charinfo-width",
- "ocaml-cil",
"ocaml-cinaps",
"ocaml-cmdliner",
"ocaml-compiler-libs-janestreet",
"ocamlify",
"ocaml-integers",
"ocaml-jane-street-headers",
-# "ocaml-jsonm", https://bugzilla.redhat.com/show_bug.cgi?id=1183825
"ocaml-jst-config",
"ocaml-lablgl",
"ocaml-lablgtk",
"ocaml-logs",
"ocaml-luv",
"ocaml-lwt",
- "ocaml-lwt-log",
"ocaml-markup",
"ocaml-mccs",
"ocaml-mdx",
"ocaml-merlin",
"ocaml-mew",
"ocaml-mew-vi",
- "ocaml-migrate-parsetree",
"ocaml-mlgmpidl",
"ocaml-mlmpfr",
- "ocaml-mmap",
"ocaml-mtime",
"ocamlmod",
"ocaml-mysql",
"ocaml-pcre",
"ocaml-perl4caml",
"ocaml-postgresql",
+ "ocaml-pp",
"ocaml-ppx-assert",
"ocaml-ppx-base",
"ocaml-ppx-cold",
"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-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-stable-witness",
"ocaml-ppx-variants-conv",
"ocaml-psmt2-frontend",
"ocaml-ptmap",
"ocaml-rresult",
"ocaml-SDL",
"ocaml-sedlex",
- "ocaml-seq",
"ocaml-sexplib",
"ocaml-sexplib0",
"ocaml-sha",
"ocaml-sqlite",
"ocaml-ssl",
"ocaml-stdcompat",
- "ocaml-stdint",
"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",
"apron",
"brltty",
"coccinelle",
- "coq",
+ # Fails to build, I asked jjames.
+ #"coq",
"flocq",
"frama-c",
"gappalib-coq",
"haxe",
"hevea",
"hivex",
- "laby",
"libguestfs",
"libnbd",
"opam",
"plplot",
"prooftree",
+ "supermin",
+ # Tests fail for unclear reasons.
+ #"swig",
"utop",
"virt-top",
"virt-v2v",
#"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"
- elif [ -f $f/%fedora-branch/dead.package ]; then
- echo "WARNING: $f: is a dead package, ignored" >&2
+ 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 "$pkg: package is not checked out locally" >&2
exit 1
fi
done