git: cba4b6593d2a - main - databases/fmptools: New port: Utility for converting FileMaker Pro databases

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sun, 17 Aug 2025 22:56:30 UTC
The branch main has been updated by diizzy:

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

commit cba4b6593d2ab0aeb90f45511725e4f0053724fa
Author:     Walker Riggs Thompson <walker.thompson@urz.uni-heidelberg.de>
AuthorDate: 2025-08-17 22:49:14 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2025-08-17 22:49:24 +0000

    databases/fmptools: New port: Utility for converting FileMaker Pro databases
    
    Utility for converting databases created with the proprietary
    FileMaker Pro software to various formats (XLSX, SQLite, JSON)
    
    PR:             288330
---
 databases/Makefile                       |  1 +
 databases/fmptools/Makefile              | 35 ++++++++++++++++++++++++++++++++
 databases/fmptools/distinfo              |  3 +++
 databases/fmptools/files/patch-src_fmp.c | 11 ++++++++++
 databases/fmptools/pkg-descr             |  3 +++
 databases/fmptools/pkg-plist             |  9 ++++++++
 6 files changed, 62 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index ff431296db1e..47d8e9438b37 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -67,6 +67,7 @@
     SUBDIR += firebird30-server
     SUBDIR += firebird40-client
     SUBDIR += firebird40-server
+    SUBDIR += fmptools
     SUBDIR += fortytwo-bdb
     SUBDIR += foundationdb71-client
     SUBDIR += foundationdb71-server
diff --git a/databases/fmptools/Makefile b/databases/fmptools/Makefile
new file mode 100644
index 000000000000..1496e5a7da5d
--- /dev/null
+++ b/databases/fmptools/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	fmptools
+DISTVERSION=	0.2.2
+CATEGORIES=	databases
+MASTER_SITES=	https://github.com/evanmiller/${PORTNAME}/releases/download/v${DISTVERSION}/
+
+MAINTAINER=	walker.thompson@urz.uni-heidelberg.de
+COMMENT=	Convert FileMaker Pro databases to several convenient formats
+WWW=		https://github.com/evanmiller/fmptools
+
+LICENSE=	MIT
+
+USES=		iconv libtool localbase:ldflags
+GNU_CONFIGURE=	yes
+
+INSTALL_TARGET=	install-strip
+
+OPTIONS_DEFINE=	JSON SQLITE XLSX 
+OPTIONS_DEFAULT=JSON SQLITE XLSX
+OPTIONS_SUB=	yes
+
+XLSX_DESC=	Excel export support via libxlsxwriter
+
+JSON_LIB_DEPENDS=	libyajl.so:devel/yajl
+JSON_CONFIGURE_ENV_OFF=	ac_cv_lib_yajl_yajl_gen_alloc=no
+
+SQLITE_USES=		sqlite:3
+SQLITE_CONFIGURE_ENV_OFF=	ac_cv_lib_sqlite3_sqlite3_open_v2=no
+
+XLSX_LIB_DEPENDS=	libxlsxwriter.so:math/libxlsxwriter
+XLSX_CONFIGURE_ENV_OFF=	ac_cv_lib_xlsxwriter_workbook_new=no
+
+post-install:
+	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/.libs/fmpdump ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/databases/fmptools/distinfo b/databases/fmptools/distinfo
new file mode 100644
index 000000000000..783916abdd74
--- /dev/null
+++ b/databases/fmptools/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1753108499
+SHA256 (fmptools-0.2.2.tar.gz) = 4db60b95cdce3567c7eb20cabcb1838854964fbb651cb8aa7db18a8897aa3995
+SIZE (fmptools-0.2.2.tar.gz) = 417561
diff --git a/databases/fmptools/files/patch-src_fmp.c b/databases/fmptools/files/patch-src_fmp.c
new file mode 100644
index 000000000000..785f3cbb6bd1
--- /dev/null
+++ b/databases/fmptools/files/patch-src_fmp.c
@@ -0,0 +1,11 @@
+--- src/fmp.c.orig	2025-05-31 21:44:22 UTC
++++ src/fmp.c
+@@ -20,8 +20,6 @@
+  * THE SOFTWARE.
+  */
+ 
+-#define _XOPEN_SOURCE 600 /* strptime */
+-#define _POSIX_C_SOURCE 200809L /* fmemopen */
+ #include <time.h>
+ 
+ #include <fcntl.h>
diff --git a/databases/fmptools/pkg-descr b/databases/fmptools/pkg-descr
new file mode 100644
index 000000000000..9bdd79f6199e
--- /dev/null
+++ b/databases/fmptools/pkg-descr
@@ -0,0 +1,3 @@
+Some tools for reading FileMaker Pro files
+(fp3, fp5, fp7, and fmp12). Options to export
+to multiple formats: xlsx, json, sqlite.
diff --git a/databases/fmptools/pkg-plist b/databases/fmptools/pkg-plist
new file mode 100644
index 000000000000..0c371c97ce68
--- /dev/null
+++ b/databases/fmptools/pkg-plist
@@ -0,0 +1,9 @@
+%%JSON%%bin/fmp2json
+%%SQLITE%%bin/fmp2sqlite
+%%XLSX%%bin/fmp2excel
+bin/fmpdump
+include/fmp.h
+lib/libfmptools.a
+lib/libfmptools.so
+lib/libfmptools.so.0
+lib/libfmptools.so.0.0.0