-
Notifications
You must be signed in to change notification settings - Fork 1.2k
release ocaml-rocksdb-0.02 #27360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
release ocaml-rocksdb-0.02 #27360
Changes from all commits
9c78ce6
2ae56c1
728f41a
28a2a7f
8a3b8e8
879cce6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
opam-version: "2.0" | ||
homepage: "http://rocksdb.org/" | ||
maintainer: "Chet Murthy <[email protected]>" | ||
x-maintenance-intent: [ "(latest)" ] | ||
authors: "Chet Murthy (copied from Anton Bachin)" | ||
bug-reports: "https://github.com/chetmurthy/ocaml-rocksdb/issues" | ||
license: "Apache-2.0" | ||
|
||
depends: [ | ||
"conf-rocksdb" | ||
"conf-pkg-config" {build} | ||
(("host-arch-x86_32" {os = "win32" & os-distribution != "cygwinports"} & "conf-mingw-w64-zstd-i686" {os = "win32" & os-distribution != "cygwinports"}) | | ||
("host-arch-x86_64" {os = "win32" & os-distribution != "cygwinports"} & "conf-mingw-w64-zstd-x86_64" {os = "win32" & os-distribution != "cygwinports"})) | ||
] | ||
build: [ | ||
|
||
["pkgconf" {os = "win32" & os-distribution = "cygwin"} | ||
"--personality=i686-w64-mingw32" {os = "win32" & os-distribution = "cygwin" & host-arch-x86_32:installed} | ||
"--personality=x86_64-w64-mingw32" {os = "win32" & os-distribution = "cygwin" & host-arch-x86_64:installed} | ||
"pkg-config" {os != "win32" | os-distribution != "cygwin"} | ||
"--atleast-version=7.8.3" "rocksdb"] { | ||
!(os-distribution = "debian" & (os-version = 11 | os-version = 12)) & | ||
!(os-distribution = "ubuntu" & (os-version = "20.04" | os-version = "22.04")) | ||
} | ||
] | ||
synopsis: "Virtual package relying on a system installation of RocksDB (version >= 5.17.2)" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I understand the need for this kind of package, and I wish we had a good solution (or at least a standard solution) to offer but right nnow it's an unsolved problem for the opam repo. I'm not very happy with adding version constraints as part of the name of a package. Although I can see how it's needed and how we can't reasonably generate conf-rocksdb packages for each available version of rocksdb. Or maybe that's reasonable but would require having a separate dedicate opam repository. Anyway… Anyone has ideas? Otherwise I guess we can possibly merge for now and possibly revisit. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's actually worse and worse. When I started with trying to get this to work, I foolishly assumed that I could put these changes into conf-rocksdb ? The bigger problem of not being able to state version-constraints is .... painful. Some packages (like Rocksdb) appear to be changing their API pretty rapidly. But OTOH this is a big change to opam, and I sure think there are better ways to spend developer resource than on this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that we can accept the And maybe someone with time available can write a generator for many conf-packages where the version number is just substituted. |
||
description: """ | ||
The build section merits an explanation. | ||
|
||
(1) for debian 11/12, conf-rocksdb ensures that rocksdb gets installed. But it'll be backlevel, | ||
and specifically either 5.17.2 or 6.11.4 -- versions that do not come with pkg-config files. | ||
So we just skip the test. | ||
|
||
(2) For all other OS versions, we check what pkg-config says. | ||
""" | ||
|
||
flags: conf |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Normally we avoid having ocaml as part of the name of packages. See https://github.com/ocaml/opam-repository/tree/master/governance/policies#7-new-package-names-should-avoid-the-ocaml-prefixsuffix I don't think this porject necessarily needs an exception. (Unless you can make a case for it?) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm happy to make it "rocksdb" ? Or any other name you would propose grin. |
||
synopsis: "An OCaml interface to RocksDB (generated by ocaml-cppffigen" | ||
description: | ||
""" | ||
This is an OCaml interface to RocksDB, generated by the ocaml-cppffigen tool | ||
""" | ||
opam-version: "2.0" | ||
x-maintenance-intent: [ "(latest)" ] | ||
maintainer: "Chet Murthy <[email protected]>" | ||
authors: ["Chet Murthy"] | ||
homepage: "https://github.com/chetmurthy/ocaml-rocksdb" | ||
license: "Apache-2.0" | ||
bug-reports: "https://github.com/chetmurthy/ocaml-rocksdb/issues" | ||
dev-repo: "git+https://github.com/chetmurthy/ocaml-rocksdb.git" | ||
doc: "https://github.com/chetmurthy/ocaml-rocksdb/doc" | ||
|
||
depends: [ | ||
"ocaml" { >= "4.10.0" } | ||
"camlp5-buildscripts" { >= "0.02" } | ||
"not-ocamlfind" { >= "0.10" } | ||
"cppffigen" | ||
"conf-g++" | ||
"conf-snappy" | ||
"conf-zlib" | ||
"conf-liblz4" | ||
"conf-libbz2" | ||
"conf-rocksdb-ge-5-17-2" | ||
"result" | ||
"core" | ||
"ounit" { >= "2.2.7" & with-test} | ||
] | ||
build: [ | ||
[make | ||
"BACKLEVEL_ROCKSDB=1" { | ||
(arch = "x86_64" & os-distribution = "debian" & (os-version = 11 | os-version = 12)) | | ||
(arch = "x86_64" & os-distribution = "ubuntu" & (os-version = "20.04" | os-version = "22.04")) | ||
} | ||
"sys"] | ||
[make | ||
"BACKLEVEL_ROCKSDB=1" { | ||
(arch = "x86_64" & os-distribution = "debian" & (os-version = 11 | os-version = 12)) | | ||
(arch = "x86_64" & os-distribution = "ubuntu" & (os-version = "20.04")) | ||
} | ||
"test"] {with-test} | ||
] | ||
install: [ | ||
[make | ||
"BACKLEVEL_ROCKSDB=1" { | ||
(arch = "x86_64" & os-distribution = "debian" & (os-version = 11 | os-version = 12)) | | ||
(arch = "x86_64" & os-distribution = "ubuntu" & (os-version = "20.04")) | ||
} | ||
"install"] | ||
] | ||
url { | ||
src: "https://github.com/chetmurthy/ocaml-rocksdb/archive/refs/tags/0.02.tar.gz" | ||
checksum: [ | ||
"sha512=b2b2b36b4c34ee7cc158dbe8d0eeff6955d36f5d665ec8e78a899635bd8ac3f3c7a956132b95d0096304f7fbd8a6c4034527eeb951a3a26e4cc12b17e6fc0d87" | ||
] | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this
7.8.3
constant correct? what's its relation to the "ge-5-17-2" aim?