pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

firebird50, p5-DBD-Firebird: initial import of client library for Firebird



Module Name:	pkgsrc-wip
Committed By:	Bartosz Kuzma <bartosz.kuzma%gmail.com@localhost>
Pushed By:	bartosz.kuzma
Date:		Tue Jun 23 12:43:47 2026 +0200
Changeset:	a55f3dee0dd031d91c777c1982dbaeebdbd457de

Modified Files:
	Makefile
Added Files:
	firebird50/DESCR
	firebird50/Makefile
	firebird50/PLIST
	firebird50/TODO
	firebird50/buildlink3.mk
	firebird50/distinfo
	firebird50/patches/patch-builds__install__arch-specific__netbsd__install_sh_in
	firebird50/patches/patch-builds__posix__make_defaults
	firebird50/patches/patch-configure
	firebird50/patches/patch-src__common__common_h
	firebird50/patches/patch-src__common__isc_sync_cpp
	firebird50/patches/patch-src__common__utils_cpp
	firebird50/patches/patch-src__remote__SockAddr_h
	firebird50/patches/patch-src__remote__inet_cpp
	p5-DBD-Firebird/DESCR
	p5-DBD-Firebird/Makefile
	p5-DBD-Firebird/PLIST
	p5-DBD-Firebird/distinfo
	p5-DBD-Firebird/patches/patch-Makefile.PL

Log Message:
firebird50, p5-DBD-Firebird: initial import of client library for Firebird

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a55f3dee0dd031d91c777c1982dbaeebdbd457de

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |  2 +
 firebird50/DESCR                                   |  5 ++
 firebird50/Makefile                                | 50 ++++++++++++++++
 firebird50/PLIST                                   | 68 ++++++++++++++++++++++
 firebird50/TODO                                    |  3 +
 firebird50/buildlink3.mk                           | 12 ++++
 firebird50/distinfo                                | 13 +++++
 ...__install__arch-specific__netbsd__install_sh_in | 19 ++++++
 .../patches/patch-builds__posix__make_defaults     | 15 +++++
 firebird50/patches/patch-configure                 | 40 +++++++++++++
 firebird50/patches/patch-src__common__common_h     | 40 +++++++++++++
 firebird50/patches/patch-src__common__isc_sync_cpp | 28 +++++++++
 firebird50/patches/patch-src__common__utils_cpp    | 13 +++++
 firebird50/patches/patch-src__remote__SockAddr_h   | 26 +++++++++
 firebird50/patches/patch-src__remote__inet_cpp     | 24 ++++++++
 p5-DBD-Firebird/DESCR                              |  2 +
 p5-DBD-Firebird/Makefile                           | 20 +++++++
 p5-DBD-Firebird/PLIST                              | 11 ++++
 p5-DBD-Firebird/distinfo                           |  6 ++
 p5-DBD-Firebird/patches/patch-Makefile.PL          | 17 ++++++
 20 files changed, 414 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index e88fd44fdd..60c58e0b5e 100644
--- a/Makefile
+++ b/Makefile
@@ -1007,6 +1007,7 @@ SUBDIR+=	filevercmp
 SUBDIR+=	fim
 SUBDIR+=	findugendev
 SUBDIR+=	firebird
+SUBDIR+=	firebird50
 SUBDIR+=	fireflysung-ttf
 SUBDIR+=	firefox-wrapper
 SUBDIR+=	firefox102
@@ -2918,6 +2919,7 @@ SUBDIR+=	p5-Class-Date
 SUBDIR+=	p5-Config-YAML
 SUBDIR+=	p5-Crypt-CAST5
 SUBDIR+=	p5-Crypt-Serpent
+SUBDIR+=	p5-DBD-Firebird
 SUBDIR+=	p5-DBD-Sybase
 SUBDIR+=	p5-DBIx-Class-ResultSet-RecursiveUpdate
 SUBDIR+=	p5-DBIx-Easy
