Skip to content

Commit c90a431

Browse files
authored
Merge pull request ocaml#22785 from mseri/release-imagelib-20221222
[new release] imagelib (20221222)
2 parents a02034c + 37dc4f1 commit c90a431

File tree

1 file changed

+70
-0
lines changed
  • packages/imagelib/imagelib.20221222

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
maintainer: "[email protected]"
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

Comments
 (0)