Wednesday, January 03, 2018

Re: NEW: databases/leveldb

On Tue, Jan 02 2018, Rafael Sadowski <rafael@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 <rafael@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@.

No comments:

Post a Comment