# See README. include "fedora.gl" let fedora-dir = "%HOME/d/fedora" 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 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. let fedora-ignored = [ "ocaml-srpm-macros", "ocaml", ] # All OCaml-related source package names let packages = [ "ocaml-alcotest", "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-cinaps", "ocaml-cmdliner", "ocaml-compiler-libs-janestreet", "ocaml-cppo", "ocaml-cryptokit", "ocaml-csexp", "ocaml-csv", "ocaml-ctypes", "ocaml-cudf", "ocaml-curl", "ocaml-curses", "ocaml-dbus", "ocaml-dose3", "ocaml-dune", "ocaml-easy-format", "ocaml-expat", "ocaml-extlib", "ocaml-facile", "ocaml-fieldslib", "ocaml-fileutils", "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", "ocaml-lablgtk", "ocaml-lablgtk3", "ocaml-labltk", "ocaml-lacaml", "ocaml-lambda-term", "ocaml-libvirt", "ocaml-logs", "ocaml-luv", "ocaml-lwt", "ocaml-markup", "ocaml-mccs", "ocaml-mdx", "ocaml-menhir", "ocaml-merlin", "ocaml-mew", "ocaml-mew-vi", "ocaml-mlgmpidl", "ocaml-mlmpfr", "ocaml-mtime", "ocamlmod", "ocaml-mysql", "ocaml-newt", "ocaml-num", "ocaml-obuild", "ocaml-ocamlbuild", "ocaml-ocamlgraph", "ocaml-ocamlnet", "ocaml-ocp-indent", "ocaml-ocplib-endian", "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", "ocaml-ppx-compare", "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-pyml", "ocaml-qcheck", "ocaml-qtest", "ocaml-re", "ocaml-react", "ocaml-res", "ocaml-result", "ocaml-rresult", "ocaml-SDL", "ocaml-sedlex", "ocaml-sexplib", "ocaml-sexplib0", "ocaml-sha", "ocaml-sqlite", "ocaml-ssl", "ocaml-stdcompat", "ocaml-stdio", "ocaml-time-now", "ocaml-topkg", "ocaml-trie", "ocaml-tyxml", "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", "ocaml-zip", "ocaml-zmq", "alt-ergo", "apron", "brltty", "coccinelle", "coq", "emacs-common-tuareg", "flocq", "frama-c", "gappalib-coq", "guestfs-tools", "graphviz", "haxe", "hevea", "hivex", "libguestfs", "libnbd", "opam", "planets", "plplot", "prooftree", "supermin", "swig", "utop", "virt-top", "virt-v2v", "why3", "z3", "zenon", # Causes a cyclic dependency between libnbd <-> nbdkit. We need # to fix this in goals itself, but in the meantime disable nbdkit # and build it by hand. #"nbdkit", ] # Get the list of source packages. pure function get-source-packages () returning strings = { cd %fedora-dir 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 "ERROR: $pkg: package is not checked out locally" >&2 # This does NOT exit the script, why??? exit 1 fi done } let fedora-source-packages = get-source-packages () # Main goal: Rebuild all packages in Koji. goal all = : wrap ("is-koji-built", fedora-source-packages)