|
| 1 | +synopsis: "Library implementing parsing of image formats such as PNG, BMP, PPM" |
| 2 | +description: |
| 3 | +""" |
| 4 | +The imagelib library implements image formats such as PNG, BMP, and PPM in |
| 5 | +OCaml, relying on only one external dependency: 'decompress'. |
| 6 | + |
| 7 | +Unix-dependent functionality such as reading or writing to files in the |
| 8 | +filesystem are packaged in the `imagelib.unix` findlib module inside this |
| 9 | +OPAM package; to use it you need to include `imagelib.unix` specifically |
| 10 | +in your project's dependencies, for instance `(libraries imagelib.unix)` |
| 11 | +in your Dune file. |
| 12 | + |
| 13 | +Supported image formats: |
| 14 | + - PNG (full implementation of RFC 2083), |
| 15 | + - PPM, PGM, PBM, ... (fully supported), |
| 16 | + - BMP (read-only) |
| 17 | + - JPG (only image size natively), |
| 18 | + - GIF (only image size natively), |
| 19 | + - There is an experimental native implementation available in the pure `ImageLib` module. |
| 20 | + - XCF (only image size natively), |
| 21 | + - Utility functions for handling unimplemented formats are available in |
| 22 | + the 'imagelib.unix' findlib package and handle conversion from unsupported |
| 23 | + image formats like JPG, GIF, XCF by converting them to PNG using the |
| 24 | + `convert` commandline utility from `imagemagick`. |
| 25 | + |
| 26 | +As imagelib only requires `decompress`, it is suitable (excluding operations |
| 27 | +requiring the `imagemagick` `convert` binary) for compilation to javascript |
| 28 | +using `js_of_ocaml`, or inclusion in MirageOS unikernels. |
| 29 | + |
| 30 | +`app/imagetool.ml` contains an example binary that acts as a command-line interface to many of the functions in the library. It will be installed as `imagetool` or `imagetool.exe` if you use **opam** to install the library, and otherwise it will be in `_build/default/app/imagetool.exe` |
| 31 | +""" |
| 32 | +opam-version: "2.0" |
| 33 | + |
| 34 | +bug-reports: "https://github.com/rlepigre/ocaml-imagelib/issues" |
| 35 | +homepage: "https://github.com/rlepigre/ocaml-imagelib" |
| 36 | +dev-repo: "git+https://github.com/rlepigre/ocaml-imagelib.git" |
| 37 | +authors: [ |
| 38 | + "Rodolphe Lepigre < [email protected]>" |
| 39 | +] |
| 40 | +license: "GPL-3.0" |
| 41 | +doc: "https://rlepigre.github.io/ocaml-imagelib" |
| 42 | + |
| 43 | +depends: [ |
| 44 | + "ocaml" { >= "4.07.0" } |
| 45 | + "base-unix" |
| 46 | + "dune" { >= "2.3.0" } |
| 47 | + "decompress" { >= "1.3.0" } |
| 48 | + "stdlib-shims" |
| 49 | + "alcotest" { with-test } |
| 50 | +] |
| 51 | + |
| 52 | +depopts: [ |
| 53 | + "crowbar" { with-test } |
| 54 | + "afl-persistent" { with-test } |
| 55 | +] |
| 56 | + |
| 57 | +build: [ |
| 58 | + [ "dune" "build" "-p" name "-j" jobs |
| 59 | + "@install" |
| 60 | + "@runtest" {with-test} ] |
| 61 | +] |
| 62 | +url { |
| 63 | + src: |
| 64 | + "https://github.com/rlepigre/ocaml-imagelib/releases/download/20221222/imagelib-20221222.tbz" |
| 65 | + checksum: [ |
| 66 | + "sha256=050d935711a5a5cead7a6b5e2bce13297a71d0cb47652ca42ff4e328df7118fd" |
| 67 | + "sha512=28dae756945adb1c6a348d5c3e61840af7efb8df16c56bdf09ee4c69231774f169384f822359999ab315cc11634392dc4811ba932479aa1fdb78d25100b6733d" |
| 68 | + ] |
| 69 | +} |
| 70 | +x-commit-hash: "54aa4fc75e9a1c8b6e114a5548d7f94041184f23" |
0 commit comments