#!/bin/zsh # Build script for OCaml fmt library set -e cd "$SRCDIR" export PATH="$PREFIX/bin:$PATH" export LD_LIBRARY_PATH="/usr/lib:${LD_LIBRARY_PATH:-}" export LIBRARY_PATH="/usr/lib:${LIBRARY_PATH:-}" # Build with topkg ocaml pkg/pkg.ml build # Install from .install file without opam-installer install_from_dotinstall() { local installfile="$1" prefix="$2" pkgname="$3" local section="" src dest dir while IFS= read -r line; do if [[ "$line" =~ '^([a-z_]+):' ]]; then section="${match[1]}" continue fi [[ -z "$section" || "$line" =~ '^\]' ]] && { [[ "$line" =~ '^\]' ]] && section=""; continue; } src="${${line#*\"}%%\"*}" [[ -z "$src" || ! -f "$src" ]] && continue if [[ "$line" =~ '\{"?([^}"]+)"?\}' ]]; then dest="${match[1]}" else dest="${src:t}" fi case "$section" in lib|libexec) dir="$prefix/lib/ocaml/$pkgname" ;; bin) dir="$prefix/bin" ;; share) dir="$prefix/share/$pkgname" ;; doc) dir="$prefix/doc/$pkgname" ;; man) dir="$prefix/man" ;; *) continue ;; esac mkdir -p "$dir/$(dirname "$dest")" cp "$src" "$dir/$dest" done < "$installfile" } install_from_dotinstall fmt.install "$PKGDIR$PREFIX" fmt # OCaml fmt - Format pretty-printer combinators # https://github.com/dbuenzli/fmt [package] name = "ocaml-fmt" version = "0.9.0" release = 1 description = "OCaml Format pretty-printer combinators" url = "https://github.com/dbuenzli/fmt" license = "ISC" maintainer = "Chris Tusa " arch = "x86_64" [dependencies] runtime = ["ocaml"] build = ["ocaml", "ocaml-findlib", "ocaml-ocamlbuild", "ocaml-topkg", "ocaml-cmdliner"] [[source]] file = "fmt-0.9.0.tar.gz" urls = [ "https://github.com/dbuenzli/fmt/archive/refs/tags/v0.9.0.tar.gz" ] checksum = "skip" extract = true [build] parallel = false