Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2026 17:15:35 +0000
From:      Michael Osipov <michaelo@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: dc0808301018 - main - [NEW PORT] databases/sqlite-jdbc: JDBC driver for SQLite
Message-ID:  <69f0eb37.1d081.17bf8b3d@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by michaelo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dc08083010183602bcf04c64bddb58917aec7486

commit dc08083010183602bcf04c64bddb58917aec7486
Author:     Michael Osipov <michaelo@FreeBSD.org>
AuthorDate: 2026-04-26 19:13:32 +0000
Commit:     Michael Osipov <michaelo@FreeBSD.org>
CommitDate: 2026-04-28 17:15:30 +0000

    [NEW PORT] databases/sqlite-jdbc: JDBC driver for SQLite
    
    PR:             293491
    Reviewed by:    ronald
    Differential Revision:  https://reviews.freebsd.org/D56649
---
 databases/Makefile                                |  1 +
 databases/sqlite-jdbc/Makefile                    | 39 +++++++++++++++++++
 databases/sqlite-jdbc/distinfo                    |  5 +++
 databases/sqlite-jdbc/files/patch-Makefile        | 11 ++++++
 databases/sqlite-jdbc/files/patch-Makefile.common | 47 +++++++++++++++++++++++
 databases/sqlite-jdbc/pkg-descr                   |  2 +
 databases/sqlite-jdbc/pkg-message                 | 12 ++++++
 7 files changed, 117 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 50083c93131a..f04f0092a884 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1108,6 +1108,7 @@
     SUBDIR += sqlite-ext-pcre
     SUBDIR += sqlite-ext-regexp
     SUBDIR += sqlite-ext-spellfix
+    SUBDIR += sqlite-jdbc
     SUBDIR += sqlite2
     SUBDIR += sqlite3
     SUBDIR += sqlitebrowser
