Date: Sat, 21 Mar 2026 15:12:25 +0000 From: Gleb Popov <arrowd@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Markus Graf <markus.graf@markusgraf.net> Subject: git: 3e103a874233 - main - databases/dlmdb: Datalevin fork of OpenLDAP LMDB Message-ID: <69beb559.20290.24bab044@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=3e103a874233a655aa2343e04bace64d8f57dadc commit 3e103a874233a655aa2343e04bace64d8f57dadc Author: Markus Graf <markus.graf@markusgraf.net> AuthorDate: 2026-03-03 15:11:19 +0000 Commit: Gleb Popov <arrowd@FreeBSD.org> CommitDate: 2026-03-21 15:12:07 +0000 databases/dlmdb: Datalevin fork of OpenLDAP LMDB Pull Request: https://github.com/freebsd/freebsd-ports/pull/490 --- databases/Makefile | 1 + databases/dlmdb/Makefile | 36 +++++++++++++ databases/dlmdb/distinfo | 3 ++ databases/dlmdb/files/dlmdb.pc.in | 11 ++++ databases/dlmdb/files/patch-Makefile | 98 ++++++++++++++++++++++++++++++++++++ databases/dlmdb/pkg-descr | 2 + databases/dlmdb/pkg-plist | 15 ++++++ 7 files changed, 166 insertions(+) diff --git a/databases/Makefile b/databases/Makefile index 746cf660b520..96d0253b859c 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -56,6 +56,7 @@ SUBDIR += dbtool SUBDIR += dbview SUBDIR += diesel + SUBDIR += dlmdb SUBDIR += duckdb SUBDIR += ejdb SUBDIR += emacsql diff --git a/databases/dlmdb/Makefile b/databases/dlmdb/Makefile new file mode 100644 index 000000000000..3bcffe771742 --- /dev/null +++ b/databases/dlmdb/Makefile @@ -0,0 +1,36 @@ +PORTNAME= dlmdb +PORTVERSION= 1.0.0.20260306 +CATEGORIES= databases + +MAINTAINER= markus.graf@markusgraf.net +COMMENT= Datalevin fork of OpenLDAP Lightning Memory-Mapped Database +WWW= https://github.com/datalevin/dlmdb + +LICENSE= OPENLDAP +LICENSE_NAME= OpenLDAP Public License +LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +WRKSRC_SUBDIR= libraries/liblmdb +MAKE_ARGS= CC="${CC}" prefix="${PREFIX}" \ + INSTALL_PROGRAM="${INSTALL_PROGRAM}" INSTALL_LIB="${INSTALL_LIB}" \ + INSTALL_DATA="${INSTALL_DATA}" INSTALL_MAN="${INSTALL_MAN}" + +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= datalevin +GH_TAGNAME= a3fd1f5 + +SUB_FILES= dlmdb.pc +SUB_LIST= PORTVERSION=${PORTVERSION} + +post-install: + ${LN} -sf libdlmdb.so.0 ${STAGEDIR}${PREFIX}/lib/libdlmdb.so + ${INSTALL_DATA} ${WRKDIR}/dlmdb.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig + +do-test: + ${MKDIR} ${WRKSRC}/testdb + cd ${WRKSRC} && LD_LIBRARY_PATH=$$(pwd) ./mtest* + +.include <bsd.port.mk> diff --git a/databases/dlmdb/distinfo b/databases/dlmdb/distinfo new file mode 100644 index 000000000000..b0d0189bb363 --- /dev/null +++ b/databases/dlmdb/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1773157851 +SHA256 (datalevin-dlmdb-1.0.0.20260306-a3fd1f5_GH0.tar.gz) = 96ef76e790acb0b59bec2130e555b96ea5161160b81a77df1e6735e3b23085e2 +SIZE (datalevin-dlmdb-1.0.0.20260306-a3fd1f5_GH0.tar.gz) = 283730 diff --git a/databases/dlmdb/files/dlmdb.pc.in b/databases/dlmdb/files/dlmdb.pc.in new file mode 100644 index 000000000000..271a0b719ad3 --- /dev/null +++ b/databases/dlmdb/files/dlmdb.pc.in @@ -0,0 +1,11 @@ +prefix=%%PREFIX%% +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: dlmdb +Description: Datalevin Lightning Memory-Mapped Database +URL: https://github.com/datalevin/dlmdb +Version: %%PORTVERSION%% +Libs: -L${libdir} -ldlmdb +Cflags: -I${includedir} diff --git a/databases/dlmdb/files/patch-Makefile b/databases/dlmdb/files/patch-Makefile new file mode 100644 index 000000000000..feba5769d2e3 --- /dev/null +++ b/databases/dlmdb/files/patch-Makefile @@ -0,0 +1,98 @@ +--- Makefile.orig 2026-02-25 10:55:03 UTC ++++ Makefile +@@ -23,17 +23,17 @@ OPT = -O2 -g + W = -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized + THREADS = -pthread + OPT = -O2 -g +-CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS) ++CFLAGS += $(THREADS) $(W) + LDLIBS = + SOLIBS = +-SOEXT = .so ++SOEXT = .so.0 + prefix ?= /usr/local + exec_prefix = $(prefix) + bindir = $(exec_prefix)/bin + libdir = $(exec_prefix)/lib + includedir = $(prefix)/include + datarootdir = $(prefix)/share +-mandir = $(datarootdir)/man ++mandir = $(prefix)/share/man + + ######################################################################## + +@@ -41,7 +41,7 @@ ILIBS = $(LIBS) $(SHLIBS) + LIBS = libdlmdb.a + SHLIBS = libdlmdb$(SOEXT) + ILIBS = $(LIBS) $(SHLIBS) +-LINKLIBS = $(LIBS) ++LINKLIBS = $(SHLIBS) + IPROGS = dlmdb_stat dlmdb_copy dlmdb_dump dlmdb_load dlmdb_drop + IDOCS = dlmdb_stat.1 dlmdb_copy.1 dlmdb_dump.1 dlmdb_load.1 dlmdb_drop.1 + PROGS = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5 mtest_count mtest_prefix mtest_inmem count_bench compress_bench sample_bench dup_iter_bench inmem_bench +@@ -53,10 +53,11 @@ install: $(ILIBS) $(IPROGS) $(IHDRS) + mkdir -p $(DESTDIR)$(libdir) + mkdir -p $(DESTDIR)$(includedir) + mkdir -p $(DESTDIR)$(mandir)/man1 +- for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done +- for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done +- for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done +- for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1/dl$$f; done ++ for f in $(IPROGS); do $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir); done ++ for f in $(LIBS); do $(INSTALL_DATA) $$f $(DESTDIR)$(libdir); done ++ for f in $(SHLIBS); do $(INSTALL_LIB) $$f $(DESTDIR)$(libdir); done ++ for f in $(IHDRS); do $(INSTALL_DATA) $$f $(DESTDIR)$(includedir); done ++ for f in $(IDOCS); do $(INSTALL_MAN) $$f $(DESTDIR)$(mandir)/man1/dl$$f; done + + clean: + rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb +@@ -79,28 +80,48 @@ libdlmdb$(SOEXT): mdb.lo midl.lo + + libdlmdb$(SOEXT): mdb.lo midl.lo + # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS) +- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS) ++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS) + + dlmdb_stat: mdb_stat.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + dlmdb_copy: mdb_copy.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + dlmdb_dump: mdb_dump.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + dlmdb_load: mdb_load.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + dlmdb_drop: mdb_drop.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest: mtest.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest2: mtest2.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest3: mtest3.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest4: mtest4.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest5: mtest5.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest_count: mtest_count.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest_prefix: mtest_prefix.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest_inmem: mtest_inmem.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + count_bench: count_bench.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + compress_bench: compress_bench.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + sample_bench: sample_bench.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + dup_iter_bench: dup_iter_bench.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + inmem_bench: inmem_bench.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mtest6: mtest6.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + mplay: mplay.o $(LINKLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(.ALLSRC) + + mdb.o: mdb.c dlmdb.h midl.h + $(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c diff --git a/databases/dlmdb/pkg-descr b/databases/dlmdb/pkg-descr new file mode 100644 index 000000000000..32499c981cfa --- /dev/null +++ b/databases/dlmdb/pkg-descr @@ -0,0 +1,2 @@ +DLMDB is a fork of LMDB which serves as the datastore of dtlnative, the backend +of Datalevin, a Clojure datalog database. diff --git a/databases/dlmdb/pkg-plist b/databases/dlmdb/pkg-plist new file mode 100644 index 000000000000..ce6beb0d2721 --- /dev/null +++ b/databases/dlmdb/pkg-plist @@ -0,0 +1,15 @@ +bin/dlmdb_copy +bin/dlmdb_drop +bin/dlmdb_dump +bin/dlmdb_load +bin/dlmdb_stat +include/dlmdb.h +lib/libdlmdb.a +lib/libdlmdb.so +lib/libdlmdb.so.0 +libdata/pkgconfig/dlmdb.pc +share/man/man1/dlmdb_copy.1.gz +share/man/man1/dlmdb_drop.1.gz +share/man/man1/dlmdb_dump.1.gz +share/man/man1/dlmdb_load.1.gz +share/man/man1/dlmdb_stat.1.gzhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69beb559.20290.24bab044>