diff --git a/firebird50/DESCR b/firebird50/DESCR
new file mode 100644
index 0000000000..1e58276935
--- /dev/null
+++ b/firebird50/DESCR
@@ -0,0 +1,5 @@
+Firebird is a relational database offering many ANSI SQL-99 features that runs
+on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent
+concurrency, high performance, and powerful language support for stored
+procedures and triggers. It has been used in production systems, under
+a variety of names since 1981.
diff --git a/firebird50/Makefile b/firebird50/Makefile
new file mode 100644
index 0000000000..9f898ff620
--- /dev/null
+++ b/firebird50/Makefile
@@ -0,0 +1,50 @@
+# $NetBSD$
+#
+DISTNAME=		Firebird-5.0.4.1812-0-source
+PKGNAME=		firebird-5.0.4
+CATEGORIES=		databases
+MASTER_SITES=		${MASTER_SITE_GITHUB:=FirebirdSQL/}
+GITHUB_PROJECT=		firebird
+GITHUB_RELEASE=		v5.0.4
+EXTRACT_SUFX=		.tar.xz
+LICENSE=		mpl-1.1
+
+MAINTAINER=		bartosz.kuzma%gmail.com@localhost
+HOMEPAGE=		https://www.firebirdsql.org/
+COMMENT=		SQL database, opensource version of InterBase
+
+USE_LANGUAGES=		c c++
+USE_LIBTOOL=		yes
+USE_PKGLOCALEDIR=	yes
+USE_TOOLS+=		cmake gmake
+
+GNU_CONFIGURE=		yes
+
+CONFIGURE_ARGS+=	--enable-client-only \
+			--with-gnu-ld \
+			--with-fbmsg=${PREFIX}/share/firebird \
+			--sysconfdir=${PKG_SYSCONFDIR} \
+			--libexecdir=${PREFIX}/libexec
+
+.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386"
+CXXFLAGS+=		-msse4.2
+.endif
+
+INSTALLATION_DIRS=	lib share/firebird
+
+do-install:
+	cp -R ${WRKSRC}/gen/Release/firebird/include \
+		${DESTDIR}${PREFIX}
+	${INSTALL_DATA} ${WRKSRC}/gen/Release/firebird/firebird.msg \
+		${DESTDIR}${PREFIX}/share/firebird/
+	${INSTALL_LIB} ${WRKSRC}/gen/Release/firebird/lib/libfbclient.so.5.0.4 \
+		${DESTDIR}${PREFIX}/lib
+	${LN} -s ${DESTDIR}${PREFIX}/lib/libfbclient.so.5.0.4 \
+		${DESTDIR}${PREFIX}/lib/libfbclient.so.2
+	${LN} -s ${DESTDIR}${PREFIX}/lib/libfbclient.so.5.0.4 \
+		${DESTDIR}${PREFIX}/lib/libfbclient.so
+
+.include "../../devel/readline/buildlink3.mk"
+.include "../../security/libtomcrypt/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/firebird50/PLIST b/firebird50/PLIST
new file mode 100644
index 0000000000..3197761f39
--- /dev/null
+++ b/firebird50/PLIST
@@ -0,0 +1,68 @@
+@comment $NetBSD$
+include/firebird/FirebirdInterface.idl
+include/firebird/IdlFbInterfaces.h
+include/firebird/Interface.h
+include/firebird/Message.h
+include/firebird/TimeZones.h
+include/firebird/UdrCppEngine.h
+include/firebird/fb_c_api.h
+include/firebird/fb_c_api.hdr
+include/firebird/ib_util.h
+include/firebird/ibase.h
+include/firebird/iberror.h
+include/firebird/impl/blr.h
+include/firebird/impl/boost/preprocessor/arithmetic/dec.hpp
+include/firebird/impl/boost/preprocessor/arithmetic/inc.hpp
+include/firebird/impl/boost/preprocessor/cat.hpp
+include/firebird/impl/boost/preprocessor/config/config.hpp
+include/firebird/impl/boost/preprocessor/control/expr_if.hpp
+include/firebird/impl/boost/preprocessor/control/expr_iif.hpp
+include/firebird/impl/boost/preprocessor/control/if.hpp
+include/firebird/impl/boost/preprocessor/control/iif.hpp
+include/firebird/impl/boost/preprocessor/debug/error.hpp
+include/firebird/impl/boost/preprocessor/detail/auto_rec.hpp
+include/firebird/impl/boost/preprocessor/detail/dmc/auto_rec.hpp
+include/firebird/impl/boost/preprocessor/facilities/empty.hpp
+include/firebird/impl/boost/preprocessor/logical/bool.hpp
+include/firebird/impl/boost/preprocessor/repetition/detail/dmc/for.hpp
+include/firebird/impl/boost/preprocessor/repetition/detail/edg/for.hpp
+include/firebird/impl/boost/preprocessor/repetition/detail/for.hpp
+include/firebird/impl/boost/preprocessor/repetition/detail/msvc/for.hpp
+include/firebird/impl/boost/preprocessor/repetition/for.hpp
+include/firebird/impl/boost/preprocessor/seq/elem.hpp
+include/firebird/impl/boost/preprocessor/seq/for_each_i.hpp
+include/firebird/impl/boost/preprocessor/seq/seq.hpp
+include/firebird/impl/boost/preprocessor/seq/size.hpp
+include/firebird/impl/boost/preprocessor/tuple/eat.hpp
+include/firebird/impl/boost/preprocessor/tuple/elem.hpp
+include/firebird/impl/boost/preprocessor/tuple/rem.hpp
+include/firebird/impl/consts_pub.h
+include/firebird/impl/dsc_pub.h
+include/firebird/impl/iberror_c.h
+include/firebird/impl/inf_pub.h
+include/firebird/impl/msg/all.h
+include/firebird/impl/msg/dsql.h
+include/firebird/impl/msg/dyn.h
+include/firebird/impl/msg/fbsvcmgr.h
+include/firebird/impl/msg/fbtracemgr.h
+include/firebird/impl/msg/gbak.h
+include/firebird/impl/msg/gfix.h
+include/firebird/impl/msg/gsec.h
+include/firebird/impl/msg/gstat.h
+include/firebird/impl/msg/isql.h
+include/firebird/impl/msg/jrd.h
+include/firebird/impl/msg/jrd_bugchk.h
+include/firebird/impl/msg/nbackup.h
+include/firebird/impl/msg/sqlerr.h
+include/firebird/impl/msg/sqlwarn.h
+include/firebird/impl/msg/utl.h
+include/firebird/impl/msg_helper.h
+include/firebird/impl/sqlda_pub.h
+include/firebird/impl/types_pub.h
+include/ib_util.h
+include/ibase.h
+include/iberror.h
+lib/libfbclient.so
+lib/libfbclient.so.2
+lib/libfbclient.so.${PKGVERSION}
+share/firebird/firebird.msg
diff --git a/firebird50/TODO b/firebird50/TODO
new file mode 100644
index 0000000000..92bfb95f0a
--- /dev/null
+++ b/firebird50/TODO
@@ -0,0 +1,3 @@
+- Client only due to missing implementation of
+  pthread_mutexattr_getpshared() and pthread_mutexattr_setpshared()
+- Tested only with p5-DBD-Firebird and Firebird 2.0.7 server
diff --git a/firebird50/buildlink3.mk b/firebird50/buildlink3.mk
new file mode 100644
index 0000000000..5d7c14e51c
--- /dev/null
+++ b/firebird50/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	firebird
+
+.if !defined(FIREBIRD_BUILDLINK3_MK)
+FIREBIRD_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.firebird+=	firebird>=5.0.4
+BUILDLINK_PKGSRCDIR.firebird?=		../../wip/firebird50
+.endif # FIREBIRD_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-firebird
diff --git a/firebird50/distinfo b/firebird50/distinfo
new file mode 100644
index 0000000000..d73146f895
--- /dev/null
+++ b/firebird50/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.11 2008/08/29 22:41:04 hoka_adam Exp $
+
+BLAKE2s (Firebird-5.0.4.1812-0-source.tar.xz) = 40add0e366dfc2b6528b20f3fd5f5d9922420d5dd18092d8aa358a1170028460
+SHA512 (Firebird-5.0.4.1812-0-source.tar.xz) = b0680584487b8f25c11ed6ee8cc7df67494f2aceb341e368054743eafd20b6d00e83d4e70733d028751c6830bf772d8e79953ff075628833718600d7e5827540
+Size (Firebird-5.0.4.1812-0-source.tar.xz) = 29758832 bytes
+SHA1 (patch-builds__install__arch-specific__netbsd__install_sh_in) = 132f2e3c4b0c58966181854d3ad728c991190cbf
+SHA1 (patch-builds__posix__make_defaults) = c2e17b5d8c8da91d444d9c69d33f2126b3ec194b
+SHA1 (patch-configure) = e9efff3560ced4bcf14c0b6a0e7994dffbe84aa1
+SHA1 (patch-src__common__common_h) = 1037c27568933148b7ab5aab8cbbffba739c1857
+SHA1 (patch-src__common__isc_sync_cpp) = bef07c34617a0f5721b6d8406b1845fad059c52c
+SHA1 (patch-src__common__utils_cpp) = a38123528cf98cf8265dd7a7bc9ab05b35548101
+SHA1 (patch-src__remote__SockAddr_h) = 7658ef900604e1370c1250ceef18a9e1228d8fd9
+SHA1 (patch-src__remote__inet_cpp) = 76c54540702acb4975a7ef2d2bc8d87db53f337c
diff --git a/firebird50/patches/patch-builds__install__arch-specific__netbsd__install_sh_in b/firebird50/patches/patch-builds__install__arch-specific__netbsd__install_sh_in
new file mode 100644
index 0000000000..196d0520c5
--- /dev/null
+++ b/firebird50/patches/patch-builds__install__arch-specific__netbsd__install_sh_in
@@ -0,0 +1,19 @@
+$NetBSD$
+
+--- builds/install/arch-specific/netbsd/install.sh.in.orig	2026-02-18 04:16:23.500440752 +0000
++++ builds/install/arch-specific/netbsd/install.sh.in
+@@ -55,14 +55,6 @@ InstallFirebirdPrefix=@prefix@
+ InstallPrefix=${InstallFirebirdPrefix%/firebird}
+ unset InstallFirebirdPrefix
+ 
+-if [ -d @prefix@ ]; then
+-	echo Backing up @prefix@ to $InstallPrefix/firebird.old
+-	if [ -d $InstallPrefix/firebird.old ]; then
+-		rm -rf $InstallPrefix/firebird.old
+-	fi
+-	cp -Rp @prefix@ $InstallPrefix/firebird.old
+-fi
+-
+ if [ `id -u` -ne 0 ]; then
+ 	echo; echo "You must be root to run this step!"; echo; echo
+ 	exit 1
diff --git a/firebird50/patches/patch-builds__posix__make_defaults b/firebird50/patches/patch-builds__posix__make_defaults
new file mode 100644
index 0000000000..40e0f3dfb8
--- /dev/null
+++ b/firebird50/patches/patch-builds__posix__make_defaults
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- builds/posix/make.defaults.orig	2026-02-18 04:06:43.566366223 +0000
++++ builds/posix/make.defaults
+@@ -207,8 +207,8 @@ ifeq ($(PLATFORM),DARWIN)
+ LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS)
+ EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS)
+ else
+-LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS) -static-libstdc++
+-EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS) -static-libstdc++
++LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS)
++EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(WLDFLAGS)
+ endif
+ 
+ STATICLIB_LINK = $(AR) crus
diff --git a/firebird50/patches/patch-configure b/firebird50/patches/patch-configure
new file mode 100644
index 0000000000..357ec3d60b
--- /dev/null
+++ b/firebird50/patches/patch-configure
@@ -0,0 +1,40 @@
+$NetBSD$
+
+--- configure.orig	2025-08-10 08:47:13.170088793 +0000
++++ configure
+@@ -24210,7 +24210,7 @@ ac_config_files="$ac_config_files gen/$f
+ if test "$CLIENT_ONLY_FLG" = "N"; then
+ ac_config_files="$ac_config_files gen/$fb_tgt/firebird/databases.conf:builds/install/misc/databases.conf gen/$fb_tgt/firebird/fbtrace.conf:src/utilities/ntrace/fbtrace.conf gen/$fb_tgt/firebird/replication.conf:builds/install/misc/replication.conf"
+ 
+-if test "x$fb_tgt" != "xNative" && [[ x$CROSS = xandroid* ]]; then
++if test "x$fb_tgt" != "xNative" && [ x$(echo $CROSS | cut -c 1-7) = xandroid ]; then
+ ac_config_files="$ac_config_files gen/$fb_tgt/firebird/fbintl.conf:builds/install/misc/fbintl.conf"
+ 
+ else
+@@ -24225,7 +24225,7 @@ ac_config_files="$ac_config_files gen/ma
+ 
+ fi
+ 
+-if [[ x$CROSS != xandroid* ]]; then
++if [ x$(echo $CROSS | cut -c 1-7) != xandroid ]; then
+ ac_config_files="$ac_config_files gen/Release/firebird/bin/fb_config:builds/install/posix-common/fb_config.in gen/Release/firebird/bin/posixLibrary.sh:builds/install/posix-common/posixLibrary.sh.in gen/Release/firebird/bin/install.sh:builds/install/posix-common/install.sh.in gen/Release/firebird/bin/FirebirdUninstall.sh:builds/install/posix-common/FirebirdUninstall.sh.in gen/Release/firebird/bin/changeServerMode.sh:builds/install/posix-common/changeServerMode.sh.in gen/Release/firebird/bin/registerDatabase.sh:builds/install/posix-common/registerDatabase.sh.in"
+ 
+ fi
+@@ -24243,7 +24243,7 @@ case "$PLATFORM" in
+     ac_config_files="$ac_config_files gen/install/makeInstallImage.sh:builds/install/arch-specific/linux/makeInstallImage.sh.in gen/install/misc/firebird.init.d.generic:builds/install/arch-specific/linux/firebird.init.d.generic.in gen/install/misc/firebird.init.d.mandrake:builds/install/arch-specific/linux/firebird.init.d.mandrake.in gen/install/misc/firebird.init.d.suse:builds/install/arch-specific/linux/firebird.init.d.suse.in gen/install/misc/firebird.init.d.debian:builds/install/arch-specific/linux/firebird.init.d.debian.in gen/install/misc/firebird.init.d.gentoo:builds/install/arch-specific/linux/firebird.init.d.gentoo.in gen/install/misc/firebird.init.d.slackware:builds/install/arch-specific/linux/firebird.init.d.slackware.in gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/rc.config.firebird.in gen/install/misc/firebird.service:builds/install/arch-specific/linux/firebird.service.in"
+ 
+ 
+-    if [[ x$CROSS != xandroid* ]]; then
++    if [ x$(echo $CROSS | cut -c 1-7) != xandroid ]; then
+         ac_config_files="$ac_config_files gen/Release/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/linuxLibrary.sh.in"
+ 
+     fi
+@@ -25385,7 +25385,7 @@ for fb_tgt in \$FB_TARGETS; do
+ 	echo "Creating \$fb_tgt directories"
+ 
+ 
+-	if test "x\$fb_tgt" = "xNative" || [[ x$CROSS != xandroid* ]]; then
++	if test "x\$fb_tgt" = "xNative" || [ x$(echo $CROSS | cut -c 1-7) != xandroid ]; then
+ 		mkdir -p gen/\$fb_tgt/firebird/bin
+ 		mkdir -p gen/\$fb_tgt/firebird/lib
+ 		mkdir -p gen/\$fb_tgt/firebird/tests
diff --git a/firebird50/patches/patch-src__common__common_h b/firebird50/patches/patch-src__common__common_h
new file mode 100644
index 0000000000..f0c3bbaa4c
--- /dev/null
+++ b/firebird50/patches/patch-src__common__common_h
@@ -0,0 +1,40 @@
+$NetBSD$
+
+--- src/common/common.h.orig	2025-08-10 04:35:07.925119400 +0000
++++ src/common/common.h
+@@ -323,19 +323,19 @@
+ #define FB_OS OsNetBsd
+ #define FB_CC CcGcc
+ 
+-#if defined(__i386__)
+-
++#define UNIX
+ #define IEEE
++
++/* TODO */
++#if defined(__i386__)
+ #define I386
+ #define FB_CPU CpuIntel
+-
+-#define QUADFORMAT "ll"
+-#define QUADCONST(n) (n##LL)
+ #else /* !__i386__ */
+-#error Please add support for other ports
++#define FB_CPU CpuAmd
+ #endif
+ 
+-#define UNIX
++#define QUADFORMAT "ll"
++#define QUADCONST(n) (n##LL)
+ #define NO_NFS					/* no MTAB_OPEN or MTAB_CLOSE in isc_file.c */
+ 
+ #endif /* NETBSD */
+@@ -348,7 +348,7 @@
+ 
+ #define NO_NFS					/* no MTAB_OPEN or MTAB_CLOSE in isc_file.c */
+ 
+-#endif /* NETBSD */
++#endif /* ANDROID */
+ 
+ 
+ /*****************************************************
diff --git a/firebird50/patches/patch-src__common__isc_sync_cpp b/firebird50/patches/patch-src__common__isc_sync_cpp
new file mode 100644
index 0000000000..4f6deb9386
--- /dev/null
+++ b/firebird50/patches/patch-src__common__isc_sync_cpp
@@ -0,0 +1,28 @@
+$NetBSD$
+
+--- src/common/isc_sync.cpp.orig	2025-08-10 08:15:38.243745665 +0000
++++ src/common/isc_sync.cpp
+@@ -622,8 +622,10 @@ int SharedMemoryBase::eventInit(event_t*
+ #ifdef PTHREAD_PROCESS_SHARED
+ 	if (!isSandboxed())
+ 	{
++#ifndef __NetBSD__
+ 		PTHREAD_ERROR(pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED));
+ 		PTHREAD_ERROR(pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED));
++#endif
+ 	}
+ #else
+ #error Your system must support PTHREAD_PROCESS_SHARED to use firebird.
+@@ -1401,8 +1403,11 @@ SharedMemoryBase::SharedMemoryBase(const
+ 
+ 				PTHREAD_ERR_RAISE(pthread_mutexattr_init(&mattr));
+ #ifdef PTHREAD_PROCESS_SHARED
+-				if (!isSandboxed())
++				if (!isSandboxed()) {
++#ifndef __NetBSD__
+ 					PTHREAD_ERR_RAISE(pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED));
++#endif
++				}
+ #else
+ #error Your system must support PTHREAD_PROCESS_SHARED to use pthread shared futex in Firebird.
+ #endif
diff --git a/firebird50/patches/patch-src__common__utils_cpp b/firebird50/patches/patch-src__common__utils_cpp
new file mode 100644
index 0000000000..f199c3e276
--- /dev/null
+++ b/firebird50/patches/patch-src__common__utils_cpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/common/utils.cpp.orig	2025-08-10 05:34:10.521870398 +0000
++++ src/common/utils.cpp
+@@ -1047,7 +1047,7 @@ SINT64 query_performance_counter()
+ 
+ 	// Use high-resolution clock
+ 	struct timespec tp;
+-	if (clock_gettime(CLOCK_MONOTONIC_RAW, &tp) != 0)
++	if (clock_gettime(CLOCK_MONOTONIC, &tp) != 0)
+ 		return 0;
+ 
+ 	return static_cast<SINT64>(tp.tv_sec) * BILLION + tp.tv_nsec;
diff --git a/firebird50/patches/patch-src__remote__SockAddr_h b/firebird50/patches/patch-src__remote__SockAddr_h
new file mode 100644
index 0000000000..5d6799969e
--- /dev/null
+++ b/firebird50/patches/patch-src__remote__SockAddr_h
@@ -0,0 +1,26 @@
+$NetBSD$
+
+--- src/remote/SockAddr.h.orig	2025-08-09 04:35:37.575900839 +0000
++++ src/remote/SockAddr.h
+@@ -112,11 +112,13 @@ public:
+ 
+ #define AF_INET6_POSIX		10
+ #define AF_INET6_WINDOWS	23
++#define AF_INET6_NETBSD		24
+ #define AF_INET6_FREEBSD	28
+ #define AF_INET6_DARWIN		30
+ 
+ #if AF_INET6 == AF_INET6_POSIX
+ #elif AF_INET6 == AF_INET6_WINDOWS
++#elif AF_INET6 == AF_INET6_NETBSD
+ #elif AF_INET6 == AF_INET6_FREEBSD
+ #elif AF_INET6 == AF_INET6_DARWIN
+ #else
+@@ -133,6 +135,7 @@ inline void SockAddr::checkAndFixFamily(
+ 
+ 	case AF_INET6_POSIX:
+ 	case AF_INET6_WINDOWS:
++	case AF_INET6_NETBSD:
+ 	case AF_INET6_FREEBSD:
+ 	case AF_INET6_DARWIN:
+ 		data.sock.sa_family = AF_INET6;
diff --git a/firebird50/patches/patch-src__remote__inet_cpp b/firebird50/patches/patch-src__remote__inet_cpp
new file mode 100644
index 0000000000..1de59357cd
--- /dev/null
+++ b/firebird50/patches/patch-src__remote__inet_cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+--- src/remote/inet.cpp.orig	2025-08-09 04:39:17.218907549 +0000
++++ src/remote/inet.cpp
+@@ -97,6 +97,10 @@
+ 
+ #endif // !WIN_NT
+ 
++#if !defined(SOL_TCP) && defined(IPPROTO_TCP)
++#define SOL_TCP IPPROTO_TCP
++#endif
++
+ const int INET_RETRY_CALL = 5;
+ 
+ #include "../remote/remote.h"
+@@ -967,7 +971,7 @@ rem_port* INET_connect(const TEXT* name,
+ #endif
+ 
+ 	gai_hints.ai_flags =
+-#ifndef ANDROID
++#ifdef AI_V4MAPPED
+ 		((af == AF_UNSPEC) ? AI_V4MAPPED : 0) |
+ #endif
+ 			AI_ADDRCONFIG | (packet ? 0 : AI_PASSIVE);
diff --git a/p5-DBD-Firebird/DESCR b/p5-DBD-Firebird/DESCR
new file mode 100644
index 0000000000..e5bc7c5ab3
--- /dev/null
+++ b/p5-DBD-Firebird/DESCR
@@ -0,0 +1,2 @@
+DBD::Firebird is a Perl module which works with the
+DBI module to provide access to Firebird databases.
diff --git a/p5-DBD-Firebird/Makefile b/p5-DBD-Firebird/Makefile
new file mode 100644
index 0000000000..40eb453f40
--- /dev/null
+++ b/p5-DBD-Firebird/Makefile
@@ -0,0 +1,20 @@
+# $NetBSD$
+
+DISTNAME=	DBD-Firebird-1.39
+PKGNAME=	p5-${DISTNAME}
+CATEGORIES=	databases
+MASTER_SITES=	${MASTER_SITE_PERL_CPAN:=DBD/}
+
+MAINTAINER=	bartosz.kuzma%gmail.com@localhost
+HOMEPAGE=	https://metacpan.org/pod/DBD::Firebird
+COMMENT=	DBI driver for Firebird RDBMS server
+LICENSE=	${PERL5_LICENSE}
+
+DEPENDS=	p5-File-Which-[0-9]*:../../devel/p5-File-Which
+
+MAKE_ENV+=	FIREBIRD_INCLUDE=${PREFIX}/include
+
+.include "../../lang/perl5/module.mk"
+.include "../../databases/p5-DBI/buildlink3.mk"
+.include "../../wip/firebird50/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/p5-DBD-Firebird/PLIST b/p5-DBD-Firebird/PLIST
new file mode 100644
index 0000000000..40db5cc8ae
--- /dev/null
+++ b/p5-DBD-Firebird/PLIST
@@ -0,0 +1,11 @@
+@comment $NetBSD$
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird.pm
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird/GetInfo.pm
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird/TableInfo.pm
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird/TableInfo/Basic.pm
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird/TableInfo/Firebird21.pm
+${PERL5_SUB_INSTALLVENDORARCH}/DBD/Firebird/TypeInfo.pm
+${PERL5_SUB_INSTALLVENDORARCH}/auto/DBD/Firebird/.packlist
+${PERL5_SUB_INSTALLVENDORARCH}/auto/DBD/Firebird/Firebird.so
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/DBD::Firebird.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/DBD::Firebird::TableInfo::Basic.3
diff --git a/p5-DBD-Firebird/distinfo b/p5-DBD-Firebird/distinfo
new file mode 100644
index 0000000000..adf02d54a7
--- /dev/null
+++ b/p5-DBD-Firebird/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (DBD-Firebird-1.39.tar.gz) = 6e8a88eb615a6099acf4d7226d0677309c7864cd70239eb90c1c6b246bb729cd
+SHA512 (DBD-Firebird-1.39.tar.gz) = 5902fc7bed25f67fdec70709b9853752a25f18405a8ebf307531502e309c888068fc58c962353b46041295cce92534a8e517de56da4c98f2bc8ea03fe1b0b32b
+Size (DBD-Firebird-1.39.tar.gz) = 109753 bytes
+SHA1 (patch-Makefile.PL) = bfe06633fbd9c73771a7a9b44db3097fefd10825
diff --git a/p5-DBD-Firebird/patches/patch-Makefile.PL b/p5-DBD-Firebird/patches/patch-Makefile.PL
new file mode 100644
index 0000000000..6050f0113c
--- /dev/null
+++ b/p5-DBD-Firebird/patches/patch-Makefile.PL
@@ -0,0 +1,17 @@
+$NetBSD$
+
+NetBSD support
+
+--- Makefile.PL.orig	2026-06-23 06:29:57.969257022 +0000
++++ Makefile.PL
+@@ -291,6 +291,10 @@ SWITCH: {
+         $MakeParams{LIBS} = "-L$FB::LIB -l$client_lib ";
+         last SWITCH;
+     };
++    $os eq 'netbsd' && do {
++        $MakeParams{LIBS} = "-L$FB::LIB -l$client_lib ";
++        last SWITCH;
++    };
+     $os eq 'darwin' && do {
+         my $framework_dir = dirname $FB::HOME; #"/Library/Frameworks/Firebird.framework";
+         my $framework_name = File::Spec->catfile( $framework_dir, "Firebird");


Home | Main Index | Thread Index | Old Index