diff --git a/databases/sqlite-jdbc/Makefile b/databases/sqlite-jdbc/Makefile
new file mode 100644
index 000000000000..9feeeedcaacb
--- /dev/null
+++ b/databases/sqlite-jdbc/Makefile
@@ -0,0 +1,39 @@
+PORTNAME=	sqlite-jdbc
+DISTVERSION=	3.53.0.0
+CATEGORIES=	databases java
+MASTER_SITES+=	https://github.com/${GH_ACCOUNT}/${PORTNAME}/releases/download/${DISTVERSION}/:jar
+DISTFILES+=	${DISTJAR}:jar
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER=	michaelo@FreeBSD.org
+COMMENT=	JDBC driver for SQLite
+WWW=		https://github.com/xerial/sqlite-jdbc
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${JAVAJARDIR}/slf4j-api.jar:devel/slf4j
+LIB_DEPENDS=	libsqlite3.so:databases/sqlite3
+
+USES=		gmake java:build
+USE_GITHUB=	yes
+GH_ACCOUNT=	xerial
+
+MAKE_ARGS+=	SQLITE_OBJ="${LOCALBASE}/lib/libsqlite3.so" \
+			SQLITE_HEADER="${LOCALBASE}/include/sqlite3.h" \
+			JAVA_CLASSPATH="${JAVAJARDIR}/slf4j-api.jar"
+MAKE_ENV+=	JAVA_HOME="${JAVA_HOME}"
+ALL_TARGET=	native
+
+DISTJAR=	${PORTNAME}-${DISTVERSION}-without-natives.jar
+
+PLIST_FILES=	${JAVAJARDIR}/${PORTNAME}.jar lib/libsqlitejdbc.so
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${JAVAJARDIR}
+	${INSTALL_DATA} ${DISTDIR}/${DISTJAR} \
+		${STAGEDIR}${JAVAJARDIR}/${PORTNAME}.jar
+	${FIND} ${WRKSRC}/target/classes -name libsqlitejdbc.so \
+		-exec ${INSTALL_LIB} {} ${STAGEDIR}${PREFIX}/lib/ \;
+
+.include <bsd.port.mk>
diff --git a/databases/sqlite-jdbc/distinfo b/databases/sqlite-jdbc/distinfo
new file mode 100644
index 000000000000..ab0449770ec8
--- /dev/null
+++ b/databases/sqlite-jdbc/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1777227359
+SHA256 (sqlite-jdbc-3.53.0.0-without-natives.jar) = 8098b34191dd832a112934e12087e0d430b7e9ae93aee7c155e06f82866b1b2b
+SIZE (sqlite-jdbc-3.53.0.0-without-natives.jar) = 247330
+SHA256 (xerial-sqlite-jdbc-3.53.0.0_GH0.tar.gz) = 3bdb37d04ec817dc68e4911149d1b3ebe5b7ca419b550dc56b91d01a4f396952
+SIZE (xerial-sqlite-jdbc-3.53.0.0_GH0.tar.gz) = 18548916
diff --git a/databases/sqlite-jdbc/files/patch-Makefile b/databases/sqlite-jdbc/files/patch-Makefile
new file mode 100644
index 000000000000..b01a77e149e4
--- /dev/null
+++ b/databases/sqlite-jdbc/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- Makefile.orig	2026-04-26 18:22:17 UTC
++++ Makefile
+@@ -14,7 +14,7 @@ SRC:=src/main/java
+ MVN:=mvn
+ CODESIGN:=docker run $(DOCKER_RUN_OPTS) -v $$PWD:/workdir gotson/rcodesign sign
+ SRC:=src/main/java
+-JAVA_CLASSPATH:=$(TARGET)/classpath/slf4j-api.jar
++JAVA_CLASSPATH?=$(TARGET)/classpath/slf4j-api.jar
+ SQLITE_OUT:=$(TARGET)/$(sqlite)-$(OS_NAME)-$(OS_ARCH)
+ SQLITE_OBJ?=$(SQLITE_OUT)/sqlite3.o
+ SQLITE_SRC_ARCHIVE:=$(TARGET)/$(sqlite)-src.zip
diff --git a/databases/sqlite-jdbc/files/patch-Makefile.common b/databases/sqlite-jdbc/files/patch-Makefile.common
new file mode 100644
index 000000000000..42d8f92a7abe
--- /dev/null
+++ b/databases/sqlite-jdbc/files/patch-Makefile.common
@@ -0,0 +1,47 @@
+--- Makefile.common.orig	2026-04-14 03:25:20 UTC
++++ Makefile.common
+@@ -12,13 +12,12 @@ OSINFO_PROG := lib/org/sqlite/util/OSInfo.class
+ SRC:=src/main/java
+ OSINFO_CLASS := org.sqlite.util.OSInfo
+ OSINFO_PROG := lib/org/sqlite/util/OSInfo.class
+-JAVA_CLASSPATH:=$(TARGET)/classpath/slf4j-api.jar
++JAVA_CLASSPATH?=$(TARGET)/classpath/slf4j-api.jar
+ 
+ ## building OSInfo.java
+ ifeq ("$(wildcard $(OSINFO_PROG))","")
+ $(info Building OSInfo tool)
+ $(shell mkdir -p $(TARGET)/classpath)
+-$(shell curl -L -f -o$(JAVA_CLASSPATH) https://search.maven.org/remotecontent?filepath=org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar)
+ $(shell $(JAVAC) -cp $(JAVA_CLASSPATH) -sourcepath $(SRC) -d lib src/main/java/org/sqlite/util/OSInfo.java)
+ endif
+ 
+@@ -155,23 +154,23 @@ DragonFly-x86_64_SQLITE_FLAGS  :=
+ DragonFly-x86_64_LIBNAME   := libsqlitejdbc.so
+ DragonFly-x86_64_SQLITE_FLAGS  :=
+ 
+-FreeBSD-x86_CC        := $(CROSS_PREFIX)gcc
++FreeBSD-x86_CC        := $(CROSS_PREFIX)cc
+ FreeBSD-x86_STRIP     := $(CROSS_PREFIX)strip
+-FreeBSD-x86_CCFLAGS   := -I$(JAVA_HOME)/include -Ilib/inc_linux -Os -fPIC -fvisibility=hidden
++FreeBSD-x86_CCFLAGS   := -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/freebsd -Os -fPIC -fvisibility=hidden
+ FreeBSD-x86_LINKFLAGS := -shared
+ FreeBSD-x86_LIBNAME   := libsqlitejdbc.so
+ FreeBSD-x86_SQLITE_FLAGS  :=
+ 
+-FreeBSD-x86_64_CC        := $(CROSS_PREFIX)gcc
++FreeBSD-x86_64_CC        := $(CROSS_PREFIX)cc
+ FreeBSD-x86_64_STRIP     := $(CROSS_PREFIX)strip
+-FreeBSD-x86_64_CCFLAGS   := -I$(JAVA_HOME)/include -Ilib/inc_linux -Os -fPIC -fvisibility=hidden
++FreeBSD-x86_64_CCFLAGS   := -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/freebsd -Os -fPIC -fvisibility=hidden
+ FreeBSD-x86_64_LINKFLAGS := -shared
+ FreeBSD-x86_64_LIBNAME   := libsqlitejdbc.so
+ FreeBSD-x86_64_SQLITE_FLAGS  :=
+ 
+-FreeBSD-aarch64_CC        := $(CROSS_PREFIX)clang
++FreeBSD-aarch64_CC        := $(CROSS_PREFIX)cc
+ FreeBSD-aarch64_STRIP     := $(CROSS_PREFIX)strip
+-FreeBSD-aarch64_CCFLAGS   := -I$(JAVA_HOME)/include -Ilib/inc_linux -Os -fPIC -fvisibility=hidden
++FreeBSD-aarch64_CCFLAGS   := -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/freebsd -Os -fPIC -fvisibility=hidden
+ FreeBSD-aarch64_LINKFLAGS := -shared
+ FreeBSD-aarch64_LIBNAME   := libsqlitejdbc.so
+ FreeBSD-aarch64_SQLITE_FLAGS  :=
diff --git a/databases/sqlite-jdbc/pkg-descr b/databases/sqlite-jdbc/pkg-descr
new file mode 100644
index 000000000000..007ce04ef65e
--- /dev/null
+++ b/databases/sqlite-jdbc/pkg-descr
@@ -0,0 +1,2 @@
+SQLite JDBC is a library for accessing and creating SQLite database files
+in Java.
diff --git a/databases/sqlite-jdbc/pkg-message b/databases/sqlite-jdbc/pkg-message
new file mode 100644
index 000000000000..8f4a700dd85a
--- /dev/null
+++ b/databases/sqlite-jdbc/pkg-message
@@ -0,0 +1,12 @@
+[
+{ type: install
+  message: <<EOM
+Warning: you need a sqlite3 port compiled with SQLITE_ENABLE_COLUMN_METADATA
+in order to use the following methods:
+  String ResultSetMetaData.getCatalogName(int column)
+  String ResultSetMetaData.getTableName(int column)
+any attemp to use them will close the JVM with an error of:
+  Undefined symbol "sqlite3_column_table_name16"
+EOM
+}
+]


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f0eb37.1d081.17bf8b3d>