New port questions dtlvnative, javacpp

Markus Graf <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports
Message-ID <[email protected]>
Hi all,

until recently Datalevin, a database in the Clojure ecosystem, 
used
databases/lmdb under the hood.  Clojure runs on the JVM.  Until 
now it
was enough to tweak it to use the lmdb from ports.

The creator of Datalevin has recently forked lmdb using javacpp to
create the jni bindings to create a java library with the native 
parts
called dtlnative.

I have spend the last week porting this to FreeBSD.  Changes to
USearch, javacpp and dtlvnative to work on FreeBSD have been 
accepted
upstream.  Now I want to bring it into ports.

The new port databases/dtlvnative depends on
- USearch, new port math/USearch
- dlmdb, new port, fork of databases/lmdb
- javacpp, new port, java/javacpp

I have a running poudriere jail and the ports build.

The biggest questions I have are around testing and stubs.

Testing

I have build the Makefiles so tests run in do-build: and 
BUILD_DEPENDS
contain, in one case, junit.

When I but these into TEST_DEPENDS and do-test: "poudriere 
testport"
will not run them.

If I make do-install: depend on test poudriere complains about the
dependencies not being in BUILD_DEPENS, so I could leave the tests 
in
do-build:.  One of the reasons I want this in ports and not .so 
files
in jars from maven is that I know the tests have run on FreeBSD.

Should I just leave tests in do-build: and BUILD_DEPENDS?

Stubs

JavaCPP requires OSGi and slf5j.  I do not want to pull these in 
for a
library/buildtool.  To get it to work without these dependencies I
create stubs by ECHO_CMD to Java files.

What is the canonical way of going about this?  An extra 
stubs.jar?

Should I not do stubbing?

Should I put the stubs eg. in the files directory instead?  If so 
what
is the canonical way of using these from the Makefile?

I have no experience submitting ports so any extra advice is 
welcome

Best regards

Markus

-- 
Markus Graf

Tel.: +49 172 840 26 08
Email: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.