On Tue, Jan 02 2018, Rafael Sadowski <raf...@sizeofvoid.org> wrote: > On Tue Jan 02, 2018 at 09:49:38AM +0100, Rafael Sadowski wrote: >> On Sun Dec 31, 2017 at 08:09:14PM +0100, Jeremie Courreges-Anglas wrote: >> > On Fri, Dec 29 2017, Rafael Sadowski <raf...@sizeofvoid.org> wrote: >> > > Doh! >> > > >> > > On Fri Dec 29, 2017 at 10:45:11AM +0100, Rafael Sadowski wrote: >> > >> On Thu Dec 28, 2017 at 04:50:34PM +0100, Rafael Sadowski wrote: >> > >> > Hi All! >> > >> > >> > >> > Attached is a new port, databases/leveldb. All tests passed on amd64. >> > >> > >> > >> > --- >> > >> > $ pkg/DESCR >> > >> > LevelDB is a fast key-value storage library written at Google that >> > >> > provides an >> > >> > ordered mapping from string keys to string values. >> > >> > --- >> > >> > >> > >> > https://github.com/google/leveldb >> > >> > >> > >> > Comments? Ok to import? >> > >> > >> > >> > Best regards, >> > >> > >> > >> > Rafael >> > >> >> > >> New tarball after jca@ told me that there was already a version in our >> > >> tree. >> > >> Changes to the previous tarball: >> > >> >> > >> - add ONLY_FOR_ARCHS with AtomicPointer comment >> > >> - add SHARED_MAJOR OPT SHARED_MINOR in MAKE_ENV >> > >> > This doesn't seem to have much effet, the build log says: >> > >> > c++ -pthread -shared -Wl,-soname -Wl,libleveldb.so.1 ... >> > ... -o out-shared/libleveldb.so.1.20 >> > >> > You can't just rename the library after the fact, you have to teach the >> > linking step to use SHARED_MAJOR/MINOR, else: >> > >> > 0x000000000000000e (SONAME) Library soname: >> > [libleveldb.so.1] >> > >> > See the previous patches. >> > >> > >> - use $DOC >> > >> - s/BSD/BSD3/ >> > >> >> > >> ok to reimport? >> > >> > Please look at all the patches used in the previous port, some of them >> > are a bit scary. >> > >> > Also, the port ought to build on non-x86 architectures now, either using >> > custom os-specific memory barriers or falling back to <atomic> if >> > a recent gcc/clang version is available. >> > >> >> Great hint, thanks jca@. Please find a new tarball attached with the >> following changes: >> >> - readd patch-build_detect_platform [0] >> - readd patch-Makefile [1] >> >> SHARED_{MAJOR,MINIR} are now correctly considered.
Looks good. It turns out that the shell script doesn't use c++ -o /dev/null any more so we might want to enable some tests in the future (eg <atomic>, snappy?) but for now it makes sense to have the same feature set as the previous port. We can take a look at extending ONLY_FOR_ARCHS later. Here's an updated tarball with the comments in patches/patch-build_detect_platform amended, ok jca@.
leveldb_r2.tgz
Description: Binary data
-- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE