Skip to content

Commit 9c78ce6

Browse files
committed
release ocaml-rocksdb-0.02
This ocaml-rocksdb interface is built using cppffigen, a tool that generates OCaml FFI bindings to C++ libraries that follow the Google C++ Style Guide for memory-ownership.
1 parent f872de4 commit 9c78ce6

File tree

2 files changed

+84
-0
lines changed
  • packages
    • conf-rocksdb-ge-5-17-2/conf-rocksdb-ge-5-17-2.5.17.2
    • ocaml-rocksdb/ocaml-rocksdb.0.02

2 files changed

+84
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
opam-version: "2.0"
2+
homepage: "http://rocksdb.org/"
3+
maintainer: "Chet Murthy <[email protected]>"
4+
x-maintenance-intent: [ "(latest)" ]
5+
authors: "Chet Murthy (copied from Anton Bachin)"
6+
bug-reports: "https://github.com/chetmurthy/ocaml-rocksdb/issues"
7+
license: "Apache-2.0"
8+
9+
depends: [
10+
"conf-rocksdb"
11+
"conf-pkg-config" {build}
12+
(("host-arch-x86_32" {os = "win32" & os-distribution != "cygwinports"} & "conf-mingw-w64-zstd-i686" {os = "win32" & os-distribution != "cygwinports"}) |
13+
("host-arch-x86_64" {os = "win32" & os-distribution != "cygwinports"} & "conf-mingw-w64-zstd-x86_64" {os = "win32" & os-distribution != "cygwinports"}))
14+
]
15+
build: [
16+
17+
["pkgconf" {os = "win32" & os-distribution = "cygwin"}
18+
"--personality=i686-w64-mingw32" {os = "win32" & os-distribution = "cygwin" & host-arch-x86_32:installed}
19+
"--personality=x86_64-w64-mingw32" {os = "win32" & os-distribution = "cygwin" & host-arch-x86_64:installed}
20+
"pkg-config" {os != "win32" | os-distribution != "cygwin"}
21+
"--atleast-version=7.8.3" "rocksdb"] { !(os-distribution = "debian" & (os-version = 11 | os-version = 12)) }
22+
]
23+
synopsis: "Virtual package relying on a system installation of RocksDB (version >= 5.17.2)"
24+
description: """
25+
The build section merits an explanation.
26+
27+
(1) for debian 11/12, conf-rocksdb ensures that rocksdb gets installed. But it'll be backlevel,
28+
and specifically either 5.17.2 or 6.11.4 -- versions that do not come with pkg-config files.
29+
So we just skip the test.
30+
31+
(2) For all other OS versions, we check what pkg-config says.
32+
"""
33+
34+
flags: conf
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
2+
synopsis: "An OCaml interface to RocksDB (generated by ocaml-cppffigen"
3+
description:
4+
"""
5+
This is an OCaml interface to RocksDB, generated by the ocaml-cppffigen tool
6+
"""
7+
opam-version: "2.0"
8+
x-maintenance-intent: [ "(latest)" ]
9+
maintainer: "Chet Murthy <[email protected]>"
10+
authors: ["Chet Murthy"]
11+
homepage: "https://github.com/chetmurthy/ocaml-rocksdb"
12+
license: "Apache-2.0"
13+
bug-reports: "https://github.com/chetmurthy/ocaml-rocksdb/issues"
14+
dev-repo: "git+https://github.com/chetmurthy/ocaml-rocksdb.git"
15+
doc: "https://github.com/chetmurthy/ocaml-rocksdb/doc"
16+
17+
depends: [
18+
"ocaml" { >= "4.10.0" }
19+
"camlp5-buildscripts" { >= "0.02" }
20+
"not-ocamlfind" { >= "0.10" }
21+
"cppffigen"
22+
"conf-g++"
23+
"conf-snappy"
24+
"conf-zlib"
25+
"conf-liblz4"
26+
"conf-libbz2"
27+
"conf-rocksdb-ge-8-0-0"
28+
"result"
29+
"core"
30+
"ounit" { >= "2.2.7" & with-test}
31+
]
32+
build: [
33+
[make
34+
"BACKLEVEL_ROCKSDB=1" { (os-distribution = "debian" & (os-version = 11 | os-version = 12)) }
35+
"sys"]
36+
[make
37+
"BACKLEVEL_ROCKSDB=1" { (os-distribution = "debian" & (os-version = 11 | os-version = 12)) }
38+
"test"] {with-test}
39+
]
40+
install: [
41+
[make
42+
"BACKLEVEL_ROCKSDB=1" { (os-distribution = "debian" & (os-version = 11 | os-version = 12)) }
43+
"install"]
44+
]
45+
url {
46+
src: "https://github.com/chetmurthy/ocaml-rocksdb/archive/refs/tags/0.02.tar.gz"
47+
checksum: [
48+
"sha512=1f9a1ee567db8a6688f36921ce2faf34295c8550578137c7a1d7583045eae84fd382dd4c87611d7f6bf36331090168cb15641b828f56c8a320ed8da547707c97"
49+
]
50+
}

0 commit comments

Comments
 (0)