2026-01-10 09:00.45: New job: test sanette/tsdl-ttf https://github.com/sanette/tsdl-ttf.git#refs/heads/master (d7ddd856cc089c0b4468a1aa1d2a06430e01d179) (linux-x86_64:(lint-fmt)) Base: ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 ocamlformat version: version 0.28.1 (from opam) To reproduce locally: git clone --recursive "https://github.com/sanette/tsdl-ttf.git" -b "master" && cd "tsdl-ttf" && git reset --hard d7ddd856 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 USER 1000:1000 RUN cd ~/opam-repository && (git cat-file -e c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u RUN opam depext -i dune WORKDIR /src RUN opam depext -i ocamlformat=0.28.1 COPY --chown=1000:1000 . /src/ RUN opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2) END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-01-10 09:00.45: Using cache hint "sanette/tsdl-ttf-ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44-debian-13-4.08_opam-2.5-ocamlformat-c65fcb116531ae66ad3316b265e233443ef25044" 2026-01-10 09:00.45: Using OBuilder spec: ((from ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44) (user (uid 1000) (gid 1000)) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i dune")) (workdir /src) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i ocamlformat=0.28.1")) (copy (src .) (dst /src/)) (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) ) 2026-01-10 09:00.45: Waiting for resource in pool OCluster 2026-01-10 09:00.46: Waiting for worker… 2026-01-10 09:00.49: Got resource from pool OCluster Building on bremusa.ocamllabs.io All commits already cached HEAD is now at d7ddd85 add version checks (from ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44) 2026-01-10 09:01.07 ---> saved as "c557567380599a9d74e9cba757661af503505628fe0a86c2e1639761275a17b1" /: (user (uid 1000) (gid 1000)) /: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD ee48e882f0..a6b2f19780 master -> origin/master c65fcb1165 Merge pull request #29080 from dra27/ocaml-config-urls <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised default (at git+file:///home/opam/opam-repository): [INFO] opam 2.1 and 2.2 include many performance and security improvements over 2.0; please consider upgrading (https://opam.ocaml.org/doc/Install.html) The following actions will be performed: - recompile ocaml-base-compiler 4.08.1* [upstream changes] - recompile ocaml-config 1 [uses ocaml-base-compiler] - recompile ocaml 4.08.1 [uses ocaml-base-compiler] - recompile opam-depext 1.2.3 [uses ocaml] ===== 4 to recompile ===== <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [ocaml-config.1/gen_ocaml_config.ml.in] downloaded from https://opam.ocaml.org/cache [opam-depext.1.2.3] downloaded from cache at https://opam.ocaml.org/cache [ocaml-base-compiler.4.08.1] downloaded from cache at https://opam.ocaml.org/cache [ocaml-config.1/ocaml-config.install] downloaded from https://opam.ocaml.org/cache [ocaml-base-compiler.4.08.1/alt-signal-stack.patch] downloaded from https://opam.ocaml.org/cache [ocaml-base-compiler.4.08.1/fix-gcc10.patch] downloaded from https://opam.ocaml.org/cache [ocaml-base-compiler.4.08.1/ocaml-base-compiler.install] downloaded from https://opam.ocaml.org/cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> removed opam-depext.1.2.3 -> removed ocaml.4.08.1 -> removed ocaml-config.1 -> removed ocaml-base-compiler.4.08.1 -> installed ocaml-base-compiler.4.08.1 -> installed ocaml-config.1 -> installed ocaml.4.08.1 -> installed opam-depext.1.2.3 Done. # Run eval $(opam env) to update the current shell environment 2026-01-10 09:05.46 ---> saved as "16899c2fef5c54ba2a6b59b7d620ad4b67d2e0172975d17db354d347759a1972" /: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i dune")) # Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian # No extra OS packages requirements found. # All required OS packages found. # Now letting opam install the packages The following actions will be performed: - install dune 3.20.2 <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [dune.3.20.2] found in cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed dune.3.20.2 Done. # Run eval $(opam env) to update the current shell environment 2026-01-10 09:06.13 ---> saved as "1468b5f7ce404b9299ebedec1ed552a4ca6fc39928d39e9b418130c05e92a7fc" /: (workdir /src) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i ocamlformat=0.28.1")) # Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian # No extra OS packages requirements found. # All required OS packages found. # Now letting opam install the packages The following actions will be performed: - install sexplib0 v0.14.0 [required by base] - install ocamlbuild 0.16.1 [required by fpath, astring, uuseg] - install either 1.0.0 [required by ocamlformat-lib] - install menhirLib 20250912 [required by ocamlformat-lib] - install cmdliner 2.1.0 [required by ocamlformat] - install csexp 1.5.2 [required by ocamlformat] - install camlp-streams 5.0.1 [required by ocamlformat-lib] - install seq base [required by re] - install menhirSdk 20250912 [required by ocamlformat-lib] - install fix 20250919 [required by ocamlformat-lib] - install menhirCST 20250912 [required by menhir] - install ocamlfind 1.9.8 [required by ocp-indent, astring, fpath, uuseg] - install dune-build-info 3.20.2 [required by ocamlformat-lib] - install ocaml-version 4.0.3 [required by ocamlformat-lib] - install dune-configurator 3.20.2 [required by base] - install re 1.11.0 [required by ocamlformat] - install menhir 20250912 [required by ocamlformat-lib] - install topkg 1.1.1 [required by fpath, astring, uuseg] - install ocp-indent 1.9.0 [required by ocamlformat-lib] - install base v0.14.3 [required by ocamlformat-lib] - install uutf 1.0.4 [required by ocamlformat-lib] - install astring 0.8.5 [required by ocamlformat-lib] - install stdio v0.14.0 [required by ocamlformat-lib] - install uucp 15.0.0 [required by uuseg] - install fpath 0.7.3 [required by ocamlformat-lib] - install uuseg 15.0.0 [required by ocamlformat-lib] - install ocamlformat-lib 0.28.1 [required by ocamlformat] - install ocamlformat 0.28.1 ===== 28 to install ===== <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [astring.0.8.5] found in cache [camlp-streams.5.0.1] found in cache [cmdliner.2.1.0] found in cache [csexp.1.5.2] found in cache [dune-build-info.3.20.2] found in cache [dune-configurator.3.20.2] found in cache [base.v0.14.3] downloaded from cache at https://opam.ocaml.org/cache [base.v0.14.3/fix-mpopcnt.patch] downloaded from https://opam.ocaml.org/cache [either.1.0.0] found in cache [fix.20250919] found in cache [fpath.0.7.3] found in cache [menhir.20250912] found in cache [menhirCST.20250912] found in cache [menhirLib.20250912] found in cache [menhirSdk.20250912] found in cache [ocaml-version.4.0.3] found in cache [ocamlbuild.0.16.1] found in cache [ocamlfind.1.9.8] found in cache [ocamlformat.0.28.1] found in cache [ocamlformat-lib.0.28.1] found in cache [ocp-indent.1.9.0] found in cache [re.1.11.0] found in cache [sexplib0.v0.14.0] downloaded from cache at https://opam.ocaml.org/cache [topkg.1.1.1] found in cache [stdio.v0.14.0] downloaded from cache at https://opam.ocaml.org/cache [uutf.1.0.4] found in cache [uuseg.15.0.0] downloaded from cache at https://opam.ocaml.org/cache [uucp.15.0.0] downloaded from cache at https://opam.ocaml.org/cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed seq.base -> installed camlp-streams.5.0.1 -> installed csexp.1.5.2 -> installed either.1.0.0 -> installed fix.20250919 -> installed menhirCST.20250912 -> installed cmdliner.2.1.0 -> installed menhirLib.20250912 -> installed menhirSdk.20250912 -> installed ocaml-version.4.0.3 -> installed re.1.11.0 -> installed sexplib0.v0.14.0 -> installed dune-build-info.3.20.2 -> installed dune-configurator.3.20.2 -> installed ocamlfind.1.9.8 -> installed ocp-indent.1.9.0 -> installed ocamlbuild.0.16.1 -> installed base.v0.14.3 -> installed topkg.1.1.1 -> installed stdio.v0.14.0 -> installed uutf.1.0.4 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed menhir.20250912 -> installed uucp.15.0.0 -> installed uuseg.15.0.0 -> installed ocamlformat-lib.0.28.1 -> installed ocamlformat.0.28.1 Done. <><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><> => This package requires additional configuration for use in editors. Install package 'user-setup', or manually: * for Emacs, add these lines to ~/.emacs: (add-to-list 'load-path "/home/opam/.opam/4.08/share/emacs/site-lisp") (require 'ocp-indent) * for Vim, add this line to ~/.vimrc: set rtp^="/home/opam/.opam/4.08/share/ocp-indent/vim" # Run eval $(opam env) to update the current shell environment 2026-01-10 09:07.06 ---> saved as "67ee4bd39bcc00fddad12fdceec092ff69a0ab03cc07acefc813f4637cfd01d9" /src: (copy (src .) (dst /src/)) 2026-01-10 09:07.06 ---> saved as "99d42249911a523bd7e89876e49c7a06ee99ce47652cfc1a8a547cd9f749bf84" /src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) File "src/tsdl_ttf.ml", line 1, characters 0-0: diff --git a/_build/default/src/tsdl_ttf.ml b/_build/default/src/.formatted/tsdl_ttf.ml index 0d50cf0..a8600d4 100644 --- a/_build/default/src/tsdl_ttf.ml +++ b/_build/default/src/.formatted/tsdl_ttf.ml @@ -9,7 +9,6 @@ module Ttf = struct set this to false before release. *) let debug = true let pre = if debug then print_endline else ignore - let error () = Error (`Msg (Sdl.get_error ())) let zero_to_ok = @@ -122,7 +121,6 @@ module Ttf = struct let foreign = foreign ?from let init = foreign "TTF_Init" (void @-> returning zero_to_ok) - let version = structure "SDL_version" let version_major = field version "major" uint8_t let version_minor = field version "minor" uint8_t @@ -130,32 +128,38 @@ module Ttf = struct let () = seal version let linked_version = - pre "TTF_Linked_Version"; foreign "TTF_Linked_Version" (void @-> returning (ptr version)) + pre "TTF_Linked_Version"; + foreign "TTF_Linked_Version" (void @-> returning (ptr version)) let linked_version () = let get v f = Unsigned.UInt8.to_int (getf v f) in let v = linked_version () in - let v = !@ v in - ( get v version_major, - get v version_minor, - get v version_patch ) + let v = !@v in + (get v version_major, get v version_minor, get v version_patch) let version = linked_version () - let () = if debug - then let a,b,c = version in Sdl.log "SDL_ttf Version (%u,%u,%u)" a b c + + let () = + if debug then + let a, b, c = version in + Sdl.log "SDL_ttf Version (%u,%u,%u)" a b c let open_font = - pre "TTF_OpenFont"; foreign "TTF_OpenFont" (string @-> int @-> returning font_result) + pre "TTF_OpenFont"; + foreign "TTF_OpenFont" (string @-> int @-> returning font_result) let open_font_index = - pre "TTF_OpenFontIndex"; foreign "TTF_OpenFontIndex" + pre "TTF_OpenFontIndex"; + foreign "TTF_OpenFontIndex" (string @-> int @-> int64_as_long @-> returning font_result) let open_font_rw = - pre "TTF_OpenFontRW"; foreign "TTF_OpenFontRW" (rw_ops @-> int @-> int @-> returning font_result) + pre "TTF_OpenFontRW"; + foreign "TTF_OpenFontRW" (rw_ops @-> int @-> int @-> returning font_result) let open_font_index_rw = - pre "TTF_OpenFontIndexRW"; foreign "TTF_OpenFontIndexRW" + pre "TTF_OpenFontIndexRW"; + foreign "TTF_OpenFontIndexRW" (rw_ops @-> int @-> int @-> int64_as_long @-> returning font_result) (* let byte_swapped_unicode = @@ -176,15 +180,21 @@ module Ttf = struct let strikethrough = i 8 end - let get_font_style = pre "TTF_GetFontStyle"; foreign "TTF_GetFontStyle" (font @-> returning uint32_t) + let get_font_style = + pre "TTF_GetFontStyle"; + foreign "TTF_GetFontStyle" (font @-> returning uint32_t) let set_font_style = - pre "TTF_SetFontStyle"; foreign "TTF_SetFontStyle" (font @-> uint32_t @-> returning void) + pre "TTF_SetFontStyle"; + foreign "TTF_SetFontStyle" (font @-> uint32_t @-> returning void) - let get_font_outline = pre "TTF_GetFontOutline"; foreign "TTF_GetFontOutline" (font @-> returning int) + let get_font_outline = + pre "TTF_GetFontOutline"; + foreign "TTF_GetFontOutline" (font @-> returning int) let set_font_outline = - pre "TTF_SetFontOutline"; foreign "TTF_SetFontOutline" (font @-> int @-> returning void) + pre "TTF_SetFontOutline"; + foreign "TTF_SetFontOutline" (font @-> int @-> returning void) module Hinting = struct type t = Normal | Light | Mono | None @@ -202,30 +212,52 @@ module Ttf = struct end let get_font_hinting = - pre "TTF_GetFontHinting"; foreign "TTF_GetFontHinting" (font @-> returning Hinting.t) + pre "TTF_GetFontHinting"; + foreign "TTF_GetFontHinting" (font @-> returning Hinting.t) let set_font_hinting = - pre "TTF_SetFontHinting"; foreign "TTF_SetFontHinting" (font @-> Hinting.t @-> returning void) + pre "TTF_SetFontHinting"; + foreign "TTF_SetFontHinting" (font @-> Hinting.t @-> returning void) + + let font_height = + pre "TTF_FontHeight"; + foreign "TTF_FontHeight" (font @-> returning int) + + let font_ascent = + pre "TTF_FontAscent"; + foreign "TTF_FontAscent" (font @-> returning int) - let font_height = pre "TTF_FontHeight"; foreign "TTF_FontHeight" (font @-> returning int) - let font_ascent = pre "TTF_FontAscent"; foreign "TTF_FontAscent" (font @-> returning int) - let font_descent = pre "TTF_FontDescent"; foreign "TTF_FontDescent" (font @-> returning int) - let font_line_skip = pre "TTF_FontLineSkip"; foreign "TTF_FontLineSkip" (font @-> returning int) - let get_font_kerning = pre "TTF_GetFontKerning"; foreign "TTF_GetFontKerning" (font @-> returning bool) + let font_descent = + pre "TTF_FontDescent"; + foreign "TTF_FontDescent" (font @-> returning int) + + let font_line_skip = + pre "TTF_FontLineSkip"; + foreign "TTF_FontLineSkip" (font @-> returning int) + + let get_font_kerning = + pre "TTF_GetFontKerning"; + foreign "TTF_GetFontKerning" (font @-> returning bool) let set_font_kerning = - pre "TTF_SetFontKerning"; foreign "TTF_SetFontKerning" (font @-> bool @-> returning void) + pre "TTF_SetFontKerning"; + foreign "TTF_SetFontKerning" (font @-> bool @-> returning void) - let font_faces = pre "TTF_FontFaces"; foreign "TTF_FontFaces" (font @-> returning int64_as_long) + let font_faces = + pre "TTF_FontFaces"; + foreign "TTF_FontFaces" (font @-> returning int64_as_long) let font_face_is_fixed_width = - pre "TTF_FontFaceIsFixedWidth"; foreign "TTF_FontFaceIsFixedWidth" (font @-> returning int) + pre "TTF_FontFaceIsFixedWidth"; + foreign "TTF_FontFaceIsFixedWidth" (font @-> returning int) let font_face_family_name = - pre "TTF_FontFaceFamilyName"; foreign "TTF_FontFaceFamilyName" (font @-> returning string) + pre "TTF_FontFaceFamilyName"; + foreign "TTF_FontFaceFamilyName" (font @-> returning string) let font_face_style_name = - pre "TTF_FontFaceStyleName"; foreign "TTF_FontFaceStyleName" (font @-> returning string) + pre "TTF_FontFaceStyleName"; + foreign "TTF_FontFaceStyleName" (font @-> returning string) let glyph_ucs2 = view ~read:Unsigned.UInt16.to_int ~write:Unsigned.UInt16.of_int uint16_t @@ -234,13 +266,15 @@ module Ttf = struct view ~read:Unsigned.UInt32.to_int ~write:Unsigned.UInt32.of_int uint32_t let glyph_is_provided = - pre "TTF_GlyphIsProvided"; foreign "TTF_GlyphIsProvided" (font @-> glyph_ucs2 @-> returning bool) + pre "TTF_GlyphIsProvided"; + foreign "TTF_GlyphIsProvided" (font @-> glyph_ucs2 @-> returning bool) let glyph_is_provided32 = pre "TTF_GlyphIsProvided32"; - if version >= (2,0,18) - then foreign "TTF_GlyphIsProvided32" (font @-> glyph_32 @-> returning bool) - else fun _ -> failwith "TTF_GlyphIsProvided32 not implemented (need SDL_ttf >= 2.0.18)" + if version >= (2, 0, 18) then + foreign "TTF_GlyphIsProvided32" (font @-> glyph_32 @-> returning bool) + else fun _ -> + failwith "TTF_GlyphIsProvided32 not implemented (need SDL_ttf >= 2.0.18)" module GlyphMetrics = struct type t = { @@ -253,7 +287,8 @@ module Ttf = struct end let glyph_metrics = - pre "TTF_GlyphMetrics"; foreign "TTF_GlyphMetrics" + pre "TTF_GlyphMetrics"; + foreign "TTF_GlyphMetrics" (font @-> glyph_ucs2 @-> ptr int @@ -284,7 +319,8 @@ module Ttf = struct else error () let size_text = - pre "TTF_SizeText"; foreign "TTF_SizeText" + pre "TTF_SizeText"; + foreign "TTF_SizeText" (font @-> string @-> ptr int @-> ptr int @-> returning int) let size_text f s = @@ -292,7 +328,8 @@ module Ttf = struct if 0 = size_text f s w h then Ok (!@w, !@h) else error () let size_utf8 = - pre "TTF_SizeUTF8"; foreign "TTF_SizeUTF8" + pre "TTF_SizeUTF8"; + foreign "TTF_SizeUTF8" (font @-> string @-> ptr int @-> ptr int @-> returning int) let size_utf8 f s = @@ -334,56 +371,69 @@ module Ttf = struct view ~read ~write color let render_text_solid = - pre "TTF_RenderText_Solid"; foreign "TTF_RenderText_Solid" + pre "TTF_RenderText_Solid"; + foreign "TTF_RenderText_Solid" (font @-> string @-> color @-> returning surface_result) let render_utf8_solid = - pre "TTF_RenderUTF8_Solid"; foreign "TTF_RenderUTF8_Solid" + pre "TTF_RenderUTF8_Solid"; + foreign "TTF_RenderUTF8_Solid" (font @-> string @-> color @-> returning surface_result) (* let render_unicode_solid = pre "TTF_RenderUNICODE_Solid"; foreign "TTF_RenderUNICODE_Solid" (font @-> ptr glyph_ucs2 @-> color @-> returning surface_result) *) let render_glyph_solid = - pre "TTF_RenderGlyph_Solid"; foreign "TTF_RenderGlyph_Solid" + pre "TTF_RenderGlyph_Solid"; + foreign "TTF_RenderGlyph_Solid" (font @-> glyph_ucs2 @-> color @-> returning surface_result) let render_glyph32_solid = pre "TTF_RenderGlyph32_Solid"; - if version >= (2,0,18) - then foreign "TTF_RenderGlyph32_Solid" + if version >= (2, 0, 18) then + foreign "TTF_RenderGlyph32_Solid" (font @-> glyph_32 @-> color @-> returning surface_result) - else fun _ -> failwith "TTF_RenderGlyph32_Solid not implemented (need SDL_ttf >= 2.0.18)" + else fun _ -> + failwith + "TTF_RenderGlyph32_Solid not implemented (need SDL_ttf >= 2.0.18)" let render_text_shaded = - pre "TTF_RenderText_Shaded"; foreign "TTF_RenderText_Shaded" + pre "TTF_RenderText_Shaded"; + foreign "TTF_RenderText_Shaded" (font @-> string @-> color @-> color @-> returning surface_result) let render_utf8_shaded = - pre "TTF_RenderUTF8_Shaded"; foreign "TTF_RenderUTF8_Shaded" + pre "TTF_RenderUTF8_Shaded"; + foreign "TTF_RenderUTF8_Shaded" (font @-> string @-> color @-> color @-> returning surface_result) (* let render_unicode_shaded = pre "TTF_RenderUNICODE_Shaded"; foreign "TTF_RenderUNICODE_Shaded" (font @-> ptr glyph_ucs2 @-> color @-> color @-> returning surface_result) *) let render_glyph_shaded = - pre "TTF_RenderGlyph_Shaded"; foreign "TTF_RenderGlyph_Shaded" + pre "TTF_RenderGlyph_Shaded"; + foreign "TTF_RenderGlyph_Shaded" (font @-> glyph_ucs2 @-> color @-> color @-> returning surface_result) let render_glyph32_shaded = pre "TTF_RenderGlyph32_Shaded"; - if version >= (2,0,18) - then foreign "TTF_RenderGlyph32_Shaded" + if version >= (2, 0, 18) then + foreign "TTF_RenderGlyph32_Shaded" (font @-> glyph_32 @-> color @-> color @-> returning surface_result) - else fun _ -> failwith "TTF_RenderGlyph32_Shaded not implemented (need SDL_ttf >= 2.0.18)" + else fun _ -> + failwith + "TTF_RenderGlyph32_Shaded not implemented (need SDL_ttf >= 2.0.18)" let render_text_blended = - pre "TTF_RenderText_Blended"; foreign "TTF_RenderText_Blended" + pre "TTF_RenderText_Blended"; + foreign "TTF_RenderText_Blended" (font @-> string @-> color @-> returning surface_result) let render_utf8_blended = - pre "TTF_RenderUTF8_Blended"; foreign "TTF_RenderUTF8_Blended" + pre "TTF_RenderUTF8_Blended"; + foreign "TTF_RenderUTF8_Blended" (font @-> string @-> color @-> returning surface_result) (* let render_unicode_blended = pre "TTF_RenderUNICODE_Blended"; foreign "TTF_RenderUNICODE_Blended" (font @-> ptr glyph_ucs2 @-> color @-> returning surface_result) *) let render_text_blended_wrapped = - pre "TTF_RenderText_Blended_Wrapped"; foreign "TTF_RenderText_Blended_Wrapped" + pre "TTF_RenderText_Blended_Wrapped"; + foreign "TTF_RenderText_Blended_Wrapped" (font @-> string @-> color @@ -391,7 +441,8 @@ module Ttf = struct @-> returning surface_result) let render_utf8_blended_wrapped = - pre "TTF_RenderUTF8_Blended_Wrapped"; foreign "TTF_RenderUTF8_Blended_Wrapped" + pre "TTF_RenderUTF8_Blended_Wrapped"; + foreign "TTF_RenderUTF8_Blended_Wrapped" (font @-> string @-> color @@ -400,20 +451,32 @@ module Ttf = struct (* let render_unicode_blended_wrapped = pre "TTF_RenderUNICODE_Blended_Wrapped"; foreign "TTF_RenderUNICODE_Blended_Wrapped" (font @-> ptr glyph_ucs2 @-> color @-> int32_as_uint32_t @-> returning surface_result) *) let render_glyph_blended = - pre "TTF_RenderGlyph_Blended"; foreign "TTF_RenderGlyph_Blended" + pre "TTF_RenderGlyph_Blended"; + foreign "TTF_RenderGlyph_Blended" (font @-> glyph_ucs2 @-> color @-> returning surface_result) let render_glyph32_blended = pre "TTF_RenderGlyph32_Blended"; - if version >= (2,0,18) - then foreign "TTF_RenderGlyph32_Blended" + if version >= (2, 0, 18) then + foreign "TTF_RenderGlyph32_Blended" (font @-> glyph_32 @-> color @-> returning surface_result) - else fun _ -> failwith "TTF_RenderGlyph32_Blended not implemented (need SDL_ttf >= 2.0.18)" + else fun _ -> + failwith + "TTF_RenderGlyph32_Blended not implemented (need SDL_ttf >= 2.0.18)" + + let close_font = + pre "TTF_CloseFont"; + foreign "TTF_CloseFont" (font @-> returning void) + + let quit = + pre "TTF_Quit"; + foreign "TTF_Quit" (void @-> returning void) - let close_font = pre "TTF_CloseFont"; foreign "TTF_CloseFont" (font @-> returning void) - let quit = pre "TTF_Quit"; foreign "TTF_Quit" (void @-> returning void) - let was_init = pre "TTF_WasInit"; foreign "TTF_WasInit" (void @-> returning bool) + let was_init = + pre "TTF_WasInit"; + foreign "TTF_WasInit" (void @-> returning bool) let get_font_kerning_size = - pre "TTF_GetFontKerningSize"; foreign "TTF_GetFontKerningSize" (font @-> int @-> int @-> returning int) + pre "TTF_GetFontKerningSize"; + foreign "TTF_GetFontKerningSize" (font @-> int @-> int @-> returning int) end dune build @fmt failed "/usr/bin/env" "bash" "-c" "opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2)" failed with exit status 2 2026-01-10 09:07.07: Job failed: Failed: Build failed